Jedes Element <node> definiert ein grafisches Element, das dem Diagramm hinzugefügt werden kann. Nodes sind die grafischen Repräsentationen von Engineering Objekten.
Attributname | Verwendung | Attributwerte | Defaultwert | Beschreibung |
---|---|---|---|---|
acceptedChildren | optional | IDREFS | Eine Liste von IDs und slave node IDs, die zum aktuellen Knoten hinzugefügt werden können | |
id | benötigt | Eindeutige ID der Aktion | ||
labelText | nur benötigt für figureStickyNote | Text, der den Knoten in der Werkzeugpalette repräsentiert | ||
router | optional | ID eines Routers | Spezifiziert die router-ID des Routers, der für das aktuelle Element <node> verwendet werden soll, falls es einen eigenen Verbindungs-Layer besitzt. | |
slaveNodes | optional | String | Formel, die eine Liste von abhängigen Objekten zurückgibt | |
super | optional | ID eines Knotens von dem die Eigenschaften ererbt werden | ||
valid | optional | Formel um festzustellen, ob ein EO durch den aktuellen Knoten grafisch repräsentiert wird. Die Formel wird mit dem EO verglichen | ||
verticalLinePosition | optional | 0 bis 1 | 1 | Wenn das Containerelement das Anzeigen der Cursorposition unterstützt, legt dieses Attribut fest, zu welcher Seite der Cursor springen soll 0 = Westen 0.5 = Mitte 1 = Osten |
Erlaubte Unterelemente | Anzahl |
---|---|
figureBase | 0..1 |
figureContainer | 0..1 |
figureEllipse | 0..1 |
figure-ganttContainer | 0..1 |
figureImage | 0..1 |
figureLabel | 0..1 |
figurePolygon | 0..1 |
figureStickyNote | 0..1 |
property | beliebig |
slaveNode | beliebig |
Konfiguration eines Knotens, der sowohl als bestehende Instanz aus dem Projektbaum, als auch als neue Instanz aus der Palette in das Diagramm eingefügt werden kann.
<!-- Inherits properties of "abstract_Buildingcomponent" -->
<node id="Floor" super="abstract_Buildingcomponent" valid="=isInstanceEO() and isInstanceOf('IT_Architecture.Levelcomponents.Floor')" acceptedChildren="Room">
<figurePolygon figure="com.mind8.graph2d.figure.container.Polygon">
<properties>
<property id="prefWidth">
<read value="2000" />
</property>
<property id="prefHeight">
<read value="2000" />
</property>
<property id="bendpointsCount">
<read value="4" />
</property>
<property id="bendpointsModifiable">
<read value="true" />
</property>
</properties>
</figurePolygon>
<property id="text">
<read value="=$Tooltip" />
<write key="value" receiver="=parameter('Number')" />
</property>
</node>
Erklärung:
Die Gültigkeit des Knotens wird mit dem Attribut valid="=isInstanceEO() and isInstanceOf('IT_Architecture.Levelcomponents.Floor')" geprüft. Der Term isInstanceEO() prüft, ob der Knoten einer Instanz aus dem Projektbaum repräsentiert. Mit dem Term and isInstanceOf('IT_Architecture.Levelcomponents.Floor') wird der Typ der Projektkomponente ermittelt.
Ist in der Diagramm-Konfiguration das Attribut creation des Elements <slaveNode> auf den Wert byMaster gesetzt (Default-Einstellung!), werden die, außerhalb des Diagramms instanziierten, Slave-Knoten automatisch im Diagramm platziert. Die automatisch platzierten Slave-Knoten werden im Diagramm mit einer separaten Rahmenfarbe kenntlich gemacht, indem die Konfiguration des Knoten, der als Slave in das Diagramm eingefügt wird mit <property id="autoSlaveBoColor"><read="RGB-Wert"> erweitert wird.
<node id="Station" super="Component"
valid="=isInstanceOf('BodyShellWork_ModularSystem_V2.Mechatronic.RobotsStation')"
slaveNodes="=mos('BodyShellWork_ModularSystem_V2.Mechatronic.Robot')">
<figureImage figure="com.mind8.graph2d.figure.Image">
<properties>
<property id="img">
<read value="=type('BodyShellWork_ModularSystem_V2.Diagram_Configuration.Planning_Diagram.Register').image(this)" />
</property>
<property id="highlightBoColor">
<read value="0,255,0" />
</property>
</properties>
</figureImage>
<slaveNode id="slaveRobot" node="Robot" layout="outsideEdged" direction="=$diagramDirection" parent="=mc">
<movement rotateWithMaster="NO" rotate="NO" />
</slaveNode>
</node>
<node id="Robot" super="Station" valid="=isInstanceOf('BodyShellWork_ModularSystem_V2.Mechatronic.Robot')">
<figureImage figure="com.mind8.graph2d.figure.Image">
<properties>
<property id="highlightBoColor">
<read value="0,255,0" />
</property>
<property id="autoSlaveBoColor">
<read value="255,0,0"/>
</property>
<property id="img">
<read value="=type('BodyShellWork_ModularSystem_V2.Diagram_Configuration.Planning_Diagram.Register').image(this)" />
</property>
</properties>
</figureImage>
</node>
Um dies zu zeigen, ist das Demo-Modell Rohbau so abgewandelt, dass bis zu vier Roboter als Slaves um eine RoboterStation gruppiert werden. Die erste Abbildung unten zeigt die RoboterStation mit zwei Robotern als aktuellen Zustand des Diagramms.
Bei geschlossenem Diagramm wird ein zusätzlicher Roboter instanziiert (1.) und danach das Diagramm wieder geöffnet (siehe folgende Abbildung).
Im Diagramm ist der zusätzliche Roboter ohne Interaktion als Slave an die RoboterStation angedockt (2.). Um den hinzugefügten Roboter kenntlich zu machen, ist der Rahmen anders eingefärbt (hier beispielsweise rot), als bei den zuvor vorhandenen Robotern. Da der zusätzliche Roboter ohne Interaktion in das Diagramm eingefügt wurde ist das Diagramm im Zustand Change (siehe Arbeiten in der Editorfläche). Erst wenn das Diagramm gespeichert wird, ist der Roboter dauerhaft in das Diagramm eingefügt und dessen Rahmen ändert seine Farbe auf den normalen Wert.
Um die Rahmenfarbe zurückzusetzen, ohne den Zustand des Diagramms zu speichern, ist die Taste F6 zu drücken.