ILOG
Welcome, Guest | Sign In


Blogs | Forums | Worldwide sites | Contact us

title element1
Technical Info
Overview
Latest version
Technical papers
Ajax Support
On-demand presentations
Technical Forum
Blogs
Business Info
Key benefits
Customers
Datasheets
Jumpstart Workshops
News & Events
Press releases
Trial & Purchase
Demos
Evals
Pricing and licensing
Contact info
ILOG JViews Graph Layout for Eclipse Graph Editing Framework (GEF)  

Introduction
Installation instructions
Launching the demo
Technical information

ILOG JViews Graph Layout for Eclipse Graph Editing Framework (GEF) is a service provided specifically for Eclipse user interface developers. It allows developers to create advanced, visually-appealing diagram displays using a combination of the Standard Widget Toolkit (SWT), the Eclipse Graph Editing Framework (GEF), and ILOG JViews Diagrammer. It is packaged as a sample with ILOG JViews Diagrammer.

Diagram displays have graphical objects called "nodes." They are are connected to other nodes through "links" (also called edges). If a diagram (or "graph," in mathematical terms) is large, then graph layout algorithms can be used to calculate new positions for the nodes and links in the diagram.

Diagrams rearranged according to the results of the graph layout algorithm are usually far more readable. Graph layout algorithms can be used with many types of displays, such as workflow diagrams, network topological views and relationship displays. Learn more about ILOG's graph layout.

Eclipse GEF allows developers to create a rich graphical editor from an existing application model. Eclipse GEF consists of two plug-ins: "org.eclipse.draw2d" and "org.eclipse.gef". The "org.eclipse.draw2d" plug-in provides a layout and rendering toolkit for displaying graphics. The “org.eclipse.gef plug-in” provides a graphical and tree viewer and a controller framework for mapping business models to views. If you want more information about Eclipse GEF, the Eclipse community provides documentation.

ILOG JViews Graph Layout for Eclipse GEF requires Eclipse GEF to represent the application model, and SWT to represent the drawing model. Note: This service only uses the graph layout algorithms from ILOG JViews Diagrammer. It does not use its drawing primitives, which are Abstract Window Toolkit (AWT)-based.

Installation Instructions

The following steps will guide you through the installation process for the ILOG JViews Graph Layout for Eclipse Graph Editing Framework (GEF) demo.

Prerequisites
This evaluation requires the Eclipse 3.3.x software development kit (SDK). You must have the current version of the SDK—the Eclipse integrated development environment (IDE) is not enough to run this demo.

Install the ILOG JViews Graph Layout for Eclipse GEF in a clean Eclipse environment (if you have already done so, you may go to the next section) according to the following steps:

  1. Open a clean Eclipse environment.
  2. Select Help>Software Updates>Find and Install.
  3. Select Search for New Features to Install and then click Next.
  4. Select New Remote Site. A New Update Site dialog box will open.
  5. Add the following data:
  6. Click OK.
  7. Select GEF in the "Sites" list so it is included in the search pane, and select Finish.
  8. Follow the instructions in the wizard to install all GEF features.
Installing the sample
Now you are ready to install the ILOG JViews Graph Layout for Eclipse GEF sample.

To do this:
  1. In Eclipse, go to Help>Software Updates>Find And Install.
  2. Select New Remote Site. The New Update Site dialog box will open.
  3. Add the following data:
  4. Click OK.
  5. Click Finish.
  6. Follow the instructions in the wizard to install the features.
  7. Eclipse will restart to take your new configuration into account.

Launching the Demo

This demo is made available as an Eclipse view. To launch it:
  1. Select Window>Show View>Other Menu Item.
  2. Select ILOG JViews Examples/GraphLayoutGallery from the list. A new display will appear.
ILOG JViews Examples

We created this demo to show the behavior of the typical layout algorithms that can be applied on graph structures implemented by Eclipse GEF.

This demo will allow you to create a variety of graphs, depending on how you want to view your layout results: on tree, circular, or even random graphs, for example.

You will notice the display contains different areas: The main canvas on the left-hand side allows you to visualize your current graph. To change the layout, select from the options in the panes to the right of the sample diagram. The top pane lets you choose the global layout of the nodes, while the bottom pane lets you control the link layout.

Graph Layout Gallery Example

How to create a graph
This demo will allow you to create a variety of graphs, depending on how you want to view your layout results.

The 'Create New Graph' icon in the toolbar will display the following dialog box, allowing you to specify the type and size of graph you want to create:

New Graph

Several options are available to control the number of nodes or the number of links, depending on the type of graph you want. If this is the first time you are using this demo, we recommend that you select a tree graph, which is easier to understand and manipulate. We also recommend that you start with a reasonably small graph (less than 200 nodes). You can increase the number of nodes if you want to check the algorithm's performance on large topologies.

Controlling the graph layout
The upper-right pane allows you select the type of layout to apply on your graph. The following algorithms are available:
  • Hierarchical
    Hierarchical applications include business process flow, Unified Modeling Language (UML) diagrams, flowcharts and design diagrams.
  • Tree
    Tree applications include organizational charts, class browsers, call graphs and decision trees.
  • Radial tree
    Radial tree applications include website navigation and hyperlink visualization, and semantic networks.
  • Uniform length
    Uniform length applications include wide area network (WAN) diagrams or social-network visualization.
  • Circular (ring and star)
    Circular applications include website maps and local area network (LAN) diagrams for network and systems management applications.

Although many applications can use ILOG JViews features and functions as provided, ILOG JViews Diagrammer's open architecture gives developers complete control over the look-and-feel of their applications.

Controlling the link layout
The lower-right pane controls the link layout options. When you select one of these options, the links will be routed according to the nodes’ current locations. Different routing strategies give different results.

Browsing the graph
The main toolbar shows the typical actions you can perform with the current view, such as zooming, best fit, etc.

Technical Information

This demo has been developed using typical Eclipse GEF code to explain how to manage and interact with certain objects. ILOG JViews Graph Layout algorithms are invoked on these GEF structures.

The following code example shows how to use "ilog.views.eclipse.graphlayout.gef.GraphModel."

ScrollingGraphicalViewer viewer = new ScrollingGraphicalViewer();
...
IlvHierarchicalLayout layout = new IlvHierarchicalLayout();
GraphicalEditPart grapherEditPart = (GraphicalEditPart)viewer.getContents();
layout.attach(new GraphModel(grapherEditPart));


The top level "EditPart" inside the viewer must implement the "ilog.views.eclipse.graphlayout.gef.GrapherEditPart" marker interface. For example, in the code example above, "grapherEditPart" implements ilog.views.eclipse.graphlayout.gef.GrapherEditPart".

Instances of "NodeEditPart" must use "ilog.views.eclipse.graphlayout.gef.ClippingAnchor" for methods that return "ConnectionAnchor" objects. "ClippingAnchor" instances manage both clipping and the calculation of relative locations. This is done using the ILOG JViews Graph Layout algorithms. "NodeElementEditPart" uses "ClippingAnchor" in the code sample above.

This demo was created with ILOG JViews Graph Layout for Eclipse GEF, which is packaged with ILOG JViews Diagrammer.

Interactive demos
Get an evaluation
Contact us
I need a display with:
 
Diagrams, Dashboards
 
 
Maps
 
 
Schedule & Gantt Charts
 
 
Charts
 
 
Telecom Displays
 
 
Defense-Specific Maps
 
 
Graph Layout for Eclipse
 
     
Customer Spotlight
   
     
 
 
element3