Class GridTreeViewer

java.lang.Object
org.eclipse.jface.viewers.Viewer
org.eclipse.jface.viewers.ContentViewer
org.eclipse.jface.viewers.StructuredViewer
org.eclipse.jface.viewers.ColumnViewer
org.eclipse.jface.viewers.AbstractTreeViewer
org.eclipse.nebula.jface.gridviewer.GridTreeViewer
All Implemented Interfaces:
org.eclipse.jface.viewers.IInputProvider, org.eclipse.jface.viewers.IInputSelectionProvider, org.eclipse.jface.viewers.IPostSelectionProvider, org.eclipse.jface.viewers.ISelectionProvider

public class GridTreeViewer
extends org.eclipse.jface.viewers.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.

  • Nested Class Summary

    Nested classes/interfaces inherited from class org.eclipse.jface.viewers.StructuredViewer

    org.eclipse.jface.viewers.StructuredViewer.ColorAndFontCollector, org.eclipse.jface.viewers.StructuredViewer.ColorAndFontCollectorWithProviders
  • Field Summary

    Fields inherited from class org.eclipse.jface.viewers.AbstractTreeViewer

    ALL_LEVELS

    Fields inherited from class org.eclipse.jface.viewers.Viewer

    WIDGET_DATA_KEY
  • Constructor Summary

    Constructors 
    Constructor Description
    GridTreeViewer​(Grid grid)
    Creates a grid tree viewer on the given grid control.
    GridTreeViewer​(org.eclipse.swt.widgets.Composite parent)
    Creates a grid tree viewer on a newly-created grid control under the given parent.
    GridTreeViewer​(org.eclipse.swt.widgets.Composite parent, int style)
    Creates a grid tree viewer on a newly-created grid control under the given parent.
  • Method Summary

    Modifier and Type Method Description
    protected void addTreeListener​(org.eclipse.swt.widgets.Control control, org.eclipse.swt.events.TreeListener listener)
    protected org.eclipse.jface.viewers.ColumnViewerEditor createViewerEditor()
    protected int doGetColumnCount()
    Returns the number of columns of this viewer.
    protected void doUpdateItem​(org.eclipse.swt.widgets.Item item, java.lang.Object element)
    boolean getAutoPreferredHeight()  
    protected org.eclipse.swt.widgets.Item[] getChildren​(org.eclipse.swt.widgets.Widget o)
    protected org.eclipse.swt.widgets.Widget getColumnViewerOwner​(int columnIndex)
    org.eclipse.swt.widgets.Control getControl()
    protected boolean getExpanded​(org.eclipse.swt.widgets.Item item)
    Grid getGrid()
    Returns the underlying Grid Control.
    protected org.eclipse.swt.widgets.Item getItemAt​(org.eclipse.swt.graphics.Point point)
    protected int getItemCount​(org.eclipse.swt.widgets.Control control)
    protected int getItemCount​(org.eclipse.swt.widgets.Item item)
    protected org.eclipse.swt.widgets.Item[] getItems​(org.eclipse.swt.widgets.Item item)
    protected org.eclipse.swt.widgets.Item getParentItem​(org.eclipse.swt.widgets.Item item)
    protected org.eclipse.swt.widgets.Item[] getSelection​(org.eclipse.swt.widgets.Control control)
    protected org.eclipse.jface.viewers.ViewerRow getViewerRowFromItem​(org.eclipse.swt.widgets.Widget item)
    protected org.eclipse.swt.widgets.Item newItem​(org.eclipse.swt.widgets.Widget parent, int style, int index)
    protected void removeAll​(org.eclipse.swt.widgets.Control control)
    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.
    protected void setExpanded​(org.eclipse.swt.widgets.Item item, boolean expand)
    protected void setSelection​(java.util.List items)
    protected void showItem​(org.eclipse.swt.widgets.Item item)

    Methods inherited from class org.eclipse.jface.viewers.AbstractTreeViewer

    add, add, addSelectionListener, addTreeListener, assertContentProviderType, associate, buildLabel, collapseAll, collapseToLevel, createChildren, createTreeItem, disassociate, doFindInputItem, doFindItem, doUpdateItem, expandAll, expandAll, expandToLevel, expandToLevel, expandToLevel, expandToLevel, fireTreeCollapsed, fireTreeExpanded, getAutoExpandLevel, getChild, getChildren, getExpandedElements, getExpandedState, getExpandedTreePaths, getNextItem, getParentElement, getPreviousItem, getRawChildren, getSelection, getSelectionFromWidget, getSortedChildren, getStructuredSelection, getTreePathFromItem, getVisibleExpandedElements, handleDoubleSelect, handleTreeCollapse, handleTreeExpand, hookControl, indexForElement, inputChanged, insert, internalAdd, internalCollapseToLevel, internalExpand, internalExpandToLevel, internalFindItems, internalGetWidgetToSelect, internalInitializeTree, internalIsInputOrEmptyPath, internalRefresh, internalRefresh, internalRefresh, internalRemove, internalRemove, isExpandable, isSameSelection, labelProviderChanged, remove, remove, remove, removeTreeListener, reveal, scrollDown, scrollUp, setAutoExpandLevel, setContentProvider, setExpandedElements, setExpandedState, setExpandedTreePaths, setExpandPreCheckFilters, setSelectionToWidget, setSelectionToWidget, updateChildren, updatePlus

    Methods inherited from class org.eclipse.jface.viewers.ColumnViewer

    applyEditorValue, cancelEditing, checkBusy, editElement, getCell, getCellEditors, getCellModifier, getColumnProperties, getColumnViewerEditor, getItem, getLabelProvider, getViewerRow, handleDispose, hookEditingSupport, isBusy, isCellEditorActive, refresh, refresh, setBusy, setCellEditors, setCellModifier, setColumnProperties, setColumnViewerEditor, setLabelProvider, triggerEditorActivationEvent, update

    Methods inherited from class org.eclipse.jface.viewers.StructuredViewer

    addDoubleClickListener, addDragSupport, addDropSupport, addFilter, addOpenListener, addPostSelectionChangedListener, assertElementsNotNull, equals, filter, findItem, findItems, fireDoubleClick, fireOpen, firePostSelectionChanged, getColorAndFontCollector, getComparator, getComparer, getFilteredChildren, getFilters, getRoot, getSorter, handleInvalidSelection, handleLabelProviderChanged, handleOpen, handlePostSelect, handleSelect, hasFilters, internalUpdate, mapElement, needsRefilter, preservingSelection, refresh, refresh, refreshItem, removeDoubleClickListener, removeFilter, removeOpenListener, removePostSelectionChangedListener, resetFilters, setComparator, setComparer, setFilters, setInput, setSelection, setSorter, setUseHashlookup, testFindItem, testFindItems, unmapAllElements, unmapElement, unmapElement, update, updateItem, updateSelection, usingElementMap

    Methods inherited from class org.eclipse.jface.viewers.ContentViewer

    getContentProvider, getInput, getLabelProvider

    Methods inherited from class org.eclipse.jface.viewers.Viewer

    addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, setData, setSelection

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.eclipse.jface.viewers.ISelectionProvider

    addSelectionChangedListener, removeSelectionChangedListener, setSelection
  • Constructor Details

    • GridTreeViewer

      public GridTreeViewer​(org.eclipse.swt.widgets.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​(org.eclipse.swt.widgets.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 org.eclipse.swt.widgets.Item getItemAt​(org.eclipse.swt.graphics.Point point)
      Overrides:
      getItemAt in class org.eclipse.jface.viewers.AbstractTreeViewer
    • createViewerEditor

      protected org.eclipse.jface.viewers.ColumnViewerEditor createViewerEditor()
      Overrides:
      createViewerEditor in class org.eclipse.jface.viewers.AbstractTreeViewer
    • addTreeListener

      protected void addTreeListener​(org.eclipse.swt.widgets.Control control, org.eclipse.swt.events.TreeListener listener)
      Specified by:
      addTreeListener in class org.eclipse.jface.viewers.AbstractTreeViewer
    • getChildren

      protected org.eclipse.swt.widgets.Item[] getChildren​(org.eclipse.swt.widgets.Widget o)
      Specified by:
      getChildren in class org.eclipse.jface.viewers.AbstractTreeViewer
    • getExpanded

      protected boolean getExpanded​(org.eclipse.swt.widgets.Item item)
      Specified by:
      getExpanded in class org.eclipse.jface.viewers.AbstractTreeViewer
    • getItemCount

      protected int getItemCount​(org.eclipse.swt.widgets.Control control)
      Specified by:
      getItemCount in class org.eclipse.jface.viewers.AbstractTreeViewer
    • getItemCount

      protected int getItemCount​(org.eclipse.swt.widgets.Item item)
      Specified by:
      getItemCount in class org.eclipse.jface.viewers.AbstractTreeViewer
    • getItems

      protected org.eclipse.swt.widgets.Item[] getItems​(org.eclipse.swt.widgets.Item item)
      Specified by:
      getItems in class org.eclipse.jface.viewers.AbstractTreeViewer
    • getParentItem

      protected org.eclipse.swt.widgets.Item getParentItem​(org.eclipse.swt.widgets.Item item)
      Specified by:
      getParentItem in class org.eclipse.jface.viewers.AbstractTreeViewer
    • getSelection

      protected org.eclipse.swt.widgets.Item[] getSelection​(org.eclipse.swt.widgets.Control control)
      Specified by:
      getSelection in class org.eclipse.jface.viewers.AbstractTreeViewer
    • newItem

      protected org.eclipse.swt.widgets.Item newItem​(org.eclipse.swt.widgets.Widget parent, int style, int index)
      Specified by:
      newItem in class org.eclipse.jface.viewers.AbstractTreeViewer
    • removeAll

      protected void removeAll​(org.eclipse.swt.widgets.Control control)
      Specified by:
      removeAll in class org.eclipse.jface.viewers.AbstractTreeViewer
    • setExpanded

      protected void setExpanded​(org.eclipse.swt.widgets.Item item, boolean expand)
      Specified by:
      setExpanded in class org.eclipse.jface.viewers.AbstractTreeViewer
    • setSelection

      protected void setSelection​(java.util.List items)
      Specified by:
      setSelection in class org.eclipse.jface.viewers.AbstractTreeViewer
    • showItem

      protected void showItem​(org.eclipse.swt.widgets.Item item)
      Specified by:
      showItem in class org.eclipse.jface.viewers.AbstractTreeViewer
    • getControl

      public org.eclipse.swt.widgets.Control getControl()
      Specified by:
      getControl in class org.eclipse.jface.viewers.Viewer
    • getViewerRowFromItem

      protected org.eclipse.jface.viewers.ViewerRow getViewerRowFromItem​(org.eclipse.swt.widgets.Widget item)
      Overrides:
      getViewerRowFromItem in class org.eclipse.jface.viewers.AbstractTreeViewer
    • getColumnViewerOwner

      protected org.eclipse.swt.widgets.Widget getColumnViewerOwner​(int columnIndex)
      Overrides:
      getColumnViewerOwner in class org.eclipse.jface.viewers.AbstractTreeViewer
    • doGetColumnCount

      protected int doGetColumnCount()
      Returns the number of columns of this viewer.
      Overrides:
      doGetColumnCount in class org.eclipse.jface.viewers.AbstractTreeViewer
      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:
      setAutoPreferredHeight(boolean)
    • doUpdateItem

      protected void doUpdateItem​(org.eclipse.swt.widgets.Item item, java.lang.Object element)
      Overrides:
      doUpdateItem in class org.eclipse.jface.viewers.AbstractTreeViewer