package org.safehaus.penrose.studio.table;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerSorter;
import org.eclipse.swt.SWT;
/**
* @author Endi Sukma Dewata
*/
public abstract class InvertibleSorter extends ViewerSorter {
public int direction = SWT.UP;
public int compare(Viewer viewer, Object object1, Object object2) {
if (direction == SWT.UP) {
return compare(object1, object2);
} else {
return -compare(object1, object2);
}
}
public abstract int compare(Object object1, Object object2);
public int getDirection() {
return direction;
}
public void reset() {
direction = SWT.UP;
}
public void invert() {
direction = direction == SWT.UP ? SWT.DOWN : SWT.UP;
}
}