/** * Gets all GUI automations * * @return An array with all GUI automations */ public GUIAutomation[] getGUIAutomations() { TableModel model = configurationTable.getModel(); int numberOfConfigurations = model.getRowCount(); GUIAutomation[] guiAutomations = new GUIAutomation[numberOfConfigurations]; // stop open edits if (configurationTable.isEditing()) { configurationTable.getCellEditor().stopCellEditing(); } // build GUI automation objects for (int i = 0; i < numberOfConfigurations; i++) { ScaleableImageIcon image = (ScaleableImageIcon) model.getValueAt(i, ConfigurationTableModel.COLUMN_INDEX_IMAGE); // check for valid image String imagePath = null; if (image != null) { imagePath = image.getPath(); } String type = (String) model.getValueAt(i, ConfigurationTableModel.COLUMN_INDEX_TYPE); String trigger = (String) model.getValueAt(i, ConfigurationTableModel.COLUMN_INDEX_TRIGGER); String midiSignature = (String) model.getValueAt(i, ConfigurationTableModel.COLUMN_INDEX_MIDI_SIGNATURE); long delay = (long) model.getValueAt(i, ConfigurationTableModel.COLUMN_INDEX_MIN_DELAY); float minSimilarity = (float) model.getValueAt(i, ConfigurationTableModel.COLUMN_INDEX_MIN_SIMILARITY); boolean isMovable = (boolean) model.getValueAt(i, ConfigurationTableModel.COLUMN_INDEX_MOVABLE); GUIAutomation guiAutomation = new GUIAutomation( imagePath, type, trigger, delay, midiSignature, minSimilarity, isMovable); guiAutomations[i] = guiAutomation; } return guiAutomations; }