Package org.eclipse.zest.core.viewers

# Class GraphViewer

java.lang.Object
org.eclipse.jface.viewers.Viewer
org.eclipse.jface.viewers.ContentViewer
org.eclipse.jface.viewers.StructuredViewer
org.eclipse.zest.core.viewers.AbstractZoomableViewer
org.eclipse.zest.core.viewers.AbstractStructuredGraphViewer
org.eclipse.zest.core.viewers.GraphViewer

All Implemented Interfaces:
  `IInputProvider`, `IInputSelectionProvider`, `IPostSelectionProvider`, `ISelectionProvider`

public class GraphViewer extends AbstractStructuredGraphViewer implements ISelectionProvider
This view is used to represent a static graph. Static graphs can be layed out, but do not continually update their layout locations.

@noextend
  This class is not intended to be subclassed by clients.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.eclipse.jface.viewers.StructuredViewer

`StructuredViewer.ColorAndFontCollector, StructuredViewer.ColorAndFontCollectorWithProviders`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Graph`
`graph`

### Fields inherited from class org.eclipse.jface.viewers.Viewer

`WIDGET_DATA_KEY`

## Constructor Summary

Constructors
Constructor
Description
`GraphViewer(Composite composite, int style)`
Initializes the viewer.
`GraphViewer(Graph graph)`
Initializes the viewer.

## Method Summary

Modifier and Type
Method
Description
`void`
`addSelectionChangedListener(ISelectionChangedListener listener)`
`void`
`applyLayout()`
Applys the current layout to the viewer
`GraphItem`
`findGraphItem(Object element)`
Finds the graph widget item for a given user model item.
`Object[]`
`getConnectionElements()`
`Control`
`getControl()`
`protected org.eclipse.zest.core.viewers.internal.IStylingGraphModelFactory`
`getFactory()`
Returns the factory used to create the model.
`Graph`
`getGraphControl()`
`protected LayoutAlgorithm`
`getLayoutAlgorithm()`
Gets the current layout algorithm.
`Object[]`
`getNodeElements()`
`int`
`getStyle()`
Gets the styles for this structuredViewer
`protected org.eclipse.zest.core.viewers.internal.ZoomManager`
`getZoomManager()`
Returns a ZoomManager that zooming can be done on.
`protected void`
`hookControl(Control control)`
`protected void`
`inputChanged(Object input, Object oldInput)`
`void`
`refresh(Object element)`
NOTE: If a layout algorithm is set in the receiver, layout is performed after the refresh.
`void`
`refresh(Object element, boolean updateLabels)`
NOTE: If a layout algorithm is set in the receiver, layout is performed after the refresh.
`void`
`removeSelectionChangedListener(ISelectionChangedListener listener)`
`void`
`reveal(Object element)`
`void`
`setConnectionStyle(int connectionStyle)`
Sets the default style for connections in this graph.
`void`
`setContentProvider(IContentProvider contentProvider)`
`void`
`setControl(Graph graphModel)`
`void`
`setLayoutAlgorithm(LayoutAlgorithm algorithm)`
Equivalent to setLayoutAlgorithm(algorithm, false).
`void`
`setLayoutAlgorithm(LayoutAlgorithm algorithm, boolean runLayout)`
Sets the layout algorithm to use for this viewer.
`void`
`setNodeStyle(int nodeStyle)`
Sets the default style for nodes in this graph.
`protected void`
`setSelectionToWidget(List l, boolean reveal)`
`void`
`unReveal(Object element)`
`void`
`update(Object[] elements, String[] properties)`
NOTE: If a layout algorithm is set in the receiver, layout is performed after the update.
`void`
`update(Object element, String[] properties)`
NOTE: If a layout algorithm is set in the receiver, layout is performed after the update.

### Methods inherited from class org.eclipse.zest.core.viewers.AbstractStructuredGraphViewer

`addConstraintAdapter, addGraphModelConnection, addGraphModelContainer, addGraphModelNode, addGraphModelNode, addNode, addRelationship, addRelationship, createConnectionObject, createNodeObject, doFindInputItem, doFindItem, doUpdateItem, filterVisuals, findItems, getConnectionsArray, getConnectionStyle, getConstraintAdapters, getGraphModelConnection, getGraphModelNode, getGraphStyle, getNodesArray, getNodesMap, getNodeStyle, getRawChildren, getSelectionFromWidget, getWidgetSelection, internalRefresh, removeGraphModelConnection, removeGraphModelNode, removeNode, removeRelationship`

### Methods inherited from class org.eclipse.zest.core.viewers.AbstractZoomableViewer

`zoomTo`

### Methods inherited from class org.eclipse.jface.viewers.StructuredViewer

`addDoubleClickListener, addDragSupport, addDropSupport, addFilter, addOpenListener, addPostSelectionChangedListener, assertContentProviderType, assertElementsNotNull, associate, buildLabel, disassociate, equals, filter, findItem, findItems, fireDoubleClick, fireOpen, firePostSelectionChanged, getColorAndFontCollector, getComparator, getComparer, getFilteredChildren, getFilters, getItem, getRoot, getSelection, getSortedChildren, getSorter, getStructuredSelection, handleDispose, handleDoubleSelect, handleInvalidSelection, handleLabelProviderChanged, handleOpen, handlePostSelect, handleSelect, hasFilters, internalRefresh, internalUpdate, mapElement, needsRefilter, preservingSelection, refresh, refresh, refreshItem, removeDoubleClickListener, removeFilter, removeOpenListener, removePostSelectionChangedListener, resetFilters, setComparator, setComparer, setFilters, setInput, setLabelProvider, setSelection, setSelectionToWidget, setSorter, setUseHashlookup, testFindItem, testFindItems, unmapAllElements, unmapElement, unmapElement, updateItem, updateSelection, usingElementMap`

### Methods inherited from class org.eclipse.jface.viewers.ContentViewer

`getContentProvider, getInput, getLabelProvider, labelProviderChanged`

### Methods inherited from class org.eclipse.jface.viewers.Viewer

`addHelpListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, scrollDown, scrollUp, setData, setSelection`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.jface.viewers.ISelectionProvider

`getSelection, setSelection`

## Field Details

### graph

protected Graph graph

## Constructor Details

### GraphViewer

public GraphViewer(Composite composite, int style)
Initializes the viewer.

Parameters:
  `composite` - The parent composite.
  `style` - The style for the viewer and the related Graph.
See Also:
  - `SWT.V_SCROLL`
  - `SWT.H_SCROLL`

### GraphViewer

public GraphViewer(Graph graph)
Initializes the viewer.

Parameters:
  `graph` - The initial graph widget
Since:
  1.14

## Method Details

### setControl

public void setControl(Graph graphModel)

### hookControl

protected void hookControl(Control control)

Overrides:
  `hookControl` in class `StructuredViewer`

### inputChanged

protected void inputChanged(Object input, Object oldInput)

Overrides:
  `inputChanged` in class `AbstractStructuredGraphViewer`

### getStyle

public int getStyle()
Gets the styles for this structuredViewer

### getGraphControl

public Graph getGraphControl()

Overrides:
  `getGraphControl` in class `AbstractStructuredGraphViewer`

### setLayoutAlgorithm

public void setLayoutAlgorithm(LayoutAlgorithm algorithm, boolean runLayout)
Sets the layout algorithm to use for this viewer.

Specified by:
  `setLayoutAlgorithm` in class `AbstractStructuredGraphViewer`
Parameters:
  `algorithm` - the algorithm to layout the nodes
  `runLayout` - if the layout should be run

### setLayoutAlgorithm

public void setLayoutAlgorithm(LayoutAlgorithm algorithm)
Description copied from class: `AbstractStructuredGraphViewer`
Equivalent to setLayoutAlgorithm(algorithm, false).

Overrides:
  `setLayoutAlgorithm` in class `AbstractStructuredGraphViewer`
Parameters:
  `algorithm` -

### setNodeStyle

public void setNodeStyle(int nodeStyle)
Description copied from class: `AbstractStructuredGraphViewer`
Sets the default style for nodes in this graph. Note: if an input is set on the viewer, a ZestException will be thrown.

Overrides:
  `setNodeStyle` in class `AbstractStructuredGraphViewer`
Parameters:
  `nodeStyle` - the style for the nodes.
See Also:
  - `ZestStyles`

### setContentProvider

public void setContentProvider(IContentProvider contentProvider)

Overrides:
  `setContentProvider` in class `StructuredViewer`

### findGraphItem

public GraphItem findGraphItem(Object element)
Finds the graph widget item for a given user model item. Note: This method returns an internal interface (GraphItem). You should be able to cast this to either a IGraphModelNode or IGraphModelConnection (which are also internal). These are internal because this API is not stable. If use this method (to access internal nodes and edges), your code may not compile between versions.

Parameters:
  `element` - The user model node.
Returns:
  An IGraphItem. This should be either a IGraphModelNode or IGraphModelConnection

### applyLayout

public void applyLayout()
Applys the current layout to the viewer

Specified by:
  `applyLayout` in class `AbstractStructuredGraphViewer`

### setSelectionToWidget

protected void setSelectionToWidget(List l, boolean reveal)

Overrides:
  `setSelectionToWidget` in class `AbstractStructuredGraphViewer`

### getControl

public Control getControl()

Specified by:
  `getControl` in class `Viewer`

### getNodeElements

public Object[] getNodeElements()

Overrides:
  `getNodeElements` in class `AbstractStructuredGraphViewer`

### getConnectionElements

public Object[] getConnectionElements()

Overrides:
  `getConnectionElements` in class `AbstractStructuredGraphViewer`

### reveal

public void reveal(Object element)

Overrides:
  `reveal` in class `AbstractStructuredGraphViewer`

### setConnectionStyle

public void setConnectionStyle(int connectionStyle)
Description copied from class: `AbstractStructuredGraphViewer`
Sets the default style for connections in this graph. Note: if an input is set on the viewer, a ZestException will be thrown.

Overrides:
  `setConnectionStyle` in class `AbstractStructuredGraphViewer`
Parameters:
  `connectionStyle` - the style for the connections.
See Also:
  - `ZestStyles`

### unReveal

public void unReveal(Object element)

Overrides:
  `unReveal` in class `AbstractStructuredGraphViewer`

### addSelectionChangedListener

public void addSelectionChangedListener(ISelectionChangedListener listener)

Specified by:
  `addSelectionChangedListener` in interface `ISelectionProvider`
Overrides:
  `addSelectionChangedListener` in class `Viewer`

### removeSelectionChangedListener

public void removeSelectionChangedListener(ISelectionChangedListener listener)

Specified by:
  `removeSelectionChangedListener` in interface `ISelectionProvider`
Overrides:
  `removeSelectionChangedListener` in class `Viewer`

### refresh

public void refresh(Object element)
NOTE: If a layout algorithm is set in the receiver, layout is performed after the refresh.

Overrides:
  `refresh` in class `StructuredViewer`

### refresh

public void refresh(Object element, boolean updateLabels)
NOTE: If a layout algorithm is set in the receiver, layout is performed after the refresh.

Overrides:
  `refresh` in class `StructuredViewer`

### update

public void update(Object element, String[] properties)
NOTE: If a layout algorithm is set in the receiver, layout is performed after the update.

Overrides:
  `update` in class `StructuredViewer`

### update

public void update(Object[] elements, String[] properties)
NOTE: If a layout algorithm is set in the receiver, layout is performed after the update.

Overrides:
  `update` in class `StructuredViewer`

### getZoomManager

protected org.eclipse.zest.core.viewers.internal.ZoomManager getZoomManager()
Description copied from class: `AbstractZoomableViewer`
Returns a ZoomManager that zooming can be done on. May return null if none is available.

Specified by:
  `getZoomManager` in class `AbstractZoomableViewer`
Returns:
  a ZoomManager that zooming can be done on.

### getFactory

protected org.eclipse.zest.core.viewers.internal.IStylingGraphModelFactory getFactory()
Description copied from class: `AbstractStructuredGraphViewer`
Returns the factory used to create the model. This must not be called before the content provider is set.

Specified by:
  `getFactory` in class `AbstractStructuredGraphViewer`

### getLayoutAlgorithm

protected LayoutAlgorithm getLayoutAlgorithm()
Description copied from class: `AbstractStructuredGraphViewer`
Gets the current layout algorithm.

Specified by:
  `getLayoutAlgorithm` in class `AbstractStructuredGraphViewer`
Returns:
  the current layout algorithm.