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.jface.viewers.TreeViewer
com.amalgamasimulation.desktop.ui.tables.Tree<T>
All Implemented Interfaces:
com.amalgamasimulation.viewupdater.SimulationView, org.eclipse.jface.viewers.IInputProvider, org.eclipse.jface.viewers.IInputSelectionProvider, org.eclipse.jface.viewers.IPostSelectionProvider, org.eclipse.jface.viewers.ISelectionProvider
Direct Known Subclasses:
EditableTree, EMFTree, TreeView

public class Tree<T> extends org.eclipse.jface.viewers.TreeViewer implements com.amalgamasimulation.viewupdater.SimulationView
  • 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 Map<Object,List<Object>>
     
    protected ColumnViewAdapter<T>
     
    protected boolean
     
    protected Map<Object,Object>
     

    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
    Modifier
    Constructor
    Description
    protected
    Tree(org.eclipse.swt.widgets.Composite parent, Function<T,List<T>> getChildrenProvider, List<T> data, boolean checkboxes, boolean syncUpdate, boolean greedyChildrenCalculation, boolean showRowHeader, int style)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addCheckedItemsChangedHandler(Consumer<List<T>> checkedItemsChangedHandler)
     
    void
    Registers a handler for context menu events.
    void
    addDoubleClickHandler(BiConsumer<T,org.eclipse.jface.viewers.DoubleClickEvent> doubleClickHandler)
     
    void
    addSelectedItemChangedHandler(Consumer<T> selectedItemChangedHandler)
     
    protected boolean
     
    void
    checkAllItems(boolean callHandlers)
     
    void
    checkItems(List<T> items)
     
    <E> IColumn<T,E,?>
    column(Function<T,E> extractor)
     
    protected void
    createCheckBoxColumn(String name, int width, ColumnViewAdapter<T> columnViewAdapter)
     
    protected void
    createRowHeaderColumn(org.eclipse.swt.graphics.Image imageHeader, int width, ColumnViewAdapter<T> columnViewAdapter)
     
    protected void
    fireSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
     
     
    int
     
    protected Object[]
     
    getItem(int rowIndex)
     
    getTypeCheckBox(boolean checkbox)
     
    List<? extends IColumn<T,?,?>>
     
    protected void
    handleTreeCollapse(org.eclipse.swt.events.TreeEvent event)
     
    protected void
    handleTreeExpand(org.eclipse.swt.events.TreeEvent event)
     
    protected void
    inputChanged(Object input, Object oldInput)
     
    protected void
    internalRefresh(Object element, boolean updateLabels)
     
    boolean
     
    boolean
     
    boolean
     
    void
    removeCheckedItemsChangedHandler(Consumer<List<T>> checkedItemsChangedHandler)
     
    void
    removeColumn(int index)
     
    void
    Unregisters a previously registered context menu handler.
    void
    removeDoubleClickHandler(BiConsumer<T,org.eclipse.jface.viewers.DoubleClickEvent> doubleClickHandler)
     
    void
    removeSelectedItemChangedHandler(Consumer<T> selectedItemChangedHandler)
     
    protected boolean
    select(org.eclipse.jface.viewers.ViewerFilter filter, Predicate<T> predicate, T parentElement)
     
    void
    setData(List<T> data)
     
    void
    setMaxCheckedItemsCount(int maxCheckedItemsCount)
     
    void
    setQuickFilterAllowed(boolean isQuickFilterAllowed)
     
    void
    setSelectionChangedConsumer(Consumer<org.eclipse.jface.viewers.SelectionChangedEvent> selectionChangedConsumer)
     
    void
    setSortingAllowed(boolean isSortingAllowed)
     
    void
    showDefaultContextMenu(boolean show)
     
    static org.eclipse.swt.graphics.Color
    swtColor(Color color)
     
    void
    uncheckAllItems(boolean callHandlers)
     
    void
     
    void
     

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

    addTreeListener, assertContentProviderType, createViewerEditor, disassociate, doGetColumnCount, editElement, getChild, getChildren, getColumnViewerOwner, getControl, getExpanded, getItemAt, getItemCount, getItemCount, getItems, getLabelProvider, getParentElement, getParentItem, getRawChildren, getSelection, getTree, getViewerRowFromItem, hookControl, internalAdd, internalInitializeTree, internalRefreshStruct, isExpandable, mapElement, newItem, remove, removeAll, replace, setChildCount, setContentProvider, setExpanded, setHasChildren, setSelection, setSelection, showItem, updatePlus

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

    add, add, addSelectionListener, addTreeListener, associate, buildLabel, collapseAll, collapseToLevel, contains, createChildren, 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, indexForElement, insert, internalCollapseToLevel, internalExpand, internalExpandToLevel, internalFindItems, internalGetWidgetToSelect, internalIsInputOrEmptyPath, 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, firePostSelectionChanged, getCell, getCellEditors, getCellModifier, getColumnProperties, getColumnViewerEditor, getItem, getLabelProvider, getViewerRow, handleDispose, hookEditingSupport, isBusy, isCellEditorActive, isExpandableNode, refresh, refresh, setBusy, setCellEditors, setCellModifier, setColumnProperties, setColumnViewerEditor, setDisplayIncrementally, setLabelProvider, triggerEditorActivationEvent, update, updateSelection

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

    addDoubleClickListener, addDragSupport, addDropSupport, addFilter, addOpenListener, addPostSelectionChangedListener, assertElementsNotNull, equals, filter, findItem, findItems, fireDoubleClick, fireOpen, getColorAndFontCollector, getComparator, getComparer, 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, usingElementMap

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

    getContentProvider, getInput

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

    addHelpListener, addSelectionChangedListener, fireHelpRequested, 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

    • columnViewAdapter

      protected ColumnViewAdapter<T> columnViewAdapter
    • childElementsMap

      protected Map<Object,List<Object>> childElementsMap
    • parentElementsMap

      protected Map<Object,Object> parentElementsMap
    • greedyChildrenCalculation

      protected boolean greedyChildrenCalculation
  • Constructor Details

    • Tree

      protected Tree(org.eclipse.swt.widgets.Composite parent, Function<T,List<T>> getChildrenProvider, List<T> data, boolean checkboxes, boolean syncUpdate, boolean greedyChildrenCalculation, boolean showRowHeader, int style)
  • Method Details

    • getTypeCheckBox

      protected ColumnViewAdapter.TypeCheckBox getTypeCheckBox(boolean checkbox)
    • inputChanged

      protected void inputChanged(Object input, Object oldInput)
      Overrides:
      inputChanged in class org.eclipse.jface.viewers.AbstractTreeViewer
    • createRowHeaderColumn

      protected void createRowHeaderColumn(org.eclipse.swt.graphics.Image imageHeader, int width, ColumnViewAdapter<T> columnViewAdapter)
    • createCheckBoxColumn

      protected void createCheckBoxColumn(String name, int width, ColumnViewAdapter<T> columnViewAdapter)
    • column

      public <E> IColumn<T,E,?> column(Function<T,E> extractor)
    • getViewerColumnDescriptors

      public List<? extends IColumn<T,?,?>> getViewerColumnDescriptors()
    • canShowFilters

      protected boolean canShowFilters()
    • select

      protected boolean select(org.eclipse.jface.viewers.ViewerFilter filter, Predicate<T> predicate, T parentElement)
    • getFilteredChildren

      protected Object[] getFilteredChildren(Object parent)
      Overrides:
      getFilteredChildren in class org.eclipse.jface.viewers.StructuredViewer
    • handleTreeExpand

      protected void handleTreeExpand(org.eclipse.swt.events.TreeEvent event)
      Overrides:
      handleTreeExpand in class org.eclipse.jface.viewers.TreeViewer
    • handleTreeCollapse

      protected void handleTreeCollapse(org.eclipse.swt.events.TreeEvent event)
      Overrides:
      handleTreeCollapse in class org.eclipse.jface.viewers.TreeViewer
    • fireSelectionChanged

      protected void fireSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
      Overrides:
      fireSelectionChanged in class org.eclipse.jface.viewers.Viewer
    • setSelectionChangedConsumer

      public void setSelectionChangedConsumer(Consumer<org.eclipse.jface.viewers.SelectionChangedEvent> selectionChangedConsumer)
    • addSelectedItemChangedHandler

      public void addSelectedItemChangedHandler(Consumer<T> selectedItemChangedHandler)
    • removeSelectedItemChangedHandler

      public void removeSelectedItemChangedHandler(Consumer<T> selectedItemChangedHandler)
    • addDoubleClickHandler

      public void addDoubleClickHandler(BiConsumer<T,org.eclipse.jface.viewers.DoubleClickEvent> doubleClickHandler)
    • removeDoubleClickHandler

      public void removeDoubleClickHandler(BiConsumer<T,org.eclipse.jface.viewers.DoubleClickEvent> doubleClickHandler)
    • isQuickFilterAllowed

      public boolean isQuickFilterAllowed()
    • addContextMenuHandler

      public void addContextMenuHandler(Consumer<ColumnViewAdapter.ContextMenuArgs<T>> contextMenuHandler)
      Registers a handler for context menu events. The handler will be invoked when a context menu is requested on a table cell.
      Parameters:
      contextMenuHandler - the consumer to handle ColumnViewAdapter.ContextMenuArgs events
    • removeContextMenuHandler

      public void removeContextMenuHandler(Consumer<ColumnViewAdapter.ContextMenuArgs<T>> contextMenuHandler)
      Unregisters a previously registered context menu handler.
      Parameters:
      contextMenuHandler - the consumer to remove from the event handlers list
    • setQuickFilterAllowed

      public void setQuickFilterAllowed(boolean isQuickFilterAllowed)
    • setMaxCheckedItemsCount

      public void setMaxCheckedItemsCount(int maxCheckedItemsCount)
    • setSortingAllowed

      public void setSortingAllowed(boolean isSortingAllowed)
    • removeColumn

      public void removeColumn(int index)
    • getColumnsCount

      public int getColumnsCount()
    • swtColor

      public static org.eclipse.swt.graphics.Color swtColor(Color color)
    • addCheckedItemsChangedHandler

      public void addCheckedItemsChangedHandler(Consumer<List<T>> checkedItemsChangedHandler)
    • removeCheckedItemsChangedHandler

      public void removeCheckedItemsChangedHandler(Consumer<List<T>> checkedItemsChangedHandler)
    • setData

      public void setData(List<T> data)
    • getCheckedItems

      public List<T> getCheckedItems()
    • checkItems

      public void checkItems(List<T> items)
    • checkAllItems

      public void checkAllItems(boolean callHandlers)
    • uncheckAllItems

      public void uncheckAllItems(boolean callHandlers)
    • isDisposed

      public boolean isDisposed()
      Specified by:
      isDisposed in interface com.amalgamasimulation.viewupdater.SimulationView
    • isShown

      public boolean isShown()
      Specified by:
      isShown in interface com.amalgamasimulation.viewupdater.SimulationView
    • updateContent

      public void updateContent()
      Specified by:
      updateContent in interface com.amalgamasimulation.viewupdater.SimulationView
    • updateView

      public void updateView()
      Specified by:
      updateView in interface com.amalgamasimulation.viewupdater.SimulationView
    • getItem

      public T getItem(int rowIndex)
    • internalRefresh

      protected void internalRefresh(Object element, boolean updateLabels)
      Overrides:
      internalRefresh in class org.eclipse.jface.viewers.AbstractTreeViewer
    • showDefaultContextMenu

      public void showDefaultContextMenu(boolean show)