de.cau.cs.kieler.kiml.options
Class LayoutOptions

java.lang.Object
  extended by de.cau.cs.kieler.kiml.options.LayoutOptions

public final class LayoutOptions
extends Object

Definition of layout options. Layout options are divided into programmatic options, which are defined by static code, and user interface options, which are defined by extension point. The former can be accessed with static variables, while the latter are accessed with methods.

Rating yellow
(2011-03-14) reviewed by cmot, cds

Field Summary
static IProperty<String> ALGORITHM
          Which layout algorithm to use for the content of a parent node.
static String ALGORITHM_ID
          layout option key: layout algorithm (string).
static IProperty<Alignment> ALIGNMENT
          Alignment of a node.
static String ALIGNMENT_ID
          layout option key: alignment (enum).
static IProperty<Float> ASPECT_RATIO
          The desired aspect ratio of a parent node.
static String ASPECT_RATIO_ID
          layout option key: aimed aspect ratio (float).
static IProperty<KVectorChain> BEND_POINTS
          The bend points of an edge.
static String BEND_POINTS_ID
          layout option key: fixed bend points for edges (object).
static IProperty<Float> BORDER_SPACING
          Spacing of the content of a parent node to its inner border.
static String BORDER_SPACING_ID
          layout option key: distance to border of the drawing (float).
static IProperty<Boolean> COMMENT_BOX
          Whether the associated node is to be interpreted as a comment box.
static String COMMENT_BOX_ID
          layout option key: comment box (boolean).
static IProperty<Boolean> DEBUG_MODE
          Whether the algorithm should run in debug mode for the content of a parent node.
static String DEBUG_MODE_ID
          layout option key: debug mode (boolean).
static IProperty<String> DIAGRAM_TYPE
          The diagram type of a parent node.
static String DIAGRAM_TYPE_ID
          layout option key: diagram type (string).
static IProperty<Direction> DIRECTION
          The overall direction of layout: right, left, down, or up.
static String DIRECTION_ID
          layout option key: direction of layout (enum).
static IProperty<EdgeLabelPlacement> EDGE_LABEL_PLACEMENT
          Where to place an edge label: at the head, center, or tail.
static String EDGE_LABEL_PLACEMENT_ID
          layout option key: placement positions for edge labels (enum).
static IProperty<EdgeRouting> EDGE_ROUTING
          What kind of edge routing style should be applied for the content of a parent node.
static String EDGE_ROUTING_ID
          layout option key: edge routing style (enum).
static IProperty<EdgeType> EDGE_TYPE
          The type of edge.
static String EDGE_TYPE_ID
          layout option key: edge type (enum).
static IProperty<Boolean> EXPAND_NODES
          Whether the size of contained nodes should be expanded to fill the whole area.
static String EXPAND_NODES_ID
          layout option key: expand nodes to fill their parent (boolean).
static IProperty<Boolean> FIXED_SIZE
          Whether the size of the associated node is fixed.
static String FIXED_SIZE_ID
          layout option key: size constraint for nodes (boolean).
static IProperty<String> FONT_NAME
          The name of the font that is used for a label.
static String FONT_NAME_ID
          layout option key: font name (string).
static IProperty<Integer> FONT_SIZE
          The size of the font that is used for a label.
static String FONT_SIZE_ID
          layout option key: font size (integer).
static IProperty<Boolean> HYPERNODE
          Whether the associated node is to be interpreted as a hypernode.
static String HYPERNODE_ID
          layout option key: hypernode (boolean).
static IProperty<Boolean> INTERACTIVE
          Whether the algorithm should be run in debug mode for the content of a parent node.
static String INTERACTIVE_ID
          layout option key: optimize layout for user interaction (boolean).
static IProperty<Float> LABEL_SPACING
          Determines the amount of space to be left around the labels of the associated edge.
static String LABEL_SPACING_ID
          layout option key: spacing of edge labels to edges (float).
static IProperty<Boolean> LAYOUT_HIERARCHY
          Whether the whole hierarchy shall be layouted.
static String LAYOUT_HIERARCHY_ID
          layout option key: layout hierarchy (boolean).
static IProperty<Float> MIN_HEIGHT
          The minimal height of a node.
static String MIN_HEIGHT_ID
          layout option key: minimal height (float).
static IProperty<Float> MIN_WIDTH
          The minimal width of a node.
static String MIN_WIDTH_ID
          layout option key: minimal width (float).
static IProperty<Boolean> NO_LAYOUT
          No layout is done for the associated element.
static String NO_LAYOUT_ID
          layout option key: no layout (boolean).
static IProperty<Float> OFFSET
          Offset of a graph element.
static String OFFSET_ID
          layout option key: offset of ports on the node border (float).
static IProperty<PortConstraints> PORT_CONSTRAINTS
          What constraints on port positions are given for the associated node.
static String PORT_CONSTRAINTS_ID
          layout option key: constraints for port positions (enum).
static IProperty<Integer> PORT_RANK
          Deprecated.  
static String PORT_RANK_ID
          Deprecated.  
static IProperty<PortSide> PORT_SIDE
          On which side of its corresponding node a port is situated.
static String PORT_SIDE_ID
          layout option key: side of a port on its node's boundary (enum).
static IProperty<KVector> POSITION
          The position of a node, port, or label.
static String POSITION_ID
          layout option key: pre-defined position (object).
static IProperty<Integer> PRIORITY
          The priority of a graph element.
static String PRIORITY_ID
          layout option key: priority of elements (integer).
static IProperty<Integer> RANDOM_SEED
          A pre-defined seed for pseudo-random number generators.
static String RANDOM_SEED_ID
          layout option key: randomization seed (integer).
static IProperty<Boolean> SEPARATE_CC
          Property for choosing whether connected components are processed separately.
static String SEPARATE_CC_ID
          layout option key: separation of connected components (boolean).
static IProperty<Shape> SHAPE
          Which shape is to be assumed for the associated node.
static String SHAPE_ID
          layout option key: shape of a node (enum).
static IProperty<Float> SPACING
          Overall spacing between elements.
static String SPACING_ID
          layout option key: minimal distance between elements (float).
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COMMENT_BOX_ID

public static final String COMMENT_BOX_ID
layout option key: comment box (boolean).

See Also:
Constant Field Values

COMMENT_BOX

public static final IProperty<Boolean> COMMENT_BOX
Whether the associated node is to be interpreted as a comment box. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related. [programmatically set]


DIAGRAM_TYPE_ID

public static final String DIAGRAM_TYPE_ID
layout option key: diagram type (string).

See Also:
Constant Field Values

DIAGRAM_TYPE

public static final IProperty<String> DIAGRAM_TYPE
The diagram type of a parent node. Diagram types are defined via extension point and are given an identifier and a name. The value of this option must be one of the pre-defined diagram types. [programmatically set]


EDGE_LABEL_PLACEMENT_ID

public static final String EDGE_LABEL_PLACEMENT_ID
layout option key: placement positions for edge labels (enum).

See Also:
Constant Field Values

EDGE_LABEL_PLACEMENT

public static final IProperty<EdgeLabelPlacement> EDGE_LABEL_PLACEMENT
Where to place an edge label: at the head, center, or tail. [programmatically set]


EDGE_TYPE_ID

public static final String EDGE_TYPE_ID
layout option key: edge type (enum).

See Also:
Constant Field Values

EDGE_TYPE

public static final IProperty<EdgeType> EDGE_TYPE
The type of edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations. [programmatically set]


FONT_NAME_ID

public static final String FONT_NAME_ID
layout option key: font name (string).

See Also:
Constant Field Values

FONT_NAME

public static final IProperty<String> FONT_NAME
The name of the font that is used for a label. [programmatically set]


FONT_SIZE_ID

public static final String FONT_SIZE_ID
layout option key: font size (integer).

See Also:
Constant Field Values

FONT_SIZE

public static final IProperty<Integer> FONT_SIZE
The size of the font that is used for a label. [programmatically set]


HYPERNODE_ID

public static final String HYPERNODE_ID
layout option key: hypernode (boolean).

See Also:
Constant Field Values

HYPERNODE

public static final IProperty<Boolean> HYPERNODE
Whether the associated node is to be interpreted as a hypernode. All incident edges of a hypernode belong to the same hyperedge. [programmatically set]


MIN_HEIGHT_ID

public static final String MIN_HEIGHT_ID
layout option key: minimal height (float).

See Also:
Constant Field Values

MIN_HEIGHT

public static final IProperty<Float> MIN_HEIGHT
The minimal height of a node. [programmatically set]


MIN_WIDTH_ID

public static final String MIN_WIDTH_ID
layout option key: minimal width (float).

See Also:
Constant Field Values

MIN_WIDTH

public static final IProperty<Float> MIN_WIDTH
The minimal width of a node. [programmatically set]


NO_LAYOUT_ID

public static final String NO_LAYOUT_ID
layout option key: no layout (boolean).

See Also:
Constant Field Values

NO_LAYOUT

public static final IProperty<Boolean> NO_LAYOUT
No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to avoid their inclusion when the layout results are transferred back to the diagram. [programmatically set]


OFFSET_ID

public static final String OFFSET_ID
layout option key: offset of ports on the node border (float).

See Also:
Constant Field Values

OFFSET

public static final IProperty<Float> OFFSET
Offset of a graph element. This is mostly used to indicate the distance of a port from its node: with a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. [programmatically set]


PORT_SIDE_ID

public static final String PORT_SIDE_ID
layout option key: side of a port on its node's boundary (enum).

See Also:
Constant Field Values

PORT_SIDE

public static final IProperty<PortSide> PORT_SIDE
On which side of its corresponding node a port is situated. [programmatically set]


PORT_RANK_ID

public static final String PORT_RANK_ID
Deprecated. 
layout option key: rank of a port (integer).

See Also:
Constant Field Values

PORT_RANK

public static final IProperty<Integer> PORT_RANK
Deprecated. 
port rank property.


SHAPE_ID

public static final String SHAPE_ID
layout option key: shape of a node (enum).

See Also:
Constant Field Values

SHAPE

public static final IProperty<Shape> SHAPE
Which shape is to be assumed for the associated node. [programmatically set]


ALGORITHM_ID

public static final String ALGORITHM_ID
layout option key: layout algorithm (string).

See Also:
Constant Field Values

ALGORITHM

public static final IProperty<String> ALGORITHM
Which layout algorithm to use for the content of a parent node. This can be either a layout algorithm identifier or a layout type identifier. In the latter case KIML tries to find the most suitable layout algorithm that matches the given layout type.


ALIGNMENT_ID

public static final String ALIGNMENT_ID
layout option key: alignment (enum).

See Also:
Constant Field Values

ALIGNMENT

public static final IProperty<Alignment> ALIGNMENT
Alignment of a node. The meaning of this option depends on the specific layout algorithm.


ASPECT_RATIO_ID

public static final String ASPECT_RATIO_ID
layout option key: aimed aspect ratio (float).

See Also:
Constant Field Values

ASPECT_RATIO

public static final IProperty<Float> ASPECT_RATIO
The desired aspect ratio of a parent node. The algorithm should try to arrange the graph in such a way that the width / height ratio of the resulting drawing approximates the given value.


BEND_POINTS_ID

public static final String BEND_POINTS_ID
layout option key: fixed bend points for edges (object).

See Also:
Constant Field Values

BEND_POINTS

public static final IProperty<KVectorChain> BEND_POINTS
The bend points of an edge. This is used by the de.cau.cs.kieler.kiml.FixedLayoutProvider to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point.


BORDER_SPACING_ID

public static final String BORDER_SPACING_ID
layout option key: distance to border of the drawing (float).

See Also:
Constant Field Values

BORDER_SPACING

public static final IProperty<Float> BORDER_SPACING
Spacing of the content of a parent node to its inner border. The inner border is the node border, which is given by width and height, with subtracted insets.


DEBUG_MODE_ID

public static final String DEBUG_MODE_ID
layout option key: debug mode (boolean).

See Also:
Constant Field Values

DEBUG_MODE

public static final IProperty<Boolean> DEBUG_MODE
Whether the algorithm should run in debug mode for the content of a parent node.


DIRECTION_ID

public static final String DIRECTION_ID
layout option key: direction of layout (enum).

See Also:
Constant Field Values

DIRECTION

public static final IProperty<Direction> DIRECTION
The overall direction of layout: right, left, down, or up.


EDGE_ROUTING_ID

public static final String EDGE_ROUTING_ID
layout option key: edge routing style (enum).

See Also:
Constant Field Values

EDGE_ROUTING

public static final IProperty<EdgeRouting> EDGE_ROUTING
What kind of edge routing style should be applied for the content of a parent node.


EXPAND_NODES_ID

public static final String EXPAND_NODES_ID
layout option key: expand nodes to fill their parent (boolean).

See Also:
Constant Field Values

EXPAND_NODES

public static final IProperty<Boolean> EXPAND_NODES
Whether the size of contained nodes should be expanded to fill the whole area.


FIXED_SIZE_ID

public static final String FIXED_SIZE_ID
layout option key: size constraint for nodes (boolean).

See Also:
Constant Field Values

FIXED_SIZE

public static final IProperty<Boolean> FIXED_SIZE
Whether the size of the associated node is fixed.


INTERACTIVE_ID

public static final String INTERACTIVE_ID
layout option key: optimize layout for user interaction (boolean).

See Also:
Constant Field Values

INTERACTIVE

public static final IProperty<Boolean> INTERACTIVE
Whether the algorithm should be run in debug mode for the content of a parent node.


LABEL_SPACING_ID

public static final String LABEL_SPACING_ID
layout option key: spacing of edge labels to edges (float).

See Also:
Constant Field Values

LABEL_SPACING

public static final IProperty<Float> LABEL_SPACING
Determines the amount of space to be left around the labels of the associated edge.


LAYOUT_HIERARCHY_ID

public static final String LAYOUT_HIERARCHY_ID
layout option key: layout hierarchy (boolean).

See Also:
Constant Field Values

LAYOUT_HIERARCHY

public static final IProperty<Boolean> LAYOUT_HIERARCHY
Whether the whole hierarchy shall be layouted. If this option is not set, each hierarchy level of the graph is processed independently, possibly by different layout algorithms, beginning with the lowest level. If it is set, the algorithm is responsible to process all hierarchy levels that are contained in the associated parent node.


PORT_CONSTRAINTS_ID

public static final String PORT_CONSTRAINTS_ID
layout option key: constraints for port positions (enum).

See Also:
Constant Field Values

PORT_CONSTRAINTS

public static final IProperty<PortConstraints> PORT_CONSTRAINTS
What constraints on port positions are given for the associated node.


POSITION_ID

public static final String POSITION_ID
layout option key: pre-defined position (object).

See Also:
Constant Field Values

POSITION

public static final IProperty<KVector> POSITION
The position of a node, port, or label. This is used by the de.cau.cs.kieler.kiml.FixedLayoutProvider to specify a pre-defined position.


PRIORITY_ID

public static final String PRIORITY_ID
layout option key: priority of elements (integer).

See Also:
Constant Field Values

PRIORITY

public static final IProperty<Integer> PRIORITY
The priority of a graph element. The meaning of this option depends on the specific layout algorithm and the context where it is used.


RANDOM_SEED_ID

public static final String RANDOM_SEED_ID
layout option key: randomization seed (integer).

See Also:
Constant Field Values

RANDOM_SEED

public static final IProperty<Integer> RANDOM_SEED
A pre-defined seed for pseudo-random number generators. This can be used to control randomized layout algorithms. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time).


SEPARATE_CC_ID

public static final String SEPARATE_CC_ID
layout option key: separation of connected components (boolean).

See Also:
Constant Field Values

SEPARATE_CC

public static final IProperty<Boolean> SEPARATE_CC
Property for choosing whether connected components are processed separately.


SPACING_ID

public static final String SPACING_ID
layout option key: minimal distance between elements (float).

See Also:
Constant Field Values

SPACING

public static final IProperty<Float> SPACING
Overall spacing between elements. This is mostly interpreted as the minimal distance between each two nodes and should also influence the spacing between edges.