Der Knoten für Room soll ein Container für Knoten des Typs Roomcomponent sein und ebenfalls als Polygon dargestellt werden. Zur Unterscheidung vom Knoten Floor, die mit einer Strichpunktlinie gezeichnet wird, soll der Raum mit einer massiven Linie dargestellt werden (siehe property-id="boLineStyle").
- Fügen Sie unterhalb der Konfiguration des Knotens Floor die folgenden Zeilen für den Knoten Room ein.
<!-- Inherits properties of "abstract_Buildingcomponent" -->
<node id="Room" super="abstract_Buildingcomponent" valid="=isInstanceEO() and isInstanceOf('IT_Architecture.Levelcomponents.Room')">
<figurePolygon figure="com.mind8.graph2d.figure.container.Polygon">
<properties>
<property id="boLineStyle">
<read value="1" />
</property>
<property id="prefWidth">
<read value="400" />
</property>
<property id="prefHeight">
<read value="400" />
</property>
<property id="bendpointsCount">
<read value="4" />
</property>
<property id="bendpointsModifiable">
<read value="true" />
</property>
</properties>
</figurePolygon>
<property id="text">
<read value="=$Tooltip" />
</property>
</node>
- Speichern Sie die Diagrammkonfiguration ([Strg] + [S]).
Die ID des Knotens ist Room, diese wird vom Knoten für Floor im Attribut acceptedChildren referenziert.
Mit dem Attribut super="abstract_Buildingcomponent" wird die Konfiguration des übergeordneten Knotens referenziert, um dessen Eigenschaften zu erben.
Das Attribut valid="=isInstanceEO() and isInstanceOf('IT_Architecture.Levelcomponents.Room')" ermittelt, ob es sich um eine bestehende Projektkomponente handelt (isInstanceEO) und den Typ, dem die Projektkomponente entsprechen muss, um als Room eingefügt werden zu können (isInstanceOf).
Auch der Raum ist ein Container, aber das Attribut acceptedChildren wird erst dann hinzugefügt, wenn die untergeordneten Knoten ebenfalls konfiguriert sind. Andernfalls würde es zu einer Fehlermeldung kommen, weil für die Referenzen keine entsprechenden Knotenkonfigurationen vorhanden sind.
Mit dem Tag figurePolygon wird bestimmt, dass auch Room als Polygon in das Diagramm eingefügt wird. Alle weiteren Eigenschaften werden anschließend konfiguriert, sofern dies nicht schon durch den übergeordneten Knoten geschehen ist.
Nach der Konfiguration der Eigenschaften von figurePolygon folgen noch Eigenschaften für den Knoten Room selbst. Das Tag property id="text" konfiguriert ein Label, das innerhalb des Polygons oben links angezeigt wird.