|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.cau.cs.kieler.kiml.ui.layout.DiagramLayoutManager
de.cau.cs.kieler.kiml.gmf.GmfDiagramLayoutManager
public class GmfDiagramLayoutManager
Diagram layout manager that is able to generically layout diagrams generated by GMF. The internal
KGraph graph structure is built from the structure of edit parts in the diagram. The new layout
is applied to the diagram using GmfLayoutEditPolicy
, which creates a
GmfLayoutCommand
to directly manipulate data in the GMF notation model, where layout
information is stored persistently.
Field Summary |
---|
Fields inherited from class de.cau.cs.kieler.kiml.ui.layout.DiagramLayoutManager |
---|
MAX_PROGRESS_LEVELS |
Constructor Summary | |
---|---|
GmfDiagramLayoutManager()
|
Method Summary | |
---|---|
protected void |
applyLayout()
Applies the transferred layout to the original diagram. |
KNode |
buildLayoutGraph(IWorkbenchPart workbenchPart,
EditPart editPart,
boolean layoutAncestors)
Builds a KGraph instance for the given editor or edit part. |
protected void |
cleanupAncestryPath(KNode topNode)
Cleans the path from the ancestry target node to the top level node, including all parallel paths. |
protected KNode |
doBuildLayoutGraph(org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart rootPart)
Builds the layout graph for the given root edit part. |
IGraphicalFrameworkBridge |
getBridge()
Returns the graphical framework bridge for this layout manager. |
protected ICachedLayout |
getCachedLayout()
Returns the cached layout for the last layout run. |
protected org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart |
getDiagramEditPart()
Returns the diagram edit part. |
EditPart |
getEditPart(KNode knode)
Returns the edit part associated with the given layout node. |
protected Map<org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart,KGraphElement> |
getEditPart2GraphElemMap()
Returns the map of graphical edit parts to corresponding layout graph elements. |
protected Map<KGraphElement,org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart> |
getGraphElem2EditPartMap()
Returns the map of layout graph elements to corresponding edit parts. |
protected Command |
getLayoutCommand()
Returns the command that is calculated by transferLayout(boolean) to apply the
layout. |
ILayoutConfig |
getLayoutConfig(EditPart editPart)
Returns a layout configuration for the given edit part. |
KNode |
getLayoutGraph()
Returns the last built layout graph. |
KNode |
getLayoutNode(EditPart editPart)
Returns the layout node associated with the given edit part. |
protected void |
processEdgeLabels(org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart connection,
KEdge edge,
EdgeLabelPlacement placement,
float offsetx,
float offsety,
ILayoutConfig layoutConfig)
Process the labels of an edge. |
protected void |
setEdgeLayout(KEdgeLayout edgeLayout,
org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart connection,
float offsetx,
float offsety)
Stores the layout information of the given connection edit part into an edge layout. |
protected void |
setLayoutCommand(Command thelayoutCommand)
Sets the given command as new layout command. |
protected boolean |
supports(EditPart editPart)
Determines whether this layout manager is able to perform layout for the given edit part. |
protected boolean |
supports(IWorkbenchPart workbenchPart)
Determines whether this layout manager is able to perform layout for the given editor. |
protected void |
transferLayout(boolean cacheLayout)
Transfers all layout data from the last created KGraph instance to the original diagram. |
Methods inherited from class de.cau.cs.kieler.kiml.ui.layout.DiagramLayoutManager |
---|
applyAndZoom, applyAnimatedLayout, calcAnimationTime, getExternalConfig, getPriority, getProgressMonitor, layout, layout, layout, setLayoutConfig, setPriority |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public GmfDiagramLayoutManager()
Method Detail |
---|
protected Map<KGraphElement,org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart> getGraphElem2EditPartMap()
protected Map<org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart,KGraphElement> getEditPart2GraphElemMap()
protected org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart getDiagramEditPart()
protected Command getLayoutCommand()
transferLayout(boolean)
to apply the
layout.
protected void setLayoutCommand(Command thelayoutCommand)
thelayoutCommand
- the apply layout commandprotected boolean supports(IWorkbenchPart workbenchPart)
supports
in class DiagramLayoutManager
workbenchPart
- a workbench part
protected boolean supports(EditPart editPart)
supports
in class DiagramLayoutManager
editPart
- an edit part
public IGraphicalFrameworkBridge getBridge()
getBridge
in class DiagramLayoutManager
public ILayoutConfig getLayoutConfig(EditPart editPart)
editPart
is null
, a generic layout configuration is
created.
getLayoutConfig
in class DiagramLayoutManager
editPart
- an edit part
public KNode buildLayoutGraph(IWorkbenchPart workbenchPart, EditPart editPart, boolean layoutAncestors)
buildLayoutGraph
in class DiagramLayoutManager
workbenchPart
- the workbench part for which layout is performed, or null
editPart
- the parent edit part for which layout is performed, or
null
if the whole diagram shall be layoutedlayoutAncestors
- if true, layout is not only performed for the selected edit
part, but also for its ancestors
protected void transferLayout(boolean cacheLayout)
transferLayout
in class DiagramLayoutManager
cacheLayout
- if true, the layout result is cached for the underlying modelprotected void applyLayout()
applyLayout
in class DiagramLayoutManager
public KNode getLayoutGraph()
getLayoutGraph
in class DiagramLayoutManager
protected ICachedLayout getCachedLayout()
getCachedLayout
in class DiagramLayoutManager
public EditPart getEditPart(KNode knode)
#buildLayoutGraph(IEditorPart, EditPart, boolean)
was
called.
getEditPart
in class DiagramLayoutManager
knode
- a node from the layout graph
null
public KNode getLayoutNode(EditPart editPart)
#buildLayoutGraph(IEditorPart, EditPart, boolean)
was
called.
getLayoutNode
in class DiagramLayoutManager
editPart
- an edit part of the currently layouted diagram
null
protected KNode doBuildLayoutGraph(org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart rootPart)
rootPart
- the root edit part for layout
protected void setEdgeLayout(KEdgeLayout edgeLayout, org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart connection, float offsetx, float offsety)
edgeLayout
- an edge layoutconnection
- a connection edit partoffsetx
- horizontal offset to be subtracted from coordinatesoffsety
- vertical offset to be subtracted from coordinatesprotected void processEdgeLabels(org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart connection, KEdge edge, EdgeLabelPlacement placement, float offsetx, float offsety, ILayoutConfig layoutConfig)
connection
- the connection edit partedge
- the layout edgeplacement
- predefined placement for all labels, or UNDEFINED
if the placement
shall be derived from the edit partoffsetx
- the offset for horizontal coordinatesoffsety
- the offset for vertical coordinateslayoutConfig
- layout configuration handlerprotected void cleanupAncestryPath(KNode topNode)
topNode
- the top level node
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |