edu.washington.cs.pl_if.gui.table
Class DataTable<T extends TableRow>

java.lang.Object
  extended by org.eclipse.swt.widgets.Widget
      extended by org.eclipse.swt.widgets.Control
          extended by org.eclipse.swt.widgets.Scrollable
              extended by org.eclipse.swt.widgets.Composite
                  extended by edu.washington.cs.pl_if.gui.table.DataTable<T>
All Implemented Interfaces:
RequiresUpdates, org.eclipse.swt.graphics.Drawable

public class DataTable<T extends TableRow>
extends org.eclipse.swt.widgets.Composite
implements RequiresUpdates


Field Summary
static int PROGRESS_BAR_LENGTH
           
 
Fields inherited from class org.eclipse.swt.widgets.Control
handle
 
Constructor Summary
DataTable(org.eclipse.swt.widgets.Composite parent, int style, String[] columnHeaders, int[] columnWidths, RowComparator<T> comp)
          Create the composite
 
Method Summary
 void addMenu(org.eclipse.swt.widgets.Menu menu)
           
protected  void checkSubclass()
           
 void dispose()
           
 List<T> getAllRows()
           
 Integer[] getCheckedIds()
           
 int[] getSelectedIds()
           
 T getTableData(int rowId)
           
 boolean isChecked(int rowId)
           
 boolean isCurrentlyVisible()
          tries to figure out if we are visible, but allows other threads to query.
 void setCheckBoxCol(int col)
           
 void setKeyListener(org.eclipse.swt.events.KeyAdapter listener)
           
 void setMouseListener(org.eclipse.swt.events.MouseListener listener)
           
 void setProgressBarCol(int col)
           
 void setResizePolicy(int colNum)
           
 void setRowDoubleClickedListener(org.eclipse.swt.widgets.Listener listener)
           
 void setSortCol(int colNum)
           
 void setTableData(List<T> newData)
           
 void setUpdateThread(UpdateThread updateThread, String name)
           
 boolean shouldUpdate()
           
 void sortTableData(List<T> data)
           
 void toggleChecked(int id)
           
 void updateGui()
           
 
Methods inherited from class org.eclipse.swt.widgets.Composite
changed, computeSize, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList
 
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getBorderWidth, getClientArea, getHorizontalBar, getVerticalBar
 
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTraverseListener, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getRegion, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTraverseListener, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setRegion, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, getData, getData, getDisplay, getListeners, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, setData, setData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.washington.cs.pl_if.gui.RequiresUpdates
isVisible
 

Field Detail

PROGRESS_BAR_LENGTH

public static final int PROGRESS_BAR_LENGTH
See Also:
Constant Field Values
Constructor Detail

DataTable

public DataTable(org.eclipse.swt.widgets.Composite parent,
                 int style,
                 String[] columnHeaders,
                 int[] columnWidths,
                 RowComparator<T> comp)
Create the composite

Parameters:
parent -
style -
Method Detail

addMenu

public void addMenu(org.eclipse.swt.widgets.Menu menu)

dispose

public void dispose()
Overrides:
dispose in class org.eclipse.swt.widgets.Widget

getSelectedIds

public int[] getSelectedIds()

getTableData

public T getTableData(int rowId)

getCheckedIds

public Integer[] getCheckedIds()

isCurrentlyVisible

public boolean isCurrentlyVisible()
tries to figure out if we are visible, but allows other threads to query. We are visible if we are updating frequently


setProgressBarCol

public void setProgressBarCol(int col)

setCheckBoxCol

public void setCheckBoxCol(int col)

toggleChecked

public void toggleChecked(int id)

getAllRows

public List<T> getAllRows()

setResizePolicy

public void setResizePolicy(int colNum)

setRowDoubleClickedListener

public void setRowDoubleClickedListener(org.eclipse.swt.widgets.Listener listener)

setMouseListener

public void setMouseListener(org.eclipse.swt.events.MouseListener listener)

setKeyListener

public void setKeyListener(org.eclipse.swt.events.KeyAdapter listener)

setTableData

public void setTableData(List<T> newData)

setUpdateThread

public void setUpdateThread(UpdateThread updateThread,
                            String name)

sortTableData

public void sortTableData(List<T> data)

isChecked

public boolean isChecked(int rowId)

updateGui

public void updateGui()
Specified by:
updateGui in interface RequiresUpdates

setSortCol

public void setSortCol(int colNum)

checkSubclass

protected void checkSubclass()
Overrides:
checkSubclass in class org.eclipse.swt.widgets.Composite

shouldUpdate

public boolean shouldUpdate()
Specified by:
shouldUpdate in interface RequiresUpdates