Class CTreeComboViewer

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.widgets.ctreecombo.viewer.CTreeComboViewer
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 CTreeComboViewer
extends org.eclipse.jface.viewers.AbstractTreeViewer
A concrete viewer based either on an SWT CTreeCombo control.
  • 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
    CTreeComboViewer​(CTreeCombo tree)
    Creates a CTreeComboViewer viewer on the given tree control.
    CTreeComboViewer​(org.eclipse.swt.widgets.Composite parent)
    Creates a tree viewer on a newly-created tree control under the given parent.
    CTreeComboViewer​(org.eclipse.swt.widgets.Composite parent, int style)
    Creates a CTreeComboViewer viewer on a newly-created tree control under the given parent.
  • Method Summary

    Modifier and Type Method Description
    protected void addTreeListener​(org.eclipse.swt.widgets.Control c, org.eclipse.swt.events.TreeListener listener)  
    protected void assertContentProviderType​(org.eclipse.jface.viewers.IContentProvider provider)  
    protected void createChildren​(org.eclipse.swt.widgets.Widget widget)  
    protected org.eclipse.jface.viewers.ColumnViewerEditor createViewerEditor()  
    protected void disassociate​(org.eclipse.swt.widgets.Item item)  
    protected int doGetColumnCount()  
    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 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)  
    protected org.eclipse.swt.widgets.Item getItemAt​(org.eclipse.swt.graphics.Point p)  
    protected int getItemCount​(org.eclipse.swt.widgets.Control widget)  
    protected int getItemCount​(org.eclipse.swt.widgets.Item item)  
    protected org.eclipse.swt.widgets.Item[] getItems​(org.eclipse.swt.widgets.Item item)  
    org.eclipse.jface.viewers.IBaseLabelProvider getLabelProvider()  
    protected java.lang.Object getParentElement​(java.lang.Object element)  
    protected org.eclipse.swt.widgets.Item getParentItem​(org.eclipse.swt.widgets.Item item)  
    protected java.lang.Object[] getRawChildren​(java.lang.Object parent)  
    protected org.eclipse.swt.widgets.Item[] getSelection​(org.eclipse.swt.widgets.Control widget)  
    CTreeCombo getTree()
    Returns this CTreeCombo viewer's tree control.
    protected org.eclipse.jface.viewers.ViewerRow getViewerRowFromItem​(org.eclipse.swt.widgets.Widget item)  
    protected void handleTreeExpand​(org.eclipse.swt.events.TreeEvent event)  
    protected void hookControl​(org.eclipse.swt.widgets.Control control)  
    protected void internalAdd​(org.eclipse.swt.widgets.Widget widget, java.lang.Object parentElement, java.lang.Object[] childElements)  
    protected void internalInitializeTree​(org.eclipse.swt.widgets.Control widget)  
    boolean isExpandable​(java.lang.Object element)  
    protected void mapElement​(java.lang.Object element, org.eclipse.swt.widgets.Widget item)  
    protected org.eclipse.swt.widgets.Item newItem​(org.eclipse.swt.widgets.Widget parent, int flags, int ix)  
    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 widget)  
    void replace​(java.lang.Object parentElementOrTreePath, int index, java.lang.Object element)
    For a CTreeComboViewer with a ctreecombo with the VIRTUAL style bit set, replace the given parent's child at index with the given element.
    void setChildCount​(java.lang.Object elementOrTreePath, int count)
    For a CTreeComboViewer with a ctreecombo 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)  
    protected void setExpanded​(org.eclipse.swt.widgets.Item node, boolean expand)  
    void setHasChildren​(java.lang.Object elementOrTreePath, boolean hasChildren)
    For a TreeViewer with a tree with the VIRTUAL style bit set, inform the viewer about whether the given element or tree path has children.
    protected void setSelection​(java.util.List<org.eclipse.swt.widgets.Item> items)  
    void setSelection​(org.eclipse.jface.viewers.ISelection selection, boolean reveal)
    Sets a new selection for this viewer and optionally makes it visible.
    protected void showItem​(org.eclipse.swt.widgets.Item item)  
    protected void updatePlus​(org.eclipse.swt.widgets.Item item, java.lang.Object element)  

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

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

    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, needsRefilter, preservingSelection, refresh, refresh, refreshItem, removeDoubleClickListener, removeFilter, removeOpenListener, removePostSelectionChangedListener, resetFilters, setComparator, setComparer, setFilters, setInput, setSorter, setUseHashlookup, testFindItem, testFindItems, unmapAllElements, unmapElement, unmapElement, update, updateItem, updateSelection, usingElementMap

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

    getContentProvider, getInput

    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

    • CTreeComboViewer

      public CTreeComboViewer​(org.eclipse.swt.widgets.Composite parent)
      Creates a tree viewer on a newly-created tree control under the given parent. The tree 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
    • CTreeComboViewer

      public CTreeComboViewer​(org.eclipse.swt.widgets.Composite parent, int style)
      Creates a CTreeComboViewer viewer on a newly-created tree control under the given parent. The CTreeCombo 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 tree.
    • CTreeComboViewer

      public CTreeComboViewer​(CTreeCombo tree)
      Creates a CTreeComboViewer viewer on the given tree control. The viewer has no input, no content provider, a default label provider, no sorter, and no filters.
      Parameters:
      tree - the tree control
  • Method Details

    • addTreeListener

      protected void addTreeListener​(org.eclipse.swt.widgets.Control c, 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)
    • getColumnViewerOwner

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

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

      public org.eclipse.swt.widgets.Control getControl()
      Specified by:
      getControl in class org.eclipse.jface.viewers.Viewer
      See Also:
      Viewer.getControl()
    • 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)
    • getItemAt

      protected org.eclipse.swt.widgets.Item getItemAt​(org.eclipse.swt.graphics.Point p)
      Overrides:
      getItemAt in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.getItemAt(org.eclipse.swt.graphics.Point)
    • getItemCount

      protected int getItemCount​(org.eclipse.swt.widgets.Control widget)
      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)
    • getLabelProvider

      public org.eclipse.jface.viewers.IBaseLabelProvider getLabelProvider()
      Overrides:
      getLabelProvider in class org.eclipse.jface.viewers.ContentViewer
      See Also:
      ContentViewer.getLabelProvider()
    • 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 widget)
      Specified by:
      getSelection in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.getSelection(org.eclipse.swt.widgets.Control)
    • getTree

      public CTreeCombo getTree()
      Returns this CTreeCombo viewer's tree control.
      Returns:
      the ctreecombo control
    • hookControl

      protected void hookControl​(org.eclipse.swt.widgets.Control control)
      Overrides:
      hookControl in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.hookControl(org.eclipse.swt.widgets.Control)
    • createViewerEditor

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

      protected org.eclipse.swt.widgets.Item newItem​(org.eclipse.swt.widgets.Widget parent, int flags, int ix)
      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 widget)
      Specified by:
      removeAll in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.removeAll(org.eclipse.swt.widgets.Control)
    • setExpanded

      protected void setExpanded​(org.eclipse.swt.widgets.Item node, 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<org.eclipse.swt.widgets.Item> 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)
    • 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)
    • assertContentProviderType

      protected void assertContentProviderType​(org.eclipse.jface.viewers.IContentProvider provider)
      Overrides:
      assertContentProviderType in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.assertContentProviderType(org.eclipse.jface.viewers.IContentProvider)
    • getRawChildren

      protected java.lang.Object[] getRawChildren​(java.lang.Object parent)
      Overrides:
      getRawChildren in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.getRawChildren(java.lang.Object)
    • setChildCount

      public void setChildCount​(java.lang.Object elementOrTreePath, int count)
      For a CTreeComboViewer with a ctreecombo 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 tree, you can pass the input object or an empty tree path.
      Parameters:
      elementOrTreePath - the element, or tree path
      count -
    • replace

      public void replace​(java.lang.Object parentElementOrTreePath, int index, java.lang.Object element)
      For a CTreeComboViewer with a ctreecombo with the VIRTUAL style bit set, replace the given parent's child at index with the given element. If the given parent is this viewer's input or an empty tree path, this will replace the root element at the given index.

      This method should be called by implementers of ILazyTreeContentProvider to populate this viewer.

      Parameters:
      parentElementOrTreePath - the parent of the element that should be updated, or the tree path to that parent
      index - the index in the parent's children
      element - the new element
      See Also:
      setChildCount(Object, int), ILazyTreeContentProvider, ILazyTreePathContentProvider
    • isExpandable

      public boolean isExpandable​(java.lang.Object element)
      Overrides:
      isExpandable in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.isExpandable(java.lang.Object)
    • getParentElement

      protected java.lang.Object getParentElement​(java.lang.Object element)
      Overrides:
      getParentElement in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.getParentElement(java.lang.Object)
    • createChildren

      protected void createChildren​(org.eclipse.swt.widgets.Widget widget)
      Overrides:
      createChildren in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.createChildren(org.eclipse.swt.widgets.Widget)
    • internalAdd

      protected void internalAdd​(org.eclipse.swt.widgets.Widget widget, java.lang.Object parentElement, java.lang.Object[] childElements)
      Overrides:
      internalAdd in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.internalAdd(org.eclipse.swt.widgets.Widget, java.lang.Object, java.lang.Object[])
    • mapElement

      protected void mapElement​(java.lang.Object element, org.eclipse.swt.widgets.Widget item)
      Overrides:
      mapElement in class org.eclipse.jface.viewers.StructuredViewer
      See Also:
      StructuredViewer.mapElement(java.lang.Object, org.eclipse.swt.widgets.Widget)
    • 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:
      AbstractTreeViewer.getViewerRowFromItem(org.eclipse.swt.widgets.Widget)
    • internalInitializeTree

      protected void internalInitializeTree​(org.eclipse.swt.widgets.Control widget)
      Overrides:
      internalInitializeTree in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.internalInitializeTree(org.eclipse.swt.widgets.Control)
    • updatePlus

      protected void updatePlus​(org.eclipse.swt.widgets.Item item, java.lang.Object element)
      Overrides:
      updatePlus in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.updatePlus(org.eclipse.swt.widgets.Item, java.lang.Object)
    • 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
    • handleTreeExpand

      protected void handleTreeExpand​(org.eclipse.swt.events.TreeEvent event)
      Overrides:
      handleTreeExpand in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.handleTreeExpand(org.eclipse.swt.events.TreeEvent)
    • setContentProvider

      public void setContentProvider​(org.eclipse.jface.viewers.IContentProvider provider)
      Overrides:
      setContentProvider in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.setContentProvider(org.eclipse.jface.viewers.IContentProvider)
    • setHasChildren

      public void setHasChildren​(java.lang.Object elementOrTreePath, boolean hasChildren)
      For a TreeViewer with a tree with the VIRTUAL style bit set, inform the viewer about whether the given element or tree path has children. Avoid calling this method if the number of children has already been set.
      Parameters:
      elementOrTreePath - the element, or tree path
      hasChildren -
    • disassociate

      protected void disassociate​(org.eclipse.swt.widgets.Item item)
      Overrides:
      disassociate in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.disassociate(org.eclipse.swt.widgets.Item)
    • doGetColumnCount

      protected int doGetColumnCount()
      Overrides:
      doGetColumnCount in class org.eclipse.jface.viewers.AbstractTreeViewer
      See Also:
      AbstractTreeViewer.doGetColumnCount()
    • setSelection

      public void setSelection​(org.eclipse.jface.viewers.ISelection selection, boolean reveal)
      Sets a new selection for this viewer and optionally makes it visible.

      Currently the reveal parameter is not honored because Tree does not provide an API to only select an item without scrolling it into view

      Overrides:
      setSelection in class org.eclipse.jface.viewers.StructuredViewer
      Parameters:
      selection - the new selection
      reveal - true if the selection is to be made visible, and false otherwise
    • editElement

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