/** Initializes the panel */ public void init() { if (!initialized) { setLayout(new GridBagLayout()); // configuration table configurationTable.init(); configurationTable.setName(NAME_CONFIGURATION_TABLE); configurationTable.setCache(configurationTable.getSelectionBackground()); JScrollPane scrollPane = new JScrollPane(configurationTable); GridBagConstraints c = new GridBagConstraints(); c.gridx = 0; c.gridy = 0; add(scrollPane, c); // editor panel createEditorPanel(); c.gridx = 0; c.gridy = 1; c.anchor = GridBagConstraints.WEST; add(editorPanel, c); initialized = true; } }
/** * 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; }
/** * Gets the popup menu * * @return The popup menu */ public MidiLearnPopupMenu getPopupMenu() { return configurationTable.getPopupMenu(); }