package org.testng.eclipse.ui.summary; import org.eclipse.jface.viewers.ViewerSorter; /** * Base class sorter for the tables displayed in the SummaryTab. * * @author Cedric Beust <cedric@beust.com> */ public class AbstractTableSorter extends ViewerSorter { private static final int DESCENDING = 1; protected int m_column; private int m_direction = 0; // start in ascending order protected SummaryTab m_tab; public AbstractTableSorter(SummaryTab tab) { m_tab = tab; } protected int adjustDirection(int result) { if (m_direction == DESCENDING) { result = -result; } return result; } public void setColumn(int column) { if (column == m_column) { // Same column as last sort; toggle the direction m_direction = 1 - m_direction; } else { // New column; do an ascending sort m_column = column; m_direction = DESCENDING; } } }