Class GridTableViewer

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.AbstractTableViewer
org.eclipse.nebula.jface.gridviewer.GridTableViewer
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 GridTableViewer
extends org.eclipse.jface.viewers.AbstractTableViewer
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 table viewers must not implement the ITreeContentProvider interface. Instead a GridTreeViewer should be used.

  • 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.Viewer

    WIDGET_DATA_KEY
  • Constructor Summary

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

    Modifier and Type Method Description
    protected org.eclipse.jface.viewers.ColumnViewerEditor createViewerEditor()
    protected void doClear​(int index)
    protected void doClearAll()
    protected void doDeselectAll()
    protected org.eclipse.swt.widgets.Widget doGetColumn​(int index)
    protected int doGetColumnCount()
    protected org.eclipse.swt.widgets.Item doGetItem​(int index)
    protected int doGetItemCount()
    protected org.eclipse.swt.widgets.Item[] doGetItems()
    protected org.eclipse.swt.widgets.Item[] doGetSelection()
    protected int[] doGetSelectionIndices()
    protected int doIndexOf​(org.eclipse.swt.widgets.Item item)
    protected void doRemove​(int[] indices)
    protected void doRemove​(int start, int end)
    protected void doRemoveAll()
    protected void doResetItem​(org.eclipse.swt.widgets.Item item)
    protected void doSelect​(int[] indices)
    protected void doSetItemCount​(int count)
    protected void doSetSelection​(int[] indices)
    protected void doSetSelection​(org.eclipse.swt.widgets.Item[] items)
    protected void doShowItem​(org.eclipse.swt.widgets.Item item)
    protected void doShowSelection()
    protected void doUpdateItem​(org.eclipse.swt.widgets.Widget widget, java.lang.Object element, boolean fullMap)
    void editElement​(java.lang.Object element, int column)
    boolean getAutoPreferredHeight()  
    org.eclipse.swt.widgets.Control getControl()
    Grid getGrid()
    Returns the underlying Grid Control.
    protected org.eclipse.swt.widgets.Item getItemAt​(org.eclipse.swt.graphics.Point point)
    org.eclipse.jface.viewers.ISelection getSelection()
    protected org.eclipse.jface.viewers.ViewerRow getViewerRowFromItem​(org.eclipse.swt.widgets.Widget item)
    protected void handleDispose​(org.eclipse.swt.events.DisposeEvent event)
    (non-Javadoc)
    protected org.eclipse.jface.viewers.ViewerRow internalCreateNewRowPart​(int style, int rowIndex)
    void refresh()  
    void refreshRowHeaders​(java.lang.Object element)
    Refresh row headers only
    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.
    void setRowHeaderLabelProvider​(org.eclipse.jface.viewers.CellLabelProvider rowHeaderLabelProvider)
    Label provider used by calculate the row header text
    protected void setSelectionToWidget​(org.eclipse.jface.viewers.ISelection selection, boolean reveal)

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

    add, add, assertContentProviderType, clear, doFindInputItem, doFindItem, getColumnViewerOwner, getElementAt, getLabelProvider, getRawChildren, getSelectionFromWidget, hookControl, indexForElement, inputChanged, insert, internalRefresh, internalRefresh, remove, remove, replace, reveal, setContentProvider, setItemCount, setSelectionToWidget

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

    applyEditorValue, cancelEditing, checkBusy, getCell, getCellEditors, getCellModifier, getColumnProperties, getColumnViewerEditor, getItem, getLabelProvider, getViewerRow, 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, associate, buildLabel, disassociate, equals, filter, findItem, findItems, fireDoubleClick, fireOpen, firePostSelectionChanged, getColorAndFontCollector, getComparator, getComparer, getFilteredChildren, getFilters, getRoot, getSortedChildren, getSorter, getStructuredSelection, handleDoubleSelect, handleInvalidSelection, handleLabelProviderChanged, handleOpen, handlePostSelect, handleSelect, hasFilters, internalUpdate, mapElement, needsRefilter, preservingSelection, 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, labelProviderChanged

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

    addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, scrollDown, scrollUp, 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

    • GridTableViewer

      public GridTableViewer​(org.eclipse.swt.widgets.Composite parent)
      Creates a grid 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
    • GridTableViewer

      public GridTableViewer​(DataVisualizer dataVisualizer, org.eclipse.swt.widgets.Composite parent, int style)
      Creates a grid 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:
      dataVisualizer -
      parent - the parent control
      style - the SWT style bits used to create the grid.
    • GridTableViewer

      public GridTableViewer​(DataVisualizer dataVisualizer, org.eclipse.swt.widgets.Composite parent)
      Creates a grid 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:
      dataVisualizer -
      parent - the parent control
    • GridTableViewer

      public GridTableViewer​(org.eclipse.swt.widgets.Composite parent, int style)
      Creates a grid 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.
    • GridTableViewer

      public GridTableViewer​(Grid grid)
      Creates a grid 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.
    • internalCreateNewRowPart

      protected org.eclipse.jface.viewers.ViewerRow internalCreateNewRowPart​(int style, int rowIndex)
      Specified by:
      internalCreateNewRowPart in class org.eclipse.jface.viewers.AbstractTableViewer
    • createViewerEditor

      protected org.eclipse.jface.viewers.ColumnViewerEditor createViewerEditor()
      Specified by:
      createViewerEditor in class org.eclipse.jface.viewers.ColumnViewer
    • doClear

      protected void doClear​(int index)
      Specified by:
      doClear in class org.eclipse.jface.viewers.AbstractTableViewer
    • doClearAll

      protected void doClearAll()
      Specified by:
      doClearAll in class org.eclipse.jface.viewers.AbstractTableViewer
    • refresh

      public void refresh()
      Overrides:
      refresh in class org.eclipse.jface.viewers.StructuredViewer
      See Also:
      StructuredViewer.refresh()
    • doSetItemCount

      protected void doSetItemCount​(int count)
      Specified by:
      doSetItemCount in class org.eclipse.jface.viewers.AbstractTableViewer
    • doDeselectAll

      protected void doDeselectAll()
      Specified by:
      doDeselectAll in class org.eclipse.jface.viewers.AbstractTableViewer
    • doGetColumn

      protected org.eclipse.swt.widgets.Widget doGetColumn​(int index)
      Specified by:
      doGetColumn in class org.eclipse.jface.viewers.AbstractTableViewer
    • doGetColumnCount

      protected int doGetColumnCount()
      Specified by:
      doGetColumnCount in class org.eclipse.jface.viewers.ColumnViewer
    • doGetItem

      protected org.eclipse.swt.widgets.Item doGetItem​(int index)
      Specified by:
      doGetItem in class org.eclipse.jface.viewers.AbstractTableViewer
    • doGetItemCount

      protected int doGetItemCount()
      Specified by:
      doGetItemCount in class org.eclipse.jface.viewers.AbstractTableViewer
    • doGetItems

      protected org.eclipse.swt.widgets.Item[] doGetItems()
      Specified by:
      doGetItems in class org.eclipse.jface.viewers.AbstractTableViewer
    • doGetSelection

      protected org.eclipse.swt.widgets.Item[] doGetSelection()
      Specified by:
      doGetSelection in class org.eclipse.jface.viewers.AbstractTableViewer
    • doGetSelectionIndices

      protected int[] doGetSelectionIndices()
      Specified by:
      doGetSelectionIndices in class org.eclipse.jface.viewers.AbstractTableViewer
    • doIndexOf

      protected int doIndexOf​(org.eclipse.swt.widgets.Item item)
      Specified by:
      doIndexOf in class org.eclipse.jface.viewers.AbstractTableViewer
    • doRemove

      protected void doRemove​(int[] indices)
      Specified by:
      doRemove in class org.eclipse.jface.viewers.AbstractTableViewer
    • doRemove

      protected void doRemove​(int start, int end)
      Specified by:
      doRemove in class org.eclipse.jface.viewers.AbstractTableViewer
    • doRemoveAll

      protected void doRemoveAll()
      Specified by:
      doRemoveAll in class org.eclipse.jface.viewers.AbstractTableViewer
    • handleDispose

      protected void handleDispose​(org.eclipse.swt.events.DisposeEvent event)
      (non-Javadoc)
      Overrides:
      handleDispose in class org.eclipse.jface.viewers.AbstractTableViewer
      See Also:
      fix crossed reference for GC
    • doSetSelection

      protected void doSetSelection​(org.eclipse.swt.widgets.Item[] items)
      Specified by:
      doSetSelection in class org.eclipse.jface.viewers.AbstractTableViewer
    • doSetSelection

      protected void doSetSelection​(int[] indices)
      Specified by:
      doSetSelection in class org.eclipse.jface.viewers.AbstractTableViewer
    • doShowItem

      protected void doShowItem​(org.eclipse.swt.widgets.Item item)
      Specified by:
      doShowItem in class org.eclipse.jface.viewers.AbstractTableViewer
    • doShowSelection

      protected void doShowSelection()
      Specified by:
      doShowSelection in class org.eclipse.jface.viewers.AbstractTableViewer
    • getItemAt

      protected org.eclipse.swt.widgets.Item getItemAt​(org.eclipse.swt.graphics.Point point)
      Specified by:
      getItemAt in class org.eclipse.jface.viewers.ColumnViewer
    • 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)
      Specified by:
      getViewerRowFromItem in class org.eclipse.jface.viewers.ColumnViewer
    • doResetItem

      protected void doResetItem​(org.eclipse.swt.widgets.Item item)
      Specified by:
      doResetItem in class org.eclipse.jface.viewers.AbstractTableViewer
    • doSelect

      protected void doSelect​(int[] indices)
      Specified by:
      doSelect in class org.eclipse.jface.viewers.AbstractTableViewer
    • 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).

      Parameters:
      autoPreferredHeight -
    • 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.Widget widget, java.lang.Object element, boolean fullMap)
      Overrides:
      doUpdateItem in class org.eclipse.jface.viewers.AbstractTableViewer
    • setRowHeaderLabelProvider

      public void setRowHeaderLabelProvider​(org.eclipse.jface.viewers.CellLabelProvider rowHeaderLabelProvider)
      Label provider used by calculate the row header text
      Parameters:
      rowHeaderLabelProvider - the provider
    • refreshRowHeaders

      public void refreshRowHeaders​(java.lang.Object element)
      Refresh row headers only
      Parameters:
      element - the element to start or null if all rows should be refreshed
    • editElement

      public void editElement​(java.lang.Object element, int column)
      Overrides:
      editElement in class org.eclipse.jface.viewers.ColumnViewer
    • setSelectionToWidget

      protected void setSelectionToWidget​(org.eclipse.jface.viewers.ISelection selection, boolean reveal)
      Overrides:
      setSelectionToWidget in class org.eclipse.jface.viewers.StructuredViewer
    • getSelection

      public org.eclipse.jface.viewers.ISelection getSelection()
      Specified by:
      getSelection in interface org.eclipse.jface.viewers.ISelectionProvider
      Overrides:
      getSelection in class org.eclipse.jface.viewers.StructuredViewer