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.AbstractTableViewerA 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
ITreeContentProviderinterface. Instead aGridTreeViewershould be used.
-
-
Field Summary
Fields Modifier and Type Field Description private booleanautoPreferredHeightIf true, this grid viewer will ensure that the grid's rows / GridItems are always sized to their preferred height.private GridViewerRowcachedRowprivate GridgridThis viewer's grid control.private org.eclipse.jface.viewers.CellLabelProviderrowHeaderLabelProvider
-
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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private CellSelectioncreateCellSelection()protected org.eclipse.jface.viewers.ColumnViewerEditorcreateViewerEditor()protected voiddoClear(int index)protected voiddoClearAll()protected voiddoDeselectAll()protected org.eclipse.swt.widgets.WidgetdoGetColumn(int index)protected intdoGetColumnCount()protected org.eclipse.swt.widgets.ItemdoGetItem(int index)protected intdoGetItemCount()protected org.eclipse.swt.widgets.Item[]doGetItems()protected org.eclipse.swt.widgets.Item[]doGetSelection()protected int[]doGetSelectionIndices()protected intdoIndexOf(org.eclipse.swt.widgets.Item item)protected voiddoRemove(int[] indices)protected voiddoRemove(int start, int end)protected voiddoRemoveAll()protected voiddoResetItem(org.eclipse.swt.widgets.Item item)protected voiddoSelect(int[] indices)protected voiddoSetItemCount(int count)protected voiddoSetSelection(int[] indices)protected voiddoSetSelection(org.eclipse.swt.widgets.Item[] items)protected voiddoShowItem(org.eclipse.swt.widgets.Item item)protected voiddoShowSelection()protected voiddoUpdateItem(org.eclipse.swt.widgets.Widget widget, java.lang.Object element, boolean fullMap)voideditElement(java.lang.Object element, int column)booleangetAutoPreferredHeight()org.eclipse.swt.widgets.ControlgetControl()GridgetGrid()Returns the underlying Grid Control.protected org.eclipse.swt.widgets.ItemgetItemAt(org.eclipse.swt.graphics.Point point)org.eclipse.jface.viewers.ISelectiongetSelection()protected org.eclipse.jface.viewers.ViewerRowgetViewerRowFromItem(org.eclipse.swt.widgets.Widget item)protected voidhandleDispose(org.eclipse.swt.events.DisposeEvent event)(non-Javadoc)protected org.eclipse.jface.viewers.ViewerRowinternalCreateNewRowPart(int style, int rowIndex)voidrefresh()voidrefreshRowHeaders(java.lang.Object element)Refresh row headers onlyvoidsetAutoPreferredHeight(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.voidsetRowHeaderLabelProvider(org.eclipse.jface.viewers.CellLabelProvider rowHeaderLabelProvider)Label provider used by calculate the row header textprotected voidsetSelectionToWidget(org.eclipse.jface.viewers.ISelection selection, boolean reveal)private voidupdateRowHeader(org.eclipse.swt.widgets.Widget widget)-
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
-
-
-
-
Field Detail
-
grid
private final Grid grid
This viewer's grid control.
-
cachedRow
private GridViewerRow cachedRow
-
rowHeaderLabelProvider
private org.eclipse.jface.viewers.CellLabelProvider rowHeaderLabelProvider
-
autoPreferredHeight
private boolean autoPreferredHeight
If true, this grid viewer will ensure that the grid's rows / GridItems are always sized to their preferred height.
-
-
Constructor Detail
-
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 bitsMULTI, H_SCROLL, V_SCROLL,andBORDER. 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 controlstyle- 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 bitsMULTI, H_SCROLL, V_SCROLL,andBORDER. 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 controlstyle- 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 Detail
-
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:
internalCreateNewRowPartin classorg.eclipse.jface.viewers.AbstractTableViewer
-
createViewerEditor
protected org.eclipse.jface.viewers.ColumnViewerEditor createViewerEditor()
- Specified by:
createViewerEditorin classorg.eclipse.jface.viewers.ColumnViewer
-
doClear
protected void doClear(int index)
- Specified by:
doClearin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doClearAll
protected void doClearAll()
- Specified by:
doClearAllin classorg.eclipse.jface.viewers.AbstractTableViewer
-
refresh
public void refresh()
- Overrides:
refreshin classorg.eclipse.jface.viewers.StructuredViewer- See Also:
StructuredViewer.refresh()
-
doSetItemCount
protected void doSetItemCount(int count)
- Specified by:
doSetItemCountin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doDeselectAll
protected void doDeselectAll()
- Specified by:
doDeselectAllin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doGetColumn
protected org.eclipse.swt.widgets.Widget doGetColumn(int index)
- Specified by:
doGetColumnin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doGetColumnCount
protected int doGetColumnCount()
- Specified by:
doGetColumnCountin classorg.eclipse.jface.viewers.ColumnViewer
-
doGetItem
protected org.eclipse.swt.widgets.Item doGetItem(int index)
- Specified by:
doGetItemin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doGetItemCount
protected int doGetItemCount()
- Specified by:
doGetItemCountin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doGetItems
protected org.eclipse.swt.widgets.Item[] doGetItems()
- Specified by:
doGetItemsin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doGetSelection
protected org.eclipse.swt.widgets.Item[] doGetSelection()
- Specified by:
doGetSelectionin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doGetSelectionIndices
protected int[] doGetSelectionIndices()
- Specified by:
doGetSelectionIndicesin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doIndexOf
protected int doIndexOf(org.eclipse.swt.widgets.Item item)
- Specified by:
doIndexOfin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doRemove
protected void doRemove(int[] indices)
- Specified by:
doRemovein classorg.eclipse.jface.viewers.AbstractTableViewer
-
doRemove
protected void doRemove(int start, int end)- Specified by:
doRemovein classorg.eclipse.jface.viewers.AbstractTableViewer
-
doRemoveAll
protected void doRemoveAll()
- Specified by:
doRemoveAllin classorg.eclipse.jface.viewers.AbstractTableViewer
-
handleDispose
protected void handleDispose(org.eclipse.swt.events.DisposeEvent event)
(non-Javadoc)- Overrides:
handleDisposein classorg.eclipse.jface.viewers.AbstractTableViewer- See Also:
fix crossed reference for GC
-
doSetSelection
protected void doSetSelection(org.eclipse.swt.widgets.Item[] items)
- Specified by:
doSetSelectionin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doSetSelection
protected void doSetSelection(int[] indices)
- Specified by:
doSetSelectionin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doShowItem
protected void doShowItem(org.eclipse.swt.widgets.Item item)
- Specified by:
doShowItemin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doShowSelection
protected void doShowSelection()
- Specified by:
doShowSelectionin classorg.eclipse.jface.viewers.AbstractTableViewer
-
getItemAt
protected org.eclipse.swt.widgets.Item getItemAt(org.eclipse.swt.graphics.Point point)
- Specified by:
getItemAtin classorg.eclipse.jface.viewers.ColumnViewer
-
getControl
public org.eclipse.swt.widgets.Control getControl()
- Specified by:
getControlin classorg.eclipse.jface.viewers.Viewer
-
getViewerRowFromItem
protected org.eclipse.jface.viewers.ViewerRow getViewerRowFromItem(org.eclipse.swt.widgets.Widget item)
- Specified by:
getViewerRowFromItemin classorg.eclipse.jface.viewers.ColumnViewer
-
doResetItem
protected void doResetItem(org.eclipse.swt.widgets.Item item)
- Specified by:
doResetItemin classorg.eclipse.jface.viewers.AbstractTableViewer
-
doSelect
protected void doSelect(int[] indices)
- Specified by:
doSelectin classorg.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
GridViewerColumnto 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:
doUpdateItemin classorg.eclipse.jface.viewers.AbstractTableViewer
-
updateRowHeader
private void updateRowHeader(org.eclipse.swt.widgets.Widget widget)
-
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 ornullif all rows should be refreshed
-
editElement
public void editElement(java.lang.Object element, int column)- Overrides:
editElementin classorg.eclipse.jface.viewers.ColumnViewer
-
setSelectionToWidget
protected void setSelectionToWidget(org.eclipse.jface.viewers.ISelection selection, boolean reveal)- Overrides:
setSelectionToWidgetin classorg.eclipse.jface.viewers.StructuredViewer
-
getSelection
public org.eclipse.jface.viewers.ISelection getSelection()
- Specified by:
getSelectionin interfaceorg.eclipse.jface.viewers.ISelectionProvider- Overrides:
getSelectionin classorg.eclipse.jface.viewers.StructuredViewer
-
createCellSelection
private CellSelection createCellSelection()
-
-