Class AbstractSortableHeader

  • All Implemented Interfaces:
    org.eclipse.swt.graphics.Drawable

    public abstract class AbstractSortableHeader
    extends org.eclipse.swt.widgets.Composite
    Class AbstractSortableHeader. A Header class making it easier to implement a sorted table where clicking on a header column sets or changes the sort order.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) int height  
      protected java.util.List labels  
      private java.lang.String[] labelStrings  
      private int lastSortColumn  
      private java.lang.Boolean sortDescending  
      protected org.eclipse.swt.graphics.Image sortDownIndicator  
      private org.eclipse.swt.graphics.Image sortIndicator  
      private org.eclipse.swt.events.MouseAdapter sortMouseAdapter  
      protected org.eclipse.swt.graphics.Image sortUpIndicator  
      (package private) int width  
      • Fields inherited from class org.eclipse.swt.widgets.Composite

        embeddedHandle
      • Fields inherited from class org.eclipse.swt.widgets.Widget

        handle
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractSortableHeader​(org.eclipse.swt.widgets.Composite parent, int style)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      private org.eclipse.swt.graphics.ImageData getDownImageData()  
      private org.eclipse.swt.graphics.ImageData getEmptyImageData()  
      private org.eclipse.swt.graphics.ImageData getUpImageData()  
      private void initialize()  
      protected void initializeLabel​(org.eclipse.swt.custom.CLabel label)  
      private void makeMouseAdapter()  
      void setColumnText​(java.lang.String[] columnText)
      Clients must call this method (normally in the constructor) to set the column names.
      protected abstract void sortOnColumn​(int column, boolean sortDescending)
      Clients must override this method to reset the current sort column.
      private boolean toggleSortDirection()  
      • Methods inherited from class org.eclipse.swt.widgets.Composite

        changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList
      • Methods inherited from class org.eclipse.swt.widgets.Scrollable

        computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar
      • Methods inherited from class org.eclipse.swt.widgets.Control

        addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isAutoScalable, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update
      • Methods inherited from class org.eclipse.swt.widgets.Widget

        addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • labels

        protected java.util.List labels
      • labelStrings

        private java.lang.String[] labelStrings
      • sortMouseAdapter

        private org.eclipse.swt.events.MouseAdapter sortMouseAdapter
      • sortDescending

        private java.lang.Boolean sortDescending
      • lastSortColumn

        private int lastSortColumn
      • sortUpIndicator

        protected org.eclipse.swt.graphics.Image sortUpIndicator
      • sortDownIndicator

        protected org.eclipse.swt.graphics.Image sortDownIndicator
      • sortIndicator

        private org.eclipse.swt.graphics.Image sortIndicator
    • Constructor Detail

      • AbstractSortableHeader

        public AbstractSortableHeader​(org.eclipse.swt.widgets.Composite parent,
                                      int style)
        Parameters:
        parent -
        style -
    • Method Detail

      • getEmptyImageData

        private org.eclipse.swt.graphics.ImageData getEmptyImageData()
      • getUpImageData

        private org.eclipse.swt.graphics.ImageData getUpImageData()
      • getDownImageData

        private org.eclipse.swt.graphics.ImageData getDownImageData()
      • toggleSortDirection

        private boolean toggleSortDirection()
      • makeMouseAdapter

        private void makeMouseAdapter()
      • sortOnColumn

        protected abstract void sortOnColumn​(int column,
                                             boolean sortDescending)
        Clients must override this method to reset the current sort column.
        Parameters:
        column - The column on which to sort
        sortDescending - true if the sort should be in descending order; false for ascending order
      • setColumnText

        public void setColumnText​(java.lang.String[] columnText)
        Clients must call this method (normally in the constructor) to set the column names.
        Parameters:
        columnText - String[] The text to display in each column
      • initialize

        private void initialize()
      • initializeLabel

        protected void initializeLabel​(org.eclipse.swt.custom.CLabel label)