Graph Library has been designed to support visualization and editing of node-edge structures using drag'n'drop style of work.The directions for how to acquire and build graph are a bit cryptic. What follows are the steps I followed to download and build graph.
The library has been used in the Visual Designer in NetBeans Mobility Pack 4.1.
- Create a top-level directory to hold everything. In my case I created one called 'netbeans'.
- Change directory into netbeans, and log into the NetBeans cvs: "cvs -d :pserver:[login-name]@cvs.netbeans.org:/cvs login". Note that you'll have to register and have a login-name to start with.
- Checkout three modules; graph, nbbuild, and openide: "cvs -d :pserver:email@example.com:/cvs checkout graph", "cvs -d :pserver:firstname.lastname@example.org:/cvs checkout nbbuild", and "cvs -d :pserver:email@example.com:/cvs checkout openide". When you're finished, you should have three directories named graph, nbbuild, and openide under your current top-level directory.
- cd down to nbbuild and run ant. Ignore any errors at this point.
- cd down to openide/util and run ant.
- cd down to graph/lib and run ant. You should successfully build the jar file. The jar file is back under nbbuild, in the directory nbbuild/netbeans/extra/modules.
- cd down to graph/vmd and run ant. You should successfully build the jar file and it will be in the same location as the library file.
- cd down to graph/examples and run ant. Not only will the application be built, but the application will run and display a run dialog (see right).
But that's really beside the point. I'll make it work because of what that package has to offer. One of the selections is DND (Drag-N-Drop), which you see a screenshot of below. I can quite easily see where it would fit into a project I am currently involved with. Not just the graph module, but even using NetBeans 5 as a rich client platform, and even throwing in some of the more interesting widgets on the SwingX project.
I need a GUI application that allows me to quickly build up a schematic showing relationships and information flows between elements and then to use that schematic to 'program' a larger system-of-systems to perform a task. The SoS needs to be flexible enough that it can be pulled apart (like Legos) and rebuilt to do something else with a mere restart of the overall system.
Every time I think I have NetBeans all figured out and ready to wash my hands of it and stick with Eclipse, they go and pull out something like this. And this is a good thing.