Class GridTreeViewer

java.lang.Object
AbstractTreeViewer
org.eclipse.nebula.jface.gridviewer.GridTreeViewer

public class GridTreeViewer extends AbstractTreeViewer
A concrete viewer based on an Grid control.

This class is not intended to be subclassed outside the viewer framework. It is designed to be instantiated with a pre-existing Grid control and configured with a domain-specific content provider, label provider, element filter (optional), and element sorter (optional).

Content providers for grid tree viewers must implement the ITreeContentProvider interface.

The current implementation does not support lazy content providers.

  • Constructor Details

    • GridTreeViewer

      public GridTreeViewer(Composite parent)
      Creates a grid tree viewer on a newly-created grid control under the given parent. The grid control is created using the SWT style bits MULTI, H_SCROLL, V_SCROLL, and BORDER. The viewer has no input, no content provider, a default label provider, no sorter, and no filters.
      Parameters:
      parent - the parent control
    • GridTreeViewer

      public GridTreeViewer(Composite parent, int style)
      Creates a grid tree viewer on a newly-created grid control under the given parent. The grid control is created using the given SWT style bits. The viewer has no input, no content provider, a default label provider, no sorter, and no filters.
      Parameters:
      parent - the parent control
      style - the SWT style bits used to create the grid.
    • GridTreeViewer

      public GridTreeViewer(Grid grid)
      Creates a grid tree viewer on the given grid control. The viewer has no input, no content provider, a default label provider, no sorter, and no filters.
      Parameters:
      grid - the grid control
  • Method Details

    • getGrid

      public Grid getGrid()
      Returns the underlying Grid Control.
      Returns:
      grid control.
    • getItemAt

      protected Item getItemAt(Point point)
    • createViewerEditor

      protected ColumnViewerEditor createViewerEditor()
    • addTreeListener

      protected void addTreeListener(Control control, TreeListener listener)
    • getChildren

      protected Item[] getChildren(Widget o)
    • getExpanded

      protected boolean getExpanded(Item item)
    • getItemCount

      protected int getItemCount(Control control)
    • getItemCount

      protected int getItemCount(Item item)
    • getItems

      protected Item[] getItems(Item item)
    • getParentItem

      protected Item getParentItem(Item item)
    • getSelection

      protected Item[] getSelection(Control control)
    • newItem

      protected Item newItem(Widget parent, int style, int index)
    • removeAll

      protected void removeAll(Control control)
    • setExpanded

      protected void setExpanded(Item item, boolean expand)
    • setSelection

      protected void setSelection(List items)
    • showItem

      protected void showItem(Item item)
    • getControl

      public Control getControl()
    • getViewerRowFromItem

      protected ViewerRow getViewerRowFromItem(Widget item)
    • getColumnViewerOwner

      protected Widget getColumnViewerOwner(int columnIndex)
    • doGetColumnCount

      protected int doGetColumnCount()
      Returns the number of columns of this viewer.
      Returns:
      the number of columns
    • setAutoPreferredHeight

      public void setAutoPreferredHeight(boolean autoPreferredHeight)
      When set to true, this grid viewer will ensure that each of the grid's items is always automatically sized to its preferred height. The default is false.

      Since this mechanism usually leads to a grid with rows of different heights and thus to a grid with decreased performance, it should only be applied if that is intended. To set the height of all items to a specific value, use Grid.setItemHeight(int) instead.

      When a column with activated word wrapping is resized by dragging the column resizer, the items are only auto-resized properly if you use GridViewerColumn to create the columns.

      When this method is called, existing rows are not resized to their preferred height. Therefore it is suggested that this method be called before rows are populated (i.e. before setInput).

    • getAutoPreferredHeight

      public boolean getAutoPreferredHeight()
      Returns:
      true if this grid viewer sizes its rows to their preferred height
      See Also:
    • doUpdateItem

      protected void doUpdateItem(Item item, Object element)
    • remove

      public void remove(Object parentOrTreePath, int index)
      Removes the element at the specified index of the parent. The selection is updated if required.
      Parameters:
      parentOrTreePath - the parent element, the input element, or a tree path to the parent element
      index - child index
      Since:
      3.3
    • setRowHeaderLabelProvider

      public void setRowHeaderLabelProvider(CellLabelProvider rowHeaderLabelProvider)
      Label provider used by calculate the row header text
      Parameters:
      rowHeaderLabelProvider - the provider