| ... |
... |
@@ -213,7 +213,7 @@ |
| 213 |
213 |
))) |
| 214 |
214 |
|(% colspan="1" %)(% colspan="1" %) |
| 215 |
215 |
((( |
| 216 |
|
- |
|
216 |
+[[Port Spacing>>doc:||anchor="portSpacing"]] |
| 217 |
217 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 218 |
218 |
((( |
| 219 |
219 |
de.cau.cs.kieler.portSpacing |
| ... |
... |
@@ -229,7 +229,7 @@ |
| 229 |
229 |
))) |
| 230 |
230 |
|(% colspan="1" %)(% colspan="1" %) |
| 231 |
231 |
((( |
| 232 |
|
-Port Alignment |
|
232 |
+[[Port Alignment>>doc:||anchor="portAlignment"]] |
| 233 |
233 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 234 |
234 |
((( |
| 235 |
235 |
de.cau.cs.kieler.portAlignment |
| ... |
... |
@@ -886,11 +886,11 @@ |
| 886 |
886 |
The following diagram types are predefined: |
| 887 |
887 |
|
| 888 |
888 |
* **General** - This type is automatically assigned to all diagrams for which no specific type is declared. A layout algorithm that has the highest priority on the //General// diagram type is taken as the default algorithm when no further information on a diagram is available to KIML. |
| 889 |
|
-* **State Machine** - All kinds of state machines, automata, and activity diagrams. Examples: [[doc:SCCharts SyncCharts]], UML Activity diagrams. |
|
889 |
+* **State Machine** - All kinds of state machines, automata, and activity diagrams. Examples: [[doc:SyncCharts]], UML Activity diagrams. |
| 890 |
890 |
* **Data Flow Diagram** - Actor-oriented diagrams, where connections are mostly done between //ports// of nodes. These diagrams can only be handled properly by very special layout algorithms, such as those developed in the [[KLay project>>doc:Layout Algorithms (KLay)]]. |
| 891 |
891 |
* **Class Diagram** - Class diagrams such as Ecore diagrams for the [[EMF>>url:http://www.eclipse.org/modeling/emf/||shape="rect"]] or UML Class diagrams. |
| 892 |
892 |
* **Use Case Diagram** - Use case diagrams as defined by the UML. |
| 893 |
|
-* **Unconnected Boxes** - Sets of nodes that have no connections and are treated as resizable boxes. This is related to mathematical [[packing problems>>url:http://en.wikipedia.org/wiki/Packing_problem||shape="rect"]]. Example: Regions in [[doc:SCCharts SyncCharts]]. |
|
893 |
+* **Unconnected Boxes** - Sets of nodes that have no connections and are treated as resizable boxes. This is related to mathematical [[packing problems>>url:http://en.wikipedia.org/wiki/Packing_problem||shape="rect"]]. Example: Regions in [[doc:SyncCharts]]. |
| 894 |
894 |
|
| 895 |
895 |
=== === |
| 896 |
896 |
|
| ... |
... |
@@ -923,10 +923,12 @@ |
| 923 |
923 |
|
| 924 |
924 |
=== === |
| 925 |
925 |
|
| 926 |
|
-{{id name="addPortSpace"/}}Additional Port SpaceThis option controls additional port space left around the set of ports on each side: |
|
926 |
+{{id name="addPortSpace"/}}Additional Port SpaceThis option controls the usable space for ports on each side: |
| 927 |
927 |
|
| 928 |
928 |
[[image:attach:addPortSpace.png]] |
| 929 |
929 |
|
|
930 |
+If the option is not set, the value of [[Port Spacing>>doc:||anchor="portSpacing"]] is used instead for all four components. |
|
931 |
+ |
| 930 |
930 |
This option is only relevant if port constraints are {{code language="none"}}FREE{{/code}}, {{code language="none"}}FIXED_SIDE{{/code}}, or {{code language="none"}}FIXED_ORDER{{/code}}. If size constraints include {{code language="none"}}PORTS{{/code}}, the additional port space, together with the port spacing and the size of ports, determines a lower bound on the node size. |
| 931 |
931 |
|
| 932 |
932 |
=== === |
| ... |
... |
@@ -957,6 +957,27 @@ |
| 957 |
957 |
|
| 958 |
958 |
=== === |
| 959 |
959 |
|
|
962 |
+{{id name="portAlignment"/}}Port AlignmentThe port alignment controls how ports are distributed over their respective edge. |
|
963 |
+ |
|
964 |
+This option is only relevant if port constraints are {{code language="none"}}FREE{{/code}}, {{code language="none"}}FIXED_SIDE{{/code}}, or {{code language="none"}}FIXED_ORDER{{/code}}. |
|
965 |
+ |
|
966 |
+The following settings are possible: |
|
967 |
+ |
|
968 |
+* {{code language="none"}}UNDEFINED{{/code}} |
|
969 |
+Defaults to {{code language="none"}}JUSTIFIED{{/code}}. |
|
970 |
+* {{code language="none"}}JUSTIFIED{{/code}} |
|
971 |
+Distributes the ports evenly over the whole usable space (for usable space, see [[additional port space>>doc:||anchor="addPortSpace"]]). |
|
972 |
+* {{code language="none"}}BEGIN{{/code}} |
|
973 |
+Places the ports at top-/leftmost position with [[port spacing>>doc:||anchor="portSpacing"]] between them. |
|
974 |
+* {{code language="none"}}CENTER{{/code}} |
|
975 |
+Places the ports centered in the usable space with port spacing between them. |
|
976 |
+* {{code language="none"}}END{{/code}} |
|
977 |
+Places the ports at bottom-/rightmost position with port spacing between them. |
|
978 |
+ |
|
979 |
+Port alignment can also be set as specialized options {{code language="none"}}portAlignment.{north|south|east|west{{/code}}}. These options overwrite the general policy for the respective side. Setting one of these to {{code language="none"}}UNDEFINED{{/code}} defaults it to the general port alignment. |
|
980 |
+ |
|
981 |
+=== === |
|
982 |
+ |
| 960 |
960 |
{{id name="portAnchor"/}}Port Anchor OffsetSince ports have a size, we need a concrete point inside the port that edges should start or end in. In KLay Layered, this is referred to as the //port anchor//. By default, the center of each port is used as its port anchor, but this behavior can be overridden by setting an explicit port anchor. |
| 961 |
961 |
|
| 962 |
962 |
In the following example, the port anchor of the left port was moved upwards, while the port anchor of the second port was moved downwards: |