public void delete() { int[] selRows = dataTable.getSelectedRows(); Set<InputFile> dataToRemove = new HashSet<InputFile>(); for (int row : selRows) { dataToRemove.add(document.getInputFiles().get(row)); } // TODO: would probably be a good idea to check if the user wants to remove the last file document.getInputFiles().removeAll(dataToRemove); document.fireDataChanged(); if (document.getInputFiles().size() == 0) { // all data partitions removed so reset the taxa frame.setStatusMessage("No data loaded"); } }
public void editSelection() { int selRow = dataTable.getSelectedRow(); if (selRow >= 0) { InputFile inputFile = document.getInputFiles().get(selRow); editSettings(inputFile); } }
private void editSettings(InputFile inputFile) { if (inputFileSettingsDialog == null) { inputFileSettingsDialog = new InputFileSettingsDialog(frame); } int result = inputFileSettingsDialog.showDialog(inputFile); if (result != JOptionPane.CANCEL_OPTION) { inputFileSettingsDialog.getInputFile(); // force update of builder settings document.fireDataChanged(); } }
public InputPanel( final TreeSpaceFrame parent, final TreeSpaceDocument document, final Action addDataAction) { this.frame = parent; this.document = document; dataTableModel = new DataTableModel(); dataTable = new JTable(dataTableModel); dataTable.getTableHeader().setReorderingAllowed(false); // dataTable.getTableHeader().setDefaultRenderer( // new HeaderRenderer(SwingConstants.LEFT, new Insets(0, 4, 0, 4))); TableColumn col = dataTable.getColumnModel().getColumn(0); col.setCellRenderer(new MultiLineTableCellRenderer()); dataTable.setRowHeight(dataTable.getRowHeight() * 2); dataTable.setDragEnabled(false); dataTable.setTransferHandler(new FSTransfer()); TableEditorStopper.ensureEditingStopWhenTableLosesFocus(dataTable); dataTable .getSelectionModel() .addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent evt) { selectionChanged(); } }); dataTable.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { editSelection(); } } }); scrollPane = new JScrollPane( dataTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); scrollPane.setOpaque(false); // JToolBar toolBar1 = new JToolBar(); // toolBar1.setFloatable(false); // toolBar1.setOpaque(false); // toolBar1.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); // JButton button = new JButton(unlinkModelsAction); // unlinkModelsAction.setEnabled(false); // PanelUtils.setupComponent(button); // toolBar1.add(button); ActionPanel actionPanel1 = new ActionPanel(true); actionPanel1.setAddAction(addDataAction); actionPanel1.setRemoveAction(removeAction); removeAction.setEnabled(false); JPanel controlPanel1 = new JPanel(new FlowLayout(FlowLayout.LEFT)); controlPanel1.setOpaque(false); controlPanel1.add(actionPanel1); setOpaque(false); setBorder(new BorderUIResource.EmptyBorderUIResource(new Insets(12, 12, 12, 12))); setLayout(new BorderLayout(0, 0)); // add(toolBar1, BorderLayout.NORTH); add(scrollPane, BorderLayout.CENTER); add(controlPanel1, BorderLayout.SOUTH); document.addListener( new TreeSpaceDocument.Listener() { public void dataChanged() { dataTableModel.fireTableDataChanged(); } public void settingsChanged() {} }); }