Class GalleryTreeViewer
- 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 GalleryTreeViewer
extends org.eclipse.jface.viewers.AbstractTreeViewer
Gallery control.
This class is not intended to be subclassed outside the viewer framework. It is designed to be instantiated with a pre-existing Nebula Gallery control and configured with a domain-specific content provider, label provider, element filter (optional), and element sorter (optional).
SWT.VIRTUAL is currently unsupported
THIS VIEWER SHOULD BE CONSIDERED AS ALPHA
- Since:
- Dec 5, 2007
-
Nested Class Summary
-
Field Summary
Fields Modifier and Type Field Description protected Gallerygalleryprotected booleanpreservingSelectiontrue if we are inside a preservingSelection() call -
Constructor Summary
Constructors Constructor Description GalleryTreeViewer(Gallery gallery)Creates a gallery viewer on the given gallery control.GalleryTreeViewer(org.eclipse.swt.widgets.Composite parent)Creates a gallery viewer on a newly-created gallery control under the given parent.GalleryTreeViewer(org.eclipse.swt.widgets.Composite parent, int style)Creates a gallery viewer on a newly-created gallery control under the given parent. -
Method Summary
Modifier and Type Method Description protected voidaddTreeListener(org.eclipse.swt.widgets.Control control, org.eclipse.swt.events.TreeListener listener)protected org.eclipse.jface.viewers.ColumnViewerEditorcreateViewerEditor()voideditElement(java.lang.Object element, int column)protected org.eclipse.swt.widgets.ItemgetChild(org.eclipse.swt.widgets.Widget widget, int index)protected org.eclipse.swt.widgets.Item[]getChildren(org.eclipse.swt.widgets.Widget widget)protected org.eclipse.swt.widgets.WidgetgetColumnViewerOwner(int columnIndex)org.eclipse.swt.widgets.ControlgetControl()protected booleangetExpanded(org.eclipse.swt.widgets.Item item)GallerygetGallery()Returns this gallery viewer's gallery.protected org.eclipse.swt.widgets.ItemgetItemAt(org.eclipse.swt.graphics.Point point)protected intgetItemCount(org.eclipse.swt.widgets.Control control)protected intgetItemCount(org.eclipse.swt.widgets.Item item)protected org.eclipse.swt.widgets.Item[]getItems(org.eclipse.swt.widgets.Item item)protected org.eclipse.swt.widgets.ItemgetParentItem(org.eclipse.swt.widgets.Item item)protected org.eclipse.swt.widgets.Item[]getSelection(org.eclipse.swt.widgets.Control control)protected org.eclipse.jface.viewers.ViewerRowgetViewerRowFromItem(org.eclipse.swt.widgets.Widget item)protected org.eclipse.swt.widgets.ItemnewItem(org.eclipse.swt.widgets.Widget parent, int style, int index)voidremove(java.lang.Object parentOrTreePath, int index)Removes the element at the specified index of the parent.protected voidremoveAll(org.eclipse.swt.widgets.Control control)voidsetAutoExpandLevel(int level)voidsetChildCount(java.lang.Object elementOrTreePath, int count)For a GalleryViewer with a gallery with the VIRTUAL style bit set, set the number of children of the given element or tree path.voidsetContentProvider(org.eclipse.jface.viewers.IContentProvider provider)Gallery expects contents to have exactly 2 levels of hierarchy, with groups as the root elements and image thumbnails as direct children of the groups.protected voidsetExpanded(org.eclipse.swt.widgets.Item item, boolean expand)protected voidsetSelection(java.util.List items)protected voidshowItem(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, doGetColumnCount, doUpdateItem, doUpdateItem, expandAll, expandAll, expandToLevel, expandToLevel, expandToLevel, expandToLevel, fireTreeCollapsed, fireTreeExpanded, getAutoExpandLevel, 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, setExpandedElements, setExpandedState, setExpandedTreePaths, setExpandPreCheckFilters, setSelectionToWidget, setSelectionToWidget, updateChildren, updatePlusMethods inherited from class org.eclipse.jface.viewers.ColumnViewer
applyEditorValue, cancelEditing, checkBusy, getCell, getCellEditors, getCellModifier, getColumnProperties, getColumnViewerEditor, getItem, getLabelProvider, getViewerRow, handleDispose, hookEditingSupport, isBusy, isCellEditorActive, refresh, refresh, setBusy, setCellEditors, setCellModifier, setColumnProperties, setColumnViewerEditor, setLabelProvider, triggerEditorActivationEvent, updateMethods 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, usingElementMapMethods inherited from class org.eclipse.jface.viewers.ContentViewer
getContentProvider, getInput, getLabelProviderMethods inherited from class org.eclipse.jface.viewers.Viewer
addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, setData, setSelection
-
Field Details
-
gallery
-
preservingSelection
protected boolean preservingSelectiontrue if we are inside a preservingSelection() call
-
-
Constructor Details
-
GalleryTreeViewer
public GalleryTreeViewer(org.eclipse.swt.widgets.Composite parent)Creates a gallery viewer on a newly-created gallery control under the given parent. The gallery control is created using the SWT style bitsMULTI, 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
-
GalleryTreeViewer
public GalleryTreeViewer(org.eclipse.swt.widgets.Composite parent, int style)Creates a gallery viewer on a newly-created gallery control under the given parent. The gallery 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 gallery.
-
GalleryTreeViewer
Creates a gallery viewer on the given gallery control. The viewer has no input, no content provider, a default label provider, no sorter, and no filters.- Parameters:
gallery- the gallery control
-
-
Method Details
-
addTreeListener
protected void addTreeListener(org.eclipse.swt.widgets.Control control, org.eclipse.swt.events.TreeListener listener)- Specified by:
addTreeListenerin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.addTreeListener(org.eclipse .swt.widgets.Control, org.eclipse.swt.events.TreeListener)
-
getChild
protected org.eclipse.swt.widgets.Item getChild(org.eclipse.swt.widgets.Widget widget, int index)- Overrides:
getChildin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.getChild(org.eclipse.swt .widgets.Widget, int)
-
getChildren
protected org.eclipse.swt.widgets.Item[] getChildren(org.eclipse.swt.widgets.Widget widget)- Specified by:
getChildrenin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.getChildren(org.eclipse. swt.widgets.Widget)
-
getColumnViewerOwner
protected org.eclipse.swt.widgets.Widget getColumnViewerOwner(int columnIndex)- Overrides:
getColumnViewerOwnerin classorg.eclipse.jface.viewers.AbstractTreeViewer
-
getExpanded
protected boolean getExpanded(org.eclipse.swt.widgets.Item item)- Specified by:
getExpandedin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.getExpanded(org.eclipse. swt.widgets.Item)
-
getItemCount
protected int getItemCount(org.eclipse.swt.widgets.Control control)- Specified by:
getItemCountin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.getItemCount(org.eclipse .swt.widgets.Control)
-
getItemCount
protected int getItemCount(org.eclipse.swt.widgets.Item item)- Specified by:
getItemCountin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.getItemCount(org.eclipse .swt.widgets.Item)
-
getItems
protected org.eclipse.swt.widgets.Item[] getItems(org.eclipse.swt.widgets.Item item)- Specified by:
getItemsin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.getItems(org.eclipse.swt .widgets.Item)
-
getParentItem
protected org.eclipse.swt.widgets.Item getParentItem(org.eclipse.swt.widgets.Item item)- Specified by:
getParentItemin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.getParentItem(org.eclipse .swt.widgets.Item)
-
getSelection
protected org.eclipse.swt.widgets.Item[] getSelection(org.eclipse.swt.widgets.Control control)- Specified by:
getSelectionin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.getSelection(org.eclipse .swt.widgets.Control)
-
newItem
protected org.eclipse.swt.widgets.Item newItem(org.eclipse.swt.widgets.Widget parent, int style, int index)- Specified by:
newItemin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.newItem(org.eclipse.swt. widgets.Widget, int, int)
-
removeAll
protected void removeAll(org.eclipse.swt.widgets.Control control)- Specified by:
removeAllin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.removeAll(org.eclipse.swt .widgets.Control)
-
setAutoExpandLevel
public void setAutoExpandLevel(int level)- Overrides:
setAutoExpandLevelin classorg.eclipse.jface.viewers.AbstractTreeViewer
-
setContentProvider
public void setContentProvider(org.eclipse.jface.viewers.IContentProvider provider)Gallery expects contents to have exactly 2 levels of hierarchy, with groups as the root elements and image thumbnails as direct children of the groups. This method accepts ITreeContentProvider and ITreePathContentProvider as-is, and relies on the providers to return contents with the correct structure.
This method also accepts IStructuredContentProvider and wraps it in a FlatTreeContentProvider with an empty string as the root node. If you need a different root node, construct your own FlatTreeContentProvider and pass it here. If you want the Gallery to suppress the collapsable group header, call
getGallery().setGroupRenderer(new NoGroupRenderer());- Overrides:
setContentProviderin classorg.eclipse.jface.viewers.AbstractTreeViewer
-
setExpanded
protected void setExpanded(org.eclipse.swt.widgets.Item item, boolean expand)- Specified by:
setExpandedin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.setExpanded(org.eclipse. swt.widgets.Item, boolean)
-
setSelection
protected void setSelection(java.util.List items)- Specified by:
setSelectionin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.setSelection(java.util.List)
-
showItem
protected void showItem(org.eclipse.swt.widgets.Item item)- Specified by:
showItemin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
AbstractTreeViewer.showItem(org.eclipse.swt .widgets.Item)
-
getControl
public org.eclipse.swt.widgets.Control getControl()- Specified by:
getControlin classorg.eclipse.jface.viewers.Viewer- See Also:
Viewer.getControl()
-
getGallery
Returns this gallery viewer's gallery.- Returns:
- the gallery control
-
getItemAt
protected org.eclipse.swt.widgets.Item getItemAt(org.eclipse.swt.graphics.Point point)- Overrides:
getItemAtin classorg.eclipse.jface.viewers.AbstractTreeViewer
-
createViewerEditor
protected org.eclipse.jface.viewers.ColumnViewerEditor createViewerEditor()- Overrides:
createViewerEditorin classorg.eclipse.jface.viewers.AbstractTreeViewer
-
setChildCount
public void setChildCount(java.lang.Object elementOrTreePath, int count)For a GalleryViewer with a gallery with the VIRTUAL style bit set, set the number of children of the given element or tree path. To set the number of children of the invisible root of the gallery, you can pass the input object or an empty tree path.- Parameters:
elementOrTreePath- the element, or tree pathcount-- Since:
- 3.2
-
getViewerRowFromItem
protected org.eclipse.jface.viewers.ViewerRow getViewerRowFromItem(org.eclipse.swt.widgets.Widget item)- Overrides:
getViewerRowFromItemin classorg.eclipse.jface.viewers.AbstractTreeViewer- See Also:
org.eclipse.jface.viewers.ColumnViewer#getRowPartFromItem(org.eclipse .swt.widgets.Widget)
-
remove
public void remove(java.lang.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 elementindex- child index- Since:
- 3.3
-
editElement
public void editElement(java.lang.Object element, int column)- Overrides:
editElementin classorg.eclipse.jface.viewers.ColumnViewer
-