Class TreeLayoutAlgorithm

java.lang.Object
org.eclipse.zest.layouts.algorithms.AbstractLayoutAlgorithm
org.eclipse.zest.layouts.algorithms.TreeLayoutAlgorithm
All Implemented Interfaces:
LayoutAlgorithm

public class TreeLayoutAlgorithm extends AbstractLayoutAlgorithm
The TreeLayoutAlgorithm class implements a simple algorithm to arrange graph nodes in a layered tree-like layout.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Deprecated, for removal: This API element is subject to removal in a future version.
    Use TreeLayoutAlgorithm instead.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Tree direction constant for which root is placed at the bottom and branches spread upwards
    static final int
    Tree direction constant for which root is placed at the left and branches spread to the right
    static final int
    Tree direction constant for which root is placed at the right and branches spread to the left
    static final int
    Tree direction constant for which root is placed at the top and branches spread downwards

    Fields inherited from class org.eclipse.zest.layouts.algorithms.AbstractLayoutAlgorithm

    context
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a default Tree Layout.
    TreeLayoutAlgorithm(int direction)
    Create a Tree Layout with a specified direction.
    TreeLayoutAlgorithm(int direction, org.eclipse.draw2d.geometry.Dimension nodeSpace)
    Create a Tree Layout with fixed size spacing around nodes.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    applyLayout(boolean clean)
    Makes this algorithm perform layout computation and apply it to its context.
    int
     
    boolean
     
    void
    setDirection(int direction)
     
    void
    Sets the layout context for this algorithm.
    void
    setNodeSpace(org.eclipse.draw2d.geometry.Dimension nodeSpace)
     
    void
    setResizing(boolean resizing)
     

    Methods inherited from class java.lang.Object

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

    • TOP_DOWN

      public static final int TOP_DOWN
      Tree direction constant for which root is placed at the top and branches spread downwards
      Since:
      2.0
      See Also:
    • BOTTOM_UP

      public static final int BOTTOM_UP
      Tree direction constant for which root is placed at the bottom and branches spread upwards
      Since:
      2.0
      See Also:
    • LEFT_RIGHT

      public static final int LEFT_RIGHT
      Tree direction constant for which root is placed at the left and branches spread to the right
      Since:
      2.0
      See Also:
    • RIGHT_LEFT

      public static final int RIGHT_LEFT
      Tree direction constant for which root is placed at the right and branches spread to the left
      Since:
      2.0
      See Also:
  • Constructor Details

    • TreeLayoutAlgorithm

      public TreeLayoutAlgorithm()
      Create a default Tree Layout.
    • TreeLayoutAlgorithm

      public TreeLayoutAlgorithm(int direction)
      Create a Tree Layout with a specified direction.
      Parameters:
      direction - The direction, one of BOTTOM_UP, LEFT_RIGHT, RIGHT_LEFT, TOP_DOWN
    • TreeLayoutAlgorithm

      public TreeLayoutAlgorithm(int direction, org.eclipse.draw2d.geometry.Dimension nodeSpace)
      Create a Tree Layout with fixed size spacing around nodes. If nodeSpace is not null, the layout will size the container to the ideal space to just contain all nodes of fixed size without any overlap. Otherwise, the algorithm will size for the container's available space.
      Parameters:
      direction - The direction, one of BOTTOM_UP, LEFT_RIGHT, RIGHT_LEFT, TOP_DOWN
      nodeSpace - the size to make each node. May be null.
      Since:
      2.0
  • Method Details

    • setNodeSpace

      public void setNodeSpace(org.eclipse.draw2d.geometry.Dimension nodeSpace)
      Parameters:
      nodeSpace - the nodeSpaceSize to set
      Since:
      2.0
    • getDirection

      public int getDirection()
      Since:
      2.0
    • setDirection

      public void setDirection(int direction)
      Since:
      2.0
    • isResizing

      public boolean isResizing()
      Returns:
      true if this algorithm is set to resize elements
      Since:
      2.0
    • setResizing

      public void setResizing(boolean resizing)
      Parameters:
      resizing - true if this algorithm should resize elements (default is false)
      Since:
      2.0
    • setLayoutContext

      public void setLayoutContext(LayoutContext context)
      Description copied from interface: LayoutAlgorithm
      Sets the layout context for this algorithm. The receiver will unregister from its previous layout context and register to the new one (registration means for example adding listeners). After a call to this method, the receiving algorithm can compute and cache internal data related to given context and perform an initial layout.
      Specified by:
      setLayoutContext in interface LayoutAlgorithm
      Overrides:
      setLayoutContext in class AbstractLayoutAlgorithm
      Parameters:
      context - a new layout context or null if this algorithm should not perform any layout
    • applyLayout

      public void applyLayout(boolean clean)
      Description copied from interface: LayoutAlgorithm
      Makes this algorithm perform layout computation and apply it to its context.
      Parameters:
      clean - if true the receiver should assume that the layout context has changed significantly and recompute the whole layout even if it keeps track of changes with listeners. False can be used after dynamic layout in a context is turned back on so that layout algorithm working in background can apply accumulated changes. Static layout algorithm can ignore this call entirely if clean is false.