public Object getValueAt(int row, int col) { // PartitionData partition = options.getPartitionDataNoSpecies().get(row); AbstractPartitionData partition = options.dataPartitions.get(row); switch (col) { case 0: return partition.getName(); case 1: return partition.getFileName(); case 2: return "" + (partition.getTaxonCount() >= 0 ? partition.getTaxonCount() : "-"); case 3: return "" + (partition.getSiteCount() >= 0 ? partition.getSiteCount() : "-"); case 4: return partition.getDataDescription(); case 5: // return partition.getPloidyType(); // case 6: return partition.getPartitionSubstitutionModel().getName(); case 6: return "" + (partition.getPartitionClockModel() != null ? partition.getPartitionClockModel().getName() : "-"); case 7: return partition.getPartitionTreeModel().getName(); default: throw new IllegalArgumentException("unknown column, " + col); } }
public void unlinkClocks() { // reuse previous PartitionTreePrior int[] selRows = dataTable.getSelectedRows(); for (int row : selRows) { AbstractPartitionData partition = options.dataPartitions.get(row); PartitionClockModel model = partition.getPartitionClockModel(); if (!model.getName().equals(partition.getName())) { PartitionClockModel newModel = new PartitionClockModel(options, partition.getName(), model); partition.setPartitionClockModel(newModel); newModel.setClockModelGroup(model.getClockModelGroup()); // set clock model group } } modelsChanged(); fireDataChanged(); repaint(); }