import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
-
@SuppressWarnings("serial")
public class FTSDataColumnPreferences extends JScrollPane
{
FTSRestClientI ftsRestClient)
{
this.ftsRestClient = ftsRestClient;
- structSummaryColumns = ((PDBFTSRestClient) ftsRestClient)
- .getAllDefaultDisplayedStructureDataColumns();
+ if (source.equals(PreferenceSource.STRUCTURE_CHOOSER)
+ || source.equals(PreferenceSource.PREFERENCES))
+ {
+ structSummaryColumns = ((PDBFTSRestClient) ftsRestClient)
+ .getAllDefaultDisplayedStructureDataColumns();
+ }
allFTSDataColumns.addAll(ftsRestClient.getAllFTSDataColumns());
tbl_FTSDataColumnPrefs.setAutoCreateRowSorter(true);
break;
}
- 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;
switch (source)
{
case SEARCH_SUMMARY:
- data[x++] = new Object[] {
- ftsRestClient.getAllDefaultDisplayedFTSDataColumns()
- .contains(field),
+ 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),
field.getName(), field.getGroup() };
break;
case PREFERENCES:
- data[x++] = new Object[] { field.getName(),
- ftsRestClient.getAllDefaultDisplayedFTSDataColumns()
- .contains(field),
+ data[x++] = new Object[] {
+ field.getName(), ftsRestClient
+ .getAllDefaultDisplayedFTSDataColumns().contains(field),
structSummaryColumns.contains(field) };
break;
default:
map.put(field.getName(), field);
}
- FTSDataColumnPrefsTableModel model = new FTSDataColumnPrefsTableModel(columnNames, data);
+ FTSDataColumnPrefsTableModel model = new FTSDataColumnPrefsTableModel(
+ columnNames, data);
tbl_FTSDataColumnPrefs.setModel(model);
switch (source)
tbl_FTSDataColumnPrefs.getColumnModel().getColumn(1).setMinWidth(150);
tbl_FTSDataColumnPrefs.getColumnModel().getColumn(2)
.setPreferredWidth(150);
- tbl_FTSDataColumnPrefs.getColumnModel().getColumn(2)
-.setMinWidth(150);
+ tbl_FTSDataColumnPrefs.getColumnModel().getColumn(2).setMinWidth(150);
TableRowSorter<TableModel> sorter = new TableRowSorter<>(
tbl_FTSDataColumnPrefs.getModel());
int columnIndexToSort = 2;
sortKeys.add(new RowSorter.SortKey(columnIndexToSort,
SortOrder.ASCENDING));
- sorter.setSortKeys(sortKeys);
- sorter.setComparator(
- columnIndexToSort,
+ sorter.setComparator(columnIndexToSort,
new Comparator<FTSDataColumnGroupI>()
{
@Override
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);
class FTSDataColumnPrefsTableModel extends AbstractTableModel
{
- public FTSDataColumnPrefsTableModel(String[] columnNames, Object[][] data)
+ public FTSDataColumnPrefsTableModel(String[] columnNames,
+ Object[][] data)
{
this.data = data;
this.columnNames = columnNames;
if (currentSource == PreferenceSource.SEARCH_SUMMARY)
{
- updatePrefs(ftsRestClient
- .getAllDefaultDisplayedFTSDataColumns(), ftsDataColumn,
- selected);
+ updatePrefs(ftsRestClient.getAllDefaultDisplayedFTSDataColumns(),
+ ftsDataColumn, selected);
}
else if (currentSource == PreferenceSource.STRUCTURE_CHOOSER)
{
{
if (col == 1)
{
- updatePrefs(ftsRestClient
- .getAllDefaultDisplayedFTSDataColumns(), ftsDataColumn,
- selected);
+ updatePrefs(ftsRestClient.getAllDefaultDisplayedFTSDataColumns(),
+ ftsDataColumn, selected);
}
else if (col == 2)
{
}
}
- private void updatePrefs(
- Collection<FTSDataColumnI> prefConfig,
+ private void updatePrefs(Collection<FTSDataColumnI> prefConfig,
FTSDataColumnI dataColumn, boolean selected)
{
if (prefConfig.contains(dataColumn) && !selected)