Beispiel #1
0
  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");
    }
  }
Beispiel #2
0
 public void editSelection() {
   int selRow = dataTable.getSelectedRow();
   if (selRow >= 0) {
     InputFile inputFile = document.getInputFiles().get(selRow);
     editSettings(inputFile);
   }
 }
Beispiel #3
0
  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();
    }
  }
Beispiel #4
0
  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() {}
        });
  }