Class AbstractTableViewerComposite<V extends org.eclipse.jface.viewers.AbstractTableViewer>

  • Type Parameters:
    V - the TableViewer implementation to use
    All Implemented Interfaces:
    org.eclipse.swt.graphics.Drawable
    Direct Known Subclasses:
    GridTableViewerComposite, GridTableViewerComposite, TableViewerComposite

    public abstract class AbstractTableViewerComposite<V extends org.eclipse.jface.viewers.AbstractTableViewer>
    extends org.eclipse.swt.widgets.Composite
    Author:
    Jonas Helming
    • Field Summary

      • Fields inherited from class org.eclipse.swt.widgets.Control

        handle
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected AbstractTableViewerComposite​(org.eclipse.swt.widgets.Composite parent, int style, java.lang.Object inputObject, TableViewerSWTCustomization<V> customization, org.eclipse.core.databinding.observable.value.IObservableValue title, org.eclipse.core.databinding.observable.value.IObservableValue tooltip)
      Default constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract void addColumnListener​(org.eclipse.swt.events.ControlListener columnlistener)
      Adds a new column listener.
      protected void configureContextMenu​(V tableViewer)
      Configures the context menu for the given TableViewer instance.
      protected void configureViewerFilters​(V tableViewer)
      Configures viewer filters for the given TableViewer instance.
      protected abstract org.eclipse.jface.viewers.ViewerColumn createColumn​(ColumnConfiguration columnDescription, org.eclipse.emf.databinding.EMFDataBindingContext emfDataBindingContext, V tableViewer)
      Creates a new ViewerColumn.
      protected static org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy createColumnViewerActivationStrategy​(org.eclipse.jface.viewers.AbstractTableViewer tableViewer)
      Creates a new ColumnViewerEditorActivationStrategy for the given table viewer.
      protected abstract org.eclipse.jface.layout.AbstractColumnLayout createLayout​(org.eclipse.swt.widgets.Composite viewerComposite)
      Sets the layout of the given Composite.
      protected abstract V createTableViewer​(TableViewerSWTCustomization<V> customization, org.eclipse.swt.widgets.Composite viewerComposite)
      Creates the table viewer.
      void dispose()  
      Optional<ActionBar<V>> getActionBar()
      If present, returns the ActionBar configuring actions and corresponding control for this composite's viewer.
      ColumnConfiguration getColumnConfiguration​(org.eclipse.swt.widgets.Widget columnWidget)
      Returns the ColumnConfiguration of the given widget instance.
      abstract org.eclipse.swt.widgets.Widget[] getColumns()
      Returns the list of columns of the table viewer.
      java.util.Set<Feature> getEnabledFeatures()  
      abstract TableControl getTableControl()
      Returns the TableControl.
      abstract V getTableViewer()  
      Optional<java.util.List<org.eclipse.swt.widgets.Control>> getValidationControls()  
      abstract void setComparator​(TableViewerComparator comparator, java.util.List<java.lang.Integer> sortableColumns)
      Sets the comparator of the table viewer.
      abstract void setCompareColumn​(int column)
      Allow to set an initial sort.
      protected void viewerSelectionChanged​(org.eclipse.jface.viewers.SelectionChangedEvent event)
      This method gets called when the selection on the TableViewer (see getTableViewer()) has changed.
      • Methods inherited from class org.eclipse.swt.widgets.Composite

        changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList, toString
      • Methods inherited from class org.eclipse.swt.widgets.Scrollable

        computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar
      • Methods inherited from class org.eclipse.swt.widgets.Control

        addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update
      • Methods inherited from class org.eclipse.swt.widgets.Widget

        addDisposeListener, addListener, checkWidget, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.eclipse.swt.graphics.Drawable

        isAutoScalable
    • Constructor Detail

      • AbstractTableViewerComposite

        protected AbstractTableViewerComposite​(org.eclipse.swt.widgets.Composite parent,
                                               int style,
                                               java.lang.Object inputObject,
                                               TableViewerSWTCustomization<V> customization,
                                               org.eclipse.core.databinding.observable.value.IObservableValue title,
                                               org.eclipse.core.databinding.observable.value.IObservableValue tooltip)
        Default constructor.
        Parameters:
        parent - the parent Composite
        style - the style bits
        inputObject - the input object
        customization - the TableViewerSWTCustomization
        title - the title
        tooltip - the tooltip
    • Method Detail

      • getEnabledFeatures

        public java.util.Set<Feature> getEnabledFeatures()
        Returns:
        the enabledFeatures
      • getActionBar

        public Optional<ActionBar<V>> getActionBar()
        If present, returns the ActionBar configuring actions and corresponding control for this composite's viewer.
        Returns:
        The ActionBar, if any
      • getTableViewer

        public abstract V getTableViewer()
        Returns:
        the AbstractTableViewer
      • getValidationControls

        public Optional<java.util.List<org.eclipse.swt.widgets.Control>> getValidationControls()
        Returns:
        the validation controls, if present
      • configureContextMenu

        protected void configureContextMenu​(V tableViewer)
        Configures the context menu for the given TableViewer instance.
        Parameters:
        tableViewer - the table viewer to configure
      • configureViewerFilters

        protected void configureViewerFilters​(V tableViewer)
        Configures viewer filters for the given TableViewer instance.
        Parameters:
        tableViewer - the table viewer to configure
      • getColumns

        public abstract org.eclipse.swt.widgets.Widget[] getColumns()
        Returns the list of columns of the table viewer.
        Returns:
        the list of columns
      • createLayout

        protected abstract org.eclipse.jface.layout.AbstractColumnLayout createLayout​(org.eclipse.swt.widgets.Composite viewerComposite)
        Sets the layout of the given Composite.
        Parameters:
        viewerComposite - the target composite
        Returns:
        the applied layout
      • createTableViewer

        protected abstract V createTableViewer​(TableViewerSWTCustomization<V> customization,
                                               org.eclipse.swt.widgets.Composite viewerComposite)
        Creates the table viewer.
        Parameters:
        customization - the TableViewerSWTCustomization to use
        viewerComposite - the parent composite
        Returns:
        the table viewer
      • createColumn

        protected abstract org.eclipse.jface.viewers.ViewerColumn createColumn​(ColumnConfiguration columnDescription,
                                                                               org.eclipse.emf.databinding.EMFDataBindingContext emfDataBindingContext,
                                                                               V tableViewer)
        Creates a new ViewerColumn.
        Parameters:
        columnDescription - the column description to use
        tableViewer - the parent AbstractTableViewer
        emfDataBindingContext - the data binding context to use
        Returns:
        the viewer column
      • viewerSelectionChanged

        protected void viewerSelectionChanged​(org.eclipse.jface.viewers.SelectionChangedEvent event)
        This method gets called when the selection on the TableViewer (see getTableViewer()) has changed.

        If you override this method make sure to call super.

        Parameters:
        event - the SelectionChangedEvent
      • createColumnViewerActivationStrategy

        protected static org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy createColumnViewerActivationStrategy​(org.eclipse.jface.viewers.AbstractTableViewer tableViewer)
        Creates a new ColumnViewerEditorActivationStrategy for the given table viewer.
        Parameters:
        tableViewer - the target table viewer.
        Returns:
        the ColumnViewerEditorActivationStrategy
      • dispose

        public void dispose()
        Overrides:
        dispose in class org.eclipse.swt.widgets.Widget
      • addColumnListener

        public abstract void addColumnListener​(org.eclipse.swt.events.ControlListener columnlistener)
        Adds a new column listener.
        Parameters:
        columnlistener - the listener to add
      • setComparator

        public abstract void setComparator​(TableViewerComparator comparator,
                                           java.util.List<java.lang.Integer> sortableColumns)
        Sets the comparator of the table viewer.
        Parameters:
        comparator - the TableViewerComparator to set
        sortableColumns - the list of columns that can be sorted
      • setCompareColumn

        public abstract void setCompareColumn​(int column)
        Allow to set an initial sort.
        Parameters:
        column - The column to sort
        Since:
        1.22