Class AbstractVirtualTreeProvider

java.lang.Object
org.eclipse.ease.ui.tools.AbstractVirtualTreeProvider
All Implemented Interfaces:
org.eclipse.jface.viewers.IContentProvider, org.eclipse.jface.viewers.IStructuredContentProvider, org.eclipse.jface.viewers.ITreeContentProvider
Direct Known Subclasses:
ModulesContentProvider, ModulesContentProvider, ScriptContentProvider

public abstract class AbstractVirtualTreeProvider
extends Object
implements org.eclipse.jface.viewers.ITreeContentProvider
A virtual tree content provider. Allows to build a tree structure by registering tree elements using IPaths. When the input changes populateElements(Object) is called on the derived class to create the tree structure.
  • Field Details

    • ROOT

      public static final org.eclipse.core.runtime.IPath ROOT
      Static root node.
  • Constructor Details

    • AbstractVirtualTreeProvider

      public AbstractVirtualTreeProvider()
  • Method Details

    • dispose

      public void dispose()
      Specified by:
      dispose in interface org.eclipse.jface.viewers.IContentProvider
    • inputChanged

      public void inputChanged​(org.eclipse.jface.viewers.Viewer viewer, Object oldInput, Object newInput)
      Specified by:
      inputChanged in interface org.eclipse.jface.viewers.IContentProvider
    • getElements

      public Object[] getElements​(Object inputElement)
      Specified by:
      getElements in interface org.eclipse.jface.viewers.IStructuredContentProvider
      Specified by:
      getElements in interface org.eclipse.jface.viewers.ITreeContentProvider
    • getChildren

      public Object[] getChildren​(Object parentElement)
      Specified by:
      getChildren in interface org.eclipse.jface.viewers.ITreeContentProvider
    • getParent

      public Object getParent​(Object element)
      Specified by:
      getParent in interface org.eclipse.jface.viewers.ITreeContentProvider
    • hasChildren

      public boolean hasChildren​(Object element)
      Specified by:
      hasChildren in interface org.eclipse.jface.viewers.ITreeContentProvider
    • registerElement

      public void registerElement​(org.eclipse.core.runtime.IPath path, Object element)
      Register an element contained within the tree. To register an element 'myFoo' under the entry '/my/element/is/myFoo' use '/my/element/is' as path. The LabelProvider needs to take care of the rendering of the element itself.
      Parameters:
      path - full path to be used to display this element (excluding element entry)
      element - element to be stored within path
    • registerPath

      public void registerPath​(org.eclipse.core.runtime.IPath path)
      Register an element path to be visible on the tree.
      Parameters:
      path - path to be visible
    • registerNodeReplacement

      public void registerNodeReplacement​(org.eclipse.core.runtime.IPath path, Object element)
      Register an element that should be used instead of a dedicated path node. Allows to display a dedicated object instead of a path. To replace the root element use ROOT as path. Do not replace multiple nodes with the same object (regarding its equals() method) as the tree cannot handle such structures.
      Parameters:
      path - path to be replaced
      element - replacement
    • setShowRoot

      public void setShowRoot​(boolean showRoot)
      Set to show the single root node. The root node is hidden by default.
      Parameters:
      showRoot - true to display the root node