04/02/2005 (0.46) - Interactive in the swing node wrapper is enabled even for non-expanded nodes. In that case, events are forwarded to the swing object that is wrapped. 11/10/2004 - Fixed HTML edge renderer bug (#2211) 11/04/2004 - Fixed problem with menu bar not being validated after switching views (bug# 2189) - Use idle status icon when idle - Fixed a bug where columns in the list view would not get updated 10/22/2004 - Do not rotate text shorter than 2 characters on a text edge. It becomes hard to read 10/18/2004 - Changes to make edge drawing easier (edges have now their own coordinate space in which coordinates can also be negative) - Added a layout engine interface that can ignore certain edges when doing the layout 08/26/2004 - Added code to allow editing (manual layouting) of expanded nodes (relatively speaking because the changes are not saved), but it's cool thing nonetheless - Also a node can now be expanded/collapsed by double-clicking on it. 07/16/2004 - Fixed a bug that would crash FlowLayout if the graph was made of just one node 05/15/2004 v 0.45 - Added save() in the RootContainer interface - Removed an annoying, useless message in the flow layouts. 04/08/2004 v 0.44 - Radial layouts go either inwards or outwards (there is an automatic detection for this) - In overview, paint edges first and then nodes. 04/07/2004 v 0.43 - Fixed a problem when loading small graphs - Fallback to 'String' if no type specified for property - Fixed a bug with the coordinate calculation in the FlowLayout - Added RadialFlowLayout - Changed "LevelLayout" to "HierarchicalLayout" 03/21/2004 v 0.42 - Added Dot (graphviz) and SVG exports (targets) - Added an export Dialog - Added class properties (properties which do not change for different instances). This saves a lot of memory - Updated the flow layout. It now uses graph reduction techniques to lay the nodes out according to common patterns in flow graphs - GUI components for nodes and edges are only added if they are visible. For some (wrong) reason I had the impression that Swing calculates really fast what's visible and not. - When there are icons and/or checkboxes in menus, align the text - Speed improvments. It's a better deal to get a property value and check if it's null then calling hasProperty() and then getProperty(). One hash/list access as opposed to two. Same for hashtable keys. This may not seem much, but with 300000 objects and 2-3 properties checked per object, everything counts. - The componen actions have moved to the renderers. This and the class properties brought the memory consumption down a lot. - An editor to choose the columns in list view - Incremental drawing for the ovrview with large graphs - Changed the size of the properties window to fit the list - Implemented Gregor's suggestion with sticky tools when editing graphs. - Deleting of individual nodes/edges. - Added some icons to the menus - Moved the views selection to the View menu - Layouts for the graph view have their own submenu now - Added a memory metter (Help->Debug->Show Memory Statistics). - Added the ability to map images before they are loaded. This can be used to seamlessly change icon themes without modifying code. This is actually in the util module - There can be multiple root containers for the same hierarchy. Global proeprties are stored in the root node rather than the root container - Added ERROR, and WARN to the status manage. These can be used by renderers to pop up messages on the screen (or log these to the console) - Use a busy icon when doing some processing. I remember having this before... - Show the progress on the graph loading - Show progress on graph layouting (currently only the flow layout) - Pop the properties window near the component - Update the size of the node when the name changes - I discovered that SAX does not internalize strings. Not only that you end up with different String objects for the same string, but those also have associated char arrays with extra garbage at the end that take up memory. All strings that come from SAX are now intern()ed. - A few other under-the-hood changes I forgot about 02/18/2004 v 0.41 - Multiple targets (HTML, PS, Remote, Swing - default) - Refactored classes to split core functionality from target specific functionality. - Canvases have renderers now too - The views are now controlled by the canvas renderers - Changed the way menus and toolbar buttons are generated in canvas renderers - The Graph view controls part of the view menu and part of the toolbar now - Added a few more table cell renderers/editors (for basic data types and color) - Added a tree view - Changed the serialization/deserialization to support more human readable things (Point, Dimension, Color) 01/16/2004 v 0.40 - Added basic editing capability - Added property filtering for the property viewer (not on the interface though) ------------------------------------------------------------ ------------------------------------------------------------ 04/18/03 - Added transformations for graphs. The transformations act between the canvas and the view allowing the graph to be changed before being displayed. - Added ant task monitoring. - Improved the serialization a bit to show java.awt.Point and java.awt.Dimension in a human-readable form. - Added a generic canvas/frame that can load arbitrary graphs. - Added a transformation that can change the and nested constructs into a graph. - Titles for windows - Some other minor things 04/25/03 - Anti-aliasing for component wrappers. It will make graph views anti-aliased - An event dispatcher that sends events to nodes while unblocking the swing thread so that it can continue doing its things (like repainting) - A busy notification system - Saving of window position/sizes - the "icon" property can be used for ant tasks to specify a custom icon - Improved the layout engine to distribute edges equally around the node (sort of) - added a few command line options to the Ant visualizer (allowing loading and execution of Ant targets from the command line) - ather minor things ;)