org.eclipse.zest.core.widgets

## Class GraphNode

- java.lang.Object
- - org.eclipse.swt.widgets.Widget
  - - org.eclipse.swt.widgets.Item
    - - org.eclipse.zest.core.widgets.GraphItem
      - - org.eclipse.zest.core.widgets.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 Summary

Fields
`protected Graph` `graph`
`static int` `HIGHLIGHT_NONE`
`static int` `HIGHLIGHT_ON`
`protected int` `highlighted`
`protected java.lang.Object` `internalNode` The internal node.
`protected IFigure` `nodeFigure`
`protected IContainer` `parent`
`protected Dimension` `size`

### Fields inherited from class org.eclipse.zest.core.widgets.GraphItem

`CONNECTION, CONTAINER, GRAPH, NODE`

### Constructor Summary

Constructors
Constructor and Description
`GraphNode(IContainer graphModel, int style)`
`GraphNode(IContainer graphModel, int style, java.lang.Object data)`
`GraphNode(IContainer graphModel, int style, java.lang.String text)`
`GraphNode(IContainer graphModel, int style, java.lang.String text, Image image)`
`GraphNode(IContainer graphModel, int style, java.lang.String text, Image image, java.lang.Object data)`
`GraphNode(IContainer graphModel, int style, java.lang.String text, java.lang.Object data)`

### Method Summary

Methods
`boolean` `cacheLabel()`
`protected IFigure` `createFigureForModel()`
`void` `dispose()`
`protected IFigure` `fishEye(boolean enable, boolean animate)`
`Color` `getBackgroundColor()` Get the background colour for this node.
`Color` `getBorderColor()` Sets if the adjacent nodes to this one should be highlighted when this node is selected.
`Color` `getBorderHighlightColor()`
`int` `getBorderWidth()`
`Font` `getFont()`
`Color` `getForegroundColor()` Get the foreground colour for this node
`Graph` `getGraphModel()` Gets the graphModel that this node is contained in
`Color` `getHighlightColor()` Get the highlight colour for this node
`int` `getItemType()` Gets the graph item type.
`LayoutEntity` `getLayoutEntity()`
`Point` `getLocation()` Returns a copy of the node's location.
`IFigure` `getNodeFigure()`
`int` `getNodeStyle()`
`Dimension` `getSize()` Returns a copy of the node's size.
`java.util.List` `getSourceConnections()` Returns a new list of the source connections (GraphModelConnection objects).
`int` `getStyle()`
`java.util.List` `getTargetConnections()` Returns a new list of the target connections (GraphModelConnection objects).
`IFigure` `getTooltip()` Gets the current tooltip for this node.
`void` `highlight()` Highlights the node changing the background color and border color.
`protected void` `initFigure()`
`protected void` `initModel(IContainer parent, java.lang.String text, Image image)`
`boolean` `isDisposed()`
`boolean` `isSelected()`
`boolean` `isSizeFixed()` Determines if this node has a fixed size or if it is packed to the size of its contents.
`boolean` `isVisible()` Get the visibility of this item.
`protected void` `refreshLocation()`
`void` `setBackgroundColor(Color c)` Permanently sets the background color (unhighlighted).
`void` `setBorderColor(Color c)` Sets the border color.
`void` `setBorderHighlightColor(Color c)` Sets the highlighted border color.
`void` `setBorderWidth(int width)`
`void` `setCacheLabel(boolean cacheLabel)`
`void` `setFont(Font font)`
`void` `setForegroundColor(Color c)` Set the foreground colour for this node
`void` `setHighlightColor(Color c)` Set the highlight colour for this node
`void` `setImage(Image image)`
`void` `setLocation(double x, double y)` Sets the current location for this node.
`void` `setNodeStyle(int nodeStyle)`
`void` `setSize(double width, double height)`
`void` `setText(java.lang.String string)`
`void` `setTooltip(IFigure tooltip)` Sets the tooltip on this node.
`void` `setVisible(boolean visible)` Set the visibility of this item.
`java.lang.String` `toString()` A simple toString that we can use for debugging
`void` `unhighlight()` Restores the nodes original background color and border width.
`protected void` `updateFigureForModel(IFigure currentFigure)`

### Methods inherited from class org.eclipse.zest.core.widgets.GraphItem

`checkStyle`

### Methods inherited from class org.eclipse.swt.widgets.Item

`checkSubclass, getImage, getText`

### Methods inherited from class org.eclipse.swt.widgets.Widget

`addDisposeListener, addListener, checkWidget, getData, getData, getDisplay, getListeners, 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`

### Field Detail

#### HIGHLIGHT_NONE

    public static final int HIGHLIGHT_NONE

See Also:
  Constant Field Values

#### HIGHLIGHT_ON

    public static final int HIGHLIGHT_ON

See Also:
  Constant Field Values

#### size

    protected Dimension size

#### graph

    protected Graph graph

#### parent

    protected IContainer parent

#### internalNode

    protected java.lang.Object internalNode

The internal node.

#### highlighted

    protected int highlighted

#### nodeFigure

    protected IFigure nodeFigure

### Constructor Detail

#### GraphNode

    public GraphNode(IContainer graphModel,
             int style)

#### GraphNode

    public GraphNode(IContainer graphModel,
             int style,
             java.lang.Object data)

#### GraphNode

    public GraphNode(IContainer graphModel,
             int style,
             java.lang.String text)

#### GraphNode

    public GraphNode(IContainer graphModel,
             int style,
             java.lang.String text,
             java.lang.Object data)

#### GraphNode

    public GraphNode(IContainer graphModel,
             int style,
             java.lang.String text,
             Image image)

#### GraphNode

    public GraphNode(IContainer graphModel,
             int style,
             java.lang.String text,
             Image image,
             java.lang.Object data)

### Method Detail

#### initFigure

    protected void initFigure()

#### initModel

    protected void initModel(IContainer parent,
                 java.lang.String text,
                 Image image)

#### toString

    public java.lang.String toString()

A simple toString that we can use for debugging

Overrides:
  `toString` in class `Widget`

#### getLayoutEntity

    public LayoutEntity getLayoutEntity()

#### 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)

Returns:

#### getSourceConnections

    public java.util.List getSourceConnections()

Returns a new list of the source connections (GraphModelConnection objects).

Returns:
  List a new list of GraphModelConnect objects

#### getTargetConnections

    public java.util.List 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()

Sets if the adjacent nodes to this one should be highlighted when this node is selected.

Parameters:
  `highlightAdjacentNodes` - The highlightAdjacentNodes to set.

#### getBorderWidth

    public int getBorderWidth()

#### setBorderWidth

    public void setBorderWidth(int width)

#### getFont

    public Font getFont()

#### setFont

    public void setFont(Font font)

#### setText

    public void setText(java.lang.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()

#### 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.

#### getStyle

    public int getStyle()

Overrides:
  `getStyle` in class `Widget`

#### fishEye

    protected IFigure fishEye(boolean enable,
                  boolean animate)

#### 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`
Returns: