Class TextTableContentProvider

  • All Implemented Interfaces:
    EventListener, org.eclipse.jface.viewers.IContentProvider, org.eclipse.jface.viewers.IStructuredContentProvider, org.eclipse.jface.viewers.ITreeContentProvider

    public class TextTableContentProvider
    extends java.lang.Object
    implements org.eclipse.jface.viewers.ITreeContentProvider, EventListener
    A content provider for a StringMapProp.
    Author:
    Christopher Mindus
    • Field Summary

      Fields 
      Modifier and TypeFieldDescription
      static intTYPE_FROM_ORIGINAL
      Default type: the text IDs from edited table are the only ones shown.
      static intTYPE_INTERSECTION
      Intersection of all text types from all tables.
      static intTYPE_UNION
      Union of all text types from all tables.
    • Constructor Summary

      Constructors 
      ConstructorDescription
      TextTableContentProvider()
      The StringMapProp being used for the table.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voiddispose()
      Disposes of this content provider.
      java.lang.Object[]getChildren​(java.lang.Object parentElement)
      Returns the child elements of the given parent element.
      java.lang.Object[]getElements​(java.lang.Object inputElement)
      java.lang.ObjectgetParent​(java.lang.Object element)
      Returns the parent for the given element, or null indicating that the parent can't be computed.
      booleanhasChildren​(java.lang.Object element)
      Returns whether the given element has children.
      voidinputChanged​(org.eclipse.jface.viewers.Viewer viewer, java.lang.Object oldInput, java.lang.Object newInput)
      Notifies this content provider that the given viewer's input has been switched to a different element.
      voidonEvent​(GEvent event)
      Called to process an event.
      voidsetType​(int type)
      Sets the type of content: TYPE_*.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • TYPE_FROM_ORIGINAL

        public static final int TYPE_FROM_ORIGINAL
        Default type: the text IDs from edited table are the only ones shown.
        See Also:
        Constant Field Values
      • TYPE_UNION

        public static final int TYPE_UNION
        Union of all text types from all tables.
        See Also:
        Constant Field Values
      • TYPE_INTERSECTION

        public static final int TYPE_INTERSECTION
        Intersection of all text types from all tables.
        See Also:
        Constant Field Values
    • Constructor Detail

      • TextTableContentProvider

        public TextTableContentProvider()
        The StringMapProp being used for the table.
    • Method Detail

      • setType

        public void setType​(int type)
        Sets the type of content: TYPE_*.
      • onEvent

        public void onEvent​(GEvent event)
        Called to process an event.
        Specified by:
        onEvent in interface EventListener
        Parameters:
        event - The event.
      • inputChanged

        public void inputChanged​(org.eclipse.jface.viewers.Viewer viewer,
                                 java.lang.Object oldInput,
                                 java.lang.Object newInput)
        Notifies this content provider that the given viewer's input has been switched to a different element.

        A typical use for this method is registering the content provider as a listener to changes on the new input (using model-specific means), and deregistering the viewer from the old input. In response to these change notifications, the content provider should update the viewer (see the add, remove, update and refresh methods on the viewers).

        The viewer should not be updated during this call, as it might be in the process of being disposed.

        Specified by:
        inputChanged in interface org.eclipse.jface.viewers.IContentProvider
        Parameters:
        viewer - the viewer
        oldInput - the old input element, or null if the viewer did not previously have an input
        newInput - the new input element, or null if the viewer does not have an input. The new input must be a Object [] of EditorTextTable.
      • dispose

        public void dispose()
        Disposes of this content provider. This is called by the viewer when it is disposed.

        The viewer should not be updated during this call, as it is in the process of being disposed.

        Specified by:
        dispose in interface org.eclipse.jface.viewers.IContentProvider
      • getElements

        public java.lang.Object[] getElements​(java.lang.Object inputElement)

        NOTE: The returned array must not contain the given inputElement, since this leads to recursion issues in AbstractTreeViewer (see bug 9262).

        Specified by:
        getElements in interface org.eclipse.jface.viewers.IStructuredContentProvider
        Specified by:
        getElements in interface org.eclipse.jface.viewers.ITreeContentProvider
      • getChildren

        public java.lang.Object[] getChildren​(java.lang.Object parentElement)
        Returns the child elements of the given parent element.

        The difference between this method and IStructuredContentProvider.getElements is that getElements is called to obtain the tree viewer's root elements, whereas getChildren is used to obtain the children of a given parent element in the tree (including a root).

        The result is not modified by the viewer.
        Specified by:
        getChildren in interface org.eclipse.jface.viewers.ITreeContentProvider
        Parameters:
        parentElement - the parent element
        Returns:
        an array of child elements
      • getParent

        public java.lang.Object getParent​(java.lang.Object element)
        Returns the parent for the given element, or null indicating that the parent can't be computed. In this case the tree-structured viewer can't expand a given node correctly if requested.
        Specified by:
        getParent in interface org.eclipse.jface.viewers.ITreeContentProvider
        Parameters:
        element - the element
        Returns:
        the parent element, or null if it has none or if the parent cannot be computed
      • hasChildren

        public boolean hasChildren​(java.lang.Object element)
        Returns whether the given element has children.

        Intended as an optimization for when the viewer does not need the actual children. Clients may be able to implement this more efficiently than getChildren.

        Specified by:
        hasChildren in interface org.eclipse.jface.viewers.ITreeContentProvider
        Parameters:
        element - the element
        Returns:
        true if the given element has children, and false if it has no children