Class AbstractLinkDiagramLayouter
- java.lang.Object
 - 
- com.nomagic.magicdraw.uml.symbols.layout.AbstractDiagramLayouter
 - 
- com.nomagic.magicdraw.uml.symbols.layout.AbstractLinkDiagramLayouter
 
 
 
- 
- All Implemented Interfaces:
 DiagramLayouter,java.lang.Cloneable
- Direct Known Subclasses:
 OrganicLinkDiagramLayouter,OrthogonalLinkDiagramLayouter
@OpenApi public abstract class AbstractLinkDiagramLayouter extends AbstractDiagramLayouter
Layout the diagram symbols in diagram. 
- 
- 
Constructor Summary
Constructors Constructor Description AbstractLinkDiagramLayouter(java.lang.String optionId, boolean nodes, boolean paths)Construct AbstractLinkDiagramLayouter with the given argument.AbstractLinkDiagramLayouter(java.lang.String optionId, boolean nodes, boolean paths, boolean supportsSubgraph)Deprecated.supportsSubgraph has no effect 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static voidaddIfNotPresent(java.util.Collection<PresentationElement> pathsToLayout, PresentationElement el)Adds element el to the list, if it does not exist there alreadyprotected voidclearOldRectangles(UMLGraph graph)Clears old rectangles for shapes.private static voidcollectShapesOnEdgeRecursively(PresentationElement next, java.util.List<PresentationElement> allShapes)protected booleancontainsSelectedFromTheSameParent(DiagramPresentationElement dpe)Checks if selected elements have the same parent.protected UMLGraphcreateGraph(DiagramPresentationElement dpe, AbstractDiagramLayouterOptionsGroup optionsGroup)Constructs a graph for layoutprivate static java.util.List<PathElement>getAllPaths(PresentationElement next)static java.util.Set<PresentationElement>getConnectedPaths(DiagramPresentationElement diagramView)Gets the selected paths and any paths that are connected to selected shapes.protected java.util.Set<PresentationElement>getSelected(DiagramPresentationElement diagramView)Collects a set of selected layoutable presentation elements in a diagramprotected voidplaceLegendAndInfo(DiagramPresentationElement diagram, UMLGraph graph)Places diagram legends and infos.protected voidpostprocessing(UMLGraph graph, com.nomagic.magicdraw.commands.MacroCommand mc)Does some post processing after layout.protected voidresizeFrameIfNecessary(DiagramPresentationElement dpe, UMLGraph graph, com.nomagic.magicdraw.commands.MacroCommand mc)Resizes diagram frame if there are no elements selected.- 
Methods inherited from class com.nomagic.magicdraw.uml.symbols.layout.AbstractDiagramLayouter
afterLayout, canLayout, clone, createCommands, createGraph, createLayoutParameters, drawLayoutResults, getAnchoredPresentationElement, getDiagramLayouterAbortHandler, getLayoutParameter, getMessagesFromPath, getOptionsID, isTypeSupported, layout, layout, needPartitionData, preProcessing, setAnchoredPresentationElement, setLabelConsiderationMode, setLayoutParameter 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
AbstractLinkDiagramLayouter
@OpenApi public AbstractLinkDiagramLayouter(java.lang.String optionId, boolean nodes, boolean paths)Construct AbstractLinkDiagramLayouter with the given argument.- Parameters:
 optionId- String.nodes- boolean.paths- boolean.
 
- 
AbstractLinkDiagramLayouter
@OpenApi @Deprecated public AbstractLinkDiagramLayouter(java.lang.String optionId, boolean nodes, boolean paths, boolean supportsSubgraph)Deprecated.supportsSubgraph has no effectConstruct AbstractLinkDiagramLayouter with the given argument.- Parameters:
 optionId- String.nodes- boolean.paths- boolean.supportsSubgraph- boolean.
 
 - 
 
- 
Method Detail
- 
createGraph
@OpenApi protected UMLGraph createGraph(DiagramPresentationElement dpe, AbstractDiagramLayouterOptionsGroup optionsGroup)
Constructs a graph for layout- Overrides:
 createGraphin classAbstractDiagramLayouter- Parameters:
 dpe- shapes and edges are taken from this diagramoptionsGroup- layouter options- Returns:
 - a created UMLGraph
 
 
- 
resizeFrameIfNecessary
protected void resizeFrameIfNecessary(DiagramPresentationElement dpe, UMLGraph graph, com.nomagic.magicdraw.commands.MacroCommand mc)
Description copied from class:AbstractDiagramLayouterResizes diagram frame if there are no elements selected.- Parameters:
 dpe- diagrammc- macro command
 
- 
postprocessing
protected void postprocessing(UMLGraph graph, com.nomagic.magicdraw.commands.MacroCommand mc)
Description copied from class:AbstractDiagramLayouterDoes some post processing after layout. Moves the graph, layouts swimlanes.- Parameters:
 graph- the graph data for post processing
 
- 
containsSelectedFromTheSameParent
protected boolean containsSelectedFromTheSameParent(DiagramPresentationElement dpe)
Description copied from class:AbstractDiagramLayouterChecks if selected elements have the same parent. if nothing is selected return true 
- 
getSelected
@OpenApi protected java.util.Set<PresentationElement> getSelected(DiagramPresentationElement diagramView)
Description copied from class:AbstractDiagramLayouterCollects a set of selected layoutable presentation elements in a diagram- Overrides:
 getSelectedin classAbstractDiagramLayouter- Parameters:
 diagramView- the diagram that elements were selected in- Returns:
 - the selected paths and any paths that are connected to selected shapes. Paths connected by other shape element on shape edge are also included
 
 
- 
getConnectedPaths
public static java.util.Set<PresentationElement> getConnectedPaths(DiagramPresentationElement diagramView)
Gets the selected paths and any paths that are connected to selected shapes. Paths connected by other shape element on shape edge are also included- Parameters:
 diagramView- diagram- Returns:
 - a set of path elements that should be processed
 
 
- 
getAllPaths
private static java.util.List<PathElement> getAllPaths(PresentationElement next)
- Parameters:
 next- the element to collect all paths from(collects from on edge shapes also)
 
- 
collectShapesOnEdgeRecursively
private static void collectShapesOnEdgeRecursively(PresentationElement next, java.util.List<PresentationElement> allShapes)
- Parameters:
 next- the object to search inallShapes- stores all objects collected recursively
 
- 
addIfNotPresent
private static void addIfNotPresent(java.util.Collection<PresentationElement> pathsToLayout, PresentationElement el)
Adds element el to the list, if it does not exist there already- Parameters:
 pathsToLayout- the list to add toel- the element to add
 
- 
clearOldRectangles
protected void clearOldRectangles(UMLGraph graph)
Description copied from class:AbstractDiagramLayouterClears old rectangles for shapes. The old rectangle is used for link placement in movePath, MoveManager.- Parameters:
 graph- layouted graph
 
- 
placeLegendAndInfo
protected void placeLegendAndInfo(DiagramPresentationElement diagram, UMLGraph graph)
Description copied from class:AbstractDiagramLayouterPlaces diagram legends and infos.- Parameters:
 diagram- diagram
 
 - 
 
 -