|
9 | 9 | import java.awt.event.ActionListener;
|
10 | 10 | import java.util.ArrayList;
|
11 | 11 | import java.util.Arrays;
|
| 12 | +import java.util.Collections; |
12 | 13 | import java.util.Comparator;
|
13 | 14 | import java.util.List;
|
14 | 15 | import java.util.Map;
|
|
29 | 30 | import javax.swing.JTable;
|
30 | 31 | import javax.swing.ListSelectionModel;
|
31 | 32 | import javax.swing.RowSorter.SortKey;
|
| 33 | +import javax.swing.SortOrder; |
32 | 34 | import javax.swing.SwingUtilities;
|
33 | 35 | import javax.swing.table.JTableHeader;
|
34 | 36 | import javax.swing.table.TableCellRenderer;
|
35 | 37 | import javax.swing.table.TableColumn;
|
36 | 38 | import javax.swing.table.TableColumnModel;
|
37 |
| -import javax.swing.table.TableRowSorter; |
38 | 39 |
|
39 | 40 | import org.baderlab.csplugins.enrichmentmap.AfterInjection;
|
40 | 41 | import org.baderlab.csplugins.enrichmentmap.model.EMDataSet;
|
@@ -176,7 +177,6 @@ private void createTableHeader(int expressionColumnWidth) {
|
176 | 177 |
|
177 | 178 | rankColumn.setHeaderRenderer(columnHeaderRankOptionRendererFactory.create(this, HeatMapTableModel.RANK_COL));
|
178 | 179 | rankColumn.setPreferredWidth(100);
|
179 |
| - ((TableRowSorter<?>)table.getRowSorter()).setSortable(HeatMapTableModel.RANK_COL, false); |
180 | 180 |
|
181 | 181 | int colCount = tableModel.getColumnCount();
|
182 | 182 | for(int col = HeatMapTableModel.DESC_COL_COUNT; col < colCount; col++) {
|
@@ -339,10 +339,14 @@ public void reset(EnrichmentMap map, HeatMapParams params, List<RankingOption> m
|
339 | 339 | // Update the Table
|
340 | 340 | clearTableHeader();
|
341 | 341 | List<String> genesToUse = params.getOperator() == Operator.UNION ? unionGenes : interGenes;
|
342 |
| - List<? extends SortKey> sortKeys = table.getRowSorter().getSortKeys(); |
343 | 342 | HeatMapTableModel tableModel = new HeatMapTableModel(map, null, genesToUse, params.getTransform());
|
344 | 343 | table.setModel(tableModel);
|
345 | 344 |
|
| 345 | + List<? extends SortKey> sortKeys = table.getRowSorter().getSortKeys(); |
| 346 | + if(sortKeys.isEmpty()) { |
| 347 | + sortKeys = Collections.singletonList(new SortKey(HeatMapTableModel.RANK_COL, SortOrder.ASCENDING)); |
| 348 | + } |
| 349 | + |
346 | 350 | updateSetting_ShowValues(params.isShowValues());
|
347 | 351 | try {
|
348 | 352 | table.getRowSorter().setSortKeys(sortKeys);
|
|
0 commit comments