diff --git a/engine-contract.json b/engine-contract.json index 03e6457..27de973 100644 --- a/engine-contract.json +++ b/engine-contract.json @@ -72,7 +72,14 @@ "y", "width", "height", - "collapsed" + "collapsed", + "showAttributes", + "showParts", + "showReferences", + "showPorts", + "showConstraints", + "showItems", + "showActions" ], "migratorEmitted": true, "consumers": [ diff --git a/libraries/DiagramLayout.sysml b/libraries/DiagramLayout.sysml index 06b9641..06f1c6e 100644 --- a/libraries/DiagramLayout.sysml +++ b/libraries/DiagramLayout.sysml @@ -7,12 +7,25 @@ library package DiagramLayout { metadata def Layout { doc /* Where the annotated element is drawn: the top-left corner of its - * box, an optional fixed size, and whether its body is folded. */ + * box, an optional fixed size, whether its body is folded, and + * which of its compartments are drawn. Each show… switch names + * one compartment kind of the box: attributes, parts (part + * usages), references (ref usages), ports, constraints, items + * (item and flow features) and actions. Unset means drawn; + * false means the modeler suppressed that compartment on this + * symbol, so a renderer omits it rather than clipping it. */ attribute x : ScalarValues::Real; attribute y : ScalarValues::Real; attribute width : ScalarValues::Real[0..1]; attribute height : ScalarValues::Real[0..1]; attribute collapsed : ScalarValues::Boolean[0..1]; + attribute showAttributes : ScalarValues::Boolean[0..1]; + attribute showParts : ScalarValues::Boolean[0..1]; + attribute showReferences : ScalarValues::Boolean[0..1]; + attribute showPorts : ScalarValues::Boolean[0..1]; + attribute showConstraints : ScalarValues::Boolean[0..1]; + attribute showItems : ScalarValues::Boolean[0..1]; + attribute showActions : ScalarValues::Boolean[0..1]; } metadata def Route {