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;
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
{
if (source.equals(PreferenceSource.STRUCTURE_CHOOSER)
|| source.equals(PreferenceSource.PREFERENCES))
{
- structSummaryColumns = ((PDBFTSRestClient) ftsRestClient)
+ structSummaryColumns = ((StructureFTSRestClientI) ftsRestClient)
.getAllDefaultDisplayedStructureDataColumns();
}
allFTSDataColumns.addAll(ftsRestClient.getAllFTSDataColumns());
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()][3];
int x = 0;
for (FTSDataColumnI field : allFTSDataColumns)
- {
- //System.out.println("allFTSDataColumns==" + allFTSDataColumns);
+ {
+ // jalview.bin.Console.outPrintln("allFTSDataColumns==" + allFTSDataColumns);
if (field.getName().equalsIgnoreCase("all"))
{
continue;
data[x++] = new Object[] { ftsRestClient
.getAllDefaultDisplayedFTSDataColumns().contains(field),
field.getName(), field.getGroup() };
- //System.out.println(" PUIS " + field.getName() + " ET AUSSI " + field.getGroup() + "X = " + x);
+ // jalview.bin.Console.outPrintln(" PUIS " + field.getName() + " ET AUSSI " +
+ // field.getGroup() + "X = " + x);
break;
case STRUCTURE_CHOOSER:
data[x++] = new Object[] { structSummaryColumns.contains(field),
}
});
sorter.setSortKeys(sortKeys);
- // BH 2018 setSortKeys does a sort sorter.sort();
+ // BH 2018 setSortKeys does a sort sorter.sort();
tbl_FTSDataColumnPrefs
.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);