Class IzTableCursor

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

    public class IzTableCursor
    extends org.eclipse.swt.widgets.Canvas
    A TableCursor provides a way for the user to navigate around a Table using the keyboard. It also provides a mechanism for selecting an individual cell in a table.

    For a detailed example of using a TableCursor to navigate to a cell and then edit it see http://git.eclipse.org/c/platform/eclipse.platform.swt.git/tree/examples /org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet96.java .

    Styles:
    BORDER
    Events:
    Selection, DefaultSelection
    Since:
    2.0
    See Also:
    TableCursor snippets, Sample code and further information
    • Field Summary

      • Fields inherited from class org.eclipse.swt.widgets.Control

        handle
    • Constructor Summary

      Constructors 
      Constructor Description
      IzTableCursor​(org.eclipse.swt.widgets.Table parent, int style)
      Constructs a new instance of this class given its parent table and a style value describing its behavior and appearance.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addSelectionListener​(org.eclipse.swt.events.SelectionListener listener)
      Adds the listener to the collection of listeners who will be notified when the user changes the receiver's selection, by sending it one of the messages defined in the SelectionListener interface.
      org.eclipse.swt.graphics.Color getBackground()
      Returns the background color that the receiver will use to draw.
      int getColumn()
      Returns the index of the column over which the TableCursor is positioned.
      org.eclipse.swt.graphics.Color getForeground()
      Returns the foreground color that the receiver will use to draw.
      org.eclipse.swt.widgets.TableItem getRow()
      Returns the row over which the TableCursor is positioned.
      static void initializeFullMultiTableSelection​(org.eclipse.jface.viewers.TableViewer tableViewer, IzTableCursor cursor, java.lang.Runnable onDoubleClick)
      Initializes the cursor to handle TableViewer with selection support.
      void removeSelectionListener​(org.eclipse.swt.events.SelectionListener listener)
      Removes the listener from the collection of listeners who will be notified when the user changes the receiver's selection.
      void setBackground​(org.eclipse.swt.graphics.Color color)
      Sets the receiver's background color to the color specified by the argument, or to the default system color for the control if the argument is null.
      void setBounds​(int x, int y, int cx, int cy)
      Adjustments to make look better, for Windows at least for now.
      void setForeground​(org.eclipse.swt.graphics.Color color)
      Sets the receiver's foreground color to the color specified by the argument, or to the default system color for the control if the argument is null.
      void setSelection​(int row, int column)
      Positions the TableCursor over the cell at the given row and column in the parent table.
      void setSelection​(org.eclipse.swt.widgets.TableItem row, int column)
      Positions the TableCursor over the cell at the given row and column in the parent table.
      void setVisible​(boolean visible)  
      • Methods inherited from class org.eclipse.swt.widgets.Canvas

        drawBackground, getCaret, getIME, scroll, setCaret, setFont, setIME
      • 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, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, 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, setBackgroundImage, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, 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
      • Methods inherited from interface org.eclipse.swt.graphics.Drawable

        isAutoScalable
    • Constructor Detail

      • IzTableCursor

        public IzTableCursor​(org.eclipse.swt.widgets.Table parent,
                             int style)
        Constructs a new instance of this class given its parent table and a style value describing its behavior and appearance.

        The style value is either one of the style constants defined in class SWT which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the int "|" operator) two or more of those SWT style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

        Parameters:
        parent - a Table control which will be the parent of the new instance (cannot be null)
        style - the style of control to construct
        Throws:
        java.lang.IllegalArgumentException -
        • ERROR_NULL_ARGUMENT - if the parent is null
        org.eclipse.swt.SWTException -
        • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
        • ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
        See Also:
        SWT.BORDER, Widget.checkSubclass(), Widget.getStyle()
    • Method Detail

      • addSelectionListener

        public void addSelectionListener​(org.eclipse.swt.events.SelectionListener listener)
        Adds the listener to the collection of listeners who will be notified when the user changes the receiver's selection, by sending it one of the messages defined in the SelectionListener interface.

        When widgetSelected is called, the item field of the event object is valid. If the receiver has SWT.CHECK style set and the check selection changes, the event object detail field contains the value SWT.CHECK. widgetDefaultSelected is typically called when an item is double-clicked.

        Parameters:
        listener - the listener which should be notified when the user changes the receiver's selection
        Throws:
        java.lang.IllegalArgumentException -
        • ERROR_NULL_ARGUMENT - if the listener is null
        org.eclipse.swt.SWTException -
        • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
        • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
        See Also:
        SelectionListener, SelectionEvent, removeSelectionListener(SelectionListener)
      • setVisible

        public void setVisible​(boolean visible)
        Overrides:
        setVisible in class org.eclipse.swt.widgets.Control
      • removeSelectionListener

        public void removeSelectionListener​(org.eclipse.swt.events.SelectionListener listener)
        Removes the listener from the collection of listeners who will be notified when the user changes the receiver's selection.
        Parameters:
        listener - the listener which should no longer be notified
        Throws:
        java.lang.IllegalArgumentException -
        • ERROR_NULL_ARGUMENT - if the listener is null
        org.eclipse.swt.SWTException -
        • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
        • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
        Since:
        3.0
        See Also:
        SelectionListener, addSelectionListener(SelectionListener)
      • getColumn

        public int getColumn()
        Returns the index of the column over which the TableCursor is positioned.
        Returns:
        the column index for the current position
        Throws:
        org.eclipse.swt.SWTException -
        • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
        • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      • getBackground

        public org.eclipse.swt.graphics.Color getBackground()
        Returns the background color that the receiver will use to draw.
        Overrides:
        getBackground in class org.eclipse.swt.widgets.Control
        Returns:
        the receiver's background color
      • getForeground

        public org.eclipse.swt.graphics.Color getForeground()
        Returns the foreground color that the receiver will use to draw.
        Overrides:
        getForeground in class org.eclipse.swt.widgets.Control
        Returns:
        the receiver's foreground color
      • getRow

        public org.eclipse.swt.widgets.TableItem getRow()
        Returns the row over which the TableCursor is positioned.
        Returns:
        the item for the current position, or null if none
        Throws:
        org.eclipse.swt.SWTException -
        • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
        • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      • setBackground

        public void setBackground​(org.eclipse.swt.graphics.Color color)
        Sets the receiver's background color to the color specified by the argument, or to the default system color for the control if the argument is null.

        Note: This operation is a hint and may be overridden by the platform. For example, on Windows the background of a Button cannot be changed.

        Overrides:
        setBackground in class org.eclipse.swt.widgets.Control
        Parameters:
        color - the new color (or null)
        Throws:
        java.lang.IllegalArgumentException -
        • ERROR_INVALID_ARGUMENT - if the argument has been disposed
        org.eclipse.swt.SWTException -
        • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
        • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      • setForeground

        public void setForeground​(org.eclipse.swt.graphics.Color color)
        Sets the receiver's foreground color to the color specified by the argument, or to the default system color for the control if the argument is null.

        Note: This operation is a hint and may be overridden by the platform.

        Overrides:
        setForeground in class org.eclipse.swt.widgets.Control
        Parameters:
        color - the new color (or null)
        Throws:
        java.lang.IllegalArgumentException -
        • ERROR_INVALID_ARGUMENT - if the argument has been disposed
        org.eclipse.swt.SWTException -
        • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
        • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      • setSelection

        public void setSelection​(int row,
                                 int column)
        Positions the TableCursor over the cell at the given row and column in the parent table.
        Parameters:
        row - the index of the row for the cell to select
        column - the index of column for the cell to select
        Throws:
        org.eclipse.swt.SWTException -
        • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
        • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      • setSelection

        public void setSelection​(org.eclipse.swt.widgets.TableItem row,
                                 int column)
        Positions the TableCursor over the cell at the given row and column in the parent table.
        Parameters:
        row - the TableItem of the row for the cell to select
        column - the index of column for the cell to select
        Throws:
        org.eclipse.swt.SWTException -
        • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
        • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
      • setBounds

        public void setBounds​(int x,
                              int y,
                              int cx,
                              int cy)
        Adjustments to make look better, for Windows at least for now.
        Overrides:
        setBounds in class org.eclipse.swt.widgets.Control
      • initializeFullMultiTableSelection

        public static void initializeFullMultiTableSelection​(org.eclipse.jface.viewers.TableViewer tableViewer,
                                                             IzTableCursor cursor,
                                                             java.lang.Runnable onDoubleClick)
        Initializes the cursor to handle TableViewer with selection support.
        Parameters:
        tableViewer - The table viewer.
        onDoubleClick - Called when double-clicked on cursor, null for none.