| ... |
... |
@@ -2,7 +2,7 @@ |
| 2 |
2 |
This is preliminary documentation. You've been warned. |
| 3 |
3 |
{{/warning}} |
| 4 |
4 |
|
| 5 |
|
-KIML defines a whole set of standard layout options that many layout algorithms support. Whether an algorithm supports a layout option depends on the option and on the algorithm. Algorithms may provide more specialized documentation for a given layout option. |
|
5 |
+KIML defines a whole set of standard layout options that many layout algorithms support. Whether an algorithm supports a layout option depends on the option and on the algorithm. When an option is supported by an algorithm, it may change the option's default value. Algorithms may also provide more specialized documentation for a given layout option. |
| 6 |
6 |
|
| 7 |
7 |
**Contents** |
| 8 |
8 |
|
| ... |
... |
@@ -16,7 +16,7 @@ |
| 16 |
16 |
|
| 17 |
17 |
* An ID to identify them. |
| 18 |
18 |
* A type. One of Boolean, String, Int, Float, Enum, EnumSet (a {{code language="none"}}Set{{/code}} over a given enumeration), or Object. The types Enum and EnumSet have to be further defined by an enumeration class. The Object type can be constricted to a certain class. |
| 19 |
|
-* An optional definition of what kinds of graph objects the option applies to. At least one of Parents (nodes that have children, including the diagram root node), Nodes, Edges, Ports, and Labels. If this definition is omitted, a layout option will not be shown to the user in the UI, but can still be set programmatically. |
|
19 |
+* The kinds of graph objects the option applies to. At least one of Parents (nodes that have children, including the diagram root node), Nodes, Edges, Ports, and Labels. |
| 20 |
20 |
* An optional default value. If an option is not set on an object and if the option does not have a default value, {{code language="none"}}null{{/code}} is returned when it is accessed. |
| 21 |
21 |
|
| 22 |
22 |
KIML defines the following set of layout options: |
| ... |
... |
@@ -87,7 +87,7 @@ |
| 87 |
87 |
Boolean |
| 88 |
88 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 89 |
89 |
((( |
| 90 |
|
- |
|
90 |
+Nodes |
| 91 |
91 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 92 |
92 |
((( |
| 93 |
93 |
false |
| ... |
... |
@@ -141,7 +141,7 @@ |
| 141 |
141 |
Enum |
| 142 |
142 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 143 |
143 |
((( |
| 144 |
|
- |
|
144 |
+Labels |
| 145 |
145 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 146 |
146 |
((( |
| 147 |
147 |
UNDEFINED |
| ... |
... |
@@ -168,7 +168,7 @@ |
| 168 |
168 |
Enum |
| 169 |
169 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 170 |
170 |
((( |
| 171 |
|
- |
|
171 |
+Edges |
| 172 |
172 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 173 |
173 |
((( |
| 174 |
174 |
NONE |
| ... |
... |
@@ -195,7 +195,7 @@ |
| 195 |
195 |
String |
| 196 |
196 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 197 |
197 |
((( |
| 198 |
|
- |
|
198 |
+Labels |
| 199 |
199 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 200 |
200 |
((( |
| 201 |
201 |
|
| ... |
... |
@@ -211,7 +211,7 @@ |
| 211 |
211 |
Int |
| 212 |
212 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 213 |
213 |
((( |
| 214 |
|
- |
|
214 |
+Labels |
| 215 |
215 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 216 |
216 |
((( |
| 217 |
217 |
|
| ... |
... |
@@ -227,7 +227,7 @@ |
| 227 |
227 |
Boolean |
| 228 |
228 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 229 |
229 |
((( |
| 230 |
|
- |
|
230 |
+Nodes |
| 231 |
231 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 232 |
232 |
((( |
| 233 |
233 |
false |
| ... |
... |
@@ -288,7 +288,8 @@ |
| 288 |
288 |
Float |
| 289 |
289 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 290 |
290 |
((( |
| 291 |
|
- |
|
291 |
+Nodes |
|
292 |
+Parents |
| 292 |
292 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 293 |
293 |
((( |
| 294 |
294 |
0.0 |
| ... |
... |
@@ -304,7 +304,8 @@ |
| 304 |
304 |
Float |
| 305 |
305 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 306 |
306 |
((( |
| 307 |
|
- |
|
308 |
+Nodes |
|
309 |
+Parents |
| 308 |
308 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 309 |
309 |
((( |
| 310 |
310 |
0.0 |
| ... |
... |
@@ -370,7 +370,7 @@ |
| 370 |
370 |
))) |
| 371 |
371 |
|(% colspan="1" %)(% colspan="1" %) |
| 372 |
372 |
((( |
| 373 |
|
-Port Offset |
|
375 |
+[[Port Offset>>doc:||anchor="optionPO"]] |
| 374 |
374 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 375 |
375 |
((( |
| 376 |
376 |
de.cau.cs.kieler.offset |
| ... |
... |
@@ -379,7 +379,7 @@ |
| 379 |
379 |
Float |
| 380 |
380 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 381 |
381 |
((( |
| 382 |
|
- |
|
384 |
+Ports |
| 383 |
383 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 384 |
384 |
((( |
| 385 |
385 |
|
| ... |
... |
@@ -395,7 +395,7 @@ |
| 395 |
395 |
Enum |
| 396 |
396 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 397 |
397 |
((( |
| 398 |
|
- |
|
400 |
+Ports |
| 399 |
399 |
)))|(% colspan="1" %)(% colspan="1" %) |
| 400 |
400 |
((( |
| 401 |
401 |
UNDEFINED |
| ... |
... |
@@ -516,4 +516,13 @@ |
| 516 |
516 |
|
| 517 |
517 |
== Port Offset == |
| 518 |
518 |
|
|
521 |
+ |
|
522 |
+ |
|
523 |
+{{id name="optionPO"/}} |
|
524 |
+ |
| 519 |
519 |
The port offset is used to specify how much space a layout algorithm should leave between a port and the border of its node. This is usually zero, but doesn't have to be. If the offset is not defined for a given port, a layout algorithm can try to infer the offset from the port's coordinates and its node's size in the input graph. This of course requires both properties to be set to sensible values. |
|
526 |
+ |
|
527 |
+Set this property if one of the following cases applies: |
|
528 |
+ |
|
529 |
+* The port constraints on a node are set to FREE, FIXED_SIDES or FIXED_ORDER. |
|
530 |
+* The port constraints on a node are set to FIXED_RATIO or FIXED_POS, and the size of the node is not fixed. (Note that this is especially true for ports of compound nodes.) |