In einer Anwendung, die nicht direkt mit Graphen arbeitet, müssen
Operationen wie das Zuordnen einer Graphenlayoutinstanz explizit ausgeführt werden.
Basisklasse
Die Klasse ibm_ilog.graphlayout.GraphLayout ist die Basisklasse für alle Layoutalgorithmen.
Diese Klasse ist eine abstrakte Klasse und kann nicht direkt verwendet werden. Sie müssen eine der Unterklassen dieser
Klasse verwenden: ibm_ilog.graphlayout.hierarchical.HierarchicalLayout, ibm_ilog.graphlayout.tree.TreeLayout, ibm_ilog.graphlayout.forcedirected.ForceDirectedLayout, ibm_ilog.graphlayout.shortlink.ShortLinkLayout, ibm_ilog.graphlayout.longlink.LongLinkLayout, ibm_ilog.graphlayout.random.RandomLayout, ibm_ilog.graphlayout.circular.CircularLayout, ibm_ilog.graphlayout.grid.GridLayout. Sie können auch eigene Unterklassen erstellen, um andere Layoutalgorithmen zu implementieren.
Weitere Informationen finden Sie unter Eigenen Layouttyp definieren.
Obwohl nur Unterklassen von
GraphLayout
direkt
zum Abrufen der Layouts verwendet wird, müssen Sie sich mit dieser Klasse vertraut machen, weil
sie Methoden enthält, die von den Unterklassen übernommen (oder überschrieben) werden.
Sie müssen diese Klasse kennen, um eigene Unterklassen zu erstellen. 
Die Klasse "GraphLayout" und ihre Unterklassen und Beziehungen für das Anlegen von Berichten
Unterklasse der Basisklasse instanziieren
Die Klasse ibm_ilog.graphlayout.GraphLayout ist eine abstrakte Klasse. Sie hat keine Konstruktoren. Sie instanziieren eine Unterklasse, wie im folgenden
Beispiel gezeigt:
var layout = new ibm_ilog.graphlayout.tree.TreeLayout();
Zuordnung eines Layouts zu einem Graphen oder Diagramm vornehmen oder aufheben
In IBM® ILOG® Dojo Diagrammer müssen Sie das Layout einer Instanz des
ibm_ilog.diagram.widget.Diagram-Widgets
oder einer ibm_ilog.diagram.Graph-Instanz zuordnen.
Wenn Sie das Diagram-Widget verwenden, ordnen Sie das
Layout mit dem Attribut nodeLayout oder
linkLayout des Diagram-Widget
zu. Das folgende Beispiel veranschaulicht, wie Sie dies in der HTML-Markup des
Diagram-Widgets durchführen:
<div jsId="linkLayout" dojoType="ibm_ilog.graphlayout.shortlink.ShortLinkLayout"/> <div id="diagram" dojoType="ibm_ilog.diagram.widget.Diagram" nodeLayout="treeLayout"/>
Das Attribut nodeLayout
wird verwendet, um den Hauptgraphenlayoutalgorithmus
festzulegen, der die Knoten und Links von Diagram platziert. Sie können
auch das Attribut linkLayout verwenden, um ein zweites Layout zu definieren,
das nur die Links von Diagram steuert.
Sehen Sie sich das folgende Beispiel an:
<div jsId="linkLayout" dojoType="ibm_ilog.graphlayout.shortlink.ShortLinkLayout"/> <div id="diagram" dojoType="ibm_ilog.diagram.widget.Diagram" linkLayout="linkLayout"/>
Sie können das Knoten- und Link-Layout von Diagram auch in
JavaScript festlegen:
var diagram = dijit.byId("diagram"); var treeLayout = new ibm_ilog.graphlayout.tree.TreeLayout(); var linkLayout = new ibm_ilog.graphlayout.shortlink.ShortLinkLayout(); diagram.attr("nodeLayout", treeLayout); diagram.attr("linkLayout", linkLayout);
Wenn Sie direkt mit dem Graph-Objekt
arbeiten (d. h., wenn Sie das Diagram-Widget
nicht verwenden, sondern direkt mit den GFX-APIs arbeiten), müssen Sie die Methode
setNodeLayout oder setLinkLayout
verwenden, um das Layout dem Graph-Objekt zuzuordnen:
var graph = surface.createGraph(); var treeLayout = new ibm_ilog.graphlayout.tree.TreeLayout(); var linkLayout = new ibm_ilog.graphlayout.shortlink.ShortLinkLayout(); graph.setNodeLayout(treeLayout); graph.setLinkLayout(linkLayout);
Layout ausführen
Nach der Zuordnung des Layoutalgorithmus zu einer Instanz von
Diagram oder Graph verwenden
Sie die Methode performGraphLayout von
Diagram oder Graph, um das Layout
zu starten:
diagram.performGraphLayout();
Alternativ
graph.performGraphLayout();
Anschließend wird die geschützte abstrakte Methode
layout(boolean
redraw)
der Unterklasse GraphLayout
aufgerufen.
Das bedeutet, dass die Steuerung an die Unterklassen übergeben wird,
die diese Methode implementieren.
Die Implementierung berechnet das Layout und verschiebt die Knoten an neue Positionen oder formt die Links neu oder
verschiebt die Knoten und formt die Links neu.
Die Methode
getLayoutReport
des Graphenlayouts gibt eine Instanz der Klasse
ibm_ilog.graphlayout.GraphLayoutReport (oder einer ihrer Unterklassen) zurück, die Informationen zum Verhalten
des Layoutalgorithmus enthält. Sie teilt Ihnen mit, ob der Algorithmus normal ausgeführt wird oder ob ein bestimmter vordefinierter Fall eingetreten ist.
(Eine ausführlichere Beschreibung des Layoutberichts finden Sie unter Graphenlayoutbericht verwenden.) Weitere Informationen
Weitere Informationen zur Klasse ibm_ilog.graphlayout.GraphLayout finden Sie in den folgenden Abschnitten:
- Parameter und Features der Basisklasse enthält Methoden für die Anpassung der Layoutalgorithmen.
- Ereignislistener verwenden enthält Informationen zum Listenermechanismus für Layoutereignisse.
- Eigenen Layouttyp definieren enthält Informationen zur Implementierung neuer Unterklassen.
Einzelheiten zur Klasse
ibm_ilog.graphlayout.GraphLayout und anderen Graphenlayoutklassen
finden Sie in der IBM® ILOG® Dojo Diagrammer API-Referenzliteratur.