Dépôt officiel du code source de l'ERP OpenConcerto
/trunk/OpenConcerto/src/org/openconcerto/utils/TableSorter.java |
---|
111,6 → 111,7 |
private Map columnComparators = new HashMap(); |
private List sortingColumns = new ArrayList(); |
private boolean enabled; |
private boolean sorting; |
private final PropertyChangeSupport supp; |
117,6 → 118,7 |
public TableSorter() { |
this.mouseListener = new MouseHandler(); |
this.tableModelListener = new TableModelHandler(); |
this.enabled = true; |
this.sorting = false; |
this.supp = new PropertyChangeSupport(this); |
} |
158,6 → 160,29 |
fireTableStructureChanged(); |
} |
public final void setSortingEnabled(final boolean b) { |
this.setSortingEnabled(b, true); |
} |
// this prevent the user from changing the sort, but setSortingStatus() still works (like |
// JTextComponent.setEnabled()/setText()) |
public final void setSortingEnabled(final boolean b, final boolean cancelSort) { |
if (this.enabled != b) { |
this.enabled = b; |
if (this.enabled) { |
this.tableHeader.addMouseListener(mouseListener); |
} else { |
this.tableHeader.removeMouseListener(mouseListener); |
} |
if (cancelSort && this.isSorting()) |
this.cancelSorting(true); |
} |
} |
public final boolean isSortingEnabled() { |
return this.enabled; |
} |
public JTableHeader getTableHeader() { |
return tableHeader; |
} |
172,6 → 197,7 |
} |
this.tableHeader = tableHeader; |
if (this.tableHeader != null) { |
if (this.isSortingEnabled()) |
this.tableHeader.addMouseListener(mouseListener); |
this.tableHeader.setDefaultRenderer(new SortableHeaderRenderer(this.tableHeader.getDefaultRenderer())); |
} |