Class CellNavigationStrategy


  • public class CellNavigationStrategy
    extends Object
    This class implementation the strategy how the table is navigated using the keyboard.

    Subclasses can implement their custom navigation algorithms

    Since:
    3.3
    • Constructor Detail

      • CellNavigationStrategy

        public CellNavigationStrategy()
    • Method Detail

      • isNavigationEvent

        public boolean isNavigationEvent​(ColumnViewer viewer,
                                         Event event)
        is the given event an event which moves the selection to another cell
        Parameters:
        viewer - the viewer we are working for
        event - the key event
        Returns:
        true if a new cell is searched
      • isCollapseEvent

        public boolean isCollapseEvent​(ColumnViewer viewer,
                                       ViewerCell cellToCollapse,
                                       Event event)
        Parameters:
        viewer - the viewer we are working for
        cellToCollapse - the cell to collapse
        event - the key event
        Returns:
        true if this event triggers collapsing of a node
      • isExpandEvent

        public boolean isExpandEvent​(ColumnViewer viewer,
                                     ViewerCell cellToExpand,
                                     Event event)
        Parameters:
        viewer - the viewer we are working for
        cellToExpand - the cell to expand
        event - the key event
        Returns:
        true if this event triggers expanding of a node
      • expand

        public void expand​(ColumnViewer viewer,
                           ViewerCell cellToExpand,
                           Event event)
        Parameters:
        viewer - the viewer working for
        cellToExpand - the cell the user wants to expand
        event - the event triggering the expansion
      • collapse

        public void collapse​(ColumnViewer viewer,
                             ViewerCell cellToCollapse,
                             Event event)
        Parameters:
        viewer - the viewer working for
        cellToCollapse - the cell the user wants to collapse
        event - the event triggering the expansion
      • findSelectedCell

        public ViewerCell findSelectedCell​(ColumnViewer viewer,
                                           ViewerCell currentSelectedCell,
                                           Event event)
        Parameters:
        viewer - the viewer we are working for
        currentSelectedCell - the cell currently selected
        event - the key event
        Returns:
        the cell which is highlighted next or null if the default implementation is taken. E.g. it's fairly impossible to react on PAGE_DOWN requests
      • shouldCancelEvent

        public boolean shouldCancelEvent​(ColumnViewer viewer,
                                         Event event)
        This method is consulted to decide whether an event has to be canceled or not. By default events who collapse/expand tree-nodes are canceled
        Parameters:
        viewer - the viewer working for
        event - the event
        Returns:
        true if the event has to be canceled
      • init

        protected void init()
        This method is called by the framework to initialize this navigation strategy object. Subclasses may extend.