committing svn folder structure
Initial probationary user interface
* Converted MDI interface to a tabbed view containing VisualisationDesktopPanes
* Converted left pane to a floating toolbox JInternalPane inside the VisualisationDesktopPane
* Added FileSystemUtils helper class containing recursive filesystem directory scanning function
* Added ISourceLoaderThread and Java implementation
* Added logic to recursively scan a provided directory and its sub-folders, and compile the Java source files found within (JavaSourceLoaderThread)
* Added logic to handle status reporting in the UIMain status label (IProgramStatusReporter)
Demo 3/12/10
* Java symbol processing and tree visitor classes
* 'Toolbox' layered pane now observes the status of the JavaCodeTreeVisitor and constructs tree model based on program structure (packages > classes)
FileSystemUtils.ListFilesRecursive now uses a PriorityQueue rather than a Stack
Fixed addChildFrame() to add new Workspaces to the main JTabbedPane
Newly created Workspaces are now selected in the JTabbedPane by default
Added ability to close the currently selected tab via a menu option
Fixed the possible exception when creating a new workspace and the index counter is mismatched with the current tab index number
Re-organized the menu slightly
Code Overview JTree is now encompassed within a scrollable JPanel to allow for scrolling to see non-visible tree children
Integrated the JGraphX view into the VisualisationDesktopPane and implemented transitive class cell insertion.
Implemented transitive package container creation and the adding of classes within them.
IProgramSourceObserver revised to include a method to notify of new method additions (notifyFindMethod)
JavaCodeProcessor now sends notifyFindClass and notifyFindMethod updates to multiple observers
Added some generic models to represent classes and methods, along with a mapping of classes to class names
 - ClassInfo represents a class and stores its qualified and simple names and a list of child MethodInfos
 - MethodInfo represents a method and stores its name for now
Import clean-ups
Class constructor methods are now recorded in the abstract ClassInfo object as separate methods
Applied an mxOrganicLayout to the layout of vertexes on the graph
Renamed ClassModelMap to ClassModelStore
Added a static vector to ClassModelStore to maintain a list of known instances of the classes
Implemented a static lookupClassGlobal method in ClassModelStore to facilitate the looking up of a ClassInfo object from a class's qualified name in all known instances of ClassModelStore
Made the generic models Serializable and added some toString() methods
Added a VariableInfo object to contain information about an arbitrary variable declaration in a class
Added a pointer to a constructor method in ClassInfo
Added a list of variables (pointers to VariableInfo) in ClassInfo
Moved generic model building code away from the ClassModelStore and JavaCodeTreeVisitor and into a factory class of static methods (CodeUnitInfoFactory) - its state is maintained in CodeUnitInfoFactoryState
Edges are now drawn between vertexes to represent relationships through variable declarations in the source class (coupling).
mxCircleLayout has been adopted and tuned through the jvmxCircleLayout class to render vertexes in a circle on the graph.
mxMorphing has been adopted to enable a transformation animation after source files have been loaded and the layout has been executed.
Cleaning up the VisualisationDesktopPane a little.