JHotDraw 7.5.1
2010-08-01
Fixes:
- Fixes the color chooser popup when a security manager is active.
- Improves performance of the AbstractCompositeFigure.layout() method.
- Fixes painting issues with the background of DefaultDrawingView.
JHotDraw 7.5
2010-07-28
Enhancements and Changes:
- Drawing Framework
InputFormat and OutputFormat work now with URI's instead of files for identifying the storage location of a drawing.
The ResizeHandleKit supports now aspect preserving resizing by pressing the Alt- or Ctrl-Key.
The canvas area is now drawn by Drawing instead of DrawingView.
The ButtonFactory can now create color chooser popup buttons.
DOMStorable is not implemented by the Figure interface anymore allowing the implementation of figures which do not depend on this persistence framework.
- User Interface
An UI delegate for JColorChooser has been added to the "Palette" look and feel.
- Example applications
The user interface of the SVG example application has been improved.
- General
Java
annotations have been added for clarity. @Nullable and @NotNull annotations specify allowed and disallowed occurences of null values. This is work in progress.
- Some changes in the package structure and renamings of classes have been made in order to improve the clarity of the frameworks.
JHotDraw 7.4
2010-01-16
Enhancements:
- Application Framework:
The application framework works now with URI objects instead of File objects. This allows the creation of applications which are not file-based, such as network-based applications (browsers) and database-oriented applications.
Changes:
- Application Framework
Actions in the application framework are now organised in an ActionMap hierarchy.
(File-)URIChoosers are now created by the ApplicationModel instead by the View.
- Drawing Framework
The package org.jhotdraw.draw has been split up into sub-packages.
- Platform requirements:
Minimum platform requirement is now J2SE6.
The following third-party libraries have been removed: MRJAdapter.jar, swing-layout.jar. The following third-party source files have been removed: LinearGradientPaint and RadialGradientPaint from the Apache Batik library.
JHotDraw 7.3.1
2009-10-18
This version fixes bugs found in 7.3.
Notable enhancements:
- Default input map and action map are now handled by the DrawingEditor instead by AbstractTool.
Notable fixes:
- Copy and paste did not work on Mac OS X 10.6.
- Figures which were very small caused rendering artefacts on DefaultDrawingView and caused ImageOutputFormat to crash.
- Setting a drawing on DefaultDrawingView caused flickering.
JHotDraw 7.3
2009-10-11
Substantial changes and enhancements have been made to fix shortcomings and bugs of the frameworks
and to improve the usability of drawing editors.
Please take a look at the JDiff report for a detailed description of all API changes between JHotDraw 7.2 and 7.3.
Notable changes are:
General:
- The documentation of framework interfaces and classes shows now the design patterns being used(like JHotDraw 6 did).
Drawing Framework:
- The method names for setting and getting an attribute from a Figure have been shortened to get(AttributeKey), set(AttributeKey,Object). The sample code uses now these methods instead of the setter and getter methods in class AttributeKey.
- DefaultDrawingView uses now double buffering to improve editing performance.
Application Framework:
- The Worker class has been redesigned, to better support the common use cases of a Worker.
- Support for weak event listeners has been added to class AbstractBean. Weak event listeners help to prevent memory leaks in applications.
Sample applications:
- SVG Sample: SVG Tiny 1.2 compliance has been improved. The SVGDrawingPanel can now more easily integrated as a component into an application.
JHotDraw 7.2
2009-05
Substantial changes and enhancements have been made to fix shortcomings and bugs of the frameworks
and to improve the usability of drawing editors.
Please take a look at the JDiff report for a detailed description of all API changes between JHotDraw 7.1 and 7.2.
Drawing Framework:
- The type safety of figure attributes has been improved, by making use of
type tokens in AttributeKey and setter and getter methods with templates in
Figure.
- The usability has been improved. Figures indicate there bounds when
the mouse is moved over them. A substantial number of user interface classes for the creation of toolbars have been
added, and are used by the SVG sample application.
- Drawing objects can now be serialized using the
SerializationInputOutputFormat. This allows to easily implement short-term
persistence for drawings (for example for clipboard support).
Application Framework:
- The resource support has been reimplemented to be closer to JSR-296.
Resource bundles can now use place holders in their values. The resource
keys used by JHotDraw match now with the correspoinding JavaBeans property names.
JHotDraw 7.1
2008-03
Substantial changes have been made to fix shortcomings and bugs of the frameworks.
Please take a look at the JDiff report for a detailed description of all API changes between JHotDraw 7.0.9 and 7.1.
Drawing Framework:
- Most Figure methods with prefix basic… have been removed. These methods were used to support Undo/Redo by the Figure objects. In JHotDraw 7.1, this task has been moved to the Tool objects.
- The class structure has been modified to gain more flexibility. Most notably, the Drawing interface extends now from the CompositeFigure interface.
Application Framework:
- The experimental application framework based on JSR-296 has been removed, because it is not mature enough yet, to keep JHotDraw in sync with it.
- The Project interface has been renamed to View, to be more in line with the upcoming Swing application framework JSR-296.
Samples:
- SVG: The background colors of SVG drawings can be set now. A number of bugs related to reading and writing gradients has been fixed. There is no support for editing gradients yet.
- ODG: This sample is not functional yet. It consists only of a few skeleton classes.
JHotDraw 7.0.9
2007-06-21
- Redesigned Undo/Redo handling for Figure attributes.
- Made many incompatible changes in all packages in order to pave the way
for SVG support.
- Rewrote the SVG sample application.
- Enhanced the Draw package to make support for transformations on Figures
possible, in order to be able to support SVG.
- Added Batik gradient classes, in order to be able to support SVG.
- Added new package org.jhotdraw.application based on JSR-296 "appframework"
version 0.42. This package will replace org.jhotdraw.app in future versions.
JHotDraw 7.0.8
2007-01-10
- Streamlined interface names and class names to make it easier
to learn the framework.
- InputFormat/OutputFormat interfaces and default implementations added
to drawing framework.
- ImageHolderFigure interface and ImageFigure default implementation added
to drawing framework.
- Enhanced SVG sample application.
- Removed NanoXML-Lite library.
- All code is now compilable with J2SE6. The minimum platform requirements
for JHotDraw 7 remains J2SE5.
JHotDraw 7.0.7
2006-11-12
- Reorganized file structure.
- Fixed NetBeans project files and Ant build scripts.
- Fixed guide.
JHotDraw 7.0.6
2006-08-27
- Renamed PlasmaDraw to JHotDraw 7.
- Changed copyright notices in all source files.
JHotDraw 7.0.5
2006-07-30
- Moved all packages from ch.randelshofer to org.jhotdraw.
- Reimplemented the 'Net' and 'Pert' sample applications.
- Implemented an 'SVG' sample application.
- Fixed minor issues here and there.
- Added a tweaked version fo NanoXML back into the framework. The tweaked
version of NanoXML allows to read XML documents which have a DTD, without
opening a network connection to the DTD document and thus improving performance
when opening a XML document.
Once we figure out, how can use the javax.xml API in a more performant
way, we might throw out NanoXML again.
JHotDraw 7.0.4_1
2006-06-26
- Removed copyright notice of NanoXML and JGoodies Looks from Draw Application
and Draw Applet.
JHotDraw 7.0.4
2006-06-25
- Reorganized package structure.
- Added support for type safe Figure attributes.
- Replaced the application framework with a new one.
- Added support for double strokes.
- Added support for line positions: centered, inside, outside.
- Added more sample figures.
- Replaced MS Office style icons by a new open source icon set.
- Removed dependency to NanoXML library.
- Removed dependency to JGoodies Looks library.
JHotDraw 7.0.3
2006-01-29
- Added support for Bézier paths and replaced all legacy Polygon
code with it.
- Cleaned up the framework. CompositeFigure does not implement FigureListener
anymore.
- Moved layout strategy for ConnectionFigure into a separate class named
Liner. Added a SlantedLiner. ElbowLiner not yet implemented.
- Migrated from Java 1.4 to 1.5. The framework uses now type save collections.
JHotDraw 7.0.2
2006-01-18
- Revived the project. Replaced integer coordinate system by a double precision
coordinate system.
JHotDraw 7.0.1
2004-03-01
-
Finished adaptation from JHotDraw 5.4b1. JHotDraw 7's framework is
based now entirely on Java idioms. It makes use of Java2D, Swing Undo/Redo,
XML. The user interface is now very close to MS Office 2002.