/** {@inheritDoc} */ public void toggleSortOrder(int columnIndex, Comparator comparator) { List<SortKey> newSortKeys = new ArrayList<SortKey>(getSortKeys()); // see if we're already sorting with this column SortOrder columnSortOrder = SortOrder.ASCENDING; for(Iterator<? extends SortKey> s = newSortKeys.iterator(); s.hasNext(); ) { SortKey sortKey = s.next(); if(sortKey.getSortOrder() == SortOrder.UNSORTED) continue; if(sortKey.getColumn() == columnIndex) { columnSortOrder = (sortKey.getSortOrder() == SortOrder.ASCENDING) ? SortOrder.DESCENDING : SortOrder.ASCENDING; s.remove(); break; } } // prepare the new sort order if(!multipleColumnSort) newSortKeys.clear(); newSortKeys.add(new SortKey(columnSortOrder, columnIndex)); // kick off the sort setSortKeys(newSortKeys); }
/** {@inheritDoc} */ public void toggleSortOrder(int columnIndex, Comparator comparator) { List<SortKey> newSortKeys = new ArrayList<SortKey>(getSortKeys()); // see if we're already sorting with this column SortOrder columnSortOrder = SortOrder.ASCENDING; for(Iterator<? extends SortKey> s = newSortKeys.iterator(); s.hasNext(); ) { SortKey sortKey = s.next(); if(sortKey.getSortOrder() == SortOrder.UNSORTED) continue; if(sortKey.getColumn() == columnIndex) { columnSortOrder = (sortKey.getSortOrder() == SortOrder.ASCENDING) ? SortOrder.DESCENDING : SortOrder.ASCENDING; s.remove(); break; } } // prepare the new sort order if(!multipleColumnSort) newSortKeys.clear(); newSortKeys.add(new SortKey(columnSortOrder, columnIndex)); // kick off the sort setSortKeys(newSortKeys); }
public SortKey getSortKey() { return new SortKey(getSortOrder(), getColumnIndex(), getComparator()); } public void toggle() {
public void toggleSortOrder(int column, Comparator comparator) { Sorter currentSorter = getSorter(); if ((currentSorter != null) && (currentSorter.getColumnIndex() == column)) { // JW: think about logic - need to update comparator? currentSorter.toggle(); } else { setSorter(createDefaultSorter(new SortKey(SortOrder.ASCENDING, column, comparator))); } }
/** * Sorts the list using SortOrder. * * * Respects the JXList's sortable and comparator * properties: routes the comparator to the SortController * and does nothing if !isFilterEnabled(). * <p> * * @param sortOrder the sort order to use. If null or SortOrder.UNSORTED, * this method has the same effect as resetSortOrder(); * */ public void setSortOrder(SortOrder sortOrder) { if ((sortOrder == null) || !sortOrder.isSorted()) { resetSortOrder(); return; } SortController sortController = getSortController(); if (sortController != null) { SortKey sortKey = new SortKey(sortOrder, 0, getComparator()); sortController.setSortKeys(Collections.singletonList(sortKey)); } }
if (sortController != null) { TableColumnExt columnExt = getColumnExt(columnIndex); SortKey sortKey = new SortKey(sortOrder, convertColumnIndexToModel(columnIndex), columnExt != null ? columnExt.getComparator() : null);
if (columnExt == null) return; SortKey sortKey = new SortKey(sortOrder, columnExt.getModelIndex(), columnExt.getComparator()); sortController.setSortKeys(Collections.singletonList(sortKey));