Class DiffTreeViewer

    • Constructor Detail

      • DiffTreeViewer

        public DiffTreeViewer​(Tree tree,
                              CompareConfiguration configuration)
        Creates a new viewer for the given SWT tree control with the specified configuration.
        Parameters:
        tree - the tree control
        configuration - the configuration for this viewer
      • DiffTreeViewer

        public DiffTreeViewer​(Composite parent,
                              CompareConfiguration configuration)
        Creates a new viewer under the given SWT parent and with the specified configuration.
        Parameters:
        parent - the SWT control under which to create the viewer
        configuration - the configuration for this viewer
    • Method Detail

      • getTitle

        public String getTitle()
        Returns the viewer's name.
        Returns:
        the viewer's name
      • getBundle

        protected ResourceBundle getBundle()
        Returns the resource bundle.
        Returns:
        the viewer's resource bundle
      • getCompareConfiguration

        public CompareConfiguration getCompareConfiguration()
        Returns the compare configuration of this viewer.
        Returns:
        the compare configuration of this viewer
      • handleDispose

        protected void handleDispose​(DisposeEvent event)
        Called on the viewer disposal. Unregisters from the compare configuration. Clients may extend if they have to do additional cleanup.
        Overrides:
        handleDispose in class ColumnViewer
        Parameters:
        event - dispose event that triggered call to this method
      • propertyChange

        protected void propertyChange​(PropertyChangeEvent event)
        Tracks property changes of the configuration object. Clients may extend to track their own property changes. In this case they must call the inherited method.
        Parameters:
        event - property change event that triggered call to this method
      • inputChanged

        protected void inputChanged​(Object in,
                                    Object oldInput)
        Description copied from class: Viewer
        Internal hook method called when the input to this viewer is initially set or subsequently changed.

        The default implementation does nothing. Subclassers may override this method to do something when a viewer's input is set. A typical use is populate the viewer.

        Overrides:
        inputChanged in class AbstractTreeViewer
        Parameters:
        in - the new input of this viewer, or null if none
        oldInput - the old input element or null if there was previously no input
      • initialSelection

        protected void initialSelection()
        This hook method is called from within inputChanged after a new input has been set but before any controls are updated. This default implementation calls navigate(true) to select and expand the first leaf node. Clients can override this method and are free to decide whether they want to call the inherited method.
        Since:
        2.0
      • internalExpandToLevel

        protected void internalExpandToLevel​(Widget node,
                                             int level)
        Overridden to avoid expanding DiffNodes that shouldn't expand.
        Overrides:
        internalExpandToLevel in class AbstractTreeViewer
        Parameters:
        node - the node to expand
        level - non-negative level, or ALL_LEVELS to collapse all levels of the tree
      • dontExpand

        protected boolean dontExpand​(Object o)
        This hook method is called from within internalExpandToLevel to control whether a given model node should be expanded or not. This default implementation checks whether the object is a DiffNode and calls dontExpand() on it. Clients can override this method and are free to decide whether they want to call the inherited method.
        Parameters:
        o - the model object to be expanded
        Returns:
        false if a node should be expanded, true to prevent expanding
        Since:
        2.0
      • createToolItems

        protected void createToolItems​(ToolBarManager toolbarManager)
        This factory method is called after the viewer's controls have been created. It installs four actions in the given ToolBarManager. Two actions allow for copying one side of a DiffNode to the other side. Two other actions are for navigating from one node to the next (previous).

        Clients can override this method and are free to decide whether they want to call the inherited method.

        Parameters:
        toolbarManager - the toolbar manager for which to add the actions
      • fillContextMenu

        protected void fillContextMenu​(IMenuManager manager)
        This method is called to add actions to the viewer's context menu. It installs actions for expanding tree nodes, copying one side of a DiffNode to the other side. Clients can override this method and are free to decide whether they want to call the inherited method.
        Parameters:
        manager - the menu manager for which to add the actions
      • expandSelection

        protected void expandSelection()
        Expands to infinity all items in the selection.
        Since:
        2.0
      • copySelected

        protected void copySelected​(boolean leftToRight)
        Copies one side of all DiffNodes in the current selection to the other side. Called from the (internal) actions for copying the sides of a DiffNode. Clients may override.
        Parameters:
        leftToRight - if true the left side is copied to the right side. If false the right side is copied to the left side
      • copyOne

        protected void copyOne​(ICompareInput node,
                               boolean leftToRight)
        Called to copy one side of the given node to the other. This default implementation delegates the call to ICompareInput.copy(...). Clients may override.
        Parameters:
        node - the node to copy
        leftToRight - if true the left side is copied to the right side. If false the right side is copied to the left side
      • navigate

        protected void navigate​(boolean next)
        Selects the next (or previous) node of the current selection. If there is no current selection the first (last) node in the tree is selected. Wraps around at end or beginning. Clients may override.
        Parameters:
        next - if true the next node is selected, otherwise the previous node