X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Ffts%2Fcore%2FFTSDataColumnPreferences.java;h=0971235d2e1880ebc7b1814301469f191ff7e540;hb=0862857e6b49fefb790d20495b190a55b7b611f6;hp=cb6249e78f7a6c1dbbc05a0a78e6b022a14c34ae;hpb=3d0101179759ef157b088ea135423cd909512d9f;p=jalview.git diff --git a/src/jalview/fts/core/FTSDataColumnPreferences.java b/src/jalview/fts/core/FTSDataColumnPreferences.java index cb6249e..0971235 100644 --- a/src/jalview/fts/core/FTSDataColumnPreferences.java +++ b/src/jalview/fts/core/FTSDataColumnPreferences.java @@ -23,6 +23,7 @@ package jalview.fts.core; import jalview.fts.api.FTSDataColumnI; import jalview.fts.api.FTSDataColumnI.FTSDataColumnGroupI; import jalview.fts.api.FTSRestClientI; +import jalview.fts.api.StructureFTSRestClientI; import jalview.fts.service.pdb.PDBFTSRestClient; import java.util.ArrayList; @@ -40,6 +41,13 @@ import javax.swing.table.AbstractTableModel; import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; +/** + * Helps render GUI allowing control of which columns to show for entries + * returned from an FTS query. TODO: push down FTSClient specific code + * + * @author tcofoegbu + * + */ @SuppressWarnings("serial") public class FTSDataColumnPreferences extends JScrollPane { @@ -70,7 +78,7 @@ public class FTSDataColumnPreferences extends JScrollPane if (source.equals(PreferenceSource.STRUCTURE_CHOOSER) || source.equals(PreferenceSource.PREFERENCES)) { - structSummaryColumns = ((PDBFTSRestClient) ftsRestClient) + structSummaryColumns = ((StructureFTSRestClientI) ftsRestClient) .getAllDefaultDisplayedStructureDataColumns(); } allFTSDataColumns.addAll(ftsRestClient.getAllFTSDataColumns()); @@ -79,28 +87,14 @@ public class FTSDataColumnPreferences extends JScrollPane this.getViewport().add(tbl_FTSDataColumnPrefs); this.currentSource = source; - String[] columnNames = null; - switch (source) - { - case SEARCH_SUMMARY: - columnNames = new String[] { "", "Display", "Group" }; - break; - case STRUCTURE_CHOOSER: - columnNames = new String[] { "", "Display", "Group" }; - break; - case PREFERENCES: - columnNames = new String[] { "PDB Field", "Show in search summary", - "Show in structure summary" }; - break; - default: - break; - } + String[] columnNames = ftsRestClient.getPreferencesColumnsFor(source); - Object[][] data = new Object[allFTSDataColumns.size() - 1][3]; + Object[][] data = new Object[allFTSDataColumns.size()][3]; int x = 0; for (FTSDataColumnI field : allFTSDataColumns) { + // System.out.println("allFTSDataColumns==" + allFTSDataColumns); if (field.getName().equalsIgnoreCase("all")) { continue; @@ -112,6 +106,8 @@ public class FTSDataColumnPreferences extends JScrollPane data[x++] = new Object[] { ftsRestClient .getAllDefaultDisplayedFTSDataColumns().contains(field), field.getName(), field.getGroup() }; + // System.out.println(" PUIS " + field.getName() + " ET AUSSI " + + // field.getGroup() + "X = " + x); break; case STRUCTURE_CHOOSER: data[x++] = new Object[] { structSummaryColumns.contains(field), @@ -155,7 +151,6 @@ public class FTSDataColumnPreferences extends JScrollPane int columnIndexToSort = 2; sortKeys.add(new RowSorter.SortKey(columnIndexToSort, SortOrder.ASCENDING)); - sorter.setSortKeys(sortKeys); sorter.setComparator(columnIndexToSort, new Comparator() { @@ -166,7 +161,8 @@ public class FTSDataColumnPreferences extends JScrollPane return o1.getSortOrder() - o2.getSortOrder(); } }); - sorter.sort(); + sorter.setSortKeys(sortKeys); + // BH 2018 setSortKeys does a sort sorter.sort(); tbl_FTSDataColumnPrefs .setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);