Class GraphNode

Direct Known Subclasses:
CGraphNode, GraphContainer

public class GraphNode extends GraphItem
Simple node class which has the following properties: color, size, location, and a label. It also has a list of connections and anchors.
  • Field Details

    • HIGHLIGHT_NONE

      public static final int HIGHLIGHT_NONE
      See Also:
    • HIGHLIGHT_ON

      public static final int HIGHLIGHT_ON
      See Also:
    • size

      protected Dimension size
    • graph

      protected Graph graph
    • parent

      protected IContainer parent
    • internalNode

      protected Object internalNode
      The internal node.
    • highlighted

      protected int highlighted
    • nodeFigure

      protected IFigure nodeFigure
  • Constructor Details

  • Method Details

    • initFigure

      protected void initFigure()
    • initModel

      protected void initModel(IContainer parent, String text, Image image)
    • toString

      public String toString()
      A simple toString that we can use for debugging
      Overrides:
      toString in class Widget
    • getLayoutEntity

      @Deprecated(since="1.12", forRemoval=true) public LayoutEntity getLayoutEntity()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Not used in Zest 2.x. This class will be removed in a future release.
      @nooverride
      This method is not intended to be re-implemented or extended by clients.
      @noreference
      This method is not intended to be referenced by clients.
    • dispose

      public void dispose()
      Overrides:
      dispose in class GraphItem
    • isDisposed

      public boolean isDisposed()
      Overrides:
      isDisposed in class Widget
    • isSizeFixed

      public boolean isSizeFixed()
      Determines if this node has a fixed size or if it is packed to the size of its contents. To set a node to pack, set its size (-1, -1)
    • getSourceConnections

      public List<? extends GraphConnection> getSourceConnections()
      Returns a new list of the source connections (GraphModelConnection objects).
      Returns:
      List a new list of GraphModelConnect objects
    • getTargetConnections

      public List<? extends GraphConnection> getTargetConnections()
      Returns a new list of the target connections (GraphModelConnection objects).
      Returns:
      List a new list of GraphModelConnect objects
    • getLocation

      public Point getLocation()
      Returns a copy of the node's location.
      Returns:
      Point
    • isSelected

      public boolean isSelected()
    • setLocation

      public void setLocation(double x, double y)
      Sets the current location for this node.
    • getSize

      public Dimension getSize()
      Returns a copy of the node's size.
      Returns:
      Dimension
    • getForegroundColor

      public Color getForegroundColor()
      Get the foreground colour for this node
    • setForegroundColor

      public void setForegroundColor(Color c)
      Set the foreground colour for this node
    • getBackgroundColor

      public Color getBackgroundColor()
      Get the background colour for this node. This is the color the node will be if it is not currently highlighted. This color is meaningless if a custom figure has been set.
    • setBackgroundColor

      public void setBackgroundColor(Color c)
      Permanently sets the background color (unhighlighted). This color has no effect if a custom figure has been set.
      Parameters:
      c -
    • setTooltip

      public void setTooltip(IFigure tooltip)
      Sets the tooltip on this node. This tooltip will display if the mouse hovers over the node. Setting the tooltip has no effect if a custom figure has been set.
    • getTooltip

      public IFigure getTooltip()
      Gets the current tooltip for this node. The tooltip returned is meaningless if a custom figure has been set.
    • setBorderColor

      public void setBorderColor(Color c)
      Sets the border color.
      Parameters:
      c - the border color.
    • setBorderHighlightColor

      public void setBorderHighlightColor(Color c)
      Sets the highlighted border color.
      Parameters:
      c - the highlighted border color.
    • getHighlightColor

      public Color getHighlightColor()
      Get the highlight colour for this node
    • setHighlightColor

      public void setHighlightColor(Color c)
      Set the highlight colour for this node
    • highlight

      public void highlight()
      Highlights the node changing the background color and border color. The source and destination connections are also highlighted, and the adjacent nodes are highlighted too in a different color.
      Specified by:
      highlight in class GraphItem
    • unhighlight

      public void unhighlight()
      Restores the nodes original background color and border width.
      Specified by:
      unhighlight in class GraphItem
    • refreshLocation

      protected void refreshLocation()
    • getBorderColor

      public Color getBorderColor()
      Returns if the nodes adjacent to this node will be highlighted when this node is selected.
      Returns:
      GraphModelNode
    • getBorderWidth

      public int getBorderWidth()
    • setBorderWidth

      public void setBorderWidth(int width)
    • getFont

      public Font getFont()
    • setFont

      public void setFont(Font font)
    • setText

      public void setText(String string)
      Overrides:
      setText in class Item
    • setImage

      public void setImage(Image image)
      Overrides:
      setImage in class Item
    • getGraphModel

      public Graph getGraphModel()
      Gets the graphModel that this node is contained in
      Specified by:
      getGraphModel in class GraphItem
      Returns:
      The graph model that this node is contained in
    • getNodeStyle

      public int getNodeStyle()
      Returns:
      the nodeStyle
    • setNodeStyle

      public void setNodeStyle(int nodeStyle)
      Parameters:
      nodeStyle - the nodeStyle to set
    • setSize

      public void setSize(double width, double height)
    • getBorderHighlightColor

      public Color getBorderHighlightColor()
    • cacheLabel

      public boolean cacheLabel()
    • setCacheLabel

      public void setCacheLabel(boolean cacheLabel)
    • getNodeFigure

      public IFigure getNodeFigure()
      Returns the figure of the whole node.
      Returns:
      nodeFigure
    • setVisible

      public void setVisible(boolean visible)
      Description copied from class: GraphItem
      Set the visibility of this item.
      Specified by:
      setVisible in class GraphItem
      Parameters:
      visible - whether or not this item is visible.
    • setModelFigure

      public void setModelFigure(IFigure figure)
      Since:
      1.8
    • getModelFigure

      public IFigure getModelFigure()
      Since:
      1.8
    • setHideNodeHelper

      public void setHideNodeHelper(HideNodeHelper hideNodeHelper)
      Since:
      1.8
    • getHideNodeHelper

      public HideNodeHelper getHideNodeHelper()
      Since:
      1.8
    • getStyle

      public int getStyle()
      Overrides:
      getStyle in class Widget
    • getHideContainerBounds

      protected Rectangle getHideContainerBounds()
      Since:
      1.8
    • fishEye

      protected IFigure fishEye(boolean enable, boolean animate)
    • isHighlighted

      public boolean isHighlighted()
      returns true if node is highlighted, false otherwise
      Overrides:
      isHighlighted in class GraphItem
      Returns:
      state of highlight
      Since:
      1.9
    • updateFigureForModel

      protected void updateFigureForModel(IFigure currentFigure)
    • createFigureForModel

      protected IFigure createFigureForModel()
    • isVisible

      public boolean isVisible()
      Description copied from class: GraphItem
      Get the visibility of this item.
      Specified by:
      isVisible in class GraphItem
      Returns:
      the visibility of this item.
    • getItemType

      public int getItemType()
      Description copied from class: GraphItem
      Gets the graph item type. The item type is one of: GRAPH, NODE or CONNECTION
      Specified by:
      getItemType in class GraphItem
    • getLayout

      public org.eclipse.zest.core.widgets.InternalNodeLayout getLayout()
      @noreference
      This method is not intended to be referenced by clients.