Wenn Sie einen Knoten über das Programm erstellen möchten, verwenden Sie die Methode
ibm_ilog.diagram.Graph.createNode(). Ist kein Argument angegeben, erstellt die Methode createNode
eine Instanz von ibm_ilog.diagram.Node und initialisiert diese mit der Standardknotenschablone (einer rechteckigen Form und einer Textform).
Wenn Sie eine angepasste grafische Darstellung spezifizieren möchten, akzeptiert die Methode
Graph.createNode einen Parameter
template
, der eine Zeichenfolge oder eine einfache
JavaScript-Objekteigenschaft sein muss, die der GFX-Serialisierungsspezifikation entspricht.
Beispiel:var graph = ... var template = ibm_ilog.diagram.declareTemplate({ shape: {type:'rect'}, fill: 'blue'}); var node = graph.createNode(template);
Hinweis
In diesem Beispiel sind die Schablonenparameter als Zeichenfolgen definiert.
Die optionale Funktion "ibm_ilog.diagram.declareTemplate()" verarbeitet die Schablone für die Schablonierungsengine, was die Leistung verbessert.
Ein Beispiel für die Definition von Schablonenparametern als JavaScript-Objekteigenschaften finden Sie im Abschnitt
Bindungen.
Wenn Sie Schablonen dynamisch ändern möchten, verwenden Sie die Methode node.applyTemplate().
Auf diese Weise können Sie die grafische Darstellung derselben Knoteninstanz ändern und die Link-Port-Einstellungen beibehalten.
Beispiel:
var graph = ... var template = ibm_ilog.diagram.declareTemplate({ shape: {type:'rect'}, fill: 'blue'}); var node = graph.createNode(template); // ... // later, the template is changed for a new one node.applyTemplate({ shape: {type:'ellipse'}, fill: 'red'});
Wenn eine Unterkomponente über die Knoteninstanz referenziert wird, d. h., wenn die Knoteninstanz
eine direkte Referenz auf eine ihrer untergeordneten Komponenten definiert,
kann die Schablone die Unterkomponente mit der Eigenschaft
dojoAttachPoint
markieren.
Der Wert dieser Eigenschaft ist der Eigenschaftsname der Referenz, die in der Knoteninstanz definiert ist.
Beispiel:[{ dojoAttachPoint: 'baseShape', shape: { type: 'rect', ... } ... }, { dojoAttachPoint: 'textShape', shape: { type: 'text', ... } ... }]
Wenn Sie diese Schablone verwenden, wird für jeden Eintrag
dojoAttachPoint
in der Schablone eine neue Eigenschaft in der Knoteninstanz
definiert, die für die entsprechende Form gilt.
Nach der Anwendung der Schablone greifen Sie über die Eigenschaft node.baseShape
auf die rechteckige Form und über die Eigenschaft node.textShape
auf die Textform zu.