This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
v050:layout [2016/06/14 08:52] gregobalu |
v050:layout [2016/10/17 14:22] (current) ndj94 [Simple layout constraints for nodes] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Diagram Language Guide for version 0.5.0 ====== | + | ====== Diagram Language Guide for versions 0.5.0 and 0.5.1 ====== |
- | Currently txtUML supports diagram definitions for class-, flat state machine- and composite structure diagrams. The language is universal, but only supports flat (one level) diagrams. For simplicity in this description, whenever a //box// is referenced, it stands for either a class, state or composition role name. Also if a //line// is present, it stands for association or transition. | + | Currently txtUML supports diagram definitions for class- and flat state machine diagrams. The language is universal, but only supports flat (one level) diagrams. For simplicity in this description, whenever a //box// is referenced, it stands for either a class, state or composition role name. Also if a //line// is present, it stands for association or transition. |
===== General structure ===== | ===== General structure ===== | ||
Line 8: | Line 8: | ||
* Class diagram: ''ClassDiagram''. | * Class diagram: ''ClassDiagram''. | ||
* State machine diagram: ''StateMachineDiagram<C>'', where ''C'' is a ''ModelClass'' which states we want to display in this diagram. | * State machine diagram: ''StateMachineDiagram<C>'', where ''C'' is a ''ModelClass'' which states we want to display in this diagram. | ||
- | * Composite structure diagram: ''CompositeDiagram<C>'', where ''C'' is a ''ModelClass'' which owns the composition roles we want to display in this diagram. | ||
This class must contain an inner class definition, inheriting from ''Layout''. The actual layout constraints can be written as annotations on this inner class. | This class must contain an inner class definition, inheriting from ''Layout''. The actual layout constraints can be written as annotations on this inner class. | ||
Line 26: | Line 25: | ||
* ''@East(val = A.class, from = B.class)'' : The diagram can be cut vertically such that **A** is in the right half and **B** is in the left half. | * ''@East(val = A.class, from = B.class)'' : The diagram can be cut vertically such that **A** is in the right half and **B** is in the left half. | ||
* ''@South(val = A.class, from = B.class)'' : The diagram can be cut horizontally such that **A** is in the lower half and **B** is in the upper half. | * ''@South(val = A.class, from = B.class)'' : The diagram can be cut horizontally such that **A** is in the lower half and **B** is in the upper half. | ||
- | * ''@West(val = A.class, from = B.class)'' : The diagram can be cut vertically such that **A** is in the right half and **B** is in the left half. | + | * ''@West(val = A.class, from = B.class)'' : The diagram can be cut vertically such that **A** is in the left half and **B** is in the right half. |
* ''@Above(val = A.class, from = B.class)'' : Box **A** is //north// from **B** and is right next to it. | * ''@Above(val = A.class, from = B.class)'' : Box **A** is //north// from **B** and is right next to it. | ||
* ''@Right(val = A.class, from = B.class)'' : Box **A** is //east// from **B** and is right next to it. | * ''@Right(val = A.class, from = B.class)'' : Box **A** is //east// from **B** and is right next to it. | ||
Line 183: | Line 182: | ||
* Contradiction in user given statements | * Contradiction in user given statements | ||
* ''@North(val = A.class, from = B.class)'' and ''@South(val = A.class, from = B.class)'' | * ''@North(val = A.class, from = B.class)'' and ''@South(val = A.class, from = B.class)'' | ||
- | * Lack of statements, so two boxes are arranged into the same place. The algorithm might try to solve this, but it is not guaranteed. | + | * Lack of statements, so two boxes are arranged into the same place. The algorithm might try to solve this, but it is not guaranteed that it will succeed. |