Share

Vector Visuals

File Release Notes and Changelog

Release Name: 2006.12.02

Notes:
Well over a year in the making, this release of Vector Visuals is a combination of
bug fixes and new features.  This release sees the addition of  persistence delegates
for all of the Vector Visuals objects, along with the moving of the examples out
into their own source folder.  Additionally, the entire product is now licensed
under a permissive "New BSD"-style license.  Enjoy!


Changes: Version 2006.12.02: - Changed license to "New BSD" based. - Moved all of the examples into a different source folder. - Moved the Arranger and Connector code into the new .meta package. - Removed all Arranger references from the VisualObject class. - Added the new .persistence subpackage, which contains classes that support the saving and restoring of objects and scenes. - Added getter methods on VisualTextObject to allow the retrieval of the current Font and text settings. - Using negative layer numbers on embedded objects now causes them to be "down inside" their parent object, clipping them to its shape. - Separated the rendering process into several stages, including a new "preparation" stage in which no actual rendering is done. - Fixed a bug where VisualImageObjects instantiated with a Shape for clipping were having that Shape cleared out in the constructor due to the fact that it calls "setImage" after the Shape is passed to the superclass. Oops. Version 2005.10.19: - Refactored VVPanel, causing the creation of two new classes: VVDisplay and VVCanvas, and a new interface, VVViewPane. The new approach allows the "view control" to be managed independent of the visual Component that is actually doing the rendering. - Added a new "setWorldViewTranslation" method to VVDisplay that takes a Point2D. This was done to improve the symmetry of the API. - Added a new "getTaskManager" method to VVDisplay that allows access to the TaskManager for that display. - Added a new "init" method to AnimationTask, allow custom setup code to be run when a task is first updated. - Fixed bug #1111138: TaskChain was not properly setting the TaskManager on contained AnimationTasks. - Removed unused imports. - Added a method to TaskManager that allows the execution state to be easily retrieved at runtime. - Added "serialVersionUID" fields to those classes that were supposed to have them. - Lots of refactoring to the various example packages, making them simpler and easier to understand. - Removed the VVButton and VVButtonMenu classes. - Added @Override annotations to all the appropriate methods. - Changed the VisualObject API to replace the odd "embed/digOut" syntax with a more conventional "add/remove" syntax. - Added method on VisualObject to allow the retrieval of all embedded objects - Replaced the PeriodicRepaintTask with the new KeepAliveTask, which makes more sense given that the TaskManager repaints once per cycle anyway. KeepAliveTask also replaces the IndefiniteSleepTask. - Updated the VVPanel to allow regular Components to be rendered inside it along with the vector graphics. - Renamed the PanelScalingTask to DisplayScalingTask. Version 2004.11.14: - Added the new IndefiniteSleepTask and IndefiniteTaskChain classes, allowing more sophisticated uses of the AnimationTask system. - Added a new TaskEvent callback system that notifies of execution state changes, allowing more sophisticated uses of the AnimationTask system. - Added a "removeTask" method to TaskChain. - Made all method parameters final. (This was intended in the previous version, but many parameters were unintentionally missed for that release.) - Moved the TaskManager class into the .task subpackage. - Moved the selection and mouse-related classes into the .ui subpackage. - Fixed a bug that caused some AnimationTasks to end without moving their code into a true finished condition. - The "getAllObjects" method of the VisualObjectManager now returns a reverse- order list, which corrects a problem with mouse selections picking the wrong object. - Added a "cycle length" setting on the TaskManager that allows the injection of thread sleep time to avoid excessive CPU expenditure. Version 2004.11.02: - Changed AnimationTask to do updates based on the new System.nanoTime() method, yielding smoother animations and more granular updates. - Removed deprecated uses of the "show" method, replacing it with the "setVisible" calls that are recommended. - Removed use of arrays, replacing them with generics-based datatypes. - Made most method parameters final. - Changed connectors to only connect two objects instead of an arbitrary number, making the API simpler and cleaner to use. ---- All releases above this line require Java 5.0 or greater ------- Version 2004.10.08: - Optimised AnimationTask to only perform updates when time has passed. - Added a "stop" method on AnimationTask, making it possible to stop any task, even an indefinite one. - Improved the synchronisation and thread management in TaskManager. - Added the TaskChain class to enable sequences of AnimationTasks to be executed one at a time. - Added an acknowledgments text file to recognise contributions. Version 2004.08.10: - Improved the way images are loaded by the ImageManager. - Improved handling of defaults in VisualTextObject. - Added the ability to turn zooming on and off in the VVMouseListener. - Added much better examples, including very basic ones. Version 2004.02.04: - The entire Vector Visuals library is now distributed under the GNU Lesser General Public License. - The UI components previously defined in the "example" subpackage are now contained in the "ui" subpackage. Version 2003.11.28-beta: - Added a "centerViewOn" method on VVPanel that allows instant view centering on a specific VisualObject. Version 2003.09.22-beta: - Repackaged everything into "com.thoughtriver.open.vectorvisuals" to be more consistent with other Thought River packaging. Version 2003.09.09-beta: - Refactored the VVMouseDragListener to allow a subclass to create custom drag behaviors. - Added API to the SelectionManager allow direct retrieval of the currently selected object. - Users of WinZip were having trouble opening the ZIP archives. Upgrading the version of Ant used to create the builds from 1.5.2 to 1.5.4 solved this. Version 2003.09.04-beta: - Visual Objects can now be made draggable. - Labels on Connectors can now either be fixed horizontal, or auto-rotated to align with the Connector itself. - There is a new, experimental Scaling Task. - There is a new, experimental Periodic Repaint Task. - Relative transforms are now resolved correctly.