Class GalleryTreeViewer

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.galleryviewer.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
A concrete viewer based on a Nebula 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

    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 
    Modifier and Type Field Description
    protected Gallery gallery  
    protected boolean preservingSelection
    true if we are inside a preservingSelection() call

    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
    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 void addTreeListener​(org.eclipse.swt.widgets.Control control, org.eclipse.swt.events.TreeListener listener)  
    protected org.eclipse.jface.viewers.ColumnViewerEditor createViewerEditor()  
    void editElement​(java.lang.Object element, int column)  
    protected org.eclipse.swt.widgets.Item getChild​(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.Widget getColumnViewerOwner​(int columnIndex)  
    org.eclipse.swt.widgets.Control getControl()  
    protected boolean getExpanded​(org.eclipse.swt.widgets.Item item)  
    Gallery getGallery()
    Returns this gallery viewer's gallery.
    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)  
    void remove​(java.lang.Object parentOrTreePath, int index)
    Removes the element at the specified index of the parent.
    protected void removeAll​(org.eclipse.swt.widgets.Control control)  
    void setAutoExpandLevel​(int level)  
    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.
    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.
    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, 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, updatePlus

    Methods 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, 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
  • Field Details

  • 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 bits MULTI, 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
    • 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 control
      style - the SWT style bits used to create the gallery.
    • GalleryTreeViewer

      public GalleryTreeViewer​(Gallery gallery)
      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:
      addTreeListener in class org.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:
      getChild in class org.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:
      getChildren in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.getChildren(org.eclipse. swt.widgets.Widget)
    • getColumnViewerOwner

      protected org.eclipse.swt.widgets.Widget getColumnViewerOwner​(int columnIndex)
      Overrides:
      getColumnViewerOwner 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
      See Also:
      AbstractTreeViewer.getExpanded(org.eclipse. swt.widgets.Item)
    • getItemCount

      protected int getItemCount​(org.eclipse.swt.widgets.Control control)
      Specified by:
      getItemCount in class org.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:
      getItemCount in class org.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:
      getItems in class org.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:
      getParentItem in class org.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:
      getSelection in class org.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:
      newItem in class org.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:
      removeAll in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.removeAll(org.eclipse.swt .widgets.Control)
    • setAutoExpandLevel

      public void setAutoExpandLevel​(int level)
      Overrides:
      setAutoExpandLevel in class org.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:
      setContentProvider 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
      See Also:
      AbstractTreeViewer.setExpanded(org.eclipse. swt.widgets.Item, boolean)
    • setSelection

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

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

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

      public Gallery 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:
      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
    • 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 path
      count -
      Since:
      3.2
    • getViewerRowFromItem

      protected org.eclipse.jface.viewers.ViewerRow getViewerRowFromItem​(org.eclipse.swt.widgets.Widget item)
      Overrides:
      getViewerRowFromItem in class org.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 element
      index - child index
      Since:
      3.3
    • editElement

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