Rogue Wave JViews Diagrammer Code Example: Hierarchical Constraints
Description
![]() |
This sample shows how to use Hierarchical Layout algorithm in the Diagrammer. In particular, it shows how how constraints can be specified in CSS and in a separate constraint file.
How to Use the Code Example
- The Hierarchical Layout algorithm supports the specification of constraints. For instance, you can specify which nodes must be at the same level, and which node must be to the left or right of another node.
- This applet shows a diagrammer component that displays a graph rendererd from an XML file.
- The selector on top allows to choose how constraints are provided: either no constraints, or the constraints are loaded from a CSS file, or the constraints are loaded from an URL specifying a separate constraint file.
- The applet also has interactor buttons on the top side: select, zoom, unzoom, zoom box, zoom level 1, zoom to show all (fit to contents) and pan.
- On the bottom, there are two buttons: Random (performs a Random Layout) and Layout (uses the Hierarchical Layout algorithm). Layout is only performed when you press these buttons.
How to Run the Code Example as an Application
This code example can also be run as an application. The installation directory contains an executable JAR file, diagrammer-hierconstraints.jar
, that allows you to execute the code example with a double click from a file browser. Note that if you are using Internet Explorer, you can open the installation directory and execute the JAR file from the browser. This technique may not work in other Web browsers.
Alternatively, you can run the code example application from the command line. First check that the Ant utility is properly configured. If not, see the instructions on how to configure Ant for Rogue Wave JViews.
Then, go to the installation directory of the code example and type:
ant run
Topics Covered
- Diagrammer
- Graph Layout
- Hierarchical Layout
- Hierarchical Layout Constraints
Installation Directory
The Hierarchical Constraints code example is installed here.
Classes Involved
- ilog.views.graphlayout.hierarchical.IlvHierarchicalLayout
- ilog.views.graphlayout.random.IlvRandomLayout
- ilog.views.IlvGrapher
- ilog.views.IlvManagerView