Class Layouting

java.lang.Object
com.nomagic.magicdraw.uml.symbols.layout.Layouting

@OpenApiAll public class Layouting extends Object
Provides API for layouting diagrams.

Example 1: Layout a diagram using the default diagram layouter

 AbstractDiagramPresentationElement diagram  = ...; // Diagram to layout
 diagram.open();
 Layouting.layout(diagram);
 

Example 2: Layout a diagram using any diagram layouter

The available diagram layouter constant is provided in the class. e.g. HIERARCHIC_DIAGRAM_LAYOUTER
 AbstractDiagramPresentationElement diagram  = ...; // Diagram to layout
 diagram.open()
 Layouting.layout(diagram, Layouting.HIERARCHIC_DIAGRAM_LAYOUTER);
 

Example 3: Layout a diagram using any diagram layouter, and appropriate options

The available diagram layouter constant are provided in the class. e.g. HIERARCHIC_DIAGRAM_LAYOUTER
 AbstractDiagramPresentationElement diagram  = ...; // Diagram to layout
 diagram.open()
 //modify the environment options
 HierarchicLayouterOptionsGroup optionsGroup = (HierarchicLayouterOptionsGroup) Application.getInstance().getEnvironmentOptions().getGroup(HierarchicLayouterOptionsGroup.ID);
 String orientationBefore = optionsGroup.getOrientation();
 optionsGroup.setOrientation(OrientationOptions.LEFT_TO_RIGHT);

 Layouting.layout(diagram, Layouting.HIERARCHIC_DIAGRAM_LAYOUTER, optionsGroup);
 //set orientation back
 optionsGroup.setOrientation(orientationBefore);
 

Options for layouters:

 HIERARCHIC_DIAGRAM_LAYOUTER - HierarchicLayouterOptionsGroup
 STATE_DIAGRAM_LAYOUTER - StateMachineLayouterOptionsGroup
 ACTIVITY_DIAGRAM_LAYOUTER - ActivityLayouterOptionsGroup
 BUSINESS_PROCESS_DIAGRAM_LAYOUTER - BusinessProcessLayouterOptionsGroup
 CLASS_DIAGRAM_LAYOUTER - ClassDiagramLayouterOptionsGroup
 ORDERED_HIERARCHIC_DIAGRAM_LAYOUTER - OrderedHierarchicDiagramLayouterOptionsGroup
 COMPOSITE_DIAGRAM_LAYOUTER - CompositeLayouterOptionsGroup
 TREE_DIAGRAM_LAYOUTER - TreeLayouterOptionsGroup
 ORTHOGONAL_DIAGRAM_LAYOUTER - OrthogonalLayouterOptionsGroup
 GRID_DIAGRAM_LAYOUTER - GridLayouterOptionsGroup
 CIRCULAR_DIAGRAM_LAYOUTER - CircularLayouterOptionsGroup
 ORGANIC_DIAGRAM_LAYOUTER - OrganicLayouterOptionsGroup

 ORTHOGONAL_DIAGRAM_ROUTER - OrthogonalRouterOptionsGroup
 ORGANIC_DIAGRAM_ROUTER - OrganicRouterOptionsGroup
 
  • Field Details

  • Constructor Details

    • Layouting

      public Layouting()
  • Method Details

    • layout

      public static boolean layout(AbstractDiagramPresentationElement diagram)
      Layout a diagram(or selected symbols, if any) using its default layouter using a new session or inside an already existing session.
      Parameters:
      diagram - the diagram to layout
      Returns:
      true if layout was a success, false otherwise
    • layout

      public static boolean layout(AbstractDiagramPresentationElement diagram, String layouterID)
      Layout a diagram(or selected symbols, if any) using provided layouter and its default options using a new session or inside an already existing session.
      Parameters:
      diagram - the diagram to layout
      layouterID - layouter to use
      Returns:
      true if layout was a success, false otherwise
    • layout

      public static boolean layout(AbstractDiagramPresentationElement diagram, String layouterID, AbstractDiagramLayouterOptionsGroup optionsGroup)
      Layout a diagram(or selected symbols, if any) using provided layouter using a new session or inside an already existing session.
      Parameters:
      diagram - the diagram to layout
      layouterID - layouter to use
      optionsGroup - the layouters options
      Returns:
      true if layout was a success, false otherwise