[Description]

InheritanceDemo displays the user-defined objects associated with a set of nodes as well as how those nodes fit into three hierarchies (shape, color, and edge).  Using the demo, you can edit the properties of these objects, either directly through an editor, or indirectly by modifying the properties of a parent its a hierarchy.  You can save any changes to the nodes' data.

[Node Menu]

This check-box items determine what is shown in the hierarchy panel for each node.

[Compile and Run SYntax]

javac InheritanceDemo.java
java InheritanceDemo dataFilename.store shapeFilename.hierarchy colorFilename.hierarchy edgeFilename.hierarchy

example: java dataset1.store shape1.hierarchy color1.hierarchy edge1.hierarchy
[Files]

InheritanceDemo.java - manages the demo
JTreeViewer.java - displays a 4-tabbed pane with a node list and three hierarchies.  An editor appears when each of the hierarchy tabs is selected.  Edit the text of a node with Ctrl-Click.

JTreeViewer.properties 

DataStore.java - manages a set of CShape objects

CShape .java - defines a combinaton shape/color/edge object, accessors, and 
drawing

CShape.properties

CShapeTreeCellTextEditor.java - custom editor 
CShapeTreeCellRenderer.java - custom renderer for hierarchy trees
ShapePropertyEditor.java, ColorPropertyEditor.java, EdgePropertyEditor.java - Node's data object property editors
ShapePropertyEditorRenderer.java, ColorPropertyEditorRenderer.java, EdgePropertyEditorRenderer.java - associated renderers
NodeRenderer - custom render for node list

Key.java - generates a unique key string

FileFilerExt.java - helper file for file open and save dialogs

dataset1.store - sample data file
shape1.hierarchy - associated hiearchy
color1.hierarchy - associated hiearchy
edge1.hierarchy - associated hiearchy
