|
|
Line 1: |
Line 1: |
− | ''Note to non-wiki readers: This documentation is generated from the Eclipse wiki - if you have corrections or additions it would be awesome if you added them in [http://wiki.eclipse.org/GEF/GEF4/Zest/FX the original wiki page]''.
| + | #REDIRECT [[GEF/GEF4/Zest]] |
− | | + | |
− | == GEF4 Zest.FX ==
| + | |
− | | + | |
− | GEF4 Zest.FX is an alternative Zest.Core implementation based on [[GEF/GEF4/MVC|GEF4 MVC]] and JavaFX instead of GEF 3.x and SWT. The graph model underlying Zest.FX is provided by [[GEF/GEF4/Graph|GEF4 Graph]]. Specific implementations of the interfaces defined by [[GEF/GEF4/Layout|GEF4 Layout]] for [[GEF/GEF4/Graph|GEF4 Graph]] is provided in the Zest.Layout package. The MVC part can be found in the Zest.FX package, and the Eclipse UI ViewPart can be found in the Zest.FX.Example project.
| + | |
− | | + | |
− | == Layout Implementations ==
| + | |
− | | + | |
− | The GEF4 Layout interfaces are implemented for the GEF4 Graph data model. The layout objects are constructed from a given Graph object.
| + | |
− | | + | |
− | === Properties ===
| + | |
− | | + | |
− | The layout objects support a general properties map. The specific properties for which interface methods are defined are implemented using this properties map.
| + | |
− | | + | |
− | When transferring the graph objects into layout objects, the attributes of the graph objects are examined, altering the layout objects as follows:
| + | |
− | | + | |
− | * LABEL<br />Contains the label of the node/edge.
| + | |
− | * EDGE_STYLE<br />Specifies if the edge should be drawn solid, dashed, or dotted.
| + | |
− | * GRAPH_TYPE<br />Specifies whether edges are directed or undirected.
| + | |
− | | + | |
− | == MVC ==
| + | |
− | | + | |
− | The GEF4 MVC component is used as the framework for the viewer.
| + | |
− | | + | |
− | The ContentParts are implemented for the GEF4 Graph data model:
| + | |
− | | + | |
− | * GraphContentPart
| + | |
− | * NodeContentPart
| + | |
− | * EdgeContentPart
| + | |
− | | + | |
− | An ILayoutModel is used to distribute the LayoutContext to all ContentParts. A GraphRootPart is used to construct the LayoutContext and set it on the ILayoutModel.
| + | |
− | | + | |
− | === ILayoutModel ===
| + | |
− | | + | |
− | The ILayoutModel holds a LayoutContext.
| + | |
− | | + | |
− | === GraphRootPart ===
| + | |
− | | + | |
− | The GraphRootPart stores a LayoutContext in the ILayoutModel. That LayoutContext is created when the viewer's content changes. The GraphRootPart does also listen to viewport changes to trigger a re-layout.
| + | |
− | | + | |
− | === ZestFXExampleView ===
| + | |
− | | + | |
− | The ZestFXExampleView is a viewer for an example graph:
| + | |
− | | + | |
− | [[Image:GEF4Zest.FX.ZestFXExampleView.png|ZestFXExampleView]]
| + | |