From b96f8301e5bfe91b3a91911dd1f562c9df3eb38f Mon Sep 17 00:00:00 2001
From: nobody <nobody@fc158eef-6c16-0410-b9c5-873085b46621>
Date: Sun, 1 Feb 2004 18:04:16 +0000
Subject: [PATCH] This commit was manufactured by cvs2svn to create tag
 'jhotdraw60b1-release'.

---
 JHotDraw/JavaDrawApplet.html                  |   69 -
 JHotDraw/JavaDrawViewer.html                  |   63 -
 JHotDraw/NothingApplet.html                   |   63 -
 JHotDraw/PertApplet.html                      |   66 -
 JHotDraw/README.html                          |   88 --
 JHotDraw/build/build.properties               |    1 -
 JHotDraw/build/jhotdraw.mf                    |   65 -
 JHotDraw/compile.bat                          |   15 -
 JHotDraw/compile.sh                           |   10 -
 JHotDraw/compile_ant.bat                      |    5 -
 JHotDraw/doc/Architecture Overview.ppt        |  Bin 70144 -> 0 bytes
 JHotDraw/doc/Changes.html                     |  203 ---
 JHotDraw/doc/ClassDiagram.html                |   10 -
 JHotDraw/doc/ReleaseNotes.html                |  275 ----
 JHotDraw/doc/buildProcess.html                |   45 -
 JHotDraw/doc/change_log.txt                   |   18 -
 JHotDraw/doc/classdiagram.jpg                 |  Bin 17784 -> 0 bytes
 JHotDraw/doc/documentation.html               |   24 -
 JHotDraw/doc/drawBackground.html              |   28 -
 JHotDraw/doc/packages.html                    |   60 -
 JHotDraw/doc/samples.html                     |   96 --
 JHotDraw/drawings/demo.draw                   |   82 --
 JHotDraw/drawings/demo.ser                    |  Bin 9048 -> 0 bytes
 JHotDraw/drawings/net.draw                    |   65 -
 JHotDraw/drawings/net.ser                     |  Bin 6331 -> 0 bytes
 JHotDraw/drawings/nothing.draw                |   10 -
 JHotDraw/drawings/nothing.ser                 |  Bin 3067 -> 0 bytes
 JHotDraw/drawings/pert.draw                   |   64 -
 JHotDraw/drawings/pert.ser                    |  Bin 10154 -> 0 bytes
 JHotDraw/lgpl-license.html                    |  533 --------
 JHotDraw/run_javadraw.bat                     |    3 -
 JHotDraw/setenv.bat                           |    2 -
 .../src/CH/ifa/draw/applet/DrawApplet.java    |  573 --------
 .../ifa/draw/application/DrawApplication.java | 1174 ----------------
 JHotDraw/src/CH/ifa/draw/contrib.jdo          |   31 -
 .../CH/ifa/draw/contrib/AutoscrollHelper.java |   85 --
 .../CH/ifa/draw/contrib/CTXCommandMenu.java   |  198 ---
 .../CH/ifa/draw/contrib/CTXWindowMenu.java    |  202 ---
 .../draw/contrib/ChopDiamondConnector.java    |   93 --
 .../draw/contrib/ChopPolygonConnector.java    |   43 -
 .../draw/contrib/ClippingUpdateStrategy.java  |   66 -
 .../draw/contrib/CommandCheckBoxMenuItem.java |   93 --
 .../CH/ifa/draw/contrib/CommandHolder.java    |   39 -
 .../CH/ifa/draw/contrib/CommandMenuItem.java  |   87 --
 .../CH/ifa/draw/contrib/ComponentFigure.java  |  125 --
 .../contrib/CompositeFigureCreationTool.java  |   79 --
 .../ifa/draw/contrib/CustomSelectionTool.java |  191 ---
 .../CH/ifa/draw/contrib/CustomToolBar.java    |  130 --
 JHotDraw/src/CH/ifa/draw/contrib/Desktop.java |   39 -
 .../src/CH/ifa/draw/contrib/DesktopEvent.java |   55 -
 .../ifa/draw/contrib/DesktopEventService.java |  181 ---
 .../CH/ifa/draw/contrib/DesktopListener.java  |   22 -
 .../CH/ifa/draw/contrib/DiamondFigure.java    |   71 -
 .../CH/ifa/draw/contrib/FloatingTextArea.java |  130 --
 .../contrib/GraphicalCompositeFigure.java     |  355 -----
 JHotDraw/src/CH/ifa/draw/contrib/Helper.java  |   51 -
 .../CH/ifa/draw/contrib/JPanelDesktop.java    |  112 --
 .../ifa/draw/contrib/JScrollPaneDesktop.java  |   91 --
 .../src/CH/ifa/draw/contrib/Layoutable.java   |   43 -
 .../src/CH/ifa/draw/contrib/Layouter.java     |   74 --
 .../CH/ifa/draw/contrib/MDIDesktopPane.java   |  636 ---------
 .../ifa/draw/contrib/MDI_DrawApplication.java |  146 --
 .../src/CH/ifa/draw/contrib/MiniMapView.java  |  249 ----
 .../ifa/draw/contrib/NestedCreationTool.java  |   82 --
 .../CH/ifa/draw/contrib/PolygonFigure.java    |  462 -------
 .../CH/ifa/draw/contrib/PolygonHandle.java    |   98 --
 .../ifa/draw/contrib/PolygonScaleHandle.java  |  186 ---
 .../src/CH/ifa/draw/contrib/PolygonTool.java  |  142 --
 .../contrib/PopupMenuFigureSelection.java     |   38 -
 .../src/CH/ifa/draw/contrib/SVGDrawApp.java   |   49 -
 .../CH/ifa/draw/contrib/SVGStorageFormat.java |  112 --
 .../CH/ifa/draw/contrib/SimpleLayouter.java   |  130 --
 .../ifa/draw/contrib/SplitConnectionTool.java |  107 --
 .../CH/ifa/draw/contrib/SplitPaneDesktop.java |  151 ---
 .../contrib/SplitPaneDrawApplication.java     |   42 -
 .../CH/ifa/draw/contrib/StandardLayouter.java |  132 --
 .../CH/ifa/draw/contrib/TextAreaFigure.java   |  929 -------------
 .../src/CH/ifa/draw/contrib/TextAreaTool.java |  445 -------
 .../CH/ifa/draw/contrib/TriangleFigure.java   |  185 ---
 .../draw/contrib/TriangleRotationHandle.java  |  165 ---
 .../src/CH/ifa/draw/contrib/WindowMenu.java   |  119 --
 .../CH/ifa/draw/contrib/dnd/DNDFigures.java   |   46 -
 .../contrib/dnd/DNDFiguresTransferable.java   |   43 -
 .../CH/ifa/draw/contrib/dnd/DNDHelper.java    |  273 ----
 .../CH/ifa/draw/contrib/dnd/DNDInterface.java |   39 -
 .../ifa/draw/contrib/dnd/DragNDropTool.java   |  345 -----
 .../contrib/dnd/JHDDragSourceListener.java    |  203 ---
 .../contrib/dnd/JHDDropTargetListener.java    |  307 -----
 .../contrib/html/AbstractContentProducer.java |   51 -
 .../html/AttributeContentProducerContext.java |   30 -
 .../html/AttributeFigureContentProducer.java  |   70 -
 .../contrib/html/ColorContentProducer.java    |  111 --
 .../draw/contrib/html/ContentProducer.java    |   77 --
 .../contrib/html/ContentProducerContext.java  |   24 -
 .../contrib/html/ContentProducerRegistry.java |  307 -----
 .../html/DiamondFigureGeometricAdapter.java   |   53 -
 .../html/DisposableResourceHolder.java        |  121 --
 .../html/DisposableResourceManager.java       |   72 -
 .../DisposableResourceManagerFactory.java     |   98 --
 .../contrib/html/ETSLADisposalStrategy.java   |  257 ----
 .../html/EllipseFigureGeometricAdapter.java   |   57 -
 .../html/FigureContentProducerContext.java    |   40 -
 .../html/FigureDataContentProducer.java       |   83 --
 .../draw/contrib/html/GeometricFigure.java    |   33 -
 .../html/HTMLColorContentProducer.java        |   54 -
 .../contrib/html/HTMLContentProducer.java     |   86 --
 .../html/HTMLContentProducerContext.java      |   22 -
 .../ifa/draw/contrib/html/HTMLLayouter.java   |  133 --
 .../draw/contrib/html/HTMLTextAreaFigure.java | 1143 ----------------
 .../draw/contrib/html/HTMLTextAreaTool.java   |   51 -
 .../html/PolygonFigureGeometricAdapter.java   |   62 -
 .../contrib/html/ResourceContentProducer.java |  107 --
 .../html/ResourceDisposabilityStrategy.java   |   57 -
 .../html/ResourceManagerNotSetException.java  |   25 -
 .../html/RoundRectangleGeometricAdapter.java  |   60 -
 .../StandardDisposableResourceHolder.java     |  162 ---
 .../StandardDisposableResourceManager.java    |  120 --
 .../html/TextHolderContentProducer.java       |   96 --
 .../html/TriangleFigureGeometricAdapter.java  |   52 -
 .../draw/contrib/html/URLContentProducer.java |  117 --
 .../CH/ifa/draw/contrib/zoom/AreaTracker.java |   76 --
 .../draw/contrib/zoom/DoubleBufferImage.java  |   77 --
 .../contrib/zoom/MiniMapZoomableView.java     |   47 -
 .../draw/contrib/zoom/ScalingGraphics.java    |  430 ------
 .../draw/contrib/zoom/ZoomAreaTracker.java    |   39 -
 .../CH/ifa/draw/contrib/zoom/ZoomCommand.java |   93 --
 .../draw/contrib/zoom/ZoomDrawingView.java    |  476 -------
 .../CH/ifa/draw/contrib/zoom/ZoomTool.java    |   76 --
 .../draw/contrib/zoom/ZoomUpdateStrategy.java |   74 --
 JHotDraw/src/CH/ifa/draw/figures.jdo          |   60 -
 .../draw/figures/AbstractLineDecoration.java  |  147 --
 .../src/CH/ifa/draw/figures/ArrowTip.java     |  143 --
 .../CH/ifa/draw/figures/AttributeFigure.java  |  250 ----
 .../CH/ifa/draw/figures/BorderDecorator.java  |  106 --
 .../src/CH/ifa/draw/figures/BorderTool.java   |  134 --
 .../draw/figures/ChopEllipseConnector.java    |   46 -
 .../ifa/draw/figures/ConnectedTextTool.java   |  213 ---
 .../CH/ifa/draw/figures/ElbowConnection.java  |  104 --
 .../src/CH/ifa/draw/figures/ElbowHandle.java  |  138 --
 .../CH/ifa/draw/figures/EllipseFigure.java    |  110 --
 .../CH/ifa/draw/figures/FigureAttributes.java |  208 ---
 .../CH/ifa/draw/figures/FontSizeHandle.java   |  132 --
 .../src/CH/ifa/draw/figures/GroupCommand.java |  122 --
 .../src/CH/ifa/draw/figures/GroupFigure.java  |   98 --
 .../src/CH/ifa/draw/figures/GroupHandle.java  |   41 -
 .../src/CH/ifa/draw/figures/ImageFigure.java  |  153 ---
 .../ifa/draw/figures/InsertImageCommand.java  |  119 --
 .../CH/ifa/draw/figures/LineConnection.java   |  374 ------
 .../CH/ifa/draw/figures/LineDecoration.java   |   38 -
 .../src/CH/ifa/draw/figures/LineFigure.java   |   77 --
 .../CH/ifa/draw/figures/NullConnector.java    |   27 -
 .../src/CH/ifa/draw/figures/NullFigure.java   |  186 ---
 .../CH/ifa/draw/figures/NumberTextFigure.java |   70 -
 .../ifa/draw/figures/PolyLineConnector.java   |   91 --
 .../CH/ifa/draw/figures/PolyLineFigure.java   |  416 ------
 .../CH/ifa/draw/figures/PolyLineHandle.java   |  126 --
 .../CH/ifa/draw/figures/PolyLineLocator.java  |   41 -
 .../src/CH/ifa/draw/figures/RadiusHandle.java |  131 --
 .../CH/ifa/draw/figures/RectangleFigure.java  |   97 --
 .../draw/figures/RoundRectangleFigure.java    |  140 --
 .../src/CH/ifa/draw/figures/ScribbleTool.java |  119 --
 .../figures/ShortestDistanceConnector.java    |  158 ---
 .../src/CH/ifa/draw/figures/TextFigure.java   |  509 -------
 .../src/CH/ifa/draw/figures/TextTool.java     |  303 -----
 .../CH/ifa/draw/figures/UngroupCommand.java   |  118 --
 JHotDraw/src/CH/ifa/draw/framework.jdo        |   11 -
 .../ifa/draw/framework/ConnectionFigure.java  |  152 ---
 .../src/CH/ifa/draw/framework/Connector.java  |   81 --
 .../src/CH/ifa/draw/framework/Cursor.java     |   29 -
 .../src/CH/ifa/draw/framework/Drawing.java    |  317 -----
 .../draw/framework/DrawingChangeEvent.java    |   47 -
 .../draw/framework/DrawingChangeListener.java |   34 -
 .../CH/ifa/draw/framework/DrawingEditor.java  |   72 -
 .../CH/ifa/draw/framework/DrawingView.java    |  315 -----
 .../src/CH/ifa/draw/framework/Figure.java     |  340 -----
 .../framework/FigureAttributeConstant.java    |  178 ---
 .../ifa/draw/framework/FigureChangeEvent.java |   65 -
 .../draw/framework/FigureChangeListener.java  |   48 -
 .../ifa/draw/framework/FigureEnumeration.java |   37 -
 .../ifa/draw/framework/FigureSelection.java   |   39 -
 .../framework/FigureSelectionListener.java    |   25 -
 .../CH/ifa/draw/framework/FigureVisitor.java  |   22 -
 .../src/CH/ifa/draw/framework/Handle.java     |  133 --
 .../ifa/draw/framework/HandleEnumeration.java |   51 -
 .../ifa/draw/framework/JHotDrawException.java |   40 -
 .../framework/JHotDrawRuntimeException.java   |   40 -
 .../src/CH/ifa/draw/framework/Locator.java    |   37 -
 .../src/CH/ifa/draw/framework/Painter.java    |   40 -
 .../ifa/draw/framework/PointConstrainer.java  |   46 -
 JHotDraw/src/CH/ifa/draw/framework/Tool.java  |  128 --
 .../CH/ifa/draw/framework/ToolListener.java   |   27 -
 .../draw/framework/ViewChangeListener.java    |   36 -
 JHotDraw/src/CH/ifa/draw/images/ATEXT1.gif    |  Bin 195 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ATEXT2.gif    |  Bin 185 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ATEXT3.gif    |  Bin 191 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/BORDDEC1.gif  |  Bin 173 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/BORDDEC2.gif  |  Bin 170 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/BORDDEC3.gif  |  Bin 186 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/CONN1.gif     |  Bin 171 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/CONN2.gif     |  Bin 161 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/CONN3.gif     |  Bin 170 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/DIAMOND1.gif  |  Bin 192 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/DIAMOND2.gif  |  Bin 180 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/DIAMOND3.gif  |  Bin 187 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ELLIPSE1.gif  |  Bin 199 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ELLIPSE2.gif  |  Bin 193 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ELLIPSE3.gif  |  Bin 202 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ERASER1.gif   |  Bin 183 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ERASER2.gif   |  Bin 173 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ERASER3.gif   |  Bin 179 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/HTMLAREA1.gif |  Bin 194 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/HTMLAREA2.gif |  Bin 190 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/HTMLAREA3.gif |  Bin 203 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/LINE1.gif     |  Bin 165 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/LINE2.gif     |  Bin 158 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/LINE3.gif     |  Bin 164 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/OCONN1.gif    |  Bin 172 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/OCONN2.gif    |  Bin 161 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/OCONN3.gif    |  Bin 170 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/PERT1.gif     |  Bin 186 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/PERT2.gif     |  Bin 178 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/PERT3.gif     |  Bin 188 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/POLYGON1.gif  |  Bin 193 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/POLYGON2.gif  |  Bin 179 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/POLYGON3.gif  |  Bin 189 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/RECT1.gif     |  Bin 190 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/RECT2.gif     |  Bin 178 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/RECT3.gif     |  Bin 190 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/RRECT1.gif    |  Bin 191 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/RRECT2.gif    |  Bin 182 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/RRECT3.gif    |  Bin 190 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/SCRIBBL1.gif  |  Bin 178 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/SCRIBBL2.gif  |  Bin 169 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/SCRIBBL3.gif  |  Bin 181 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/SEL1.gif      |  Bin 186 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/SEL2.gif      |  Bin 182 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/SEL3.gif      |  Bin 192 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEMPLATE.gif  |  Bin 152 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEMPLAT_.gif  |  Bin 151 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEXT1.gif     |  Bin 193 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEXT2.gif     |  Bin 181 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEXT3.gif     |  Bin 186 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEXTAREA1.gif |  Bin 159 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEXTAREA2.gif |  Bin 152 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEXTAREA3.gif |  Bin 160 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TOBACK1.gif   |  Bin 193 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TOBACK2.gif   |  Bin 184 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TOBACK3.gif   |  Bin 195 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TOFRONT1.gif  |  Bin 196 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TOFRONT2.gif  |  Bin 185 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TOFRONT3.gif  |  Bin 197 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TRIANGLE1.gif |  Bin 192 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TRIANGLE2.gif |  Bin 181 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TRIANGLE3.gif |  Bin 191 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/URL1.gif      |  Bin 222 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/URL2.gif      |  Bin 216 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/URL3.gif      |  Bin 230 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ZOOM1.gif     |  Bin 149 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ZOOM2.gif     |  Bin 130 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ZOOM3.gif     |  Bin 949 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/pspbrwse.jbf  |  Bin 21230 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/samples/javadraw.jdo |   10 -
 .../samples/javadraw/AnimationDecorator.java  |   99 --
 .../ifa/draw/samples/javadraw/Animator.java   |   62 -
 .../samples/javadraw/BouncingDrawing.java     |   67 -
 .../draw/samples/javadraw/FollowURLTool.java  |   70 -
 .../draw/samples/javadraw/JavaDrawApp.java    |  267 ----
 .../draw/samples/javadraw/JavaDrawApplet.java |  132 --
 .../samples/javadraw/JavaDrawAppletHelp.html  |   69 -
 .../draw/samples/javadraw/JavaDrawViewer.java |  123 --
 .../samples/javadraw/MySelectionTool.java     |   47 -
 .../draw/samples/javadraw/PatternPainter.java |   57 -
 .../CH/ifa/draw/samples/javadraw/URLTool.java |  108 --
 .../samples/javadraw/sampleimages/DUKE.gif    |  Bin 2012 -> 0 bytes
 .../javadraw/sampleimages/Juggler0.gif        |  Bin 3090 -> 0 bytes
 .../javadraw/sampleimages/backgrnd.gif        |  Bin 2443 -> 0 bytes
 .../samples/javadraw/sampleimages/beans.gif   |  Bin 7012 -> 0 bytes
 .../samples/javadraw/sampleimages/bg1.gif     |  Bin 2164 -> 0 bytes
 .../javadraw/sampleimages/javacentral.gif     |  Bin 37239 -> 0 bytes
 .../sampleimages/joe.surf.yellow.small.gif    |  Bin 5009 -> 0 bytes
 .../samples/javadraw/sampleimages/rain.gif    |  Bin 7664 -> 0 bytes
 .../samples/javadraw/sampleimages/view.gif    |  Bin 121144 -> 0 bytes
 .../samples/minimap/MiniMapApplication.java   |   30 -
 .../draw/samples/minimap/MiniMapDesktop.java  |   54 -
 JHotDraw/src/CH/ifa/draw/samples/net.jdo      |    8 -
 .../src/CH/ifa/draw/samples/net/NetApp.java   |   48 -
 .../CH/ifa/draw/samples/net/NodeFigure.java   |  155 ---
 .../ifa/draw/samples/nothing/NothingApp.java  |   71 -
 .../draw/samples/nothing/NothingApplet.java   |   55 -
 .../CH/ifa/draw/samples/pert/PertApplet.java  |   42 -
 .../ifa/draw/samples/pert/PertAppletHelp.html |   67 -
 .../draw/samples/pert/PertApplication.java    |   57 -
 .../ifa/draw/samples/pert/PertDependency.java |   73 -
 .../CH/ifa/draw/samples/pert/PertFigure.java  |  313 -----
 .../samples/pert/PertFigureCreationTool.java  |   35 -
 .../CH/ifa/draw/samples/pert/images/PERT1.gif |  Bin 186 -> 0 bytes
 .../CH/ifa/draw/samples/pert/images/PERT2.gif |  Bin 178 -> 0 bytes
 .../CH/ifa/draw/samples/pert/images/PERT3.gif |  Bin 188 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/standard.jdo         |   31 -
 .../src/CH/ifa/draw/standard/AWTCursor.java   |   46 -
 .../CH/ifa/draw/standard/AbstractCommand.java |  253 ----
 .../ifa/draw/standard/AbstractConnector.java  |  126 --
 .../CH/ifa/draw/standard/AbstractFigure.java  |  482 -------
 .../CH/ifa/draw/standard/AbstractHandle.java  |  176 ---
 .../CH/ifa/draw/standard/AbstractLocator.java |   61 -
 .../CH/ifa/draw/standard/AbstractTool.java    |  395 ------
 .../src/CH/ifa/draw/standard/ActionTool.java  |   51 -
 .../CH/ifa/draw/standard/AlignCommand.java    |  224 ----
 .../CH/ifa/draw/standard/BoxHandleKit.java    |  273 ----
 .../draw/standard/BringToFrontCommand.java    |   63 -
 .../draw/standard/BufferedUpdateStrategy.java |   60 -
 .../draw/standard/ChangeAttributeCommand.java |  154 ---
 .../standard/ChangeConnectionEndHandle.java   |   90 --
 .../draw/standard/ChangeConnectionHandle.java |  276 ----
 .../standard/ChangeConnectionStartHandle.java |   90 --
 .../ifa/draw/standard/ChopBoxConnector.java   |   76 --
 .../CH/ifa/draw/standard/CompositeFigure.java |  734 ----------
 .../ifa/draw/standard/ConnectionHandle.java   |  210 ---
 .../CH/ifa/draw/standard/ConnectionTool.java  |  448 -------
 .../src/CH/ifa/draw/standard/CopyCommand.java |   42 -
 .../CH/ifa/draw/standard/CreationTool.java    |  229 ----
 .../src/CH/ifa/draw/standard/CutCommand.java  |  181 ---
 .../CH/ifa/draw/standard/DecoratorFigure.java |  337 -----
 .../CH/ifa/draw/standard/DeleteCommand.java   |  126 --
 .../standard/DeleteFromDrawingVisitor.java    |   58 -
 .../src/CH/ifa/draw/standard/DragTracker.java |  189 ---
 .../ifa/draw/standard/DuplicateCommand.java   |   58 -
 .../standard/FastBufferedUpdateStrategy.java  |  121 --
 .../draw/standard/FigureAndEnumerator.java    |   57 -
 .../draw/standard/FigureChangeAdapter.java    |   49 -
 .../FigureChangeEventMulticaster.java         |  105 --
 .../ifa/draw/standard/FigureEnumerator.java   |   82 --
 .../draw/standard/FigureTransferCommand.java  |   67 -
 .../CH/ifa/draw/standard/GridConstrainer.java |   58 -
 .../draw/standard/HandleAndEnumerator.java    |   59 -
 .../ifa/draw/standard/HandleEnumerator.java   |   87 --
 .../CH/ifa/draw/standard/HandleTracker.java   |   52 -
 .../standard/InsertIntoDrawingVisitor.java    |   57 -
 .../ifa/draw/standard/LocatorConnector.java   |  108 --
 .../CH/ifa/draw/standard/LocatorHandle.java   |   90 --
 .../CH/ifa/draw/standard/NullDrawingView.java |  430 ------
 .../src/CH/ifa/draw/standard/NullHandle.java  |   50 -
 .../src/CH/ifa/draw/standard/NullPainter.java |   39 -
 .../src/CH/ifa/draw/standard/NullTool.java    |   41 -
 .../CH/ifa/draw/standard/OffsetLocator.java   |   80 --
 .../draw/standard/OrderedFigureElement.java   |   59 -
 .../CH/ifa/draw/standard/PasteCommand.java    |  117 --
 .../ifa/draw/standard/PeripheralLocator.java  |   78 --
 .../src/CH/ifa/draw/standard/QuadTree.java    |  260 ----
 .../CH/ifa/draw/standard/RelativeLocator.java |  136 --
 .../standard/ReverseFigureEnumerator.java     |   60 -
 .../ifa/draw/standard/SelectAllCommand.java   |   91 --
 .../ifa/draw/standard/SelectAreaTracker.java  |  103 --
 .../CH/ifa/draw/standard/SelectionTool.java   |  144 --
 .../ifa/draw/standard/SendToBackCommand.java  |  117 --
 .../draw/standard/SimpleUpdateStrategy.java   |   40 -
 .../draw/standard/SingleFigureEnumerator.java |   61 -
 .../CH/ifa/draw/standard/StandardDrawing.java |  227 ----
 .../draw/standard/StandardDrawingView.java    | 1183 -----------------
 .../standard/StandardFigureSelection.java     |   95 --
 .../src/CH/ifa/draw/standard/TextHolder.java  |   73 -
 .../ifa/draw/standard/ToggleGridCommand.java  |   49 -
 .../src/CH/ifa/draw/standard/ToolButton.java  |  165 ---
 JHotDraw/src/CH/ifa/draw/test/AllTests.java   |   47 -
 .../src/CH/ifa/draw/test/JHDTestCase.java     |   44 -
 .../CH/ifa/draw/test/contrib/AllTests.java    |   76 --
 .../draw/test/contrib/CTXCommandMenuTest.java |  198 ---
 .../draw/test/contrib/CTXWindowMenuTest.java  |  102 --
 .../contrib/ChopDiamondConnectorTest.java     |  100 --
 .../contrib/ChopPolygonConnectorTest.java     |   99 --
 .../contrib/ClippingUpdateStrategyTest.java   |  110 --
 .../contrib/CommandCheckBoxMenuItemTest.java  |  122 --
 .../test/contrib/CommandMenuItemTest.java     |  131 --
 .../test/contrib/ComponentFigureTest.java     |  156 ---
 .../CompositeFigureCreationToolTest.java      |  144 --
 .../test/contrib/CustomSelectionToolTest.java |  132 --
 .../draw/test/contrib/CustomToolBarTest.java  |  154 ---
 .../test/contrib/DesktopEventServiceTest.java |  184 ---
 .../draw/test/contrib/DiamondFigureTest.java  |  154 ---
 .../test/contrib/FloatingTextAreaTest.java    |  154 ---
 .../contrib/GraphicalCompositeFigureTest.java |  275 ----
 .../CH/ifa/draw/test/contrib/HelperTest.java  |  110 --
 .../draw/test/contrib/JPanelDesktopTest.java  |  177 ---
 .../test/contrib/JScrollPaneDesktopTest.java  |  177 ---
 .../draw/test/contrib/MDIDesktopPaneTest.java |  254 ----
 .../test/contrib/MDI_DrawApplicationTest.java |  155 ---
 .../draw/test/contrib/MiniMapViewTest.java    |  163 ---
 .../test/contrib/NestedCreationToolTest.java  |  147 --
 .../draw/test/contrib/PolygonFigureTest.java  |  419 ------
 .../draw/test/contrib/PolygonHandleTest.java  |  148 ---
 .../draw/test/contrib/PolygonToolTest.java    |  166 ---
 .../ifa/draw/test/contrib/SVGDrawAppTest.java |  122 --
 .../test/contrib/SVGStorageFormatTest.java    |  133 --
 .../draw/test/contrib/SimpleLayouterTest.java |  201 ---
 .../test/contrib/SplitConnectionToolTest.java |  158 ---
 .../test/contrib/StandardLayouterTest.java    |  133 --
 .../draw/test/contrib/TextAreaFigureTest.java |  508 -------
 .../draw/test/contrib/TextAreaToolTest.java   |  169 ---
 .../draw/test/contrib/TriangleFigureTest.java |  232 ----
 .../ifa/draw/test/contrib/WindowMenuTest.java |  103 --
 .../CH/ifa/draw/test/figures/AllTests.java    |   61 -
 .../ifa/draw/test/figures/ArrowTipTest.java   |  137 --
 .../test/figures/BorderDecoratorTest.java     |  181 ---
 .../ifa/draw/test/figures/BorderToolTest.java |  133 --
 .../figures/ChopEllipseConnectorTest.java     |  100 --
 .../test/figures/ConnectedTextToolTest.java   |  136 --
 .../test/figures/ElbowConnectionTest.java     |  144 --
 .../draw/test/figures/ElbowHandleTest.java    |  148 ---
 .../draw/test/figures/EllipseFigureTest.java  |  199 ---
 .../test/figures/FigureAttributesTest.java    |  188 ---
 .../ifa/draw/test/figures/FiguresSuite.java   |   88 --
 .../draw/test/figures/FontSizeHandleTest.java |  148 ---
 .../draw/test/figures/GroupCommandTest.java   |  126 --
 .../draw/test/figures/GroupFigureTest.java    |  170 ---
 .../draw/test/figures/ImageFigureTest.java    |  188 ---
 .../test/figures/InsertImageCommandTest.java  |  112 --
 .../draw/test/figures/LineConnectionTest.java |  397 ------
 .../ifa/draw/test/figures/LineFigureTest.java |  144 --
 .../draw/test/figures/NullConnectorTest.java  |  103 --
 .../ifa/draw/test/figures/NullFigureTest.java |  254 ----
 .../test/figures/NumberTextFigureTest.java    |  142 --
 .../test/figures/PolyLineConnectorTest.java   |  100 --
 .../draw/test/figures/PolyLineFigureTest.java |  383 ------
 .../draw/test/figures/PolyLineHandleTest.java |  137 --
 .../test/figures/RectangleFigureTest.java     |  177 ---
 .../figures/RoundRectangleFigureTest.java     |  221 ---
 .../draw/test/figures/ScribbleToolTest.java   |  155 ---
 .../ShortestDistanceConnectorTest.java        |  122 --
 .../ifa/draw/test/figures/TextFigureTest.java |  473 -------
 .../ifa/draw/test/figures/TextToolTest.java   |  173 ---
 .../draw/test/figures/UngroupCommandTest.java |  122 --
 .../CH/ifa/draw/test/framework/AllTests.java  |   35 -
 .../framework/DrawingChangeEventTest.java     |  125 --
 .../FigureAttributeConstantTest.java          |  155 ---
 .../test/framework/FigureChangeEventTest.java |  137 --
 .../draw/test/framework/FrameworkSuite.java   |   62 -
 .../draw/test/samples/javadraw/AllTests.java  |   41 -
 .../javadraw/AnimationDecoratorTest.java      |  177 ---
 .../test/samples/javadraw/AnimatorTest.java   |  141 --
 .../samples/javadraw/BouncingDrawingTest.java |  144 --
 .../samples/javadraw/JavaDrawAppTest.java     |  144 --
 .../samples/javadraw/JavaDrawAppletTest.java  |  144 --
 .../samples/javadraw/JavaDrawViewerTest.java  |  221 ---
 .../test/samples/javadraw/JavadrawSuite.java  |   68 -
 .../samples/javadraw/MySelectionToolTest.java |  111 --
 .../samples/javadraw/PatternPainterTest.java  |  116 --
 .../test/samples/javadraw/URLToolTest.java    |  133 --
 .../draw/test/samples/minimap/AllTests.java   |   34 -
 .../minimap/MiniMapApplicationTest.java       |  111 --
 .../samples/minimap/MiniMapDesktopTest.java   |  100 --
 .../test/samples/minimap/MinimapSuite.java    |   61 -
 .../ifa/draw/test/samples/net/AllTests.java   |   34 -
 .../ifa/draw/test/samples/net/NetAppTest.java |  111 --
 .../ifa/draw/test/samples/net/NetSuite.java   |   61 -
 .../draw/test/samples/net/NodeFigureTest.java |  177 ---
 .../draw/test/samples/nothing/AllTests.java   |   34 -
 .../test/samples/nothing/NothingAppTest.java  |  111 --
 .../samples/nothing/NothingAppletTest.java    |  100 --
 .../test/samples/nothing/NothingSuite.java    |   61 -
 .../ifa/draw/test/samples/pert/AllTests.java  |   37 -
 .../test/samples/pert/PertAppletTest.java     |  100 --
 .../samples/pert/PertApplicationTest.java     |  111 --
 .../test/samples/pert/PertDependencyTest.java |  144 --
 .../pert/PertFigureCreationToolTest.java      |  100 --
 .../test/samples/pert/PertFigureTest.java     |  357 -----
 .../ifa/draw/test/samples/pert/PertSuite.java |   64 -
 .../draw/test/standard/AlignCommandTest.java  |  122 --
 .../CH/ifa/draw/test/standard/AllTests.java   |   80 --
 .../draw/test/standard/BoxHandleKitTest.java  |  210 ---
 .../standard/BringToFrontCommandTest.java     |  122 --
 .../standard/BufferedUpdateStrategyTest.java  |  111 --
 .../standard/ChangeAttributeCommandTest.java  |  126 --
 .../ChangeConnectionEndHandleTest.java        |  112 --
 .../ChangeConnectionStartHandleTest.java      |  112 --
 .../test/standard/ChopBoxConnectorTest.java   |  122 --
 .../test/standard/ConnectionHandleTest.java   |  149 ---
 .../test/standard/ConnectionToolTest.java     |  159 ---
 .../draw/test/standard/CopyCommandTest.java   |  111 --
 .../draw/test/standard/CreationToolTest.java  |  147 --
 .../draw/test/standard/CutCommandTest.java    |  122 --
 .../draw/test/standard/DeleteCommandTest.java |  111 --
 .../DeleteFromDrawingVisitorTest.java         |  145 --
 .../draw/test/standard/DragTrackerTest.java   |  147 --
 .../test/standard/DuplicateCommandTest.java   |  111 --
 .../FastBufferedUpdateStrategyTest.java       |  111 --
 .../standard/FigureAndEnumeratorTest.java     |  149 ---
 .../standard/FigureChangeAdapterTest.java     |  155 ---
 .../FigureChangeEventMulticasterTest.java     |  184 ---
 .../test/standard/FigureEnumeratorTest.java   |  154 ---
 .../test/standard/GridConstrainerTest.java    |  133 --
 .../standard/HandleAndEnumeratorTest.java     |  164 ---
 .../test/standard/HandleEnumeratorTest.java   |  167 ---
 .../draw/test/standard/HandleTrackerTest.java |  151 ---
 .../InsertIntoDrawingVisitorTest.java         |  145 --
 .../test/standard/LocatorConnectorTest.java   |  166 ---
 .../draw/test/standard/LocatorHandleTest.java |  126 --
 .../test/standard/NullDrawingViewTest.java    |  650 ---------
 .../draw/test/standard/NullHandleTest.java    |  116 --
 .../ifa/draw/test/standard/NullToolTest.java  |  122 --
 .../draw/test/standard/OffsetLocatorTest.java |  144 --
 .../draw/test/standard/PasteCommandTest.java  |  122 --
 .../test/standard/PeripheralLocatorTest.java  |  111 --
 .../test/standard/RelativeLocatorTest.java    |  243 ----
 .../standard/ReverseFigureEnumeratorTest.java |  143 --
 .../test/standard/SelectAllCommandTest.java   |  122 --
 .../test/standard/SelectAreaTrackerTest.java  |  133 --
 .../draw/test/standard/SelectionToolTest.java |  144 --
 .../test/standard/SendToBackCommandTest.java  |  111 --
 .../standard/SimpleUpdateStrategyTest.java    |  111 --
 .../standard/SingleFigureEnumeratorTest.java  |  137 --
 .../test/standard/StandardDrawingTest.java    |  263 ----
 .../standard/StandardDrawingViewTest.java     |  728 ----------
 .../standard/StandardFigureSelectionTest.java |  146 --
 .../ifa/draw/test/standard/StandardSuite.java |  107 --
 .../test/standard/ToggleGridCommandTest.java  |  113 --
 .../draw/test/standard/ToolButtonTest.java    |  258 ----
 .../src/CH/ifa/draw/test/util/AllTests.java   |   61 -
 .../src/CH/ifa/draw/test/util/BoundsTest.java |  484 -------
 .../CH/ifa/draw/test/util/ClipboardTest.java  |  131 --
 .../CH/ifa/draw/test/util/ColorMapTest.java   |  155 ---
 .../ifa/draw/test/util/CommandButtonTest.java |  112 --
 .../ifa/draw/test/util/CommandChoiceTest.java |  122 --
 .../ifa/draw/test/util/CommandMenuTest.java   |  199 ---
 .../src/CH/ifa/draw/test/util/FillerTest.java |  133 --
 .../draw/test/util/FloatingTextFieldTest.java |  177 ---
 .../src/CH/ifa/draw/test/util/GeomTest.java   |  343 -----
 .../ifa/draw/test/util/GraphLayoutTest.java   |  155 ---
 .../CH/ifa/draw/test/util/IconkitTest.java    |  177 ---
 .../draw/test/util/JDOStorageFormatTest.java  |  143 --
 .../ifa/draw/test/util/PaletteIconTest.java   |  181 ---
 .../ifa/draw/test/util/PaletteLayoutTest.java |  158 ---
 .../ifa/draw/test/util/RedoCommandTest.java   |  122 --
 .../test/util/ReverseListEnumeratorTest.java  |  140 --
 .../util/SerializationStorageFormatTest.java  |  133 --
 .../test/util/StandardStorageFormatTest.java  |  204 ---
 .../StandardVersionControlStrategyTest.java   |  110 --
 .../ifa/draw/test/util/StorableInputTest.java |  184 ---
 .../draw/test/util/StorableOutputTest.java    |  195 ---
 .../test/util/StorageFormatManagerTest.java   |  177 ---
 .../ifa/draw/test/util/UndoCommandTest.java   |  122 --
 .../ifa/draw/test/util/UndoManagerTest.java   |  210 ---
 .../draw/test/util/UndoRedoActivityTest.java  |  269 ----
 .../draw/test/util/UndoableAdapterTest.java   |  244 ----
 .../draw/test/util/UndoableCommandTest.java   |  248 ----
 .../draw/test/util/UndoableHandleTest.java    |  218 ---
 .../ifa/draw/test/util/UndoableToolTest.java  |  374 ------
 .../src/CH/ifa/draw/test/util/UtilSuite.java  |   88 --
 .../draw/test/util/VersionManagementTest.java |  165 ---
 .../test/util/collections/jdk11/AllTests.java |   37 -
 .../jdk11/CollectionsFactoryJDK11Test.java    |  133 --
 .../jdk11/IteratorWrapperTest.java            |  141 --
 .../util/collections/jdk11/Jdk11Suite.java    |   64 -
 .../collections/jdk11/ListWrapperTest.java    |  298 -----
 .../collections/jdk11/MapWrapperTest.java     |  232 ----
 .../collections/jdk11/SetWrapperTest.java     |  232 ----
 .../test/util/collections/jdk12/AllTests.java |   33 -
 .../jdk12/CollectionsFactoryJDK12Test.java    |  133 --
 .../util/collections/jdk12/Jdk12Suite.java    |   55 -
 JHotDraw/src/CH/ifa/draw/util/Animatable.java |   24 -
 JHotDraw/src/CH/ifa/draw/util/Bounds.java     |  496 -------
 JHotDraw/src/CH/ifa/draw/util/Clipboard.java  |   49 -
 .../CH/ifa/draw/util/CollectionsFactory.java  |   83 --
 JHotDraw/src/CH/ifa/draw/util/ColorMap.java   |   97 --
 JHotDraw/src/CH/ifa/draw/util/Command.java    |   59 -
 .../src/CH/ifa/draw/util/CommandButton.java   |   53 -
 .../src/CH/ifa/draw/util/CommandChoice.java   |   56 -
 .../src/CH/ifa/draw/util/CommandListener.java |   24 -
 .../src/CH/ifa/draw/util/CommandMenu.java     |  134 --
 JHotDraw/src/CH/ifa/draw/util/Filler.java     |   55 -
 .../CH/ifa/draw/util/FloatingTextField.java   |  111 --
 JHotDraw/src/CH/ifa/draw/util/Geom.java       |  394 ------
 .../src/CH/ifa/draw/util/GraphLayout.java     |  227 ----
 JHotDraw/src/CH/ifa/draw/util/Iconkit.java    |  171 ---
 .../CH/ifa/draw/util/JDOStorageFormat.java    |  326 -----
 .../src/CH/ifa/draw/util/PaletteButton.java   |  148 ---
 .../src/CH/ifa/draw/util/PaletteIcon.java     |   44 -
 .../src/CH/ifa/draw/util/PaletteLayout.java   |  112 --
 .../src/CH/ifa/draw/util/PaletteListener.java |   32 -
 .../src/CH/ifa/draw/util/RedoCommand.java     |   66 -
 .../ifa/draw/util/ReverseListEnumerator.java  |   48 -
 .../draw/util/SerializationStorageFormat.java |   87 --
 .../ifa/draw/util/StandardStorageFormat.java  |  244 ----
 .../util/StandardVersionControlStrategy.java  |   92 --
 JHotDraw/src/CH/ifa/draw/util/Storable.java   |   37 -
 .../src/CH/ifa/draw/util/StorableInput.java   |  169 ---
 .../src/CH/ifa/draw/util/StorableOutput.java  |  176 ---
 .../src/CH/ifa/draw/util/StorageFormat.java   |   73 -
 .../ifa/draw/util/StorageFormatManager.java   |  193 ---
 .../src/CH/ifa/draw/util/UndoCommand.java     |   74 --
 .../src/CH/ifa/draw/util/UndoManager.java     |  218 ---
 .../CH/ifa/draw/util/UndoRedoActivity.java    |  120 --
 JHotDraw/src/CH/ifa/draw/util/Undoable.java   |   54 -
 .../src/CH/ifa/draw/util/UndoableAdapter.java |  135 --
 .../src/CH/ifa/draw/util/UndoableCommand.java |  134 --
 .../src/CH/ifa/draw/util/UndoableHandle.java  |  213 ---
 .../src/CH/ifa/draw/util/UndoableTool.java    |  192 ---
 .../ifa/draw/util/VersionControlStrategy.java |   24 -
 .../CH/ifa/draw/util/VersionManagement.java   |  200 ---
 .../CH/ifa/draw/util/VersionRequester.java    |   28 -
 .../jdk11/CollectionsFactoryJDK11.java        |   53 -
 .../collections/jdk11/IteratorWrapper.java    |   39 -
 .../util/collections/jdk11/ListWrapper.java   |  126 --
 .../util/collections/jdk11/MapWrapper.java    |   78 --
 .../util/collections/jdk11/SetWrapper.java    |   85 --
 .../jdk12/CollectionsFactoryJDK12.java        |   53 -
 605 files changed, 73986 deletions(-)
 delete mode 100644 JHotDraw/JavaDrawApplet.html
 delete mode 100644 JHotDraw/JavaDrawViewer.html
 delete mode 100644 JHotDraw/NothingApplet.html
 delete mode 100644 JHotDraw/PertApplet.html
 delete mode 100644 JHotDraw/README.html
 delete mode 100644 JHotDraw/build/build.properties
 delete mode 100644 JHotDraw/build/jhotdraw.mf
 delete mode 100644 JHotDraw/compile.bat
 delete mode 100644 JHotDraw/compile.sh
 delete mode 100644 JHotDraw/compile_ant.bat
 delete mode 100644 JHotDraw/doc/Architecture Overview.ppt
 delete mode 100644 JHotDraw/doc/Changes.html
 delete mode 100644 JHotDraw/doc/ClassDiagram.html
 delete mode 100644 JHotDraw/doc/ReleaseNotes.html
 delete mode 100644 JHotDraw/doc/buildProcess.html
 delete mode 100644 JHotDraw/doc/change_log.txt
 delete mode 100644 JHotDraw/doc/classdiagram.jpg
 delete mode 100644 JHotDraw/doc/documentation.html
 delete mode 100644 JHotDraw/doc/drawBackground.html
 delete mode 100644 JHotDraw/doc/packages.html
 delete mode 100644 JHotDraw/doc/samples.html
 delete mode 100644 JHotDraw/drawings/demo.draw
 delete mode 100644 JHotDraw/drawings/demo.ser
 delete mode 100644 JHotDraw/drawings/net.draw
 delete mode 100644 JHotDraw/drawings/net.ser
 delete mode 100644 JHotDraw/drawings/nothing.draw
 delete mode 100644 JHotDraw/drawings/nothing.ser
 delete mode 100644 JHotDraw/drawings/pert.draw
 delete mode 100644 JHotDraw/drawings/pert.ser
 delete mode 100644 JHotDraw/lgpl-license.html
 delete mode 100644 JHotDraw/run_javadraw.bat
 delete mode 100644 JHotDraw/setenv.bat
 delete mode 100644 JHotDraw/src/CH/ifa/draw/applet/DrawApplet.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/application/DrawApplication.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib.jdo
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/AutoscrollHelper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CTXCommandMenu.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CTXWindowMenu.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/ChopDiamondConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/ChopPolygonConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/ClippingUpdateStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CommandCheckBoxMenuItem.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CommandHolder.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CommandMenuItem.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/ComponentFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CompositeFigureCreationTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CustomSelectionTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CustomToolBar.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/Desktop.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/DesktopEvent.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/DesktopEventService.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/DesktopListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/DiamondFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/FloatingTextArea.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/GraphicalCompositeFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/Helper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/JPanelDesktop.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/JScrollPaneDesktop.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/Layoutable.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/Layouter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/MDIDesktopPane.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/MDI_DrawApplication.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/MiniMapView.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/NestedCreationTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/PolygonFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/PolygonHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/PolygonScaleHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/PolygonTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/PopupMenuFigureSelection.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/SVGDrawApp.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/SVGStorageFormat.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/SimpleLayouter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/SplitConnectionTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDesktop.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDrawApplication.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/StandardLayouter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/TextAreaFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/TextAreaTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/TriangleFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/TriangleRotationHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/WindowMenu.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFigures.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFiguresTransferable.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDHelper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDInterface.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/DragNDropTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDragSourceListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDropTargetListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/AbstractContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/AttributeContentProducerContext.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/AttributeFigureContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ColorContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerContext.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerRegistry.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/DiamondFigureGeometricAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceHolder.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManager.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManagerFactory.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ETSLADisposalStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/EllipseFigureGeometricAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/FigureContentProducerContext.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/FigureDataContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/GeometricFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/HTMLColorContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducerContext.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/HTMLLayouter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/PolygonFigureGeometricAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ResourceContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ResourceDisposabilityStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ResourceManagerNotSetException.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/RoundRectangleGeometricAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceHolder.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceManager.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/TextHolderContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/TriangleFigureGeometricAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/URLContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/AreaTracker.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/DoubleBufferImage.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/MiniMapZoomableView.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/ScalingGraphics.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomAreaTracker.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomDrawingView.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomUpdateStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures.jdo
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/AbstractLineDecoration.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ArrowTip.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/AttributeFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/BorderDecorator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/BorderTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ChopEllipseConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ConnectedTextTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ElbowConnection.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ElbowHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/EllipseFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/FigureAttributes.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/FontSizeHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/GroupCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/GroupFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/GroupHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ImageFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/InsertImageCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/LineConnection.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/LineDecoration.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/LineFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/NullConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/NullFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/NumberTextFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/PolyLineConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/PolyLineFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/PolyLineHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/PolyLineLocator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/RadiusHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/RectangleFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/RoundRectangleFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ScribbleTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ShortestDistanceConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/TextFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/TextTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/UngroupCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework.jdo
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/ConnectionFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Connector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Cursor.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Drawing.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/DrawingChangeEvent.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/DrawingChangeListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/DrawingEditor.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/DrawingView.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Figure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureAttributeConstant.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureChangeEvent.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureChangeListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureEnumeration.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureSelection.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureSelectionListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureVisitor.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Handle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/HandleEnumeration.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/JHotDrawException.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/JHotDrawRuntimeException.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Locator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Painter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/PointConstrainer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Tool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/ToolListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/ViewChangeListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ATEXT1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ATEXT2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ATEXT3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/BORDDEC1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/BORDDEC2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/BORDDEC3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/CONN1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/CONN2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/CONN3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/DIAMOND1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/DIAMOND2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/DIAMOND3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ELLIPSE1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ELLIPSE2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ELLIPSE3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ERASER1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ERASER2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ERASER3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/HTMLAREA1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/HTMLAREA2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/HTMLAREA3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/LINE1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/LINE2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/LINE3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/OCONN1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/OCONN2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/OCONN3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/PERT1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/PERT2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/PERT3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/POLYGON1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/POLYGON2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/POLYGON3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/RECT1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/RECT2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/RECT3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/RRECT1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/RRECT2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/RRECT3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/SCRIBBL1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/SCRIBBL2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/SCRIBBL3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/SEL1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/SEL2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/SEL3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEMPLATE.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEMPLAT_.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEXT1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEXT2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEXT3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEXTAREA1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEXTAREA2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEXTAREA3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TOBACK1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TOBACK2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TOBACK3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TOFRONT1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TOFRONT2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TOFRONT3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TRIANGLE1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TRIANGLE2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TRIANGLE3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/URL1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/URL2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/URL3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ZOOM1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ZOOM2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ZOOM3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/pspbrwse.jbf
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw.jdo
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/AnimationDecorator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/Animator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/BouncingDrawing.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/FollowURLTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApp.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApplet.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawAppletHelp.html
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawViewer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/MySelectionTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/PatternPainter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/URLTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/DUKE.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/Juggler0.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/backgrnd.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/beans.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/bg1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/javacentral.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/joe.surf.yellow.small.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/rain.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/view.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapApplication.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapDesktop.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/net.jdo
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/net/NetApp.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/net/NodeFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApp.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApplet.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/PertApplet.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/PertAppletHelp.html
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/PertApplication.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/PertDependency.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/PertFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/PertFigureCreationTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard.jdo
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AWTCursor.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AbstractCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AbstractConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AbstractFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AbstractHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AbstractLocator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AbstractTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ActionTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AlignCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/BoxHandleKit.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/BringToFrontCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/BufferedUpdateStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ChangeAttributeCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionEndHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionStartHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ChopBoxConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/CompositeFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ConnectionHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ConnectionTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/CopyCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/CreationTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/CutCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/DecoratorFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/DeleteCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/DeleteFromDrawingVisitor.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/DragTracker.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/DuplicateCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/FastBufferedUpdateStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/FigureAndEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/FigureChangeAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/FigureChangeEventMulticaster.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/FigureEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/FigureTransferCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/GridConstrainer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/HandleAndEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/HandleEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/HandleTracker.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/InsertIntoDrawingVisitor.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/LocatorConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/LocatorHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/NullDrawingView.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/NullHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/NullPainter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/NullTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/OffsetLocator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/OrderedFigureElement.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/PasteCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/PeripheralLocator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/QuadTree.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/RelativeLocator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ReverseFigureEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/SelectAllCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/SelectAreaTracker.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/SelectionTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/SendToBackCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/SimpleUpdateStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/SingleFigureEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/StandardDrawing.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/StandardDrawingView.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/StandardFigureSelection.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/TextHolder.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ToggleGridCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ToolButton.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/JHDTestCase.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CTXCommandMenuTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CTXWindowMenuTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/ChopDiamondConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/ChopPolygonConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/ClippingUpdateStrategyTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CommandCheckBoxMenuItemTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CommandMenuItemTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/ComponentFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CompositeFigureCreationToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CustomSelectionToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CustomToolBarTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/DesktopEventServiceTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/DiamondFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/FloatingTextAreaTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/GraphicalCompositeFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/HelperTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/JPanelDesktopTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/JScrollPaneDesktopTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/MDIDesktopPaneTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/MDI_DrawApplicationTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/MiniMapViewTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/NestedCreationToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/PolygonFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/PolygonHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/PolygonToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/SVGDrawAppTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/SVGStorageFormatTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/SimpleLayouterTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/SplitConnectionToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/StandardLayouterTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/TriangleFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/WindowMenuTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ArrowTipTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/BorderDecoratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/BorderToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ChopEllipseConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ConnectedTextToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ElbowConnectionTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ElbowHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/EllipseFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/FigureAttributesTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/FiguresSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/FontSizeHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/GroupCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/GroupFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ImageFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/InsertImageCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/LineConnectionTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/LineFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/NullConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/NullFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/NumberTextFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/PolyLineConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/PolyLineFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/PolyLineHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/RectangleFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/RoundRectangleFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ScribbleToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ShortestDistanceConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/TextFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/TextToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/UngroupCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/framework/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/framework/DrawingChangeEventTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/framework/FigureAttributeConstantTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/framework/FigureChangeEventTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/framework/FrameworkSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimationDecoratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimatorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/BouncingDrawingTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppletTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawViewerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavadrawSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/MySelectionToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/PatternPainterTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/URLToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/minimap/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapApplicationTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapDesktopTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/minimap/MinimapSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/net/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/net/NetAppTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/net/NetSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/net/NodeFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/nothing/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppletTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/PertAppletTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/PertApplicationTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/PertDependencyTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureCreationToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/PertSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/AlignCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/BoxHandleKitTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/BringToFrontCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/BufferedUpdateStrategyTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ChangeAttributeCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionEndHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionStartHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ChopBoxConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ConnectionHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ConnectionToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/CopyCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/CreationToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/CutCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/DeleteCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/DeleteFromDrawingVisitorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/DragTrackerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/DuplicateCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/FastBufferedUpdateStrategyTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/FigureAndEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeAdapterTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeEventMulticasterTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/FigureEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/GridConstrainerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/HandleAndEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/HandleEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/HandleTrackerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/InsertIntoDrawingVisitorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/LocatorConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/LocatorHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/NullDrawingViewTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/NullHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/NullToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/OffsetLocatorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/PasteCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/PeripheralLocatorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/RelativeLocatorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ReverseFigureEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/SelectAllCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/SelectAreaTrackerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/SelectionToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/SendToBackCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/SimpleUpdateStrategyTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/SingleFigureEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingViewTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/StandardFigureSelectionTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/StandardSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ToggleGridCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ToolButtonTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/BoundsTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/ClipboardTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/ColorMapTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/CommandButtonTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/CommandChoiceTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/CommandMenuTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/FillerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/FloatingTextFieldTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/GeomTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/GraphLayoutTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/IconkitTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/JDOStorageFormatTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/PaletteIconTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/PaletteLayoutTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/RedoCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/ReverseListEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/SerializationStorageFormatTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/StandardStorageFormatTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/StandardVersionControlStrategyTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/StorableInputTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/StorableOutputTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/StorageFormatManagerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoManagerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoRedoActivityTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoableAdapterTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoableCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoableHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoableToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UtilSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/VersionManagementTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/CollectionsFactoryJDK11Test.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/IteratorWrapperTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/Jdk11Suite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/ListWrapperTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/MapWrapperTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/SetWrapperTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/CollectionsFactoryJDK12Test.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/Jdk12Suite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Animatable.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Bounds.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Clipboard.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/CollectionsFactory.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/ColorMap.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Command.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/CommandButton.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/CommandChoice.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/CommandListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/CommandMenu.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Filler.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/FloatingTextField.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Geom.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/GraphLayout.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Iconkit.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/JDOStorageFormat.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/PaletteButton.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/PaletteIcon.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/PaletteLayout.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/PaletteListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/RedoCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/ReverseListEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/SerializationStorageFormat.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/StandardStorageFormat.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/StandardVersionControlStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Storable.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/StorableInput.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/StorableOutput.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/StorageFormat.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/StorageFormatManager.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoManager.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoRedoActivity.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Undoable.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoableAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoableCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoableHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoableTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/VersionControlStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/VersionManagement.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/VersionRequester.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/collections/jdk11/CollectionsFactoryJDK11.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/collections/jdk11/IteratorWrapper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/collections/jdk11/ListWrapper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/collections/jdk11/MapWrapper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/collections/jdk11/SetWrapper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/collections/jdk12/CollectionsFactoryJDK12.java

diff --git a/JHotDraw/JavaDrawApplet.html b/JHotDraw/JavaDrawApplet.html
deleted file mode 100644
index 64fbbd431..000000000
--- a/JHotDraw/JavaDrawApplet.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<html>
-
-<head>
-  <title>JHotDraw Applet</title>
-</head>
-<body>
-<h1>JavaDraw Applet</h1>
-<b><a href="CH/ifa/draw/samples/javadraw/JavaDrawAppletHelp.html">Description</a></b>
-<hr>
-
-<!--"CONVERTED_APPLET"-->
-<!-- HTML CONVERTER -->
-<SCRIPT LANGUAGE="JavaScript"><!--
-    var _info = navigator.userAgent; 
-    var _ns = false; 
-    var _ns6 = false;
-    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
-//--></SCRIPT>
-    <COMMENT>
-        <SCRIPT LANGUAGE="JavaScript1.1"><!--
-        var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
-        var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
-//--></SCRIPT>
-    </COMMENT>
-
-<SCRIPT LANGUAGE="JavaScript"><!--
-    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 560 HEIGHT = 370  codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"><NOEMBED><XMP>');
-    else if (_ns == true && _ns6 == false) document.writeln('<EMBED 
-	    type="application/x-java-applet;version=1.4" 
-            CODE = "CH.ifa.draw.samples.javadraw.JavaDrawApplet.class"
-            ARCHIVE = "jhotdraw.jar"
-            WIDTH = 560
-            HEIGHT = 370 
-            DRAWINGS ="Demo Pert"
-            Demo ="drawings/demo.draw"
-            Pert ="drawings/pert.draw" 
-	    scriptable=false 
-	    pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED><XMP>');
-//--></SCRIPT>
-<APPLET  CODE = "CH.ifa.draw.samples.javadraw.JavaDrawApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 560 HEIGHT = 370></XMP>
-    <PARAM NAME = CODE VALUE = "CH.ifa.draw.samples.javadraw.JavaDrawApplet.class" >
-    <PARAM NAME = ARCHIVE VALUE = "jhotdraw.jar" >
-    <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
-    <PARAM NAME="scriptable" VALUE="false">
-    <PARAM NAME = DRAWINGS VALUE ="Demo Pert">
-    <PARAM NAME = Demo VALUE ="drawings/demo.draw">
-    <PARAM NAME = Pert VALUE ="drawings/pert.draw">
-
-
-</APPLET>
-</NOEMBED>
-</EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "CH.ifa.draw.samples.javadraw.JavaDrawApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 560 HEIGHT = 370>
-<PARAM NAME = DRAWINGS VALUE ="Demo Pert">
-<PARAM NAME = Demo VALUE ="drawings/demo.draw">
-<PARAM NAME = Pert VALUE ="drawings/pert.draw">
-
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-
-</body>
-</html>
-
diff --git a/JHotDraw/JavaDrawViewer.html b/JHotDraw/JavaDrawViewer.html
deleted file mode 100644
index 8b08ff902..000000000
--- a/JHotDraw/JavaDrawViewer.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-
-<head>
-  <title>JavaDraw Viewer</title>
-</head>
-<h1>JavaDraw Viewer</h1>
-<hr>
-
-<body>
-
-<!--"CONVERTED_APPLET"-->
-<!-- HTML CONVERTER -->
-<SCRIPT LANGUAGE="JavaScript"><!--
-    var _info = navigator.userAgent; 
-    var _ns = false; 
-    var _ns6 = false;
-    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
-//--></SCRIPT>
-    <COMMENT>
-        <SCRIPT LANGUAGE="JavaScript1.1"><!--
-        var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
-        var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
-//--></SCRIPT>
-    </COMMENT>
-
-<SCRIPT LANGUAGE="JavaScript"><!--
-    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 460 HEIGHT = 350  codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"><NOEMBED><XMP>');
-    else if (_ns == true && _ns6 == false) document.writeln('<EMBED 
-	    type="application/x-java-applet;version=1.4" 
-            CODE = "CH.ifa.draw.samples.javadraw.JavaDrawViewer.class"
-            ARCHIVE = "jhotdraw.jar"
-            WIDTH = 460
-            HEIGHT = 350 
-            Drawing ="drawings/demo.draw" 
-	    scriptable=false 
-	    pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED><XMP>');
-//--></SCRIPT>
-<APPLET  CODE = "CH.ifa.draw.samples.javadraw.JavaDrawViewer.class" ARCHIVE = "jhotdraw.jar" WIDTH = 460 HEIGHT = 350></XMP>
-    <PARAM NAME = CODE VALUE = "CH.ifa.draw.samples.javadraw.JavaDrawViewer.class" >
-    <PARAM NAME = ARCHIVE VALUE = "jhotdraw.jar" >
-    <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
-    <PARAM NAME="scriptable" VALUE="false">
-    <PARAM NAME = Drawing VALUE ="drawings/demo.draw">
-
-
-</APPLET>
-</NOEMBED>
-</EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "CH.ifa.draw.samples.javadraw.JavaDrawViewer.class" ARCHIVE = "jhotdraw.jar" WIDTH = 460 HEIGHT = 350>
-<PARAM NAME = Drawing VALUE ="drawings/demo.draw">
-
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-
-</body>
-</html>
-
diff --git a/JHotDraw/NothingApplet.html b/JHotDraw/NothingApplet.html
deleted file mode 100644
index ce946c936..000000000
--- a/JHotDraw/NothingApplet.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-
-<head>
-  <title>Nothing Applet</title>
-</head>
-<body>
-
-<!--"CONVERTED_APPLET"-->
-<!-- HTML CONVERTER -->
-<SCRIPT LANGUAGE="JavaScript"><!--
-    var _info = navigator.userAgent; 
-    var _ns = false; 
-    var _ns6 = false;
-    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
-//--></SCRIPT>
-    <COMMENT>
-        <SCRIPT LANGUAGE="JavaScript1.1"><!--
-        var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
-        var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
-//--></SCRIPT>
-    </COMMENT>
-
-<SCRIPT LANGUAGE="JavaScript"><!--
-    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 560 HEIGHT = 370  codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"><NOEMBED><XMP>');
-    else if (_ns == true && _ns6 == false) document.writeln('<EMBED 
-	    type="application/x-java-applet;version=1.4" 
-            CODE = "CH.ifa.draw.samples.nothing.NothingApplet.class"
-            ARCHIVE = "jhotdraw.jar"
-            WIDTH = 560
-            HEIGHT = 370 
-            DRAWINGS ="Nothing"
-            Nothing ="drawings/nothing.draw" 
-	    scriptable=false 
-	    pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED><XMP>');
-//--></SCRIPT>
-<APPLET  CODE = "CH.ifa.draw.samples.nothing.NothingApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 560 HEIGHT = 370></XMP>
-    <PARAM NAME = CODE VALUE = "CH.ifa.draw.samples.nothing.NothingApplet.class" >
-    <PARAM NAME = ARCHIVE VALUE = "jhotdraw.jar" >
-    <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
-    <PARAM NAME="scriptable" VALUE="false">
-    <PARAM NAME = DRAWINGS VALUE ="Nothing">
-    <PARAM NAME = Nothing VALUE ="drawings/nothing.draw">
-
-
-</APPLET>
-</NOEMBED>
-</EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "CH.ifa.draw.samples.nothing.NothingApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 560 HEIGHT = 370>
-<PARAM NAME = DRAWINGS VALUE ="Nothing">
-<PARAM NAME = Nothing VALUE ="drawings/nothing.draw">
-
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-
-</body>
-</html>
-
diff --git a/JHotDraw/PertApplet.html b/JHotDraw/PertApplet.html
deleted file mode 100644
index bb988927f..000000000
--- a/JHotDraw/PertApplet.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<html>
-
-<head>
-  <title>Draw Applet</title>
-</head>
-<h1>PERT Applet</h1>
-<b><a href="CH/ifa/draw/samples/pert/PertAppletHelp.html">Description</a></b>
-<hr>
-<body>
-
-<!--"CONVERTED_APPLET"-->
-<!-- HTML CONVERTER -->
-<SCRIPT LANGUAGE="JavaScript"><!--
-    var _info = navigator.userAgent; 
-    var _ns = false; 
-    var _ns6 = false;
-    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
-//--></SCRIPT>
-    <COMMENT>
-        <SCRIPT LANGUAGE="JavaScript1.1"><!--
-        var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
-        var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
-//--></SCRIPT>
-    </COMMENT>
-
-<SCRIPT LANGUAGE="JavaScript"><!--
-    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 550 HEIGHT = 340  codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"><NOEMBED><XMP>');
-    else if (_ns == true && _ns6 == false) document.writeln('<EMBED 
-	    type="application/x-java-applet;version=1.4" 
-            CODE = "CH.ifa.draw.samples.pert.PertApplet.class"
-            ARCHIVE = "jhotdraw.jar"
-            WIDTH = 550
-            HEIGHT = 340 
-            DRAWINGS ="SAMPLE"
-            SAMPLE ="drawings/pert.draw" 
-	    scriptable=false 
-	    pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED><XMP>');
-//--></SCRIPT>
-<APPLET  CODE = "CH.ifa.draw.samples.pert.PertApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 550 HEIGHT = 340></XMP>
-    <PARAM NAME = CODE VALUE = "CH.ifa.draw.samples.pert.PertApplet.class" >
-    <PARAM NAME = ARCHIVE VALUE = "jhotdraw.jar" >
-    <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
-    <PARAM NAME="scriptable" VALUE="false">
-    <PARAM NAME = DRAWINGS VALUE ="SAMPLE">
-    <PARAM NAME = SAMPLE VALUE ="drawings/pert.draw">
-
-
-</APPLET>
-</NOEMBED>
-</EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "CH.ifa.draw.samples.pert.PertApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 550 HEIGHT = 340>
-<PARAM NAME = DRAWINGS VALUE ="SAMPLE">
-<PARAM NAME = SAMPLE VALUE ="drawings/pert.draw">
-
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-
-</body>
-</html>
-
diff --git a/JHotDraw/README.html b/JHotDraw/README.html
deleted file mode 100644
index 7f6e1c9b5..000000000
--- a/JHotDraw/README.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <title>JHotDraw 5.4</title>
-</head>
-<body>
-
-<h1>JHotDraw 5.4</h1>
-
-<hr><p>   
-<b>Preface: This is a beta release [JHotDraw5.4b1]<p>
-This beta release contains the latest CVS snapshot and should be considered as progress
-in work. It has not been extensively tested but is aimed to give developers access to a
-more recent version of JHotDraw that 5.3.<p>
-The release includes numereous new features among them: undo/redo support, enhanced MDI support,
-many new figures (TextArea and figures with HTML support), zooming, minimap preview,
-bug fixes,...<p>
-Moreover, it contains a skeleton test suite which has been generated using JUnitDoclet.
-The tests are compilable but not functional. Anyway, the excuse for not writing tests
-because there weren't any is now not valid anymore ;-) Anyone contributing tests and filling the
-test suite with life is welcome!<p>
-Finally, developers who require a more stable release or are not willing to bear with some
-bugs and exceptions should not use this beta release. Anyone else gets a preview of
-the new functionality and compatibility. Any comments are welcome but (timely) response
-cannot be guaranteed.
-</b>
-<p>
-
-<hr>This document gives an overview of the JHotDraw distribution, describes
- how to install it, and offers links for getting started. Please refer to
-the <a href="doc/ReleaseNotes.html"> release notes</a> for more information
-about the 5.4 release.  
-<h3>Contents</h3>
-<pre>JHotDraw<br>
-    drawings                    sample drawings<br>
-    documentation               documentation for JHotDraw<br>
-    javadoc                     javadoc generated documentation<br>
-    pattlets                    pattern summary slides. They are referred<br>
-                                to from the javadoc documentation.<br><br>
-    CH                          the JHotDraw class files<br>
-        ifa<br>
-            draw<br>
-                images          image resources<br>
-                util            common utilities that are independent of<br>
-                                JHotDraw<br>
-                framework       JHotDraw framework<br>
-                standard        standard implementations of the JHotDraw<br>
-                                framework abstractions<br>
-                figures         a set of figures and their support classes<br>
-                applet          standard UI for JHotDraw applets<br>
-                application     standard UI for JHotDraw applications<br>
-                contrib         a package with contributions to JHotDraw<br>
-                samples<br>
-                    nothing     Nothing sample<br>
-                    javadraw    JHotDraw sample<br>
-                    pert        PERT sample<br>
-                    net         A simple node and connections editor<br><br>
-    sources                     the java source files mirror the<br>
-                                hierarchy of the class files<br><br></pre>
-<h3>Installation</h3>
-The distribution includes no development environment specificconfiguration
-or makefiles.
-<p>To run the applets doesn't require any further installation steps.Refer
- to the <a href="doc/samples.html">samples</a> to view the sample applets.</p>
-   
-<p>To run the sample applications you should include the JHotDraw directory
-in your CLASSPATH. <b>Note</b> using a relative path to refer to JHotDraw
-can result in class loading errors. You run into this problem when the application's
-working directory is changed with a file dialog.</p>
-   
-<h3>Getting Started</h3>
- To get started check out the <a href="doc/samples.html">samples</a>  and the 
-<a href="doc/documentation.html">documentation</a> delivered with JHotDraw.
- 
-<h3>Legal</h3>
- These release is distributed under <a href="lgpl-license.html">LGPL</a>.<br>
- <br>
- The original version of JHotDraw is copyright 1996, 1997 by IFA Informatik 
-and <a href="mailto:erich_gamma@acm.org">Erich Gamma</a>.  
-<p>It is hereby granted that this software can be used, copied, modified,
-anddistributed without fee provided that this copyright noticeappears in
-all copies.</p>
-   
-<hr><br>
- <br>
-      
-</body>
-</html>
diff --git a/JHotDraw/build/build.properties b/JHotDraw/build/build.properties
deleted file mode 100644
index 234fe2cb5..000000000
--- a/JHotDraw/build/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-dest.dir=..
\ No newline at end of file
diff --git a/JHotDraw/build/jhotdraw.mf b/JHotDraw/build/jhotdraw.mf
deleted file mode 100644
index c88d5613b..000000000
--- a/JHotDraw/build/jhotdraw.mf
+++ /dev/null
@@ -1,65 +0,0 @@
-Manifest-Version: 1.0
-Created-By: Ant 1.4
-
-Name: CH/ifa/draw/applet/
-Sealed: true
-Specification-Title: JHotDraw Default Applet
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.applet
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: CH/ifa/draw/application/
-Sealed: true
-Specification-Title: JHotDraw Default Application
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.application
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: CH/ifa/draw/contrib/
-Sealed: true
-Specification-Title: JHotDraw Contributions
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.contrib
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: CH/ifa/draw/figures/
-Sealed: true
-Specification-Title: JHotDraw Figures
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.figures
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: CH/ifa/draw/framework/
-Sealed: true
-Specification-Title: JHotDraw Core Framework
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.framework
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: CH/ifa/draw/standard/
-Sealed: true
-Specification-Title: JHotDraw Standard Implementation
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.standard
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: CH/ifa/draw/util/
-Sealed: true
-Specification-Title: JHotDraw Utilities
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.util
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
diff --git a/JHotDraw/compile.bat b/JHotDraw/compile.bat
deleted file mode 100644
index abeea0bdb..000000000
--- a/JHotDraw/compile.bat
+++ /dev/null
@@ -1,15 +0,0 @@
-@echo off
-
-set JHD_DIR=D:\daten\wolfram\jhotdraw
-set JDK=C:\Programme\JDK1.2
-
-set OLD_CP=%CLASSPATH%
-set CLASSPATH=.
-set CLASSPATH=%CLASSPATH%;%JHD_DIR%
-
-javac -d %JHD_DIR% %JHD_DIR%\src\CH\ifa\draw\applet\*.java %JHD_DIR%\src\CH\ifa\draw\application\*.java %JHD_DIR%\src\CH\ifa\draw\contrib\*.java %JHD_DIR%\src\CH\ifa\draw\figures\*.java %JHD_DIR%\src\CH\ifa\draw\framework\*.java %JHD_DIR%\src\CH\ifa\draw\standard\*.java %JHD_DIR%\src\CH\ifa\draw\util\*.java
-
-set SAMPLES=%JHD_DIR%\src\CH\ifa\draw\samples
-javac -d %JHD_DIR% %SAMPLES%\javadraw\*.java %SAMPLES%\net\*.java %SAMPLES%\nothing\*.java %SAMPLES%\pert\*.java
-
-set CLASSPATH=%OLD_CP%
diff --git a/JHotDraw/compile.sh b/JHotDraw/compile.sh
deleted file mode 100644
index be489e760..000000000
--- a/JHotDraw/compile.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-# Set up JAVA_HOME and ANT_HOME as environment variables, 
-# or they will use these hard-coded defaults
-export JAVA_HOME=${JAVA_HOME:-/usr/j2sdk/}
-export ANT_HOME=${ANT_HOME:-/usr/apache-ant/}
-
-export PATH=$PATH:$ANT_HOME/bin
-
-ant -buildfile build/BUILD.XML "$@"
diff --git a/JHotDraw/compile_ant.bat b/JHotDraw/compile_ant.bat
deleted file mode 100644
index 223e0dc54..000000000
--- a/JHotDraw/compile_ant.bat
+++ /dev/null
@@ -1,5 +0,0 @@
-@echo off
-
-call setenv.bat
-
-%ANT_HOME%\bin\ant -buildfile build\build.xml %1 %2 %3
diff --git a/JHotDraw/doc/Architecture Overview.ppt b/JHotDraw/doc/Architecture Overview.ppt
deleted file mode 100644
index 4921b35ced36496ae5569e5dd9e73295ed239188..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 70144
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

diff --git a/JHotDraw/doc/Changes.html b/JHotDraw/doc/Changes.html
deleted file mode 100644
index c8790f929..000000000
--- a/JHotDraw/doc/Changes.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<html>
-<head>
-<title>Change Log</title>
-</head>
-<h1>Change Log</h1>
-<hr>
-<h2>Version 4.0</h1>
-<ul>
-<li>
-added pattlet slides that are referenced from javadoc.
-<li>
-restricted visibility of the classes provided by CH.ifa.draw.standard.
-<li>
-generalized the start and end points of PolyLineFigures to a LineDecoration.
-<b>Note:</b>this breaks the loading of pre 4.0 drawings.
-<li>
-LineFigures are now implemented based on PolyLineFigures
-<li>
-some UI tweaks related to the look of handles.
-</ul>
-<hr>
-<h2>Version 4.0a</h1>
-<ul>
-<li>
-javadoc documentation.
-<li>
-features
-<ul>
-<li>
-support for cursor keys to move figures
-<li>
-support for snap to grid: ToggleGridCommand, DrawingView.setGrid();
-<li>
-alignment commands to align (top, centers, bottoms, left, middle, rights)
-AlignmentCommand
-<li>
-resizable ImageFigures. The ImageFigures use the IconKit to share images.
-Images are currently stored by saving a reference to their
-image file. The file names are relative to the user.dir
-property.
-</ul>
-<li>
-CH.ifa.draw.util.Geom: geometrical utilities.
-<li>
-class RectLocators: useful locators for rectangle locations.<br>
-class RectTrackers: useful trackers to manipulate rectangle locations.
-<li>
-Major rewrite of Connections.
-<ul>
-<li>
-connectivity support is implemented based on an ObserverFigure
-interface.
-<li>
-ConnectionTool supports the creation and manipulation of
-connections (splitting/joining segments). ConnectionTool
-takes a prototype of the connection to be created.
-<li>
-eliminated AnchorFigure. Its only purpose was to add
-ConnectionHandles.
-<li>
-Connection support moved from the standard to the framework package
-<li>
-ConnectionTrackHandle changed to ChangeConnectionStartHandle and
-ChangeConnectionEndHandle. These two handles enable to change
-the start/end point of a connection.
-<li>
-ConnectionHandle takes the prototype of the connection to be
-created as parameter.
-<li>
-ConnectionFigure.canConnect(Figure source, Figure target)
-to constrain the connection between figures.
-See the PertDependency for an example for how to use this.
-<li>
-fixed naming inconsistencies in all signatures.
-<ul>
-<li>
-anchor was changed to start
-<li>
-target was changed to end
-</ul>
-<li>
-eliminated Figure.connectionStartPoint, connectionEndPoint
-the new connection infrastructure made them obsolete.
-</ul>
-<li>
-Figure is now an interface and no longer an abstract class.
-AbstractFigure provides default implementations for the
-Figure interface. If you defined your own figures you have to change the base class
-from Figure to AbstractFigure.
-<li>
-eliminated: CH.ifa.draw.applet.AppletIconKit and
-CH.ifa.draw.application.StandaloneIconKit
-The functionality of these subclasses is now part of
-the DrawingEditor interface
-<li>
-IconKit
-<ul>
-<li>
-simplified the addition of new custom icons for tool buttons
-<li>
-Applet and Applications load their icons
-by overriding registerPreLoadedImages (see PertApplet).
-<li>
-Icons are now identified by their file name without the
-.gif suffix.
-<li>
-Example:
-<pre>
-     kit.registerImages(tracker, kit.icon("TEXT"));
-</pre>
-<li>
-extended to support the deferred loading of images and to share images.
-</ul>
-<li>
-added FigureContainer.forceUpdate() such that a figure
-can force a repair of its image immediatly.
-<li>
-added transient variable modifier were appropriate
-<li>
-DrawingView: added support for additional background and
-foreground layers. A layer implements the Painter interface.
-<li>
-Replaced ScribbleFigure with a more general PolyLineFigure. A PolyLineFigure
-has an optional LineDecoration at its start and end.
-<li>
-packaging
-<ul>
-<li>
-moved Animatable from standard to util
-<li>
-moved BouncingDrawing, Animator, AnimationDecorator from standard to
-javadraw
-<li>
-changed Transformer to Tracker and Transformer.transform() to Tracker.track()
-</ul>
-</ul>
-<h2>Version 3.8</h1>
-<ul>
-<li>
-added Drawing.orphan() to fix grouping bugs related to connectivity
-<li>
-added Drawing.replace().
-<li>
-added FigureDeletedEvent, FigureChangedEvent. Deliver more
-specific update notifications.
-</ul>
-
-<h2>Version 3.6</h1>
-<ul>
-<li>
-add Figure.decompose(), Figure.isMoveable() (to fix connection and grouping bugs)
-<li>
-Figure subclasses now have to implement basicDisplayBox instead of
-  displayBox. DisplayBox is a template method that factors the
-  common displaybox logic.
-<li>
-applet package: provides base infrastructure for applets
-  Common applets now derive from JavaDrawApplet
-<li>
-application package: provides base infrastructure for applications
-  Common applications now derive from JavaDrawApplet
-</ul>
-
-<h2>Version 3.4</h1>
-<ul>
-<li>
-make reverse iterator package private
-<li>
-introduced an Animatable interface
-  remove animation methods out of basic Drawing
-<li>
-GroupFigure propagate setAttribute to figures
-<li>
-make locators, transformers sharable, don't have to override constructors
-<li>
-CommandMenu return false if not handled by a command
-<li>
-Merged DrawWindow & Draw
-<li>
-Figure.handles() is now an abstract method
-<li>
-nuked the HandleKit stuff
-<li>
-Name Changes
-<ul>
-<li>DrawApplet -> Draw
-<li>package framework -> fw
-<li>DrawingReader/DrawingWriter -> Reader/Writer
-<li>DrawWindow -> Draw
-<li>cloneFigure -> clone
-<li>readWith/writeWith -> read/write
-</ul>
-<li>
-New
-<ul>
-<li>PertFigure
-<li>Selectiontools support selections with a rubberband
-<li>DuplicateCommand
-<li>FigureAttributes class
-</ul>
-</ul>
-</body>
-</html>
diff --git a/JHotDraw/doc/ClassDiagram.html b/JHotDraw/doc/ClassDiagram.html
deleted file mode 100644
index a1e655379..000000000
--- a/JHotDraw/doc/ClassDiagram.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<head>
-<title>Class Diagram</title>
-</head>
-<h1>Class Diagram</h1>
-<hr>
-<img src=classdiagram.jpg>
-</body>
-</html>
-
diff --git a/JHotDraw/doc/ReleaseNotes.html b/JHotDraw/doc/ReleaseNotes.html
deleted file mode 100644
index 90bb6b042..000000000
--- a/JHotDraw/doc/ReleaseNotes.html
+++ /dev/null
@@ -1,275 +0,0 @@
-<html>
-<head>
-  <title>Release Notes Version 5.1</title>
-</head>
-<body>
-<h1>Release Notes Version 5.2</h1>
-<b>Note: </b>This version requires Swing/JFC 1.1
-<p>The purpose of this release is to:</p>
-<ul>
-    
-  <li>Use Swing/JFC GUI elements instead of AWT (where possible)</li>
-    
-  <li>Support for special Swing/FC features:</li>
-    
-  <ul>
-        
-    <li>Support for Multiple Document Interface (MDI) applications with several
-internal frames has been added. CH.ifa.draw.contrib.MDI_DrawApplicationis
-the base class which must be subclasses to takeadvantage of managing internal
-frames. All examples are now derived from this class.</li>
-        
-    <li>Support for applications with splitted editor windows by deriving
-the drawing application from CH.ifa.draw.contrib.SplitPaneDrawApplication<br>
-    </li>
-        
-    <li>Drawing windows have scrollbars</li>
-        
-    <li>Popup menus are available for additional functionality and control
-over graphical figures when using CH.ifa.draw.contrib.CustomSelectionTool</li>
-        
-    <li>Toolbars can have different tools depending on the context of the
-currently selected figure and tool</li>
-        
-    <li>A new composite figure is available which delegates its graphical
-representation and figure attributes to another figure. Moreover, it canbe
-configured with an external layout algorithm that contains the logic forhow
-to lay out the child elements of the composite figure. The new compositefigure
-is CH.ifa.draw.contrib.GraphicalCompositeFigure and can be configuredby a
-class implementing CH.ifa.draw.contrib.FigureLayoutStrategy such asCH.ifa.draw.contrib.StandardFigureLayoutStrategy.
-    </li>
-    
-  </ul>
-    
-  <li>New CH.ifa.draw.util.StorageFormats that allow to add new file formats
-for storing and restoring drawings (e.g. using XML)<br>
-  </li>
-  <li>Build configuration for <a href="http://jakarta.apache.org/ant/">Ant</a>
-, which can be used to compile all standard JHotDraw classes, to packagethem
-into a jar file and to generate javadoc information. Some instruction how
-to compile and build JHotDraw can be found <a href="buildProcess.html">here</a>
-.<br>
-  </li>
-    
-  <li>Some minor bug fixes<br>
-  </li>
-</ul>
-<br>
-<h1>Release Notes Version 5.1</h1>
-Changes for this release:
-<ul>
-    
-  <li>the delegation based event model is used to track figure changes.The
-FigureChangeListener interface supports to observe figure changes.A FigureChangeListener
-receives FigureChangeEvents.The old mechanism based on Observer/Observable
-and the notion of a containerwas eliminated. A figure now onlyhas listeners.
-There is a new support class FigureChangeEventMulticasterto manage the listeners.
-Using listeners is more consistent with the AWT/JFCevent handling style.CompositeFigure,
-Decorator, ConnectionFigure, and Drawingare now FigureChangeListeners.  </li>
-    
-  <li>StandardDrawing is a CompositeFigure. It is possible to inserta StandardDrawing
-as a figure into a drawing. This change does notimpact the framework package.
-The Drawing interface is independentof CompositeFigure.</li>
-    
-  <li>Tools no longer receive the DrawingView as an argument, but storeit
-in an instance variable. Existing Tools have to be adapted accordingly.</li>
-    
-  <li>SelectionTool is more open for customization. The trackers to be used
-for thedifferent selection modes can be overridden by the factory methods
-createHandleTracker, createDragTracker, createAreaTracker. The MouseTracker
-class was merged into AbstractTool and could be eliminated.<br>
-The selection tool to be used in an application can be customizedby overridding
-createSelectionTool in DrawApplication/DrawApplet.JavaDrawApp illustrates
-how to use a customized selection tool thatcan handle double clicks on figures.
-  </li>
-    
-  <li>DrawApplication supports keyboard short cuts for the common operations.
-  </li>
-</ul>
-<h1>Release Notes Version 5.0</h1>
-<b>Note:</b>This version requires JDK 1.1.
-<p>The purpose of this release is to:</p>
-<ul>
-    
-  <li>use JDK1.1 features: event model, access to resources, serialization,
-scrolling, printing, cursors etc.</li>
-    
-  <li>improve the packaging structure.</li>
-    
-  <li>improve the support for connectivity.</li>
-    
-  <li>implement several minor improvements.</li>
-</ul>
-<h2>JDK1.1 features</h2>
-<h3>Event Model</h3>
-All event handling related classes use the JDK1.1 event model.This required
-to change some method signatures to refer to morespecific events. Returning
-a boolean to indicate the consumptionof an event was removed.
-<h3>Serialization</h3>
-This version supports to use of serialization to make adrawing persistent.
-CH.ifa.draw.applet.DrawApplet andCH.ifa.draw.application.DrawApplicationsupport
-both the oldstorable and the serializable format. Support for thestorable
-formatwill be removed in the next version.
-<p>Serialization is used in the default implementation of Figure.clone().</p>
-<p>StandardDrawingView supports serialization.</p>
-<h3>Resource Access</h3>
-Thanks to 1.1 the access to resources could be drastically simplified.All
-the resources are now accessed relative to classes.The images directory with
-standard images is therefore part of thepackage hierarchy. 
-<p>IconKit could be decoupled from DrawingEditor and was moved fromCH.ifa.draw.standard
-to CH.ifa.draw.util.Refer to the sample applications for how toload and access
-resources like images.</p>
-<h3>Various UI Features</h3>
-<ul>
-    
-  <li>Tools support to use tool specific cursors.</li>
-    
-  <li>CH.ifa.draw.application shows the DrawingView by default in a ScrollPane.
-There is a new method createContents that can be overridden to customizethe
-default arrangement. The default size of the view can be customized byoverriding
-getDrawingViewSize().</li>
-    
-  <li>CH.ifa.draw.application supports to print a drawing.</li>
-</ul>
-<h2>Packaging</h2>
-The packaging was changed to separate the framework interfacesfrom default
-implementations.
-<p>The framework package defines the coreinterfaces and leaves default implementations
-to the standard package.All key abstractions of the framework are now defined
-as interfaces.Ward Cunningham has suggested this some time ago and it ended
-upto be natural and logic evolution.</p>
-<p>The implementation of the framework interfaces comes in two flavors.Abstract
-classes like AbstractFigure, provide default implementationbut still need
-to be subclassed. Standard classeslike StandardDrawing implement aframework
-interface and can be used as is.</p>
-<p>The framework package was renamed to "framework" the old "fw"was due to
-a temprorary bug in the used IDE:</p>
-<p>A figures package was forked of the standard package. This packageprovides
-a kit of standard figures and their related handle andtool classes.</p>
-<p>There is a new package contrib that contains classes contributedby others.
-</p>
-<h2>Connectivity</h2>
-Connectors were introduced to define connections between figures.A figure
-can have one or more connectors. A figure creates aconnector for a specific
-location connectorAt(int x, int y).A connector knows how to findthe connection
-point. A connection figure keeps track of aconnector for its start and end
-point.
-<p>Figure.chop() is no longer needed and was removed. Its functionalityis
-subsumed by Connectors.</p>
-<p>A set of standard connectors is provided in the standard and figurepackages.
-</p>
-<ul>
-    
-  <li>BoxChopConnector: finds a connection point by chopping the connection
-at the figure's bounding box.</li>
-    
-  <li>LocatorConnector: uses a locator to find the connection point.Thisenables
-to define connections at specific semantic points ona figure. Referto the
-NetApp sample for an example of using them.</li>
-    
-  <li>ShortestDistanceConnector: finds the connection points based on the
-shortest distancebetween figures.</li>
-    
-  <li>EllipseChopConnector: finds a connection point by chopping the connection
-at the ellipse defined by the figure's bounding box.</li>
-</ul>
-Connectors are optionally visible and Figure has a method connectorVisibility
-to turn their visibility on and off. This is used by the ConnectionToolto
-highlight connection points when the mouse moves over a figure.
-<p>TextFigures can be attached to other figures. The ConnectedTextToolsupports
-to create a connected TextFigure. Try it out in JavaDraw.The text figureis
-connected to the Figure that is clicked when thetool is active. To position
-a connected TextFigure figures can overridethe method connectedTextLocator
-to return a locator.</p>
-<h2>Various Changes</h2>
-<ul>
-    
-  <li>FigureEnumeration extends Enumeration to enable to iterate overfigures
-without having to do a down casted in client code. Itprovides an additional
-method nextFigure to get the next Figure.</li>
-    
-  <li>AbstractFigure was split. AbstractFigure no longer keeps track ofthe
-FigureAttributes dictionary. The dictionary is now maintainedin its derived
-class AttributeFigure. This change enables tocreate Figure subclasses without
-having to use theFigureAttributes implementation.</li>
-    
-  <li>Trackers are gone. Trackerfunctionality is implemented in the Handles
-themselves. In contrastto Locators they did not turn out to be reusable for
-different handles.The class BoxHandleKit hides the different Handle implementation
-classesfrom the API.</li>
-    
-  <li>BoxHandleKit provides factory methods to create Handles forcommon locations
-on a figure.</li>
-    
-  <li>DrawingView is now an interface with a standard implementation, i.e.,
-StandardDrawingView.</li>
-    
-  <li>Figure.clone() is implemented in a generic way in AbstractFigure.The
-figure is serialized and the clone is created by resurrectingthe serialized
-figure.</li>
-    
-  <li>Image handling was simplified and the preLoadRegisteredImagesis nolonger
-necessary.</li>
-    
-  <li>Commands know whether they are executable ornot. They provide an isExecutable
-operation to check their state.</li>
-    
-  <li>Name changes: ObserverFigure -&gt; ConnectionFigure, LineConnectionFigure
--&gt;LineConnection.</li>
-    
-  <li>There is support for transparent fill colors for AttributeFigures.</li>
-    
-  <li>AttributeFigre.draw() is a now a template method that callsdrawBackground()
-and drawFrame(). Subclasses should overridethese methods instead of draw().
-  </li>
-    
-  <li>The signature of Handle.invokeStep() and Handle.invokeEnd() was changed
-to:<pre>  public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {<br>  public void invokeEnd  (int x, int y, int anchorX, int anchorY, DrawingView view) {<br></pre>
-The passed arguments correspond to the current point and the anchor point
-of the interaction.<br>
-The old signature are still supported but deprecated.</li>
-    
-  <li>Doug Lea implemented a nice PolygonFigure with its corresponding Handles
-and Tools. Check it out in JavaDrawApp.</li>
-    
-  <li>ElbowHandles support to adjust elbow connections.</li>
-</ul>
-<h2>Samples</h2>
-<ul>
-    
-  <li>the samples are now located in subpackages of samples.</li>
-    
-  <li>there are two new samples:        
-    <ul>
-            
-      <li>Nothing implements a minimal application/appletthat can be used
-as the starting point for your own applications.</li>
-            
-      <li>NetApp is a simple editor with nodes and connections. Itillustrates
-LocatorConnectors.</li>
-        
-    </ul>
-  </li>
-</ul>
-<h2>Converting</h2>
-<ul>
-    
-  <li>If you derived classes from Handle, Tool, Locator you have to change
-them to inherit from their corresponding Abstract class.</li>
-    
-  <li>Change your tool classes to no longer return a boolean fromevent handling
-methods.</li>
-    
-  <li>Change the event handling method to use a specific event, typically
-a MouseEvent.</li>
-    
-  <li>Import the figures package if you use figures provided by this version.
-  </li>
-    
-  <li>Tools should call editor().toolDone() instead of editor().setDefaultTool.
-  </li>
-    
-  <li>Add the serival version stuff to your figure classes.</li>
-</ul>
-</body>
-</html>
diff --git a/JHotDraw/doc/buildProcess.html b/JHotDraw/doc/buildProcess.html
deleted file mode 100644
index 2a7c4a076..000000000
--- a/JHotDraw/doc/buildProcess.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-    
-  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
-  <title>Building JHotDraw</title>
-</head>
-<body>
-<h1>Instructions for Building JHotDraw</h1>
-<hr><br>
-<br>
-A simple <a href="..\build\build.xml">build configuration file</a> for <a href="http://jakarta.apache.org/ant/">
-Ant</a> has been included, which can be used to compile all standard JHotDraw
-classes, to packagethem into a jar file and to generate javadoc information.
-The command tostart the build process could look like (when invoked in the
-<code>&lt;JHOTDRAW_DIR&gt;</code>\build directory)<br>
-<br>
-<code>java -classpath "%CLASSPATH%;&lt;ANT_DIR&gt;\lib\ant.jar;&lt;ANT_DIR&gt;\lib\jaxp.jar;&lt;ANT_DIR&gt;\lib\parser.jar"
--Djava.home="&lt;JAVA_DIR&gt;" -Dant.home="&lt;ANT_DIR&gt;" org.apache.tools.ant.Main
-all -Ddest.dir="&lt;JHOTDRAW_DIR&gt;" -buildfile build.xml</code><br>
-<br>
-where <code>&lt;JHOTDRAW_DIR&gt;</code> is the directory path to the JHotDraw
-package,<code>&lt;ANT_DIR&gt;</code> is the directory path to the Ant installation,
-<code>&lt;JAVA_DIR&gt;</code>is the directory path to the Java installation..
-Apart of calling <code>org.apache.tools.ant.Main</code> with the parameter
-<code>all</code> you can specify one of the following building targets:<br>
-<ul>
-  
-  <li><code>clean</code> - to delete all class files first</li>
-  
-  <li><code>main</code> - to compile, copy resources and build the jar file</li>
-  
-  <li><code>jar</code> - to build the jar file<br>
-  </li>
-  
-  <li><code>compile</code> - to compile only</li>
-  
-  <li><code>javadoc</code> - to generate javadoc</li>
-  
-  <li><code>all</code> - to clean, compile and javadoc</li>
-</ul>
-Furthermore, Ant can be generate debug code when the switch <code>-Djavac.debug=on</code>
- is provided.<br>
-</body>
-</html>
diff --git a/JHotDraw/doc/change_log.txt b/JHotDraw/doc/change_log.txt
deleted file mode 100644
index f37ef15f7..000000000
--- a/JHotDraw/doc/change_log.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-Change log
-==========
-
-JHotDraw 5.2 changes (29.6.2001 by MrFloppy)
-- SelectionFigure is now an interface. The default implementation CH.ifa.draw.standard.StandardSelectionFigure
-- A FigureSelectionListener interface has been introduced in CH.ifa.draw.framework. An DrawingEditor
-  is now a FigureSelectionListener and the signature for all selectionChanged() methods has been
-  changed to figureSelectionChanged().
-- CH.ifa.draw.util.Command is now an interface. A AbstractCommand can be found in CH.ifa.draw.standard.
-- All commands used to have a fView field. This has been moved to CH.ifa.draw.standard.AbstactCommand
-- A CH.ifa.draw.standard.StandardDrawingView has now a paintComponents() method instead of a paint()
-  and update() method. This allows the CH.ifa.draw.util.FloatingTextField to be a javax.swing.JTextField
-  instead of a java.awt.TextField.
-- CH.ifa.draw.figures.AbstractLineDecorator has been missing
-- DrawApplet, DrawApplication and derived classes are now programmed towards the DrawingView interface
-  instead of using StandardDrawingView. That leads to occasional cast when some additional StandardDrawingView
-  functionality is required in some specialized cases. Applications that were derived from DrawApplication
-  and used to override the createContents() methods should now return a DrawingView as well
\ No newline at end of file
diff --git a/JHotDraw/doc/classdiagram.jpg b/JHotDraw/doc/classdiagram.jpg
deleted file mode 100644
index d73a1e497a0c831c0a48f556bb9c903f6ef5d9ae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 17784
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
E02o%sV*mgE

diff --git a/JHotDraw/doc/documentation.html b/JHotDraw/doc/documentation.html
deleted file mode 100644
index 33b2a9a7f..000000000
--- a/JHotDraw/doc/documentation.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<html>
-<head>
-  <title>JHotDraw Documentation</title>
-</head>
-<body>
-<h1>Documentation Overview</h1>
-<hr>
-<ul>
-  <li>A description of the JHotDraw <a href="packages.html">package organization</a>
-.</li>
-  <li>The javadoc generated <a href="../javadoc/index.html">package index</a>
-.</li>
-  <li>An overview of the <a href="samples.html">samples</a> delivered with
-JHotDraw</li>
-  <li>A short instruction of how to <a href="buildProcess.html">compile</a>
- JHotDrawusing Ant with the build configuration provided<br>
-  </li>
-  <li>A <a href="classdiagram.html">class diagram</a> showing the mostimportant
-classes and their relationships.</li>
-  <li>The <a href="changes.html">the change log</a> of version 4.0.</li>
-  <li>Some <a href="drawBackground.html">background </a>about JHotDraw.</li>
-</ul>
-</body>
-</html>
diff --git a/JHotDraw/doc/drawBackground.html b/JHotDraw/doc/drawBackground.html
deleted file mode 100644
index 18104bd36..000000000
--- a/JHotDraw/doc/drawBackground.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<html>
-
-<head>
-  <title>JHotDraw Background</title>
-</head>
-
-<body>
-<H1>About JHotDraw</H1>
-<HR>
-The JHotDraw architecture was inspired by two sources:
-<UL>
-<LI>
-<a href="http://st-www.cs.uiuc.edu/users/brant/HotDraw/HotDraw.html">HotDraw</a><br>
-HotDraw is a drawing framework for Smalltalk. It was originally developed
-by Kent Beck and Ward Cunningham.
-<LI>
-<a href="ftp://ftp.ifa.ch/pub/ET++/">ET++</a><br>
-ET++ is a comprehensive and portable application framework and
-class library for C++. ET++ was developed by Andre Weinand and Erich Gamma.
-</UL>
-<p>
-JHotDraw was developed by Thomas Eggenschwiler and Erich Gamma.
-It was originally planned to be a trivial case study for an applied
-design patterns seminar. But then it was too much fun to just stop there...
-<p>
-<H2>Acknowledgements</H2>
-We have received valuable input from Uwe Steinmueller, Doug Lea, Kent Beck, and Ward Cunningham.
-</html>
diff --git a/JHotDraw/doc/packages.html b/JHotDraw/doc/packages.html
deleted file mode 100644
index 6929647bb..000000000
--- a/JHotDraw/doc/packages.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<head>
-<title>Packages Overview</title>
-</head>
-<h1>Packages Overview</h1>
-<hr>
-JHotDraw is organized into the following packages.
-<h2><a href=../javadoc/Package-CH.ifa.draw.util.html>CH.ifa.draw.util</a></h2>
-This package provides generally useful utilities that can be used
-independent of JHotDraw.<p>
-
-<h2><a href=../javadoc/Package-CH.ifa.draw.framework.html>CH.ifa.draw.framework</a></h2>
-The framework package includes the classes and interfaces that define the
-JHotDraw framework. It doesn't provide any concrete implementation classes.
-
-<h2><a href=../javadoc/Package-CH.ifa.draw.standard.html>CH.ifa.draw.standard</a></h2>
-The standard package provides standard implementations of the classes
-defined in the framework package.
-<p>
-It provides abstract classes that implement a
-framework interface and provide default implementation. The convention is to
-prefix such classes with Abstract, e.g., AbstractFigure, AbstractHandle.
-<p>
-Classes that implement a framework interface and can be used as is
-start with Standard, e.g., StandardDrawing, StandardDrawingView.
-
-<h2><a href=../javadoc/Package-CH.ifa.draw.figures.html>CH.ifa.draw.figures</a></h2>
-A kit of figures together with their associated support classes (tools,
-handles).
-
-<h2><a href=../javadoc/Package-CH.ifa.draw.contrib.html>CH.ifa.draw.contrib</a></h2>
-Classes that where contributed by others.
-
-<h2><a href=../javadoc/Package-CH.ifa.draw.applet.html>CH.ifa.draw.applet</a></h2>
-The applet package defines a default applet user interface for a JHotDraw
-applet. JHotDraw applets can be developed without using this
-package and they can have a different user interface.
-
-<h2><a href=../javadoc/Package-CH.ifa.draw.application.html>CH.ifa.draw.application</a></h2>
-The application package defines a default user interface for standalone
-JHotDraw applications. This is only a default
-presentation.
-
-<h2>CH.ifa.draw.samples.javadraw</h2>
-The package for the javadraw <a href=samples.html#JavaDrawApp>sample</a> applications.
-This includes the javadraw applet, application, and a viewer applet.
-
-<h2>CH.ifa.draw.samples.pert</h2>
-The package for the pert <a href=samples.html#PertApp>sample</a> applet
-and application.
-
-<h2>CH.ifa.draw.samples.nothing</h2>
-The package for the nothing <a href=samples.html#Nothing>sample</a> applet
-and application.
-
-<h2>CH.ifa.draw.samples.net</h2>
-The package for the net <a href=samples.html#Net>sample</a> application.
-
-</body>
-</html>
diff --git a/JHotDraw/doc/samples.html b/JHotDraw/doc/samples.html
deleted file mode 100644
index 80a260e0a..000000000
--- a/JHotDraw/doc/samples.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<html>
-<head>
-<title>Samples</title>
-</head>
-<a name=top></a>
-<h1>JHotDraw Samples</h1>
-
-As part of the JHotDraw framework we include a number of sample applications
-and applets that
-demonstrate various aspects of JHotDraw.
-<ol>
-<li><a href=#JavaDrawApp>JavaDrawApp</a></li>
-<li><a href=#JavaDrawApplet>JavaDrawApplet</a></li>
-<li><a href=#JavaDrawViewer>JavaDrawViewer</a></li>
-<li><a href=#PertApp>PertApp/PertApplet</a></li>
-<li><a href=#Nothing>Nothing</a></li>
-<li><a href=#Net>Net</a></li>
-</ol>
-<b>Note:</b>To run the sample applets inside a browser requires a
-browser with JDK1.1 support.
-<hr>
-<ol>
-<li><h3><a name=JavaDrawApp>JavaDrawApp</a></h3></li>
-<p>
-This sample illustrates various standard tools and figures provided with JHotDraw.
-For a description of its features refer to the <a href="../CH/ifa/draw/samples/javadraw/JavaDrawAppletHelp.html">help document</a>.
-<p>
-It uses a custom drawing subclass BouncingDrawing to implement a bouncing figures
-feature. The animation support is attached to a figure with a AnimationDecorator.
-<p>
-Support for attaching URLs to figures is implemented by URLTool.
-<p>
-You can start the application with:
-<pre>java CH.ifa.draw.samples.javadraw.JavaDrawApp</pre>
-The <i>drawings</i> directory includes some sample drawings. They can be
-loaded with the open command from the file menu. <b>Note</b> your CLASSPATH
-has to include the absolute path to the JHotDraw directory otherwise you will
-run into class loading problems.
-<p>
-<li><h3><a name=JavaDrawApplet>JavaDrawApplet</a></h3></li>
-<p>
-The <a href="../JavaDrawApplet.html">JavaDrawApplet</a> is the applet version of JavaDrawApp.
-Since it is an applet the drawing can't be saved.
-A sample drawing can be loaded from the load choices item.
-<p>
-<li><h3><a name=JavaDrawViewer>JavaDrawViewer</a></h3></li>
-<p>
-The <a href="../JavaDrawViewer.html">JavaDrawViewer</a> enables to view a JavaDraw drawing. If a figure has
-an attached URL you can follow it by selecting it with the mouse.
-<p>
-The sample illustrates how to create a minimal presentation without a tool palette and
-other user interface adornments.
-<p>
-<li><h3><a name=PertApp>PertApp/PertApplet</a></h3></li>
-<p>
-PertApp is simple drawing editor to support the PERT project management
-technique. With PertApp you can create tasks and define their dependencies.
-PertApp takes care of tracking the end time of each task.
-<p>
-For a description of its features refer to the <a href="../CH/ifa/draw/samples/pert/PertAppletHelp.html">help document</a>.
-<p>
-This sample illustrates how to create more complex figures and how to use
-connections. Connections can be created either with a ConnectionTool or
-ConnectionHandles.
-<p>
-You can start the application with:
-<pre>java CH.ifa.draw.samples.pert.PertApplication</pre>
-<li><h3><a name=PertApplet>PertApplet</a></h3></li>
-The <i>drawings</i> directory includes some sample drawings. They can be
-loaded with the open command from the file menu. <b>Note</b> your CLASSPATH
-has to include the absolute path to the JHotDraw directory otherwise you will
-run into class loading problems.
-<p>
-<a href="../PertApplet.html">PertApplet</a> is the applet version of PertApp.
-<p>
-<li><h3><a name=Nothing>Nothing</a></h3></li>
-<p>
-This is the <i>hello world</i> sample of JHotDraw. It can be used
-as the starting point for developing your own applications.
-The samples uses some standard tools to create a simple drawing editor.
-It is only about one page of <a href="../CH/ifa/draw/samples/nothing/NothingApp.java">code</a>.
-<p>
-<li><h3><a name=Net>NetApp</a></h3></li>
-<p>
-A simple network editor. It enables the creation of nodes. When selected
-a node display a set of handles that can be used to connect it with other nodes.
-Nodes are connected at specific semantic locations. The potential locations
-are highlighted once the mouse moves inside a node.
-This sample illustrates the use of LocatorConnectors.
-<p>
-You can start the application with:
-<pre>java CH.ifa.draw.samples.net.NetApp</pre>
-A sample net can be found in the <i>drawings</i> directory.
-
-</body>
-</html>
diff --git a/JHotDraw/drawings/demo.draw b/JHotDraw/drawings/demo.draw
deleted file mode 100644
index f7c5b2a38..000000000
--- a/JHotDraw/drawings/demo.draw
+++ /dev/null
@@ -1,82 +0,0 @@
-
-    CH.ifa.draw.samples.javadraw.BouncingDrawing 19 
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.ImageFigure "attributes" "attributes" 1 "URL" "String" "http://www.javasoft.com" 220 160 100 116 "/CH/ifa/draw/samples/javadraw/sampleimages/joe.surf.yellow.small.gif"  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.EllipseFigure "no_attributes" 121 16 75 36  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.RoundRectangleFigure "no_attributes" 122 125 73 37 8 8  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.RoundRectangleFigure "attributes" "attributes" 1 "URL" "String" "" 266 73 77 37 36 20  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 2 "TextColor" "Color" 255 255 255 "FillColor" "Color" 255 199 158 143 135 "Text" "Helvetica" 1 14 0 REF 6 
-                CH.ifa.draw.standard.OffsetLocator 0 0 
-                    CH.ifa.draw.standard.RelativeLocator 0.5 0.5    4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.ElbowConnection 4 195 129 230 129 230 99 266 99 
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor
-                0 0 0 
-                CH.ifa.draw.figures.ShortestDistanceConnector REF 6  
-                CH.ifa.draw.figures.ShortestDistanceConnector REF 8   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.EllipseFigure "attributes" "attributes" 1 "FillColor" "Color" 35 142 104 272 18 64 32  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.LineConnection 2 195 34 273 34 
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor 
-                0 0 0 
-                CH.ifa.draw.figures.ChopEllipseConnector REF 4  
-                CH.ifa.draw.figures.ChopEllipseConnector REF 20   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.BorderDecorator 
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 275 159 "Images" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.BorderDecorator 
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.TextFigure "attributes" "attributes" 2 "URL" "String" "" "FillColor" "Color" 255 199 158 191 60 "Connections" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.BorderDecorator 
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 108 214 "Connected Text" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.BorderDecorator 
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 222 287 "URL Attachments" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.BorderDecorator 
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 27 111 "Groups" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.EllipseFigure "attributes" "attributes" 1 "FillColor" "Color" 35 142 104 14 203 70 46  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.LineConnection 2 122 157 72 210 
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                0 0 0 
-                CH.ifa.draw.figures.ShortestDistanceConnector REF 6  
-                CH.ifa.draw.figures.ChopEllipseConnector REF 48   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 192 192 192 67 176 "Annotation" "Helvetica" 1 12 0 REF 50 
-                CH.ifa.draw.standard.OffsetLocator 0 0 
-                    CH.ifa.draw.standard.RelativeLocator 0.5 0.5    4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.GroupFigure 4 
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 255 255 255 24 25 47 44  4 4  
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 0 0 0 34 35 47 44  4 4  
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 255 255 255 44 45 47 44  4 4  
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 0 0 0 54 55 47 44  4 4   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.contrib.PolygonFigure "no_attributes" 6 68 283 105 254 111 309 151 261 163 282 160 290  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.LineConnection 2 71 244 97 259 
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                0 0 0 
-                CH.ifa.draw.figures.ChopEllipseConnector REF 48  
-                CH.ifa.draw.contrib.ChopPolygonConnector REF 70   4 4   
\ No newline at end of file
diff --git a/JHotDraw/drawings/demo.ser b/JHotDraw/drawings/demo.ser
deleted file mode 100644
index f405068ff8ee0f201d2afc67493b6ce18b8e9aaa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9048
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

diff --git a/JHotDraw/drawings/net.draw b/JHotDraw/drawings/net.draw
deleted file mode 100644
index 166d80dc2..000000000
--- a/JHotDraw/drawings/net.draw
+++ /dev/null
@@ -1,65 +0,0 @@
-
-    CH.ifa.draw.standard.StandardDrawing 13 
-        CH.ifa.draw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 135 46 "one" "Helvetica" 1 12 0 NULL NULL  
-        CH.ifa.draw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 62 102 "two" "Helvetica" 1 12 0 NULL NULL  
-        CH.ifa.draw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 211 102 "three" "Helvetica" 1 12 0 NULL NULL  
-        CH.ifa.draw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 134 153 "four" "Helvetica" 1 12 0 NULL NULL  
-        CH.ifa.draw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 135 219 "five" "Helvetica" 1 12 0 NULL NULL  
-        CH.ifa.draw.figures.LineConnection 2 145 67 72 96 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            CH.ifa.draw.standard.LocatorConnector REF 1 
-                CH.ifa.draw.standard.RelativeLocator 0.5 1.0   
-            CH.ifa.draw.standard.LocatorConnector REF 2 
-                CH.ifa.draw.standard.RelativeLocator 0.5 0.0    
-        CH.ifa.draw.figures.LineConnection 2 145 67 226 96 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 REF 9 
-            CH.ifa.draw.standard.LocatorConnector REF 3 
-                CH.ifa.draw.standard.RelativeLocator 0.5 0.0    
-        CH.ifa.draw.figures.LineConnection 2 89 109 205 109 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            CH.ifa.draw.standard.LocatorConnector REF 2 
-                CH.ifa.draw.standard.RelativeLocator 1.0 0.5   
-            CH.ifa.draw.standard.LocatorConnector REF 3 
-                CH.ifa.draw.standard.RelativeLocator 0.0 0.5    
-        CH.ifa.draw.figures.LineConnection 2 72 123 128 160 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            CH.ifa.draw.standard.LocatorConnector REF 2 
-                CH.ifa.draw.standard.RelativeLocator 0.5 1.0   
-            CH.ifa.draw.standard.LocatorConnector REF 4 
-                CH.ifa.draw.standard.RelativeLocator 0.0 0.5    
-        CH.ifa.draw.figures.LineConnection 2 226 123 163 160 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            CH.ifa.draw.standard.LocatorConnector REF 3 
-                CH.ifa.draw.standard.RelativeLocator 0.5 1.0   
-            CH.ifa.draw.standard.LocatorConnector REF 4 
-                CH.ifa.draw.standard.RelativeLocator 1.0 0.5    
-        CH.ifa.draw.figures.LineConnection 2 226 123 161 226 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 REF 35 
-            CH.ifa.draw.standard.LocatorConnector REF 5 
-                CH.ifa.draw.standard.RelativeLocator 1.0 0.5    
-        CH.ifa.draw.figures.LineConnection 2 72 123 129 226 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 REF 28 
-            CH.ifa.draw.standard.LocatorConnector REF 5 
-                CH.ifa.draw.standard.RelativeLocator 0.0 0.5    
-        CH.ifa.draw.figures.LineConnection 4 247 109 280 109 280 53 162 53 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            CH.ifa.draw.standard.LocatorConnector REF 3 
-                CH.ifa.draw.standard.RelativeLocator 1.0 0.5   
-            CH.ifa.draw.standard.LocatorConnector REF 1 
-                CH.ifa.draw.standard.RelativeLocator 1.0 0.5     
\ No newline at end of file
diff --git a/JHotDraw/drawings/net.ser b/JHotDraw/drawings/net.ser
deleted file mode 100644
index 0ffdc1a5ad444fa1bb2ec339dc674ddbf26bfb8d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6331
zcmZ4UmVvdnh(X2KLoYKeQ7@$^v0SgXBrz`~u_#3^7|L)dN-WRJOTYctm-oF&k`ogH
zqbGw5NNHwXdT?q{W@1ieRceY$Vo73HYEf}!eqIGG6P@#O3-XIIOH$o3(@Tp|)6Vnw
z?5Oq1Vq#$OWKc;)mBebY4+BRUL~n5kgOE>FVp*boX-Q^|epqU9Nq&)aMG=ECR=+qV
z6_*qxCYL}o|G$|l>N3q=4(t`>L=-u!_Er=yFfcHJaB&fX0LWTBkhOXcYi~}kjc%}B
z&&b5U?8zXQoLG>UoLN%onU`FYnwy$e;>p01ngeDz=a=S{L^E(hxu75`VGxdn_#-DV
zFJ0e1DJwO(#2RcL0|NsCZ)p)sfgVVK9#p}Ea}o0eiZyeX7#P56d5en}lu&%0m|KvO
zTCA6sTB7Hdp8^f>+gqnR5dPbs$;7}E#UPaCoS&Bm4!Gj5%;L<XoKznMZY04%hB^kO
ziXsL%WP{VdQCF-Nl3D=`P5Y}i7J2;K_J@gqBZ`4L&9gWtH8I6MFQ?Lzfg{boC^J1X
zF9N}g^kk4Pf$PN@+CB`dX>R#>B_#~}kf2E{FVP1HScBr<CqFr{B)_PHLB+?}Lq9Vu
zQ6H2R^<l|Y-#;y_IJE?-%G!s4Kg~a>IJKxOH3bs+B@A*X8q<mrb5qOni?a10^41{h
zLB4~hFi^nj2bUCO=A~n#Fj#OnmXs7_CY8dHHY|lPgOhe5sw56ibEm-#DK249Lv<u1
z)S*s9sI#sBMG`Y8Wr8qzUWU02;xmM{1$hUmy$idafODQIL={37hx=I4d=m>w7(^j)
z0!sh-9*M;nC5cHnsgM-QSX{&)jL02uS>fIMs)}Aub}%zAxiN6%<R_-MC4%y+Cj)0m
zMp0^UMt)98MS;BoD8(~ylyfjJFmN+4Fff-eaJhkE$2mVIzo@u~fe&nUVtI)kScGw@
zc(XviaVZl6n;QdLT4GK?MxrMJYguAWX{rwcQ*v<$gEYjkpahf*GDIJ&F}NTxIn_Fv
zfitZrJqfJ5gn=pAEt-KX4a@_Dsk9FRS4l>ybABEuwU#i5BTNcN%*-o+N<ci$@c;jR
zhJu2Ef)WN!P|^Y0QVcRi66B}<|NsAo%DQFd<Y34ip9hkyr~s*LXJBB^gT^H<+`pjI
ze{`YgvorU?ikTVMJQ*a@^7BftMwA-^XF+~uUP*9fRjMZgOEH*YEiS19Wp9zRpwz<B
z)Z&uV6hwT3+$rM2z>=4kn+js{gNqbKM@W3|fE@!87qd@GOJiVQU;)PvD~MHG#2^iK
zB*;nNash61cE#Kt-WR-Xpkk_sK_9FV6r6f+6)DaciJ*cxwaBw1wFs24Rp4@sawTeK
z-Nj>=7#LAqR|1Od+{~QH5(Z9>)SR-^lFZ~paB!=ZFtC-UW~OJ96c;h@gY5(5UOl&*
z{KS%5Z%;0|ZS&y`69c0gG?`SuigU0kztY^K)S|XEQ)RiQJm>~Fx&RagFq6Sy3Fhd4
z!UoJzEn(m+DN4*MPRlRKEiPhE0NV*lqL9#lNx?m(H~FN&)Rn)Yz@9>AEn$#HB(U_<
z{9Jv<w6x5;)DV~f))fWCMGUfV<3Vcl(9{T3OceFH`ag-8fz5@1IoH4dOd5hoBM@l_
z7BK{i7#dX+*na>eIoudsz5-m_XjXs{I&*$rDnkJ{5V$}|1cbpnVK_^SP?iRzDp(Go
zQvR`HU|;|xQbw>_lt69)MHT}C1KxxTa)~-}asmlxfe1Yip$|3<9PJ>k5twTNCe6_U
z2|YN`<spIS3JJuL^87&<h?j>*Acleikrh;l492wB#=yWZ6O;nM31#r6#Z+)GvZUpg
z77fD02&xfp4}nlDg@$5g87M8HwZ|cCtYST%%sfz=0@Uoz%+HH&f15W!Xv#%!&p|l{
zMGkA_?!&;6=9-sM!k~!SJOs6pz-?G~liu2gfh{e#B(bOjRA5zC;BZeseoiIGO^_Di
z#O3lq9E*QVW@2FVWKb?Zk;CC0K9GA{Qj_zG5=%1k^U#~+P=D)#>_Dip26Z$LO}i2X
z0Yv2oZXH?sFtDcufSNJjti$BPAOP_U!VHkNYQgmpa`RUPTVKVos3^ZYB(vcBzuuRZ
zX8g}$Vqo!PkWGY&V)d8{16!J7UV2Wd3j<G@XI@@vQBYz^W@#~q>t9*|<5m<gXkoPx
z+NVVIw&*kA<QFE=lbINpd>DArobroOQj5U;1$m~<hk+{%-aZ72R1_4zdY<UD3YZTL
z97qMqzyPj5!6Klh8AzU~6l4mhIn9L9dIksVwj*6dCUqy&z<mJ53Qq>cN^rYxA_D`1
zE7%xN@#Vq5z>omuHQ;v&ID-~3s3M03tWTx~?Tx_`r<>F1pM`(dgo5o>&4Kjj;IddF
z#D{?+4QdRit%Th5L-gRF3al%N7}T&j1U3!;w`+$(q0M(q@#A2ZsKJH;;L<pp!j|S=
zo|jq#3SB;MpfQ4&R?slOKAaMinv+<PS(XZQqe`S0+fq@(S4<4dE(~00Fxd!XPNXM;
zN)f6ytPa9C-~#h5)Xph==iblz9RD2LvbBEzN+Kv2(q`%cc?0AhArJ!`_kA$MNNpL2
z;wq3D5C*FwkVe32h)b>@`$6dsH8nmWDK&!3fP2OZ?nt<2ko*pgzlmV?(b`9m3=9l;
zV4FbxI}7I#2s^m*vH1w*6Ie81Du$#@P>A%w;t)eIt$hwEOKRahZ(v|xSP15k?DHtN
z|N2PtIW)<`LI7?It$hwkw+Npvri#yDp1_DkYzYLW2&QR(e7=x@f#ETEah?TtGS&nP
zO4<9tCeu1DQB!dvReXdk6@z@Vnd&}bfj0?Qz-EKWpzrW9sEvVvQG$ViAr~eG=9$8H
h42u{T7|g&tlJhKbWda>_fF(+J%wkQsSQLXa004ctH~0Vm

diff --git a/JHotDraw/drawings/nothing.draw b/JHotDraw/drawings/nothing.draw
deleted file mode 100644
index 38fbe4961..000000000
--- a/JHotDraw/drawings/nothing.draw
+++ /dev/null
@@ -1,10 +0,0 @@
-
-    CH.ifa.draw.samples.javadraw.BouncingDrawing 4 
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 255 255 255 80 77 196 89  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 0 0 255 75 72 196 89  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 2 "TextColor" "Color" 255 255 255 "FillColor" "Color" 255 199 158 119 92 "Nothing" "Helvetica" 0 36 0 NULL NULL  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 117 90 "Nothing" "Helvetica" 0 36 0 NULL NULL  4 4   
\ No newline at end of file
diff --git a/JHotDraw/drawings/nothing.ser b/JHotDraw/drawings/nothing.ser
deleted file mode 100644
index 4a45ec5b7c9d9488e1d30a282bd975ba2479d4ac..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3067
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
MOd!sX0XY<e0ZrkYU;qFB

diff --git a/JHotDraw/drawings/pert.draw b/JHotDraw/drawings/pert.draw
deleted file mode 100644
index 3728cc3a8..000000000
--- a/JHotDraw/drawings/pert.draw
+++ /dev/null
@@ -1,64 +0,0 @@
-
-    CH.ifa.draw.standard.StandardDrawing 14 
-        CH.ifa.draw.samples.pert.PertFigure 3 
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 29 133 "Design" "Helvetica" 1 12 0 NULL NULL  
-            CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 29 148 "5" "Helvetica" 1 12 0 NULL NULL  
-            CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 29 163 "5" "Helvetica" 0 12 1 NULL NULL  26 130 45 51 0 1 
-            CH.ifa.draw.samples.pert.PertFigure 3 
-                CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 108 133 "Implement" "Helvetica" 1 12 0 NULL NULL  
-                CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 108 148 "6" "Helvetica" 1 12 0 NULL NULL  
-                CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 108 163 "11" "Helvetica" 0 12 1 NULL NULL  105 130 66 51 1 REF 1 3 
-                CH.ifa.draw.samples.pert.PertFigure 3 
-                    CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 215 133 "JavaDoc" "Helvetica" 1 12 0 NULL NULL  
-                    CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 215 148 "2" "Helvetica" 1 12 0 NULL NULL  
-                    CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 215 163 "13" "Helvetica" 0 12 1 NULL NULL  212 130 55 51 1 REF 5 1 
-                    CH.ifa.draw.samples.pert.PertFigure 3 
-                        CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 314 133 "Ship" "Helvetica" 1 12 0 NULL NULL  
-                        CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 314 148 "0" "Helvetica" 1 12 0 NULL NULL  
-                        CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 314 163 "19" "Helvetica" 0 12 1 NULL NULL  311 130 31 51 3 
-                        CH.ifa.draw.samples.pert.PertFigure 3 
-                            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 206 "S&P" "Helvetica" 1 12 0 NULL NULL  
-                            CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 221 "4" "Helvetica" 1 12 0 NULL NULL  
-                            CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 236 "15" "Helvetica" 0 12 1 NULL NULL  224 203 31 51 1 REF 5 1 REF 13  REF 9 
-                        CH.ifa.draw.samples.pert.PertFigure 3 
-                            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 46 "Test" "Helvetica" 1 12 0 NULL NULL  
-                            CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 61 "8" "Helvetica" 1 12 0 NULL NULL  
-                            CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 76 "19" "Helvetica" 0 12 1 NULL NULL  224 43 31 51 1 REF 5 1 REF 13  0   REF 17 REF 21   REF 5 REF 21 REF 9 REF 13 REF 17 
-        CH.ifa.draw.samples.pert.PertDependency 2 71 155 105 155 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 1  
-            CH.ifa.draw.standard.ChopBoxConnector REF 5   
-        CH.ifa.draw.samples.pert.PertDependency 2 171 155 212 155 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 5  
-            CH.ifa.draw.standard.ChopBoxConnector REF 9   
-        CH.ifa.draw.samples.pert.PertDependency 3 151 130 184 68 224 68 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 5  
-            CH.ifa.draw.standard.ChopBoxConnector REF 21   
-        CH.ifa.draw.samples.pert.PertDependency 3 154 181 184 228 224 228 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 5  
-            CH.ifa.draw.standard.ChopBoxConnector REF 17   
-        CH.ifa.draw.samples.pert.PertDependency 3 255 228 285 228 312 181 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 17  
-            CH.ifa.draw.standard.ChopBoxConnector REF 13   
-        CH.ifa.draw.samples.pert.PertDependency 2 267 155 311 155 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 9  
-            CH.ifa.draw.standard.ChopBoxConnector REF 13   
-        CH.ifa.draw.samples.pert.PertDependency 3 255 68 284 68 314 130 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 21  
-            CH.ifa.draw.standard.ChopBoxConnector REF 13   
-        CH.ifa.draw.figures.GroupFigure 2 
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 26 23 "HotJavaDraw" "Helvetica" 1 18 0 NULL NULL  
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 2 "FillColor" "Color" 255 199 158 "TextColor" "Color" 255 255 255 24 21 "HotJavaDraw" "Helvetica" 1 18 0 NULL NULL    
\ No newline at end of file
diff --git a/JHotDraw/drawings/pert.ser b/JHotDraw/drawings/pert.ser
deleted file mode 100644
index 774bf8993c1079480d1673f5cfe43961d7e70f9e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 10154
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

diff --git a/JHotDraw/lgpl-license.html b/JHotDraw/lgpl-license.html
deleted file mode 100644
index 7106b97b0..000000000
--- a/JHotDraw/lgpl-license.html
+++ /dev/null
@@ -1,533 +0,0 @@
-<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>The Open Source Initiative: The GNU Lesser General Public License (LGPL)</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<div align=center>
-
-<p>
-
-<table width=90% cellpadding=10 cellspacing=10 border=0>
-
-<tr bgcolor="#FFFFFF">
-
-	<td colspan=2 align="right"><img src="../graphics/ossmall.png" width="250" height="26" border="0" align="right" alt="opensource.org">
-
-</td>
-
-</tr>
-
-<tr>
-
-	<td width=75% bgcolor="#C6EFF7" valign="top">
-	
-<font face="Arial, Helvetica, sans serif" size="3">
-		
-<h1>The GNU Lesser General Public License (LGPL)</h1>
-
-<h2>Version 2.1, February 1999</h2>
-
-<blockquote>
-
-	<p><em>(The master copy of this license lives on the <a
-href="http://www.gnu.org/copyleft/lesser.html">GNU website</a>.)</em></p>
-
-</blockquote>
-
-<tt>
-
-<p>Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.</p>
-
-<p>[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]</p>
-
-<p>Preamble</p>
-
-<p>The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.</p>
-
-<p>This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.</p>
-
-<p>When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.</p>
-
-<p>To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.</p>
-
-<p>For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.</p>
-
-<p>We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.</p>
-
-<p>To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.</p>
-
-<p>Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.</p>
-
-<p>Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.</p>
-
-<p>When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.</p>
-
-<p>We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.</p>
-
-<p>For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.</p>
-
-<p>In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.</p>
-
-<p>Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.</p>
-
-<p>The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.</p>
-
-<p>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</p>
-
-<p>0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".</p>
-
-<p>A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.</p>
-
-<p>The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)</p>
-
-<p>"Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.</p>
-
-<p>Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.</p>
-
-<p>1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.</p>
-
-<p>You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.</p>
-
-<p>2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:</p>
-
-<blockquote>
-
-	<p>a)	The modified work must itself be a software library.<br />
-	b)  You must cause the files modified to carry prominent notices
-        stating that you changed the files and the date of any change.<br />
-	c)  You must cause the whole of the work to be licensed at no
-        charge to all third parties under the terms of this License.<br />
-	d)  If a facility in the modified Library refers to a function or a
-        table of data to be supplied by an application program that uses
-        the facility, other than as an argument passed when the facility
-        is invoked, then you must make a good faith effort to ensure that,
-        in the event an application does not supply such function or
-        table, the facility still operates, and performs whatever part of
-        its purpose remains meaningful.</p>
-       
-	    <p>(For example, a function in a library to compute square roots has
-        a purpose that is entirely well-defined independent of the
-        application.  Therefore, Subsection 2d requires that any
-        application-supplied function or table used by this function must
-        be optional: if the application does not supply it, the square
-        root function must still compute square roots.)</p>
-       
-        <p>These requirements apply to the modified work as a whole.  If
-        identifiable sections of that work are not derived from the Library,
-        and can be reasonably considered independent and separate works in
-        themselves, then this License, and its terms, do not apply to those
-        sections when you distribute them as separate works.  But when you
-        distribute the same sections as part of a whole which is a work based
-        on the Library, the distribution of the whole must be on the terms of
-        this License, whose permissions for other licensees extend to the
-        entire whole, and thus to each and every part regardless of who wrote
-        it.</p>
-       
-        <p>Thus, it is not the intent of this section to claim rights or contest
-        your rights to work written entirely by you; rather, the intent is to
-        exercise the right to control the distribution of derivative or
-        collective works based on the Library.</p>
-       
-        <p>In addition, mere aggregation of another work not based on the Library
-        with the Library (or with a work based on the Library) on a volume of
-        a storage or distribution medium does not bring the other work under
-        the scope of this License.</p>
-
-</blockquote>
-
-<p>3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.</p>
-
-<p>Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.</p>
-
-<p>This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.</p>
-
-<p>4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.</p>
-
-<p>If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.</p>
-
-<p>5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.</p>
-
-<p>However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.</p>
-
-<p>When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.</p>
-
-<p>If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)</p>
-
-<p>Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.</p>
-
-<p>6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.</p>
-
-<p>You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:</p>
-	
-	<blockquote>
-	
-	<p>a)  Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)</p>
-	 
-    <p>b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.</p>
-
-    <p>c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.</p>
-
-    <p>d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.</p>
-
-    <p>e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.</p>
-
-	</blockquote>
-	
-<p>For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.</p>
-
-<p>It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.</p>
-
-<p>7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:</p>
-
-<blockquote>
-
-	<p>a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.</p>
-
-    <p>b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.</p>
-
-</blockquote>
-
-<p>8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.</p>
-
-<p>9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.</p>
-
-<p>10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.</p>
-
-<p>11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.</p>
-
-<p>If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.</p>
-
-<p>It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.</p>
-
-<p>This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.</p>
-
-<p>12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.</p>
-
-<p>13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.</p>
-
-<p>Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.</p>
-
-<p>14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.</p>
-
-<p>NO WARRANTY</p>
-
-<p>15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</p>
-
-<p>16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.</p>
-
-<p>END OF TERMS AND CONDITIONS</p>
-
-</tt>
-
-</pre>
-	
-	</td>
-	
-	<td width=25% bgcolor="#BFBFBF" valign="top">
-	
-	<font face="Arial, Helvetica, sans serif" size="2">
-	
-	<p><a href="index.html">Licenses main page</a></p>
-	
-	<p />
-	
-	<hr>
-	
-	<p><a href="../index.html">opensource.org home page</a></p>
-	
-</tr>
-
-</table>
-
-</div>
-
-</body>
-
-</html>
diff --git a/JHotDraw/run_javadraw.bat b/JHotDraw/run_javadraw.bat
deleted file mode 100644
index 01e20b6cc..000000000
--- a/JHotDraw/run_javadraw.bat
+++ /dev/null
@@ -1,3 +0,0 @@
-@echo off
-
-call compile_ant javadraw
diff --git a/JHotDraw/setenv.bat b/JHotDraw/setenv.bat
deleted file mode 100644
index ca4a20ba1..000000000
--- a/JHotDraw/setenv.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-set JAVA_HOME=C:\progra~1\jdk1.4.0
-set ANT_HOME=C:\ant
diff --git a/JHotDraw/src/CH/ifa/draw/applet/DrawApplet.java b/JHotDraw/src/CH/ifa/draw/applet/DrawApplet.java
deleted file mode 100644
index 75489a9b0..000000000
--- a/JHotDraw/src/CH/ifa/draw/applet/DrawApplet.java
+++ /dev/null
@@ -1,573 +0,0 @@
-/*
- * @(#)DrawApplet.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.applet;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.*;
-import java.util.*;
-import java.io.*;
-import java.net.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.util.*;
-
-/**
- * DrawApplication defines a standard presentation for
- * a drawing editor that is run as an applet. The presentation is
- * customized in subclasses.<p>
- * Supported applet parameters: <br>
- * <i>DRAWINGS</i>: a blank separated list of drawing names that is
- *           shown in the drawings choice.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DrawApplet
-		extends JApplet
-		implements DrawingEditor, PaletteListener, VersionRequester {
-
-	private transient Drawing         fDrawing;
-	private transient Tool            fTool;
-
-	private transient DrawingView     fView;
-	private transient ToolButton      fDefaultToolButton;
-	private transient ToolButton      fSelectedToolButton;
-
-	private transient boolean         fSimpleUpdate;
-	private transient JButton          fUpdateButton;
-
-	private transient JComboBox          fFrameColor;
-	private transient JComboBox          fFillColor;
-	private transient JComboBox          fTextColor;
-	private transient JComboBox          fArrowChoice;
-	private transient JComboBox          fFontChoice;
-
-	private transient 			UndoManager myUndoManager;
-
-	static String                     fgUntitled = "untitled";
-
-	private static final String       fgDrawPath = "/CH/ifa/draw/";
-	public static final String        IMAGES = fgDrawPath+"images/";
-
-	/**
-	 * Initializes the applet and creates its contents.
-	 */
-	public void init() {
-		createIconkit();
-		getVersionControlStrategy().assertCompatibleVersion();
-		setUndoManager(new UndoManager());
-
-		getContentPane().setLayout(new BorderLayout());
-
-		fView = createDrawingView();
-
-		JPanel attributes = createAttributesPanel();
-		createAttributeChoices(attributes);
-		getContentPane().add("North", attributes);
-
-		JPanel toolPanel = createToolPalette();
-		createTools(toolPanel);
-		getContentPane().add("West", toolPanel);
-
-		getContentPane().add("Center", (Component)view());
-		JPanel buttonPalette = createButtonPanel();
-		createButtons(buttonPalette);
-		getContentPane().add("South", buttonPalette);
-
-		initDrawing();
-		// JFC should have its own internal double buffering...
-		//setBufferedDisplayUpdate();
-		setupAttributes();
-	}
-
-	public void addViewChangeListener(ViewChangeListener vsl) {
-	}
-
-	public void removeViewChangeListener(ViewChangeListener vsl) {
-	}
-
-	protected Iconkit createIconkit() {
-		return new Iconkit(this);
-	}
-
-	/**
-	 * Creates the attributes panel.
-	 */
-	protected JPanel createAttributesPanel() {
-		JPanel panel = new JPanel();
-		panel.setLayout(new PaletteLayout(2, new Point(2,2), false));
-		return panel;
-	}
-
-	/**
-	 * Creates the attribute choices. Override to add additional
-	 * choices.
-	 */
-	protected void createAttributeChoices(JPanel panel) {
-		panel.add(new JLabel("Fill"));
-		fFillColor = createColorChoice(FigureAttributeConstant.FILL_COLOR);
-		panel.add(fFillColor);
-
-		panel.add(new JLabel("Text"));
-		fTextColor = createColorChoice(FigureAttributeConstant.TEXT_COLOR);
-		panel.add(fTextColor);
-
-		panel.add(new JLabel("Pen"));
-		fFrameColor = createColorChoice(FigureAttributeConstant.FRAME_COLOR);
-		panel.add(fFrameColor);
-
-		panel.add(new JLabel("Arrow"));
-		CommandChoice choice = new CommandChoice();
-		fArrowChoice = choice;
-		FigureAttributeConstant arrowMode = FigureAttributeConstant.ARROW_MODE;
-		choice.addItem(new ChangeAttributeCommand("none",     arrowMode, new Integer(PolyLineFigure.ARROW_TIP_NONE),  this));
-		choice.addItem(new ChangeAttributeCommand("at Start", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_START), this));
-		choice.addItem(new ChangeAttributeCommand("at End",   arrowMode, new Integer(PolyLineFigure.ARROW_TIP_END),   this));
-		choice.addItem(new ChangeAttributeCommand("at Both",  arrowMode, new Integer(PolyLineFigure.ARROW_TIP_BOTH),  this));
-		panel.add(fArrowChoice);
-
-		panel.add(new JLabel("Font"));
-		fFontChoice = createFontChoice();
-		panel.add(fFontChoice);
-	}
-
-	/**
-	 * Creates the color choice for the given attribute.
-	 */
-	protected JComboBox createColorChoice(FigureAttributeConstant attribute) {
-		CommandChoice choice = new CommandChoice();
-		for (int i = 0; i < ColorMap.size(); i++)
-			choice.addItem(
-				new ChangeAttributeCommand(
-					ColorMap.name(i),
-					attribute,
-					ColorMap.color(i),
-					this
-				)
-			);
-		return choice;
-	}
-
-	/**
-	 * Creates the font choice. The choice is filled with
-	 * all the fonts supported by the toolkit.
-	 */
-	protected JComboBox createFontChoice() {
-		CommandChoice choice = new CommandChoice();
-		String fonts[] = Toolkit.getDefaultToolkit().getFontList();
-		for (int i = 0; i < fonts.length; i++) {
-			choice.addItem(new ChangeAttributeCommand(fonts[i], FigureAttributeConstant.FONT_NAME, fonts[i],  this));
-		}
-		return choice;
-	}
-
-	/**
-	 * Creates the buttons panel.
-	 */
-	protected JPanel createButtonPanel() {
-		JPanel panel = new JPanel();
-		panel.setLayout(new PaletteLayout(2, new Point(2,2), false));
-		return panel;
-	}
-
-	/**
-	 * Creates the buttons shown in the buttons panel. Override to
-	 * add additional buttons.
-	 * @param panel the buttons panel.
-	 */
-	protected void createButtons(JPanel panel) {
-		panel.add(new Filler(24,20));
-
-		JComboBox drawingChoice = new JComboBox();
-		drawingChoice.addItem(fgUntitled);
-
-		String param = getParameter("DRAWINGS");
-		if (param == null) {
-			param = "";
-		}
-		StringTokenizer st = new StringTokenizer(param);
-		while (st.hasMoreTokens()) {
-			drawingChoice.addItem(st.nextToken());
-		}
-		// offer choice only if more than one
-		if (drawingChoice.getItemCount() > 1) {
-			panel.add(drawingChoice);
-		}
-		else {
-			panel.add(new JLabel(fgUntitled));
-		}
-
-		drawingChoice.addItemListener(
-			new ItemListener() {
-				public void itemStateChanged(ItemEvent e) {
-					if (e.getStateChange() == ItemEvent.SELECTED) {
-						loadDrawing((String)e.getItem());
-					}
-				}
-			}
-		);
-
-		panel.add(new Filler(6,20));
-
-		JButton button;
-		button = new CommandButton(new DeleteCommand("Delete", this));
-		panel.add(button);
-
-		button = new CommandButton(new DuplicateCommand("Duplicate", this));
-		panel.add(button);
-
-		button = new CommandButton(new GroupCommand("Group", this));
-		panel.add(button);
-
-		button = new CommandButton(new UngroupCommand("Ungroup", this));
-		panel.add(button);
-
-		button = new JButton("Help");
-		button.addActionListener(
-			new ActionListener() {
-				public void actionPerformed(ActionEvent event) {
-					showHelp();
-				}
-			}
-		);
-		panel.add(button);
-
-		fUpdateButton = new JButton("Simple Update");
-		fUpdateButton.addActionListener(
-			new ActionListener() {
-				public void actionPerformed(ActionEvent event) {
-					if (fSimpleUpdate) {
-						setBufferedDisplayUpdate();
-					}
-					else {
-						setSimpleDisplayUpdate();
-					}
-				}
-			}
-		);
-
-		// panel.add(fUpdateButton); // not shown currently
-	}
-
-	/**
-	 * Creates the tools palette.
-	 */
-	protected JPanel createToolPalette() {
-		JPanel palette = new JPanel();
-		palette.setLayout(new PaletteLayout(2,new Point(2,2)));
-		return palette;
-	}
-
-	/**
-	 * Creates the tools. By default only the selection tool is added.
-	 * Override this method to add additional tools.
-	 * Call the inherited method to include the selection tool.
-	 * @param palette the palette where the tools are added.
-	 */
-	protected void createTools(JPanel palette) {
-		Tool tool = createSelectionTool();
-
-		fDefaultToolButton = createToolButton(IMAGES + "SEL", "Selection Tool", tool);
-		palette.add(fDefaultToolButton);
-	}
-
-	/**
-	 * Creates the selection tool used in this editor. Override to use
-	 * a custom selection tool.
-	 */
-	protected Tool createSelectionTool() {
-		return new SelectionTool(this);
-	}
-
-	/**
-	 * Creates a tool button with the given image, tool, and text
-	 */
-	protected ToolButton createToolButton(String iconName, String toolName, Tool tool) {
-		return new ToolButton(this, iconName, toolName, tool);
-	}
-
-	/**
-	 * Creates the drawing used in this application.
-	 * You need to override this method to use a Drawing
-	 * subclass in your application. By default a standard
-	 * Drawing is returned.
-	 */
-	protected Drawing createDrawing() {
-		return new StandardDrawing();
-	}
-
-	/**
-	 * Creates the drawing view used in this application.
-	 * You need to override this method to use a DrawingView
-	 * subclass in your application. By default a standard
-	 * DrawingView is returned.
-	 */
-	protected DrawingView createDrawingView() {
-		return new StandardDrawingView(this, 410, 370);
-	}
-
-	/**
-	 * Handles a user selection in the palette.
-	 * @see PaletteListener
-	 */
-	public void paletteUserSelected(PaletteButton button) {
-		ToolButton toolButton = (ToolButton) button;
-		setTool(toolButton.tool(), toolButton.name());
-		setSelected(toolButton);
-	}
-
-	/**
-	 * Handles when the mouse enters or leaves a palette button.
-	 * @see PaletteListener
-	 */
-	public void paletteUserOver(PaletteButton button, boolean inside) {
-		if (inside) {
-			showStatus(button.name());
-		}
-		else if (fSelectedToolButton != null) {
-			showStatus(fSelectedToolButton.name());
-		}
-	}
-
-	/**
-	 * Gets the current drawing.
-	 * @see DrawingEditor
-	 */
-	public Drawing drawing() {
-		return fDrawing;
-	}
-
-	/**
-	 * Gets the current tool.
-	 * @see DrawingEditor
-	 */
-	public Tool tool() {
-		return fTool;
-	}
-
-	/**
-	 * Gets the current drawing view.
-	 * @see DrawingEditor
-	 */
-	public DrawingView view() {
-		return fView;
-	}
-
-	public DrawingView[] views() {
-		return new DrawingView[] { view() } ;
-	}
-
-	/**
-	 * Sets the default tool of the editor.
-	 * @see DrawingEditor
-	 */
-	public void toolDone() {
-		setTool(fDefaultToolButton.tool(), fDefaultToolButton.name());
-		setSelected(fDefaultToolButton);
-	}
-
-	/**
-	 * Handles a change of the current selection. Updates all
-	 * menu items that are selection sensitive.
-	 * @see DrawingEditor
-	 */
-	public void figureSelectionChanged(DrawingView view) {
-		setupAttributes();
-	}
-
-	public void viewSelectionChanged(DrawingView oldView, DrawingView newView) {
-	}
-
-	private void initDrawing() {
-		fDrawing = createDrawing();
-		view().setDrawing(fDrawing);
-		toolDone();
-	}
-
-	private void setTool(Tool t, String name) {
-		if (fTool != null) {
-			fTool.deactivate();
-		}
-		fTool = t;
-		if (fTool != null) {
-			showStatus(name);
-			fTool.activate();
-		}
-	}
-
-	private void setSelected(ToolButton button) {
-		if (fSelectedToolButton != null) {
-			fSelectedToolButton.reset();
-		}
-		fSelectedToolButton = button;
-		if (fSelectedToolButton != null) {
-			fSelectedToolButton.select();
-		}
-	}
-
-	protected void loadDrawing(String param) {
-		if (param == fgUntitled) {
-			fDrawing.release();
-			initDrawing();
-			return;
-		}
-
-		String filename = getParameter(param);
-		if (filename != null) {
-			readDrawing(filename);
-		}
-	}
-
-	private void readDrawing(String filename) {
-		toolDone();
-		String type = guessType(filename);
-		if (type.equals("storable")) {
-			readFromStorableInput(filename);
-		}
-		else if (type.equals("serialized")) {
-			readFromObjectInput(filename);
-		}
-		else {
-			showStatus("Unknown file type");
-		}
-	}
-
-	private void readFromStorableInput(String filename) {
-		try {
-			URL url = new URL(getCodeBase(), filename);
-			InputStream stream = url.openStream();
-			StorableInput input = new StorableInput(stream);
-			fDrawing.release();
-
-			fDrawing = (Drawing)input.readStorable();
-			view().setDrawing(fDrawing);
-		}
-		catch (IOException e) {
-			initDrawing();
-			showStatus("Error:" + e);
-		}
-	}
-
-	private void readFromObjectInput(String filename) {
-		try {
-			URL url = new URL(getCodeBase(), filename);
-			InputStream stream = url.openStream();
-			ObjectInput input = new ObjectInputStream(stream);
-			fDrawing.release();
-			fDrawing = (Drawing)input.readObject();
-			view().setDrawing(fDrawing);
-		}
-		catch (IOException e) {
-			initDrawing();
-			showStatus("Error: " + e);
-		}
-		catch (ClassNotFoundException e) {
-			initDrawing();
-			showStatus("Class not found: " + e);
-		}
-	}
-
-	private String guessType(String file) {
-		if (file.endsWith(".draw")) {
-			return "storable";
-		}
-		if (file.endsWith(".ser")) {
-			return "serialized";
-		}
-		return "unknown";
-	}
-
-	private void setupAttributes() {
-		Color   frameColor = (Color)   AttributeFigure.getDefaultAttribute(FigureAttributeConstant.FRAME_COLOR);
-		Color   fillColor  = (Color)   AttributeFigure.getDefaultAttribute(FigureAttributeConstant.FILL_COLOR);
-		//Color   textColor  = (Color)   AttributeFigure.getDefaultAttribute(FigureAttributeConstant.TEXT_COLOR);
-		Integer arrowMode  = (Integer) AttributeFigure.getDefaultAttribute(FigureAttributeConstant.ARROW_MODE);
-		String  fontName   = (String)  AttributeFigure.getDefaultAttribute(FigureAttributeConstant.FONT_NAME);
-
-		FigureEnumeration fe = view().selection();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-			frameColor = (Color) f.getAttribute(FigureAttributeConstant.FRAME_COLOR);
-			fillColor  = (Color) f.getAttribute(FigureAttributeConstant.FILL_COLOR);
-			//textColor  = (Color) f.getAttribute(FigureAttributeConstant.TEXT_COLOR);
-			arrowMode  = (Integer) f.getAttribute(FigureAttributeConstant.ARROW_MODE);
-			fontName   = (String) f.getAttribute(FigureAttributeConstant.FONT_NAME);
-		}
-
-		fFrameColor.setSelectedIndex(ColorMap.colorIndex(frameColor));
-		fFillColor.setSelectedIndex(ColorMap.colorIndex(fillColor));
-		//fTextColor.select(ColorMap.colorIndex(textColor));
-		if (arrowMode != null) {
-			fArrowChoice.setSelectedIndex(arrowMode.intValue());
-		}
-		if (fontName != null) {
-			fFontChoice.setSelectedItem(fontName);
-		}
-	}
-
-	protected void setSimpleDisplayUpdate() {
-		view().setDisplayUpdate(new SimpleUpdateStrategy());
-		fUpdateButton.setText("Simple Update");
-		fSimpleUpdate = true;
-	}
-
-	protected void setBufferedDisplayUpdate() {
-		view().setDisplayUpdate(new BufferedUpdateStrategy());
-		fUpdateButton.setText("Buffered Update");
-		fSimpleUpdate = false;
-	}
-
-	/**
-	 * Shows a help page for the applet. The URL of the help
-	 * page is derived as follows: codeBase+appletClassname+Help.html"
-	 */
-	protected void showHelp() {
-		try {
-			String appletPath = getClass().getName().replace('.', '/');
-			URL url = new URL(getCodeBase(), appletPath + "Help.html");
-			getAppletContext().showDocument(url, "Help");
-		}
-		catch (IOException e) {
-			showStatus("Help file not found");
-		}
-
-	}
-
-	protected void setUndoManager(UndoManager newUndoManager) {
-		myUndoManager = newUndoManager;
-	}
-
-	public UndoManager getUndoManager() {
-		return myUndoManager;
-	}
-
-	protected VersionControlStrategy getVersionControlStrategy() {
-		return new StandardVersionControlStrategy(this);
-	}
-
-	/**
-	 * Subclasses should override this method to specify to which versions of
-	 * JHotDraw they are compatible. A string array is returned so it is possible
-	 * to specify several version numbers of JHotDraw to which the application
-	 * is compatible with.
-	 *
-	 * @return all versions number of JHotDraw the application is compatible with.
-	 */
-	public String[] getRequiredVersions() {
-		String[] requiredVersions = new String[1];
-		// return the version of the package we are in
-		requiredVersions[0] = VersionManagement.getPackageVersion(DrawApplet.class.getPackage());
-		return requiredVersions;
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/application/DrawApplication.java b/JHotDraw/src/CH/ifa/draw/application/DrawApplication.java
deleted file mode 100644
index b4d091856..000000000
--- a/JHotDraw/src/CH/ifa/draw/application/DrawApplication.java
+++ /dev/null
@@ -1,1174 +0,0 @@
-/*
- * @(#)DrawApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.application;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.contrib.*;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
-import java.util.ListIterator;
-
-/**
- * DrawApplication defines a standard presentation for
- * standalone drawing editors. The presentation is
- * customized in subclasses.
- * The application is started as follows:
- * <pre>
- * public static void main(String[] args) {
- *     MayDrawApp window = new MyDrawApp();
- *     window.open();
- * }
- * </pre>
- *
- * @version <$CURRENT_VERSION$>
- */
-public	class DrawApplication
-		extends JFrame
-		implements DrawingEditor, PaletteListener, VersionRequester {
-
-	private Tool					fTool;
-	private Iconkit					fIconkit;
-
-	private JTextField				fStatusLine;
-	private DrawingView				fView;
-	private ToolButton				fDefaultToolButton;
-	private ToolButton				fSelectedToolButton;
-
-	private String					fApplicationName;
-	private StorageFormatManager	fStorageFormatManager;
-	private UndoManager				myUndoManager;
-	protected static String			fgUntitled = "untitled";
-	/**
-	 * List is not thread safe, but should not need to be.  If it does we can 
-	 * safely synchronize the few methods that use this by synchronizing on 
-	 * the List object itself.
-	 */
-	private java.util.List			listeners;
-	private DesktopListener     fDesktopListener;
-
-	/**
-	 * This component acts as a desktop for the content.
-	 */
-	private Desktop              fDesktop;
-
-	// the image resource path
-	private static final String		fgDrawPath = "/CH/ifa/draw/";
-	public static final String		IMAGES = fgDrawPath + "images/";
-	protected static int 			winCount = 0;
-
-	/**
-	 * The index of the file menu in the menu bar.
-	 */
-	public static final int			FILE_MENU = 0;
-	/**
-	 * The index of the edit menu in the menu bar.
-	 */
-	public static final int			EDIT_MENU = 1;
-	/**
-	 * The index of the alignment menu in the menu bar.
-	 */
-	public static final int			ALIGNMENT_MENU = 2;
-	/**
-	 * The index of the attributes menu in the menu bar.
-	 */
-	public static final int			ATTRIBUTES_MENU = 3;
-
-	/**
-	 * Constructs a drawing window with a default title.
-	 */
-	public DrawApplication() {
-		this("JHotDraw");
-	}
-
-	/**
-	 * Constructs a drawing window with the given title.
-	 */
-	public DrawApplication(String title) {
-		super(title);
-		listeners = CollectionsFactory.current().createList();
-		setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
-		setApplicationName(title);
-	}
-
-	/**
-	 * Factory method which can be overriden by subclasses to
-	 * create an instance of their type.
-	 *
-	 * @return	newly created application
-	 */
-	protected DrawApplication createApplication() {
-		return new DrawApplication();
-	}
-
-	/**
-	 * Open a new view for this application containing a
-	 * view of the drawing of the currently activated window.
-	 */
-	public void newView() {
-		if (view() == null) {
-			return;
-		}
-		DrawApplication window = createApplication();
-		window.open(view());
-		if (view().drawing().getTitle() != null ) {
-			window.setDrawingTitle(view().drawing().getTitle() + " (View)");
-		}
-		else {
-			window.setDrawingTitle(getDefaultDrawingTitle() + " (View)");
-		}
-	}
-
-	/**
-	 * Open a new window for this application containing the passed in drawing,
-	 * or a new drawing if the passed in drawing is null.
-	 */
-	public void newWindow(Drawing initialDrawing) {
-		DrawApplication window = createApplication();
-		if (initialDrawing == null) {
-			window.open();
-		}
-		else {
-			window.open(window.createDrawingView(initialDrawing));
-		}
-	}
-
-	public final void newWindow() {
-        newWindow(createDrawing());
-	}
-
-	/**
-	 * Opens a new window
-	 */
-	public void open() {
-		open(createInitialDrawingView());
-	}
-
-	/**
-	 * Opens a new window with a drawing view.
-	 */
-	protected void open(final DrawingView newDrawingView) {
-		getVersionControlStrategy().assertCompatibleVersion();
-		setUndoManager(new UndoManager());
-		setIconkit(createIconkit());
-		getContentPane().setLayout(new BorderLayout());
-
-		// status line must be created before a tool is set
-		setStatusLine(createStatusLine());
-		getContentPane().add(getStatusLine(), BorderLayout.SOUTH);
-
-		// create dummy tool until the default tool is activated during toolDone()
-		setTool(new NullTool(this), "");
-		setView(newDrawingView);
-
-		JToolBar tools = createToolPalette();
-		createTools(tools);
-
-		JPanel activePanel = new JPanel();
-		activePanel.setAlignmentX(LEFT_ALIGNMENT);
-		activePanel.setAlignmentY(TOP_ALIGNMENT);
-		activePanel.setLayout(new BorderLayout());
-		activePanel.add(tools, BorderLayout.NORTH);
-		setDesktopListener(createDesktopListener());
-		setDesktop(createDesktop());
-		activePanel.add((Component)getDesktop(), BorderLayout.CENTER);
-		getContentPane().add(activePanel, BorderLayout.CENTER);
-
-		JMenuBar mb = new JMenuBar();
-		createMenus(mb);
-		setJMenuBar(mb);
-
-		Dimension d = defaultSize();
-		if (d.width > mb.getPreferredSize().width) {
-			setSize(d.width, d.height);
-		}
-		else {
-			setSize(mb.getPreferredSize().width, d.height);
-		}
-		addListeners();
-		setStorageFormatManager(createStorageFormatManager());
-
-		//no work allowed to be done on GUI outside of AWT thread once
-		//setVislble(true) must be called before drawing added to desktop, else 
-		//DND will fail. on drawing added before with a NPE.  note however that
-		//a nulldrawingView will not fail because it is never really added to the desltop
-		setVisible(true);
-		Runnable r = new Runnable() {
-			public void run() {
-				if (newDrawingView.isInteractive()) {
-					getDesktop().addToDesktop(newDrawingView , Desktop.PRIMARY);
-				}
-				toolDone();
-			}
-		};
-
-		if (java.awt.EventQueue.isDispatchThread() == false) {
-			try {
-				java.awt.EventQueue.invokeAndWait(r);
-			}
-			catch(java.lang.InterruptedException ie) {
-				System.err.println(ie.getMessage());
-				exit();
-			}
-			catch(java.lang.reflect.InvocationTargetException ite) {
-				System.err.println(ite.getMessage());
-				exit();
-			}
-		}
-		else {
-			r.run();
-		}
-
-		toolDone();
-	}
-
-	/**
-	 * Registers the listeners for this window
-	 */
-	protected void addListeners() {
-		addWindowListener(
-			new WindowAdapter() {
-				public void windowClosing(WindowEvent event) {
-					endApp();
-				}
-
-				public void windowOpened(WindowEvent event) {
-					winCount++;
-				}
-
-				public void windowClosed(WindowEvent event) {
-					if (--winCount == 0) {
-						System.exit(0);
-					}
-				}
-			}
-		);
-	}
-
-	/**
-	 * Creates the standard menus. Clients override this
-	 * method to add additional menus.
-	 */
-	protected void createMenus(JMenuBar mb) {
-		addMenuIfPossible(mb, createFileMenu());
-		addMenuIfPossible(mb, createEditMenu());
-		addMenuIfPossible(mb, createAlignmentMenu());
-		addMenuIfPossible(mb, createAttributesMenu());
-		addMenuIfPossible(mb, createDebugMenu());
-	}
-
-	protected void addMenuIfPossible(JMenuBar mb, JMenu newMenu) {
-		if (newMenu != null) {
-			mb.add(newMenu);
-		}
-	}
-
-	/**
-	 * Creates the file menu. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createFileMenu() {
-		CommandMenu menu = new CommandMenu("File");
-		Command cmd = new AbstractCommand("New", this, false) {
-			public void execute() {
-				promptNew();
-			}
-		};
-		menu.add(cmd, new MenuShortcut('n'));
-
-		cmd = new AbstractCommand("Open...", this, false) {
-			public void execute() {
-				promptOpen();
-			}
-		};
-		menu.add(cmd, new MenuShortcut('o'));
-
-		cmd = new AbstractCommand("Save As...", this, true) {
-			public void execute() {
-				promptSaveAs();
-			}
-		};
-		menu.add(cmd, new MenuShortcut('s'));
-		menu.addSeparator();
-
-		cmd = new AbstractCommand("Print...", this, true) {
-			public void execute() {
-				print();
-			}
-		};
-		menu.add(cmd, new MenuShortcut('p'));
-		menu.addSeparator();
-
-		cmd = new AbstractCommand("Exit", this, true) {
-			public void execute() {
-				endApp();
-			}
-		};
-		menu.add(cmd);
-		return menu;
-	}
-
-	/**
-	 * Creates the edit menu. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createEditMenu() {
-		CommandMenu menu = new CommandMenu("Edit");
-		menu.add(new UndoableCommand(
-			new SelectAllCommand("Select All", this)), new MenuShortcut('a'));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(
-			new CutCommand("Cut", this)), new MenuShortcut('x'));
-		menu.add(new CopyCommand("Copy", this), new MenuShortcut('c'));
-		menu.add(new UndoableCommand(
-			new PasteCommand("Paste", this)), new MenuShortcut('v'));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(
-			new DuplicateCommand("Duplicate", this)), new MenuShortcut('d'));
-		menu.add(new UndoableCommand(new DeleteCommand("Delete", this)));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(new GroupCommand("Group", this)));
-		menu.add(new UndoableCommand(new UngroupCommand("Ungroup", this)));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(new SendToBackCommand("Send to Back", this)));
-		menu.add(new UndoableCommand(new BringToFrontCommand("Bring to Front", this)));
-		menu.addSeparator();
-		menu.add(new UndoCommand("Undo Command", this));
-		menu.add(new RedoCommand("Redo Command", this));
-		return menu;
-	}
-
-	/**
-	 * Creates the alignment menu. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createAlignmentMenu() {
-		CommandMenu menu = new CommandMenu("Align");
-		menu.addCheckItem(new ToggleGridCommand("Toggle Snap to Grid", this, new Point(4,4)));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.LEFTS, this)));
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.CENTERS, this)));
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.RIGHTS, this)));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.TOPS, this)));
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.MIDDLES, this)));
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.BOTTOMS, this)));
-		return menu;
-	}
-
-	/**
-	 * Creates the debug menu. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createDebugMenu() {
-		CommandMenu menu = new CommandMenu("Debug");
-
-		Command cmd = new AbstractCommand("Simple Update", this) {
-			public void execute() {
-				this.view().setDisplayUpdate(new SimpleUpdateStrategy());
-			}
-		};
-		menu.add(cmd);
-
-		cmd = new AbstractCommand("Buffered Update", this) {
-			public void execute() {
-				this.view().setDisplayUpdate(new BufferedUpdateStrategy());
-			}
-		};
-		menu.add(cmd);
-		return menu;
-	}
-
-	/**
-	 * Creates the attributes menu and its submenus. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createAttributesMenu() {
-		JMenu menu = new JMenu("Attributes");
-		menu.add(createColorMenu("Fill Color", FigureAttributeConstant.FILL_COLOR));
-		menu.add(createColorMenu("Pen Color", FigureAttributeConstant.FRAME_COLOR));
-		menu.add(createArrowMenu());
-		menu.addSeparator();
-		menu.add(createFontMenu());
-		menu.add(createFontSizeMenu());
-		menu.add(createFontStyleMenu());
-		menu.add(createColorMenu("Text Color", FigureAttributeConstant.TEXT_COLOR));
-		return menu;
-	}
-
-	/**
-	 * Creates the color menu.
-	 */
-	protected JMenu createColorMenu(String title, FigureAttributeConstant attribute) {
-		CommandMenu menu = new CommandMenu(title);
-		for (int i=0; i<ColorMap.size(); i++)
-			menu.add(
-				new UndoableCommand(
-					new ChangeAttributeCommand(
-						ColorMap.name(i),
-						attribute,
-						ColorMap.color(i),
-						this
-					)
-				)
-			);
-		return menu;
-	}
-
-	/**
-	 * Creates the arrows menu.
-	 */
-	protected JMenu createArrowMenu() {
-		FigureAttributeConstant arrowMode = FigureAttributeConstant.ARROW_MODE;
-		CommandMenu menu = new CommandMenu("Arrow");
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("none", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_NONE), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("at Start", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_START), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("at End", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_END), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("at Both", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_BOTH), this)));
-		return menu;
-	}
-
-	/**
-	 * Creates the fonts menus. It installs all available fonts
-	 * supported by the toolkit implementation.
-	 */
-	protected JMenu createFontMenu() {
-		CommandMenu menu = new CommandMenu("Font");
-		String fonts[] = Toolkit.getDefaultToolkit().getFontList();
-		for (int i = 0; i < fonts.length; i++) {
-			menu.add(new UndoableCommand(
-				new ChangeAttributeCommand(fonts[i], FigureAttributeConstant.FONT_NAME, fonts[i],  this)));
-		}
-		return menu;
-	}
-
-	/**
-	 * Creates the font style menu with entries (Plain, Italic, Bold).
-	 */
-	protected JMenu createFontStyleMenu() {
-		FigureAttributeConstant fontStyle = FigureAttributeConstant.FONT_STYLE;
-		CommandMenu menu = new CommandMenu("Font Style");
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("Plain", fontStyle, new Integer(Font.PLAIN), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("Italic", fontStyle, new Integer(Font.ITALIC), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("Bold", fontStyle, new Integer(Font.BOLD), this)));
-		return menu;
-	}
-
-	/**
-	 * Creates the font size menu.
-	 */
-	protected JMenu createFontSizeMenu() {
-		CommandMenu menu = new CommandMenu("Font Size");
-		int sizes[] = { 9, 10, 12, 14, 18, 24, 36, 48, 72 };
-		for (int i = 0; i < sizes.length; i++) {
-		   menu.add(
-				new UndoableCommand(
-					new ChangeAttributeCommand(
-						Integer.toString(sizes[i]),
-						FigureAttributeConstant.FONT_SIZE,
-						new Integer(sizes[i]),
-						this
-					)
-				)
-			);
-		}
-		return menu;
-	}
-
-	/**
-	 * Create a menu which allows the user to select a different look and feel at runtime.
-	 */
-	public JMenu createLookAndFeelMenu() {
-		CommandMenu menu = new CommandMenu("Look'n'Feel");
-
-		UIManager.LookAndFeelInfo[] lafs = UIManager.getInstalledLookAndFeels();
-
-		for (int i = 0; i < lafs.length; i++) {
-			final String lnfClassName = lafs[i].getClassName();
-			Command cmd = new AbstractCommand(lafs[i].getName(), this) {
-				public void execute() {
-					newLookAndFeel(lnfClassName);
-				}
-			};
-			menu.add(cmd);
-		}
-		return menu;
-	}
-
-	/**
-	 * Creates the tool palette.
-	 */
-	protected JToolBar createToolPalette() {
-		JToolBar palette = new JToolBar();
-		palette.setBackground(Color.lightGray);
-		// use standard FlowLayout for JToolBar
-		// palette.setLayout(new PaletteLayout(2,new Point(2,2)));
-		return palette;
-	}
-
-	/**
-	 * Creates the tools. By default only the selection tool is added.
-	 * Override this method to add additional tools.
-	 * Call the inherited method to include the selection tool.
-	 * @param palette the palette where the tools are added.
-	 */
-	protected void createTools(JToolBar palette) {
-		setDefaultTool(createDefaultTool());
-		palette.add(fDefaultToolButton);
-	}
-
-	/**
-	 * Creates the selection tool used in this editor. Override to use
-	 * a custom selection tool.
-	 */
-	protected Tool createSelectionTool() {
-		return new SelectionTool(this);
-	}
-
-	protected Tool createDefaultTool() {
-		return createSelectionTool();
-	}
-
-	protected void setDefaultTool(Tool newDefaultTool) {
-		if (newDefaultTool != null) {
-			fDefaultToolButton = createToolButton(IMAGES+"SEL", "Selection Tool", newDefaultTool);
-		}
-		else {
-			fDefaultToolButton = null;
-		}
-	}
-
-	public Tool getDefaultTool() {
-		if (fDefaultToolButton != null) {
-			return fDefaultToolButton.tool();
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Creates a tool button with the given image, tool, and text
-	 */
-	protected ToolButton createToolButton(String iconName, String toolName, Tool tool) {
-		return new ToolButton(this, iconName, toolName, tool);
-	}
-
-	/**
-	 * Creates the drawing view used in this application.
-	 * You need to override this method to use a DrawingView
-	 * subclass in your application. By default a standard
-	 * DrawingView is returned.
-	 */
-	protected DrawingView createDrawingView() {
-		DrawingView createdDrawingView = createDrawingView(createDrawing());
-		createdDrawingView.drawing().setTitle(getDefaultDrawingTitle());
-		return createdDrawingView;
-	}
-
-	protected DrawingView createDrawingView(Drawing newDrawing) {
-		Dimension d = getDrawingViewSize();
-		DrawingView newDrawingView = new StandardDrawingView(this, d.width, d.height);
-		newDrawingView.setDrawing(newDrawing);
-		// notify listeners about created view when the view is added to the desktop
-		//fireViewCreatedEvent(newDrawingView);
-		return newDrawingView;
-	}
-
-	/**
-	 * Create the DrawingView that is active when the application is started.
-	 * This initial DrawingView might be different from DrawingView created
-	 * by the application, so subclasses can override this method to provide
-	 * a special drawing view for application startup time, e.g. a NullDrawingView
-	 * which does not display an internal frame in a multiple document interface
-	 * (MDI) application.
-	 *
-	 * @return drawing view that is active at application startup time
-	 */
-	protected DrawingView createInitialDrawingView() {
-		return createDrawingView();
-	}
-
-	/**
-	 * Override to define the dimensions of the drawing view.
-	 */
-	protected Dimension getDrawingViewSize() {
-		return new Dimension(800, 800);
-	}
-
-	/**
-	 * Creates the drawing used in this application.
-	 * You need to override this method to use a Drawing
-	 * subclass in your application. By default a standard
-	 * Drawing is returned.
-	 */
-	protected Drawing createDrawing() {
-		return new StandardDrawing();
-	}
-
-	protected Desktop createDesktop() {
-		return new JPanelDesktop(this);
-//		return new JScrollPaneDesktop();
-	}
-
-	protected void setDesktop(Desktop newDesktop) {
-		newDesktop.addDesktopListener(getDesktopListener());
-		fDesktop = newDesktop;
-	}
-
-	/**
-	* Get the component, in which the content is embedded. This component
-	* acts as a desktop for the content.
-	*/
-	public Desktop getDesktop() {
-		return fDesktop;
-	}
-
-	/**
-	 * Factory method to create a StorageFormatManager for supported storage formats.
-	 * Different applications might want to use different storage formats and can return
-	 * their own format manager by overriding this method.
-	 */
-	public StorageFormatManager createStorageFormatManager() {
-		StorageFormatManager storageFormatManager = new StorageFormatManager();
-		storageFormatManager.setDefaultStorageFormat(new StandardStorageFormat());
-		storageFormatManager.addStorageFormat(storageFormatManager.getDefaultStorageFormat());
-		storageFormatManager.addStorageFormat(new SerializationStorageFormat());
-//		storageFormatManager.addStorageFormat(new JDOStorageFormat());
-		return storageFormatManager;
-	}
-
-	/**
-	 * Set the StorageFormatManager. The StorageFormatManager is used when storing and
-	 * restoring Drawing from the file system.
-	 */
-	protected final void setStorageFormatManager(StorageFormatManager newStorageFormatManager) {
-		fStorageFormatManager = newStorageFormatManager;
-	}
-
-	/**
-	 * Return the StorageFormatManager for this application.The StorageFormatManager is
-	 * used when storing and restoring Drawing from the file system.
-	 */
-	public StorageFormatManager getStorageFormatManager() {
-		return fStorageFormatManager;
-	}
-
-	/**
-	 * Gets the default size of the window.
-	 */
-	protected Dimension defaultSize() {
-		return new Dimension(600,450);
-	}
-
-	/**
-	 * Creates the status line.
-	 */
-	protected JTextField createStatusLine() {
-		JTextField field = new JTextField("No Tool", 40);
-		field.setBackground(Color.white);
-		field.setEditable(false);
-		return field;
-	}
-
-	private void setStatusLine(JTextField newStatusLine) {
-		fStatusLine = newStatusLine;
-	}
-
-	protected JTextField getStatusLine() {
-		return fStatusLine;
-	}
-
-	/**
-	 * Handles a user selection in the palette.
-	 * @see PaletteListener
-	 */
-	public void paletteUserSelected(PaletteButton paletteButton) {
-		ToolButton toolButton = (ToolButton)paletteButton;
-		setTool(toolButton.tool(), toolButton.name());
-		setSelected(toolButton);
-	}
-
-	/**
-	 * Handles when the mouse enters or leaves a palette button.
-	 * @see PaletteListener
-	 */
-	public void paletteUserOver(PaletteButton paletteButton, boolean inside) {
-		ToolButton toolButton = (ToolButton)paletteButton;
-		if (inside) {
-			showStatus(toolButton.name());
-		}
-		else if (fSelectedToolButton != null) {
-			showStatus(fSelectedToolButton.name());
-		}
-	}
-
-	/**
-	 * Gets the current tool.
-	 * @see DrawingEditor
-	 */
-	public Tool tool() {
-		return fTool;
-	}
-
-	/**
-	 * Retrieve the active view from the window
-	 * Gets the current drawing view.
-	 * @see DrawingEditor
-	 */
-	public DrawingView view() {
-		return fView;
-	}
-
-	protected void setView(DrawingView newView) {
-		DrawingView oldView = fView;
-		fView = newView;
-		fireViewSelectionChangedEvent(oldView, view());
-	}
-
-	public DrawingView[] views() {
-		return new DrawingView[] { view() };
-	}
-
-	/**
-	 * Sets the default tool of the editor.
-	 * @see DrawingEditor
-	 */
-	public void toolDone() {
-		System.out.println("ToolDone");
-		if (fDefaultToolButton != null) {
-			setTool(fDefaultToolButton.tool(), fDefaultToolButton.name());
-			setSelected(fDefaultToolButton);
-		}
-	}
-
-	/**
-	 * Fired by a view when the figure selection changes.  Since Commands and
-	 * Tools may depend on the figure selection they are registered to be notified
-	 * about these events.
-	 * Any selection sensitive GUI component should update its
-	 * own state if the selection has changed, e.g. selection sensitive menuitems
-	 * will update their own states.
-	 * @see DrawingEditor
-	 */
-	public void figureSelectionChanged(DrawingView view) {
-		checkCommandMenus();
-	}
-
-	protected void checkCommandMenus() {
-		JMenuBar mb = getJMenuBar();
-
-		for (int x = 0; x < mb.getMenuCount(); x++) {
-		    JMenu jm = mb.getMenu(x);
-			if (CommandMenu.class.isInstance(jm)) {
-				checkCommandMenu((CommandMenu)jm);
-			}
-		}
-	}
-
-	protected void checkCommandMenu(CommandMenu cm) {
-		cm.checkEnabled();
-		for (int y = 0; y < cm.getItemCount();y++) {
-			JMenuItem jmi = cm.getItem(y);
-			if (CommandMenu.class.isInstance(jmi)) {
-				checkCommandMenu((CommandMenu)jmi);
-			}
-		}
-	}
-
-	/**
-	 * Register to hear when the active view is changed.  For Single document
-	 * interface, this will happen when a new drawing is created.
-	 */
-	public void addViewChangeListener(ViewChangeListener vsl) {
-		listeners.add(vsl);
-	}
-
-	/**
-	 * Remove listener
-	 */
-	public void removeViewChangeListener(ViewChangeListener vsl) {
-		listeners.remove(vsl);
-	}
-
-	/**
-	 * An appropriate event is triggered and all registered observers
-	 * are notified if the drawing view has been changed, e.g. by
-	 * switching between several internal frames.  This method is
-	 * usually not needed in SDI environments.
-	 */
-	protected void fireViewSelectionChangedEvent(DrawingView oldView, DrawingView newView) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		while (li.hasPrevious()) {
-			ViewChangeListener vsl = (ViewChangeListener)li.previous();
-			vsl.viewSelectionChanged(oldView, newView);
-		}
-	}
-
-	protected void fireViewCreatedEvent(DrawingView view) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		while (li.hasPrevious()) {
-			ViewChangeListener vsl = (ViewChangeListener)li.previous();
-			vsl.viewCreated(view);
-		}
-	}
-
-	protected void fireViewDestroyingEvent(DrawingView view) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		while (li.hasPrevious()) {
-			ViewChangeListener vsl = (ViewChangeListener)li.previous();
-			vsl.viewDestroying( view );
-		}
-	}
-
-	/**
-	 * Shows a status message.
-	 * @see DrawingEditor
-	 */
-	public void showStatus(String string) {
-		getStatusLine().setText(string);
-	}
-
-	/**
-	 * Note: it is inconsistent to directly assign a variable but when using it
-	 * use it from a method.  (assignment:  fTool = t, usage: tool()) dnoyeB-4/8/02
-	 * Note:  should we check that the tool is inactive before we activate it?
-	 * this would be consistent with how we do deactivate.  I think we should do
-	 * this now and not wait till a bug pops up. even if their is no bug, its
-	 * consistent and adds understandability to the code.  dnoyeB-4/8/02
-	 */
-	public void setTool(Tool t, String name) {
-		// SF bug-tracker id: #490665
-
-		// deactivate only those tools that have been activated before
-		if ((tool() != null) && (tool().isActive())) {
-			tool().deactivate();
-		}
-		fTool = t;
-		if (tool() != null) {
-			showStatus(name);
-			tool().activate();
-		}
-	}
-
-	private void setSelected(ToolButton button) {
-		if (fSelectedToolButton != null) {
-			fSelectedToolButton.reset();
-		}
-		fSelectedToolButton = button;
-		if (fSelectedToolButton != null) {
-			fSelectedToolButton.select();
-		}
-	}
-
-	/**
-	 * Exits the application. You should never override this method
-	 */
-	public void exit() {
-		destroy();
-	   // tell windowing system to free resources
-		dispose();	
-	}
-
-	protected boolean closeQuery(){
-		return true;
-	}
-
-	protected void endApp(){
-		if(closeQuery() == true) {
-			exit();
-		}
-	}
-	/**
-	 * Handles additional clean up operations. Override to destroy
-	 * or release drawing editor resources.
-	 */
-	protected void destroy() {
-	}
-
-	/**
-	 * Resets the drawing to a new empty drawing.
-	 */
-	public void promptNew() {
-		newWindow(createDrawing());
-		//toolDone();
-		//view().setDrawing(createDrawing());
-	}
-
-	/**
-	 * Shows a file dialog and opens a drawing.
-	 */
-	public void promptOpen() {
-		toolDone();
-		JFileChooser openDialog = createOpenFileChooser();
-		getStorageFormatManager().registerFileFilters(openDialog);
-		if (openDialog.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
-			StorageFormat foundFormat = getStorageFormatManager().findStorageFormat(openDialog.getFileFilter());
-			// ricardo_padilha: if there is no format associated,
-			// try to find one that supports the file
-			if (foundFormat == null) {
-				foundFormat = getStorageFormatManager().findStorageFormat(openDialog.getSelectedFile());
-			}
-			if (foundFormat != null) {
-				loadDrawing(foundFormat, openDialog.getSelectedFile().getAbsolutePath());
-			}
-			else {
-				showStatus("Not a valid file format: " + openDialog.getFileFilter().getDescription());
-			}
-		}
-	}
-
-	/**
-	 * Shows a file dialog and saves drawing.
-	 */
-	public void promptSaveAs() {
-		if (view() != null) {
-			toolDone();
-			JFileChooser saveDialog = createSaveFileChooser();
-			getStorageFormatManager().registerFileFilters(saveDialog);
-
-			if (saveDialog.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
-				StorageFormat foundFormat = getStorageFormatManager().findStorageFormat(saveDialog.getFileFilter());
-				// ricardo_padilha: if there is no format associated,
-				// try to find one that supports the file
-				if (foundFormat == null) {
-					foundFormat = getStorageFormatManager().findStorageFormat(saveDialog.getSelectedFile());
-				}
-				if (foundFormat != null) {
-					saveDrawing(foundFormat, saveDialog.getSelectedFile().getAbsolutePath());
-				}
-				else {
-					showStatus("Not a valid file format: " + saveDialog.getFileFilter().getDescription());
-				}
-			}
-		}
-	}
-
-	/**
-	 * Create a file chooser for the open file dialog. Subclasses may override this
-	 * method in order to customize the open file dialog.
-	 */
-	protected JFileChooser createOpenFileChooser() {
-		JFileChooser openDialog = new JFileChooser();
-		openDialog.setDialogType(JFileChooser.OPEN_DIALOG);
-		openDialog.setDialogTitle("Open File...");
-		return openDialog;
-	}
-
-	/**
-	 * Create a file chooser for the save file dialog. Subclasses may override this
-	 * method in order to customize the save file dialog.
-	 */
-	protected JFileChooser createSaveFileChooser() {
-		JFileChooser saveDialog = new JFileChooser();
-		saveDialog.setDialogType(JFileChooser.SAVE_DIALOG);
-		saveDialog.setDialogTitle("Save File...");
-		return saveDialog;
-	}
-
-	/**
-	 * Prints the drawing.
-	 */
-	public void print() {
-		tool().deactivate();
-		PrintJob printJob = getToolkit().getPrintJob(this, "Print Drawing", null);
-
-		if (printJob != null) {
-			Graphics pg = printJob.getGraphics();
-
-			if (pg != null) {
-				((StandardDrawingView)view()).printAll(pg);
-				pg.dispose(); // flush page
-			}
-			printJob.end();
-		}
-		tool().activate();
-	}
-
-	/**
-	 * Save a Drawing in a file
-	 */
-	protected void saveDrawing(StorageFormat storeFormat, String file) {
-		// Need a better alert than this.
-		if (view() == null) {
-			return;
-		}
-		try {
-			String name = storeFormat.store(file, view().drawing());
-			view().drawing().setTitle(name);
-			setDrawingTitle(name);
-		}
-		catch (IOException e) {
-			showStatus(e.toString());
-		}
-	}
-
-	/**
-	 * Load a Drawing from a file
-	 */
-	protected void loadDrawing(StorageFormat restoreFormat, String file) {
-		try {
-			Drawing restoredDrawing = restoreFormat.restore(file);
-			if (restoredDrawing != null) {
-				restoredDrawing.setTitle(file);
-				newWindow(restoredDrawing);
-			}
-			else {
-			   showStatus("Unknown file type: could not open file '" + file + "'");
-			}
-		}
-		catch (IOException e) {
-			showStatus("Error: " + e);
-		}
-	}
-
-	/**
-	 * Switch to a new Look&Feel
-	 */
-	private void newLookAndFeel(String landf) {
-		try {
-			UIManager.setLookAndFeel(landf);
-			SwingUtilities.updateComponentTreeUI(this);
-		}
-		catch (Exception e) {
-			System.err.println(e);
-		}
-	}
-
-	/**
-	 * Set the title of the currently selected drawing
-	 */
-	protected void setDrawingTitle(String drawingTitle) {
-		if (getDefaultDrawingTitle().equals(drawingTitle)) {
-			setTitle(getApplicationName());
-		}
-		else {
-			setTitle(getApplicationName() + " - " + drawingTitle);
-		}
-	}
-
-	/**
-	 * Return the title of the currently selected drawing
-	 */
-	protected String getDrawingTitle() {
-		return view().drawing().getTitle();
-	}
-
-	/**
-	 * Set the name of the application build from this skeleton application
-	 */
-	public void setApplicationName(String applicationName) {
-		fApplicationName = applicationName;
-	}
-
-	/**
-	 * Return the name of the application build from this skeleton application
-	 */
-	public String getApplicationName() {
-		return fApplicationName;
-	}
-
-	protected void setUndoManager(UndoManager newUndoManager) {
-		myUndoManager = newUndoManager;
-	}
-
-	public UndoManager getUndoManager() {
-		return myUndoManager;
-	}
-
-	protected VersionControlStrategy getVersionControlStrategy() {
-		return new StandardVersionControlStrategy(this);
-	}
-
-	/**
-	 * Subclasses should override this method to specify to which versions of
-	 * JHotDraw they are compatible. A string array is returned so it is possible
-	 * to specify several version numbers of JHotDraw to which the application
-	 * is compatible with.
-	 *
-	 * @return all versions number of JHotDraw the application is compatible with.
-	 */
-	public String[] getRequiredVersions() {
-		String[] requiredVersions = new String[1];
-		// return the version of the package we are in
-		requiredVersions[0] = VersionManagement.getPackageVersion(DrawApplication.class.getPackage());
-		return requiredVersions;
-	}
-
-	public String getDefaultDrawingTitle() {
-		return fgUntitled;
-	}
-
-	protected DesktopListener getDesktopListener() {
-		return fDesktopListener;
-	}
-
-	protected void setDesktopListener(DesktopListener desktopPaneListener) {
-		fDesktopListener = desktopPaneListener;
-	}
-
-	protected DesktopListener createDesktopListener() {
-	    return new DesktopListener() {
-			public void drawingViewAdded(DesktopEvent dpe) {
-				DrawingView dv = dpe.getDrawingView();
-				fireViewCreatedEvent(dv);
-			}
-			public void drawingViewRemoved(DesktopEvent dpe) {
-				DrawingView dv = dpe.getDrawingView();
-				// remove undo/redo activities which operate on this DrawingView
-				getUndoManager().clearUndos(dv);
-				getUndoManager().clearRedos(dv);
-				fireViewDestroyingEvent(dv);
-				checkCommandMenus();
-			}
-			public void drawingViewSelected(DesktopEvent dpe) {
-				DrawingView dv = dpe.getDrawingView();
-				//get the current selection and freeze it.
-				if (dv != null) {
-					if (dv.drawing() != null)
-						dv.unfreezeView();
-				}
-				setView(dv);
-			}
-	    };
-	}
-
-	protected Iconkit createIconkit() {
-		return new Iconkit(this);
-	}
-
-	protected void setIconkit(Iconkit newIconkit) {
-		fIconkit = newIconkit;
-	}
-
-	protected Iconkit getIconkit() {
-		return fIconkit;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib.jdo b/JHotDraw/src/CH/ifa/draw/contrib.jdo
deleted file mode 100644
index 78669405d..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib.jdo
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="CH.ifa.draw.contrib">
-<!--
-    <class name="ComponentFigure">
-    </class>
--->
-    <class name="ChopDiamondConnector">
-    </class>
-    <class name="ChopPolygonConnector">
-    </class>
-    <class name="DiamondFigure">
-    </class>
-    <class name="GraphicalCompositeFigure">
-    </class>
-    <class name="PolygonFigure">
-    </class>
-    <class name="TextAreaFigure">
-    </class>
-    <class name="TriangleFigure">
-    </class>
-    <class name="SimpleLayouter">
-		<field name="myInsets">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="StandardLayouter">
-    </class>
-  </package>
-</jdo>
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/AutoscrollHelper.java b/JHotDraw/src/CH/ifa/draw/contrib/AutoscrollHelper.java
deleted file mode 100644
index 00a433061..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/AutoscrollHelper.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * @(#)AutoscrollHelper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.*;
-
-/**
- * A helper class for implementing autoscrolling
- *
- * @author  SourceForge(dnoyeb) aka C.L. Gilbert
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AutoscrollHelper {
-	private int autoscrollMargin = 20;
-	private Insets autoscrollInsets = new Insets(0, 0, 0, 0);
-	public AutoscrollHelper(int margin) {
-		autoscrollMargin = margin;
-	}
-	public void setAutoscrollMargin(int margin) {
-		autoscrollMargin = margin;
-	}
-	public int getAutoscrollMargin() {
-		return autoscrollMargin;
-	}
-
-	/**
-	 * Override this method to call getSize() on your Component
-	 * @see Component#getSize
-	 */
-	public abstract Dimension getSize();
-
-	/**
-	 * Override this method to call getVisibleRect() on your JComponent
-	 * @see javax.swing.JComponent#getVisibleRect
-	 */
-	public abstract Rectangle getVisibleRect();
-
-	/**
-	 * Override this method to call scrollRectToVisible(Rectangle aRect) on
-	 * your component
-	 * @see javax.swing.JComponent#scrollRectToVisible
-	 */
-	public abstract void scrollRectToVisible(Rectangle aRect);
-	/**
-	 * Part of the autoscrolls interface
-	 *
-	 */
-	public void autoscroll(Point location) {
-		//System.out.println("mouse at " + location);
-		int top = 0, left = 0, bottom = 0, right = 0;
-		Dimension size = getSize();
-		Rectangle rect = getVisibleRect();
-		int bottomEdge = rect.y + rect.height;
-		int rightEdge = rect.x + rect.width;
-		if (location.y - rect.y <= autoscrollMargin && rect.y > 0)
-			top = autoscrollMargin;
-		if (location.x - rect.x <= autoscrollMargin && rect.x > 0)
-			left = autoscrollMargin;
-		if (bottomEdge - location.y <= autoscrollMargin && bottomEdge < size.height)
-			bottom = autoscrollMargin;
-		if (rightEdge - location.x <= autoscrollMargin && rightEdge < size.width)
-			right = autoscrollMargin;
-		rect.x += right - left;
-		rect.y += bottom - top;
-		scrollRectToVisible(rect);
-	}
-	public Insets getAutoscrollInsets() {
-		Dimension size = getSize();
-		Rectangle rect = getVisibleRect();
-		autoscrollInsets.top = rect.y + autoscrollMargin;
-		autoscrollInsets.left = rect.x + autoscrollMargin;
-		autoscrollInsets.bottom = size.height - (rect.y + rect.height) + autoscrollMargin;
-		autoscrollInsets.right = size.width - (rect.x + rect.width) + autoscrollMargin;
-		return autoscrollInsets;
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CTXCommandMenu.java b/JHotDraw/src/CH/ifa/draw/contrib/CTXCommandMenu.java
deleted file mode 100644
index f75cc4365..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CTXCommandMenu.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- *  @(#)CommandMenu.java
- *
- *  Project:		JHotdraw - a GUI framework for technical drawings
- *  http://www.jhotdraw.org
- *  http://jhotdraw.sourceforge.net
- *  Copyright:	� by the original author(s) and all contributors
- *  License:		Lesser GNU Public License (LGPL)
- *  http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.*;
-import javax.swing.*;
-
-import CH.ifa.draw.framework.JHotDrawRuntimeException;
-import CH.ifa.draw.util.Command;
-import CH.ifa.draw.util.CommandListener;
-import CH.ifa.draw.util.CommandMenu;
-
-/**
- * A Command enabled menu. Selecting a menu item
- * executes the corresponding command.
- *
- * @author    Eduardo Francos  (adapted from initial implementation by Wolfram Kaiser)
- * @created   2 mai 2002
- * @see       Command
- * @version   <$CURRENT_VERSION$>
- */
-public class CTXCommandMenu extends JMenu implements ActionListener, CommandListener {
-
-	public CTXCommandMenu(String name) {
-		super(name);
-	}
-
-	/**
-	 * Adds a command to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void add(Command command) {
-		addMenuItem(new CommandMenuItem(command));
-	}
-
-	/**
-	 * Adds a command with the given short cut to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void add(Command command, MenuShortcut shortcut) {
-		addMenuItem(new CommandMenuItem(command, shortcut.getKey()));
-	}
-
-	/**
-	 * Adds a command with the given short cut to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void addCheckItem(Command command) {
-		addMenuItem(new CommandCheckBoxMenuItem(command));
-	}
-
-	/**
-	 * Adds a command menu item
-	 *
-	 * @param item  the command menu item
-	 */
-	public synchronized void add(CommandMenuItem item) {
-		addMenuItem(item);
-	}
-
-	/**
-	 * Adds a command checkbox menu item
-	 *
-	 * @param checkItem  the checkbox item
-	 */
-	public synchronized void add(CommandCheckBoxMenuItem checkItem) {
-		addMenuItem(checkItem);
-	}
-
-	/**
-	 * Adds a normal menu item to the menu
-	 *
-	 * @param m  The menu item
-	 */
-	protected void addMenuItem(JMenuItem m) {
-		m.addActionListener(this);
-		add(m);
-		((CommandHolder)m).getCommand().addCommandListener(this);
-	}
-
-	/**
-	 * Removes a command item from the menu
-	 *
-	 * @param command  the command tor emove
-	 */
-	public synchronized void remove(Command command) {
-		throw new JHotDrawRuntimeException("not implemented");
-	}
-
-	/**
-	 * Removes an item from the menu
-	 *
-	 * @param item  the item to remove
-	 */
-	public synchronized void remove(MenuItem item) {
-		throw new JHotDrawRuntimeException("not implemented");
-	}
-
-	/**
-	 * Changes the enabling/disabling state of a named menu item.
-	 *
-	 * @param name   Description of the Parameter
-	 * @param state  Description of the Parameter
-	 */
-	public synchronized void enable(String name, boolean state) {
-		for (int i = 0; i < getItemCount(); i++) {
-			JMenuItem item = getItem(i);
-			if (name.equals(item.getText())) {
-				item.setEnabled(state);
-				return;
-			}
-		}
-	}
-
-	/** Description of the Method */
-	public synchronized void checkEnabled() {
-		int j = 0;
-		for (int i = 0; i < getMenuComponentCount(); i++) {
-			JMenuItem currentItem = getItem(i);
-			if (currentItem instanceof CommandMenu) {
-				((CommandMenu)currentItem).checkEnabled();
-			}
-			else if (currentItem instanceof CTXCommandMenu) {
-				((CTXCommandMenu)currentItem).checkEnabled();
-			}
-			else if (currentItem instanceof CommandHolder) {
-				currentItem.setEnabled(((CommandHolder)currentItem).getCommand().isExecutable());
-			}
-			else if (currentItem instanceof Command) {
-				currentItem.setEnabled(((Command)currentItem).isExecutable());
-			}
-			j++;
-		}
-	}
-
-	/**
-	 * Executes the command.
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void actionPerformed(ActionEvent e) {
-		int j = 0;
-		Object source = e.getSource();
-		for (int i = 0; i < getItemCount(); i++) {
-			// ignore separators
-			// a separator has a hyphen as its label
-			if (getMenuComponent(i) instanceof JSeparator) {
-				continue;
-			}
-			JMenuItem item = getItem(i);
-			if (source == item) {
-				Command cmd = ((CommandHolder)item).getCommand();
-				cmd.execute();
-				break;
-			}
-			j++;
-		}
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param commandEvent  Description of the Parameter
-	 */
-	public void commandExecuted(EventObject commandEvent) {
-//		checkEnabled();
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param commandEvent  Description of the Parameter
-	 */
-	public void commandExecutable(EventObject commandEvent) {
-//		checkEnabled();
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param commandEvent  Description of the Parameter
-	 */
-	public void commandNotExecutable(EventObject commandEvent) {
-//		checkEnabled();
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CTXWindowMenu.java b/JHotDraw/src/CH/ifa/draw/contrib/CTXWindowMenu.java
deleted file mode 100644
index b578fc022..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CTXWindowMenu.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * @(#)CommandMenu.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import java.awt.event.*;
-import java.beans.*;
-import javax.swing.*;
-import javax.swing.event.*;
-
-import CH.ifa.draw.contrib.CTXCommandMenu;
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.standard.AbstractCommand;
-
-/**
- * Menu component that handles the functionality expected of a standard
- * "Windows" menu for MDI applications.
- *
- * @author    Eduardo Francos (adapted from original implementation by Wolfram Kaiser)
- * @created   2 mai 2002
- * @version   <$CURRENT_VERSION$>
- */
-public class CTXWindowMenu extends CTXCommandMenu {
-
-	MDIDesktopPane desktop; //increased visibility to avoid compilation errors
-	private CommandMenuItem cascadeCommand;
-	private CommandMenuItem tileHCommand;
-	private CommandMenuItem tileVCommand;
-	private CommandMenuItem arrangeHCommand;
-	private CommandMenuItem arrangeVCommand;
-	private int staticItems;
-
-	/**
-	 *Constructor for the CTXWindowsMenu object
-	 *
-	 * @param newText  the menu's text
-	 * @param desktop  the MDI desktop
-	 * @param editor   the editor
-	 */
-	public CTXWindowMenu(String newText, MDIDesktopPane newDesktop, DrawingEditor newEditor) {
-		super(newText);
-		this.desktop = newDesktop;
-
-		cascadeCommand = new CommandMenuItem(
-			new AbstractCommand("Cascade", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.cascadeFrames();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		tileHCommand = new CommandMenuItem(
-			new AbstractCommand("Tile Horizontally", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.tileFramesHorizontally();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		tileVCommand = new CommandMenuItem(
-			new AbstractCommand("Tile Vertically", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.tileFramesVertically();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		arrangeHCommand = new CommandMenuItem(
-			new AbstractCommand("Arrange Horizontally", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.arrangeFramesHorizontally();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		arrangeVCommand = new CommandMenuItem(
-			new AbstractCommand("Arrange Vertically", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.arrangeFramesVertically();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		addMenuListener(
-			new MenuListener() {
-				public void menuCanceled(MenuEvent e) { }
-
-				public void menuDeselected(MenuEvent e) {
-					removeWindowsList();
-				}
-
-				public void menuSelected(MenuEvent e) {
-					buildChildMenus();
-				}
-			});
-
-		add(cascadeCommand);
-		add(tileHCommand);
-		add(tileVCommand);
-		add(arrangeHCommand);
-		add(arrangeVCommand);
-		staticItems = 5;
-	}
-
-	/** removes the windows names */
-	protected void removeWindowsList() {
-		// remove all items above static the items
-		while (this.getItemCount() > staticItems) {
-			remove(staticItems);
-		}
-	}
-
-	/*
-	 *  Sets up the children menus depending on the current desktop state
-	 */
-	/** Description of the Method */
-	void buildChildMenus() { //increased visibility to avoid compilation errors
-		JInternalFrame[] array = desktop.getAllFrames();
-
-		// update window organization commands
-		cascadeCommand.setEnabled(array.length > 0);
-		tileHCommand.setEnabled(array.length > 0);
-		tileVCommand.setEnabled(array.length > 0);
-		arrangeHCommand.setEnabled(array.length > 0);
-		arrangeVCommand.setEnabled(array.length > 0);
-
-		if (array.length == 0) {
-			return;
-		}
-
-		addSeparator();
-
-		for (int i = 0; i < array.length; i++) {
-			ChildMenuItem menu = new ChildMenuItem(array[i]);
-			menu.setState(i == 0);
-			menu.addActionListener(
-				new ActionListener() {
-					public void actionPerformed(ActionEvent ae) {
-						JInternalFrame frame = ((ChildMenuItem)ae.getSource()).getFrame();
-						frame.moveToFront();
-						try {
-							frame.setSelected(true);
-						}
-						catch (PropertyVetoException e) {
-							e.printStackTrace();
-						}
-					}
-				});
-			menu.setIcon(array[i].getFrameIcon());
-			add(menu);
-		}
-	}
-
-	/*
-	 *  This JCheckBoxMenuItem descendant is used to track the child frame that corresponds
-	 *  to a give menu.
-	 */
-	class ChildMenuItem extends JCheckBoxMenuItem {
-		private JInternalFrame frame;
-
-		/**
-		 *Constructor for the ChildMenuItem object
-		 *
-		 * @param frame  Description of the Parameter
-		 */
-		public ChildMenuItem(JInternalFrame newFrame) {
-			super(newFrame.getTitle());
-			frame = newFrame;
-		}
-
-		/**
-		 * Gets the frame attribute of the ChildMenuItem object
-		 *
-		 * @return   The frame value
-		 */
-		public JInternalFrame getFrame() {
-			return frame;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/ChopDiamondConnector.java b/JHotDraw/src/CH/ifa/draw/contrib/ChopDiamondConnector.java
deleted file mode 100644
index 13c634080..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/ChopDiamondConnector.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * @(#)ChopDiamondConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.ChopBoxConnector;
-import CH.ifa.draw.util.Geom;
-
-/**
- * A ChopDiamondConnector locates connection points by choping the
- * connection between the centers of the two figures at the edge of
- * a diamond figure.
- *
- * @see Connector
- *
- * @author Erich Gamma
- * @version <$CURRENT_VERSION$>
- */
-public class ChopDiamondConnector extends ChopBoxConnector {
-	/**
-	 * Serialization support.
-	 * Needs to be fixed.
-	 */
-	private static final long serialVersionUID = -1461450322512395462L;
-
-	public ChopDiamondConnector() {
-		// only used for Storable implementation
-	}
-
-  public ChopDiamondConnector(Figure owner) {
-	  super(owner);
-	}
-
-	/**
-	 * Return an appropriate connection point on the edge of a diamond figure
-	 */
-	protected Point chop(Figure target, Point from) {
-		Rectangle r = target.displayBox();
-		// Center point
-		Point c1 = new Point(r.x + r.width/2, r.y + (r.height/2));
-		Point p2 = new Point(r.x + r.width/2, r.y + r.height);
-		Point p4 = new Point(r.x + r.width/2, r.y);
-
-		// If overlapping, just return the opposite corners
-		if (r.contains(from)) {
-			if (from.y > r.y && from.y < (r.y +r.height/2)) {
-				return p2;
-			}
-			else {
-				return p4;
-			}
-		}
-
-		// Calculate angle to determine quadrant
-		double ang = Geom.pointToAngle(r, from);
-
-		// Dermine line points
-		Point p1 = new Point(r.x + r.width  , r.y + (r.height/2));
-		Point p3 = new Point(r.x            , r.y + (r.height/2));
-		Point rp = null; // This will be returned
-
-		// Get the intersection with edges
-		if (ang > 0 && ang < 1.57) {
-			rp = Geom.intersect(p1.x, p1.y, p2.x, p2.y, c1.x, c1.y, from.x, from.y);
-		}
-		else if (ang > 1.575 && ang < 3.14) {
-			rp = Geom.intersect(p2.x, p2.y, p3.x, p3.y, c1.x, c1.y, from.x, from.y);
-		}
-		else if (ang > -3.14 && ang < -1.575) {
-		  rp = Geom.intersect(p3.x, p3.y, p4.x, p4.y, c1.x, c1.y, from.x, from.y);
-		}
-		else if (ang > -1.57 && ang < 0) {
-			rp = Geom.intersect(p4.x, p4.y, p1.x, p1.y, c1.x, c1.y, from.x, from.y);
-		}
-
-		// No proper edge found, we should send one of four corners
-		if (rp == null) {
-			rp = Geom.angleToPoint(r, ang);
-		}
-
-		return rp;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/ChopPolygonConnector.java b/JHotDraw/src/CH/ifa/draw/contrib/ChopPolygonConnector.java
deleted file mode 100644
index 5a325055e..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/ChopPolygonConnector.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * @(#)ChopPolygonConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * A ChopPolygonConnector locates a connection point by
- * chopping the connection at the polygon boundary.
- *
- * @author Erich Gamma
- * @version <$CURRENT_VERSION$>
- */
-public class ChopPolygonConnector extends ChopBoxConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -156024908227796826L;
-
-	public ChopPolygonConnector() {
-	}
-
-	public ChopPolygonConnector(Figure owner) {
-		super(owner);
-	}
-
-	protected Point chop(Figure target, Point from) {
-		return ((PolygonFigure)target).chop(from);
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/ClippingUpdateStrategy.java b/JHotDraw/src/CH/ifa/draw/contrib/ClippingUpdateStrategy.java
deleted file mode 100644
index bee3b8a0f..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/ClippingUpdateStrategy.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package CH.ifa.draw.contrib;
-
-import java.awt.Graphics;
-import java.awt.Rectangle;
-import java.util.Vector;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.FigureEnumerator;
-
-/**
- * The ClippingUpdateStrategy will only draw those Figures in the DrawingView
- * which intersect the Graphic's clipping rectangle. 
- * 
- * @author Aviv Hurvitz
- */
-public class ClippingUpdateStrategy implements Painter {
-
-	public ClippingUpdateStrategy() {
-		super();
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Painter#draw(Graphics, DrawingView)
-	 */
-	public void draw(Graphics g, DrawingView view) {
-		Rectangle viewClipRectangle = g.getClipBounds();
-
-		if (viewClipRectangle == null) {
-			// it seems clip is always set, but nevertheless handle it
-			view.drawAll(g);
-			return;
-		}
-
-		FigureEnumeration fe = view.drawing().figures();
-		
-		// it's better to start big than to do Log(nFigures) reallocations 
-		Vector v = new Vector(1000);
-
-		// create a List of the figures within the clip rectangle
-		while (fe.hasNextFigure()) {
-			Figure fig = fe.nextFigure();
-			Rectangle r = fig.displayBox();
-
-			// grow Rectangles that have 0 width or height, since 
-			// Rectangle.intersects() returns false on them. 
-			// These Rectangles are common, as they are the typical bounding 
-			// boxes of horizontal and vertical lines.
-			// see my (regression) bug report on Sun's site:
-			//   http://developer.java.sun.com/developer/bugParade/bugs/4643428.html
-			if (r.width <= 0) {
-				r.width = 1;
-			}
-			if (r.height <= 0) {
-				r.height = 1;
-			}
-
-			if (r.intersects(viewClipRectangle)) {
-				v.add(fig);
-			}
-		}
-
-		// draw the figures in the clip rectangle
-		FigureEnumeration clippedFE = new FigureEnumerator(v);
-		view.draw(g, clippedFE);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CommandCheckBoxMenuItem.java b/JHotDraw/src/CH/ifa/draw/contrib/CommandCheckBoxMenuItem.java
deleted file mode 100644
index 4973028f2..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CommandCheckBoxMenuItem.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- *  @(#)CommandMenu.java
- *
- *  Project:		JHotdraw - a GUI framework for technical drawings
- *  http://www.jhotdraw.org
- *  http://jhotdraw.sourceforge.net
- *  Copyright:	� by the original author(s) and all contributors
- *  License:		Lesser GNU Public License (LGPL)
- *  http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import javax.swing.JCheckBoxMenuItem;
-import CH.ifa.draw.util.Command;
-import javax.swing.Icon;
-
-/**
- * CommandCheckBoxMenuItem implements a command that can be added to a menu
- * as a checkbox menu item
- *
- * @author Eduardo Francos - InContext
- * @version <$CURRENT_VERSION$>
- */
-
-public class CommandCheckBoxMenuItem extends JCheckBoxMenuItem
-	   implements CommandHolder
-{
-	Command fCommand;
-
-	/**
-	 * Creates an initially unselected check box menu item
-	 * with the specified command
-	 */
-	public CommandCheckBoxMenuItem(Command command) {
-		super(command.name());
-		setCommand(command);
-	}
-
-	/**
-	 * Creates an initially unselected check box menu item with an icon and
-	 * the specified command.
-	 *
-	 * @param icon the icon of the CheckBoxMenuItem.
-	 */
-	public CommandCheckBoxMenuItem(Command command, Icon icon) {
-		super(command.name(), icon);
-		setCommand(command);
-	}
-
-	/**
-	 * Creates a check box menu item with the specified command and selection state.
-	 *
-	 * @param command the command to be executed upon menu selection
-	 * @param b the selected state of the check box menu item
-	 */
-	public CommandCheckBoxMenuItem(Command command, boolean b) {
-		super(command.name(), b);
-		setCommand(command);
-	}
-
-	/**
-	 * Creates a check box menu item with the specified text, icon, and selection state.
-	 *
-	 * @param command the command to be executed upon menu selection
-	 * @param icon the icon of the check box menu item
-	 * @param b the selected state of the check box menu item
-	 */
-	public CommandCheckBoxMenuItem(Command command, Icon icon, boolean b) {
-		super(command.name(), icon, b);
-		setCommand(command);
-	}
-
-
-	/**
-	 * Gets the command attribute of the CommandMenuItem object
-	 *
-	 * @return   The command value
-	 */
-	public Command getCommand() {
-		return fCommand;
-	}
-
-
-	/**
-	 * Sets the command attribute of the CommandMenuItem object
-	 *
-	 * @param newCommand  The new command value
-	 */
-	public void setCommand(Command newCommand) {
-		fCommand = newCommand;
-	}
-
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CommandHolder.java b/JHotDraw/src/CH/ifa/draw/contrib/CommandHolder.java
deleted file mode 100644
index 2a91895ed..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CommandHolder.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  @(#)CommandMenu.java
- *
- *  Project:		JHotdraw - a GUI framework for technical drawings
- *  http://www.jhotdraw.org
- *  http://jhotdraw.sourceforge.net
- *  Copyright:	� by the original author(s) and all contributors
- *  License:		Lesser GNU Public License (LGPL)
- *  http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.util.Command;
-
-/**
- * CommandHolder defines the interface for wrapper objects holding a Command,
- * like menu items or toolbar tools.
- *
- * @author    Eduardo Francos - InContext
- * @created   8 mai 2002
- * @version   <$CURRENT_VERSION$>
- */
-
-public interface CommandHolder {
-	/**
-	 * Gets the command of the CommandHolder object
-	 *
-	 * @return   The command value
-	 */
-	public Command getCommand();
-
-
-	/**
-	 * Sets the command of the CommandHolder object
-	 *
-	 * @param newCommand  The new command value
-	 */
-	public void setCommand(Command newCommand);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CommandMenuItem.java b/JHotDraw/src/CH/ifa/draw/contrib/CommandMenuItem.java
deleted file mode 100644
index d7079ef7c..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CommandMenuItem.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * @(#)CommandMenu.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.util.Command;
-import javax.swing.JMenuItem;
-import javax.swing.Icon;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-
-/**
- * CommandMenuItem implements a command that can be added to a menu
- * as a menu item
- *
- * @author    Eduardo Francos - InContext
- * @created   2 mai 2002
- * @version   <$CURRENT_VERSION$>
- */
-public class CommandMenuItem extends JMenuItem implements CommandHolder, ActionListener {
-
-	private Command fCommand;
-
-	/**
-	 * Creates a menuItem with no set text or icon.
-	 */
-	public CommandMenuItem(Command command) {
-		super(command.name());
-		setCommand(command);
-		addActionListener(this);
-	}
-
-	/**
-	 * Creates a menuItem with an icon.
-	 *
-	 * @param icon the icon of the MenuItem.
-	 */
-	public CommandMenuItem(Command command, Icon icon) {
-		super(command.name(), icon);
-		setCommand(command);
-		addActionListener(this);
-	}
-
-	/**
-	 * Creates a menuItem with the specified text and
-	 * keyboard mnemonic.
-	 *
-	 * @param command the command to be executed upon menu selection
-	 * @param mnemonic the keyboard mnemonic for the MenuItem
-	 */
-	public CommandMenuItem(Command command, int mnemonic) {
-		super(command.name(), mnemonic);
-		setCommand(command);
-	}
-
-	/**
-	 * Gets the command attribute of the CommandMenuItem object
-	 *
-	 * @return   The command value
-	 */
-	public Command getCommand() {
-		return fCommand;
-	}
-
-	/**
-	 * Sets the command attribute of the CommandMenuItem object
-	 *
-	 * @param newCommand  The new command value
-	 */
-	public void setCommand(Command newCommand) {
-		fCommand = newCommand;
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void actionPerformed(ActionEvent e) {
-		getCommand().execute();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/ComponentFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/ComponentFigure.java
deleted file mode 100644
index bc2d974e4..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/ComponentFigure.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * @(#)ComponentFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.figures.AttributeFigure;
-import CH.ifa.draw.standard.BoxHandleKit;
-import CH.ifa.draw.standard.HandleEnumerator;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.awt.Component;
-import java.awt.Rectangle;
-import java.awt.Point;
-import java.awt.Graphics;
-import java.util.List;
-
-/**
- * @author  Ming Fang
- * @version <$CURRENT_VERSION$>
- */
-public class ComponentFigure extends AttributeFigure {
-	private Rectangle bounds;
-
-	/** Holds value of property component. */
-	private Component component;
-
-	private ComponentFigure() {
-		bounds = new Rectangle();
-	}
-
-	/**
-	 * @param newComponent a lightweight component
-	 */
-	public ComponentFigure(Component newComponent) {
-		this();
-		setComponent(newComponent);
-	}
-
-	/**
-	 * Changes the display box of a figure. This method is
-	 * always implemented in figure subclasses.
-	 * It only changes
-	 * the displaybox and does not announce any changes. It
-	 * is usually not called by the client. Clients typically call
-	 * displayBox to change the display box.
-	 *
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		bounds = new Rectangle(origin);
-		bounds.add(corner);
-	}
-
-	/**
-	 * Moves the figure. This is the
-	 * method that subclassers override. Clients usually
-	 * call displayBox.
-	 * @see #moveBy
-	 */
-	protected void basicMoveBy(int dx, int dy) {
-		bounds.translate(dx, dy);
-	}
-
-	/**
-	 * Gets the display box of a figure
-	 * @see #basicDisplayBox
-	 */
-	public Rectangle displayBox() {
-		return new Rectangle(bounds);
-	}
-
-	/**
-	 * Returns the handles used to manipulate
-	 * the figure. Handles is a Factory Method for
-	 * creating handle objects.
-	 *
-	 * @return a type-safe iterator of handles
-	 * @see Handle
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * Getter for property component.
-	 * @return Value of property component.
-	 */
-	public Component getComponent() {
-		return this.component;
-	}
-
-	/**
-	 * Setter for property component.
-	 *
-	 * @param newComponent New value of property component.
-	 */
-	protected void setComponent(Component newComponent) {
-		this.component = newComponent;
-	}
-
-	/**
-	 * Draws the figure.
-	 * @param g the Graphics to draw into
-	 */
-	public void draw(Graphics g) {
-		// AWT code
-		getComponent().setBounds(displayBox());
-		//must create a new graphics with a different cordinate
-		Graphics componentG = g.create(bounds.x, bounds.y, bounds.width, bounds.height);
-		getComponent().paint(componentG);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CompositeFigureCreationTool.java b/JHotDraw/src/CH/ifa/draw/contrib/CompositeFigureCreationTool.java
deleted file mode 100644
index 5cb4a1b39..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CompositeFigureCreationTool.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * @(#)CompositeFigureCreationTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.standard.CreationTool;
-import CH.ifa.draw.standard.CompositeFigure;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.DrawingView;
-
-import java.awt.event.MouseEvent;
-import java.awt.*;
-
-/**
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class CompositeFigureCreationTool extends CreationTool {
-	private CompositeFigure myContainerFigure;
-
-	public CompositeFigureCreationTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		Figure figure = drawing().findFigure(e.getX(), e.getY());
-		if (figure != null) {
-			figure = figure.getDecoratedFigure();
-			if (figure instanceof CompositeFigure) {
-				setContainerFigure((CompositeFigure)figure);
-				setCreatedFigure(createFigure());
-				setAddedFigure((getContainerFigure().add(getCreatedFigure())));
-				getAddedFigure().displayBox(new Point(x, y), new Point(x, y));
-			}
-			else {
-				toolDone();
-			}
-		}
-		else {
-			toolDone();
-		}
-	}
-
-	public void mouseMove(MouseEvent e, int x, int y) {
-		if ((getContainerFigure() != null) && !getContainerFigure().containsPoint(e.getX(), e.getY())) {
-			// here you might want to constrain the mouse movements to the size of the
-			// container figure: not sure whether this works...
-			toolDone();
-		}
-		else {
-			super.mouseMove(e, x, y);
-		}
-	}
-
-	protected void setContainerFigure(CompositeFigure newContainerFigure) {
-		myContainerFigure = newContainerFigure;
-	}
-
-	public CompositeFigure getContainerFigure() {
-		return myContainerFigure;
-	}
-
-	protected void toolDone() {
-		setCreatedFigure(null);
-		setAddedFigure(null);
-		setContainerFigure(null);
-		editor().toolDone();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CustomSelectionTool.java b/JHotDraw/src/CH/ifa/draw/contrib/CustomSelectionTool.java
deleted file mode 100644
index d2cb8e1ea..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CustomSelectionTool.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * @(#)CustomSelectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.contrib.zoom.ZoomDrawingView;
-import CH.ifa.draw.standard.*;
-import javax.swing.JPopupMenu;
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * A SelectionTool, which recognizes double clicks and popup menu triggers.
- * If a double click or popup trigger is encountered a hook method is called,
- * which handles the event. This methods can be overriden in subclasse to 
- * provide customized behaviour. 
- * Popup menus must be registered with a Figure using the setAttribute() method.
- * The key which associates a popup menu as an attribute is Figure.POPUP_MENU.
- *
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class CustomSelectionTool extends SelectionTool {
-
-	/**
-	 * Create an instance of this SelectionTool for the given view
-	 *
-	 * @param   editor    DrawingEditor for which the SelectionTool gets the active view
-	 */
-	public CustomSelectionTool(DrawingEditor editor) {
-		super( editor );
-	}
-	
-	/**
-	 * MouseListener method for mouseDown events. If the popup trigger has been
-	 * activated, then the appropriate hook method is called.
-	 *
-	 * @param   e   MouseEvent which should be interpreted
-	 * @param   x   x coordinate of the MouseEvent
-	 * @param   y   y coordinate of the MouseEvent
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		// isPopupTrigger() at mouseDown() is only notified at UNIX systems
-		if (e.isPopupTrigger()) {
-			handlePopupMenu(e, x, y);
-		}
-		else {
-			super.mouseDown(e, x, y);
-			handleMouseDown(e, x, y);
-		}
-	}
-	
-	/**
-	 * MouseListener method for mouseDrag events. Usually, mouse drags are
-	 * ignored for popup menus or double clicks.
-	 *
-	 * @param   e   MouseEvent which should be interpreted
-	 * @param   x   x coordinate of the MouseEvent
-	 * @param   y   y coordinate of the MouseEvent
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (!e.isPopupTrigger()) {
-			super.mouseDrag(e, x, y);
-		}
-	}
-
-	/** 
-	 * MouseListener method for mouseUp events. Depending on the kind of event
-	 * the appropriate hook method is called (popupMenuUp for popup trigger,
-	 * doubleMouseClick for a double click, and mouseUp() and mouseClick() for
-	 * normal mouse clicks).
-	 *
-	 * @param   e   MouseEvent which should be interpreted
-	 * @param   x   x coordinate of the MouseEvent
-	 * @param   y   y coordinate of the MouseEvent
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (e.isPopupTrigger()) {
-			handlePopupMenu(e, x, y);
-			super.mouseUp(e, x, y);
-		}
-		else if (e.getClickCount() == 2) {
-			super.mouseUp(e, x, y);
-			handleMouseDoubleClick(e, x, y);
-		}
-		else {
-			super.mouseUp(e, x, y);
-			handleMouseUp(e, x, y);
-			handleMouseClick(e, x, y);
-		}
-	}
-	
-	/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a mouse down.
-	 */
-	protected void handleMouseDown(MouseEvent e, int x, int y) {
-	}
-
-		/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a mouse up.
-	 */
-	protected void handleMouseUp(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a mouse click.
-	 */
-	protected void handleMouseClick(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a mouse double click.
-	 */
-	protected void handleMouseDoubleClick(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a popup trigger.
-	 */
-	protected void handlePopupMenu(MouseEvent e, int x, int y) {
-		Figure figure = drawing().findFigure(e.getX(), e.getY());
-		if (figure != null) {
-			Object attribute = figure.getAttribute(FigureAttributeConstant.POPUP_MENU);
-			if (attribute == null) {
-				figure = drawing().findFigureInside(e.getX(), e.getY());
-			}
-			if (figure != null) {
-				showPopupMenu(figure, e.getX(), e.getY(), e.getComponent());
-			}
-		}
-	}
-
-	/**
-	 * This method displays a popup menu, if there is one registered with the
-	 * Figure (the Figure's attributes are queried for Figure.POPUP_MENU which
-	 * is used to indicate an association of a popup menu with the Figure).
-	 *
-	 * @param   figure      Figure for which a popup menu should be displayed
-	 * @param   x           x coordinate where the popup menu should be displayed
-	 * @param   y           y coordinate where the popup menu should be displayed
-	 * @param   comp        Component which invoked the popup menu
-	 */
-	protected void showPopupMenu(Figure figure, int x, int y, Component comp) {
-		Object attribute = figure.getAttribute(FigureAttributeConstant.POPUP_MENU);
-		if ((attribute != null) && (attribute instanceof JPopupMenu)) {
-			JPopupMenu popup = (JPopupMenu)attribute;
-			if (popup instanceof PopupMenuFigureSelection) {
-				((PopupMenuFigureSelection)popup).setSelectedFigure(figure);
-			}
-			// Calculate position on physical screen based
-			// on x,y coordinates
-			Point newLocation;
-			try {
-				newLocation = comp.getLocationOnScreen();
-			} catch (IllegalComponentStateException e) {
-				// For some reason, the component
-				// apparently isn't showing on the
-				// screen (huh?). Never mind - don't
-				// show the popup..
-				return;
-			}
-			// If this is a ZoomDrawingView, we'll need to
-			// compensate here too:
-			if (comp instanceof ZoomDrawingView) {
-				double scale = ((ZoomDrawingView) comp).getScale(); 
-				x *= scale;
-				y *= scale;
-			}
-			newLocation.translate(x,y);
-			popup.setLocation(newLocation);
-			popup.setInvoker(comp);
-			popup.setVisible(true);
-		}
-	}
-	
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CustomToolBar.java b/JHotDraw/src/CH/ifa/draw/contrib/CustomToolBar.java
deleted file mode 100644
index 62755cc09..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CustomToolBar.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * @(#)CustomToolBar.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.util.CollectionsFactory;
-
-import javax.swing.JToolBar;
-import javax.swing.JComponent;
-import java.util.List;
-import java.util.Iterator;
-import java.awt.Component;
-
-/**
- * This ToolBar allows to use several panels with tools. It manages each
- * panel and enables to swap between them. There can only one panel with
- * tools be activated at a time. Currently, only two panels are supported
- * (standard tools and edit tools).
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class CustomToolBar extends JToolBar {
-
-	/**
-	 * List containing all tools for the standard ToolBar
-	 */
-	private List standardTools;
-	
-	/**
-	 * List containing all tools for the edit ToolBar
-	 */
-	private List editTools;
-	
-	/**
-	 * List containing all tools, which are currently activated
-	 */
-	private List currentTools;
-	
-	/**
-	 * Flag which determines whether the tool palette must be updated
-	 */
-	private boolean needsUpdate;
-	
-	/**
-	 * Create a new ToolBar
-	 */
-	public CustomToolBar() {
-		super();
-		standardTools = CollectionsFactory.current().createList();
-		editTools = CollectionsFactory.current().createList();
-		currentTools = standardTools;
-		needsUpdate = false;
-	}
-
-	/**
-	 * Switch between the two available palettes with tools
-	 */
-	public void switchToolBar() {
-		if (currentTools == standardTools) {
-			switchToEditTools();
-		}
-		else {
-			switchToStandardTools();
-		}
-	}
-	
-	/**
-	 * Select the palette with the edit tools
-	 */
-	public void switchToEditTools() {
-		if (currentTools != editTools) {
-			currentTools = editTools;
-			needsUpdate = true;
-		}
-	}
-
-	/**
-	 * Select the palette with the standard tools
-	 */
-	public void switchToStandardTools() {
-		if (currentTools != standardTools) {
-			currentTools = standardTools;
-			needsUpdate = true;
-		}
-	}
-
-	/**
-	 * Activate a palette of the ToolBar by setting all Tools
-	 */
-	public void activateTools() {
-		if (!needsUpdate) {
-			return;
-		}
-		else {
-			removeAll();
-
-			JComponent currentTool = null;
-			Iterator iter = currentTools.iterator();
-			while (iter.hasNext()) {
-				currentTool = (JComponent)iter.next();
-				super.add(currentTool);
-			}
-			validate();
-			needsUpdate = false;
-		}
-	}
-
-	/**
-	 * Add a new tool the the current palette of the ToolBar
-	 */
-	public Component add(Component newTool) {
-		if (currentTools == editTools) {
-			editTools.add(newTool);
-		}
-		else {
-			standardTools.add(newTool);
-		}
-		needsUpdate = true;
-		return super.add(newTool);
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/Desktop.java b/JHotDraw/src/CH/ifa/draw/contrib/Desktop.java
deleted file mode 100644
index 87268b6be..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/Desktop.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)Desktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingView;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface Desktop {
-	public final static int PRIMARY = 0;
-	public final static int SECONDARY = 1;
-	public final static int TERTIARY = 2;
-
-	/**
-	 * For those absent minded components that were not paying attention to the
-	 * listener events.
-	 */
-	public DrawingView getActiveDrawingView();
-	public void addToDesktop(DrawingView dv, int location);
-	public void removeFromDesktop(DrawingView dv, int location);
-	public void removeAllFromDesktop(int location);
-	public DrawingView[] getAllFromDesktop(int location);
-
-	public void updateTitle(String newDrawingTitle);
-
-	public void addDesktopListener(DesktopListener dpl);
-	public void removeDesktopListener(DesktopListener dpl);
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/DesktopEvent.java b/JHotDraw/src/CH/ifa/draw/contrib/DesktopEvent.java
deleted file mode 100644
index f62eadbd9..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/DesktopEvent.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * @(#)DesktopEvent.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingView;
-import java.util.EventObject;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DesktopEvent extends EventObject {
-	private DrawingView myDrawingView;
-
-	/**
-	 * Some events require the previous DrawingView (e.g. when a new DrawingView
-	 * is selected).
-	 */	
-	private DrawingView myPreviousDrawingView;
-
-	public DesktopEvent(Desktop newSource, DrawingView newDrawingView) {
-		this(newSource, newDrawingView, null);
-	}
-
-	public DesktopEvent(Desktop newSource, DrawingView newDrawingView, DrawingView newPreviousDV) {
-		super(newSource);
-		setDrawingView(newDrawingView);
-		setPreviousDrawingView(newPreviousDV);
-	}
-
-	private void setDrawingView(DrawingView newDrawingView) {
-		myDrawingView = newDrawingView;
-	}
-	
-	public DrawingView getDrawingView() {
-	    return myDrawingView;
-	}
-
-	private void setPreviousDrawingView(DrawingView newPreviousDrawingView) {
-		myPreviousDrawingView = newPreviousDrawingView;
-	}
-	
-	public DrawingView getPreviousDrawingView() {
-		return myPreviousDrawingView;
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/DesktopEventService.java b/JHotDraw/src/CH/ifa/draw/contrib/DesktopEventService.java
deleted file mode 100644
index d186a56e2..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/DesktopEventService.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * @(#)DesktopEventService.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.standard.NullDrawingView;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.List;
-import java.util.ListIterator;
-import java.awt.event.ContainerAdapter;
-import java.awt.event.ContainerListener;
-import java.awt.event.ContainerEvent;
-import java.awt.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DesktopEventService {
-
-	/**
-	 * Current usage of this List is not thread safe, nor should it need to be.
-	 * If it ever does we can synchronize on the List itself to provide safety.
-	 */
-	private java.util.List listeners;
-	private DrawingView mySelectedView;
-	private Container myContainer;
-	private Desktop myDesktop;
-
-	public DesktopEventService(Desktop newDesktop, Container newContainer) {
-		listeners = CollectionsFactory.current().createList();
-		setDesktop(newDesktop);
-		setContainer(newContainer);
-		getContainer().addContainerListener(createComponentListener());
-	}
-
-	private void setDesktop(Desktop newDesktop) {
-		myDesktop = newDesktop;
-	}
-
-	protected Desktop getDesktop() {
-		return myDesktop;
-	}
-
-	private void setContainer(Container newContainer) {
-		myContainer = newContainer;
-	}
-
-	protected Container getContainer() {
-		return myContainer;
-	}
-
-	public void addComponent(Component newComponent) {
-		getContainer().add(newComponent);
-	}
-
-	public void removeComponent(DrawingView dv) {
-		Component[] comps = getContainer().getComponents();
-		for (int x = 0; x < comps.length; x++) {
-			if (dv == Helper.getDrawingView(comps[x])) {
-				getContainer().remove(comps[x]);
-			    break;
-			}
-		}
-	}
-
-	public void removeAllComponents() {
-		getContainer().removeAll();
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		listeners.add(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-		listeners.remove(dpl);
-	}
-
-	protected void fireDrawingViewAddedEvent(final DrawingView dv) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		DesktopEvent dpe = createDesktopEvent(getActiveDrawingView(), dv);
-		while (li.hasPrevious()) {
-			DesktopListener dpl = (DesktopListener)li.previous();
-			dpl.drawingViewAdded(dpe);
-		}
-	}
-
-	protected void fireDrawingViewRemovedEvent(final DrawingView dv) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		DesktopEvent dpe = createDesktopEvent(getActiveDrawingView(), dv);
-		while (li.hasPrevious()) {
-			DesktopListener dpl = (DesktopListener)li.previous();
-			dpl.drawingViewRemoved(dpe);
-		}
-	}
-
-	/**
-	 * This method is only called if the selected drawingView has actually changed
-	 */
-	protected void fireDrawingViewSelectedEvent(final DrawingView oldView, final DrawingView newView) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		DesktopEvent dpe = createDesktopEvent(oldView, newView);
-		while (li.hasPrevious()) {
-			DesktopListener dpl = (DesktopListener)li.previous();
-			dpl.drawingViewSelected(dpe);
-		}
-	}
-
-	/**
-	 * @param oldView previous active drawing view (may be null because not all events require this information)
-	 */
-	protected DesktopEvent createDesktopEvent(DrawingView oldView, DrawingView newView) {
-		return new DesktopEvent(getDesktop(), newView, oldView);
-	}
-
-	public DrawingView[] getDrawingViews(Component[] comps) {
-		List al = CollectionsFactory.current().createList();
-		for (int x = 0; x < comps.length; x++) {
-			DrawingView dv = Helper.getDrawingView(comps[x]);
-			if (dv != null) {
-				al.add(dv);
-			}
-		}
-		DrawingView[] dvs = new DrawingView[al.size()];
-		al.toArray(dvs);
-		return dvs;
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return mySelectedView;
-	}
-
-	protected void setActiveDrawingView(DrawingView newActiveDrawingView) {
-		mySelectedView = newActiveDrawingView;
-	}
-	
-	protected ContainerListener createComponentListener() {
-		return new ContainerAdapter() {
-			/**
-			 * If the dv is null assert
-			 * @todo does adding a component always make it the selected view?
-			 *  Yes so far because this is only being used on single view Desktops.
-			 *  If it is to work on multipleView desktops, the we need to think further.
-			 */
-            public void componentAdded(ContainerEvent e) {
-				DrawingView dv = Helper.getDrawingView((java.awt.Container)e.getChild());
-				DrawingView oldView = getActiveDrawingView();
-				if (dv != null) {
-					fireDrawingViewAddedEvent(dv);
-					setActiveDrawingView(dv);
-					fireDrawingViewSelectedEvent(oldView, getActiveDrawingView());
-				}
-            }
-
-		    /**
-			 * If dv is null assert
-             * dv will only be null if something thats not a drawingView was
-			 * added to the desktop.  it would be simpler if we forbade that.
-			 */
-            public void componentRemoved(ContainerEvent e) {
-				DrawingView dv = Helper.getDrawingView((java.awt.Container)e.getChild());
-				if (dv != null) {
-					DrawingView oldView = getActiveDrawingView();
-					setActiveDrawingView(NullDrawingView.getManagedDrawingView(oldView.editor()));
-					fireDrawingViewSelectedEvent(oldView, getActiveDrawingView());
-					fireDrawingViewRemovedEvent(dv);
-				}
-            }
-        };
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/DesktopListener.java b/JHotDraw/src/CH/ifa/draw/contrib/DesktopListener.java
deleted file mode 100644
index 23dabd709..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/DesktopListener.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * @(#)DesktopEventService.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface DesktopListener {
-	public void drawingViewAdded(DesktopEvent dpe);
-	public void drawingViewRemoved(DesktopEvent dpe);
-	public void drawingViewSelected(DesktopEvent dpe);
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/DiamondFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/DiamondFigure.java
deleted file mode 100644
index 5b4e1b0da..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/DiamondFigure.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * @(#)DiamondFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.figures.*;
-import java.awt.*;
-
-/**
- * A diamond with vertices at the midpoints of its enclosing rectangle
- *
- * @author Doug Lea  (dl at gee, Tue Feb 25 17:39:44 1997)
- * @version <$CURRENT_VERSION$>
- */
-public  class DiamondFigure extends RectangleFigure {
-
-	public DiamondFigure() {
-		super(new Point(0,0), new Point(0,0));
-	}
-
-	public DiamondFigure(Point origin, Point corner) {
-		super(origin,corner);
-	}
-
-	/**
-	 * @return the polygon describing the diamond
-	 **/
-	protected Polygon getPolygon() {
-		Rectangle r = displayBox();
-		Polygon p = new Polygon();
-		p.addPoint(r.x, r.y+r.height/2);
-		p.addPoint(r.x+r.width/2, r.y);
-		p.addPoint(r.x+r.width, r.y+r.height/2);
-		p.addPoint(r.x+r.width/2, r.y+r.height);
-		return p;
-	}
-
-	public void draw(Graphics g) {
-		Polygon p = getPolygon();
-		g.setColor(getFillColor());
-		g.fillPolygon(p);
-		g.setColor(getFrameColor());
-		g.drawPolygon(p);
-	}
-
-	public Insets connectionInsets() {
-		Rectangle r = displayBox();
-		return new Insets(r.height/2, r.width/2, r.height/2, r.width/2);
-	}
-
-	public boolean containsPoint(int x, int y) {
-		return getPolygon().contains(x, y);
-	}
-
-	public Point chop(Point p) {
-		return PolygonFigure.chop(getPolygon(), p);
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new ChopDiamondConnector(this);
-	}  
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/FloatingTextArea.java b/JHotDraw/src/CH/ifa/draw/contrib/FloatingTextArea.java
deleted file mode 100644
index f1dff6fb0..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/FloatingTextArea.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- *  @(#)FloatingTextArea.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import java.awt.Color;
-
-import java.awt.Container;
-import java.awt.Cursor;
-import java.awt.Dimension;
-import java.awt.Font;
-import java.awt.Rectangle;
-import javax.swing.BorderFactory;
-import javax.swing.JEditorPane;
-import javax.swing.JScrollPane;
-
-/**
- * A FloatingTextArea overlays an editor on top of an area in a drawing<br>
- * @author Eduardo Francos - InContext
- * @version <$CURRENT_VERSION$>
- * @todo By default JEditorPane uses a tab size of 8.
- * I couldn't find how to change this.
- * If anybody knows please tell me.
- */
-public class FloatingTextArea {
-	/**
-	 * A scroll pane to allow for vertical scrolling while editing
-	 */
-	protected JScrollPane fEditScrollContainer;
-	/**
-	 * The actual editor
-	 */
-	protected JEditorPane fEditWidget;
-	/**
-	 * The container within which the editor is created
-	 */
-	protected Container fContainer;
-
-
-	/**
-	 * Constructor for the FloatingTextArea object
-	 */
-	public FloatingTextArea() {
-		fEditWidget = new JEditorPane();
-		fEditScrollContainer = new JScrollPane(fEditWidget,
-				JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
-				JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
-		fEditScrollContainer.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
-		fEditScrollContainer.setBorder(BorderFactory.createLineBorder(Color.black));
-	}
-
-
-	/**
-	 * Creates the overlay within the given container.
-	 * @param container the container
-	 */
-	public void createOverlay(Container container) {
-		createOverlay(container, null);
-	}
-
-
-	/**
-	 * Creates the overlay for the given Container using a
-	 * specific font.
-	 * @param container the container
-	 * @param font the font
-	 */
-	public void createOverlay(Container container, Font font) {
-		container.add(fEditScrollContainer, 0);
-		if (font != null) {
-			fEditWidget.setFont(font);
-		}
-		fContainer = container;
-	}
-
-
-	/**
-	 * Positions and sizes the overlay.
-	 * @param r the bounding rectangle for the overlay
-	 * @param text the text to edit
-	 */
-	public void setBounds(Rectangle r, String text) {
-		fEditWidget.setText(text);
-		fEditScrollContainer.setBounds(r.x, r.y, r.width, r.height);
-		fEditScrollContainer.setVisible(true);
-		fEditWidget.setCaretPosition(0);
-		fEditWidget.requestFocus();
-	}
-
-
-	/**
-	 * Gets the text contents of the overlay.
-	 * @return The text value
-	 */
-	public String getText() {
-		return fEditWidget.getText();
-	}
-
-
-	/**
-	 * Gets the preferred size of the overlay.
-	 * @param cols Description of the Parameter
-	 * @return The preferredSize value
-	 */
-	public Dimension getPreferredSize(int cols) {
-		return new Dimension(fEditWidget.getWidth(), fEditWidget.getHeight());
-	}
-
-
-	/**
-	 * Removes the overlay.
-	 */
-	public void endOverlay() {
-		fContainer.requestFocus();
-		if (fEditScrollContainer != null) {
-			fEditScrollContainer.setVisible(false);
-			fContainer.remove(fEditScrollContainer);
-
-			Rectangle bounds = fEditScrollContainer.getBounds();
-			fContainer.repaint(bounds.x, bounds.y, bounds.width, bounds.height);
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/GraphicalCompositeFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/GraphicalCompositeFigure.java
deleted file mode 100644
index 6eab9f14d..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/GraphicalCompositeFigure.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * @(#)GraphicalCompositeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.figures.*;
-import java.awt.*;
-import java.io.*;
-import java.util.List;
-
-/**
- * The GraphicalCompositeFigure fills in the gap between a CompositeFigure
- * and other figures which mainly have a presentation purpose. The
- * GraphicalCompositeFigure can be configured with any Figure which
- * takes over the task for rendering the graphical presentation for
- * a CompositeFigure. Therefore, the GraphicalCompositeFigure manages
- * contained figures like the CompositeFigure does, but delegates
- * its graphical presentation to another (graphical) figure which
- * purpose it is to draw the container for all contained figures.
- *
- * The GraphicalCompositeFigure adds to the {@link CompositeFigure CompositeFigure}
- * by containing a presentation figure by default which can not be removed.  Normally,
- * the {@link CompositeFigure CompositeFigure} can not be seen without containing a figure
- * because it has no mechanism to draw itself.  It instead relies on its contained
- * figures to draw themselves thereby giving the {@link CompositeFigure CompositeFigure} its
- * appearance.  However, the <b>GraphicalCompositeFigure</b>'s presentation figure
- * can draw itself even when the <b>GraphicalCompositeFigure</b> contains no other figures.
- * The <b>GraphicalCompositeFigure</b> also uses a {@link Layouter Layouter} or layout
- * its contained figures.
- *
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class GraphicalCompositeFigure extends CompositeFigure implements Layoutable  {
-
-	/**
-	 * Figure which performs all presentation tasks for this
-	 * CompositeFigure as CompositeFigures usually don't have
-	 * an own presentation but present only the sum of all its
-	 * children.
-	 */
-	private Figure	myPresentationFigure;
-
-	/**
-	 * A Layouter determines how the CompositeFigure should
-	 * be laid out graphically.
-	 */
-	private Layouter myLayouter;
-
-	private static final long serialVersionUID = 1265742491024232713L;
-
-	/**
-	 * Default constructor which uses a RectangleFigure as presentation
-	 * figure. This constructor is needed by the Storable mechanism.
-	 */
-	public GraphicalCompositeFigure() {
-		this(new RectangleFigure());
-	}
-
-	/**
-	 * Constructor which creates a GraphicalCompositeFigure with
-	 * a given graphical figure for presenting it.
-	 *
-	 * @param	newPresentationFigure	figure which renders the container
-	 */
-	public GraphicalCompositeFigure(Figure newPresentationFigure) {
-		super();
-		setPresentationFigure(newPresentationFigure);
-		initialize();
-	}
-
-	/**
-	 * This method performs additional initialization operations,
-	 * in this case setting the Layouter.
-	 * It is called from the constructors and the clone() method.
-	 * A StandardLayouter is set.
-	 */
-	protected void initialize() {
-		if (getLayouter() != null) {
-			// use prototype to create new instance
-			setLayouter(getLayouter().create(this));
-		}
-		else {
-			setLayouter(new StandardLayouter(this));
-		}
-	}
-
-	/**
-	 * Clones a figure and initializes it
-	 *
-	 * @see Figure#clone
-	 */
-	public Object clone() {
-		Object cloneObject = super.clone();
-		((GraphicalCompositeFigure)cloneObject).initialize();
-		return cloneObject;
-	}
-
-	/**
-	 * Return the display area. This method is delegated to the encapsulated presentation figure.
-	 */
-	public Rectangle displayBox() {
-		return getPresentationFigure().displayBox();
-	}
-
-	/**
-	 * Standard presentation method which is delegated to the encapsulated presentation figure.
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		Rectangle r = getLayouter().layout(origin, corner);
-		 // Fix for bug request IDs 548000 and 548032
-		 // Previously was
-		 //     getPresentationFigure().basicDisplayBox(r.getLocation(), new Point(r.width, r.height));
-		 // The corner transferred to the presentation figure is wrong as it transfers
-		 // the dimension of the resulting rectangle from the layouter instead of the
-		 // lower right corner
-		getPresentationFigure().basicDisplayBox(r.getLocation(),
-			new Point((int)r.getMaxX(), (int)r.getMaxY()));
-	}
-
-	/**
-	 * Standard presentation method which is delegated to the encapsulated presentation figure.
-	 * The presentation figure is moved as well as all contained figures.
-	 */
-	protected void basicMoveBy(int dx, int dy) {
-		super.basicMoveBy(dx, dy);
-		getPresentationFigure().moveBy(dx, dy);
-	}
-
-	/**
-	 * Explicit update: an updated involves a layout for all contained figures.
-	 */
-	public void update() {
-		willChange();
-		layout();
-		change();
-		changed();
-	}
-
-	/**
-	 * Draw the figure. This method is delegated to the encapsulated presentation figure.
-	 */
-	public void draw(Graphics g) {
-		getPresentationFigure().draw(g);
-		super.draw(g);
-	}
-
-	/**
-	 * Return default handles from the presentation figure.
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-		//return getPresentationFigure().handles();
-	}
-
-	/**
-	 * Delegate capabilities for storing and retrieving attributes to a
-	 * CompositeFigure if the encapsulated presentation figure. If no
-	 * presentation figure is found then the superclass' getAttribute()
-	 * will be invoked (which currently returns always "null").
-	 *
-	 * @param	name	name of the attribute whose value should be returned
-	 * @return	value of the attribute with the given name
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		if (getPresentationFigure() != null) {
-			return getPresentationFigure().getAttribute(name);
-		}
-		else {
-			return super.getAttribute(name);
-		}
-	}
-
-	/**
-	 * Delegate capabilities for storing and retrieving attributes to a
-	 * CompositeFigure if the encapsulated presentation figure. If no
-	 * presentation figure is found then the superclass' getAttribute()
-	 * will be invoked (which currently returns always "null").
-	 *
-	 * @param	attributeConstant	attribute constant whose value should be returned
-	 * @return	value of the attribute with the given name
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		if (getPresentationFigure() != null) {
-			return getPresentationFigure().getAttribute(attributeConstant);
-		}
-		else {
-			return super.getAttribute(attributeConstant);
-		}
-	}
-
-	/**
-	 * Delegate capabilities for storing and retrieving attributes to a
-	 * CompositeFigure if the encapsulated presentation figure. If no
-	 * presentation figure is found then the superclass' setAttribute()
-	 * will be invoked (which currently does not set an attribute).
-	 *
-	 * @param	name	name of the attribute
-	 * @param	value	value associated with this attribute
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		if (getPresentationFigure() != null) {
-			getPresentationFigure().setAttribute(name, value);
-		}
-		else {
-			super.setAttribute(name, value);
-		}
-	}
-
-	/**
-	 * Delegate capabilities for storing and retrieving attributes to a
-	 * CompositeFigure if the encapsulated presentation figure. If no
-	 * presentation figure is found then the superclass' setAttribute()
-	 * will be invoked (which currently does not set an attribute).
-	 *
-	 * @param	attributeConstant	attribute constant
-	 * @param	value	value associated with this attribute
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		if (getPresentationFigure() != null) {
-			getPresentationFigure().setAttribute(attributeConstant, value);
-		}
-		else {
-			super.setAttribute(attributeConstant, value);
-		}
-	}
-
-	/**
-	 * Set a figure which renders this CompositeFigure. The presentation
-	 * tasks for the CompositeFigure are delegated to this presentation
-	 * figure.
-	 *
-	 * @param	newPresentationFigure	figure takes over the presentation tasks
-	 */
-	public void setPresentationFigure(Figure newPresentationFigure) {
-		myPresentationFigure = newPresentationFigure;
-	}
-
-	/**
-	 * Get a figure which renders this CompositeFigure. The presentation
-	 * tasks for the CompositeFigure are delegated to this presentation
-	 * figure.
-	 *
-	 * @return	figure takes over the presentation tasks
-	 */
-	public Figure getPresentationFigure() {
-		return myPresentationFigure;
-	}
-
-	/**
-	 * A layout algorithm is used to define how the child components
-	 * should be laid out in relation to each other. The task for
-	 * layouting the child components for presentation is delegated
-	 * to a Layouter which can be plugged in at runtime.
-	 */
-	public void layout() {
-		if (getLayouter() != null) {
-			Rectangle r = getLayouter().calculateLayout(displayBox().getLocation(), displayBox().getLocation());
-			displayBox(r.getLocation(), new Point(r.x + r.width, r.y + r.height));
-		}
-	}
-
-	/**
-	 * Set a Layouter object which encapsulated a layout
-	 * algorithm for this figure. Typically, a Layouter
-	 * accesses the child components of this figure and arranges
-	 * their graphical presentation. It is a good idea to set
-	 * the Layouter in the protected initialize() method
-	 * so it can be recreated if a GraphicalCompositeFigure is
-	 * read and restored from a StorableInput stream.
-	 *
-	 * @param	newLayouter	encapsulation of a layout algorithm.
-	 */
-	public void setLayouter(Layouter newLayouter) {
-		myLayouter = newLayouter;
-	}
-
-	/**
-	 * Get a Layouter object which encapsulated a layout
-	 * algorithm for this figure. Typically, a Layouter
-	 * accesses the child components of this figure and arranges
-	 * their graphical presentation.
-	 *
-	 * @return	layout strategy used by this figure
-	 */
-	public Layouter getLayouter() {
-		return myLayouter;
-	}
-
-	/**
-	 * Notify the registered change listener if an exlicit change
-	 * to the component (or one of its child components has occurred).
-	 */
-	protected void change() {
-		if (listener() != null) {
-			listener().figureRequestUpdate(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Propagates the removeFromDrawing request up to the container.
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-		if (listener() != null) {
-			if (includes(e.getFigure())) {
-				Rectangle r = invalidateRectangle(displayBox());
-				listener().figureRequestRemove(new FigureChangeEvent(this, r, e));
-			}
-			else {
-				super.figureRequestRemove(e);
-			}
-		}
-	}
-
-	/**
-	 * Reads the contained figures from StorableInput. The
-	 * figure responsible for graphical presentation is read
-	 * together with all child components. The Layouter
-	 * is not stored and therefore not read.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		setPresentationFigure((Figure)dr.readStorable());
-		setLayouter((Layouter)dr.readStorable());
-	}
-
-	/**
-	 * Writes the contained figures to the StorableOutput. The
-	 * figure responsible for graphical presentation is written
-	 * together with all child components. The Layouter
-	 * is not written.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getPresentationFigure());
-		dw.writeStorable(getLayouter());
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/Helper.java b/JHotDraw/src/CH/ifa/draw/contrib/Helper.java
deleted file mode 100644
index 034af7f80..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/Helper.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)Helper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingView;
-import java.awt.*;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class Helper {
-
-	static public DrawingView getDrawingView(Container container) {
-		DrawingView oldDrawingView = null;
-		Component[] components = container.getComponents();
-		for (int i = 0; i < components.length; i++) {
-			if (components[i] instanceof DrawingView) {
-				return (DrawingView)components[i];
-			}
-			else if (components[i] instanceof Container) {
-				oldDrawingView = getDrawingView((Container)components[i]);
-				if (oldDrawingView != null) {
-					return oldDrawingView;
-				}
-			}
-		}
-		return null;
-	}
-
-	static public DrawingView getDrawingView(Component component) {
-		if (Container.class.isInstance(component)) {
-			return getDrawingView((Container)component);
-		}
-		else if (DrawingView.class.isInstance(component)) {
-			return (DrawingView)component;
-		}
-		else {
-			return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/JPanelDesktop.java b/JHotDraw/src/CH/ifa/draw/contrib/JPanelDesktop.java
deleted file mode 100644
index 1eab78b61..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/JPanelDesktop.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)JPanelDesktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import javax.swing.*;
-import java.awt.*;
-import CH.ifa.draw.application.*;
-import CH.ifa.draw.framework.DrawingView;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class JPanelDesktop extends JPanel implements Desktop {
-
-	private DesktopEventService myDesktopEventService;
-	private DrawApplication myDrawApplication;
-
-    public JPanelDesktop(DrawApplication newDrawApplication) {
-		setDrawApplication(newDrawApplication);
-		setDesktopEventService(createDesktopEventService());
-        setAlignmentX(LEFT_ALIGNMENT);
-		setLayout(new BorderLayout());
-    }
-
-	protected Component createContents(DrawingView dv) {
-		JScrollPane sp = new JScrollPane((Component)dv);
-		sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-		sp.setAlignmentX(LEFT_ALIGNMENT);
-		String applicationTitle;
-		if (dv.drawing().getTitle() == null) {
-			applicationTitle = getDrawApplication().getApplicationName()
-					+ " - " + getDrawApplication().getDefaultDrawingTitle();
-		}
-		else {
-			applicationTitle = getDrawApplication().getApplicationName() + " - " + dv.drawing().getTitle();
-		}
-		// should be setTitle but a JPanelDesktop has no own title bar
-		sp.setName(applicationTitle);
-		return sp;
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return getDesktopEventService().getActiveDrawingView();
-	}
-
-	public void addToDesktop(DrawingView dv, int location) {
-		getDesktopEventService().addComponent(createContents(dv));
-		getContainer().validate();
-	}
-
-	public void removeFromDesktop(DrawingView dv, int location) {
-		getDesktopEventService().removeComponent(dv);
-		getContainer().validate();
-	}
-
-	public void removeAllFromDesktop(int location) {
-	    getDesktopEventService().removeAllComponents();
-		getContainer().validate();
-	}
-
-	public DrawingView[] getAllFromDesktop(int location) {
-		return getDesktopEventService().getDrawingViews(getComponents());
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().addDesktopListener(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-	    getDesktopEventService().removeDesktopListener(dpl);
-	}
-
-	private Container getContainer() {
-		return this;
-	}
-
-	protected DesktopEventService getDesktopEventService() {
-		return myDesktopEventService;
-	}
-
-	private void setDesktopEventService(DesktopEventService newDesktopEventService) {
-		myDesktopEventService = newDesktopEventService;
-	}
-
-	protected DesktopEventService createDesktopEventService() {
-		return new DesktopEventService(this, getContainer());
-	}
-
-	private void setDrawApplication(DrawApplication newDrawApplication) {
-		myDrawApplication = newDrawApplication;
-	}
-
-	protected DrawApplication getDrawApplication() {
-		return myDrawApplication;
-	}
-
-	public void updateTitle(String newDrawingTitle) {
-		// should be setTitle but a JPanelDesktop has no own title bar
-		setName(newDrawingTitle);
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/JScrollPaneDesktop.java b/JHotDraw/src/CH/ifa/draw/contrib/JScrollPaneDesktop.java
deleted file mode 100644
index ca5208f5b..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/JScrollPaneDesktop.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * @(#)JScrollPaneDesktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.Component;
-import java.awt.Container;
-
-// JUnitDoclet begin import
-import javax.swing.JScrollPane;
-
-import CH.ifa.draw.framework.DrawingView;
-// JUnitDoclet end import
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class JScrollPaneDesktop extends JScrollPane implements Desktop {
-
-	private DesktopEventService myDesktopEventService;
-
-    public JScrollPaneDesktop() {
-		setDesktopEventService(createDesktopEventService());
-        setAlignmentX(LEFT_ALIGNMENT);
-		setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-    }
-
-	protected Component createContents(DrawingView dv) {
-		return (Component)dv;
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return getDesktopEventService().getActiveDrawingView();
-	}
-
-	public void addToDesktop(DrawingView dv, int location) {
-		getContainer().add(createContents(dv));
-	}
-
-	public void removeFromDesktop(DrawingView dv, int location) {
-		getDesktopEventService().removeComponent(dv);
-	}
-
-	public void removeAllFromDesktop(int location) {
-		getDesktopEventService().removeAllComponents();
-	}
-
-	public DrawingView[] getAllFromDesktop(int location) {
-		//This is overkill since we know we only have 1 component...
-		return getDesktopEventService().getDrawingViews(getComponents());
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().addDesktopListener(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().removeDesktopListener(dpl);
-	}
-
-	private Container getContainer() {
-		return getViewport();
-	}
-
-	protected DesktopEventService getDesktopEventService() {
-		return myDesktopEventService;
-	}
-
-	private void setDesktopEventService(DesktopEventService newDesktopEventService) {
-		myDesktopEventService = newDesktopEventService;
-	}
-
-	protected DesktopEventService createDesktopEventService() {
-		return new DesktopEventService(this, getContainer());
-	}
-
-	public void updateTitle(String newDrawingTitle) {
-		// should be setTitle but a JPanelDesktop has no own title bar
-		setName(newDrawingTitle);
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/Layoutable.java b/JHotDraw/src/CH/ifa/draw/contrib/Layoutable.java
deleted file mode 100644
index 3321abc02..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/Layoutable.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * @(#)Layouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.Figure;
-
-/**
- * A Layoutable is a target for a Layouter who lays out the Layoutable
- * according to its layout algorithm
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface Layoutable extends Figure {
-
-	/**
-	 * Layout the figure
-	 */
-	public void layout();
-
-	/**
-	 * Set the Layouter for this Layoutable
-	 *
-	 * @param newLayouter layouter
-	 */
-	public void setLayouter(Layouter newLayouter);
-	
-	/**
-	 * Return the Layouter for this Layoutable
-	 *
-	 * @return layouter
-	 */
-	public Layouter getLayouter();
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/Layouter.java b/JHotDraw/src/CH/ifa/draw/contrib/Layouter.java
deleted file mode 100644
index 79a7ba7a5..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/Layouter.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * @(#)Layouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.util.Storable;
-import java.io.Serializable;
-import java.awt.*;
-
-/**
- * A Layouter encapsulates a algorithm to layout
- * a figure. It is passed on to a figure which delegates the 
- * layout task to the Layouter's layout method. 
- * The Layouter might need access to some information 
- * specific to a certain figure in order to layout it out properly.
- *
- * Note: Currently, only the GraphicalCompositeFigure uses
- *       such a Layouter to layout its child components.
- *
- * @see		GraphicalCompositeFigure
- *
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface Layouter extends Serializable, Storable {
-
-	/**
-	 * Calculate the layout for the figure and all its
-	 * subelements. The layout is not actually performed but just
-	 * its dimensions are calculated.
-	 *
-	 * @param origin start point for the layout
-	 * @param corner minimum corner point for the layout
-	 * @return size including space for insets
-	 */	
-	public Rectangle calculateLayout(Point origin, Point corner);
-
-	/**
-	 * Method which lays out a figure. It is called by the figure
-	 * if a layout task is to be performed. Implementing classes
-	 * specify a certain layout algorithm in this method.
-	 *
-	 * @param origin start point for the layout
-	 * @param corner minimum corner point for the layout
-	 */	
-	public Rectangle layout(Point origin, Point corner);
-
-	/**
-	 * Set the insets for spacing between the figure and its subfigures
-	 *
-	 * @param newInsets new spacing dimensions
-	 */
-	public void setInsets(Insets newInsets);
-
-	/**
-	 * Get the insets for spacing between the figure and its subfigures
-	 *
-	 * @return spacing dimensions
-	 */	
-	public Insets getInsets();
-
-	/**
-	 * Create a new instance of this type and sets the layoutable
-	 */
-	public Layouter create(Layoutable newLayoutable);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/MDIDesktopPane.java b/JHotDraw/src/CH/ifa/draw/contrib/MDIDesktopPane.java
deleted file mode 100644
index 3d5e8d0e6..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/MDIDesktopPane.java
+++ /dev/null
@@ -1,636 +0,0 @@
-/*
- * @(#)MDIDesktopPane.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.standard.NullDrawingView;
-import CH.ifa.draw.application.DrawApplication;
-
-import javax.swing.*;
-import javax.swing.event.InternalFrameListener;
-import javax.swing.event.InternalFrameAdapter;
-import javax.swing.event.InternalFrameEvent;
-import java.awt.*;
-import java.beans.*;
-
-/**
- * An extension of JDesktopPane that supports often used MDI functionality. This
- * class also handles setting scroll bars for when windows move too far to the left or
- * bottom, providing the MDIDesktopPane is in a ScrollPane.
- * Note by dnoyeb: I dont know why the container does not fire frame close events when the frames
- * are removed from the container with remove as opposed to simply closed with the
- * "x".  so if you say removeAll from container you wont be notified.  No biggie.
- *
- * @author Wolfram Kaiser (adapted from an article in JavaWorld)
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MDIDesktopPane extends JDesktopPane implements Desktop {
-	private static int FRAME_OFFSET=20;
-	private MDIDesktopManager manager;
-	private DrawApplication myDrawApplication;
-	private DesktopEventService myDesktopEventService;
-
-	private DrawingView selectedView;
-
-	public MDIDesktopPane(DrawApplication newDrawApplication) {
-		setDesktopEventService(createDesktopEventService());
-		setDrawApplication(newDrawApplication);
-		manager=new MDIDesktopManager(this);
-		setDesktopManager(manager);
-		setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
-		setAlignmentX(JComponent.LEFT_ALIGNMENT);
-	}
-
-	protected InternalFrameListener internalFrameListener = new InternalFrameAdapter() {
-	    /**
-	     * Invoked when a internal frame has been opened.
-         * @see javax.swing.JInternalFrame#show
-		 * if dv is null assert
-         */
-	    public void internalFrameOpened(InternalFrameEvent e) {
-			DrawingView dv = Helper.getDrawingView(e.getInternalFrame());
-			fireDrawingViewAddedEvent(dv);
-	    }
-
-		/**
-		 * Invoked when an internal frame is in the process of being closed.
-		 * The close operation can be overridden at this point.
-		 * @see javax.swing.JInternalFrame#setDefaultCloseOperation
-		 */
-		//public void internalFrameClosing(InternalFrameEvent e) {
-		//}
-
-		/**
-		 * Invoked when an internal frame has been closed.
-		 * if dv is null assert
-		 * if this is the last view set it to null
-		 * @see javax.swing.JInternalFrame#setClosed
-		 */
-		public void internalFrameClosed(InternalFrameEvent e) {
-			DrawingView dv = Helper.getDrawingView(e.getInternalFrame());
-			if (getComponentCount() == 0){
-				DrawingView oldView = getActiveDrawingView();
-				setActiveDrawingView(NullDrawingView.getManagedDrawingView(oldView.editor()));
-				fireDrawingViewSelectedEvent(oldView, getActiveDrawingView());
-			}
-			fireDrawingViewRemovedEvent(dv);
-		}
-
-		/**
-		 * Invoked when an internal frame is iconified.
-		 * @see javax.swing.JInternalFrame#setIcon
-		 */
-		//public void internalFrameIconified(InternalFrameEvent e) {
-		//}
-
-		/**
-		 * Invoked when an internal frame is de-iconified.
-		 * @see javax.swing.JInternalFrame#setIcon
-		 */
-		//public void internalFrameDeiconified(InternalFrameEvent e) {
-		//}
-
-		/**
-		 * Invoked when an internal frame is activated.
-		 * @see javax.swing.JInternalFrame#setSelected
-		 * if this frame has a null drawingView then assert
-		 * because their should be no null frames being selected
-		 * this does not include NullDrawingView which is acceptable
-		 */
-		public void internalFrameActivated(InternalFrameEvent e) {
-			DrawingView dv = Helper.getDrawingView(e.getInternalFrame());
-			DrawingView oldView = getActiveDrawingView();
-			setActiveDrawingView(dv);
-			fireDrawingViewSelectedEvent(oldView, getActiveDrawingView());
-		}
-
-		//public void internalFrameDeactivated(InternalFrameEvent e) {
-		//}
-	};
-
-
-	protected void fireDrawingViewAddedEvent(final DrawingView dv) {
-		getDesktopEventService().fireDrawingViewAddedEvent(dv);
-	}
-
-	protected void fireDrawingViewRemovedEvent(final DrawingView dv) {
-		getDesktopEventService().fireDrawingViewRemovedEvent(dv);
-	}
-
-	protected void fireDrawingViewSelectedEvent(final DrawingView oldView, final DrawingView newView) {
-		getDesktopEventService().fireDrawingViewSelectedEvent(oldView, newView);
-	}
-
-/*	public void setBounds(int x, int y, int w, int h) {
-		super.setBounds(x,y,w,h);
-		checkDesktopSize();
-	}
-*/
-
-	protected Component createContents(DrawingView dv) {
-		JScrollPane sp = new JScrollPane((Component) dv);
-		sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-		sp.setAlignmentX(LEFT_ALIGNMENT);
-
-		String applicationTitle;
-		if (dv.drawing().getTitle() == null) {
-			applicationTitle = getDrawApplication().getApplicationName() + " - " + getDrawApplication().getDefaultDrawingTitle();
-		}
-		else {
-			applicationTitle = getDrawApplication().getApplicationName() + " - " + dv.drawing().getTitle();
-		}
-		JInternalFrame internalFrame = new JInternalFrame(applicationTitle, true, true, true, true);
-		internalFrame.setName(applicationTitle);
-		internalFrame.getContentPane().add(sp);
-		internalFrame.setSize(200,200);
-		return internalFrame;
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return selectedView;
-	}
-
-	protected void setActiveDrawingView(DrawingView newSelectedView) {
-		selectedView = newSelectedView;
-	}
-
-	public void updateTitle(String newDrawingTitle) {
-		getSelectedFrame().setTitle(newDrawingTitle);
-	}
-
-	/**
-	 * This must match the signature of the superclass it is overriding or the
-	 * method invocation may not resolve to this method unless it is called on
-	 * a reference of specifically MDIDesktopPane type.  So this must be
-	 * Component add(Component comp) in order to override its super class and
-	 * Component add(JInternalFrame frame) will not properly override the super-
-	 * class, but instead overload it.
-	 *
-	 * Note be sure to call this method and not add() when you want to add to the
-	 * desktop.  This allows complex desktops to be created.  For instance, you can
-	 * add split panes and scroll panes and such as normal with the add() method
-	 * but then to get to the actual desktop you would still call this method.
-	 */
-	public void addToDesktop(DrawingView dv, int location) {
-		JInternalFrame frame = (JInternalFrame)createContents(dv);
-		JInternalFrame[] array = getAllFrames();
-		Point p = null;
-		int w;
-		int h;
-
-		//should be done before added to desktop
-		frame.addInternalFrameListener(internalFrameListener);
-		super.add(frame);
-
-		checkDesktopSize();
-		if (array.length > 0) {
-			p = array[0].getLocation();
-			p.x = p.x + FRAME_OFFSET;
-			p.y = p.y + FRAME_OFFSET;
-		}
-		else {
-			p = new Point(0, 0);
-		}
-		frame.setLocation(p.x, p.y);
-		if (frame.isResizable()) {
-			w = getWidth() - (getWidth() / 3);
-			h = getHeight() - (getHeight() / 3);
-			if (w < frame.getMinimumSize().getWidth()) {
-				w = (int)frame.getMinimumSize().getWidth();
-			}
-			if (h < frame.getMinimumSize().getHeight()) {
-				h = (int)frame.getMinimumSize().getHeight();
-			}
-			frame.setSize(w, h);
-		}
-		moveToFront(frame);
-		frame.setVisible(true);
-		try {
-			frame.setSelected(true);
-		}
-		catch (PropertyVetoException e) {
-			frame.toBack();
-		}
-	}
-
-	public void removeFromDesktop(DrawingView dv, int location) {
-		Component[] comps = getComponents();
-		for (int x=0; x<comps.length; x++) {
-			if (dv == Helper.getDrawingView(comps[x])) {
-				((JInternalFrame)comps[x]).dispose();
-			    break;
-			}
-		}
-		checkDesktopSize();
-	}
-
-	public void removeAllFromDesktop(int location) {
-		JInternalFrame[] jifs = getAllFrames();
-		for (int x=0; x < jifs.length; x++) {
-			jifs[x].dispose();
-		}
-	}
-
-	public DrawingView[] getAllFromDesktop(int location){
-		Component[] comps = getComponents();
-		java.util.ArrayList al = new java.util.ArrayList();
-		for (int x=0; x<comps.length; x++) {
-			DrawingView dv = Helper.getDrawingView(comps[x]);
-			if (dv != null) {
-				al.add(dv);
-			}
-		}
-		DrawingView[] dvs = new DrawingView[al.size()];
-		al.toArray(dvs);
-		return dvs;
-	}
-/*
-	public void setSelectedDrawingView(DrawingView dv) {
-		Component[] comps = getComponents();
-		for (int x=0; x < comps.length; x++) {
-			DrawingView dv2 = Helper.getDrawingView(comps[x]);
-		    if (dv == dv2) {
-				JInternalFrame frame = (JInternalFrame)comps[x];
-				try {
-					//moveToFront(frame);
-					frame.setSelected(true);
-				}
-				catch(java.beans.PropertyVetoException pve) {
-				    System.out.println(pve);
-				}
-		    }
-		}
-	}
-*/
-	protected DesktopEventService getDesktopEventService() {
-		return myDesktopEventService;
-	}
-
-	private void setDesktopEventService(DesktopEventService newDesktopEventService) {
-		myDesktopEventService = newDesktopEventService;
-	}
-
-	protected DesktopEventService createDesktopEventService() {
-		return new DesktopEventService(this, this);
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().addDesktopListener(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().removeDesktopListener(dpl);
-	}
-
-	/**
-	 * Cascade all internal frames
-	 */
-	public void cascadeFrames() {
-		int x = 0;
-		int y = 0;
-		JInternalFrame[] allFrames = getAllFrames();
-
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-
-		manager.setNormalSize();
-
-		int frameHeight = (getBounds().height - 5) - allFrames.length * FRAME_OFFSET;
-		int frameWidth = (getBounds().width - 5) - allFrames.length * FRAME_OFFSET;
-		for (int i = allFrames.length - 1; i >= 0; i--) {
-			try {
-				allFrames[i].setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[i].setBounds(x, y, frameWidth, frameHeight);
-			x = x + FRAME_OFFSET;
-			y = y + FRAME_OFFSET;
-		}
-
-		checkDesktopSize();
-	}
-
-	/**
-	 * Tile all internal frames<br>
-	 *
-	 * @deprecated use tileFramesHorizontally() instead
-	 *
-	 */
-	public void tileFrames() {
-		tileFramesHorizontally();
-	}
-
-	public void tileFramesHorizontally() {
-		Component[] allFrames = getAllFrames();
-
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-
-		manager.setNormalSize();
-
-		int frameHeight = getBounds().height/allFrames.length;
-		int y = 0;
-		for (int i = 0; i < allFrames.length; i++) {
-			try {
-				((JInternalFrame)allFrames[i]).setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[i].setBounds(0, y, getBounds().width,frameHeight);
-			y = y + frameHeight;
-		}
-
-		checkDesktopSize();
-	}
-
-	public void tileFramesVertically() {
-		Component[] allFrames = getAllFrames();
-
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-		manager.setNormalSize();
-
-		int frameWidth = getBounds().width/allFrames.length;
-		int x = 0;
-		for (int i = 0; i < allFrames.length; i++) {
-			try {
-				((JInternalFrame)allFrames[i]).setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[i].setBounds(x, 0, frameWidth, getBounds().height);
-			x = x + frameWidth;
-		}
-
-		checkDesktopSize();
-	}
-
-	/**
-	 * Arranges the frames as efficiently as possibly with preference for
-	 * keeping vertical size maximal.<br>
-	 *
-	 */
-	public void arrangeFramesVertically() {
-		Component[] allFrames = getAllFrames();
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-
-		manager.setNormalSize();
-
-		int vertFrames = (int)Math.floor(Math.sqrt(allFrames.length));
-		int horFrames = (int)Math.ceil(Math.sqrt(allFrames.length));
-
-		// first arrange the windows that have equal size
-		int frameWidth = getBounds().width / horFrames;
-		int frameHeight = getBounds().height / vertFrames;
-		int x = 0;
-		int y = 0;
-		int frameIdx = 0;
-		for (int horCnt = 0; horCnt < horFrames-1; horCnt++) {
-			y = 0;
-			for (int vertCnt = 0; vertCnt < vertFrames; vertCnt++) {
-				try {
-					((JInternalFrame)allFrames[frameIdx]).setMaximum(false);
-				}
-				catch (PropertyVetoException e) {
-					e.printStackTrace();
-				}
-
-				allFrames[frameIdx].setBounds(x, y, frameWidth, frameHeight);
-				frameIdx++;
-				y = y + frameHeight;
-			}
-			x = x + frameWidth;
-		}
-
-		// the rest of the frames are tiled down on the last column with equal
-		// height
-		frameHeight = getBounds().height / (allFrames.length - frameIdx);
-		y = 0;
-		for (; frameIdx < allFrames.length; frameIdx++)
-		{
-			try {
-				((JInternalFrame)allFrames[frameIdx]).setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[frameIdx].setBounds(x, y, frameWidth, frameHeight);
-			y = y + frameHeight;
-		}
-
-		checkDesktopSize();
-	}
-
-	/**
-	 * Arranges the frames as efficiently as possibly with preference for
-	 * keeping horizontal size maximal.<br>
-	 *
-	 */
-	public void arrangeFramesHorizontally() {
-		Component[] allFrames = getAllFrames();
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-
-		manager.setNormalSize();
-
-		int vertFrames = (int)Math.ceil(Math.sqrt(allFrames.length));
-		int horFrames = (int)Math.floor(Math.sqrt(allFrames.length));
-
-		// first arrange the windows that have equal size
-		int frameWidth = getBounds().width / horFrames;
-		int frameHeight = getBounds().height / vertFrames;
-		int x = 0;
-		int y = 0;
-		int frameIdx = 0;
-		for (int vertCnt = 0; vertCnt < vertFrames-1; vertCnt++) {
-			x = 0;
-			for (int horCnt = 0; horCnt < horFrames; horCnt++) {
-				try {
-					((JInternalFrame)allFrames[frameIdx]).setMaximum(false);
-				}
-				catch (PropertyVetoException e) {
-					e.printStackTrace();
-				}
-
-				allFrames[frameIdx].setBounds(x, y, frameWidth, frameHeight);
-				frameIdx++;
-				x = x + frameWidth;
-			}
-			y = y + frameHeight;
-		}
-
-		// the rest of the frames are tiled down on the last column with equal
-		// height
-		frameWidth = getBounds().width / (allFrames.length - frameIdx);
-		x = 0;
-		for (; frameIdx < allFrames.length; frameIdx++) {
-			try {
-				((JInternalFrame)allFrames[frameIdx]).setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[frameIdx].setBounds(x, y, frameWidth, frameHeight);
-			x = x + frameWidth;
-		}
-
-		checkDesktopSize();
-	}
-
-	/**
-	 * Sets all component size properties ( maximum, minimum, preferred)
-	 * to the given dimension.
-	 */
-	public void setAllSize(Dimension d) {
-		setMinimumSize(d);
-		setMaximumSize(d);
-		setPreferredSize(d);
-		setBounds(0, 0, d.width, d.height);
-	}
-
-	/**
-	 * Sets all component size properties ( maximum, minimum, preferred)
-	 * to the given width and height.
-	 */
-	public void setAllSize(int width, int height) {
-		setAllSize(new Dimension(width,height));
-	}
-
-	private void checkDesktopSize() {
-		if ((getParent() != null) && isVisible()) {
-			manager.resizeDesktop();
-		}
-	}
-
-	private void setDrawApplication(DrawApplication newDrawApplication) {
-		myDrawApplication = newDrawApplication;
-	}
-
-	protected DrawApplication getDrawApplication() {
-		return myDrawApplication;
-	}
-}
-
-/**
- * Private class used to replace the standard DesktopManager for JDesktopPane.
- * Used to provide scrollbar functionality.
- */
-class MDIDesktopManager extends DefaultDesktopManager {
-	private MDIDesktopPane desktop;
-
-	public MDIDesktopManager(MDIDesktopPane newDesktop) {
-		this.desktop = newDesktop;
-	}
-
-	public void endResizingFrame(JComponent f) {
-		super.endResizingFrame(f);
-		resizeDesktop();
-	}
-
-	public void endDraggingFrame(JComponent f) {
-		super.endDraggingFrame(f);
-		resizeDesktop();
-	}
-
-	public void setNormalSize() {
-		JScrollPane scrollPane = getScrollPane();
-		Insets scrollInsets = getScrollPaneInsets();
-
-		if (scrollPane != null) {
-			Dimension d = scrollPane.getVisibleRect().getSize();
-			if (scrollPane.getBorder() != null) {
-			   d.setSize(d.getWidth() - scrollInsets.left - scrollInsets.right,
-						 d.getHeight() - scrollInsets.top - scrollInsets.bottom);
-			}
-
-			d.setSize(d.getWidth() - 20, d.getHeight() - 20);
-			desktop.setAllSize(d);
-			scrollPane.invalidate();
-			scrollPane.validate();
-		}
-	}
-
-	private Insets getScrollPaneInsets() {
-		JScrollPane scrollPane = getScrollPane();
-		if ((scrollPane == null) || (getScrollPane().getBorder() == null)) {
-			return new Insets(0, 0, 0, 0);
-		}
-		else {
-			return getScrollPane().getBorder().getBorderInsets(scrollPane);
-		}
-	}
-
-	public JScrollPane getScrollPane() {
-		if (desktop.getParent() instanceof JViewport) {
-			JViewport viewPort = (JViewport)desktop.getParent();
-			if (viewPort.getParent() instanceof JScrollPane)
-				return (JScrollPane)viewPort.getParent();
-		}
-		return null;
-	}
-
-	protected void resizeDesktop() {
-		int x = 0;
-		int y = 0;
-		JScrollPane scrollPane = getScrollPane();
-		Insets scrollInsets = getScrollPaneInsets();
-
-		if (scrollPane != null) {
-			JInternalFrame allFrames[] = desktop.getAllFrames();
-			for (int i = 0; i < allFrames.length; i++) {
-				if (allFrames[i].getX() + allFrames[i].getWidth() > x) {
-					x = allFrames[i].getX() + allFrames[i].getWidth();
-				}
-				if (allFrames[i].getY() + allFrames[i].getHeight() > y) {
-					y = allFrames[i].getY() + allFrames[i].getHeight();
-				}
-			}
-			Dimension d=scrollPane.getVisibleRect().getSize();
-			if (scrollPane.getBorder() != null) {
-			   d.setSize(d.getWidth() - scrollInsets.left - scrollInsets.right,
-						 d.getHeight() - scrollInsets.top - scrollInsets.bottom);
-			}
-
-			if (x <= d.getWidth()) {
-				x = ((int)d.getWidth()) - 20;
-			}
-			if (y <= d.getHeight()) {
-				y = ((int)d.getHeight()) - 20;
-			}
-			desktop.setAllSize(x,y);
-			scrollPane.invalidate();
-			scrollPane.validate();
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/MDI_DrawApplication.java b/JHotDraw/src/CH/ifa/draw/contrib/MDI_DrawApplication.java
deleted file mode 100644
index ede1fcd82..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/MDI_DrawApplication.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * @(#)MDI_DrawApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.application.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.contrib.dnd.DragNDropTool;
-
-import javax.swing.*;
-
-/**
- * Many applications have the ability to deal with multiple internal windows.
- * MDI_DrawApplications provides the basic facilities to make use of MDI in
- * JHotDraw. Its main tasks are to create a content for DrawApplications, which
- * is embedded in internal frames, to maintain a list with all internal frames
- * and to manage the switching between them.
- *
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MDI_DrawApplication extends DrawApplication {
-
-	/**
-	 * Constructs a drawing window with a default title.
-	 */
-	public MDI_DrawApplication() {
-		this("JHotDraw");
-	}
-
-	/**
-	 * Constructs a drawing window with the given title.
-	 */
-	public MDI_DrawApplication(String title) {
-		super(title);
-	}
-
-	/**
-	 * Factory method which can be overriden by subclasses to
-	 * create an instance of their type.
-	 *
-	 * @return	newly created application
-	 */
-	protected DrawApplication createApplication() {
-		return new MDI_DrawApplication();
-	}
-
-	/**
-	 * Creates the tools. By default only the selection tool is added.
-	 * Override this method to add additional tools.
-	 * Call the inherited method to include the selection tool.
-	 * @param palette the palette where the tools are added.
-	 */
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-		Tool tool = new DragNDropTool(this);
-		ToolButton tb = createToolButton(IMAGES+"SEL", "Drag N Drop Tool", tool);
-		palette.add( tb );
-	}
-
-	/**
-	 * Opens a new internal frame containing a new drawing.
-	 */
-	public void promptNew() {
-		newWindow(createDrawing());
-	}
-
-	/**
-	 * Method to create a new internal frame.  Applications that want
-	 * to create a new internal drawing view should call this method.
-	 */
-	public void newWindow(Drawing newDrawing) {
-		DrawingView newView = createDrawingView(newDrawing);
-		getDesktop().addToDesktop(newView, Desktop.PRIMARY);
-		toolDone();
-	}
-
-	/**
-	 * Create the DrawingView that is active when the application is started.
-	 * This initial DrawingView might be different from DrawingView created
-	 * by the application, so subclasses can override this method to provide
-	 * a special drawing view for application startup time, e.g. a NullDrawingView
-	 * which does not display an internal frame in a multiple document interface
-	 * (MDI) application.
-	 *
-	 * @return drawing view that is active at application startup time
-	 */
-	protected DrawingView createInitialDrawingView() {
-		return NullDrawingView.getManagedDrawingView(this);
-	}
-
-	/**
-	 * Open a new view for this application containing a
-	 * view of the drawing of the currently activated window.
-	 */
-	public void newView() {
-		if (!view().isInteractive()) {
-			return;
-		}
-
-		// create new window with view to an existing drawing
-		newWindow(view().drawing());
-
-		String copyTitle = getDrawingTitle();
-		if (copyTitle != null) {
-			setDrawingTitle(copyTitle);
-		}
-		else {
-			setDrawingTitle(getDefaultDrawingTitle());
-		}
-	}
-
-	/**
-	 * Factory method to create a specialized desktop (manager) for MDI applications
-	 */
-	protected Desktop createDesktop() {
-		return new MDIDesktopPane(this);
-	}
-
-	/**
-	 * Returns all the views in the application
-	 */
-	public DrawingView[] views() {
-		return getDesktop().getAllFromDesktop(Desktop.PRIMARY);
-	}
-
-	public String getDefaultDrawingTitle() {
-		return super.getDefaultDrawingTitle() + views().length;
-	}
-
-	/**
-	 * Set the title of the currently selected drawing
-	 */
-	protected void setDrawingTitle(String drawingTitle) {
-		getDesktop().updateTitle(drawingTitle);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/MiniMapView.java b/JHotDraw/src/CH/ifa/draw/contrib/MiniMapView.java
deleted file mode 100644
index 81d38e98a..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/MiniMapView.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * @(#)MiniMapView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.framework.DrawingChangeEvent;
-import CH.ifa.draw.framework.DrawingChangeListener;
-
-import java.awt.*;
-import java.awt.event.*;
-import java.awt.geom.*;
-import javax.swing.*;
-import javax.swing.event.*;
-
-/**
- * Utility component for enhancing component scrolling.  It provides a "minature" view of the entire contents of a JScrollPane
- * and the means to scroll that JScrollPane by moving a rectangle representing the viewable area of the JScrollPane.  If the
- * user clicks on an area inside of the MiniMapView, the JScrollPane's view is centered on that area.  The user may also drag
- * the rectangle representation of the JScrollPane's view around the MiniMap to scroll.
- *
- * @author	S. Ruman (sruman@rogers.com)
- * @version <$CURRENT_VERSION$>
- */
-public class MiniMapView extends JComponent {
-// Instance Variables
-	private JScrollPane m_subject;
-	private DrawingView myMappedDrawingView;
-	private SubjectListener m_subjectListener;
-	private DrawingChangeListener myDrawingChangeListener;
-	private Color m_viewBoxColor = Color.red;
-
-// Constructors
-	public MiniMapView(DrawingView newMappedDrawingView, JScrollPane subject) {
-		m_subjectListener = new SubjectListener();
-		setSubject(subject);
-		setMappedDrawingView(newMappedDrawingView);
-		myDrawingChangeListener = new MappedDrawingChangeListener();
-		getMappedDrawingView().drawing().addDrawingChangeListener(myDrawingChangeListener);
-		MouseListener ml = new MouseListener();
-		addMouseListener(new MouseListener());
-		addMouseMotionListener(ml);
-	}
-
-	protected void setMappedDrawingView(DrawingView newMappedDrawingView) {
-		myMappedDrawingView = newMappedDrawingView;
-	}
-
-	public DrawingView getMappedDrawingView() {
-		return myMappedDrawingView;
-	}
-
-// accessors
-	protected void setSubject(JScrollPane subject) {
-		if (m_subject != null) {
-			m_subject.getViewport().removeChangeListener(m_subjectListener);
-		}
-
-		m_subject = subject;
-		if (m_subject != null) {
-			m_subject.getViewport().addChangeListener(m_subjectListener);
-		}
-
-		repaint();
-	}
-
-	public JScrollPane getSubject() {
-		return m_subject;
-	}
-
-	public Color getViewBowColor() {
-		return m_viewBoxColor;
-	}
-
-	public void setViewBoxColor(Color c) {
-		m_viewBoxColor = c;
-		repaint();
-	}
-
-	/**
-	 * @return	The component that is actually being "mini-mapped", that is the component inside the scroll pane
-	 */
-	protected Component getMappedComponent() {
-		return (Component)getMappedDrawingView();
-	}
-
-// Overridden
-	public void paint(Graphics g) {
-		Graphics2D g2d = (Graphics2D)g;
-
-		// Paint a small map representation of the subjects contents
-		Component mappedComponent = getMappedComponent();
-		AffineTransform at = getViewToMiniMapTransform(mappedComponent);
-		g2d.transform(at);
-
-		getMappedDrawingView().drawAll(g2d);
-
-		// Draw a rectangle representing the viewable area
-		drawViewRectangle(g2d, getViewRectangle());
-	}
-
-	// side-effect of setting the transform on g2d to identity
-	protected void drawViewRectangle(Graphics2D g2d, Rectangle viewPortRectangle) {
-		AffineTransform at = new AffineTransform();
-		at.setToIdentity();
-		g2d.setTransform(at);
-
-		g2d.setColor(m_viewBoxColor);
-		g2d.draw(viewPortRectangle);
-	}
-
-	protected AffineTransform getViewToMiniMapTransform(Component mappedComponent) {
-		double scaleX = ((double)getWidth()) / ((double)mappedComponent.getWidth());
-		double scaleY = ((double)getHeight()) / ((double)mappedComponent.getHeight());
-
-		AffineTransform at = getInverseSubjectTransform();		// for subclass flexibility
-		at.concatenate(AffineTransform.getScaleInstance(scaleX, scaleY));
-		return at;
-	}
-
-	/**
-	 * Allows subclasses to modify the transformation used in creating the mini-map
-	 */
-	protected AffineTransform getInverseSubjectTransform() {
-		AffineTransform at = new AffineTransform();
-		at.setToIdentity();
-		return at;
-	}
-
-	/**
-	 * @return	The rectangle (in Mini-Map world-coordinates) representing the area being viewed inside of the scroll pane subject
-	 */
-	protected Rectangle getViewRectangle() {
-		Rectangle visiblePortion = m_subject.getViewportBorderBounds();
-		Point upperLeftViewPos = m_subject.getViewport().getViewPosition();
-		double [] srcRecCorners = new double[4];
-		double [] dstRecCorners = new double[4];
-
-		srcRecCorners[0] = upperLeftViewPos.x + visiblePortion.getX(); srcRecCorners[1] = upperLeftViewPos.y + visiblePortion.getY(); srcRecCorners[2] = upperLeftViewPos.x + visiblePortion.getX() + visiblePortion.getWidth(); srcRecCorners[3] = upperLeftViewPos.y + visiblePortion.getY() + visiblePortion.getHeight();
-		getViewToMiniMapTransform(getMappedComponent()).transform(srcRecCorners, 0, dstRecCorners, 0, srcRecCorners.length/2);	// transform the coordinates to MiniMapView coordinates
-
-		return new Rectangle((int)dstRecCorners[0], (int)dstRecCorners[1], (int)(dstRecCorners[2] - dstRecCorners[0]), (int)(dstRecCorners[3] - dstRecCorners[1]));
-	}
-
-	/**
-	 * Scrolls the subject scroll pane to the coordinates specified.
-	 * @param		upperLeftX		The new upper left corner X-coordinate (in subject world-coordinates) of the subject scroll pane
-	 * @param		upperLeftY		The new upper left corner Y-coordinate (in subject world-coordinates) of the subject scroll pane
-	 */
-	protected void scrollSubjectTo(int upperLeftX, int upperLeftY) {
-		AffineTransform at = null;
-		try {
-			at = getViewToMiniMapTransform(getMappedComponent()).createInverse();
-		}
-		catch (NoninvertibleTransformException nite) {
-			nite.printStackTrace();
-			return;
-		}
-
-		double [] srcPoints = new double[2];
-		double [] destPoints = new double[2];
-		srcPoints[0] = upperLeftX;
-		srcPoints[1] = upperLeftY;
-		at.transform(srcPoints, 0, destPoints, 0, 1);
-
-		if (destPoints[0] < 0) {
-			destPoints[0] = 0;
-		}
-		if (destPoints[1] < 0) {
-			destPoints[1] = 0;
-		}
-
-		m_subject.getViewport().setViewPosition(new Point((int)destPoints[0], (int)destPoints[1]));
-	}
-
-	protected int [] getUpperLeftPointsFromCenter(int centerX, int centerY) {
-		int [] upperLeft = new int[2];
-		Rectangle oldRectangle = getViewRectangle();
-		upperLeft[0] = centerX - oldRectangle.width/2;
-		upperLeft[1] = centerY - oldRectangle.height/2;
-
-        /*
-         * JP, 25-May-03: Avoid positioning of the rectangle outside the
-         * available area. Resulted in very strange artifacts on the screen.
-         */
-        if (upperLeft[0] + oldRectangle.width > getX() + getWidth()) {
-            upperLeft[0] = getX() + getWidth() - oldRectangle.width;
-        }
-
-        if (upperLeft[1] + oldRectangle.height > getY() + getHeight()) {
-            upperLeft[1] = getY() + getHeight() - oldRectangle.height;
-        }
-        
-		return upperLeft;
-	}
-
-	// Inner Classes
-	public class MouseListener extends MouseAdapter implements MouseMotionListener  {
-		public void mousePressed(MouseEvent e) {
-			int [] rectangleUpperLeft = getUpperLeftPointsFromCenter(e.getX(), e.getY());
-			scrollSubjectTo(rectangleUpperLeft[0], rectangleUpperLeft[1]);
-		}
-
-		public void mouseDragged(MouseEvent e) {
-			int [] rectangleUpperLeft = getUpperLeftPointsFromCenter(e.getX(), e.getY());
-			scrollSubjectTo(rectangleUpperLeft[0], rectangleUpperLeft[1]);
-		}
-
-		public void mouseMoved(MouseEvent e) {
-			// empty implementation
-		}
-	}
-
-	class SubjectListener implements ChangeListener {
-		public void stateChanged(ChangeEvent e) {
-			repaint();
-		}
-	}
-
-	class MappedDrawingChangeListener implements DrawingChangeListener {
-		/**
-		 *  Sent when an area is invalid
-		 */
-		public void drawingInvalidated(DrawingChangeEvent e) {
-			repaint();
-		}
-
-		/**
-		 *  Sent when the drawing wants to be refreshed
-		 */
-		public void drawingRequestUpdate(DrawingChangeEvent e) {
-			repaint();
-		}
-        
-        /**  
-         *  Sent when the drawing Title has changed
-         */
-        public void drawingTitleChanged(DrawingChangeEvent e) {
-        }
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/NestedCreationTool.java b/JHotDraw/src/CH/ifa/draw/contrib/NestedCreationTool.java
deleted file mode 100644
index f55a1ab46..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/NestedCreationTool.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * @(#)CreationTool2.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.standard.CreationTool;
-import CH.ifa.draw.standard.CompositeFigure;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.DrawingEditor;
-
-import java.awt.event.MouseEvent;
-
-/**
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class NestedCreationTool extends CreationTool {
-	private CompositeFigure myContainerFigure;
-
-	public NestedCreationTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		Figure figure = drawing().findFigure(e.getX(), e.getY());
-		if (figure != null) {
-			figure = figure.getDecoratedFigure();
-			if (figure instanceof CompositeFigure) {
-				setContainerFigure((CompositeFigure)figure);
-				super.mouseDown(e, x, y);
-			}
-			else {
-				toolDone();
-			}
-		}
-		else {
-			toolDone();
-		}
-	}
-
-	public void mouseMove(MouseEvent e, int x, int y) {
-		if ((getContainerFigure() != null) && !getContainerFigure().containsPoint(e.getX(), e.getY())) {
-			// here you might want to constrain the mouse movements to the size of the
-			// container figure: not sure whether this works...
-			toolDone();
-		}
-		else {
-			super.mouseMove(e, x, y);
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if ((getContainerFigure() != null) && (getCreatedFigure() != null)
-				&& getContainerFigure().containsPoint(e.getX(), e.getY())) {
-			getContainerFigure().add(getCreatedFigure());
-		}
-		toolDone();
-	}
-
-	protected void setContainerFigure(CompositeFigure newContainerFigure) {
-		myContainerFigure = newContainerFigure;
-	}
-
-	public CompositeFigure getContainerFigure() {
-		return myContainerFigure;
-	}
-
-	protected void toolDone() {
-		setCreatedFigure(null);
-		setAddedFigure(null);
-		setContainerFigure(null);
-		editor().toolDone();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/PolygonFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/PolygonFigure.java
deleted file mode 100644
index 107d821ef..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/PolygonFigure.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/*
- * @(#)PolygonFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-import java.io.IOException;
-
-/**
- * A scalable, rotatable polygon with an arbitrary number of points
- * Based on PolyLineFigure
- *
- * @author Doug Lea  (dl at gee, Fri Feb 28 07:47:05 1997)
- * @version <$CURRENT_VERSION$>
- */
-public  class PolygonFigure extends AttributeFigure {
-
-	/**
-	 * Distance threshold for smoothing away or locating points
-	 **/
-	static final int TOO_CLOSE = 2;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 6254089689239215026L;
-	private int polygonFigureSerializedDataVersion = 1;
-
-	private Polygon fPoly;
-
-	public PolygonFigure() {
-		super();
-		setInternalPolygon(new Polygon());
-	}
-
-	public PolygonFigure(int x, int y) {
-		this();
-		getInternalPolygon().addPoint(x, y);
-	}
-
-	public PolygonFigure(Polygon p) {
-		setInternalPolygon(new Polygon(p.xpoints, p.ypoints, p.npoints));
-	}
-
-	public Rectangle displayBox() {
-		return bounds(getInternalPolygon());
-	}
-
-
-	public boolean isEmpty() {
-		return ((pointCount() < 3) ||
-				((size().width < TOO_CLOSE) && (size().height < TOO_CLOSE)));
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList(pointCount());
-		for (int i = 0; i < pointCount(); i++) {
-			handles.add(new PolygonHandle(this, locator(i), i));
-		}
-		handles.add(new PolygonScaleHandle(this));
-		return new HandleEnumerator(handles);
-	}
-
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		Rectangle r = displayBox();
-		int dx = origin.x - r.x;
-		int dy = origin.y - r.y;
-		getInternalPolygon().translate(dx, dy);
-		r = displayBox();
-		Point oldCorner = new Point(r.x + r.width, r.y + r.height);
-		scaleRotate(oldCorner, getInternalPolygon(), corner);
-	}
-
-	/**
-	 * @return a copy of the internal polygon
-	 **/
-	public Polygon getPolygon() {
-		return new Polygon(fPoly.xpoints, fPoly.ypoints, fPoly.npoints);
-	}
-
-	protected void setInternalPolygon(Polygon newPolygon) {
-		fPoly = newPolygon;
-	}
-
-	public Polygon getInternalPolygon() {
-		return fPoly;
-	}
-
-	public Point center() {
-		return center(getInternalPolygon());
-	}
-
-	public Iterator points() {
-		List pts = CollectionsFactory.current().createList(pointCount());
-		for (int i = 0; i < pointCount(); ++i) {
-			pts.add(new Point(getInternalPolygon().xpoints[i],
-									 getInternalPolygon().ypoints[i]));
-		}
-		return pts.iterator();
-	}
-
-	public int pointCount() {
-		return getInternalPolygon().npoints;
-	}
-
-	public void basicMoveBy(int dx, int dy) {
-		getInternalPolygon().translate(dx, dy);
-	}
-
-	public void drawBackground(Graphics g) {
-		g.fillPolygon(getInternalPolygon());
-	}
-
-	public void drawFrame(Graphics g) {
-		g.drawPolygon(getInternalPolygon());
-	}
-
-	public boolean containsPoint(int x, int y) {
-		return getInternalPolygon().contains(x, y);
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new ChopPolygonConnector(this);
-	}
-
-	/**
-	 * Adds a node to the list of points.
-	 */
-	public void addPoint(int x, int y) {
-		getInternalPolygon().addPoint(x, y);
-		changed();
-	}
-
-
-	/**
-	 * Changes the position of a node.
-	 */
-	public void setPointAt(Point p, int i) {
-		willChange();
-		getInternalPolygon().xpoints[i] = p.x;
-		getInternalPolygon().ypoints[i] = p.y;
-		changed();
-	}
-
-	/**
-	 * Insert a node at the given point.
-	 */
-	public void insertPointAt(Point p, int i) {
-		willChange();
-		int n = pointCount() + 1;
-		int[] xs = new int[n];
-		int[] ys = new int[n];
-		for (int j = 0; j < i; ++j) {
-			xs[j] = getInternalPolygon().xpoints[j];
-			ys[j] = getInternalPolygon().ypoints[j];
-		}
-		xs[i] = p.x;
-		ys[i] = p.y;
-		for (int j = i; j < pointCount(); ++j) {
-			xs[j + 1] = getInternalPolygon().xpoints[j];
-			ys[j + 1] = getInternalPolygon().ypoints[j];
-		}
-
-		setInternalPolygon(new Polygon(xs, ys, n));
-		changed();
-	}
-
-	public void removePointAt(int i) {
-		willChange();
-		int n = pointCount() - 1;
-		int[] xs = new int[n];
-		int[] ys = new int[n];
-		for (int j = 0; j < i; ++j) {
-			xs[j] = getInternalPolygon().xpoints[j];
-			ys[j] = getInternalPolygon().ypoints[j];
-		}
-		for (int j = i; j < n; ++j) {
-			xs[j] = getInternalPolygon().xpoints[j + 1];
-			ys[j] = getInternalPolygon().ypoints[j + 1];
-		}
-		setInternalPolygon(new Polygon(xs, ys, n));
-		changed();
-	}
-
-	/**
-	 * Scale and rotate relative to anchor
-	 **/
-	public  void scaleRotate(Point anchor, Polygon originalPolygon, Point p) {
-		willChange();
-
-		// use center to determine relative angles and lengths
-		Point ctr = center(originalPolygon);
-		double anchorLen = Geom.length(ctr.x, ctr.y, anchor.x, anchor.y);
-
-		if (anchorLen > 0.0) {
-			double newLen = Geom.length(ctr.x, ctr.y, p.x, p.y);
-			double ratio = newLen / anchorLen;
-
-			double anchorAngle = Math.atan2(anchor.y - ctr.y, anchor.x - ctr.x);
-			double newAngle = Math.atan2(p.y - ctr.y, p.x - ctr.x);
-			double rotation = newAngle - anchorAngle;
-
-			int n = originalPolygon.npoints;
-			int[] xs = new int[n];
-			int[] ys = new int[n];
-
-			for (int i = 0; i < n; ++i) {
-				int x = originalPolygon.xpoints[i];
-				int y = originalPolygon.ypoints[i];
-				double l = Geom.length(ctr.x, ctr.y, x, y) * ratio;
-				double a = Math.atan2(y - ctr.y, x - ctr.x) + rotation;
-				xs[i] = (int)(ctr.x + l * Math.cos(a) + 0.5);
-				ys[i] = (int)(ctr.y + l * Math.sin(a) + 0.5);
-			}
-			setInternalPolygon(new Polygon(xs, ys, n));
-		}
-		changed();
-	}
-
-
-	/**
-	 * Remove points that are nearly colinear with others
-	 **/
-	public void smoothPoints() {
-		willChange();
-		boolean removed = false;
-		int n = pointCount();
-		do {
-			removed = false;
-			int i = 0;
-			while (i < n && n >= 3) {
-				int nxt = (i + 1) % n;
-				int prv = (i - 1 + n) % n;
-
-				if ((Geom.distanceFromLine(getInternalPolygon().xpoints[prv],
-						getInternalPolygon().ypoints[prv],
-						getInternalPolygon().xpoints[nxt],
-						getInternalPolygon().ypoints[nxt],
-						getInternalPolygon().xpoints[i],
-						getInternalPolygon().ypoints[i]) < TOO_CLOSE)) {
-					removed = true;
-					--n;
-					for (int j = i; j < n; ++j) {
-						getInternalPolygon().xpoints[j] = getInternalPolygon().xpoints[j + 1];
-						getInternalPolygon().ypoints[j] = getInternalPolygon().ypoints[j + 1];
-					}
-				}
-				else {
-					++i;
-				}
-			}
-		} while(removed);
-		if (n != pointCount()) {
-			setInternalPolygon(new Polygon(getInternalPolygon().xpoints,
-											getInternalPolygon().ypoints, n));
-		}
-		changed();
-	}
-
-	/**
-	 * Splits the segment at the given point if a segment was hit.
-	 * @return the index of the segment or -1 if no segment was hit.
-	 */
-	public int splitSegment(int x, int y) {
-		int i = findSegment(x, y);
-		if (i != -1) {
-			insertPointAt(new Point(x, y), i+1);
-			return i + 1;
-		}
-		else {
-			return -1;
-		}
-	}
-
-	public Point pointAt(int i) {
-		return new Point(getInternalPolygon().xpoints[i],
-						 getInternalPolygon().ypoints[i]);
-	}
-
-	/**
-	 * Return the point on the polygon that is furthest from the center
-	 **/
-	public Point outermostPoint() {
-		Point ctr = center();
-		int outer = 0;
-		long dist = 0;
-
-		for (int i = 0; i < pointCount(); ++i) {
-			long d = Geom.length2(ctr.x, ctr.y,
-								getInternalPolygon().xpoints[i],
-								getInternalPolygon().ypoints[i]);
-			if (d > dist) {
-				dist = d;
-				outer = i;
-			}
-		}
-
-		return new Point(getInternalPolygon().xpoints[outer], getInternalPolygon().ypoints[outer]);
-	}
-
-
-	/**
-	 * Gets the segment that is hit by the given point.
-	 * @return the index of the segment or -1 if no segment was hit.
-	 */
-	public int findSegment(int x, int y) {
-		double dist = TOO_CLOSE;
-		int best = -1;
-
-		for (int i = 0; i < pointCount(); i++) {
-			int n = (i + 1) % pointCount();
-			double d =  Geom.distanceFromLine(getInternalPolygon().xpoints[i],
-							getInternalPolygon().ypoints[i],
-							getInternalPolygon().xpoints[n],
-							getInternalPolygon().ypoints[n], x, y);
-			if (d < dist) {
-				dist = d;
-				best = i;
-			}
-		}
-		return best;
-	}
-
-	public Point chop(Point p) {
-		return chop(getInternalPolygon(), p);
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(pointCount());
-		for (int i = 0; i < pointCount(); ++i) {
-			dw.writeInt(getInternalPolygon().xpoints[i]);
-			dw.writeInt(getInternalPolygon().ypoints[i]);
-		}
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		int size = dr.readInt();
-		int[] xs = new int[size];
-		int[] ys = new int[size];
-		for (int i = 0; i < size; i++) {
-			xs[i] = dr.readInt();
-			ys[i] = dr.readInt();
-		}
-		setInternalPolygon(new Polygon(xs, ys, size));
-	}
-
-	/**
-	 * Creates a locator for the point with the given index.
-	 */
-	public static Locator locator(final int pointIndex) {
-		return new AbstractLocator() {
-			public Point locate(Figure owner) {
-				PolygonFigure plf = (PolygonFigure)owner;
-				// guard against changing PolygonFigures -> temporary hack
-				if (pointIndex < plf.pointCount()) {
-					return ((PolygonFigure)owner).pointAt(pointIndex);
-				}
-				return new Point(-1, -1);
-			}
-		};
-	}
-
-	/**
-	 * replacement for builtin Polygon.getBounds that doesn't always update?
-	 */
-	public static Rectangle bounds(Polygon p) {
-		int minx = Integer.MAX_VALUE;
-		int miny = Integer.MAX_VALUE;
-		int maxx = Integer.MIN_VALUE;
-		int maxy = Integer.MIN_VALUE;
-		int n = p.npoints;
-		for (int i = 0; i < n; i++) {
-			int x = p.xpoints[i];
-			int y = p.ypoints[i];
-			if (x > maxx) {
-				maxx = x;
-			}
-			if (x < minx) {
-				minx = x;
-			}
-			if (y > maxy) {
-				maxy = y;
-			}
-			if (y < miny) {
-				miny = y;
-			}
-		}
-
-		return new Rectangle(minx, miny, maxx - minx, maxy - miny);
-	}
-
-	public static Point center(Polygon p) {
-		long sx = 0;
-		long sy = 0;
-		int n = p.npoints;
-		for (int i = 0; i < n; i++) {
-			sx += p.xpoints[i];
-			sy += p.ypoints[i];
-		}
-
-		return new Point((int)(sx / n), (int)(sy / n));
-	}
-
-	public static Point chop(Polygon poly, Point p) {
-		Point ctr = center(poly);
-		int cx = -1;
-		int cy = -1;
-		long len = Long.MAX_VALUE;
-
-		// Try for points along edge
-
-		for (int i = 0; i < poly.npoints; ++i) {
-			int nxt = (i + 1) % poly.npoints;
-			Point chop = Geom.intersect(poly.xpoints[i],
-										 poly.ypoints[i],
-										 poly.xpoints[nxt],
-										 poly.ypoints[nxt],
-										 p.x,
-										 p.y,
-										 ctr.x,
-										 ctr.y);
-			if (chop != null) {
-				long cl = Geom.length2(chop.x, chop.y, p.x, p.y);
-				if (cl < len) {
-					len = cl;
-					cx = chop.x;
-					cy = chop.y;
-				}
-			}
-		}
-		// if none found, pick closest vertex
-		//if (len ==  Long.MAX_VALUE) {
-		{ // try anyway
-			for (int i = 0; i < poly.npoints; ++i) {
-				long l = Geom.length2(poly.xpoints[i], poly.ypoints[i], p.x, p.y);
-				if (l < len) {
-					len = l;
-					cx = poly.xpoints[i];
-					cy = poly.ypoints[i];
-				}
-			}
-		}
-		return new Point(cx, cy);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/PolygonHandle.java b/JHotDraw/src/CH/ifa/draw/contrib/PolygonHandle.java
deleted file mode 100644
index 93ce88f1e..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/PolygonHandle.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * @(#)PolygonHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.PolyLineHandle;
-import CH.ifa.draw.util.Undoable;
-import java.awt.Point;
-
-/**
- * A handle for a node on the polygon.
- * Based on PolyLineHandle
- *
- * @author Doug Lea  (dl at gee, Fri Feb 28 07:47:13 1997)
- * @version <$CURRENT_VERSION$>
- */
-public class PolygonHandle extends AbstractHandle {
-	
-	private Locator fLocator;
-	private int fIndex;
-	
-	/**
-	* Constructs a polygon handle.
-	* @param owner the owning polygon figure.
-	* @param l the locator
-	* @param index the index of the node associated with this handle.
-	*/
-	public PolygonHandle(PolygonFigure owner, Locator l, int index) {
-		super(owner);
-		fLocator = l;
-		fIndex = index;
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view, fIndex));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-		((PolygonHandle.UndoActivity)getUndoActivity()).setOldPoint(new Point(x, y));
-	}
-
-	public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		int index = ((PolyLineHandle.UndoActivity)getUndoActivity()).getPointIndex();
-		myOwner().setPointAt(new Point(x, y), index);
-	}
-	
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		myOwner().smoothPoints();
-		if ((x == anchorX) && (y == anchorY)) {
- 			setUndoActivity(null);
-		}
-	}
-	
-	public Point locate() {
-		return fLocator.locate(owner());
-	}
-	
-	private PolygonFigure myOwner() {
-		return (PolygonFigure)owner();
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView, int newPointIndex) {
-		return new PolygonHandle.UndoActivity(newView, newPointIndex);
-	}
-	
-	public static class UndoActivity extends PolyLineHandle.UndoActivity {
-		
-		public UndoActivity(DrawingView newView, int newPointIndex) {
-			super(newView, newPointIndex);
-		}
-		
-		protected boolean movePointToOldLocation() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-
-			PolygonFigure figure = (PolygonFigure)fe.nextFigure();
-			Point backupPoint = figure.pointAt(getPointIndex());
-			figure.setPointAt(getOldPoint(), getPointIndex());
-			figure.smoothPoints();
-			setOldPoint(backupPoint);
-
-			return true;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/PolygonScaleHandle.java b/JHotDraw/src/CH/ifa/draw/contrib/PolygonScaleHandle.java
deleted file mode 100644
index ffa5ab53f..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/PolygonScaleHandle.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * @(#)PolygonScaleHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * A Handle to scale and rotate a PolygonFigure
- * Based on RadiusHandle
- *
- * @author Doug Lea  (dl at gee, Sat Mar 1 09:06:09 1997)
- * @version <$CURRENT_VERSION$>
- */
-class PolygonScaleHandle extends AbstractHandle {
-	
-	private Point fCurrent;
-	
-	public PolygonScaleHandle(PolygonFigure owner) {
-		super(owner);
-	}
-	
-	/**
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 */
-	public void invokeStart(int x, int  y, DrawingView view) {
-		fCurrent = new Point(x, y);
-		PolygonScaleHandle.UndoActivity activity = (PolygonScaleHandle.UndoActivity)createUndoActivity(view);
-		setUndoActivity(activity);
-		activity.setAffectedFigures(new SingleFigureEnumerator(owner()));
-		activity.setPolygon(((PolygonFigure)(owner())).getPolygon());
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		fCurrent = new Point(x, y);
-		Polygon polygon = ((PolygonScaleHandle.UndoActivity)getUndoActivity()).getPolygon();
-		((PolygonFigure)(owner())).scaleRotate(new Point(anchorX, anchorY), polygon, fCurrent);
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		((PolygonFigure)(owner())).smoothPoints();
-		if ((fCurrent.x == anchorX) && (fCurrent.y == anchorY)) {
-			// there is nothing to undo
-			setUndoActivity(null);
-		}
-		fCurrent = null;
-	}
-	
-	public Point locate() {
-		if (fCurrent == null) {
-			return getOrigin();
-		}
-		else {
-			return fCurrent;
-		}
-	}
-	
-	Point getOrigin() {
-		// find a nice place to put handle
-		// Need to pick a place that will not overlap with point handle
-		// and is internal to polygon
-	
-		// Try for one HANDLESIZE step away from outermost toward center
-	
-		Point outer = ((PolygonFigure)(owner())).outermostPoint();
-		Point ctr = ((PolygonFigure)(owner())).center();
-		double len = Geom.length(outer.x, outer.y, ctr.x, ctr.y);
-		if (len == 0) { // best we can do?
-			return new Point(outer.x - HANDLESIZE/2, outer.y + HANDLESIZE/2);
-		}
-	
-		double u = HANDLESIZE / len;
-		if (u > 1.0) { // best we can do?
-			return new Point((outer.x * 3 + ctr.x)/4, (outer.y * 3 + ctr.y)/4);
-		}
-		else {
-			return new Point((int)(outer.x * (1.0 - u) + ctr.x * u),
-			(int)(outer.y * (1.0 - u) + ctr.y * u));
-		}
-	}
-	
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-	
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-	
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	
-		/* for debugging ...
-		Point ctr = ((PolygonFigure)(owner())).center();
-		g.setColor(Color.blue);
-		g.fillOval(ctr.x, ctr.y, r.width, r.height);
-		
-		g.setColor(Color.black);
-		g.drawOval(ctr.x, ctr.y, r.width, r.height);
-		
-		*/
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new PolygonScaleHandle.UndoActivity(newView);
-	}
-	
-	public static class UndoActivity extends UndoableAdapter {
-		private Polygon myPolygon;
-		
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return resetPolygon();
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return resetPolygon();
-		}
-
-		protected boolean resetPolygon() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			PolygonFigure figure = (PolygonFigure)fe.nextFigure();
-			Polygon backupPolygon = figure.getPolygon();
-			figure.willChange();
-			figure.setInternalPolygon(getPolygon());
-			figure.changed();
-			setPolygon(backupPolygon);
-			return true;
-		}
-		
-		protected void setPolygon(Polygon newPolygon) {
-			myPolygon = newPolygon;
-		}
-		
-		public Polygon getPolygon() {
-			return myPolygon;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/PolygonTool.java b/JHotDraw/src/CH/ifa/draw/contrib/PolygonTool.java
deleted file mode 100644
index 878928b39..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/PolygonTool.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * @(#)PolygonTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Undoable;
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * Based on ScribbleTool
- *
- * @author Doug Lea  (dl at gee) - Fri Feb 28 07:47:05 1997
- * @version <$CURRENT_VERSION$>
- */
-public class PolygonTool extends AbstractTool {
-
-	private PolygonFigure  fPolygon;
-	private int            fLastX, fLastY;
-
-	/**
-	 * the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	private Figure myAddedFigure;
-
-	public PolygonTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	public void activate() {
-		super.activate();
-		fPolygon = null;
-	}
-
-	public void deactivate() {
-		if (fPolygon != null) {
-			fPolygon.smoothPoints();
-			if (fPolygon.pointCount() < 3 ||
-					fPolygon.size().width < 4 || fPolygon.size().height < 4) {
-				getActiveView().drawing().remove(fPolygon);
-				// nothing to undo
-				setUndoActivity(null);
-			}
-		}
-		fPolygon = null;
-		super.deactivate();
-	}
-
-	private void addPoint(int x, int y) {
-		if (fPolygon == null) {
-			fPolygon = new PolygonFigure(x, y);
-			setAddedFigure(view().add(fPolygon));
-			fPolygon.addPoint(x, y);
-		}
-		else if (fLastX != x || fLastY != y) {
-			fPolygon.addPoint(x, y);
-		}
-
-		fLastX = x;
-		fLastY = y;
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		// replace pts by actual event pts
-		x = e.getX();
-		y = e.getY();
-
-		if (e.getClickCount() >= 2) {
-			if (fPolygon != null) {
-				fPolygon.smoothPoints();
-
-				// use undo activity from paste command...
-				setUndoActivity(createUndoActivity());
-
-				// put created figure into a figure enumeration
-				getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(getAddedFigure()));
-
-				editor().toolDone();
-			}
-			fPolygon = null;
-
-		}
-		else {
-			// use original event coordinates to avoid
-			// supress that the scribble is constrained to
-			// the grid
-			addPoint(e.getX(), e.getY());
-		}
-	}
-
-	public void mouseMove(MouseEvent e, int x, int y) {
-		if (e.getSource() == getActiveView()) {
-			if (fPolygon != null) {
-				if (fPolygon.pointCount() > 1) {
-					fPolygon.setPointAt(new Point(x, y), fPolygon.pointCount()-1);
-					getActiveView().checkDamage();
-				}
-			}
-		}
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		// replace pts by actual event pts
-		x = e.getX();
-		y = e.getY();
-		addPoint(x, y);
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Gets the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	protected Figure getAddedFigure() {
-		return myAddedFigure;
-	}
-
-	private void setAddedFigure(Figure newAddedFigure) {
-		myAddedFigure = newAddedFigure;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/PopupMenuFigureSelection.java b/JHotDraw/src/CH/ifa/draw/contrib/PopupMenuFigureSelection.java
deleted file mode 100644
index 16218a197..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/PopupMenuFigureSelection.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * @(#)PopupMenuFigureSelection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
- 
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * An interface which allows a popup menu to interact with its Figure to
- * which it is associated.
- *
- * @author      Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface PopupMenuFigureSelection {
-
-	/**
-	 * Set the figure which was selected when the popup menu was invoked.
-	 *
-	 * @param   newSelectedFigure   figure which is selected (typically be a SelectionTool)
-	 */
-	public void setSelectedFigure(Figure newSelectedFigure);
-
-	/**
-	 * Get the figure which was selected when the popup menu was invoked.
-	 *
-	 * @return  figure which is selected (typically be a SelectionTool)
-	 */
-	public Figure getSelectedFigure();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/SVGDrawApp.java b/JHotDraw/src/CH/ifa/draw/contrib/SVGDrawApp.java
deleted file mode 100644
index 9e484be74..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/SVGDrawApp.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.samples.javadraw.JavaDrawApp;
-import CH.ifa.draw.util.StorageFormatManager;
-
-/**
- * @author mtnygard
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class SVGDrawApp extends JavaDrawApp {
-	public static void main(String[] args) {
-		SVGDrawApp window = new SVGDrawApp();
-		window.open();
-	}
-	
-	public SVGDrawApp() {
-		super("JHotDraw");
-	}
-
-	/**
-	 * Factory method which create a new instance of this
-	 * application.
-	 *
-	 * @return	newly created application
-	 */
-	protected DrawApplication createApplication() {
-		return new SVGDrawApp();
-	}
-
-	/**
-	 * Factory method to create a StorageFormatManager for supported storage formats.
-	 * Different applications might want to use different storage formats and can return
-	 * their own format manager by overriding this method.
-	 * 
-	 * TODO: Read storage formats from a config file.
-	 */
-	public StorageFormatManager createStorageFormatManager() {
-		StorageFormatManager storageFormatManager = new StorageFormatManager();
-		SVGStorageFormat format = new SVGStorageFormat();
-		storageFormatManager.addStorageFormat(format);
-		storageFormatManager.setDefaultStorageFormat(format);
-		return storageFormatManager;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/SVGStorageFormat.java b/JHotDraw/src/CH/ifa/draw/contrib/SVGStorageFormat.java
deleted file mode 100644
index 00ab7766b..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/SVGStorageFormat.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)SVGStorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-
-import org.apache.batik.dom.GenericDOMImplementation;
-import org.apache.batik.svggen.SVGGraphics2D;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-
-import CH.ifa.draw.framework.Drawing;
-import CH.ifa.draw.util.StandardStorageFormat;
-
-
-/**
- * The SVGStorageFormat can save drawings in SVG 1.0.  At this time, it cannot load
- * SVG drawings.
- *
- * TODO: Refactor this and the other storage formats.  There is too much duplication.
- * 
- * @version <$CURRENT_VERSION$>
- * @author mtnygard
- */
-public class SVGStorageFormat extends StandardStorageFormat {
-	
-	/**
-	 * Return the file extension recognized by the FileFilter for this
-	 * StandardStorageFormat. 
-	 *
-	 * @return the file extension
-	 */
-	protected String createFileExtension() {
-		return "svg";
-	}
-
-	/**
-	 * Factory method to create a file description for the file type when displaying the
-	 * associated FileFilter.
-	 *
-	 * @return the file description
-	 */
-	public String createFileDescription() {
-		return "Scalable Vector Graphics (svg)";
-	}
-
-
-	/**
-	 * @see CH.ifa.draw.util.StorageFormat#isRestoreFormat()
-	 */
-	public boolean isRestoreFormat() {
-		return false;
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.StorageFormat#isStoreFormat()
-	 */
-	public boolean isStoreFormat() {
-		return true;
-	}
-
-  /**
-	 * Store a Drawing as SVG under a given name.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param saveDrawing drawing to be saved
-	 * @return file name with correct file extension
-   * @see CH.ifa.draw.util.StorageFormat#store(java.lang.String, CH.ifa.draw.framework.Drawing)
-   */
-  public String store(String fileName, Drawing saveDrawing) throws IOException {
-		// Get a DOMImplementation
-		DOMImplementation domImpl = GenericDOMImplementation.getDOMImplementation();
-
-		// Create an instance of org.w3c.dom.Document
-		Document document = domImpl.createDocument(null, "svg", null);
-	
-		// Create an instance of the SVG Generator
-		SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
-	
-		// Ask the test to render into the SVG Graphics2D implementation
-		saveDrawing.draw(svgGenerator);
-	
-		// Finally, stream out SVG to the standard output using UTF-8
-		// character to byte encoding
-		fileName = adjustFileName(fileName);
-		FileOutputStream fos = new FileOutputStream(fileName);
-		Writer out = new OutputStreamWriter(fos, "UTF-8");
-		
-		
-		svgGenerator.stream(out, true);
-		return fileName;
-  }
-
-  /**
-   * @see CH.ifa.draw.util.StorageFormat#restore(java.lang.String)
-   */
-  public Drawing restore(String fileName) throws IOException {
-    throw new IOException("Not implemented");
-  }
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/SimpleLayouter.java b/JHotDraw/src/CH/ifa/draw/contrib/SimpleLayouter.java
deleted file mode 100644
index a4d3513a3..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/SimpleLayouter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * @(#)SimpleLayouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-import java.awt.*;
-import java.io.IOException;
-
-/**
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class SimpleLayouter implements Layouter {
-
-	/**
-	 * The Layoutable which should be laid out.
-	 */
-	private Layoutable myLayoutable;
-
-	/**
-	 * Insets to calculate a border
-	 */
-	private Insets myInsets;
-
-	static final long serialVersionUID = 2928651014089117493L;
-
-	private SimpleLayouter() {
-		// do nothing: for JDO-compliance only
-	}
-
-	public SimpleLayouter(Layoutable newLayoutable) {
-		setLayoutable(newLayoutable);
-		setInsets(new Insets(0, 0, 0, 0));
-	}
-
-	/**
-	 * Get the figure upon which the layout strategy operates.
-	 *
-	 * @return associated figure which should be laid out
-	 */
-	public Layoutable getLayoutable() {
-		return myLayoutable;
-	}
-
-	/**
-	 * Set the figure upon which the layout strategy operates.
-	 *
-	 * @param	newLayoutable	Layoutable to be laid out
-	 */
-	public void setLayoutable(Layoutable newLayoutable) {
-		myLayoutable = newLayoutable;
-	}
-
-	/**
-	 * Set the insets for spacing between the figure and its subfigures
-	 *
-	 * @param newInsets new spacing dimensions
-	 */
-	public void setInsets(Insets newInsets) {
-		myInsets = newInsets;
-	}
-
-	/**
-	 * Get the insets for spacing between the figure and its subfigures
-	 *
-	 * @return spacing dimensions
-	 */
-	public Insets getInsets() {
-		return myInsets;
-	}
-
-	/**
-	 * Create a new instance of this type and sets the layoutable
-	 */
-	public Layouter create(Layoutable newLayoutable) {
-		SimpleLayouter newLayouter = new SimpleLayouter(newLayoutable);
-		newLayouter.setInsets((Insets)getInsets().clone());
-		return newLayouter;
-	}
-
-	public Rectangle calculateLayout(Point origin, Point corner) {
-		Rectangle maxRect = new Rectangle(origin);
-		maxRect.add(corner);
-		FigureEnumeration fe = getLayoutable().figures();
-		while (fe.hasNextFigure()) {
-			Figure currentFigure = fe.nextFigure();
-			maxRect.union(currentFigure.displayBox());
-		}
-		maxRect.width += getInsets().left + getInsets().right;
-		maxRect.height += getInsets().top + getInsets().bottom;
-		return maxRect;
-	}
-
-	public Rectangle layout(Point origin, Point corner) {
-		return calculateLayout(origin, corner);
-	}
-
-	/**
-	 * Reads the contained figures from StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		setLayoutable((Layoutable)dr.readStorable());
-		setInsets(new Insets(dr.readInt(), dr.readInt(), dr.readInt(), dr.readInt()));
-	}
-
-	/**
-	 * Writes the contained figures to the StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeStorable(getLayoutable());
-		Insets i = getInsets();
-		dw.writeInt(i.top);
-		dw.writeInt(i.left);
-		dw.writeInt(i.bottom);
-		dw.writeInt(i.right);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/SplitConnectionTool.java b/JHotDraw/src/CH/ifa/draw/contrib/SplitConnectionTool.java
deleted file mode 100644
index ff0f9ad03..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/SplitConnectionTool.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * @(#)ConnectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.standard.ConnectionTool;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.figures.*;
-
-import java.awt.event.MouseEvent;
-import java.awt.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class SplitConnectionTool extends ConnectionTool {
-	public SplitConnectionTool(DrawingEditor newDrawingEditor, ConnectionFigure newPrototype) {
-		super(newDrawingEditor, newPrototype);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		int ex = e.getX();
-		int ey = e.getY();
-		if (getTargetFigure() == null) {
-			setTargetFigure(findConnectableFigure(ex, ey, drawing()));
-		}
-		else {
-			if (getAddedFigure() == null) {
-				setConnection(createConnection());
-				setStartConnector(findConnector(ex, ey, getTargetFigure()));
-				getConnection().connectStart(getStartConnector());
-				getConnection().startPoint(ex, ey);
-				setAddedFigure(view().add(getConnection()));
-			}
-			Figure c = findTarget(ex, ey, drawing());
-			if (c != null) {
-				// end connection figure found
-				setEndConnector(findConnector(ex, ex, c));
-				getConnection().connectEnd(getEndConnector());
-				getConnection().endPoint(ex, ey);
-				setUndoActivity(createUndoActivity());
-				getUndoActivity().setAffectedFigures(
-					new SingleFigureEnumerator(getAddedFigure()));
-				getConnection().updateConnection();
-				init();
-				editor().toolDone();
-			}
-			else {
-				// split connection where the mouse click took place
-				if (getEndConnector() == null) {
-					Figure tempEndFigure = new NullFigure();
-					tempEndFigure.basicDisplayBox(new Point(ex, ey), new Point(ex, ey));
-					setEndConnector(new NullConnector(tempEndFigure));
-					getConnection().connectEnd(getEndConnector());
-					getConnection().endPoint(ex, ey);
-					getConnection().updateConnection();
-				}
-				else {
-					((PolyLineFigure)getConnection()).addPoint(ex, ey);
-				}
-			}
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		// usually do nothing: tool is still active
-		if (e.getClickCount() == 2) {
-			init();
-			editor().toolDone();
-		}
-	}
-
-	public void mouseMove(MouseEvent e, int x, int y) {
-		// avoid tracking connectors
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		// avoid tracking connectors
-	}
-
-	public void deactivate() {
-		if (getConnection() != null) {
-			view().remove(getConnection());
-		}
-		super.deactivate();
-		init();
-	}
-
-	protected void init() {
-		setConnection(null);
-		setStartConnector(null);
-		setEndConnector(null);
-		setAddedFigure(null);
-		setTargetFigure(null);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDesktop.java b/JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDesktop.java
deleted file mode 100644
index bd393e4f6..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDesktop.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * @(#)SplitPaneDesktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import javax.swing.*;
-import java.awt.*;
-import CH.ifa.draw.framework.DrawingView;
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeEvent;
-
-/**
- * @todo Gotta fix this !!! the selected view changes based on which split pane is selected!
- *
- * @author C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @author Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class SplitPaneDesktop extends JSplitPane implements Desktop {
-
-	private DesktopEventService myDesktopEventService;
-
-    public SplitPaneDesktop() {
-		setDesktopEventService(createDesktopEventService());
-		setAlignmentX(JSplitPane.LEFT_ALIGNMENT);
-		setOneTouchExpandable(true);
-
-		addPropertyChangeListener(createPropertyChangeListener());
-    }
-
-	protected PropertyChangeListener createPropertyChangeListener() {
-		return new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent evt) {
-				if (getRightComponent() != null) {
-					getRightComponent().repaint();
-				}
-				if (getLeftComponent() != null) {
-					getLeftComponent().repaint();
-				}
-			}
-		};
-	}
-
-	protected Component createContents(DrawingView dv, int location) {
-		setRightComponent(createRightComponent(dv));
-		setLeftComponent(createLeftComponent(dv));
-	    switch (location) {
-		    case Desktop.PRIMARY: {
-			    return getLeftComponent();
-			}
-			case Desktop.SECONDARY: {
-				return getRightComponent();
-			}
-			default: {
-			    return null;
-			}
-	    }
-	}
-
-	protected Component createRightComponent(DrawingView dv) {
-		JScrollPane sp = new JScrollPane((Component)dv);
-		sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-		sp.setAlignmentX(LEFT_ALIGNMENT);
-		return sp;
-	}
-
-	protected Component createLeftComponent(DrawingView dv) {
-		return new JScrollPane(new JList());
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return getDesktopEventService().getActiveDrawingView();
-	}
-
-	public void addToDesktop(DrawingView dv, int location) {
-		createContents(dv, Desktop.PRIMARY);
-/*	    switch (location) {
-		    case Desktop.PRIMARY: {
-			    setLeftComponent(createContents(dv, Desktop.PRIMARY));
-				break;
-			}
-			case Desktop.SECONDARY: {
-				setRightComponent(createContents(dv, Desktop.SECONDARY));
-				break;
-			}
-	    }
-*/
-//		validate();
-		setDividerLocation(getInitDividerLocation());
-	}
-
-	protected int getInitDividerLocation() {
-		return 150;
-	}
-
-	public void removeFromDesktop(DrawingView dv, int location) {
-		Component[] comps = getContainer().getComponents();
-		for (int x = 0; x < comps.length; x++) {
-			if (dv == Helper.getDrawingView(comps[x])) {
-				getContainer().remove(comps[x]);
-			    break;
-			}
-		}
-	}
-
-	public void removeAllFromDesktop(int location) {
-	    getContainer().removeAll();
-	}
-
-	public DrawingView[] getAllFromDesktop(int location) {
-		return getDesktopEventService().getDrawingViews(getComponents());
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().addDesktopListener(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().removeDesktopListener(dpl);
-	}
-
-	private Container getContainer() {
-		return this;
-	}
-
-	protected DesktopEventService getDesktopEventService() {
-		return myDesktopEventService;
-	}
-
-	private void setDesktopEventService(DesktopEventService newDesktopEventService) {
-		myDesktopEventService = newDesktopEventService;
-	}
-
-	protected DesktopEventService createDesktopEventService() {
-		return new DesktopEventService(this, getContainer());
-	}
-
-	public void updateTitle(String newDrawingTitle) {
-		// should be setTitle but a JPanelDesktop has no own title bar
-		setName(newDrawingTitle);
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDrawApplication.java b/JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDrawApplication.java
deleted file mode 100644
index 9c7f1af14..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDrawApplication.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * @(#)SplitPaneDrawApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.application.*;
-
-/**
- * A specialised DrawApplication, which offers basic support for a simple
- * splitted pane content.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public  class SplitPaneDrawApplication extends DrawApplication {
-
-	/**
-	 * Constructs a drawing window with a default title.
-	 */
-	public SplitPaneDrawApplication() {
-		this("JHotDraw");
-	}
-
-	/**
-	 * Constructs a drawing window with the given title.
-	 */
-	public SplitPaneDrawApplication(String title) {
-		super(title);
-	}
-
-	protected Desktop createDesktop() {
-		return new SplitPaneDesktop();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/StandardLayouter.java b/JHotDraw/src/CH/ifa/draw/contrib/StandardLayouter.java
deleted file mode 100644
index 921620d2e..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/StandardLayouter.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * @(#)StandardLayouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.Point;
-import java.awt.Rectangle;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.FigureEnumeration;
-// JUnitDoclet end import
-
-/**
- * A StandardLayouter contains standard algorithm for
- * layouting a Layoutable. As a standard behaviour
- * all child components of a Layoutable are laid out
- * underneath each other starting from top to bottom while the
- * x position of all child components stays the same and the width
- * is forced to the width of the maximum width. At the end
- * the presentation figure of the Layoutable is
- * set to the maximum x and y size to encompass all contained
- * child components graphically as well.
- *
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class StandardLayouter extends SimpleLayouter {
-
-	/**
-	 * Default constructor which is needed for the Storable mechanism.
-	 * Usually, the constructor which takes a Layoutable
-	 * should be used as each StandardLayouter is associated
-	 * with exactly one Layoutable.
-	 */
-	public StandardLayouter() {
-		this(null);
-	}
-
-	/**
-	 * Constructor which associates a StandardLayouter with
-	 * a certain Layoutable.
-	 *
-	 * @param	newLayoutable	Layoutable to be laid out
-	 */
-	public StandardLayouter(Layoutable newLayoutable) {
-		super(newLayoutable);
-	}
-
-	/**
-	 * Create a new instance of this type and sets the layoutable
-	 */
-	public Layouter create(Layoutable newLayoutable) {
-		return new StandardLayouter(newLayoutable);
-	}
-
-	/**
-	 * Calculate the layout for the figure and all its
-	 * subelements. The layout is not actually performed but just
-	 * its dimensions are calculated.  The insets for this figure
-	 * are included in the return value.
-	 *
-	 * @param origin start point for the layout
-	 * @param corner minimum corner point for the layout
-	 */
-	public Rectangle calculateLayout(Point origin, Point corner) {
-		int maxWidth = Math.abs(corner.x - origin.x);
-		int maxHeight = getInsets().top;
-
-		// layout enclosed Layoutable and find maximum width
-		FigureEnumeration fe = getLayoutable().figures();
-		while (fe.hasNextFigure()) {
-			Figure currentFigure = fe.nextFigure();
-			Rectangle r = null;
-			if (currentFigure instanceof Layoutable) {
-				Layouter layoutStrategy = ((Layoutable)currentFigure).getLayouter();
-				r = layoutStrategy.calculateLayout(
-					new Point(0, 0), new Point(0, 0));
-			}
-			else {
-				r = new Rectangle(currentFigure.displayBox().getBounds());
-			}
-			maxWidth = Math.max(maxWidth,
-					    r.width + getInsets().left +
-					    getInsets().right);
-			maxHeight += r.height;
-		}
-		maxHeight += getInsets().bottom;
-
-		return new Rectangle(origin.x, origin.y, maxWidth, maxHeight);
-	}
-
-	/**
-	 * Method which lays out a figure. It is called by the figure
-	 * if a layout task is to be performed. First, the layout dimension for
-	 * the figure is calculated and then the figure is arranged newly.
-	 * All child component are place beneath another. The figure and all
-	 * its children are forced to the minimium width
-	 *
-	 * @param origin start point for the layout
-	 * @param corner minimum corner point for the layout
-	 */
-	public Rectangle layout(Point origin, Point corner) {
-		// calculate the layout of the figure and its sub-figures first
-		Rectangle r = calculateLayout(origin, corner);
-
-		int maxHeight = getInsets().top;
-		FigureEnumeration fe = getLayoutable().figures();
-		while (fe.hasNextFigure()) {
-			Figure currentFigure = fe.nextFigure();
-
-			Point partOrigin = new Point(r.x + getInsets().left, r.y + maxHeight);
-			Point partCorner = new Point
-				(r.x + r.width - getInsets().right,
-				 r.y + maxHeight +
-				 currentFigure.displayBox().height);
-			currentFigure.displayBox(partOrigin, partCorner);
-
-			maxHeight += currentFigure.displayBox().height;
-		}
-
-		return new Rectangle(r.x, r.y, r.width, maxHeight + getInsets().bottom);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/TextAreaFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/TextAreaFigure.java
deleted file mode 100644
index bf238ecb1..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/TextAreaFigure.java
+++ /dev/null
@@ -1,929 +0,0 @@
-/*
- *  @(#)TextAreaFigure.java
- *
- *  Project:		JHotdraw - a GUI framework for technical drawings
- *  http://www.jhotdraw.org
- *  http://jhotdraw.sourceforge.net
- *  Copyright:	? by the original author(s) and all contributors
- *  License:		Lesser GNU Public License (LGPL)
- *  http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import java.awt.*;
-import java.awt.font.FontRenderContext;
-import java.awt.font.LineBreakMeasurer;
-import java.awt.font.TextAttribute;
-import java.awt.font.TextLayout;
-import java.awt.geom.Rectangle2D;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.text.AttributedCharacterIterator;
-import java.text.AttributedString;
-import java.text.CharacterIterator;
-import java.util.*;
-import java.util.List;
-
-import CH.ifa.draw.figures.AttributeFigure;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.FigureChangeEvent;
-import CH.ifa.draw.framework.FigureChangeListener;
-import CH.ifa.draw.framework.HandleEnumeration;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A TextAreaFigure contains formatted text.<br>
- * It automatically rearranges the text to fit its allocated display area,
- * breaking the lines at word boundaries whenever possible.<br>
- * The text can contain either LF or CRLF sequences to separate paragraphs,
- * as well as tab characters for table like formatting and alignment.<br>
- * Currently the tabs are distributed at regular intervals as determined by
- * the TabSize property. Tabs align correctly with either fixed
- * or variable fonts.<br>
- * If, when resizing, the vertical size of the display box is not enough to
- * display all the text, TextAreaFigure displays a dashed red line at the
- * bottom of the figure to indicate there is hidden text.<br>
- * TextAreFigure uses all standard attributes for the area rectangle,
- * ie: FillColor, PenColor for the border, FontSize, FontStyle, and FontName,
- * as well as four additional attributes LeftMargin, RightMargin, TopMargin,
- * and TabSize.<br>
- *
- * @author    Eduardo Francos - InContext
- * @created   26 avril 2002
- * @version   <$CURRENT_VERSION$>
- */
-
-public class TextAreaFigure extends AttributeFigure
-		 implements FigureChangeListener, TextHolder {
-
-	/** True if the paragraph's cache needs to be reconstructed */
-	protected boolean fTextIsDirty = true;
-	/** True if the sizing needs to be recalculated */
-	protected transient boolean fSizeIsDirty = true;
-
-	/** The current display box for the figure */
-	private Rectangle fDisplayBox;
-
-	/** Paragraph cache resulting from splitting the text */
-	protected List fParagraphs;
-
-	/** The text */
-	protected String fText;
-	/** The current font */
-	protected Font fFont;
-	/**
-	 * True if the font has changed and font related calculations need to be remade
-	 */
-	protected boolean fFontIsDirty = true;
-
-	/** The width of the current font */
-	protected float fFontWidth;
-	/**
-	 * Map of attributes for the AttributedString used for the figure's text.
-	 * Currently it just uses one single attribute with the figure's current font.
-	 */
-	protected Hashtable attributesMap = new Hashtable();
-
-	/** True if the figure is read only */
-	protected boolean fIsReadOnly;
-
-	/** A connected figure */
-	protected Figure fObservedFigure = null;
-	/** Description of the Field */
-	protected OffsetLocator fLocator = null;
-
-	final static long serialVersionUID = 4993631445423148845L;
-
-	// make sure required default attributes are set
-	static {
-		initDefaultAttribute("LeftMargin", new Float(5));
-		initDefaultAttribute("RightMargin", new Float(5));
-		initDefaultAttribute("TopMargin", new Float(5));
-		initDefaultAttribute("TabSize", new Float(8));
-	}
-
-
-	/** Constructor for the TextAreaFigure object */
-	public TextAreaFigure() {
-		fParagraphs = CollectionsFactory.current().createList();
-		fDisplayBox = new Rectangle(0, 0, 30, 15);
-		fFont = createFont();
-		fText = new String("");
-
-		fSizeIsDirty = true;
-		fTextIsDirty = true;
-		fFontIsDirty = true;
-	}
-
-
-	/**
-	 * Gets the text of the figure
-	 *
-	 * @return   The text value
-	 */
-	public String getText() {
-		return fText;
-	}
-
-
-	/**
-	 * Sets the text of the figure
-	 *
-	 * @param newText  The new text value
-	 */
-	public void setText(String newText) {
-		if (newText == null || !newText.equals(fText)) {
-			markTextDirty();
-			fText = newText;
-			changed();
-		}
-	}
-
-	/**
-	 * Returns the display box for the text
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public Rectangle textDisplayBox() {
-		return displayBox();
-	}
-
-	/**
-	 * Creates the font from current attributes.
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public Font createFont() {
-		return new Font(
-				(String)getAttribute("FontName"),
-				((Integer)getAttribute("FontStyle")).intValue(),
-				((Integer)getAttribute("FontSize")).intValue());
-	}
-
-	public boolean isReadOnly()
-	{
-		return fIsReadOnly;
-	}
-
-	public void setReadOnly(boolean newReadOnly)
-	{
-		fIsReadOnly = newReadOnly;
-	}
-
-	/**
-	 * Tests whether the figure accepts typing.
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public boolean acceptsTyping() {
-		return !isReadOnly();
-	}
-
-
-	/**
-	 * Called whenever the something changes that requires text recomputing
-	 */
-	protected void markTextDirty() {
-		setTextDirty(true);
-	}
-
-
-	/**
-	 * Sets the textDirty attribute of the TextAreaFigure object
-	 *
-	 * @param newTextDirty  The new textDirty value
-	 */
-	protected void setTextDirty(boolean newTextDirty) {
-		fTextIsDirty = newTextDirty;
-	}
-
-
-	/**
-	 * Gets the textDirty attribute of the TextAreaFigure object
-	 *
-	 * @return   The textDirty value
-	 */
-	public boolean isTextDirty() {
-		return fTextIsDirty;
-	}
-
-
-	/**
-	 * Called whenever the something changes that requires size recomputing
-	 */
-	protected void markSizeDirty() {
-		setSizeDirty(true);
-	}
-
-
-	/**
-	 * Called to set the dirty status of the size
-	 *
-	 * @param newSizeIsDirty  The new sizeDirty value
-	 */
-	public void setSizeDirty(boolean newSizeIsDirty) {
-		fSizeIsDirty = newSizeIsDirty;
-	}
-
-
-	/**
-	 * Returns the current size dirty status
-	 *
-	 * @return   The sizeDirty value
-	 */
-	public boolean isSizeDirty() {
-		return fSizeIsDirty;
-	}
-
-	/**
-	 * Gets the font.
-	 *
-	 * @return   The font value
-	 */
-	public Font getFont() {
-		return fFont;
-	}
-
-	/**
-	 * Sets the font.
-	 *
-	 * @param newFont  The new font value
-	 */
-	public void setFont(Font newFont) {
-		if(newFont == null) {
-			throw new IllegalArgumentException();
-		}
-		willChange();
-		fFont = newFont;
-		markSizeDirty();
-		markFontDirty();
-		attributesMap = new Hashtable(1);
-		attributesMap.put(TextAttribute.FONT, newFont);
-		changed();
-	}
-
-	/**
-	 * Gets the number of columns to be overlaid when the figure is edited.<br>
-	 * This method is mandatory by the TextHolder interface but is not
-	 * used by the TextAreaFigure/TextAreaTool couple because the overlay always
-	 * covers the text area display box
-	 *
-	 * @return   the number of overlay columns
-	 */
-	public int overlayColumns() {
-		return 0;
-	}
-
-	/**
-	 * Sets the display box for the figure
-	 *
-	 * @param origin  origin point
-	 * @param corner  corner point
-	 * @see           Figure
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		Dimension prevSize = fDisplayBox.getSize();
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-		if (!fDisplayBox.getSize().equals(prevSize)){
-		   markSizeDirty();
-		}
-	}
-
-	/**
-	 * Returns an iterator of standard sizing handles to manipulate the figure
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * Returns the current display box for the figure
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public Rectangle displayBox() {
-		return new Rectangle(
-				fDisplayBox.x,
-				fDisplayBox.y,
-				fDisplayBox.width,
-				fDisplayBox.height);
-	}
-
-
-	/**
-	 * Moves the figure the supplied offset
-	 *
-	 * @param x  x displacement
-	 * @param y  y displacement
-	 */
-	public void moveBy(int x, int y) {
-		willChange();
-		basicMoveBy(x, y);
-		if (fLocator != null) {
-			fLocator.moveBy(x, y);
-		}
-		changed();
-	}
-
-	/**
-	 * Moves the figure the supplied offset
-	 *
-	 * @param x  x displacement
-	 * @param y  y displacement
-	 */
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x, y);
-	}
-
-	/**
-	 * Draws the background for the figure. Called by the superclass with the colors
-	 * set from the current attribute values
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-		g.fillRect(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Draws the figure. Overriden so as to draw the text once everything
-	 * else has been drawn
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void draw(Graphics g) {
-		super.draw(g);
-		drawText(g, displayBox());
-	}
-
-	/**
-	 * Draws the frame around the text
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void drawFrame(Graphics g) {
-		Rectangle r = displayBox();
-		g.setColor((Color)getAttribute("FrameColor"));
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-
-
-	/**
-	 * Formats and draws the text for the figure
-	 *
-	 * @param g           the graphics for the drawing. It can be null when
-	 * called just to compute the size
-	 * @param displayBox  the display box  within which the text should be formatted and drawn
-	 * @return            Description of the Return Value
-	 */
-	protected float drawText(Graphics g, Rectangle displayBox) {
-		Graphics2D g2 = null;
-		Shape savedClipArea = null;
-		Color savedFontColor = null;
-		Rectangle2D clipRect = null;
-		RenderingHints savedRenderingHints = null;
-
-		if (g != null) {
-			g2 = (Graphics2D)g;
-			savedRenderingHints = g2.getRenderingHints();
-			g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
-					RenderingHints.VALUE_ANTIALIAS_ON);
-			g2.setRenderingHint(RenderingHints.KEY_RENDERING,
-					RenderingHints.VALUE_RENDER_QUALITY);
-			//Font savedFont = g2.getFont();
-			savedFontColor = g2.getColor();
-			savedClipArea = g2.getClip();
-			if(savedClipArea != null) {
-				clipRect = displayBox.createIntersection((Rectangle2D)savedClipArea);
-			}
-			else {
-				clipRect = displayBox;
-			}
-			g2.setClip(clipRect);
-			Color textColor = getTextColor();
-			if (!ColorMap.isTransparent(textColor)) {
-				g2.setColor(textColor);
-			}
-			g2.setFont(getFont());
-		}
-		FontRenderContext fontRenderCtx = new FontRenderContext(null, false, false);
-
-		// split the text into paragraphs
-		prepareText();
-
-		float leftMargin = displayBox.x + ((Float)getAttribute("LeftMargin")).floatValue();
-		float rightMargin = displayBox.x + displayBox.width - ((Float)getAttribute("RightMargin")).floatValue();
-		float topMargin = displayBox.y + ((Float)getAttribute("TopMargin")).floatValue();
-
-		/**
-		 * @todo   we prepare stops for 40 tabs which should be enough to handle
-		 * all normal cases, but a better means should/could be implemented
-		 */
-		float[] tabStops = new float[40];
-		// tabSize is in pixels
-		float tabSize = ((Float)getAttribute("TabSize")).floatValue() * getFontWidth();
-		float tabPos = tabSize;
-		for (int tabCnt = 0; tabCnt < 40; tabCnt++) {
-			tabStops[tabCnt] = tabPos + leftMargin;
-			tabPos += tabSize;
-		}
-
-		/** Iterate on the paragraphs displaying each one in turn */
-		float verticalPos = topMargin;
-		Iterator paragraphs = fParagraphs.iterator();
-		while (paragraphs.hasNext()) {
-			String paragraphText = (String)paragraphs.next();
-
-			// prepare tabs. Here we build an array with the character positions
-			// of the tabs within the paragraph
-			AttributedString attrText = new AttributedString(paragraphText);
-			AttributedCharacterIterator paragraphIter = attrText.getIterator();
-			int[] tabLocations = new int[paragraphText.length()];
-			int tabCount = 0;
-			for (char c = paragraphIter.first(); c != CharacterIterator.DONE; c = paragraphIter.next()) {
-				if (c == '\t') {
-					tabLocations[tabCount++] = paragraphIter.getIndex();
-				}
-			}
-			tabLocations[tabCount] = paragraphIter.getEndIndex() - 1;
-
-			// tabs done. Replace tab characters with spaces. This to avoid
-			// a strange behaviour where the layout is a lot slower and
-			// the font get's changed. If anybody knows why this so please
-			// tell me.
-			paragraphText = paragraphText.replace('\t', ' ');
-			attrText = new AttributedString(paragraphText, attributesMap);
-			paragraphIter = attrText.getIterator();
-
-			// Now tabLocations has an entry for every tab's offset in
-			// the text.  For convenience, the last entry in tabLocations
-			// is the offset of the last character in the text.
-
-			LineBreakMeasurer measurer = new LineBreakMeasurer(paragraphIter, fontRenderCtx);
-			int currentTab = 0;
-
-			while (measurer.getPosition() < paragraphIter.getEndIndex()) {
-				// Lay out and draw each line.  All segments on a line
-				// must be computed before any drawing can occur, since
-				// we must know the largest ascent on the line.
-				// TextLayouts are computed and stored in a collection;
-				// their horizontal positions are stored in a parallel
-				// collection.
-
-				// lineContainsText is true after first segment is drawn
-				boolean lineContainsText = false;
-				boolean lineComplete = false;
-				float maxAscent = 0;
-				float maxDescent = 0;
-				float horizontalPos = leftMargin;
-				List layouts = CollectionsFactory.current().createList(1);
-				List penPositions = CollectionsFactory.current().createList(1);
-
-				while (!lineComplete) {
-					float wrappingWidth = rightMargin - horizontalPos;
-					// ensure wrappingWidth is at least 1
-					wrappingWidth = Math.max(1, wrappingWidth);
-					TextLayout layout =
-							measurer.nextLayout(wrappingWidth,
-							tabLocations[currentTab] + 1,
-							lineContainsText);
-
-					// layout can be null if lineContainsText is true
-					if (layout != null) {
-						layouts.add(layout);
-						penPositions.add(new Float(horizontalPos));
-						horizontalPos += layout.getAdvance();
-						maxAscent = Math.max(maxAscent, layout.getAscent());
-						maxDescent = Math.max(maxDescent,
-								layout.getDescent() + layout.getLeading());
-					}
-					else {
-						lineComplete = true;
-					}
-
-					lineContainsText = true;
-
-					if (measurer.getPosition() == tabLocations[currentTab] + 1) {
-						currentTab++;
-					}
-
-					if (measurer.getPosition() == paragraphIter.getEndIndex()) {
-						lineComplete = true;
-					}
-					else if (horizontalPos >= tabStops[tabStops.length - 1]) {
-						lineComplete = true;
-					}
-
-					if (!lineComplete) {
-						// move to next tab stop
-						int j;
-						for (j = 0; horizontalPos >= tabStops[j]; j++) {
-						}
-						horizontalPos = tabStops[j];
-					}
-				}
-
-				// set the vertical position for the line
-				verticalPos += maxAscent;
-
-				// now iterate through layouts and draw them
-				Iterator layoutEnum = layouts.iterator();
-				Iterator positionEnum = penPositions.iterator();
-				while (layoutEnum.hasNext()) {
-					TextLayout nextLayout = (TextLayout)layoutEnum.next();
-					Float nextPosition = (Float)positionEnum.next();
-					if (g2 != null) {
-						nextLayout.draw(g2, nextPosition.floatValue(), verticalPos);
-					}
-				}
-
-				// keep track of the highest (actually lowest) position for the
-				// next iteration
-				verticalPos += maxDescent;
-			}
-		}
-
-		// if the last displayed line is not visible because the displayBox is
-		// too small then draw a dashed red line at the bottom
-		if (g2 != null && verticalPos > clipRect.getMaxY() && clipRect.getMaxY() == displayBox.getMaxY()) {
-			Stroke savedStroke = g2.getStroke();
-			float[] dash = new float[2];
-			dash[0] = 2f;
-			dash[1] = 4f;
-			g2.setStroke(new BasicStroke(
-					1f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER,
-					1f, dash, 0f));
-			g2.setColor(Color.red);
-			g2.drawLine((int)clipRect.getMinX() + 1, (int)clipRect.getMaxY() - 1,
-					(int)clipRect.getMaxX() - 1, (int)clipRect.getMaxY() - 1);
-			g2.setStroke(savedStroke);
-		}
-
-		// restore saved graphic attributes
-		if (g2 != null) {
-			if(savedClipArea != null) {
-			g2.setClip(savedClipArea);
-			}
-			g2.setColor(savedFontColor);
-			g2.setRenderingHints(savedRenderingHints);
-		}
-
-		// and return the final text height
-		return verticalPos;
-	}
-
-	/**
-	 * Splits the text into paragraphs. A paragraph is delimited by a LF or CRLF.
-	 * If the paragraph is empty it returns a single space so the display logic has
-	 * something to work with
-	 */
-	protected void prepareText() {
-		if (!isTextDirty()) {
-			return;
-		}
-
-		fParagraphs = CollectionsFactory.current().createList();
-		String paragraphText;
-		Point pos = new Point(-1, -1);
-
-		while ((paragraphText = getNextParagraph(fText, pos)) != null) {
-			if (paragraphText.length() == 0) {
-				paragraphText = " ";
-			}
-			fParagraphs.add(paragraphText);
-		}
-		setTextDirty(false);
-	}
-
-	/**
-	 * Gets the next paragraph in the supplied string<br>
-	 * Paragraphs are defined by a LF or CRLF sequence<br>
-	 * Scanning starts from the next characters as given by the pos.y value
-	 *
-	 * @param text  the text to break into paragraphs
-	 * @param pos   a point where pos.x is the position of the first character of the paragraph in
-	 * the string and pos.y is the last
-	 * @return      The text for the paragraph
-	 */
-	protected String getNextParagraph(String text, Point pos) {
-		int start = pos.y + 1;
-
-		if (start >= text.length()) {
-			return null;
-		}
-		pos.x = start;
-
-		int end = text.indexOf('\n', start);
-		if (end == -1) {
-			end = text.length();
-		}
-		pos.y = end;
-		// check for "\r\n" sequence
-		if (text.charAt(end - 1) == '\r') {
-			return text.substring(start, end - 1);
-		}
-		else {
-			return text.substring(start, end);
-		}
-	}
-
-	/**
-	 * A text area figure uses the "LeftMargin", "RightMargin", "TopMargin",
-	 * "TabSize", "FontSize", "FontStyle", and "FontName" attributes
-	 *
-	 * @param name the attribute's name
-	 * @return     the attribute value
-	 * @deprecated use getAttribute(FigureAttributeConstant)
-	 */
-	public Object getAttribute(String name) {
-		return super.getAttribute(name);
-	}
-
-
-	/**
-	 * A text area figure uses the "LeftMargin", "RightMargin",
-	 * "TopMargin", "TabSize", "FontSize", "FontStyle", and "FontName"
-	 * attributes
-	 *
-	 * @param name  the new attribute name
-	 * @param value the new attribute value
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object)
-	 */
-	public void setAttribute(String name, Object value) {
-		// we need to create a new font if one of the font attributes
-		Font font = getFont();
-		if (name.equals("FontSize")) {
-			Integer s = (Integer)value;
-			setFont(new Font(font.getName(), font.getStyle(), s.intValue()));
-			// store the attribute
-			super.setAttribute(name, value);
-		}
-		else if (name.equals("FontStyle")) {
-			Integer s = (Integer)value;
-			int style = font.getStyle();
-			if (s.intValue() == Font.PLAIN) {
-				style = Font.PLAIN;
-			}
-			else {
-				style = style ^ s.intValue();
-			}
-			setFont(new Font(font.getName(), style, font.getSize()));
-			// store the attribute
-			super.setAttribute(name, new Integer(style));
-		}
-		else if (name.equals("FontName")) {
-			String n = (String)value;
-			setFont(new Font(n, font.getStyle(), font.getSize()));
-			// store the attribute
-			super.setAttribute(name, value);
-		}
-		else {
-			// store the attribute
-			super.setAttribute(name, value);
-		}
-	}
-
-	/**
-	 * Writes the figure to StorableOutput
-	 *
-	 * @param dw  the output storable
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-		dw.writeString(fText);
-		dw.writeBoolean(fIsReadOnly);
-		dw.writeStorable(fObservedFigure);
-		dw.writeStorable(fLocator);
-	}
-
-	/**
-	 * Reads the figure from StorableInput
-	 *
-	 * @param dr            Description of the Parameter
-	 * @throws IOException  the inout storable
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-
-		markSizeDirty();
-		markTextDirty();
-		markFontDirty();
-
-		fDisplayBox.x = dr.readInt();
-		fDisplayBox.y = dr.readInt();
-		fDisplayBox.width = dr.readInt();
-		fDisplayBox.height = dr.readInt();
-		fText = dr.readString();
-		fIsReadOnly = dr.readBoolean();
-
-		fObservedFigure = (Figure)dr.readStorable();
-		if (fObservedFigure != null) {
-			fObservedFigure.addFigureChangeListener(this);
-		}
-		fLocator = (OffsetLocator)dr.readStorable();
-
-		setFont(createFont());
-	}
-
-	/**
-	 * Reads the figure from an object stream
-	 *
-	 * @param s                        the input stream
-	 * @throws ClassNotFoundException  thrown by called methods
-	 * @throws IOException             thrown by called methods
-	 */
-	protected void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		if (fObservedFigure != null) {
-			fObservedFigure.addFigureChangeListener(this);
-		}
-		markSizeDirty();
-		markTextDirty();
-		markFontDirty();
-	}
-
-	/**
-	 * Connects the figure to another figure
-	 *
-	 * @param figure  the connecting figure
-	 */
-	public void connect(Figure figure) {
-		if (fObservedFigure != null) {
-			fObservedFigure.removeFigureChangeListener(this);
-		}
-
-		fObservedFigure = figure;
-		fLocator = new OffsetLocator(figure.connectedTextLocator(this));
-		fObservedFigure.addFigureChangeListener(this);
-		updateLocation();
-	}
-
-	/**
-	 * Disconnects a text holder from a connect figure.
-	 *
-	 * @param disconnectFigure  the disconnecting figure
-	 */
-	public void disconnect(Figure disconnectFigure) {
-		if (disconnectFigure != null) {
-			disconnectFigure.removeFigureChangeListener(this);
-		}
-		fLocator = null;
-	}
-
-	/**
-	 * Description of the Method
-	 * @todo   Implement this CH.ifa.draw.framework.FigureChangeListener method
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-	}
-
-	/**
-	 * A connected figure has changed, update the figure's location
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureChanged(FigureChangeEvent e) {
-		updateLocation();
-	}
-
-	/**
-	 * Updates the location relative to the connected figure.
-	 * The TextAreaFigure is centered around the located point.
-	 */
-	protected void updateLocation() {
-		if (fLocator != null) {
-			Point p = fLocator.locate(fObservedFigure);
-
-			p.x -= size().width / 2 + fDisplayBox.x;
-			p.y -= size().height / 2 + fDisplayBox.y;
-			if (p.x != 0 || p.y != 0) {
-				willChange();
-				basicMoveBy(p.x, p.y);
-				changed();
-			}
-		}
-	}
-
-	/**
-	 * The figure is about to be removed from another composite figure
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRemoved(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRemoved(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * A request to remove the figure from another composite figure
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestRemove(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {
-		// @todo:   Implement this CH.ifa.draw.framework.FigureChangeListener method
-	}
-
-	/**
-	 * Gets the font width for the active font. This is by convention the width of
-	 * the 'W' character, the widest one
-	 *
-	 * @return   The fontWidth value
-	 */
-	protected float getFontWidth() {
-		updateFontInfo();
-		return fFontWidth;
-	}
-
-	/** Retrieve all Font information needed */
-	protected void updateFontInfo() {
-		if (!isFontDirty()) {
-			return;
-		}
-		fFontWidth = (int) getFont().getMaxCharBounds(new FontRenderContext(null, false, false)).getWidth(); 
-
-		setFontDirty(false);
-	}
-
-	/**
-	 * Gets the text color of a figure. This is a convenience
-	 * method.
-	 *
-	 * @return   The textColor value
-	 * @see      #getAttribute
-	 */
-	public Color getTextColor() {
-		return (Color)getAttribute("TextColor");
-	}
-
-	/**
-	 * Gets the empty attribute of the figure. True if there is no text
-	 *
-	 * @return   The empty value
-	 */
-	public boolean isEmpty() {
-		return (fText.length() == 0);
-	}
-
-	/**
-	 * Called whenever the something changes that requires font recomputing
-	 */
-	protected void markFontDirty() {
-		setFontDirty(true);
-	}
-
-	/**
-	 * Gets the fontDirty attribute of the TextAreaFigure object
-	 *
-	 * @return   The fontDirty value
-	 */
-	public boolean isFontDirty() {
-		return fFontIsDirty;
-	}
-
-	/**
-	 * Sets the fontDirty attribute of the TextAreaFigure object
-	 *
-	 * @param newFontIsDirty  The new fontDirty value
-	 */
-	public void setFontDirty(boolean newFontIsDirty) {
-		fFontIsDirty = newFontIsDirty;
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/TextAreaTool.java b/JHotDraw/src/CH/ifa/draw/contrib/TextAreaTool.java
deleted file mode 100644
index 0517da709..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/TextAreaTool.java
+++ /dev/null
@@ -1,445 +0,0 @@
-/*
- *  @(#)TextAreaTool.java
- *
- *  Project:     JHotdraw - a GUI framework for technical drawings
- *               http://www.jhotdraw.org
- *               http://jhotdraw.sourceforge.net
- *  Copyright:   � by the original author(s) and all contributors
- *  License:     Lesser GNU Public License (LGPL)
- *               http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.standard.CreationTool;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-import CH.ifa.draw.standard.TextHolder;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-
-import java.awt.Container;
-import java.awt.Font;
-import java.awt.Rectangle;
-import java.awt.event.MouseEvent;
-
-/**
- * A TextAreaTool creates TextAreaFigures.<br>
- * To create a new text area, the user drags a rectangle on the drawing on
- * a free spot.<br>
- * When releasing the mouse the tool calls the area's editor to enter the text.<br>
- * If the tool is clicked on an existing area the tool simply calls the
- * area's editor.<br>
- * When creating a new area, if the user leaves the text empty, the newly created
- * area figure is discarded.
- *
- * @author    Eduardo Francos - InContext
- * @created   29 april 2002
- * @version   1.0
- */
-public class TextAreaTool extends CreationTool {
-	/** The field used for editing */
-	protected FloatingTextArea fTextField;
-
-	/** The typing target */
-	protected TextHolder fTypingTarget;
-	/** The edited figure */
-	protected Figure fEditedFigure;
-
-	/**
-	 * Constructor for the TextAreaTool object
-	 *
-	 * @param newDrawingEditor  the managing drawing editor
-	 * @param prototype         the prototype for the figure
-	 */
-	public TextAreaTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	/**
-	 * If the pressed figure is a TextHolder and it accepts editing it can be edited.<br>
-	 * If there is no pressed figure a new text figure is created.
-	 *
-	 * @param e  Description of the Parameter
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		Figure pressedFigure = drawing().findFigureInside(x, y);
-		TextHolder textHolder = null;
-		if (pressedFigure != null) {
-			textHolder = pressedFigure.getTextHolder();
-		}
-
-		if ((textHolder != null) && (textHolder.acceptsTyping())) {
-			beginEdit(textHolder, pressedFigure);
-			return;
-		}
-		if (getTypingTarget() != null) {
-			endEdit();
-
-			if (getCreatedFigure() != null && getCreatedFigure().isEmpty()) {
-				drawing().remove(getAddedFigure());
-				// nothing to undo
-				setUndoActivity(null);
-			}
-			else {
-//				// use undo activity from paste command...
-//				setUndoActivity(createUndoActivity());
-//
-//				// put created figure into a figure enumeration
-//				getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(getAddedFigure()));
-			}
-			setTypingTarget(null);
-			setCreatedFigure(null);
-			setEditedFigure(null);
-			setAddedFigure(null);
-			editor().toolDone();
-		}
-		else {
-			super.mouseDown(e, x, y);
-		}
-	}
-
-	/**
-	 * Drags to set the initial text area display box
-	 *
-	 * @param e  Description of the Parameter
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		// if not creating just ignore
-		if (getCreatedFigure() == null) {
-			return;
-		}
-		super.mouseDrag(e, x, y);
-	}
-
-	/**
-	 * If creating a figure it ends the creation process and calls the editor
-	 *
-	 * @param e  Description of the Parameter
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		// if not creating just ignore
-		if (getCreatedFigure() == null) {
-			return;
-		}
-
-		// update view so the created figure is drawn before the floating text
-		// figure is overlaid. (Note, fDamage should be null in StandardDrawingView
-		// when the overlay figure is drawn because a JTextField cannot be scrolled)
-		view().checkDamage();
-		TextHolder textHolder = (TextHolder)getCreatedFigure();
-		if (textHolder.acceptsTyping()) {
-			beginEdit(textHolder, getCreatedFigure());
-		}
-		else {
-			editor().toolDone();
-		}
-	}
-
-	/**
-	 * Terminates the editing of a text figure.
-	 */
-	public void deactivate() {
-		endEdit();
-		super.deactivate();
-	}
-
-	/**
-	 * Activates the figure's editor
-	 */
-	public void activate() {
-		super.activate();
-		getActiveView().clearSelection();
-	}
-
-	/**
-	 * Test whether the text tool is currently activated and is displaying
-	 * a overlay TextFigure for accepting input.
-	 *
-	 * @return   true, if the text tool has a accepting target TextFigure for its input, false otherwise
-	 */
-	public boolean isActivated() {
-		return getTypingTarget() != null;
-	}
-
-	/**
-	 * Begins editing the figure's text
-	 *
-	 * @param figure          the typing target
-	 * @param selectedFigure  the edited figure
-	 */
-	protected void beginEdit(TextHolder figure, Figure selectedFigure) {
-		if (fTextField == null) {
-			fTextField = new FloatingTextArea();
-		}
-
-		if (figure != getTypingTarget() && getTypingTarget() != null) {
-			endEdit();
-		}
-
-		fTextField.createOverlay((Container)view(), getFont(figure));
-		fTextField.setBounds(fieldBounds(figure), figure.getText());
-
-		setTypingTarget(figure);
-		setEditedFigure(selectedFigure);
-		setUndoActivity(createUndoActivity());
-	}
-
-	/**
-	 * Gets the font to be used for editing the figure
-	 *
-	 * @param figure  the figure
-	 * @return        The font
-	 */
-	protected Font getFont(TextHolder figure) {
-		return figure.getFont();
-	}
-
-	/** Ends editing of the figure's text */
-	protected void endEdit() {
-		if ((getTypingTarget() != null) && (fTextField != null)) {
-			if (fTextField.getText().length() > 0) {
-				getTypingTarget().setText(fTextField.getText());
-				// put created figure into a figure enumeration
-				getUndoActivity().setAffectedFigures(
-						new SingleFigureEnumerator(getEditedFigure()));
-				((TextAreaTool.UndoActivity)getUndoActivity()).setBackupText(
-						getTypingTarget().getText());
-			}
-			else {
-				drawing().orphan(getAddedFigure());
-				// nothing to undo
-//	            setUndoActivity(null);
-			}
-
-			fTextField.endOverlay();
-			fTextField = null;
-//			view().checkDamage();
-		}
-	}
-
-	/**
-	 * Returns the bounds fo the figure
-	 *
-	 * @param figure  the edited figure
-	 * @return        Description of the Return Value
-	 */
-	private Rectangle fieldBounds(TextHolder figure) {
-		return figure.textDisplayBox();
-	}
-
-	/**
-	 * Sets the typingTarget attribute of the TextAreaTool
-	 *
-	 * @param newTypingTarget  The new typingTarget value
-	 */
-	protected void setTypingTarget(TextHolder newTypingTarget) {
-		fTypingTarget = newTypingTarget;
-	}
-
-	/**
-	 * Gets the editedFigure attribute of the TextAreaTool
-	 *
-	 * @return   The editedFigure value
-	 */
-	protected Figure getEditedFigure() {
-		return fEditedFigure;
-	}
-
-	/**
-	 * Sets the editedFigure attribute of the TextAreaTool
-	 *
-	 * @param figure  The new editedFigure value
-	 */
-	protected void setEditedFigure(Figure figure) {
-		fEditedFigure = figure;
-	}
-
-	/**
-	 * Gets the typingTarget attribute of the TextAreaTool
-	 *
-	 * @return   The typingTarget value
-	 */
-	protected TextHolder getTypingTarget() {
-		return fTypingTarget;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 *
-	 * @return   Description of the Return Value
-	 */
-	protected Undoable createUndoActivity() {
-		return new TextAreaTool.UndoActivity(view(), getTypingTarget().getText());
-	}
-
-	/**
-	 * Handles undo/redo for text areas
-	 *
-	 * @author    gualo
-	 */
-	public static class UndoActivity extends UndoableAdapter {
-		/** The original text */
-		private String myOriginalText;
-		/** The backup text */
-		private String myBackupText;
-
-		/**
-		 * Constructor for the UndoActivity object
-		 *
-		 * @param newDrawingView   Description of the Parameter
-		 * @param newOriginalText  Description of the Parameter
-		 */
-		public UndoActivity(DrawingView newDrawingView, String newOriginalText) {
-			super(newDrawingView);
-			setOriginalText(newOriginalText);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/*
-		 *  Undo the activity
-		 *  @return true if the activity could be undone, false otherwise
-		 */
-		/**
-		 * Undo the activity
-		 *
-		 * @return   Description of the Return Value
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-
-			if (!isValidText(getOriginalText())) {
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					getDrawingView().drawing().orphan(fe.nextFigure());
-				}
-			}
-			// add text figure if it has been removed (no backup text)
-			else if (!isValidText(getBackupText())) {
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					getDrawingView().add(fe.nextFigure());
-				}
-				setText(getOriginalText());
-			}
-			else {
-				setText(getOriginalText());
-			}
-
-			return true;
-		}
-
-		/*
-		 *  Redo the activity
-		 *  @return true if the activity could be redone, false otherwise
-		 */
-		/**
-		 * Redo the activity
-		 *
-		 * @return   Description of the Return Value
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-
-			// the text figure did exist but was remove
-			if (!isValidText(getBackupText())) {
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					getDrawingView().drawing().orphan(fe.nextFigure());
-				}
-			}
-			// the text figure didn't exist before
-			else if (!isValidText(getOriginalText())) {
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					getDrawingView().drawing().add(fe.nextFigure());
-					setText(getBackupText());
-				}
-			}
-			else {
-				setText(getBackupText());
-			}
-
-			return true;
-		}
-
-		/**
-		 * Validates the text in the undo activity
-		 *
-		 * @param toBeChecked  Description of the Parameter
-		 * @return             The validText value
-		 */
-		protected boolean isValidText(String toBeChecked) {
-			return ((toBeChecked != null) && (toBeChecked.length() > 0));
-		}
-
-		/**
-		 * Sets the text attribute of the UndoActivity
-		 *
-		 * @param newText  The new text value
-		 */
-		protected void setText(String newText) {
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					currentFigure.getTextHolder().setText(newText);
-				}
-			}
-		}
-
-		/**
-		 * Sets the backupText attribute of the UndoActivity
-		 *
-		 * @param newBackupText  The new backupText value
-		 */
-		public void setBackupText(String newBackupText) {
-			myBackupText = newBackupText;
-		}
-
-		/**
-		 * Gets the backupText attribute of the UndoActivity
-		 *
-		 * @return   The backupText value
-		 */
-		public String getBackupText() {
-			return myBackupText;
-		}
-
-		/**
-		 * Sets the originalText attribute of the UndoActivity
-		 *
-		 * @param newOriginalText  The new originalText value
-		 */
-		public void setOriginalText(String newOriginalText) {
-			myOriginalText = newOriginalText;
-		}
-
-		/**
-		 * Gets the originalText attribute of the UndoActivity
-		 *
-		 * @return   The originalText value
-		 */
-		public String getOriginalText() {
-			return myOriginalText;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/TriangleFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/TriangleFigure.java
deleted file mode 100644
index b56f96bba..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/TriangleFigure.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * @(#)TriangleFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.framework.HandleEnumeration;
-import CH.ifa.draw.standard.HandleEnumerator;
-
-import java.awt.*;
-import java.util.List;
-import java.io.IOException;
-
-/**
- * A triangle with same dimensions as its enclosing rectangle,
- * and apex at any of 8 places
- *
- * @author Doug Lea  (dl at gee, Tue Feb 25 17:30:58 1997)
- * @version <$CURRENT_VERSION$>
- */
-public  class TriangleFigure extends RectangleFigure {
-
-	static double[] rotations = {
-		-Math.PI/2, -Math.PI/4,
-		0.0, Math.PI/4,
-		Math.PI/2, Math.PI * 3/4,
-		Math.PI,  -Math.PI * 3/4
-	};
-
-	private int fRotation = 0;
-
-	public TriangleFigure() {
-		super(new Point(0,0), new Point(0,0));
-	}
-
-	public TriangleFigure(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	public HandleEnumeration handles() {
-		List h = super.handles().toList();
-		h.add(new TriangleRotationHandle(this));
-		return new HandleEnumerator(h);
-	}
-
-	public void rotate(double angle) {
-		willChange();
-		double dist = Double.MAX_VALUE;
-		int best = 0;
-		for (int i = 0; i < rotations.length; ++i) {
-			double d = Math.abs(angle - rotations[i]);
-			if (d < dist) {
-				dist = d;
-				best = i;
-			}
-		}
-		fRotation = best;
-		changed();
-	}
-
-	/** Return the polygon describing the triangle **/
-	public Polygon getPolygon() {
-		Rectangle r = displayBox();
-		Polygon p = new Polygon();
-		switch (fRotation) {
-		case 0:
-			p.addPoint(r.x + r.width/2, r.y);
-			p.addPoint(r.x + r.width, r.y + r.height);
-			p.addPoint(r.x, r.y + r.height);
-			break;
-		case 1:
-			p.addPoint(r.x + r.width, r.y);
-			p.addPoint(r.x + r.width, r.y + r.height);
-			p.addPoint(r.x, r.y);
-			break;
-		case 2:
-			p.addPoint(r.x + r.width, r.y + r.height/2);
-			p.addPoint(r.x, r.y + r.height);
-			p.addPoint(r.x, r.y);
-			break;
-		case 3:
-			p.addPoint(r.x + r.width, r.y + r.height);
-			p.addPoint(r.x, r.y + r.height);
-			p.addPoint(r.x + r.width, r.y);
-			break;
-		case 4:
-			p.addPoint(r.x + r.width/2, r.y + r.height);
-			p.addPoint(r.x, r.y);
-			p.addPoint(r.x + r.width, r.y);
-			break;
-		case 5:
-			p.addPoint(r.x, r.y + r.height);
-			p.addPoint(r.x, r.y);
-			p.addPoint(r.x + r.width, r.y + r.height);
-			break;
-		case 6:
-			p.addPoint(r.x, r.y + r.height/2);
-			p.addPoint(r.x + r.width, r.y);
-			p.addPoint(r.x + r.width, r.y + r.height);
-			break;
-		case 7:
-			p.addPoint(r.x, r.y);
-			p.addPoint(r.x + r.width, r.y);
-			p.addPoint(r.x, r.y + r.height);
-			break;
-		}
-		return p;
-	}
-
-
-	public void draw(Graphics g) {
-		Polygon p = getPolygon();
-		g.setColor(getFillColor());
-		g.fillPolygon(p);
-		g.setColor(getFrameColor());
-		g.drawPolygon(p);
-	}
-
-	public Insets connectionInsets() {
-		Rectangle r = displayBox();
-		switch(fRotation) {
-		case 0:
-			return new Insets(r.height, r.width/2, 0, r.width/2);
-		case 1:
-			return new Insets(0, r.width, r.height, 0);
-		case 2:
-			return new Insets(r.height/2, 0, r.height/2, r.width);
-		case 3:
-			return new Insets(r.height, r.width, 0, 0);
-		case 4:
-			return new Insets(0, r.width/2, r.height, r.width/2);
-		case 5:
-			return new Insets(r.height, 0, 0, r.width);
-		case 6:
-			return new Insets(r.height/2, r.width, r.height/2, 0);
-		case 7:
-			return new Insets(0, 0, r.height, r.width);
-		default:
-			return null;
-		}
-	}
-
-	public boolean containsPoint(int x, int y) {
-		return getPolygon().contains(x, y);
-	}
-
-	public Point center() {
-		return PolygonFigure.center(getPolygon());
-	}
-
-	public Point chop(Point p) {
-		return PolygonFigure.chop(getPolygon(), p);
-	}
-
-	public Object clone() {
-		TriangleFigure figure = (TriangleFigure) super.clone();
-		figure.fRotation = fRotation;
-		return figure;
-	}
-
-	public double getRotationAngle() {
-		return rotations[fRotation];
-	}
-
-	//-- store / load ----------------------------------------------
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fRotation);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fRotation = dr.readInt();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/TriangleRotationHandle.java b/JHotDraw/src/CH/ifa/draw/contrib/TriangleRotationHandle.java
deleted file mode 100644
index 25b351284..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/TriangleRotationHandle.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * @(#)TriangleRotationHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.standard.*;
-
-
-/**
- * A Handle to rotate a TriangleFigure
- * Based on RadiusHandle
- *
- * @author Doug Lea  (dl at gee, Sun Mar 2 19:15:28 1997)
- * @version <$CURRENT_VERSION$>
- */
-class TriangleRotationHandle extends AbstractHandle {
-
-	private Point fOrigin;
-
-	public TriangleRotationHandle(TriangleFigure owner) {
-		super(owner);
-	}
-
-	/**
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 */
-	public void invokeStart(int x, int  y, DrawingView view) {
-		fOrigin = getOrigin();
-		TriangleRotationHandle.UndoActivity activity =
-			(TriangleRotationHandle.UndoActivity)createUndoActivity(view);
-		setUndoActivity(activity);
-		activity.setAffectedFigures(new SingleFigureEnumerator(owner()));
-		double rotation = ((TriangleFigure)(owner())).getRotationAngle();
-		activity.setRotationAngle(rotation);
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Point fCenter = owner().center();
-		double angle = Math.atan2(fOrigin.y + y - anchorY - fCenter.y,
-  								  fOrigin.x + x - anchorX - fCenter.x);
-		((TriangleFigure)(owner())).rotate(angle);
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		fOrigin = null;
-	}
-
-	public Point locate() {
-		return getOrigin();
-	}
-
-	Point getOrigin() {
-		// find a nice place to put handle
-		// almost same code as PolygonScaleHandle
-		Polygon p = ((TriangleFigure)(owner())).getPolygon();
-		Point first = new Point(p.xpoints[0], p.ypoints[0]);
-		Point ctr = owner().center();
-		double len = Geom.length(first.x, first.y, ctr.x, ctr.y);
-		if (len == 0) { // best we can do?
-			return new Point(first.x - HANDLESIZE/2, first.y + HANDLESIZE/2);
-		}
-
-		double u = HANDLESIZE / len;
-		if (u > 1.0) { // best we can do?
-			return new Point((first.x * 3 + ctr.x)/4, (first.y * 3 + ctr.y)/4);
-		}
-		else {
-			return new Point((int)(first.x * (1.0 - u) + ctr.x * u),
-							(int)(first.y * (1.0 - u) + ctr.y * u));
-		}
-	}
-
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new TriangleRotationHandle.UndoActivity(newView);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private double myRotationAngle;
-
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return resetRotationAngle();
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return resetRotationAngle();
-		}
-
-		protected boolean resetRotationAngle() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			TriangleFigure figure = (TriangleFigure)fe.nextFigure();
-			double backupAngle = figure.getRotationAngle();
-			figure.willChange();
-			figure.rotate(getRotationAngle());
-			figure.changed();
-			setRotationAngle(backupAngle);
-			return true;
-		}
-
-		protected void setRotationAngle(double newRotationAngle) {
-			myRotationAngle = newRotationAngle;
-		}
-
-		public double getRotationAngle() {
-			return myRotationAngle;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/WindowMenu.java b/JHotDraw/src/CH/ifa/draw/contrib/WindowMenu.java
deleted file mode 100644
index 9560bee82..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/WindowMenu.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * @(#)WindowMenu.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.beans.PropertyVetoException;
-
-import javax.swing.JCheckBoxMenuItem;
-import javax.swing.JInternalFrame;
-import javax.swing.event.MenuEvent;
-import javax.swing.event.MenuListener;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.standard.AbstractCommand;
-import CH.ifa.draw.util.Command;
-import CH.ifa.draw.util.CommandMenu;
-
-/**
- * Menu component that handles the functionality expected of a standard
- * "Windows" menu for MDI applications.
- *
- * @author Wolfram Kaiser (adapted from an article in JavaWorld)
- * @version <$CURRENT_VERSION$>
- */
-public class WindowMenu extends CommandMenu {
-	private MDIDesktopPane desktop;
-	private Command cascadeCommand;
-	private Command tileCommand;
-
-	public WindowMenu(String newText, MDIDesktopPane newDesktop, DrawingEditor newEditor) {
-		super(newText);
-		this.desktop = newDesktop;
-		cascadeCommand = new AbstractCommand("Cascade", newEditor) {
-			public void execute() {
-				WindowMenu.this.desktop.cascadeFrames();
-			}
-			public boolean isExecutable() {
-				return super.isExecutable() && (WindowMenu.this.desktop.getAllFrames().length > 0);
-			}
-		};
-		tileCommand = new AbstractCommand("Tile", newEditor) {
-			public void execute() {
-				WindowMenu.this.desktop.tileFramesHorizontally();
-			}
-			public boolean isExecutable() {
-				return super.isExecutable() && (WindowMenu.this.desktop.getAllFrames().length > 0);
-			}
-		};
-		addMenuListener(new MenuListener() {
-			public void menuCanceled (MenuEvent e) {}
-
-			public void menuDeselected (MenuEvent e) {
-				removeAll();
-			}
-
-			public void menuSelected (MenuEvent e) {
-				buildChildMenus();
-			}
-		});
-	}
-
-	/* Sets up the children menus depending on the current desktop state */
-	private void buildChildMenus() {
-		ChildMenuItem menu;
-		JInternalFrame[] array = desktop.getAllFrames();
-
-		add(new CommandMenuItem(cascadeCommand));
-		add(new CommandMenuItem(tileCommand));
-		if (array.length > 0) {
-			addSeparator();
-		}
-//		cascade.setEnabled(array.length > 0);
-//		tile.setEnabled(array.length > 0);
-
-		for (int i = 0; i < array.length; i++) {
-			menu = new ChildMenuItem(array[i]);
-			menu.setState(i == 0);
-			menu.addActionListener(new ActionListener() {
-				public void actionPerformed(ActionEvent ae) {
-					JInternalFrame frame = ((ChildMenuItem)ae.getSource()).getFrame();
-					frame.moveToFront();
-					try {
-						frame.setSelected(true);
-					}
-					catch (PropertyVetoException e) {
-						e.printStackTrace();
-					}
-				}
-			});
-			menu.setIcon(array[i].getFrameIcon());
-			add(menu);
-		}
-	}
-
-	/* This JCheckBoxMenuItem descendant is used to track the child frame that corresponds
-	   to a give menu. */
-	class ChildMenuItem extends JCheckBoxMenuItem {
-		private JInternalFrame frame;
-
-		public ChildMenuItem(JInternalFrame newFrame) {
-			super(newFrame.getTitle());
-			frame=newFrame;
-		}
-
-		public JInternalFrame getFrame() {
-			return frame;
-		}
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFigures.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFigures.java
deleted file mode 100644
index 8c2a90448..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFigures.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * @(#)DNDFigures.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.standard.FigureEnumerator;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.awt.Point;
-import java.util.List;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DNDFigures implements java.io.Serializable {
-	private List figures;
-	private Point origin;
-
-	public DNDFigures(FigureEnumeration fe, Point newOrigin) {
-		this.figures = CollectionsFactory.current().createList();
-		// copy figure enumeration because enumerations should not be fields
-		//the drop operation will serialize and deseralize which I believe is a form of copy!?
-		while (fe.hasNextFigure()) {
-			figures.add(fe.nextFigure());
-		}
-		origin = newOrigin;
-	}
-
-	public FigureEnumeration getFigures() {
-	    return new FigureEnumerator(figures);
-	}
-
-	public Point getOrigin() {
-	    return origin;
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFiguresTransferable.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFiguresTransferable.java
deleted file mode 100644
index 9ae944a1a..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFiguresTransferable.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * @(#)DNDFiguresTransferable.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import java.awt.datatransfer.*;
-import java.io.*;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DNDFiguresTransferable implements Transferable , Serializable {
-	public static DataFlavor DNDFiguresFlavor = new DataFlavor(DNDFigures.class,"DNDFigures");
-	private Object o;
-
-	public DNDFiguresTransferable(Object newObject) {
-		//if object is not serializable throw exception
-		o = newObject;
-	}
-	public DataFlavor[] getTransferDataFlavors() {
-		return new DataFlavor [] {DNDFiguresFlavor };
-	}
-
-	public boolean isDataFlavorSupported(DataFlavor flavor) {
-		return flavor.equals(DNDFiguresFlavor);
-	}
-
-	public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
-		if ( isDataFlavorSupported(flavor) == false) {
-			throw new UnsupportedFlavorException( flavor );
-		}
-		return o;
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDHelper.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDHelper.java
deleted file mode 100644
index 709778aea..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDHelper.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * @(#)DNDHelper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import CH.ifa.draw.framework.*;
-
-import java.awt.Component;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.datatransfer.UnsupportedFlavorException;
-import java.awt.datatransfer.Transferable;
-import java.awt.dnd.*;
-import java.io.*;
-import java.util.List;
-
-/**
- * Changes made in hopes of eventually cleaning up the functionality and 
- * distributing it sensibly. 1/10/02
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public abstract class DNDHelper {
-	public static DataFlavor ASCIIFlavor = new DataFlavor("text/plain; charset=ascii", "ASCII text");
-	private DragGestureRecognizer dgr;
-	private DragGestureListener dragGestureListener;
-	private DropTarget dropTarget;
-	private DragSourceListener dragSourceListener;
-	private DropTargetListener dropTargetListener;
-	private boolean isDragSource = false;
-	private boolean isDropTarget = false;
-
-	public DNDHelper(boolean newIsDragSource, boolean newIsDropTarget){
-		isDragSource = newIsDragSource;
-		isDropTarget = newIsDropTarget;
-	}
-	/**
-	 * Do not call this from the constructor.  its methods are overridable.
-	 */
-	public void initialize(DragGestureListener dgl) {
-		if (isDragSource) {
-			setDragGestureListener(dgl);
-			setDragSourceListener(createDragSourceListener());
-			setDragGestureRecognizer(createDragGestureRecognizer(getDragGestureListener()));
-		}
-		if (isDropTarget) {
-			setDropTargetListener(createDropTargetListener());
-			setDropTarget(createDropTarget());
-		}
-	}
-
-	public void deinitialize(){
-		if (getDragSourceListener() != null) {
-			destroyDragGestreRecognizer();
-			setDragSourceListener(null);
-		}
-		if (getDropTargetListener() != null) {
-			setDropTarget(null);
-			setDropTargetListener(null);
-		}
-	}
-//	public void setDragSourceState(boolean state) {
-//		if(state == false){
-//			getDragGestureRecognizer().setSourceActions(DnDConstants.ACTION_NONE);
-//		}
-//		else {
-//			getDragGestureRecognizer().setSourceActions(getDragSourceActions());
-//		}
-//	}
-	protected abstract DrawingView view();
-	protected abstract DrawingEditor editor();
-	
-	protected static Object processReceivedData(DataFlavor flavor, Transferable transferable) {
-		Object receivedData = null;
-		if (transferable == null) {
-			return null;
-		}
-
-		try {
-		    if (flavor.equals(DataFlavor.stringFlavor)) {
-				receivedData = transferable.getTransferData(DataFlavor.stringFlavor);
-			}
-			else if (flavor.equals(DataFlavor.javaFileListFlavor)) {
-				List aList = (List)transferable.getTransferData(DataFlavor.javaFileListFlavor);
-				File fList [] = new File[aList.size()];
-				aList.toArray(fList);
-				receivedData = fList;
-			}
-			else if (flavor.equals(ASCIIFlavor)) {
-				/* this may be too much work for locally received data */
-				InputStream is = (InputStream)transferable.getTransferData(ASCIIFlavor);
-				int length = is.available();
-				byte[] bytes = new byte[length];
-				int n = is.read(bytes);
-				if (n > 0) {
-					/* seems to be a 0 tacked on the end of Windows strings.  I
-					 * havent checked other platforms.  This does not happen
-					 * with windows socket io.  strange?
-					 */
-					//for (int i = 0; i < length; i++) {
-					//    if (bytes[i] == 0) {
-					//        length = i;
-					//        break;
-					//    }
-					//}
-					receivedData = new String(bytes, 0, n);
-				}
-			}
-			else if (flavor.equals(DNDFiguresTransferable.DNDFiguresFlavor)) {
-				receivedData = transferable.getTransferData(DNDFiguresTransferable.DNDFiguresFlavor);
-			}
-		}
-		catch (java.io.IOException ioe) {
-			System.err.println(ioe);
-		}
-		catch (UnsupportedFlavorException ufe) {
-			System.err.println(ufe);
-		}
-		catch (ClassCastException cce) {
-			System.err.println(cce);
-		}
-
-		return receivedData;
-	}
-
-	/**
-	 * This must reflect the capabilities of the dragSsource, not your desired
-	 * actions.  If you desire limited drag actions, then I suppose you need to
-	 * make a new drag gesture recognizer?  I do know that if you put for instance
-	 * ACTION_COPY but your device supports ACTION_COPY_OR_MOVE, then the receiving
-	 * target may show the rejected icon, but will still be forced improperly to
-	 * accept your MOVE since the system is not properly calling your MOVE a MOVE
-	 * because you claimed incorrectly that you were incapable of MOVE.
-	 */
-	protected int getDragSourceActions() {
-		return DnDConstants.ACTION_COPY_OR_MOVE;
-	}
-
-	protected int getDropTargetActions(){
-		return DnDConstants.ACTION_COPY_OR_MOVE;
-	}
-
-	protected void setDragGestureListener(DragGestureListener dragGestureListener){
-		this.dragGestureListener = dragGestureListener;
-	}
-
-	protected DragGestureListener getDragGestureListener(){
-		return dragGestureListener;
-	}
-
-	protected void setDragGestureRecognizer(DragGestureRecognizer dragGestureRecognizer){
-		dgr = dragGestureRecognizer;
-	}
-
-	protected DragGestureRecognizer getDragGestureRecognizer(){
-		return dgr;
-	}
-
-	protected void setDropTarget(DropTarget newDropTarget){
-		if ((newDropTarget == null) && (dropTarget != null)) {
-			dropTarget.setComponent(null);
-			dropTarget.removeDropTargetListener(getDropTargetListener());
-		}
-		dropTarget = newDropTarget;
-	}
-
-	protected DropTarget createDropTarget() {
-		DropTarget dt = null;
-		if (Component.class.isInstance(view())) {
-			try {
-				dt = new DropTarget((Component)view(), getDropTargetActions(), getDropTargetListener());
-				//System.out.println(view().toString() + " Initialized to DND.");
-			}
-			catch (NullPointerException npe) {
-				System.err.println("View Failed to initialize to DND.");
-				System.err.println("Container likely did not have peer before the DropTarget was added");
-				System.err.println(npe);
-				npe.printStackTrace();
-			}
-		}
-		return dt;
-	}
-
-	/**
-	 * Used to create the gesture recognizer which in effect turns on draggability.
-	 */
-	protected DragGestureRecognizer createDragGestureRecognizer(DragGestureListener dgl) {
-		DragGestureRecognizer aDgr = null;
-		if (Component.class.isInstance(view())) {
-			Component c = (Component)view();
-			aDgr =	java.awt.dnd.DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(
-					c,
-					getDragSourceActions(),
-					dgl);
-			//System.out.println("DragGestureRecognizer created: " + view());
-		}
-		return aDgr;
-	}
-
-	/**
-	 * Used to destroy the gesture listener which ineffect turns off dragability.
-	 */
-	protected void destroyDragGestreRecognizer() {
-		//System.out.println("Destroying DGR " + view());
-		if (getDragGestureRecognizer() != null) {
-			getDragGestureRecognizer().removeDragGestureListener(getDragGestureListener());
-	    	getDragGestureRecognizer().setComponent(null);
-			setDragGestureRecognizer(null);
-		}
-	}
-
-	protected void setDropTargetListener(DropTargetListener dropTargetListener){
-		this.dropTargetListener = dropTargetListener;
-	}
-
-	protected DropTargetListener getDropTargetListener(){
-		return dropTargetListener;
-		}
-
-	protected DropTargetListener createDropTargetListener(){
-		return new JHDDropTargetListener(editor(),view());
-	}
-
-	public DragSourceListener getDragSourceListener(){
-		return dragSourceListener;
-	}
-
-	protected void setDragSourceListener(DragSourceListener dragSourceListener){
-		this.dragSourceListener = dragSourceListener;
-	}
-
-	protected DragSourceListener createDragSourceListener(){
-		return new JHDDragSourceListener(editor(),view());
-	}
-}
-	/**
-	 * These transferable objects are used to package your data when you want
-	 * to initiate a transfer.  They are not used when you only want to receive
-	 * data.  Formating the data is the responsibility of the sender primarily.
-	 * Untested.  Used for dragging ASCII text out of JHotDraw
-	 */
-/*	public class ASCIIText implements Transferable
-	{
-		String s = new String("This is ASCII text");
-		byte[] bytes;
-
-		public DataFlavor[] getTransferDataFlavors() {
-			return new DataFlavor[] { ASCIIFlavor };
-		}
-
-		public boolean isDataFlavorSupported(DataFlavor dataFlavor) {
-			return dataFlavor.equals(ASCIIFlavor);
-		}
-
-		public Object getTransferData(DataFlavor dataFlavor)
-			throws UnsupportedFlavorException, IOException  {
-			if (!isDataFlavorSupported(dataFlavor))
-						throw new UnsupportedFlavorException(dataFlavor);
-
-			bytes = new byte[s.length() + 1];
-			for (int i = 0; i < s.length(); i++)
-				bytes = s.getBytes();
-			bytes[s.length()] = 0;
-			return new ByteArrayInputStream(bytes);
-		}
-	}*/
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDInterface.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDInterface.java
deleted file mode 100644
index 601c8cca8..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDInterface.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)DNDInterface.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import java.awt.dnd.DragGestureListener;
-import java.awt.dnd.DragSourceListener;
-
-/**
- * Interface for Components which wish to participate in drag and drop.
- *
- * A Component which wishes to participate in drag and drop should implement
- * this interface.  Once done the DragBDropTool will be able to transfer data
- * to and from the Component.  The Component will also be activated to receive
- * drops from extra-JVM sources according to the conditions the Component
- * specifies.
- *
- * @author  CL.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface DNDInterface {
-	public void DNDInitialize(DragGestureListener dgl);
-	public void DNDDeinitialize();
-
-	/**
-	 * When the DNDTool starts a drag action, it queries the interface for the
-	 * dragSourceListener of the source view.  It uses this listener to create
-	 * the dragGestureEvent.
-	 */
-	public DragSourceListener getDragSourceListener();
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DragNDropTool.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/DragNDropTool.java
deleted file mode 100644
index eaeaf339b..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DragNDropTool.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- * @(#)DragNDropTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import java.awt.Component;
-import java.awt.Point;
-import java.awt.dnd.DragGestureListener;
-import java.awt.event.MouseEvent;
-
-import javax.swing.JComponent;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * This is a tool which handles drag and drop between Components in
- * JHotDraw and drags from JHotDraw.  It also indirectly
- * handles management of Drops from extra-JVM sources.
- *
- *
- * Drag and Drop is about information moving, not images or objects.  Its about
- * moving a JHD rectangle to another application and that application understanding
- * both its shape, color, attributes, and everything about it. not how it looks.
- *
- * There can be only 1 such tool in an application.  A view can be registered
- * with only a single DropSource as far as I know (maybe not).
- *
- * @todo    For intra JVM transfers we need to pass Point origin as well, and not
- * assume it will be valid which currently will cause a null pointer exception.
- * or worse, will be valid with some local value.
- * The dropSource will prevent simultaneous drops.
- *
- * For a Container to be initialized to support Drag and Drop, it must first
- * have a connection to a heavyweight component.  Or more precisely it must have
- * a peer.  That means new Component() is not capable of being initiated until
- * it has attachment to a top level component i.e. JFrame.add(comp);  If you add
- * a Component to a Container, that Container must be the child of some
- * Container which is added in its heirachy to a topmost Component.  I will
- * refine this description with more appropriate terms as I think of new ways to
- * express this.  It won't work until setVisible(true) is called.  then you can 
- * initialize DND.
- *
- * note: if drop target is same as dragsource then we should draw the object.
- *
- *
- * @author C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DragNDropTool extends AbstractTool {
-
-	private Tool            fChild;
-	private DragGestureListener dragGestureListener;
-	private boolean dragOn;
-
-	public DragNDropTool(DrawingEditor editor) {
-		super(editor);
-		setDragGestureListener(createDragGestureListener());
-		dragOn = false;
-	}
-
-	/**
-	 * Sent when a new view is created
-	 */
-	protected void viewCreated(DrawingView view) {
-		super.viewCreated(view);
-		if (DNDInterface.class.isInstance(view)) {
-			DNDInterface dndi = (DNDInterface)view;
-			dndi.DNDInitialize( getDragGestureListener() );
-		}
-	}
-
-	/**
-	 * Send when an existing view is about to be destroyed.
-	 */
-	protected void viewDestroying(DrawingView view) {
-		if (DNDInterface.class.isInstance(view)) {
-			DNDInterface dndi = (DNDInterface)view;
-			dndi.DNDDeinitialize();
-		}
-		super.viewDestroying(view);
-	}
-
-	/**
-	 * Turn on drag by adding a DragGestureRegognizer to all Views which are
-	 * based on Components.
-	 */
-	public void activate() {
-		super.activate();
-//		setDragSourceActive(true);
-		//System.out.println("DNDTool Activation");
-		setDragOn(true);
-	}
-
-	public void deactivate() {
-		//System.out.println("DNDTool deactivation.");
-		setDragOn(false);
-//		setDragSourceActive(false);//if its not turned off other tools will have problems since drag will start
-		super.deactivate();
-	}
-
-//	private void setDragSourceActive(boolean newState) {
-//		Iterator it = comps.iterator();
-//		while (it.hasNext()) {
-//			DNDInterface dndi = (DNDInterface)it.next();
-//			dndi.setDragSourceState(newState);
-//		}
-//	}
-
-	/**
-	 * Sets the type of cursor based on what is under the coordinates in the
-	 * active view.
-	 */
-	public static void setCursor(int x, int y, DrawingView view) {
-		if (view == null) {   //shouldnt need this
-			return;
-		}
-		Handle handle = view.findHandle(x, y);
-		Figure figure = view.drawing().findFigure(x, y);
-
-		if (handle != null) {
-			view.setCursor(handle.getCursor());
-		}
-		else if (figure != null) {
-			view.setCursor(new AWTCursor(java.awt.Cursor.MOVE_CURSOR));
-		}
-		else {
-			view.setCursor(new AWTCursor(java.awt.Cursor.DEFAULT_CURSOR));
-		}
-	}
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 * Switches the cursors depending on whats under them.
-     * Don't use x, y use getX and getY so get the real unlimited position
-	 * Part of the Tool interface.
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y) {
-		if (evt.getSource() == getActiveView()) {
-			setCursor(x, y, getActiveView());
-		}
-	}
-
-	/**
-	 * Handles mouse up events. The events are forwarded to the
-	 * current tracker.
-	 * Part of the Tool interface.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (fChild != null) { // JDK1.1 doesn't guarantee mouseDown, mouseDrag, mouseUp
-			fChild.mouseUp(e, x, y);
-			fChild = null;
-		}
-		setDragOn(true);
-		view().unfreezeView();
-		//get undo actions and push into undo stack?
-	}
-
-	/**
-	 * Handles mouse down events and starts the corresponding tracker.
-	 * Part of the Tool interface.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		// on MS-Windows NT: AWT generates additional mouse down events
-		// when the left button is down && right button is clicked.
-		// To avoid dead locks we ignore such events
-		if (fChild != null) {
-			return;
-		}
-
-		view().freezeView();
-
-		Handle handle = view().findHandle(getAnchorX(), getAnchorY());
-		if (handle != null) {
-			//Turn off DND
-			setDragOn(false);
-			fChild = createHandleTracker(handle);
-		}
-		else {
-			Figure figure = drawing().findFigure(getAnchorX(), getAnchorY());
-			if (figure != null) {
-				//fChild = createDragTracker(editor(), figure);
-				//fChild.activate();
-				fChild = null;
-				if (e.isShiftDown()) {
-				   view().toggleSelection(figure);
-				}
-				else if (!view().isFigureSelected(figure)) {
-					view().clearSelection();
-					view().addToSelection(figure);
-				}
-			}
-			else {
-				//Turn off DND
-				setDragOn(false);
-				if (!e.isShiftDown()) {
-					view().clearSelection();
-				}
-				fChild = createAreaTracker();
-			}
-		}
-		if (fChild != null) {
-			fChild.mouseDown(e, x, y);
-		}
-	}
-
-	/**
-	 * Handles mouse drag events. The events are forwarded to the
-	 * current tracker.
-	 * Part of the Tool interface.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (fChild != null) { // JDK1.1 doesn't guarantee mouseDown, mouseDrag, mouseUp
-			fChild.mouseDrag(e, x, y);
-		}
-	}
-
-	/**
-	 * Factory method to create an area tracker. It is used to select an
-	 * area.
-	 */
-	protected Tool createAreaTracker() {
-		return new SelectAreaTracker(editor());
-	}
-
-	/**
-	 * Factory method to create a Drag tracker. It is used to drag a figure.
-	 */
-	protected Tool createDragTracker(DrawingEditor editor, Figure f) {
-		return new DragTracker(editor, f);
-	}
-
-	/**
-	 * Factory method to create a Handle tracker. It is used to track a handle.
-	 */
-	protected Tool createHandleTracker(Handle handle) {
-		return new HandleTracker(editor(), handle);
-	}
-
-	private DragGestureListener getDragGestureListener(){
-		return dragGestureListener;
-	}
-
-	private void setDragGestureListener(DragGestureListener dragGestureListener){
-		this.dragGestureListener = dragGestureListener;
-	}
-
-	protected boolean isDragOn(){
-		return dragOn;
-	}
-
-	protected void setDragOn(boolean isNewDragOn){
-		this.dragOn = isNewDragOn;
-	}
-
-	private DragGestureListener createDragGestureListener() {
-		
-		return new DragGestureListener() {
-			
-			public void dragGestureRecognized(final java.awt.dnd.DragGestureEvent dge) {
-				Component c = dge.getComponent();
-				//System.out.println("Drag Gesture Recognized for " + c);
-				if (isDragOn() == false) {
-					return;
-				}
-
-				if (c instanceof DrawingView) {
-					boolean found = false;
-					DrawingView dv = (DrawingView)c;
-					/* Send the drawing view which inspired the action a mouseUp to clean
-					up its current tool.  This is because mouse up will otherwise never
-					be sent and the tool will be stuck with only mouse down which means
-					it will likely stay activated.  solve later for now just make
-					but report. */
-					/* this is a list of cloned figures */
-					FigureEnumeration selectedElements = dv.selection();
-
-					if (selectedElements.hasNextFigure() == false) {
-						return;
-					}
-
-					Point p = dge.getDragOrigin();
-		//				System.out.println("origin at " + p);
-					while (selectedElements.hasNextFigure()) {
-						Figure f = selectedElements.nextFigure();
-						if (f.containsPoint(p.x, p.y)) {
-		/*              Rectangle r = figgy.displayBox();
-							sx = r.width;
-							sy = r.height;*/
-							//System.out.println("figure is " + figgy);
-							found = true;
-							break;
-						}
-					}
-					if (found == true) {
-						DNDFigures dndff = new DNDFigures(dv.selection(), p);
-						DNDFiguresTransferable trans = new DNDFiguresTransferable(dndff);
-
-						/* SAVE FOR FUTURE DRAG IMAGE SUPPORT */
-						/* drag image support that I need to test on some supporting platform.
-						windows is not supporting this on NT so far. Ill test 98 and 2K next
-
-						boolean support = dragSource.isDragImageSupported();
-						java.awt.image.BufferedImage  bi = new BufferedImage(sx,sy,BufferedImage.TYPE_INT_RGB);
-						Graphics2D g = bi.createGraphics();
-						Iterator itr2 = selectedElements.iterator();
-						while ( itr2.hasNext() ) {
-							Figure fig = (Figure) itr2.next();
-							fig = (Figure)fig.clone();
-							Rectangle rold = fig.displayBox();
-							fig.moveBy(-rold.x,-rold.y);
-							fig.draw(g);
-						}
-						g.setBackground(Color.red);
-						dge.getDragSource().startDrag(
-										dge,
-										DragSource.DefaultMoveDrop,
-										bi,
-										new Point(0,0),
-										trans,
-										this);
-						*/
-						if (c instanceof JComponent) {
-							((JComponent)c).setAutoscrolls(false);
-						}
-						dge.getDragSource().startDrag(
-										dge,
-										null,
-										trans,
-										((DNDInterface)dv).getDragSourceListener());
-					}
-				}
-			}
-		};
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDragSourceListener.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDragSourceListener.java
deleted file mode 100644
index 94cca89ef..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDragSourceListener.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * JHDDragSource.java
- *
- * Created on January 28, 2003, 4:49 PM
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.DeleteFromDrawingVisitor;
-import CH.ifa.draw.util.Undoable;
-import java.awt.Component;
-import java.awt.dnd.*;
-import javax.swing.JComponent;
-
-/**
- *
- * @author  Administrator
- */
-public class JHDDragSourceListener implements java.awt.dnd.DragSourceListener {
-	private Undoable sourceUndoable;
-	private Boolean autoscrollState;
-	private DrawingEditor editor;
-	
-	/** Creates a new instance of JHDDragSource */
-	public JHDDragSourceListener(DrawingEditor newEditor, DrawingView newView) {
-		this.editor = newEditor;
-	}
-//	protected DrawingView view(){
-//		return dv;
-//	}
-	protected DrawingEditor editor(){
-		return editor;
-	}
-	/**
-	 * This method is invoked to signify that the Drag and Drop operation is complete.
-	 * This is the last method called in the process.
-	 */
-	public void dragDropEnd(java.awt.dnd.DragSourceDropEvent dsde) {
-		DrawingView view = (DrawingView) dsde.getDragSourceContext().getComponent();
-		log("DragSourceDropEvent-dragDropEnd");
-		if (dsde.getDropSuccess() == true) {
-			if (dsde.getDropAction() == DnDConstants.ACTION_MOVE) {
-                log("DragSourceDropEvent-ACTION_MOVE");
-				//get the flavor in order of ease of use here.
-				setSourceUndoActivity(  createSourceUndoActivity( view ) );
-				DNDFigures df = (DNDFigures)DNDHelper.processReceivedData(DNDFiguresTransferable.DNDFiguresFlavor, dsde.getDragSourceContext().getTransferable());
-				getSourceUndoActivity().setAffectedFigures( df.getFigures() );
-
-				//all this visitation needs to be hidden in a view method.
-				DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor(view.drawing());
-				FigureEnumeration fe = getSourceUndoActivity().getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					fe.nextFigure().visit(deleteVisitor);
-				}
-				view.clearSelection();
-				view.checkDamage();
-
-				editor().getUndoManager().pushUndo( getSourceUndoActivity() );
-				editor().getUndoManager().clearRedos();
-				// update menus
-				editor().figureSelectionChanged( view );
-			}
-			else if (dsde.getDropAction() == DnDConstants.ACTION_COPY) {
-				log("DragSourceDropEvent-ACTION_COPY");
-			}
-		}
-
-		if (autoscrollState != null) {
-			Component c = dsde.getDragSourceContext().getComponent();
-			if (JComponent.class.isInstance( c )) {
-				JComponent jc = (JComponent)c;
-				jc.setAutoscrolls(autoscrollState.booleanValue());
-				autoscrollState= null;
-			}
-		}
-	}
-	/**
-	 * Called as the hotspot enters a platform dependent drop site.
-	 */
-	public void dragEnter(DragSourceDragEvent dsde) {
-		log("DragSourceDragEvent-dragEnter");
-		if (autoscrollState == null) {
-			Component c = dsde.getDragSourceContext().getComponent();
-			if (JComponent.class.isInstance( c )) {
-				JComponent jc = (JComponent)c;
-				autoscrollState= new Boolean(jc.getAutoscrolls());
-				jc.setAutoscrolls(false);//why turn it off???
-			}
-		}
-	}
-	/**
-	 * Called as the hotspot exits a platform dependent drop site.
-	 */
-	public void dragExit(java.awt.dnd.DragSourceEvent dse) {
-	}
-	/**
-	 * Called as the hotspot moves over a platform dependent drop site.
-	 */
-	public void dragOver(DragSourceDragEvent dsde) {
-		//log("DragSourceDragEvent-dragOver");
-	}
-	/**
-	 * Called when the user has modified the drop gesture.
-	 */
-	public void dropActionChanged(DragSourceDragEvent dsde) {
-		log("DragSourceDragEvent-dropActionChanged");
-	}
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createSourceUndoActivity(DrawingView drawingView) {
-		return new RemoveUndoActivity( drawingView );
-	}
-	protected void setSourceUndoActivity(Undoable undoable){
-		sourceUndoable = undoable;
-	}
-	protected Undoable getSourceUndoActivity(){
-		return sourceUndoable;
-	}
-	public static class RemoveUndoActivity extends CH.ifa.draw.util.UndoableAdapter {
-		private boolean undone = false;
-		public RemoveUndoActivity(DrawingView view) {
-			super( view );
-			log("RemoveUndoActivity created " + view);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (isUndoable()) {
-				if(getAffectedFigures().hasNextFigure()) {
-					log("RemoveUndoActivity undo");
-					getDrawingView().clearSelection();
-					setAffectedFigures( getDrawingView().insertFigures(getAffectedFigures(), 0, 0,false));
-					undone = true;
-					return true;
-				}
-			}
-			return false;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				log("RemoveUndoActivity redo");
-				DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor( getDrawingView().drawing());
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					fe.nextFigure().visit(deleteVisitor); //orphans figures
-				}
-				getDrawingView().clearSelection();
-				setAffectedFigures( deleteVisitor.getDeletedFigures() );
-				undone = false;
-				return true;
-			}
-			return false;
-		}
-		/**
-		 * Since this is a delete activity, figures can only be released if the
-		 * action has not been undone.
-		 */
-		public void release() {
-			if(undone == false){//we have figures that used to be in the drawing, but were not adding back
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					Figure f = fe.nextFigure();
-					getDrawingView().drawing().remove(f);
-					f.release();
-				}
-			}
-			setAffectedFigures(CH.ifa.draw.standard.FigureEnumerator.getEmptyEnumeration());
-		}		
-	}
-	
-	
-	
-	
-	
-	
-	
-	private static void log(String message){
-		//System.out.println("JHDDragSourceListener: " + message);
-	}
-	
-	
-	
-	
-	
-	
-	
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDropTargetListener.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDropTargetListener.java
deleted file mode 100644
index 060cb31be..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDropTargetListener.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * JHDDropTargetListener.java
- *
- * Created on January 28, 2003, 4:23 PM
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.DeleteFromDrawingVisitor;
-import java.io.File;
-import CH.ifa.draw.util.Undoable;
-import java.awt.Point;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.dnd.*;
-
-
-/**
- *
- * @author  Administrator
- */
-public class JHDDropTargetListener implements java.awt.dnd.DropTargetListener {
-	private int     fLastX=0, fLastY=0;      // previous mouse position
-	private Undoable targetUndoable;
-	private DrawingView dv;
-	private DrawingEditor editor;
-	/** Creates a new instance of JHDDropTargetListener */
-	public JHDDropTargetListener(DrawingEditor drawingEditor, DrawingView drawingView) {
-		dv = drawingView;
-		editor = drawingEditor;
-	}
-	protected DrawingView view(){
-		return dv;
-	}
-	protected DrawingEditor editor(){
-		return editor;
-	}
-	
-	
-	
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-	
-	/**
-	 * Called when a drag operation has encountered the DropTarget.
-	 */
-	public void dragEnter(DropTargetDragEvent dtde) {
-		log("DropTargetDragEvent-dragEnter");
-		supportDropTargetDragEvent(dtde);
-		if (fLastX == 0) {
-			fLastX = dtde.getLocation().x;
-		}
-		if (fLastY == 0) {
-			fLastY = dtde.getLocation().y;
-		}
-	}
-
-	/**
-	 * The drag operation has departed the DropTarget without dropping.
-	 */
-	public void dragExit(java.awt.dnd.DropTargetEvent dte) {
-		log("DropTargetEvent-dragExit");
-	}
-
-	/**
-	 * Called when a drag operation is ongoing on the DropTarget.
-	 */
-	 public void dragOver(DropTargetDragEvent dtde) {
-		//log("DropTargetDragEvent-dragOver");
-		if (supportDropTargetDragEvent(dtde)==true) {
-			int x=dtde.getLocation().x;
-			int y=dtde.getLocation().y;
-			if ((Math.abs(x - fLastX) > 0) || (Math.abs(y - fLastY) > 0) ) {
-				//FigureEnumeration fe = view().selectionElements();
-				//while (fe.hasNextFigure()) {
-				//	fe.nextFigure().moveBy(x - fLastX, y - fLastY);
-				//	System.out.println("moving Figures " + view());
-				//}
-				//view().drawing().update();
-				fLastX = x;
-				fLastY = y;
-			}
-		}
-	 }
-
-	/**
-	 * The drag operation has terminated with a drop on this DropTarget.
-	 * Be nice to somehow incorporate FigureTransferCommand here.
-	 */
-	 public void drop(java.awt.dnd.DropTargetDropEvent dtde) {
-		System.out.println("DropTargetDropEvent-drop");
-
-		if (dtde.isDataFlavorSupported(DNDFiguresTransferable.DNDFiguresFlavor) == true) {
-			log("DNDFiguresFlavor");
-			if ((dtde.getDropAction() & DnDConstants.ACTION_COPY_OR_MOVE) != 0 ) {
-				log("copy or move");
-				if (dtde.isLocalTransfer() == false) {
-					System.err.println("Intra-JVM Transfers not implemented for figures yet.");
-					dtde.rejectDrop();
-					return;
-				}
-				dtde.acceptDrop(dtde.getDropAction());
-				try { /* protection from a malicious dropped object */
-					setTargetUndoActivity( createTargetUndoActivity( view() ) );
-					DNDFigures ff = (DNDFigures)DNDHelper.processReceivedData(DNDFiguresTransferable.DNDFiguresFlavor, dtde.getTransferable());
-					getTargetUndoActivity().setAffectedFigures( ff.getFigures() );
-					Point theO = ff.getOrigin();
-					view().clearSelection();
-					Point newP = dtde.getLocation();
-					/** origin is where the figure thinks it is now
-					  * newP is where the mouse is now.
-					  * we move the figure to where the mouse is with this equation
-					  */
-					int dx = newP.x - theO.x;  /* distance the mouse has moved */
-					int dy = newP.y - theO.y;  /* distance the mouse has moved */
-					log("mouse at " + newP);
-					FigureEnumeration fe = view().insertFigures( getTargetUndoActivity().getAffectedFigures() ,  dx, dy, false );
-					getTargetUndoActivity().setAffectedFigures( fe );
-
-					if (dtde.getDropAction() == DnDConstants.ACTION_MOVE) {
-						view().addToSelectionAll( getTargetUndoActivity().getAffectedFigures() );
-					}
-
-					view().checkDamage();
-					editor().getUndoManager().pushUndo( getTargetUndoActivity() );
-					editor().getUndoManager().clearRedos();
-					// update menus
-					editor().figureSelectionChanged( view() );
-					dtde.dropComplete(true);
-				}
-				catch (NullPointerException npe) {
-					npe.printStackTrace();
-					dtde.dropComplete(false);
-				}
-			}
-			else {
-				dtde.rejectDrop();
-			}
-		}
-		else if (dtde.isDataFlavorSupported(DataFlavor.stringFlavor)) {
-			log("String flavor dropped.");
-			dtde.acceptDrop(dtde.getDropAction());
-			Object o = DNDHelper.processReceivedData(DataFlavor.stringFlavor, dtde.getTransferable());
-			if (o != null) {
-				log("Received string flavored data.");
-				dtde.getDropTargetContext().dropComplete(true);
-			}
-			else {
-				dtde.getDropTargetContext().dropComplete(false);
-			}
-		}
-		else if (dtde.isDataFlavorSupported(DNDHelper.ASCIIFlavor) == true) {
-			log("ASCII Flavor dropped.");
-			dtde.acceptDrop(DnDConstants.ACTION_COPY);
-			Object o = DNDHelper.processReceivedData(DNDHelper.ASCIIFlavor, dtde.getTransferable());
-			if (o!= null) {
-				log("Received ASCII Flavored data.");
-				dtde.getDropTargetContext().dropComplete(true);
-				//System.out.println(o);
-			}
-			else {
-				dtde.getDropTargetContext().dropComplete(false);
-			}
-		}
-		else if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
-			log("Java File List Flavor dropped.");
-			dtde.acceptDrop(DnDConstants.ACTION_COPY);
-			File [] fList = (File[]) DNDHelper.processReceivedData(DataFlavor.javaFileListFlavor, dtde.getTransferable());
-			if (fList != null) {
-				log("Got list of files.");
-				for (int x=0; x< fList.length; x++ ) {
-					System.out.println(fList[x].getAbsolutePath());
-				}
-				dtde.getDropTargetContext().dropComplete(true);
-			}
-			else {
-				dtde.getDropTargetContext().dropComplete(false);
-			}
-		}
-		fLastX = 0;
-		fLastY = 0;
-	}
-
-	/**
-	 * Called if the user has modified the current drop gesture.
-	 */
-	public void dropActionChanged(DropTargetDragEvent dtde) {
-		log("DropTargetDragEvent-dropActionChanged");
-		supportDropTargetDragEvent(dtde);
-	}
-
-	
-	
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-	
-	/**
-	 * Tests wether the Drag event is of a type that we support handling
-	 * Check the DND interface and support the events it says it supports
-	 * if not a dnd interface comp, then dont support! because we dont even
-	 * really know what kind of view it is.
-	 */
-	protected boolean supportDropTargetDragEvent(DropTargetDragEvent dtde) {
-		if (dtde.isDataFlavorSupported(DNDFiguresTransferable.DNDFiguresFlavor) == true) {
-			if ((dtde.getDropAction() & DnDConstants.ACTION_COPY_OR_MOVE) != 0) {
-				dtde.acceptDrag(dtde.getDropAction());
-				return true;
-			}
-			else {
-				dtde.rejectDrag();
-				return false;
-			}
-		}
-		else if (dtde.isDataFlavorSupported(DNDHelper.ASCIIFlavor) == true) {
-			dtde.acceptDrag(dtde.getDropAction());//accept everything because i am too lazy to fix yet
-			return true;
-		}
-		else if (dtde.isDataFlavorSupported(DataFlavor.stringFlavor) == true) {
-			dtde.acceptDrag(dtde.getDropAction());//accept everything because i am too lazy to fix yet
-			return true;
-		}
-		else if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor) == true) {
-			dtde.acceptDrag(dtde.getDropAction());//accept everything because i am too lazy to fix yet
-			return true;
-		}
-		else {
-			dtde.rejectDrag();
-			return false;
-		}
-	}
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-	
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createTargetUndoActivity(DrawingView view) {
-		return new AddUndoActivity( view );
-	}
-	protected void setTargetUndoActivity(Undoable undoable){
-		targetUndoable = undoable;
-	}
-	protected Undoable getTargetUndoActivity(){
-		return targetUndoable;
-	}
-	public static class AddUndoActivity extends CH.ifa.draw.util.UndoableAdapter {
-		private boolean undone=false;
-		public AddUndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			log("AddUndoActivity created " + newDrawingView);			
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			//undo of add really shouldnt need visitor !?!dnoyeb!?!
-			log("AddUndoActivity AddUndoActivity undo");
-			DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor(getDrawingView().drawing());
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-	    		CH.ifa.draw.framework.Figure f = fe.nextFigure();
-				f.visit(deleteVisitor);
-			}
-			setAffectedFigures( deleteVisitor.getDeletedFigures() );
-			getDrawingView().clearSelection();
-			undone = true;
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-			log("AddUndoActivity redo");
-			getDrawingView().clearSelection();
-			setAffectedFigures(getDrawingView().insertFigures(
-				getAffectedFigures(), 0, 0, false));
-			undone = false;
-			return true;
-		}
-		/**
-		 *	Since this is an add operation, figures can only be released if it
-		 *  has been undone.
-		 */
-		public void release() {
-			if(undone == true){
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					Figure f = fe.nextFigure();
-					getDrawingView().drawing().remove(f);
-					f.release();
-				}
-			}
-			setAffectedFigures(CH.ifa.draw.standard.FigureEnumerator.getEmptyEnumeration());
-		}
-	}
-	private static void log(String message){
-		//System.out.println("JHDDropTargetListener: " + message);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/AbstractContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/AbstractContentProducer.java
deleted file mode 100644
index 4bbf49611..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/AbstractContentProducer.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)AbstractContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.IOException;
-import java.io.Serializable;
-
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * Base class for the ContentProducers hierarchy<br>
- * Doesn't do a thing now, but we may need this one later to add
- * generic behaviour.
- *
- * @author  Eduardo Francos - InContext
- * @created 7 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractContentProducer implements ContentProducer, Serializable {
-
-	final static long serialVersionUID = -2715253447095419531L;
-
-	/**
-	 * Constructor for the AbstractContentProducer object
-	 */
-	public AbstractContentProducer() { }
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) { }
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException { }
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/AttributeContentProducerContext.java b/JHotDraw/src/CH/ifa/draw/contrib/html/AttributeContentProducerContext.java
deleted file mode 100644
index 6f08da4e3..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/AttributeContentProducerContext.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * @(#)AttributeContentProducerContext.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- * AttributeContentProducerContext defines the interface required of clients
- * requesting contents from AttributeFigures oriented ContentProducers.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface AttributeContentProducerContext extends FigureContentProducerContext {
-
-	/**
-	 * Gets an attribute from the ContentProducerContext object
-	 *
-	 * @param name  the name of the attribute
-	 * @return      The attribute value
-	 */
-	public Object getAttribute(String name);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/AttributeFigureContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/AttributeFigureContentProducer.java
deleted file mode 100644
index afead880a..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/AttributeFigureContentProducer.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * @(#)AttributeFigureContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.Serializable;
-import CH.ifa.draw.util.StorableOutput;
-import CH.ifa.draw.util.StorableInput;
-import java.io.IOException;
-
-/**
- * AttributeFigureContentProducer provides content for AttributeFigures.<br>
- * It gives priority to base class supplied values, and if none, then it
- * gets the value from the supplied AttributeContentProducerContext.
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class AttributeFigureContentProducer extends FigureDataContentProducer
-		 implements Serializable {
-
-	/**Constructor for the AttributeFigureContentProducer object */
-	public AttributeFigureContentProducer() { }
-
-	/**
-	 * Produces the contents for the attribute
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name
-	 * @param ctxAttrValue  the attribute value that led to the call to this
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		// first chance to basic values
-		Object attrValue = super.getContent(context, ctxAttrName, ctxAttrValue);
-		if (attrValue != null) {
-			return attrValue;
-		}
-
-		// no, return value from attributes
-		return ((AttributeContentProducerContext)context).getAttribute(ctxAttrName);
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ColorContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ColorContentProducer.java
deleted file mode 100644
index f311717d9..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ColorContentProducer.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)ColorContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Color;
-import java.io.IOException;
-import java.io.Serializable;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * ColorContentProducer produces RGB color encoded hexadecimal strings.<br>
- * Ex:
- * <code>Color.blue ==> 0x0000FF</code><br>
- * <code>Color.red  ==> 0xFF00FF</code><br>
- * It can either be specific if set for a specific color, or generic, encoding
- * any color passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class ColorContentProducer extends FigureDataContentProducer
-		 implements Serializable {
-
-	private Color fColor = null;
-
-	/**Constructor for the ColorContentProducer object */
-	public ColorContentProducer() { }
-
-	/**
-	 * Constructor for the ColorContentProducer object
-	 *
-	 * @param color  the specific color to use
-	 */
-	public ColorContentProducer(Color color) {
-		setColor(color);
-	}
-
-	/**
-	 * Produces the contents for the color
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the color attribute name (FrameColor, TextColor, etc)
-	 * @param ctxAttrValue  the color
-	 * @return              The string RBG value for the color
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		// if we have our own color then use it
-		// otherwise use the one supplied
-		Color color = (getColor() != null) ? getColor() : (Color)ctxAttrValue;
-		String colorCode = Integer.toHexString(color.getRGB());
-		return "0x" + colorCode.substring(colorCode.length() - 6);
-	}
-
-	/**
-	 * Sets the color attribute of the ColorContentProducer object
-	 *
-	 * @param color  The new color value
-	 */
-	public void setColor(Color color) {
-		fColor = color;
-	}
-
-	/**
-	 * Gets the color attribute of the ColorContentProducer object
-	 *
-	 * @return   The color value
-	 */
-	public Color getColor() {
-		return fColor;
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeBoolean((getColor() != null));
-		if (getColor() != null) {
-			dw.writeInt(getColor().getRGB());
-		}
-	}
-
-	/**
-	 * Reads the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		boolean hasColor = dr.readBoolean();
-		if (hasColor) {
-			setColor(new Color(dr.readInt()));
-		}
-		else{
-			setColor(null);
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducer.java
deleted file mode 100644
index 66e8359d0..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * @(#)ContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import CH.ifa.draw.util.Storable;
-
-/**
- * ContentProducer defines the interface for objects capable of producing
- * contents on behalf of a client context.<br>
- * Primarely based on the Strategy pattern, the purpose of ContentProducers
- * is twofold:<br>
- * <li> Detach the logic for producing generic content from interested parties so
- * as to maximize reuse, of special interest for complex content</li>
- * <li> Standardize contents by allowing for the automatic decentralization of
- * contents source and production logic. Used together with the
- * ContentProducerRegistry it is possible to globally modify the behaviour
- * required for producing a specific type of contents. For example,
- * a FieldContentProducer could be declined to get its contents from variables in
- * an in-memory object, a setting from a configuration file, or even a field in
- * a database record.</li>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- * @todo    should entity names be merged with the attribute names defined
- * in FigureAttributeConstant?
- */
-public interface ContentProducer extends Storable {
-
-	/** Entity name for the figure's current x position in pixels */
-	public final static String ENTITY_FIGURE_POSX = "FigurePosX";
-
-	/** Entity name for the figure's current y position in pixels */
-	public final static String ENTITY_FIGURE_POSY = "FigurePosY";
-
-	/** Entity name for the figure's current width in pixels */
-	public final static String ENTITY_FIGURE_WIDTH = "FigureWidth";
-
-	/** Entity name for the figure's current height in pixels */
-	public final static String ENTITY_FIGURE_HEIGHT = "FigureHeight";
-
-	/** Entity name for the figure's current text color */
-	public final static String ENTITY_FRAME_COLOR = "FrameColor";
-
-	/** Entity name for the figure's current fill color */
-	public final static String ENTITY_FILL_COLOR = "FillColor";
-
-	/** Entity name for the figure's current arrow mode */
-	public final static String ENTITY_ARROW_MODE = "ArrowMode";
-
-	/** Entity name for the figure's current font name */
-	public final static String ENTITY_FONT_NAME = "FontName";
-
-	/** Entity name for the figure's current font size */
-	public final static String ENTITY_FONT_SIZE = "FontSize";
-
-	/** Entity name for the figure's current font style */
-	public final static String ENTITY_FONT_STYLE = "FontStyle";
-
-	/**
-	 * Produces the contents
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name
-	 * @param ctxAttrValue  the attribute value that led to the call to this
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerContext.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerContext.java
deleted file mode 100644
index 984637a99..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerContext.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * @(#)ContentProducerContext.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- * ContentProducerContext defines the base interface required of clients
- * of ContentProducers.<br>
- * ContentProducers may need to retrieve information from their calling client
- * in order to fulfill the contents request
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface ContentProducerContext {
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerRegistry.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerRegistry.java
deleted file mode 100644
index 50b16d851..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerRegistry.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * @(#)ContentProducerRegistry.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.net.URL;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-import CH.ifa.draw.util.Storable;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * ContentProducerRegistry acts as a repository for ContentProducers. It allows
- * for registries to be organized in a hierarchy, so that a specific producer
- * request will travel upwards in the hierarchy until eventually a suitable
- * producer is found.<br>
- * Producers are registered associated with the class of the object they are suitable
- * to produce contents for, but ContentProducerRegistry allows for class hierarchy
- * searches. What this means is that for two classes A and B, B being a subclass
- * of A, if a producer is registered for class B it will be used, otherwise the
- * producer registered for class A will be used instead. ContentProducerRegistry will
- * always select the super class closest in the class hierarchy, so if several
- * producers are registered for classes in a derivation hierarchy, the producer
- * registered for the class closest to the requested class will be selected.
- *
- * @author  Eduardo Francos - InContext
- * @created 7 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class ContentProducerRegistry implements Serializable, Storable {
-
-	/** producers registered with this registry */
-	private Hashtable fContentProducers = new Hashtable();
-
-	/** parent registry for hierarchical searches */
-	private transient ContentProducerRegistry fParent;
-
-	/** Application global producers */
-	private static ContentProducerRegistry fDefaultRegistry =
-			new ContentProducerRegistry(null);
-
-	// initialize the application wide default content producers
-	static {
-		fDefaultRegistry.registerContentProducer(URL.class, new URLContentProducer());
-	}
-
-	/**Constructor for the ContentProducerRegistry object */
-	public ContentProducerRegistry() {
-		setParent(fDefaultRegistry);
-	}
-
-	/**
-	 *Constructor for the ContentProducerRegistry object
-	 *
-	 * @param parent  the parent for this producer
-	 */
-	public ContentProducerRegistry(ContentProducerRegistry parent) {
-		setParent(parent);
-	}
-
-	/**
-	 * Sets the autonomous attribute of the ContentProducerRegistry object.
-	 * Similar to setting the parent to null<br>
-	 * An autonomous registry does not have a parent hierarchy so resolution of
-	 * search requests stop do not propagate.
-	 *
-	 * @see   #setParent(ContentProducerRegistry)
-	 */
-	public void setAutonomous() {
-		setParent(null);
-	}
-
-	/**
-	 * Gets the autonomous status of the ContentProducerRegistry object
-	 *
-	 * @return   The autonomous value
-	 */
-	public boolean isAutonomous() {
-		return (getParent() == null);
-	}
-
-	/**
-	 * Sets the parent attribute of the ContentProducerRegistry object
-	 *
-	 * @param newParent  The new parent value
-	 * @see              #setAutonomous()
-	 */
-	public void setParent(ContentProducerRegistry newParent) {
-		fParent = newParent;
-	}
-
-	/**
-	 * Gets the parent attribute of the ContentProducerRegistry object
-	 *
-	 * @return   The parent value
-	 */
-	public ContentProducerRegistry getParent() {
-		return fParent;
-	}
-
-	/**
-	 * Registers an application global producer
-	 *
-	 * @param producer     the registered producer
-	 * @param targetClass  The class associated with the producer
-	 * @return             the previous producer registered for the target class
-	 */
-	public static ContentProducer registerDefaultContentProducer(Class targetClass, ContentProducer producer) {
-		return fDefaultRegistry.registerContentProducer(targetClass, producer);
-	}
-
-	/**
-	 * Unregisters ie: removes a registered producer for a target class.<br>
-	 * A check is made to ensure the removed producer is the current producer
-	 * for the target class. If not, the request is ignored.
-	 *
-	 * @param producer     the producer to unregister
-	 * @param targetClass  the target class
-	 */
-	public static void unregisterDefaultContentProducer(Class targetClass, ContentProducer producer) {
-		fDefaultRegistry.unregisterContentProducer(targetClass, producer);
-	}
-
-	/**
-	 * Gets the ContentProducer attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param targetClass  the target class
-	 * @return             the previous producer registered for the target class
-	 */
-	public static ContentProducer getDefaultContentProducer(Class targetClass) {
-		return fDefaultRegistry.getContentProducer(targetClass);
-	}
-
-	/**
-	 * Gets the exact application global Producer for the target class, ie:
-	 * no class hierarchy search
-	 *
-	 * @param targetClass  the target class
-	 * @return             The producer
-	 */
-	public static ContentProducer getExactDefaultContentProducer(Class targetClass) {
-		return fDefaultRegistry.getExactContentProducer(targetClass);
-	}
-
-	/**
-	 * Registers a producer
-	 *
-	 * @param producer     the producer to register
-	 * @param targetClass  the target class
-	 * @return             the previous producer registered for the target class
-	 */
-	public ContentProducer registerContentProducer(Class targetClass, ContentProducer producer) {
-		ContentProducer previousProducer = getContentProducer(targetClass);
-		fContentProducers.put(targetClass, producer);
-		return previousProducer;
-	}
-
-	/**
-	 * Unregisters a producer
-	 *
-	 * @param producer     the producer to unregister
-	 * @param targetClass  the target class
-	 */
-	public void unregisterContentProducer(Class targetClass, ContentProducer producer) {
-		// first check that the producer being removed is the current producer
-		// for the target class
-		ContentProducer currentProducer = getContentProducer(targetClass);
-		if (currentProducer == producer) {
-			fContentProducers.remove(targetClass);
-		}
-	}
-
-	/**
-	 * Finds the most appropriate producer for the target class. Will search
-	 * first for exact producers, ie: no class hierarchy search, then if none found,
-	 * will do a class compatible search
-	 *
-	 * @param targetClass  The target class
-	 * @return             The producer
-	 */
-	public ContentProducer getContentProducer(Class targetClass) {
-		// first try an exact producer
-		ContentProducer producer = getExactContentProducer(targetClass);
-		if (producer != null) {
-			return producer;
-		}
-
-		// none defined, try finding one for the nearest super class
-		// of the target class. Note this shouldn't return null because there is
-		// a default producer defined for the Object class
-		return getSuperClassContentProducer(targetClass, null);
-	}
-
-	/**
-	 * Finds the exact producer for the target class, ie: no class hierarchy search
-	 *
-	 * @param targetClass  The target class
-	 * @return             The producer
-	 */
-	public ContentProducer getExactContentProducer(Class targetClass) {
-		// first try our own
-		ContentProducer producer = (ContentProducer)fContentProducers.get(targetClass);
-		if (producer != null) {
-			return producer;
-		}
-
-		// none defined, try our parent's
-		// unless we are autonomous (ie: we have no parent)
-		if (!this.isAutonomous()) {
-			return getParent().getExactContentProducer(targetClass);
-		}
-
-		// none defined
-		return null;
-	}
-
-	/**
-	 * Gets the producers for the closest super class of the target class
-	 *
-	 * @param targetClass  The target class
-	 * @return             The producer
-	 */
-	protected ContentProducer getSuperClassContentProducer(Class targetClass, Class closestClass) {
-		Map.Entry entry = null;
-		Class entryClass = null;
-		ContentProducer closestProducer = null;
-
-		Iterator iter = fContentProducers.entrySet().iterator();
-		while (iter.hasNext()) {
-			entry = (Map.Entry)iter.next();
-			entryClass = (Class)entry.getKey();
-			if (entryClass.isAssignableFrom(targetClass)) {
-				if (closestClass != null && closestClass.isAssignableFrom(entryClass)) {
-					closestClass = entryClass;
-					closestProducer = (ContentProducer)entry.getValue();
-				}
-			}
-		}
-
-		// whether we found one or not ask our parent to see if a more
-		// exact producer is defined
-		// unless we are autonomous (ie: we have no parent)
-		if (!this.isAutonomous()) {
-			ContentProducer parentProducer =
-					getParent().getSuperClassContentProducer(targetClass, closestClass);
-			if (parentProducer != null) {
-				closestProducer = parentProducer;
-			}
-		}
-
-		return closestProducer;
-	}
-
-	/**
-	 * Storable write support
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeInt(fContentProducers.size());
-		Map.Entry producerEntry;
-		Iterator iter = fContentProducers.entrySet().iterator();
-		while (iter.hasNext()) {
-			producerEntry = (Map.Entry)iter.next();
-			dw.writeString(((Class)producerEntry.getKey()).getName());
-			dw.writeStorable((Storable)producerEntry.getKey());
-		}
-	}
-
-	/**
-	 * Storable inoput support
-	 *
-	 * @param dr               storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		// read the default content producers, count first
-		int prodCount = dr.readInt();
-		String prodClass;
-		ContentProducer producer;
-		for (int cnt = 0; cnt < prodCount; cnt++) {
-			prodClass = dr.readString();
-			producer = (ContentProducer)dr.readStorable();
-			try {
-				registerContentProducer(Class.forName(prodClass), producer);
-			}
-			catch (ClassNotFoundException ex) {
-				// the class does not exist in this application
-				// cannot do much about it so ignore it, the entities of
-				// this class will get their toString() value instead
-			}
-		}
-
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/DiamondFigureGeometricAdapter.java b/JHotDraw/src/CH/ifa/draw/contrib/html/DiamondFigureGeometricAdapter.java
deleted file mode 100644
index aa1323572..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/DiamondFigureGeometricAdapter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * @(#)DiamondFigureGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Point;
-import java.awt.Shape;
-
-import CH.ifa.draw.contrib.DiamondFigure;
-
-/**
- * Geometric adapter for the DiamondFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 6 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class DiamondFigureGeometricAdapter extends DiamondFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the DiamondFigureGeometricAdapter object
-	 */
-	public DiamondFigureGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the DiamondFigureGeometricAdapter object
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 */
-	public DiamondFigureGeometricAdapter(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	/**
-	 * Gets the shape attribute of the DiamondFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		return getPolygon();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceHolder.java b/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceHolder.java
deleted file mode 100644
index 109e55fb6..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceHolder.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * @(#)DisposableResourceHolder.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- * DisposableResourceHolder defines the interface for objects holding
- * disposable resources.<br>
- * A disposable resource is any kind of object that can be disposed of
- * according to a given disposal strategy.<BR>
- * DisposableResourceHolder keeps track of the last time the resource is
- * accessed to support ellapsed time ResourceDisposabilityStrategies.<br>
- * For example, if you are handling large images that you can regenerate
- * at will, the DisposableResourceHolder will hold the image, and if not
- * accessed for let's say 60 secs then it discards the image
- * (sets its reference to null) so that it can be GCed.<br>
- * Within the context of JHotDraw, HTMLTextAreaFigure uses
- * DisposableResourceHolders to handle the HTML generated image, but if the
- * figure is not displayed (out of the display area or in a background view) then
- * the image is disposed of after a while and the HTMLTextAreaFigure will regenerate
- * it the next time it is displayed.<br>
- * A resource may be locked so that its user can be sure it will not be
- * disposed of while in use. After finished using it it should be unlocked so as
- * to reintegrate it to the disposal strategy.
- *
- * @author    Eduardo Francos - InContext
- * @created   2 mai 2002
- * @version   <$CURRENT_VERSION$>
- * @see       DisposableResourceManager
- * @see       StandardDisposableResourceManager
- * @see       ResourceDisposabilityStrategy
- * @see       DisposableResourceManagerFactory
- * @see       StandardDisposableResourceHolder
- */
-public interface DisposableResourceHolder {
-
-	/**
-	 * Gets the resource
-	 *
-	 * @return                          The resource value
-	 * @exception NullPointerException  If the resource was disposed of
-	 */
-	public Object getResource() throws NullPointerException;
-
-	/**
-	 * Makes a clone the this
-	 *
-	 * @return   the clone
-	 */
-	public Object clone();
-
-	/**
-	 * Sets the resource
-	 *
-	 * @param resource  The new resource value
-	 */
-	public void setResource(Object resource);
-
-	/**
-	 * Sets the disposableDelay
-	 *
-	 * @param millis  The new disposableDelay value
-	 */
-	public void setDisposableDelay(long millis);
-
-	/**
-	 * Gets the disposableDelay
-	 *
-	 * @return   The disposableDelay value
-	 */
-	public long getDisposableDelay();
-
-	/**
-	 * Resets the disposing delay so as to restart the time counter
-	 */
-	public void resetDelay();
-
-	/**
-	 * Gets the lastTimeAccessed attribute of the DisposableResourceHolder object
-	 *
-	 * @return   The lastTimeAccessed value
-	 */
-	public long getLastTimeAccessed();
-
-	/** Disposes of the resource immediately. */
-	public void dispose();
-
-	/**
-	 * Returns true if the resource is still available
-	 *
-	 * @return   The resourceDirty value
-	 */
-	public boolean isAvailable();
-
-	/**
-	 * Locks the resource so it cannot be automatically disposed of until unlock
-	 * is called.<br>
-	 * Explicit disposing by calling dispose() is still possible though.
-	 */
-	public void lock();
-
-	/**
-	 * Unlocks the resource so it can be automatically disposed of again.<br>
-	 * Explicit disposing by calling dispose() is still possible though.
-	 */
-	public void unlock();
-
-	/**
-	 * True if the resource is locked
-	 *
-	 * @return   The locked status
-	 */
-	public boolean isLocked();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManager.java b/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManager.java
deleted file mode 100644
index d4b21b992..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManager.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * @(#)DisposableResourceManager.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.util.Iterator;
-
-/**
- * DisposableResourceManager defines the interface for managers of disposable
- * resources.<br>
- * A DisposableResourceManager implements a strategy for efficient disposal
- * of seldom used resources.
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface DisposableResourceManager {
-
-	/**
-	 * Registers a resource with the manager so as to be disposed
-	 *
-	 * @param resource  the resource
-	 */
-	public void registerResource(DisposableResourceHolder resource);
-
-	/**
-	 * Unregisters a resource so it is not automatically GCed.<br>
-	 *
-	 * @param resource  the resource
-	 */
-	public void unregisterResource(DisposableResourceHolder resource);
-
-	/**
-	 * Returns an iterator on the managed resources
-	 *
-	 * @return   The resources iterator
-	 */
-	public Iterator getResources();
-
-	/**
-	 * True if the resource is registered with this manager
-	 *
-	 * @param resource  The resource
-	 * @return          True if the resource is registered with this manager
-	 */
-	public boolean managesResource(DisposableResourceHolder resource);
-
-	/**
-	 * Activates the strategy which starts disposing of resources as fitted
-	 *
-	 * @exception ResourceManagerNotSetException  Description of the Exception
-	 */
-	public void startDisposing() throws ResourceManagerNotSetException;
-
-	/**
-	 * Deactivates the strategy that stops automatic disposal of resource.<br>
-	 * The millis parameters specifies in milliseconds the time to wait for
-	 * the disposal to stop. After this time the method returns whether the
-	 * disposal was stopped or not, but the desactivation request remains active.
-	 *
-	 * @param millis  time to wait for disposal to stop
-	 */
-	public void stopDisposing(long millis);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManagerFactory.java b/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManagerFactory.java
deleted file mode 100644
index d89e67903..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManagerFactory.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * @(#)DisposableResourceManagerFactory.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- * DisposableResourceManagerFactory creates DisposableResourceHolders on behalf
- * of requesting clients. It automatically registers the holders with its singleton
- * standard resource manager
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public abstract class DisposableResourceManagerFactory {
-
-	/** The default periodicity for resource disposal */
-	public static long DEFAULT_DISPOSAL_PERIODICITY = 60000;
-
-	/** The singleton current resource manager */
-	protected static DisposableResourceManager currentManager = null;
-
-	protected static ResourceDisposabilityStrategy currentStrategy = null;
-
-	protected static DisposableResourceHolder holderPrototype = null;
-
-	/**
-	 * Gets the current manager.
-	 *
-	 * @return   The currentManager
-	 */
-	public static DisposableResourceManager getManager() {
-		return currentManager;
-	}
-
-	/**
-	 * Sets the strategy of the DisposableResourceManagerFactory
-	 * class. This is a one shot thing that should be initialized before using it
-	 * so if there is already a strategy this returns without further notice.
-	 *
-	 * @param strategy  The new disposalStrategy
-	 */
-	public static void setStrategy(ResourceDisposabilityStrategy strategy) {
-		currentStrategy = strategy;
-	}
-
-	/**
-	 * Returns a new standard resource holder already registered with the default
-	 * resource manager
-	 *
-	 * @param resource  Description of the Parameter
-	 * @return          the newly created resource holder
-	 */
-	public static DisposableResourceHolder createStandardHolder(Object resource) {
-		// ensure the manager is set and running
-		initManager();
-
-		// now create the holder and register it
-		DisposableResourceHolder holder = (DisposableResourceHolder)holderPrototype.clone();
-		holder.setResource(resource);
-		getManager().registerResource(holder);
-
-		return holder;
-	}
-
-	/** Initializes the standard resource disposal manager */
-	protected static void initManager() {
-		if (currentManager == null) {
-			// ensure we have a holder prototype
-			if (holderPrototype == null) {
-				holderPrototype = new StandardDisposableResourceHolder();
-			}
-			// ensure we have a strategy
-			if (currentStrategy == null) {
-				currentStrategy = new ETSLADisposalStrategy(DEFAULT_DISPOSAL_PERIODICITY);
-			}
-			// ensure we have a manager
-			if (currentManager == null) {
-			   currentManager = new StandardDisposableResourceManager(currentStrategy);
-			}
-
-			// start the whole thing
-			try {
-				currentManager.startDisposing();
-			}
-			catch (ResourceManagerNotSetException ex) {
-				// we set it so we shouldn't get here
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ETSLADisposalStrategy.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ETSLADisposalStrategy.java
deleted file mode 100644
index 668692b70..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ETSLADisposalStrategy.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * @(#)ETSLADisposalStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.util.Iterator;
-
-/**
- * ETSLADisposalStrategy implements an Ellapsed Time Since Last Access disposal
- * strategy.<bt>
- * It checks the last time a resource was accessed and if greater than
- * the resource's disposalDelay it disposes of the resource so that it can
- * be GCed.<br>
- * Disposal activity must be explicitely started using the startDisposing method
- *
- * @author    Eduardo Francos - InContext
- * @created   2 mai 2002
- * @version   1.0
- */
-public class ETSLADisposalStrategy implements ResourceDisposabilityStrategy {
-
-	/** The associated resource manager */
-	private DisposableResourceManager manager;
-
-	/** The periodicity at wich disposal is checked */
-	private long gcPeriodicity = 60000;
-
-	/** the thread that calls this periodically */
-	private DisposalThread disposalThread = null;
-
-	/** True if disposal is active and running */
-	private boolean disposingActive = false;
-
-
-	/**
-	 * Constructor for the ETSLADisposalStrategy object
-	 */
-	public ETSLADisposalStrategy() { }
-
-	/**
-	 *Constructor for the ETSLADisposalStrategy object
-	 *
-	 * @param periodicity  the periodicity at which to check for disposable resources
-	 */
-	public ETSLADisposalStrategy(long periodicity) {
-		this(null, periodicity);
-	}
-
-	/**
-	 *Constructor for the ETSLADisposalStrategy object
-	 *
-	 * @param manager      the manager
-	 * @param periodicity  the periodicity at which to check for disposable resources
-	 */
-	public ETSLADisposalStrategy(DisposableResourceManager newManager, long newPeriodicity) {
-		setManager(newManager);
-		setPeriodicity(newPeriodicity);
-		initDisposalThread();
-	}
-
-	/**
-	 * Sets the manager holding the resources for this strategy
-	 *
-	 * @param manager  The new manager value
-	 */
-	public synchronized void setManager(DisposableResourceManager newManager) {
-		// if new manager is null the stop disposing
-		if (getManager() == null) {
-			stopDisposing(Long.MAX_VALUE);
-		}
-		manager = newManager;
-	}
-
-	/**
-	 * Gets the manager holding the resources for this strategy
-	 *
-	 * @return   The manager value
-	 */
-	public DisposableResourceManager getManager() {
-		return manager;
-	}
-
-	/**
-	 * Activates the strategy which starts disposing of resources as fitted
-	 *
-	 * @exception ResourceManagerNotSetException  thrown if the manager has not
-	 * been set, so impossible to run
-	 */
-	public void startDisposing() throws ResourceManagerNotSetException {
-		if (getManager() == null) {
-			throw new ResourceManagerNotSetException();
-		}
-
-		// do nothing if already active
-		if (disposingActive) {
-			return;
-		}
-
-		disposingActive = true;
-		disposalThread.start();
-	}
-
-	/**
-	 * Deactivates the strategy that stops automatic disposal of resources.<br>
-	 * The millis parameters specifies in milliseconds the time to wait for
-	 * the disposal to stop. After this time the method returns, but the
-	 * deactivation request remains active.
-	 *
-	 * @param millis  time to wait for disposal to stop
-	 */
-	public void stopDisposing(long millis) {
-		// do nothing if not disposing
-		if (!disposingActive) {
-			return;
-		}
-		// request the thread to stop and wait for it
-		try {
-			disposalThread.interruptDisposalPending = true;
-			disposalThread.join(millis);
-		}
-		catch (InterruptedException ex) {
-			// ignore
-		}
-		finally {
-			disposingActive = false;
-		}
-	}
-
-	/**
-	 * Initializes the disposal thread if not alrady done.
-	 */
-	protected void initDisposalThread() {
-		if (disposalThread != null) {
-			return;
-		}
-
-		disposalThread = new DisposalThread(this, getPeriodicity());
-	}
-
-	/**
-	 * Dispose of all the resources whose dispose delay has expired and
-	 * are not locked
-	 */
-	protected synchronized void dispose() {
-		synchronized (getManager()) {
-			long currentTime = System.currentTimeMillis();
-			Iterator resourceIter = getManager().getResources();
-			DisposableResourceHolder resource;
-
-			while (resourceIter.hasNext()) {
-				resource = (DisposableResourceHolder)resourceIter.next();
-				synchronized (resource) {
-					if (!resource.isLocked() && (resource.getLastTimeAccessed() + resource.getDisposableDelay()) < currentTime) {
-						resource.dispose();
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Gets the periodicity attribute of the ETSLADisposalStrategy object
-	 *
-	 * @return   The periodicity value
-	 */
-	public long getPeriodicity() {
-		return gcPeriodicity;
-	}
-
-	/**
-	 * Sets the periodicity attribute of the ETSLADisposalStrategy object
-	 *
-	 * @param newPeriodicity  The new periodicity value
-	 */
-	public void setPeriodicity(long newPeriodicity) {
-		gcPeriodicity = newPeriodicity;
-		if (disposalThread != null) {
-			disposalThread.setPeriodicity(newPeriodicity);
-		}
-	}
-}
-
-/**
- * Description of the Class
- *
- * @author    Eduardo Francos - InContext
- * @created   2 mai 2002
- */
-class DisposalThread extends Thread {
-
-	private ETSLADisposalStrategy strategy;
-
-	/** The periodicity at wich disposal is checked */
-	private long periodicity = 60000;
-
-	/** Description of the Field */
-	boolean interruptDisposalPending = false;
-
-	/**
-	 *Constructor for the DisposalThread object
-	 *
-	 * @param strategy     the strategy
-	 * @param periodicity  the periodicity at which the strategy should be called
-	 */
-	DisposalThread(ETSLADisposalStrategy newStrategy, long newPeriodicity) {
-		strategy = newStrategy;
-		periodicity = newPeriodicity;
-	}
-
-	/**
-	 * Main processing method for the DisposalThread object
-	 */
-	public void run() {
-		interruptDisposalPending = false;
-		while (!interruptDisposalPending) {
-			try {
-				sleep(periodicity);
-			}
-			catch (Exception ex) {
-				// just exit
-				break;
-			}
-			strategy.dispose();
-		}
-		interruptDisposalPending = false;
-	}
-
-	/**
-	 * Gets the periodicity attribute of the ETSLADisposalStrategy object
-	 *
-	 * @return   The periodicity value
-	 */
-	public long getPeriodicity() {
-		return periodicity;
-	}
-
-	/**
-	 * Sets the periodicity attribute of the ETSLADisposalStrategy object
-	 *
-	 * @param newPeriodicity  The new periodicity value
-	 */
-	public void setPeriodicity(long newPeriodicity) {
-		periodicity = newPeriodicity;
-	}
-
-	/** Description of the Method */
-	public void interruptDisposal() {
-		interruptDisposalPending = true;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/EllipseFigureGeometricAdapter.java b/JHotDraw/src/CH/ifa/draw/contrib/html/EllipseFigureGeometricAdapter.java
deleted file mode 100644
index 672e97f9e..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/EllipseFigureGeometricAdapter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)EllipseFigureGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.awt.Shape;
-import java.awt.geom.Ellipse2D;
-
-import CH.ifa.draw.figures.EllipseFigure;
-
-/**
- * Geometric adapter for the EllipseFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 1 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class EllipseFigureGeometricAdapter extends EllipseFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the EllipseFigureExt object
-	 */
-	public EllipseFigureGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the EllipseFigureGeometricAdapter object
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 */
-	public EllipseFigureGeometricAdapter(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	/**
-	 * Gets the shape attribute of the EllipseFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		Rectangle rect = displayBox();
-		Ellipse2D.Float ellipse = new Ellipse2D.Float(rect.x, rect.y, rect.width, rect.height);
-		return ellipse;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/FigureContentProducerContext.java b/JHotDraw/src/CH/ifa/draw/contrib/html/FigureContentProducerContext.java
deleted file mode 100644
index 2606889cc..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/FigureContentProducerContext.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)FigureContentProducerContext.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Font;
-
-import java.awt.Rectangle;
-
-/**
- * FigureContentProducerContext defines the interface required of clients
- * requesting contents for Figure oriented ContentProducers.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 7 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureContentProducerContext extends ContentProducerContext {
-
-	/**
-	 * Returns the display box of the figure
-	 *
-	 * @return   the display box
-	 */
-	public Rectangle displayBox();
-
-	/**
-	 * Gets the font of the figure
-	 *
-	 * @return   The font
-	 */
-	public Font getFont();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/FigureDataContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/FigureDataContentProducer.java
deleted file mode 100644
index 1e19b83a8..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/FigureDataContentProducer.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * @(#)FigureDataContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.IOException;
-
-import java.io.Serializable;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * FigureDataContentProducer produces content on behalf of Figures.<br>
- * It supports the basic information common to all figures.
- * It can only be used as a generic producer, getting information from any
- * figure passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class FigureDataContentProducer extends AbstractContentProducer
-		 implements Serializable {
-
-	/**
-	 * Constructor for the FigureContentProducer object
-	 */
-	public FigureDataContentProducer() { }
-
-	/**
-	 * Produces the contents for the figure
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name
-	 * @param ctxAttrValue  the figure
-	 * @return              The string value for the requested entity name
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FIGURE_WIDTH) == 0) {
-			return Integer.toString(((FigureContentProducerContext)context).displayBox().width);
-		}
-
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FIGURE_HEIGHT) == 0) {
-			return Integer.toString(((FigureContentProducerContext)context).displayBox().height);
-		}
-
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FIGURE_POSX) == 0) {
-			return Integer.toString(((FigureContentProducerContext)context).displayBox().x);
-		}
-
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FIGURE_POSY) == 0) {
-			return Integer.toString(((FigureContentProducerContext)context).displayBox().y);
-		}
-
-		return null;
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/GeometricFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/html/GeometricFigure.java
deleted file mode 100644
index 3a525dbc1..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/GeometricFigure.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * @(#)GeometricFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Shape;
-
-import CH.ifa.draw.framework.Figure;
-
-/**
- * GeometricFigure defines required of figures that can be used as shape providers
- * for other figures. See HTMLTextArea for an example.
- *
- * @author  Eduardo Francos - InContext
- * @created 1 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface GeometricFigure extends Figure {
-
-	/**
-	 * Returns a shape with the figures area outline
-	 *
-	 * @return   The shape
-	 */
-	public Shape getShape();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLColorContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLColorContentProducer.java
deleted file mode 100644
index 0805030b3..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLColorContentProducer.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * @(#)HTMLColorContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Color;
-import java.io.Serializable;
-
-/**
- * HTMLColorContentProducer produces RGB color HTML encoded strings.<br>
- * Ex:
- * <code>Color.blue ==> #0000FF</code><br>
- * <code>Color.red  ==> #FF00FF</code><br>
- * It can either be specific if set for a specific color, or generic, encoding
- * any color passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class HTMLColorContentProducer extends ColorContentProducer implements Serializable {
-
-	/**
-	 * Constructor for the HTMLColorContentProducer object
-	 */
-	public HTMLColorContentProducer() { }
-
-	/**
-	 * Produces the contents for the color
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the color attribute name (FrameColor, TextColor, etc)
-	 * @param ctxAttrValue  the color
-	 * @return              The HTML encoded RBG value for the color
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		// if we have our own color then use it
-		// otherwise use the one supplied
-		Color color = (getColor() != null) ? getColor() : (Color)ctxAttrValue;
-		return getHTMLColorCode(color);
-	}
-
-	public static String getHTMLColorCode(Color color) {
-		String colorCode = Integer.toHexString(color.getRGB());
-		return "#" + colorCode.substring(colorCode.length() - 6);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducer.java
deleted file mode 100644
index 72ff17fb7..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducer.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * @(#)HTMLContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.Serializable;
-
-/**
- * HTMLContentProducer produces HTML suitable  values and encoded strings for
- * various types of values.<br>
- * It can also transform values into their HTML equivalents, like for instance
- * a mapping between font sizes in points and the HTML valid font size values.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class HTMLContentProducer extends AttributeFigureContentProducer
-		 implements Serializable {
-
-	/** Table of font size equivalents between points and HTML font sizes */
-	protected final static int[][] htmlFontSizeEquivalences =
-			{
-	// 0 to 9 points ==> size 1
-			{1, 0, 9},
-	// 10 to 11 points ==> size 2
-			{2, 10, 11},
-	// 12 to 13 points ==> size 3
-			{3, 12, 13},
-	// 14 to 17 points ==> size 4
-			{4, 14, 17},
-	// 18 to 23 points ==> size 5
-			{5, 18, 23},
-	// 24 to 35 points ==> size 6
-			{6, 24, 35},
-	// 36 and higher points ==> size 7
-			{7, 36, Integer.MAX_VALUE}
-			};
-
-	/**
-	 * Constructor for the HTMLContentProducer object
-	 */
-	public HTMLContentProducer() { }
-
-	/**
-	 * Gets the HTML content value for the requested attribute
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name (FontSize, etc...)
-	 * @param ctxAttrValue  the attribute value that led to the call to this
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		HTMLContentProducerContext htmlContext = (HTMLContentProducerContext)context;
-
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FONT_SIZE) == 0) {
-			return Integer.toString(getHTMLFontSizeEquivalent(htmlContext.getFont().getSize()));
-		}
-
-		return super.getContent(context, ctxAttrName, ctxAttrValue);
-	}
-
-	/**
-	 * Gets the hTMLFontSizeEquivalent attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param pointSize  the font size in points
-	 * @return           The hTMLFontSizeEquivalent value
-	 */
-	public int getHTMLFontSizeEquivalent(int pointSize) {
-		for (int i = 0; i < htmlFontSizeEquivalences.length; i++) {
-			if (pointSize >= htmlFontSizeEquivalences[i][1] &&
-					pointSize <= htmlFontSizeEquivalences[i][2]) {
-				return htmlFontSizeEquivalences[i][0];
-			}
-		}
-		// not found?!?!?! return the "normal" font size
-		return 3;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducerContext.java b/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducerContext.java
deleted file mode 100644
index c436ec21d..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducerContext.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * @(#)HTMLContentProducerContext.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- * HTMLContentProducerContext defines the interface required of clients
- * requesting HTML based contents.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface HTMLContentProducerContext extends AttributeContentProducerContext {
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLLayouter.java b/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLLayouter.java
deleted file mode 100644
index b27d79e5c..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLLayouter.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)HTMLLayouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Insets;
-import java.awt.Point;
-
-import java.awt.Rectangle;
-import java.io.IOException;
-import CH.ifa.draw.contrib.Layoutable;
-import CH.ifa.draw.contrib.Layouter;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * HTMLLayouter implements the logic for laying out figures based on an
- * HTML template.
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class HTMLLayouter implements Layouter {
-
-	/**Constructor for the HTMLLayouter object */
-	public HTMLLayouter() { }
-
-	/**
-	 * Constructor which associates a HTMLLayouter with
-	 * a certain Layoutable.
-	 *
-	 * @param newLayoutable  Layoutable to be laid out
-	 */
-	public HTMLLayouter(Layoutable newLayoutable) {
-		this();
-//		setLayoutable(newLayoutable);
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 * @return        Description of the Return Value
-	 */
-	public Rectangle calculateLayout(Point origin, Point corner) {
-		/**
-		 * @todo:   Implement this CH.ifa.draw.contrib.Layouter method
-		 */
-		throw new UnsupportedOperationException("Method calculateLayout() not yet implemented.");
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 * @return        Description of the Return Value
-	 */
-	public Rectangle layout(Point origin, Point corner) {
-		/**
-		 * @todo:   Implement this CH.ifa.draw.contrib.Layouter method
-		 */
-		throw new UnsupportedOperationException("Method layout() not yet implemented.");
-	}
-
-	/**
-	 * Sets the insets attribute of the HTMLLayouter object
-	 *
-	 * @param newInsets  The new insets value
-	 */
-	public void setInsets(Insets newInsets) {
-		/**
-		 * @todo:   Implement this CH.ifa.draw.contrib.Layouter method
-		 */
-		throw new UnsupportedOperationException("Method setInsets() not yet implemented.");
-	}
-
-	/**
-	 * Gets the insets attribute of the HTMLLayouter object
-	 *
-	 * @return   The insets value
-	 */
-	public Insets getInsets() {
-		/**
-		 * @todo:   Implement this CH.ifa.draw.contrib.Layouter method
-		 */
-		throw new UnsupportedOperationException("Method getInsets() not yet implemented.");
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param dw  Description of the Parameter
-	 */
-	public void write(StorableOutput dw) {
-		/**
-		 * @todo:   Implement this CH.ifa.draw.util.Storable method
-		 */
-		throw new UnsupportedOperationException("Method write() not yet implemented.");
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param dr               Description of the Parameter
-	 * @exception IOException  Description of the Exception
-	 */
-	public void read(StorableInput dr) throws IOException {
-		/**
-		 * @todo:   Implement this CH.ifa.draw.util.Storable method
-		 */
-		throw new UnsupportedOperationException("Method read() not yet implemented.");
-	}
-
-	/**
-	 * Create a new instance of this type and sets the layoutable
-	 *
-	 * @param newLayoutable  Description of the Parameter
-	 * @return               Description of the Return Value
-	 */
-	public Layouter create(Layoutable newLayoutable) {
-		return new HTMLLayouter(newLayoutable);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaFigure.java
deleted file mode 100644
index f0b0ac157..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaFigure.java
+++ /dev/null
@@ -1,1143 +0,0 @@
-/*
- * @(#)HTMLTextAreaFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.FlatteningPathIterator;
-import java.awt.image.BufferedImage;
-import java.io.IOException;
-
-import javax.swing.*;
-
-import CH.ifa.draw.contrib.TextAreaFigure;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * An HTMLTextAreaFigure contains HTML formatted text.<br>
- * Formatting is done internally by a JLabel component, so all display features
- * and constrains that apply for a JLabel apply also for an HTMLTextAreaFigure,
- * including text and images, as in any Web browser, even allowing for contents
- * residing on external Web sources. But don't forget that this is <b>NOT</b> a Web
- * browser, so HTML contents cannot be standard Web pages with headers, stylesheets,
- * javascript and who knows what else, just plain down to earth HTML code.
- * <p>
- * In order to automatically integrate "external" attributes like FillColor,
- * FontName, etc, HTMLTextAreaFigure encapsulates the text the user types in the
- * editor within a table with a single cell occupying the whole area.<br>
- * Here is what the HTML code passed to the JLabel looks like:<br>
- * <code>
- * &lt;html&gt;<br>
- * &lt;table border='0' width='area.width' height='area.height'
- * cellpadding='0' cellspacing='0' bgcolor='&FillColor;'&gt;<br>
- * &lt;tr&gt;<br>
- * &lt;td width='100%'&gt;<br>
- * &lt;font face='&FontName;' color='&TextColor;' size='&FontSize;'&gt;<br>
- * &lt;!-- add italic and bold attributes if required--&gt;<br>
- * &lt;i&gt;<br>
- * &lt;b&gt;<br>
- * ============&gt> User's contents go here &lt;============<br>
- * &lt;!-- close italic and bold attributes if required --&gt;<br>
- * &lt;/b&gt;<br>
- * &lt;/i&gt;<br>
- * &lt;/font&gt;<br>
- * &lt;/td&gt;<br>
- * &lt;/tr&gt;<br>
- * &lt;/table&gt;<br>
- * &lt;/html&gt;<br>
- * </code><br>
- * It is possible to write <i>raw</i> HTML code by calling
- * <code>setRawHTML(true)</code>. In that case no tags are issued.<br>
- * The user is then responsible for applying the figure attributes and in
- * general is responsible for the whole display.
- * This setting can be dynamically toggled as needed.<br>
- * Note that JLabel resets the font to its own default whenever it encounters
- * an HTML structure, like a table or a header tag. I couldn't find a workaround
- * for what can/should be called a bug. Normal browsers do not behave like this.<p>
- *
- * Internal attributes like FillColor or FontName are exposed as special SGML
- * entities using the standard SGML entity notation, ex: <code>&FillColor;</code>.<br>
- * Any attribute associated to the figure can be used and will be replaced with
- * an appropriate value from a ContentsProducer (see below) or its
- * toString() value if no specific ContentProducer is defined.<p>
- *
- * The HTML display and layouting can be time consuming, quite fast in most cases,
- * unless the HTML structure is complicated. This can become a serious penalty
- * when working with a large number of complicated figures.<br>
- * To help in this issue HTMLTextAreaFigure offers two display modes, DirectDraw,
- * where the HTML layout logic is executed every time the figure is displayed, and
- * BufferedDraw, where HTMLTextAreaFigure creates an in-memory image of the
- * resulting layout and uses the image for fast display until a change requires
- * to regenerate the image.<br>
- * The BufferedDraw mode is as fast as an image display can be, but it consumes
- * more memory than the DirectDraw mode, which in turn is slower.<br>
- * The setting is specific to each figure instance and it can be dynamically
- * toggled at any time, so it is possible to fine tune when and which figures
- * use either one of the drawing modes.<p>
- *
- * Remember the attributes based SGML entities?<br>
- * If you set the figure to be read only, so not allowing the user to directly
- * edit the HTML contens, then it is possible to use HTMLTextAreaFigures to
- * produce very elaborate and complex information layout.<br>
- * You create HTML templates for each figure layout you want to use and set them
- * as the text of the figure. Within the template text you place field names
- * wherever needed as you would for a Web page, then each figure using the template
- * associates the field values as attributes of the figure. The attribute exposure
- * feature will substitute the entity names with the current attribute's value.<br>
- * Please refer to the accompanying sample program to see in detail the multiple
- * ways this feature can enhance your drawings.<p>
- *
- * <b>ContentProducers</b><br>
- * As stated above, entities referenced in the HTML template code are replaced by
- * their current value in the drawn figure. The values themselves are provided
- * by ContentProducers.<br>
- * For a detailed description of ContentProducers please refer to their
- * own documentation, but to make it simple, a ContentProducer is an object that
- * implements the method <code>getContent</code> and is registered to produce
- * content for either specific entities, or entity classes.<br>
- * An entity class is the class of the attribute containing its value, ie: an
- * attribute containing a URL has class URL (<code>attribute.getClass()</code>),
- * and an URLContentProducer can be associated to it so that when the layout
- * needs the entity's value, the producer's getContent() method is called and the
- * returned value (ex: contents from a Web page, FTP file or disk file) is used
- * to replace the entity in the displayed figure.<br>
- * The ContentProducer can return either a String, in which case it is used
- * <b>as is</b>, or another Object. In the later case HTMLTextAreaFigure will
- * continue calling registered ContentProviders depending on the class of the
- * returned Object until it either gets a final String, or null. If null then
- * the entity is considered as unknown and left as is in the displayed text. To
- * make it dissapear alltogether the producer should return an empty String.<p>
- * HTMLTextAreaFigure registers default ContentProducers:
- * AttributeFigureContentProducer for the intrinsic attributes of the figure
- * (height, width, font name, etc.), URLContentProducer for URL attributes,
- * HTMLColorContentProducer for HTML color encoding and for embedded
- * TextAreaFigure and HTMLTextAreaFigure classes. That's right, you can embed
- * a TextAreaFigure or HTMLTextAreaFigure contents inside an HTMLTextAreaFigure
- * recursively for as many levels as your CPU and memory will allow.<br>
- * For instance, the main figure can consists of an HTML table where each
- * cell's contents come from a different HTMLTextAreaFigure.
- *
- * @author    Eduardo Francos - InContext
- * @created   7 May 2002
- * @version   <$CURRENT_VERSION$>
- */
-public class HTMLTextAreaFigure extends TextAreaFigure
-		 implements HTMLContentProducerContext, FigureChangeListener {
-
-	/** Start marker for embedded attribute values */
-	public final static char START_ENTITY_CHAR = '&';
-
-	/** End marker for embedded attribute values */
-	public final static char END_ENTITY_CHAR = ';';
-
-	/** Marker escape character */
-	public final static char ESCAPE_CHAR = '\\';
-
-	/** holder for the image used for the display */
-	private transient DisposableResourceHolder fImageHolder;
-
-	/** The label used for in-memory display */
-	private transient JLabel fDisplayDelegate;
-
-	/** True if using direct drawing, false if using the memory image */
-	private boolean fUseDirectDraw = false;
-
-	/** True if the memory image should be regenerated */
-	private boolean fIsImageDirty = true;
-
-	/** Description of the Field */
-	private boolean fRawHTML = false;
-
-	/** Supplier for intrinsic data */
-	private transient ContentProducer fIntrinsicContentProducer;
-
-	/** Description of the Field */
-	private static ContentProducerRegistry fDefaultContentProducers = new ContentProducerRegistry();
-	// initialize the default content producers for HTMLTextAreaFigure figures
-	static {
-		fDefaultContentProducers.registerContentProducer(TextAreaFigure.class, new TextHolderContentProducer());
-		fDefaultContentProducers.registerContentProducer(Color.class, new HTMLColorContentProducer());
-	}
-
-	/** Description of the Field */
-	private transient ContentProducerRegistry fContentProducers = null;
-
-	/** The figure used to draw the frame of the area */
-	private Figure fFrameFigure = null;
-
-	// make sure required default attributes are set
-	static {
-		initDefaultAttribute("XAlignment", new Integer(SwingConstants.LEFT));
-		initDefaultAttribute("YAlignment", new Integer(SwingConstants.TOP));
-		initDefaultAttribute("LeftMargin", new Float(5));
-		initDefaultAttribute("RightMargin", new Float(5));
-		initDefaultAttribute("TopMargin", new Float(5));
-		initDefaultAttribute("BottomMargin", new Float(5));
-		initDefaultAttribute("TabSize", new Float(8));
-	}
-
-	/** Constructor for the HTMLTextAreaFigure object */
-	public HTMLTextAreaFigure() {
-		initialize();
-	}
-
-	/**
-	 * Clones a figure and initializes it
-	 *
-	 * @return   Description of the Return Value
-	 * @see      Figure#clone
-	 */
-	public Object clone() {
-		Object cloneObject = super.clone();
-		((HTMLTextAreaFigure)cloneObject).initialize();
-		return cloneObject;
-	}
-
-	/**
-	 * Sets the display box for the figure
-	 *
-	 * @param origin  origin point
-	 * @param corner  corner point
-	 * @see           Figure
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		super.basicDisplayBox(origin, corner);
-		getFrameFigure().displayBox(displayBox());
-	}
-
-	/**
-	 * Returns an iterator of standard sizing handles to manipulate the figure
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public HandleEnumeration handles() {
-		return getFrameFigure().handles();
-//		List handles = CollectionsFactory.current().createList();
-//		BoxHandleKit.addHandles(this, handles);
-//		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * True if the figure contains the point. The call is relayed to the frame figure
-	 *
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 * @return   Description of the Return Value
-	 */
-	public boolean containsPoint(int x, int y) {
-		return getFrameFigure().containsPoint(x, y);
-	}
-
-	/**
-	 * Moves the figure by the specified displacement
-	 *
-	 * @param dx  Description of the Parameter
-	 * @param dy  Description of the Parameter
-	 */
-	public void moveBy(int dx, int dy) {
-		super.moveBy(dx, dy);
-		getFrameFigure().moveBy(dx, dy);
-	}
-
-	/** Initializes the figure */
-	protected void initialize() {
-		fImageHolder = DisposableResourceManagerFactory.createStandardHolder(null);
-		setFrameFigure(new RectangleFigure());
-
-		// initialize the content producers
-		setIntrinsicContentProducer(new HTMLContentProducer());
-		fContentProducers = new ContentProducerRegistry(fDefaultContentProducers);
-
-		markSizeDirty();
-		markImageDirty();
-		markTextDirty();
-		markFontDirty();
-
-		setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-	}
-
-	/**
-	 * Called whenever the something changes that requires size recomputing
-	 */
-	protected void markSizeDirty() {
-		markImageDirty();
-		super.markSizeDirty();
-	}
-
-	/**
-	 * Called whenever the something changes that requires text recomputing
-	 */
-	protected void markTextDirty() {
-		markImageDirty();
-		super.markTextDirty();
-	}
-
-	/**
-	 * Called whenever the something changes that requires font recomputing
-	 */
-	protected void markFontDirty() {
-		markImageDirty();
-		super.markFontDirty();
-	}
-
-	/**
-	 * Draws the figure in the given graphics. Draw is a template
-	 * method calling drawBackground followed by drawText then drawFrame.<br>
-	 * HTMLTextAreaFigure displays in a different order tahn most figures to avoid
-	 * smearing of the border when enclosed in a weird frame figure.<br>
-	 * Also, there is no such thing as a transparent background so we always draw it.
-	 *
-	 * @param g  Description of the Parameter
-	 * @todo     check possibility of clipping the contents from the background to have a
-	 * transparent figure
-	 */
-	public void draw(Graphics g) {
-		Color fill = getFillColor();
-		g.setColor(fill);
-		drawBackground(g);
-
-		// we draw the text then the rame to avoid smearing
-		drawText(g, displayBox());
-
-		Color frame = getFrameColor();
-		g.setColor(frame);
-		drawFrame(g);
-	}
-
-	/**
-	 * Draws the frame around the text. It gets the shape of the frame from the
-	 * enclosing figure
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void drawFrame(Graphics g) {
-		((Graphics2D)g).draw(getClippingShape());
-	}
-
-	/**
-	 * Draws the background for the figure. It gets the shape of the frame from the
-	 * enclosing figure
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void drawBackground(Graphics g) {
-		((Graphics2D)g).fill(getClippingShape());
-	}
-
-	/**
-	 * Formats and draws the text for the figure
-	 *
-	 * @param g           the graphics for the drawing. It can be null when
-	 * called just to compute the size
-	 * @param displayBox  the display box  within which the text should be formatted and drawn
-	 * @return            Description of the Return Value
-	 */
-	protected float drawText(Graphics g, Rectangle displayBox) {
-		Graphics2D g2 = null;
-		Shape savedClip = null;
-
-		if (g != null) {
-			g2 = (Graphics2D)g;
-			savedClip = g2.getClip();
-		}
-
-		Rectangle drawingBox = makeDrawingBox(displayBox);
-
-		// drawing an empty displayBox is not possible
-		if (drawingBox.isEmpty()) {
-			return drawingBox.height;
-		}
-
-		if (g != null) {
-			g2.clip(getClippingShape());
-		}
-
-		if (usesDirectDraw()) {
-			drawTextDirect(g2, drawingBox);
-		}
-		else {
-			fImageHolder.lock();
-			if (isImageDirty()) {
-				generateImage(drawingBox);
-				setSizeDirty(false);
-			}
-
-			if (g2 != null) {
-				g2.drawImage(getImage(), drawingBox.x, drawingBox.y, null);
-			}
-			fImageHolder.unlock();
-		}
-		if (g != null) {
-			g2.setClip(savedClip);
-		}
-
-		// redraw the border to prevent smearing
-		drawFrame(g);
-		return displayBox.height;
-	}
-
-	/**
-	 * Generates the HTML image to be used for fast BufferedDrawing
-	 *
-	 * @param drawingBox  Description of the Parameter
-	 */
-	protected void generateImage(Rectangle drawingBox) {
-		// create the image and get its Graphics
-		createImage(drawingBox.width, drawingBox.height);
-		Graphics2D g2 = (Graphics2D)getImage().getGraphics();
-
-		Rectangle finalBox = new Rectangle(drawingBox);
-		finalBox.setLocation(0, 0);
-		renderText(g2, finalBox);
-		g2.dispose();
-	}
-
-	/**
-	 * Draws the text directly onto the drawing, without using the cached figure
-	 *
-	 * @param g2          Description of the Parameter
-	 * @param drawingBox  Description of the Parameter
-	 */
-	protected void drawTextDirect(Graphics2D g2, Rectangle drawingBox) {
-		Shape savedClipArea = null;
-		Color savedFontColor = null;
-		//Font savedFont = null;
-		//Rectangle2D clipRect = null;
-		RenderingHints savedRenderingHints = null;
-
-		if (g2 != null) {
-			savedRenderingHints = g2.getRenderingHints();
-			savedClipArea = g2.getClip();
-			//savedFont = g2.getFont();
-			savedFontColor = g2.getColor();
-			g2.clip(drawingBox);
-		}
-
-		//float finalHeight = renderText(g2, drawingBox);
-
-		// restore saved graphic attributes
-		if (g2 != null) {
-			g2.setClip(savedClipArea);
-			g2.setColor(savedFontColor);
-			g2.setRenderingHints(savedRenderingHints);
-		}
-	}
-
-	/**
-	 * Renders the HTML formatted text onto the supplied Graphics.<br>
-	 * Rendering involves entity substitution and HTML contents preparation suitable
-	 * for display by a JLabel.
-	 *
-	 * @param g2          Description of the Parameter
-	 * @param drawingBox  Description of the Parameter
-	 * @return            Description of the Return Value
-	 * @todo              look for other HTML display providers as JLabel is kind of
-	 * lousy at it
-	 */
-	protected float renderText(Graphics2D g2, Rectangle drawingBox) {
-		g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
-				RenderingHints.VALUE_ANTIALIAS_ON);
-		g2.setRenderingHint(RenderingHints.KEY_RENDERING,
-				RenderingHints.VALUE_RENDER_QUALITY);
-
-		// fill with background color
-		g2.setBackground(getFillColor());
-		g2.setColor(getFillColor());
-		g2.clearRect(drawingBox.x, drawingBox.y, drawingBox.width, drawingBox.height);
-		g2.fillRect(drawingBox.x, drawingBox.y, drawingBox.width, drawingBox.height);
-
-		// get the text. Either in raw format or prepared for HTML display
-		String text;
-		if (isRawHTML()) {
-			text = getText();
-		}
-		else {
-			text = getHTMLText(getText(), getFont(),
-					(String)getContentProducer(Color.class).getContent(this, FigureAttributeConstant.TEXT_COLOR_STR, getTextColor()),
-					(String)getContentProducer(Color.class).getContent(this, FigureAttributeConstant.FILL_COLOR_STR, getFillColor()),
-					drawingBox
-					);
-		}
-
-		// perform entity keyword substitution
-		text = substituteEntityKeywords(text);
-
-		// create the JLabel used as delegate for drawing
-		JLabel displayDelegate = getDisplayDelegate();
-		displayDelegate.setText(text);
-		displayDelegate.setBackground(getFillColor());
-
-		// ensure the label covers the whole area
-		displayDelegate.setLocation(0, 0);
-		displayDelegate.setSize(drawingBox.width, drawingBox.height);
-		displayDelegate.setHorizontalAlignment(((Integer)getAttribute(FigureAttributeConstant.XALIGNMENT)).intValue());
-		displayDelegate.setVerticalAlignment(((Integer)getAttribute(FigureAttributeConstant.YALIGNMENT)).intValue());
-
-		// finally display it
-		SwingUtilities.paintComponent(
-				g2,
-				displayDelegate,
-				getContainerPanel(displayDelegate, drawingBox),
-				drawingBox.x,
-				drawingBox.y,
-				drawingBox.width,
-				drawingBox.height);
-
-		return drawingBox.height;
-	}
-
-	/**
-	 * Builds the drawing box using the margins
-	 *
-	 * @param displayBox  Description of the Parameter
-	 * @return            The drawing box
-	 */
-	protected Rectangle makeDrawingBox(Rectangle displayBox) {
-		// get alignment information
-		float leftMargin = ((Float)getAttribute(FigureAttributeConstant.LEFT_MARGIN)).floatValue();
-		float rightMargin = ((Float)getAttribute(FigureAttributeConstant.RIGHT_MARGIN)).floatValue();
-		float topMargin = ((Float)getAttribute(FigureAttributeConstant.TOP_MARGIN)).floatValue();
-		float bottomMargin = ((Float)getAttribute(FigureAttributeConstant.BOTTOM_MARGIN)).floatValue();
-
-		// inset the drawing box by 1 on every side so as not to overwrite
-		// the border
-		Rectangle drawingBox = new Rectangle(displayBox);
-		drawingBox.grow(-1, -1);
-		// adjust for margins
-		drawingBox.x += leftMargin;
-		drawingBox.width -= (leftMargin + rightMargin);
-		drawingBox.y += topMargin;
-		drawingBox.height -= topMargin + bottomMargin;
-
-		return drawingBox;
-	}
-
-	/**
-	 * Gets the displayDelegate attribute of the HTMLTextAreaFigure object
-	 *
-	 * @return   The displayDelegate value
-	 */
-	protected JLabel getDisplayDelegate() {
-		if (fDisplayDelegate == null) {
-			fDisplayDelegate = new JLabel();
-			fDisplayDelegate.setBorder(null);
-		}
-		return fDisplayDelegate;
-	}
-
-	/**
-	 * Creates the cached image, unless there is already one and it is
-	 * compatible with new request, in which case we reuse it
-	 *
-	 * @param width   Description of the Parameter
-	 * @param height  Description of the Parameter
-	 */
-	protected void createImage(int width, int height) {
-		// if current image is compatible reuse it
-		fImageHolder.lock();
-		if (!fImageHolder.isAvailable() ||
-				((BufferedImage)fImageHolder.getResource()).getWidth() != width ||
-				((BufferedImage)fImageHolder.getResource()).getHeight() != height) {
-			fImageHolder.setResource(new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB));
-		}
-		// we don't unlock the image, it's the responsibility of
-		// the caller to do so, this in oreder to ensure that calling createImage
-		// will always return with a valid image
-	}
-
-	/**
-	 * Builds the container for the drawing delegate
-	 *
-	 * @param drawingDelegate  The delegate
-	 * @param displayBox       The bounding box
-	 * @return                 The container
-	 */
-	protected JPanel getContainerPanel(Component drawingDelegate, Rectangle displayBox) {
-		JPanel panel = new JPanel();
-		return panel;
-	}
-
-	/**
-	 * Returns a string that is valid HTML contents for a JLabel.<br>
-	 * Valid HTML contents is text enclosed in <html> </html> tags.<br>
-	 * We enclose the supplied text into a table with a single cell so that we
-	 * can also set the external alignment and font attributes
-	 *
-	 * @param text        The text
-	 * @param font        The font
-	 * @param textColor   The text color HTML code
-	 * @param backColor   The background's color HTML code
-	 * @param displayBox  Description of the Parameter
-	 * @return            The final HTML encoded text
-	 */
-	protected String getHTMLText(String text, Font font, String textColor,
-			String backColor, Rectangle displayBox) {
-
-		StringBuffer htmlText = new StringBuffer();
-		// add an <HTML>
-		htmlText.append("<html>");
-
-		// add a table with width=100%, background color, and no borders with
-		// a single cell
-		htmlText.append(
-				"<table border='0' width='" +
-				displayBox.width +
-				"' height='" + displayBox.height +
-				"' cellpadding='0' cellspacing='0'" +
-				"bgcolor='&FillColor;'>");
-		htmlText.append("<tr><td width='100%'>");
-		// set the font
-		htmlText.append("<font face='&FontName;' color='&TextColor;' size='&FontSize;'>");
-		// add alignment if required
-		if (((Integer)getAttribute(FigureAttributeConstant.XALIGNMENT)).intValue() == SwingConstants.CENTER) {
-			htmlText.append("<center>");
-		}
-		// add italic and bold attributes if required
-		if (font.isItalic()) {
-			htmlText.append("<i>");
-		}
-		if (font.isBold()) {
-			htmlText.append("<b>");
-		}
-
-		// add the text itself
-		htmlText.append(text);
-
-		// close italic and bold attributes if required
-		if (font.isBold()) {
-			htmlText.append("</b>");
-		}
-		if (font.isItalic()) {
-			htmlText.append("</i>");
-		}
-		// close alignment if required
-		if (((Integer)getAttribute(FigureAttributeConstant.XALIGNMENT)).intValue() == SwingConstants.CENTER) {
-			htmlText.append("</center>");
-		}
-		// close the font tag
-		htmlText.append("</font>");
-		// close the cell, row and table
-		htmlText.append("</td></tr></table>");
-
-		// close the html tag
-		htmlText.append("</html>");
-
-		return htmlText.toString();
-	}
-
-	/**
-	 * Returns a new String with the entity keywords replaced by their
-	 * current attribute value.<br>
-	 * The text is scanned for entity keywords delimited by the START_ENTITY_CHAR
-	 * and END_ENTITY_CHAR characters as in<br>
-	 * <code>&gt;font face='&amp;FontName;' color='&amp;FillColor;'&lt;</code><br>
-	 * A keyword is replaced if and only if an attribute with the given name is
-	 * found, otherwise the text is left as is.
-	 *
-	 * @param template  The template text
-	 * @return          The resulting string with its attributes replaced
-	 */
-	protected String substituteEntityKeywords(String template) {
-		int endPos;
-		StringBuffer finalText = new StringBuffer();
-
-		int startPos = 0;
-		int chunkEnd = startPos;
-		try {
-			while ((startPos = template.indexOf(START_ENTITY_CHAR, startPos)) != -1) {
-				if (startPos != 0 && template.charAt(startPos - 1) == ESCAPE_CHAR) {
-					// found an escaped parameter starter
-					startPos++;
-					continue;
-				}
-
-				// get the end of the parameter
-				endPos = startPos + 1;
-				while ((endPos = template.indexOf(END_ENTITY_CHAR, endPos)) != -1) {
-					if (endPos == 0 || template.charAt(endPos - 1) != ESCAPE_CHAR) {
-						// found a valid non escaped group stopper
-						break;
-					}
-					// invalid entity, error? probably not, anyway we consider
-					// this as not being an attribute replacement
-					throw new InvalidAttributeMarker();
-				}
-
-				// OK, we now have an attribute
-				String attrName = template.substring(startPos + 1, endPos);
-
-				// replace it if present, otherwise leave as is
-				String attrValue = getEntityHTMLRepresentation(attrName);
-				if (attrValue != null) {
-					finalText.append(template.substring(chunkEnd, startPos));
-					// append the entity's value after performing
-					// entity keyword substitution on its contents
-					finalText.append(substituteEntityKeywords(attrValue));
-					startPos = endPos + 1;
-					chunkEnd = startPos;
-				}
-				else {
-					startPos++;
-				}
-			}
-		}
-		catch (InvalidAttributeMarker ex) {
-			// invalid marker, ignore
-		}
-
-		// append whatever is left
-		finalText.append(template.substring(chunkEnd));
-
-		// and return it
-		return finalText.toString();
-	}
-
-	/**
-	 * Returns a string representation of the attribute according to its type
-	 *
-	 * @param attrName  The name of the attribute
-	 * @return          The attribute's HTML representation
-	 */
-	protected String getEntityHTMLRepresentation(String attrName) {
-		// get the attribute's raw value
-		Object attrValue = getIntrinsicContentProducer().getContent(this, attrName, null);
-
-		// no such attribute?
-		if (attrValue == null) {
-			return null;
-		}
-
-		// found something
-		// keep requesting value expansion until we get a String
-		while (attrValue != null && !(attrValue instanceof String)) {
-			// handle explicit ContentProducers
-			if (attrValue instanceof ContentProducer) {
-				attrValue = ((ContentProducer)attrValue).getContent(this, attrName, attrValue);
-				continue;
-			}
-
-			// not a specific producer, try a default one
-			ContentProducer defaultProducer = getContentProducer(attrValue.getClass());
-			if (defaultProducer != null) {
-				attrValue = defaultProducer.getContent(this, attrName, attrValue);
-				continue;
-			}
-
-			// no specific producer,
-			// all classes without an explicit default producer
-			// get their value from their toString() method
-			attrValue = attrValue.toString();
-		}
-
-		return (String)attrValue;
-	}
-
-	/**
-	 * Gets the image.
-	 *
-	 * @return   The image value
-	 */
-	protected BufferedImage getImage() {
-		if (fImageHolder.isAvailable()) {
-			return (BufferedImage)fImageHolder.getResource();
-		}
-		return null;
-	}
-
-	/**
-	 * Sets the image attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newImage  The new image value
-	 */
-	protected void setImage(BufferedImage newImage) {
-		fImageHolder.setResource(newImage);
-	}
-
-	/**
-	 * Factory method to create a popup menu which allows to set options
-	 *
-	 * @return   newly created popup menu
-	 */
-	protected JPopupMenu createPopupMenu() {
-		JPopupMenu popupMenu = new JPopupMenu();
-		addPopupMenuItems(popupMenu);
-		popupMenu.setLightWeightPopupEnabled(true);
-		return popupMenu;
-	}
-
-	/**
-	 * Adds items to the popup menu
-	 *
-	 * @param popupMenu  The popup menu to add items to
-	 */
-	protected void addPopupMenuItems(JPopupMenu popupMenu) {
-		ButtonGroup drawingPopupGroup;
-
-		JRadioButtonMenuItem rbOption;
-
-		drawingPopupGroup = new ButtonGroup();
-		rbOption = new JRadioButtonMenuItem(
-			new AbstractAction("Direct drawing") {
-				public void actionPerformed(ActionEvent event) {
-					setUseDirectDraw(true);
-				}
-			});
-
-		drawingPopupGroup.add(rbOption);
-		if (usesDirectDraw()) {
-			drawingPopupGroup.setSelected(rbOption.getModel(), true);
-		}
-		popupMenu.add(rbOption);
-
-		rbOption = new JRadioButtonMenuItem(
-			new AbstractAction("Buffered drawing") {
-				public void actionPerformed(ActionEvent event) {
-					setUseDirectDraw(false);
-				}
-			});
-		drawingPopupGroup.add(rbOption);
-		if (usesBufferedDraw()) {
-			drawingPopupGroup.setSelected(rbOption.getModel(), true);
-		}
-		popupMenu.add(rbOption);
-
-		popupMenu.addSeparator();
-
-		drawingPopupGroup = new ButtonGroup();
-		rbOption = new JRadioButtonMenuItem(
-			new AbstractAction("Normal HTML") {
-				public void actionPerformed(ActionEvent event) {
-					setRawHTML(false);
-				}
-			});
-
-		drawingPopupGroup.add(rbOption);
-		drawingPopupGroup.setSelected(rbOption.getModel(), true);
-		popupMenu.add(rbOption);
-
-		rbOption =
-				new JRadioButtonMenuItem(
-			new AbstractAction("Raw HTML") {
-				public void actionPerformed(ActionEvent event) {
-					setRawHTML(true);
-				}
-			});
-		drawingPopupGroup.add(rbOption);
-		popupMenu.add(rbOption);
-
-	}
-
-	/**
-	 * Gets the usesDirectDraw status of the HTMLTextAreaFigure object
-	 *
-	 * @return   True if currently doing direct drawing, ie: not using a cached image
-	 */
-	public boolean usesDirectDraw() {
-		return fUseDirectDraw;
-	}
-
-	/**
-	 * Sets the useDirectDraw attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newUseDirectDraw  The new useDirectDraw value
-	 */
-	public void setUseDirectDraw(boolean newUseDirectDraw) {
-		fUseDirectDraw = newUseDirectDraw;
-		setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-		markSizeDirty();
-	}
-
-	/**
-	 * Sets the useBufferedDraw attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newUseBufferedDraw  The new useBufferedDraw value
-	 */
-	public void setUseBufferedDraw(boolean newUseBufferedDraw) {
-		setUseDirectDraw(!newUseBufferedDraw);
-	}
-
-	/**
-	 * Gets the usesBufferedDraw attribute of the HTMLTextAreaFigure object
-	 *
-	 * @return   True if currently using buffered draw, ie: the cached image
-	 */
-	public boolean usesBufferedDraw() {
-		return !usesDirectDraw();
-	}
-
-	/**
-	 * Disposes of the image so it will be regenerated next time it is displayed
-	 */
-	protected void markImageDirty() {
-		fImageHolder.dispose();
-	}
-
-	/**
-	 * True if the image should be regenerated
-	 *
-	 * @return   The imageDirty value
-	 */
-	protected boolean isImageDirty() {
-		return !fImageHolder.isAvailable();
-	}
-
-	/**
-	 * Reads the figure from StorableInput
-	 *
-	 * @param dr            Description of the Parameter
-	 * @throws IOException  the inout storable
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-
-		setFrameFigure((Figure)dr.readStorable());
-		setUseDirectDraw(dr.readBoolean());
-		setRawHTML(dr.readBoolean());
-//		setIntrinsicContentProducer((ContentProducer)dr.readStorable());
-//		fContentProducers.read(dr);
-
-//        // finally add the popup menu
-//        setAttribute(Figure.POPUP_MENU, createPopupMenu());
-
-	}
-
-	/**
-	 * Writes the figure to StorableOutput
-	 *
-	 * @param dw  the output storable
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-
-		dw.writeStorable(getFrameFigure());
-		dw.writeBoolean(usesDirectDraw());
-		dw.writeBoolean(isRawHTML());
-//		dw.writeStorable(getIntrinsicContentProducer());
-//		fContentProducers.write(dw);
-	}
-
-	/**
-	 * A text area figure uses the "LeftMargin", "RightMargin",
-	 * "TopMargin", "BottomMargin", "TabSize", "FontSize", "FontStyle", and "FontName"
-	 * attributes
-	 *
-	 * @param name   The new attribute name
-	 * @param value  The new attribute value
-	 */
-	public void setAttribute(FigureAttributeConstant name, Object value) {
-		super.setAttribute(name, value);
-		markImageDirty();
-	}
-
-	/**
-	 * Gets the rawHTML attribute of the HTMLTextAreaFigure object.<br>
-	 * In RawHTML mode, the figure does not add any HTML formatting information so it's
-	 * the user's responsibility to handle the whole displayed contents
-	 *
-	 * @return   The rawHTML value
-	 */
-	public boolean isRawHTML() {
-		return fRawHTML;
-	}
-
-	/**
-	 * Sets the rawHTML attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newRawHTML  The new rawHTML value
-	 */
-	public void setRawHTML(boolean newRawHTML) {
-		fRawHTML = newRawHTML;
-		setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-	}
-
-	/**
-	 * Gets the IntrinsicContentProducer attribute of the HTMLTextAreaFigure object.<br>
-	 * The intrinsic producer produces contents for the basic figure's attributes
-	 *
-	 * @return   The IntrinsicContentProducer value
-	 */
-	protected ContentProducer getIntrinsicContentProducer() {
-		return fIntrinsicContentProducer;
-	}
-
-	/**
-	 * Sets the IntrinsicContentProducer attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newIntrinsicContentProducer  The new IntrinsicContentProducer value
-	 */
-	public void setIntrinsicContentProducer(ContentProducer newIntrinsicContentProducer) {
-		fIntrinsicContentProducer = newIntrinsicContentProducer;
-	}
-
-	/**
-	 * Registers a specific content producer for the target class
-	 *
-	 * @param targetClass  the target class
-	 * @param producer     the producer
-	 * @return             the previously registered producer. May be null
-	 */
-	public ContentProducer registerContentProducer(Class targetClass, ContentProducer producer) {
-		return fContentProducers.registerContentProducer(targetClass, producer);
-	}
-
-	/**
-	 * Unregisters a registered content producer.
-	 *
-	 * @param producer     Description of the Parameter
-	 * @param targetClass  Description of the Parameter
-	 */
-	public void unregisterContentProducer(Class targetClass, ContentProducer producer) {
-		fContentProducers.unregisterContentProducer(targetClass, producer);
-	}
-
-	/**
-	 * Retrieves a suitable content producer for the target class
-	 *
-	 * @param targetClass  the target class
-	 * @return             The ContentProducer
-	 */
-	protected ContentProducer getContentProducer(Class targetClass) {
-		return fContentProducers.getContentProducer(targetClass);
-	}
-
-	/**
-	 * Makes a polygon with the same shape and dimensions as the current figure
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public Polygon getPolygon() {
-		Polygon polygon = new Polygon();
-
-		// make an AffineTransofmr that does nothing
-		AffineTransform at = AffineTransform.getScaleInstance(1, 1);
-		// and get an iterator on the segments
-		FlatteningPathIterator pIter = new FlatteningPathIterator(
-				getClippingShape().getPathIterator(at),
-				1);
-
-		double[] coords = new double[6];
-		//int pointType;
-		// iterate on the segments adding the points to the polygon
-		while (!pIter.isDone()) {
-			//pointType = pIter.currentSegment(coords);
-			pIter.currentSegment(coords);
-			polygon.addPoint((int)coords[0], (int)coords[1]);
-			pIter.next();
-		}
-
-		return polygon;
-	}
-
-	/**
-	 * Gets the frameFigure attribute of the HTMLTextAreaFigure object
-	 *
-	 * @return   The frameFigure value
-	 */
-	protected Figure getFrameFigure() {
-		return fFrameFigure;
-	}
-
-	/**
-	 * Sets the frameFigure attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newFrameFigure  The new frameFigure value
-	 */
-	public void setFrameFigure(Figure newFrameFigure) {
-		if (fFrameFigure != null) {
-			fFrameFigure.removeFigureChangeListener(this);
-		}
-		fFrameFigure = newFrameFigure;
-		fFrameFigure.addFigureChangeListener(this);
-	}
-
-	/**
-	 * Gets the clippingShape attribute of the HTMLTextAreaFigure object
-	 *
-	 * @return   The clippingShape value
-	 */
-	protected Shape getClippingShape() {
-		Figure frame = getFrameFigure();
-		if (frame instanceof GeometricFigure) {
-			return ((GeometricFigure)frame).getShape();
-		}
-		return frame.displayBox();
-	}
-
-	/**
-	 * handles frame figure's invalidated events
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureInvalidated(FigureChangeEvent e) { }
-
-	/**
-	 * handles frame figure's changed events.<br>
-	 * It updates the displayBox to match
-	 * the frame figure's
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureChanged(FigureChangeEvent e) {
-		willChange();
-		super.basicDisplayBox(e.getFigure().displayBox().getLocation(), Geom.corner(e.getFigure().displayBox()));
-		changed();
-	}
-
-	/**
-	 * handles frame figure's invalidatedremoved events.<br>
-	 * Never happens because the frame figure is not part of the drawing
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRemoved(FigureChangeEvent e) { }
-
-	/**
-	 * handles frame figure's remove requests events.<br>
-	 * Never happens because the frame figure is not part of the drawing
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) { }
-
-	/**
-	 * handles frame figure's update requests events.<br>
-	 * Never happens because the frame figure is not part of the drawing
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) { }
-
-	/**
-	 * Thrown when an entity reference is not correctly encoded
-	 *
-	 * @author    gualo
-	 * @created   1 mai 2002
-	 */
-	private class InvalidAttributeMarker extends Exception {
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaTool.java b/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaTool.java
deleted file mode 100644
index 3cca3b771..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaTool.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)HTMLTextAreaTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Font;
-import CH.ifa.draw.contrib.TextAreaTool;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.standard.TextHolder;
-
-/**
- * HTMLTextAreaTool creates or edits HTMLTextAreaFigures.<br>
- * Only diffreence with TextAreaFigure is that this allows to edit HTML code
- * using a more suitable font than the one defined by the figure.
- *
- * @author  Eduardo Francos - InContext
- * @created 28 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class HTMLTextAreaTool extends TextAreaTool {
-
-	/**
-	 * Constructor for the TextAreaTool object
-	 *
-	 * @param newDrawingEditor  the managing drawing editor
-	 * @param prototype         the prototype for the figure
-	 */
-	public HTMLTextAreaTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	/**
-	 * Gets the font to be used for editing the figure.<br>
-	 * Use a simple editing font, easier for HTML editing
-	 *
-	 * @param figure  the figure
-	 * @return        The font
-	 */
-	protected Font getFont(TextHolder figure) {
-		return new Font("Helvetica", Font.PLAIN, 12);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/PolygonFigureGeometricAdapter.java b/JHotDraw/src/CH/ifa/draw/contrib/html/PolygonFigureGeometricAdapter.java
deleted file mode 100644
index 8bd1b951f..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/PolygonFigureGeometricAdapter.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * @(#)PolygonFigureGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Polygon;
-import java.awt.Shape;
-
-import CH.ifa.draw.contrib.PolygonFigure;
-
-/**
- * Geometric adapter for the PolygonFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 3 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class PolygonFigureGeometricAdapter extends PolygonFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the PolyLineFigureGeometricAdapter object
-	 */
-	public PolygonFigureGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the PolyLineFigureGeometricAdapter object
-	 *
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 */
-	public PolygonFigureGeometricAdapter(int x, int y) {
-		super(x, y);
-	}
-
-	/**
-	 *Constructor for the PolyLineFigureGeometricAdapter object
-	 *
-	 * @param p  Description of the Parameter
-	 */
-	public PolygonFigureGeometricAdapter(Polygon p) {
-		super(p);
-	}
-
-	/**
-	 * Gets the shape attribute of the PolygonFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		return getInternalPolygon();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceContentProducer.java
deleted file mode 100644
index c33422649..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceContentProducer.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * @(#)ResourceContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.IOException;
-
-import java.io.InputStream;
-import java.io.Serializable;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * ResourceContentProducer produces contents from resource in the application's
- * CLASSPATH.<br>
- * It takes a resource name and loads the resource as a String.
- *
- * It can either be specific if set for a specific resource, or generic, retrieving
- * any resource passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 1 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class ResourceContentProducer extends AbstractContentProducer
-		 implements Serializable {
-
-	/** Description of the Field */
-	private String fResourceName;
-
-	/**
-	 * Constructor for the ResourceContentProducer object
-	 */
-	public ResourceContentProducer() { }
-
-	/**
-	 * Constructor for the ResourceContentProducer object
-	 *
-	 * @param resourceName  Description of the Parameter
-	 */
-	public ResourceContentProducer(String resourceName) {
-		setResourceName(resourceName);
-	}
-
-	/**
-	 * Gets the content attribute of the ResourceContentProducer object
-	 *
-	 * @param context       Description of the Parameter
-	 * @param ctxAttrName   Description of the Parameter
-	 * @param ctxAttrValue  Description of the Parameter
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		try {
-			// if we have our own resource then use it
-			// otherwise use the one supplied
-			String resourceName = (getResourceName() != null) ? getResourceName() : (String)ctxAttrValue;
-
-			InputStream reader = this.getClass().getResourceAsStream(resourceName);
-			int available = reader.available();
-			byte contents[] = new byte[available];
-			reader.read(contents, 0, available);
-			reader.close();
-			return new String(contents);
-		}
-		catch (Exception ex) {
-			ex.printStackTrace();
-			return ex.toString();
-		}
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeString(getResourceName());
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		setResourceName (dr.readString());
-	}
-
-	public String getResourceName() {
-		return fResourceName;
-	}
-
-	protected void setResourceName(String newResourceName) {
-		fResourceName = newResourceName;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceDisposabilityStrategy.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceDisposabilityStrategy.java
deleted file mode 100644
index efd61fbda..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceDisposabilityStrategy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)ResourceDisposabilityStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- * ResourceDisposabilityStrategy defines the interface for resource disposal
- * strategies.<br>
- * The strategy defines the logic used to determine which and when a resource can
- * be efficiently disposed of. A smarter the strategy leads to few resource
- * regeneration.
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface ResourceDisposabilityStrategy {
-
-	/**
-	 * Sets the manager holding the resources for this strategy
-	 *
-	 * @param manager  The new manager value
-	 */
-	public void setManager(DisposableResourceManager manager);
-
-
-	/**
-	 * Gets the manager holding the resources for this strategy
-	 *
-	 * @return   The manager value
-	 */
-	public DisposableResourceManager getManager();
-
-	/**
-	 * Activates the strategy which starts disposing of resources as fitted
-	 *
-	 * @exception ResourceManagerNotSetException  Description of the Exception
-	 */
-	public void startDisposing() throws ResourceManagerNotSetException;
-
-	/**
-	 * Deactivates the strategy that stops automatic disposal of resource.<br>
-	 * The millis parameters specifies in milliseconds the time to wait for
-	 * the disposal to stop. After this time the method returns, but the
-	 * deactivation request remain active.
-	 *
-	 * @param millis  time to wait for disposal to stop
-	 */
-	public void stopDisposing(long millis);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceManagerNotSetException.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceManagerNotSetException.java
deleted file mode 100644
index d85661bdb..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceManagerNotSetException.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * @(#)ResourceManagerNotSetException .java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class ResourceManagerNotSetException extends Exception {
-
-	/**
-	 * Constructor for the ResourceManagerNotSetException object
-	 */
-	public ResourceManagerNotSetException() { }
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/RoundRectangleGeometricAdapter.java b/JHotDraw/src/CH/ifa/draw/contrib/html/RoundRectangleGeometricAdapter.java
deleted file mode 100644
index 1ceba1f62..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/RoundRectangleGeometricAdapter.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * @(#)RoundRectangleGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.awt.Shape;
-import java.awt.geom.RoundRectangle2D;
-import CH.ifa.draw.figures.RoundRectangleFigure;
-
-/**
- * Geometric adapter for the RoundRectangleFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class RoundRectangleGeometricAdapter extends RoundRectangleFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the RoundRectangleGeometricAdapter object
-	 */
-	public RoundRectangleGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the RoundRectangleGeometricAdapter object
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 */
-	public RoundRectangleGeometricAdapter(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	/**
-	 * Gets the shape attribute of the TriangleFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		Point arc = getArc();
-		Rectangle dspBox = displayBox();
-		RoundRectangle2D.Float roundRectangle = new RoundRectangle2D.Float(
-				dspBox.x, dspBox.y, dspBox.width, dspBox.height,
-				arc.x, arc.y);
-
-		return roundRectangle;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceHolder.java b/JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceHolder.java
deleted file mode 100644
index ff8617e78..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceHolder.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * @(#)StandardDisposableResourceHolder.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.Serializable;
-
-/**
- * StandardDisposableResourceHolder is a standard implementation of the
- * DisposableResourceHolder interface
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class StandardDisposableResourceHolder implements DisposableResourceHolder, Serializable {
-
-	/** The holded resource object */
-	private Object resource = null;
-
-	/** The dispose delay, default to 60 seconds */
-	private long disposeDelay = 60000;
-
-	/**
-	 * The last time the resource was accessed as returned by
-	 * <code>System.currentTimeMillis()</code>
-	 */
-	private long lastTimeAccessed = 0;
-
-	/** True if the resource is locked */
-	private boolean isLocked = false;
-
-	/**
-	 * Constructor for the StandardDisposableResourceHolder object
-	 */
-	public StandardDisposableResourceHolder() { }
-
-	/**
-	 * Constructor for the StandardDisposableResourceHolder object
-	 *
-	 * @param resource  Description of the Parameter
-	 */
-	public StandardDisposableResourceHolder(Object newResource) {
-		resource = newResource;
-		resetDelay();
-	}
-
-	/**
-	 * Makes a clone of this
-	 *
-	 * @return   the clone
-	 */
-	public Object clone() {
-		StandardDisposableResourceHolder clone = new StandardDisposableResourceHolder();
-		clone.setDisposableDelay(this.getDisposableDelay());
-		return clone;
-	}
-
-	/**
-	 * Gets the resource attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @return                          The resource value
-	 * @exception NullPointerException  Description of the Exception
-	 */
-	public Object getResource() throws NullPointerException {
-		if (resource != null) {
-			resetDelay();
-			return resource;
-		}
-		throw new NullPointerException();
-	}
-
-	/**
-	 * Sets the resource attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @param resource  The new resource value
-	 */
-	public void setResource(Object newResource) {
-		resource = newResource;
-		resetDelay();
-	}
-
-	/**
-	 * Sets the disposableDelay attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @param millis  The new disposableDelay value
-	 */
-	public void setDisposableDelay(long millis) {
-		disposeDelay = millis;
-	}
-
-	/**
-	 * Gets the disposableDelay attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @return   The disposableDelay value
-	 */
-	public long getDisposableDelay() {
-		return disposeDelay;
-	}
-
-	/** Disposes of the resource */
-	public void dispose() {
-		resource = null;
-	}
-
-	/**
-	 * Gets the available attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @return   The available value
-	 */
-	public boolean isAvailable() {
-		return (resource != null);
-	}
-
-	/**
-	 * Locks the resource so it cannot be automatically disposed of until unlock
-	 * is called.<br>
-	 * Explicit disposing by calling dispose() is still possible though.
-	 */
-	public void lock() {
-		isLocked = true;
-	}
-
-	/**
-	 * Unlocks the resource so it can be automatically disposed of again.<br>
-	 * Explicit disposing by calling dispose() is still possible though.
-	 */
-	public void unlock() {
-		resetDelay();
-		isLocked = false;
-	}
-
-	/**
-	 * True if the resource is locked
-	 *
-	 * @return   The locked status
-	 */
-	public boolean isLocked() {
-		return isLocked;
-	}
-
-	/**
-	 * Gets the lastTimeAccessed attribute of the DisposableResourceHolder object
-	 *
-	 * @return   The lastTimeAccessed value
-	 */
-	public long getLastTimeAccessed() {
-		return lastTimeAccessed;
-	}
-
-	/** Resets the disposing delay so as to restart the time counter */
-	public void resetDelay() {
-		lastTimeAccessed = System.currentTimeMillis();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceManager.java b/JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceManager.java
deleted file mode 100644
index 1b2ef205f..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceManager.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * @(#)StandardDisposableResourceManager.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.util.Iterator;
-
-import java.util.WeakHashMap;
-
-/**
- * StandardDisposableResourceManager implements disposable resource management
- * using a client supplied strategy.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class StandardDisposableResourceManager implements DisposableResourceManager {
-
-	/** The registered resources */
-	private WeakHashMap resources;
-
-	/** The disposing strategy */
-	private ResourceDisposabilityStrategy strategy;
-
-	/**
-	 *Constructor for the StandardDisposableResourceManager object
-	 *
-	 * @param strategy  Description of the Parameter
-	 */
-	public StandardDisposableResourceManager(ResourceDisposabilityStrategy newStrategy) {
-		resources = new WeakHashMap();
-		setStrategy(newStrategy);
-		getStrategy().setManager(this);
-	}
-
-	/**
-	 * Registers a resource to be automatically disposed of
-	 *
-	 * @param resource  the resource
-	 */
-	public synchronized void registerResource(DisposableResourceHolder resource) {
-		resources.put(resource, resource);
-	}
-
-	/**
-	 * Unregisters a resource so it is not automatically GCed.<br>
-	 * If does nothing if the resource was not registered with this manager
-	 *
-	 * @param resource  the resource
-	 */
-	public synchronized void unregisterResource(DisposableResourceHolder resource) {
-		resources.remove(resource);
-	}
-
-	/**
-	 * Gets an iterator on the managed resources
-	 *
-	 * @return   The iterator
-	 */
-	public Iterator getResources() {
-		return resources.values().iterator();
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param resource  the resource
-	 * @return          True if the resource is registered with this manager
-	 */
-	public synchronized boolean managesResource(DisposableResourceHolder resource) {
-		return resources.containsValue(resource);
-	}
-
-	/**
-	 * Gets the strategy attribute of the StandardDisposableResourceManager object
-	 *
-	 * @return   The strategy value
-	 */
-	public ResourceDisposabilityStrategy getStrategy() {
-		return strategy;
-	}
-
-	/**
-	 * Sets the strategy attribute of the StandardDisposableResourceManager object
-	 *
-	 * @param newStrategy  The new strategy value
-	 */
-	public void setStrategy(ResourceDisposabilityStrategy newStrategy) {
-		strategy = newStrategy;
-	}
-
-	/**
-	 * Activates the strategy which starts disposing of resources as fitted
-	 *
-	 * @exception ResourceManagerNotSetException  Description of the Exception
-	 */
-	public void startDisposing() throws ResourceManagerNotSetException {
-		getStrategy().startDisposing();
-	}
-
-	/**
-	 * Deactivates the strategy that stops automatic disposal of resource.<br>
-	 * The millis parameters specifies in milliseconds the time to wait for
-	 * the disposal to stop. After this time the method returns, but the
-	 * deactivation request remain active.
-	 *
-	 * @param millis  time to wait for disposal to stop
-	 */
-	public void stopDisposing(long millis) {
-		getStrategy().stopDisposing(millis);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/TextHolderContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/TextHolderContentProducer.java
deleted file mode 100644
index 1cbc7915e..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/TextHolderContentProducer.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * @(#)TextHolderContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.IOException;
-
-import java.io.Serializable;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-import CH.ifa.draw.standard.TextHolder;
-
-/**
- * TextAreaFigureContentProducer produces text contents from an existing
- * TextHolder figure<br>
- * It can either be specific if set for a specific figure, or generic, encoding
- * any color passed to the getContents method.<br>
- * The main usage of this producer is to embed a "master" or "shared" drawing
- * figure into other figures so that updating the master figure automatically
- * changes all dependent figures as well. Kind of a hot text snippet if you like<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class TextHolderContentProducer extends AbstractContentProducer
-		 implements Serializable {
-
-	private TextHolder myTextHolder;
-
-	/**
-	 * Constructor for the TextAreaFigureContentProducer object
-	 */
-	public TextHolderContentProducer() { }
-
-	/**
-	 *Constructor for the TextAreaFigureContentProducer object
-	 *
-	 * @param figure  Description of the Parameter
-	 */
-	public TextHolderContentProducer(TextHolder figure) {
-		setTextHolder(figure);
-	}
-
-	/**
-	 * Gets the text from the text figure
-	 *
-	 * @param context       Description of the Parameter
-	 * @param ctxAttrName   Description of the Parameter
-	 * @param ctxAttrValue  Description of the Parameter
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		// if we have our own figure then use it
-		// otherwise use the one supplied
-		TextHolder figure = (getTextHolder() != null) ? getTextHolder() : (TextHolder)ctxAttrValue;
-		// return the areas text
-		return figure.getText();
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getTextHolder().getRepresentingFigure());
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		setTextHolder((TextHolder)dr.readStorable());
-	}
-
-	protected TextHolder getTextHolder() {
-		return myTextHolder;
-	}
-
-	public void setTextHolder(TextHolder newFigure) {
-		myTextHolder = newFigure;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/TriangleFigureGeometricAdapter.java b/JHotDraw/src/CH/ifa/draw/contrib/html/TriangleFigureGeometricAdapter.java
deleted file mode 100644
index c95531263..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/TriangleFigureGeometricAdapter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * @(#)TriangleFigureGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Point;
-import java.awt.Shape;
-import CH.ifa.draw.contrib.TriangleFigure;
-
-/**
- * Geometric adapter for the TriangleFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class TriangleFigureGeometricAdapter extends TriangleFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the TriangleFigureGeometricAdapter object
-	 */
-	public TriangleFigureGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the TriangleFigureGeometricAdapter object
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 */
-	public TriangleFigureGeometricAdapter(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	/**
-	 * Gets the shape attribute of the TriangleFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		return getPolygon();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/URLContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/URLContentProducer.java
deleted file mode 100644
index a9cdf2c02..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/URLContentProducer.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * @(#)URLContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.IOException;
-
-import java.io.InputStream;
-import java.io.Serializable;
-import java.net.URL;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * URLContentProducer produces string contents from URLs.<br>
- * Anything the <code>URL.openStream()</code> method can get can be retrieved
- * by this producer, that includes resources, local files, web documents,
- * web queries, FTP files, and you name it.<br>
- * It can either be specific if set for a specific URL, or generic, retrieving
- * any URL passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- * @todo    should we cache the contents for specific URLs? this can
- * accelerate things a lot for static documents, but for dynamic ones it
- * will complicate things. If cached then if must be in a DisposableResourceHolder
- */
-public class URLContentProducer extends FigureDataContentProducer
-		 implements Serializable {
-
-	/** the specific URL */
-	private URL fURL;
-
-	/**
-	 * Constructor for the URLContentProducer object
-	 */
-	public URLContentProducer() { }
-
-	/**
-	 *Constructor for the URLContentProducer object
-	 *
-	 * @param url  the specific URL
-	 */
-	public URLContentProducer(URL url) {
-		setURL(url);
-	}
-
-	/**
-	 * Retrieves the contents of the URL pointed object
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name that led to this being called
-	 * @param ctxAttrValue  the value of the URL attribute
-	 * @return              the contents of the URL pointed object as a string
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		try {
-			// if we have our own URL then use it
-			// otherwise use the one supplied
-			URL url = (getURL() != null) ? new URL(getURL().toExternalForm()) : new URL(((URL)ctxAttrValue).toExternalForm());
-
-			InputStream reader = url.openStream();
-			int available = reader.available();
-			byte contents[] = new byte[available];
-			reader.read(contents, 0, available);
-			reader.close();
-			return new String(contents);
-		}
-		catch (Exception ex) {
-			ex.printStackTrace();
-			return ex.toString();
-		}
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeBoolean((getURL() != null));
-		if (getURL() != null) {
-			dw.writeString(getURL().toExternalForm());
-		}
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		boolean hasURL = dr.readBoolean();
-		if (hasURL) {
-			setURL(new URL(dr.readString()));
-		}
-	}
-
-	public URL getURL() {
-		return fURL;
-	}
-
-	protected void setURL(URL newURL) {
-		fURL = newURL;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/AreaTracker.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/AreaTracker.java
deleted file mode 100644
index e049ba7b8..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/AreaTracker.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * @(#)AreaTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.standard.AbstractTool;
-
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * A rubberband area tracker.  It can be extended to do anything with
- * the resulting area, e.g. select it or zoom it.  This code is
- * derived from SelectAreaTracker, which is a bit too specific to
- * allow for extension.
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AreaTracker extends AbstractTool {
-
-	private Rectangle area;
-
-	protected AreaTracker(DrawingEditor editor) {
-		super(editor);
-	}
-
-	public Rectangle getArea() {
-		return new Rectangle(area.x, area.y, area.width, area.height);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		// use event coordinates to supress any kind of
-		// transformations like constraining points to a grid
-		super.mouseDown(e, e.getX(), e.getY());
-		rubberBand(getAnchorX(), getAnchorY(), getAnchorX(), getAnchorY());
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		super.mouseDrag(e, x, y);
-		eraseRubberBand();
-		rubberBand(getAnchorX(), getAnchorY(), x, y);
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		super.mouseUp(e, x, y);
-		eraseRubberBand();
-	}
-
-	private void rubberBand(int x1, int y1, int x2, int y2) {
-		area = new Rectangle(new Point(x1, y1));
-		area.add(new Point(x2, y2));
-		drawXORRect(area);
-	}
-
-	private void eraseRubberBand() {
-		drawXORRect(area);
-	}
-
-	private void drawXORRect(Rectangle r) {
-		Graphics g = view().getGraphics();
-		g.setXORMode(view().getBackground());
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/DoubleBufferImage.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/DoubleBufferImage.java
deleted file mode 100644
index 887178c80..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/DoubleBufferImage.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * @(#)DoubleBufferImage.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import java.awt.*;
-import java.awt.image.ImageObserver;
-import java.awt.image.ImageProducer;
-
-/**
- * A DoubleBufferImage is an image that scaling components, such as a
- * ZoomDrawingView, use for double buffering.  Drawing into this image
- * is scaled, but when the image is written to the screen, no more
- * scaling occurs.  This is ensured by the implementation here and
- * by the corresponding drawImage methods in ScalingGraphics.
- *
- * Note: this class is only needed for a JDK1.1 compliant implementation
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class DoubleBufferImage extends java.awt.Image {
-
-	private Image real;
-	private double scale;
-
-	public DoubleBufferImage(Image newReal, double newScale) {
-		real = newReal;
-		scale = newScale;
-	}
-
-	public Image getRealImage() {
-		return real;
-	}
-
-	public void flush() {
-		real.flush();
-	}
-
-	public Graphics getGraphics() {
-		// Return an appropriate scaling graphics context,
-		// so that all drawing operations into this image
-		// are scaled.
-		ScalingGraphics result = new ScalingGraphics(real.getGraphics());
-		result.setScale(scale);
-		return result;
-	}
-
-	public int getHeight(ImageObserver observer) {
-		return real.getHeight(observer);
-	}
-
-	public Object getProperty(String name, ImageObserver observer) {
-		return real.getProperty(name, observer);
-	}
-
-	public Image getScaledInstance(int width, int height, int hints) {
-		return real.getScaledInstance(width, height, hints);
-	}
-
-	public ImageProducer getSource() {
-		return real.getSource();
-	}
-
-	public int getWidth(ImageObserver observer) {
-		return real.getWidth(observer);
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/MiniMapZoomableView.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/MiniMapZoomableView.java
deleted file mode 100644
index 0853bfa72..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/MiniMapZoomableView.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @(#)MiniMapZoomableView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.contrib.MiniMapView;
-import CH.ifa.draw.framework.DrawingView;
-
-import java.awt.geom.AffineTransform;
-import java.awt.geom.NoninvertibleTransformException;
-import javax.swing.JScrollPane;
-
-/**
- * Specialized sub-class of MiniMapView to handle the zooming ability of the ZoomDrawingView in JHotDraw.  This subclass has been enhanced
- * to take into consideration that the scrollpane's content may itself be altered by a transform (namely a scaling transform).
- *
- * @author	S. Ruman (sruman@rogers.com)
- * @version <$CURRENT_VERSION$>
- */
-public class MiniMapZoomableView extends MiniMapView {
-	public MiniMapZoomableView(DrawingView newMappedDrawingView, JScrollPane subject) {
-		super(newMappedDrawingView, subject);
-	}
-
-// Overridden
-	public AffineTransform getInverseSubjectTransform() {
-		double subjectsScale = ((ZoomDrawingView)getMappedComponent()).getScale();
-
-		AffineTransform at = null;
-		try {
-			at = AffineTransform.getScaleInstance(subjectsScale, subjectsScale).createInverse();   // undo the zoom of the zoomable drawing view
-		}
-		catch (NoninvertibleTransformException nte) {
-			// all scale-only transforms should be invertable
-		}
-
-		return at;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ScalingGraphics.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/ScalingGraphics.java
deleted file mode 100644
index 93215c5ca..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ScalingGraphics.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * @(#)ScalingGraphics.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import java.awt.*;
-import java.awt.image.ImageObserver;
-
-/**
- * A graphics context that can scale to an arbitrary factor.
- *
- * Note: this class is only needed for a JDK1.1 compliant implementation
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ScalingGraphics extends java.awt.Graphics {
-
-	/**
-	 * The scale used for all drawing operations.
-	 */
-	private double scale = 1.0;
-
-	/**
-	 * The actual graphics context to which drawing is delegated.
-	 */
-	private Graphics real;
-
-	/**
-	 * The font with which the user thinks he is drawing.
-	 * On the real graphics context, a scaled font is substituted
-	 * for it (which may or may not be precisely to scale).
-	 */
-	private Font userFont;
-
-	/**
-	 * The current clipping rectangle, in user coordinates.
-	 * Cached here to avoid unnecessary scaling back and forth.
-	 */
-	private Rectangle userClip;
-
-
-	public ScalingGraphics(Graphics realGraphics) {
-		real = realGraphics;
-	}
-
-	/**
-	 * Sets the scale to be used for any subsequent drawing operations.
-	 * All coordinates are multiplied by this value in both x- and
-	 * y-direction before drawing.  Thus, a value of 1.0 means no
-	 * scaling, smaller values shrink the picture, larger ones enlarge
-	 * it.
-	 */
-	public void setScale(double newScale) {
-		scale = newScale;
-	}
-
-	/**
-	 * Returns the scale factor currently used for drawing operations.
-	 * @see #setScale
-	 */
-	public double getScale() {
-		return scale;
-	}
-
-	/**
-	 * Returns the font that should be substituted for the
-	 * given font at the given scale.
-	 */
-	private static Font scaledFont(Font f, double scale) {
-		int size = f.getSize();
-		int scaledSize = (int) (size * scale);
-		//if (scaledSize < 6) scaledSize = 6;
-		return new Font(f.getFamily(), f.getStyle(), scaledSize);
-	}
-
-	/**
-	 * Scales a shape to the given scale.
-	 */
-	private static Shape scaledShape(Shape s, double scale) {
-		if (s instanceof Rectangle) {
-			Rectangle r = (Rectangle) s;
-			return new Rectangle((int) (r.x * scale), (int) (r.y * scale),
-					(int) (r.width * scale), (int) (r.height * scale));
-		}
-		else {
-			throw new RuntimeException("Cannot scale shape: " + s.getClass().getName());
-		}
-	}
-
-	// delegating implementations below this line
-
-	public Graphics create() {
-		Graphics realCopy = real.create();
-		ScalingGraphics result = new ScalingGraphics(realCopy);
-		result.setScale(getScale());
-		return result;
-	}
-
-	public void translate(int x, int y) {
-		real.translate((int) (x * scale), (int) (y * scale));
-	}
-
-	public Color getColor() {
-		return real.getColor();
-	}
-
-	public void setColor(Color c) {
-		real.setColor(c);
-	}
-
-	public void setPaintMode() {
-		real.setPaintMode();
-	}
-
-	public void setXORMode(Color c1) {
-		real.setXORMode(c1);
-	}
-
-	public Font getFont() {
-		// returns the font with which the user thinks he is drawing
-		if (userFont == null)
-			userFont = real.getFont();
-		return userFont;
-	}
-
-	public void setFont(Font font) {
-		userFont = font;
-		real.setFont(scaledFont(font, scale));
-	}
-
-	public FontMetrics getFontMetrics() {
-		return new ScalingFontMetrics(userFont, real.getFontMetrics());
-	}
-
-	public FontMetrics getFontMetrics(Font f) {
-		// returns a ScalingFontMetrics object that measures distances
-		// on the real font, and scales them back to user coordinates
-		return new ScalingFontMetrics(f,
-				real.getFontMetrics(scaledFont(f, scale)));
-	}
-
-	public Rectangle getClipBounds() {
-		return userClip;
-	}
-
-	public void clipRect(int x, int y, int width, int height) {
-		if (userClip == null)
-			userClip = new Rectangle(x, y, width, height);
-		else
-			userClip = userClip.intersection(new Rectangle(x, y, width, height));
-		real.clipRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void setClip(int x, int y, int width, int height) {
-		userClip = new Rectangle(x, y, width, height);
-		real.setClip((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public Shape getClip() {
-		return userClip;
-	}
-
-	public void setClip(Shape clip) {
-		userClip = (Rectangle) clip;
-		if (clip != null)
-		// Scale the Shape before applying it.
-			real.setClip(scaledShape(clip, scale));
-		else
-			real.setClip(null);
-	}
-
-	public void copyArea(int x, int y, int width, int height,
-						 int dx, int dy) {
-		real.copyArea((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				(int) (dx * scale), (int) (dy * scale));
-	}
-
-	public void drawLine(int x1, int y1, int x2, int y2) {
-		real.drawLine((int) (x1 * scale), (int) (y1 * scale),
-				(int) (x2 * scale), (int) (y2 * scale));
-	}
-
-	public void fillRect(int x, int y, int width, int height) {
-		real.fillRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void clearRect(int x, int y, int width, int height) {
-		real.clearRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void drawRoundRect(int x, int y, int width, int height,
-							  int arcWidth, int arcHeight) {
-		real.drawRoundRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				(int) (arcWidth * scale), (int) (arcHeight * scale));
-	}
-
-	public void fillRoundRect(int x, int y, int width, int height,
-							  int arcWidth, int arcHeight) {
-		real.fillRoundRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				(int) (arcWidth * scale), (int) (arcHeight * scale));
-	}
-
-	public void drawOval(int x, int y, int width, int height) {
-		real.drawOval((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void fillOval(int x, int y, int width, int height) {
-		real.fillOval((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void drawArc(int x, int y, int width, int height,
-						int startAngle, int arcAngle) {
-		real.drawArc((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				startAngle, arcAngle);
-	}
-
-	public void fillArc(int x, int y, int width, int height,
-						int startAngle, int arcAngle) {
-		real.fillArc((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				startAngle, arcAngle);
-	}
-
-	public void drawPolyline(int xPoints[], int yPoints[],
-							 int nPoints) {
-		int[] realXPoints = new int[nPoints];
-		int[] realYPoints = new int[nPoints];
-		for (int i = 0; i < nPoints; i++) {
-			realXPoints[i] = (int) (xPoints[i] * scale);
-			realYPoints[i] = (int) (yPoints[i] * scale);
-		}
-		real.drawPolyline(realXPoints, realYPoints, nPoints);
-	}
-
-	public void drawPolygon(int xPoints[], int yPoints[],
-							int nPoints) {
-		int[] realXPoints = new int[nPoints];
-		int[] realYPoints = new int[nPoints];
-		for (int i = 0; i < nPoints; i++) {
-			realXPoints[i] = (int) (xPoints[i] * scale);
-			realYPoints[i] = (int) (yPoints[i] * scale);
-		}
-		real.drawPolygon(realXPoints, realYPoints, nPoints);
-	}
-
-	public void fillPolygon(int xPoints[], int yPoints[],
-							int nPoints) {
-		int[] realXPoints = new int[nPoints];
-		int[] realYPoints = new int[nPoints];
-		for (int i = 0; i < nPoints; i++) {
-			realXPoints[i] = (int) (xPoints[i] * scale);
-			realYPoints[i] = (int) (yPoints[i] * scale);
-		}
-		real.fillPolygon(realXPoints, realYPoints, nPoints);
-	}
-
-	public void drawString(String str, int x, int y) {
-		real.drawString(str, (int) (x * scale), (int) (y * scale));
-	}
-
-	// drop this method if using jdk 1.1
-	public void drawString(java.text.AttributedCharacterIterator iterator,
-						   int x, int y) {
-		real.drawString(iterator, (int) (x * scale), (int) (y * scale));
-	}
-
-	public boolean drawImage(Image img, int x, int y,
-							 ImageObserver observer) {
-		// DoubleBufferImages must not be scaled.
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					x, y, observer);
-		else
-			return real.drawImage(img, (int) (x * scale), (int) (y * scale),
-					(int) (img.getWidth(observer) * scale),
-					(int) (img.getHeight(observer) * scale),
-					observer);
-	}
-
-	public boolean drawImage(Image img, int x, int y,
-							 int width, int height,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					x, y, width, height, observer);
-		else
-			return real.drawImage(img, (int) (x * scale), (int) (y * scale),
-					(int) (width * scale), (int) (height * scale),
-					observer);
-	}
-
-	public boolean drawImage(Image img, int x, int y,
-							 Color bgcolor,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					x, y, bgcolor, observer);
-		else
-			return real.drawImage(img, (int) (x * scale), (int) (y * scale),
-					(int) (img.getWidth(observer) * scale),
-					(int) (img.getHeight(observer) * scale),
-					bgcolor, observer);
-	}
-
-	public boolean drawImage(Image img, int x, int y,
-							 int width, int height,
-							 Color bgcolor,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					x, y, width, height, bgcolor, observer);
-		else
-			return real.drawImage(img, (int) (x * scale), (int) (y * scale),
-					(int) (width * scale), (int) (height * scale),
-					bgcolor, observer);
-	}
-
-	public boolean drawImage(Image img,
-							 int dx1, int dy1, int dx2, int dy2,
-							 int sx1, int sy1, int sx2, int sy2,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2,
-					observer);
-		else
-			return real.drawImage(img, (int) (dx1 * scale), (int) (dy1 * scale),
-					(int) (dx2 * scale), (int) (dy2 * scale),
-					(int) (sx1 * scale), (int) (sy1 * scale),
-					(int) (sx2 * scale), (int) (sy2 * scale),
-					observer);
-	}
-
-	public boolean drawImage(Image img,
-							 int dx1, int dy1, int dx2, int dy2,
-							 int sx1, int sy1, int sx2, int sy2,
-							 Color bgcolor,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2,
-					bgcolor, observer);
-		else
-			return real.drawImage(img, (int) (dx1 * scale), (int) (dy1 * scale),
-					(int) (dx2 * scale), (int) (dy2 * scale),
-					(int) (sx1 * scale), (int) (sy1 * scale),
-					(int) (sx2 * scale), (int) (sy2 * scale),
-					bgcolor, observer);
-	}
-
-	public void dispose() {
-		real.dispose();
-	}
-
-	/**
-	 * A scaling extension of the FontMetrics class.  Measurements
-	 * are performed on the actual, scaled font used on the screen,
-	 * and then scaled back into user space.  The object pretends
-	 * to be measuring the font specified by the user when obtaining
-	 * this FontMetrics object.
-	 */
-	private class ScalingFontMetrics extends FontMetrics {
-
-		/**
-		 * A FontMetrics object on the real, scaled font.  All queries
-		 * are forwarded to this object, and the results scaled back
-		 * into user space.
-		 */
-		private FontMetrics real;
-
-		/**
-		 * The font which the user thinks he is asking about.
-		 */
-		private Font userFont;
-
-		public ScalingFontMetrics(Font newUserFont, FontMetrics newReal) {
-			super(null);
-			userFont = newUserFont;
-			real = newReal;
-		}
-
-		// Delegating methods below this line.  Only those methods which
-		// the man page suggests as a minimal subset are implemented.
-
-		public Font getFont() {
-			return userFont;
-		}
-
-		public int getAscent() {
-			return (int) (real.getAscent() / ScalingGraphics.this.getScale());
-		}
-
-		public int getLeading() {
-			return (int) (real.getLeading() / ScalingGraphics.this.getScale());
-		}
-
-		public int getMaxAdvance() {
-			return (int) (real.getMaxAdvance() / ScalingGraphics.this.getScale());
-		}
-
-		public int charWidth(char ch) {
-			return (int) (real.charWidth(ch) / ScalingGraphics.this.getScale());
-		}
-
-		public int charsWidth(char[] data, int off, int len) {
-			return (int) (real.charsWidth(data, off, len) /
-					ScalingGraphics.this.getScale());
-		}
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomAreaTracker.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomAreaTracker.java
deleted file mode 100644
index e4ec88f3a..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomAreaTracker.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)ZoomAreaTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.framework.DrawingEditor;
-
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ZoomAreaTracker extends AreaTracker {
-
-	public ZoomAreaTracker(DrawingEditor editor) {
-		super(editor);
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		Rectangle zoomArea = getArea();
-		super.mouseUp(e, x, y);
-		if (zoomArea.width > 4 && zoomArea.height > 4)
-			((ZoomDrawingView) view()).zoom(zoomArea.x, zoomArea.y,
-					zoomArea.width, zoomArea.height);
-	}
-
-}
-
-
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomCommand.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomCommand.java
deleted file mode 100644
index 81186e740..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomCommand.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- *  @(#)ZoomCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.JHotDrawRuntimeException;
-
-import CH.ifa.draw.standard.AbstractCommand;
-
-/**
- * A ZoomCommand allows for applying a zoom factor to a ZoomDrawingView.<br>
- * Several ZoomCommand objects can be created in a menu or toolbar, set to various
- * predefined zoom factors
- *
- * @author    Eduardo Francos
- * @created   26 april 2002
- * @version   <CURRENT_VERSION>
- */
-public class ZoomCommand extends AbstractCommand {
-	/** The scale factor to apply */
-	protected float scale = 1.0f;
-
-	/**
-	 * Constructor for the ZoomCommand object
-	 *
-	 * @param name              the command name
-	 * @param scale             Description of the Parameter
-	 * @param newDrawingEditor  the DrawingEditor which manages the views
-	 */
-	public ZoomCommand(String newSame, float newScale, DrawingEditor newDrawingEditor) {
-		super(newSame, newDrawingEditor, true);
-		scale = newScale;
-	}
-
-
-	/** Executes the command */
-	public void execute() {
-		super.execute();
-		zoomView().zoom(scale);
-	}
-
-
-	/**
-	 * Sets the zoom factor of the view
-	 *
-	 * @return   ZoomDrawingView currently active in the editor
-	 */
-	public ZoomDrawingView zoomView() {
-		Object view = super.view();
-		if (view instanceof ZoomDrawingView) {
-			return (ZoomDrawingView)view;
-		}
-		throw new JHotDrawRuntimeException("execute should NOT be getting called when view not instanceof ZoomDrawingView");
-	}
-
-
-	/**
-	 * Gets the scale attribute of the ZoomCommand object
-	 *
-	 * @return   The scale value
-	 */
-	public float getScale() {
-		return scale;
-	}
-
-
-	/**
-	 * Sets the scale attribute of the ZoomCommand object
-	 *
-	 * @param newScale  The new scale value
-	 */
-	public void setScale(float newScale) {
-		scale = newScale;
-	}
-
-
-	/**
-	 * Returns true if the command is executable with the current view
-	 *
-	 * @return   true iff the view is a ZoomDrawingView
-	 */
-	protected boolean isExecutableWithView() {
-		return (view() instanceof ZoomDrawingView);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomDrawingView.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomDrawingView.java
deleted file mode 100644
index 66b0ccfa6..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomDrawingView.java
+++ /dev/null
@@ -1,476 +0,0 @@
-/*
- * @(#)ZoomDrawingView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.framework.Drawing;
-import CH.ifa.draw.framework.DrawingChangeEvent;
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.standard.StandardDrawing;
-import CH.ifa.draw.standard.StandardDrawingView;
-import CH.ifa.draw.util.Geom;
-
-import javax.swing.JViewport;
-import java.awt.*;
-import java.awt.event.*;
-import java.awt.geom.AffineTransform;
-
-/**
- * A view that can display drawings at an arbitrary scale.
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ZoomDrawingView extends StandardDrawingView {
-
-	/**
-	 * The current scaling factor
-	 */
-	private double scale = 1.0;
-
-	/**
-	 * The zooming speed, meaning the scaling factor change speed when doing
-	 * zoomIn/zoomOut operations.<br>
-	 * Default of 2.0 is increase 100% or decrease 50% the current factor.<br>
-	 * Can be changed dynamically by clients using the setter method
-	 */
-	private double zoomSpeed = 2.0;
-
-	public ZoomDrawingView(DrawingEditor editor) {
-		this(editor, MINIMUM_WIDTH, MINIMUM_HEIGHT);
-	}
-
-	public ZoomDrawingView(DrawingEditor editor, int width, int height) {
-		super(editor, width, height);
-	}
-
-	/**
-	 * @return The current zoom scale of this view.  The dimensions of
-	 *         figures are multiplied by this number before display.
-	 */
-	public final double getScale() {
-		return scale;
-	}
-
-	/**
-	 * Sets a new zoom scale for this view.  The dimensions of figures
-	 * are multiplied by this number before display.
-	 */
-	private void setScale(double newScale) {
-		// "de"-scale with old scale
-		Dimension oldSize = getUserSize();
-		scale = newScale;
-		// re-scale with new scale
-		setUserSize(oldSize.width, oldSize.height);
-		centralize(drawing());
-		forceRedraw();
-	}
-
-	private void forceRedraw() {
-		drawingInvalidated(new DrawingChangeEvent
-				(drawing(), new Rectangle(getSize())));
-		repairDamage();
-	}
-
-	/**
-	 * Sets the size of this view in user coordinates.  The size of the view
-	 * on the screen will be this size, multiplied by the current scale.
-	 */
-	public void setUserSize(int width, int height) {
-		setSize((int) (width * getScale()),
-				(int) (height * getScale()));
-	}
-
-	/**
-	 * Sets the size of this view in user coordinates.  The size of the view
-	 * on the screen will be this size, multiplied by the current scale.
-	 */
-	public void setUserSize(Dimension d) {
-		setUserSize(d.width, d.height);
-	}
-
-	/**
-	 * @return the size of this view, in screen coordinates
-	 */
-	public Dimension getSize() {
-		return super.getSize();
-	}
-
-	public Dimension getViewportSize() {
-		return getParent().getSize();
-	}
-
-	protected boolean hasZoomSupport() {
-		return getParent() instanceof JViewport;
-	}
-
-	/**
-	 * Sets the coordinates of the left top corner displayed by the view.<br>
-	 */
-	public void setOriginPosition(Point newOrigin) {
-		setViewPosition(newOrigin);
-		forceRedraw();
-	}
-
-	protected void setViewPosition(Point newPosition) {
-		((JViewport)getParent()).setViewPosition(newPosition);
-	}
-
-	/**
-	 * @return The size of this view, in user coordinates.  The size
-	 *         on the screen is this size, multiplied by the current scale.
-	 */
-	public Dimension getUserSize() {
-		Dimension screenSize = getSize();
-		return new Dimension((int) (screenSize.width / getScale()),
-				(int) (screenSize.height / getScale()));
-	}
-
-	/**
-	 * Readjusts this view and its containing ScrollPane to display the
-	 * given rectangle, which is given in user coordinates.  This method
-	 * only works if this view is contained in a JViewport.  It throws
-	 * a RuntimeException otherwise.
-	 */
-	public void zoom(int x, int y, int width, int height) {
-		if (hasZoomSupport()) {
-			Dimension viewportSize = getViewportSize();
-			double xScale = (double) viewportSize.width / (double) width;
-			double yScale = (double) viewportSize.height / (double) height;
-			double newScale = Math.min(xScale, yScale);
-
-			// "de"-scale with old scale
-			Dimension userSize = getUserSize();
-			this.scale = newScale;
-			// re-scale with new scale
-			setUserSize(userSize);
-
-			revalidate();
-			setViewPosition(
-					new Point((int) (x * getScale()), (int) (y * getScale())));
-			forceRedraw();
-		}
-		else {
-			throw new RuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	/**
-	 * Set this view's scale factor
-	 */
-	public void zoom(float newScale) {
-		if (hasZoomSupport()) {
-			JViewport viewport = (JViewport) getParent();
-			Dimension viewportSize = viewport.getSize();
-			Dimension userSize = getUserSize();
-			scale = newScale;
-			Point viewOrg = viewport.getViewPosition();
-			viewOrg.x = viewOrg.x + (viewportSize.width / 2);
-			viewOrg.y = viewOrg.y + (viewportSize.height / 2);
-			int xScreen = (int) (viewOrg.x * scale);
-			int yScreen = (int) (viewOrg.y * scale);
-			int xOrigin = xScreen - viewportSize.width / 2;
-			int yOrigin = yScreen - viewportSize.height / 2;
-			if (xOrigin < 0) xOrigin = 0;
-			if (yOrigin < 0) yOrigin = 0;
-			setUserSize(userSize);
-			revalidate();
-			viewport.setViewPosition(new Point(xOrigin, yOrigin));
-			forceRedraw();
-		}
-		else {
-			throw new RuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	/**
-	 * Zooms out by a factor of two, keeping point (x,y), which is given
-	 * in user coordinates, in the center.
-	 */
-	public void zoomOut(int x, int y) {
-		if (hasZoomSupport()) {
-			Dimension viewportSize = getViewportSize();
-			// "de"-scale with old scale
-			Dimension userSize = getUserSize();
-			this.scale = getScale() / getZoomSpeed();
-			int xScreen = (int) (x * getScale());
-			int yScreen = (int) (y * getScale());
-			int xOrigin = xScreen - viewportSize.width / 2;
-			int yOrigin = yScreen - viewportSize.height / 2;
-			if (xOrigin < 0) xOrigin = 0;
-			if (yOrigin < 0) yOrigin = 0;
-			// re-scale with new scale
-			setUserSize(userSize);
-			revalidate();
-			setViewPosition(new Point(xOrigin, yOrigin));
-			forceRedraw();
-		}
-		else {
-			throw new RuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	/**
-	 * InContext
-	 * Zooms in by a factor of the current scale, keeping point (x,y), which is given
-	 * in user coordinates, in the center.
-	 */
-	public void zoomIn(int x, int y) {
-		if (hasZoomSupport()) {
-			JViewport viewport = (JViewport) getParent();
-			Dimension viewportSize = viewport.getSize();
-			Dimension userSize = getUserSize();
-			this.scale = getScale() * getZoomSpeed();
-			int xScreen = (int) (x * getScale());
-			int yScreen = (int) (y * getScale());
-			int xOrigin = xScreen - viewportSize.width / 2;
-			int yOrigin = yScreen - viewportSize.height / 2;
-			if (xOrigin < 0) xOrigin = 0;
-			if (yOrigin < 0) yOrigin = 0;
-			setUserSize(userSize);
-			revalidate();
-			viewport.setViewPosition(new Point(xOrigin, yOrigin));
-			forceRedraw();
-		}
-		else {
-			throw new RuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	/**
-	 * Sets the zoom scale to 1.0 and adjusts the scroll pane
-	 * so that point (x, y) is in the center.
-	 */
-	public void deZoom(int x, int y) {
-		if (hasZoomSupport()) {
-			Dimension viewportSize = getViewportSize();
-			Dimension userSize = getUserSize();
-			int xOrigin = x - viewportSize.width / 2;
-			int yOrigin = y - viewportSize.height / 2;
-			if (xOrigin < 0) xOrigin = 0;
-			if (yOrigin < 0) yOrigin = 0;
-			this.scale = 1.0;
-			setUserSize(userSize);
-			revalidate();
-			setViewPosition(new Point((int) (xOrigin),
-					(int) (yOrigin)));
-			forceRedraw();
-		}
-		else {
-			throw new RuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	public void paint(Graphics g) {
-		super.paint(transformGraphics(g, getScale()));
-	}
-
-	public Graphics getGraphics() {
-		return transformGraphics(super.getGraphics(), getScale());
-	}
-
-	private final Graphics transformGraphics(Graphics g, double currentScale) {
-		if (currentScale != 1.0) {
-			Graphics2D g2 = (Graphics2D) g;
-			// Don't use setTransform() here because that would destroy
-			// any transformation that Swing sets for partial redrawing.
-			// Simply add our own transformation to any existing one.
-			g2.transform(AffineTransform.getScaleInstance(currentScale, currentScale));
-		}
-        return g;
-	}
-
-	/**
-	 * Constrain to user coordinates, not screen coordinates.
-	 */
-	protected Point constrainPoint(Point p) {
-		Dimension size = getSize();
-		p.x = Geom.range(1, (int) (size.width / getScale()), p.x);
-		p.y = Geom.range(1, (int) (size.height / getScale()), p.y);
-		if (getConstrainer() != null) {
-			return getConstrainer().constrainPoint(p);
-		}
-		return p;
-	}
-
-	public void drawBackground(Graphics g) {
-		g.setColor(getBackground());
-		g.fillRect(0, 0,
-				(int) (getBounds().width / getScale()),
-				(int) (getBounds().height / getScale()));
-	}
-
-	private void centralize(Drawing d, Dimension bounds) {
-		Point boundsCenter = new Point(bounds.width / 2, bounds.height / 2);
-		Rectangle r = ((StandardDrawing) d).displayBox();
-		Point drawingCenter = new Point(r.x + r.width / 2, r.y + r.height / 2);
-		int diffX = boundsCenter.x - drawingCenter.x;
-		int diffY = boundsCenter.y - drawingCenter.y;
-		if (diffX != 0 || diffY != 0) {
-			for (FigureEnumeration fe = d.figures(); fe.hasNextFigure();) {
-				fe.nextFigure().moveBy(diffX, diffY);
-			}
-		}
-	}
-
-	private void centralize(Drawing d) {
-		centralize(d, getUserSize());
-	}
-
-	public void setDrawing(Drawing d) {
-		super.setDrawing(d);
-
-		Rectangle r = ((StandardDrawing) d).displayBox();
-		//Dimension drawingSize = new Dimension(r.width, r.height);
-		Dimension viewportSize = new Dimension(r.width, r.height);
-		if (getParent() != null) {
-			viewportSize = getViewportSize();
-		}
-/*
-		Dimension userSize = new Dimension(viewportSize);
-		this.scale = 1.0;
-
-		while (drawingSize.width > userSize.width ||
-				drawingSize.height > userSize.height) {
-			this.scale = getScale() / 2.0;
-			userSize.width = userSize.width * 2;
-			userSize.height = userSize.height * 2;
-		}
-		centralize(d, userSize);
-*/
-		super.setPreferredSize(viewportSize);
-		super.setSize(viewportSize);
-		revalidate();
-	}
-
-	public Dimension getMinimumSize() {
-		return super.getSize();
-	}
-
-	public Dimension getPreferredSize() {
-		return getMinimumSize();
-	}
-
-	/**
-	 * Overridden to scale damage to screen coordinates.
-	 */
-	public void repairDamage() {
-		Rectangle damagedArea = getDamage();
-		if (damagedArea != null) {
-			repaint((int) (damagedArea.x * getScale()),
-					(int) (damagedArea.y * getScale()),
-					(int) (damagedArea.width * getScale()),
-					(int) (damagedArea.height * getScale()));
-			setDamage(null);
-		}
-	}
-
-	/**
-	 * Overridden to accumulate damage in an instance variable of this class.
-	 */
-	public void drawingInvalidated(DrawingChangeEvent e) {
-		Rectangle r = e.getInvalidatedRectangle();
-		if (getDamage() == null) {
-			setDamage(r);
-		}
-		else {
-			Rectangle damagedArea = getDamage();
-			damagedArea.add(r);
-			// the returned rectange may be a clone so we better set it again
-			setDamage(damagedArea);
-		}
-	}
-
-	/**
-	 * @return a new MouseEvent, the coordinates of which are transformed
-	 *         to compensate for the current zoom factor
-	 */
-	private MouseEvent createScaledEvent(MouseEvent e) {
-		return new MouseEvent(e.getComponent(),
-				e.getID(),
-				e.getWhen(),
-				e.getModifiers(),
-				(int) (e.getX() / getScale()),
-				(int) (e.getY() / getScale()),
-				e.getClickCount(),
-				e.isPopupTrigger());
-	}
-
-
-	protected MouseListener createMouseListener() {
-		return new StandardDrawingView.DrawingViewMouseListener() {
-			public void mousePressed(MouseEvent e) {
-				super.mousePressed(createScaledEvent(e));
-			}
-			public void mouseReleased(MouseEvent e) {
-				super.mouseReleased(createScaledEvent(e));
-			}
-		};
-	}
-
-	protected MouseMotionListener createMouseMotionListener() {
-		return new StandardDrawingView.DrawingViewMouseMotionListener() {
-			public void mouseDragged(MouseEvent e) {
-				super.mouseDragged(createScaledEvent(e));
-			}
-			public void mouseMoved(MouseEvent e) {
-				super.mouseMoved(createScaledEvent(e));
-			}
-		};
-	}
-
-	protected KeyListener createKeyListener() {
-		return new StandardDrawingView.DrawingViewKeyListener() {
-			public void keyPressed(KeyEvent e) {
-				super.keyPressed(e);
-				if (e.getKeyChar() == ' ') {
-					forceRedraw();
-				}
-				else if (e.getKeyChar() == 'o') {
-					setScale(getScale() / getZoomSpeed());
-				}
-				else if (e.getKeyChar() == 'i') {
-					setScale(getScale() * getZoomSpeed());
-				}
-				else if (e.getKeyChar() == 'c') {
-					centralize(drawing());
-				}
-				else {
-					super.keyPressed(e);
-				}
-			}
-		};
-	}
-
-	/**
-	 * Returns the current zoom speed
-	 */
-	public double getZoomSpeed()
-	{
-		return zoomSpeed;
-	}
-
-	/**
-	 * Set the zoom speed. Will be greater than 1.
-	 */
-	public void setZoomSpeed(double newZoomSpeed)
-	{
-		// check greater than 1. A smaller value would reverse the zooming
-		// operation, and a zero value would provoque divide by zero exceptions
-		zoomSpeed = Math.max(1.1, newZoomSpeed);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomTool.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomTool.java
deleted file mode 100644
index 2afca768b..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomTool.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * @(#)ZoomTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.Tool;
-import CH.ifa.draw.standard.AbstractTool;
-
-import java.awt.event.InputEvent;
-import java.awt.event.MouseEvent;
-
-/**
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ZoomTool extends AbstractTool {
-
-	private Tool child;
-
-	public ZoomTool(DrawingEditor editor) {
-		super(editor);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		//  Added handling for SHIFTed and CTRLed BUTTON3_MASK so that normal
-		//  BUTTON3_MASK does zoomOut, SHIFTed BUTTON3_MASK does zoomIn
-		//  and CTRLed BUTTON3_MASK does deZoom
-		if ((e.getModifiers() & InputEvent.BUTTON1_MASK) != 0) {
-			if (child != null) {
-				return;
-			}
-			view().freezeView();
-			child = new ZoomAreaTracker(editor());
-			child.mouseDown(e, x, y);
-		}
-		else if ((e.getModifiers() & InputEvent.BUTTON2_MASK) != 0) {
-			((ZoomDrawingView) view()).deZoom(x, y);
-		}
-		else if ((e.getModifiers() & InputEvent.BUTTON3_MASK) != 0) {
-			if ((e.getModifiers() & InputEvent.SHIFT_MASK) != 0) {
-				((ZoomDrawingView)view()).zoomIn(x, y);
-			}
-			else if ((e.getModifiers() & InputEvent.CTRL_MASK) != 0) {
-
-				((ZoomDrawingView) view()).deZoom(x, y);
-			}
-			else {
-				((ZoomDrawingView)view()).zoomOut(x, y);
-			}
-		}
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (child != null) {
-			child.mouseDrag(e, x, y);
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (child != null) {
-			view().unfreezeView();
-			child.mouseUp(e, x, y);
-		}
-		child = null;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomUpdateStrategy.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomUpdateStrategy.java
deleted file mode 100644
index b1a8a40e3..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomUpdateStrategy.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * @(#)ZoomUpdateStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.framework.Painter;
-
-import java.awt.*;
-
-/**
- * A variant of the BufferedUpdateStrategy that handles clipping
- * rectangles correctly in the presence of zooming.
- * @see CH.ifa.draw.standard.BufferedUpdateStrategy
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ZoomUpdateStrategy implements Painter {
-
-	/**
-	 * The offscreen image
-	 */
-	transient private Image fOffscreen;
-	private int fImagewidth = -1;
-	private int fImageheight = -1;
-
-	/**
-	 * Draws the view contents.
-	 */
-	public void draw(Graphics g, DrawingView view) {
-		// create the buffer if necessary
-		Dimension d = view.getSize();
-		if ((fOffscreen == null) || (d.width != fImagewidth)
-				|| (d.height != fImageheight)) {
-			fOffscreen = view.createImage(d.width, d.height);
-			fImagewidth = d.width;
-			fImageheight = d.height;
-		}
-
-		Graphics g2 = fOffscreen.getGraphics();
-		Rectangle r = g.getClipBounds();
-
-		if (g2 instanceof ScalingGraphics) {
-			ScalingGraphics s2 = (ScalingGraphics) g2;
-
-			// AWT sets clipping rectangles in screen coordinates, not user
-			// coordinates.  Therefore, we scale the clipping rectangle to
-			// user coordinates here, and then apply it to both buffers,
-			// which scale it back to screen coordinates.
-			if (r != null) {
-				// Make the rectangle slightly larger, to compensate
-				// for integer rounding errors.
-				r = new Rectangle((int) ((r.x - 2) / s2.getScale()),
-						(int) ((r.y - 2) / s2.getScale()),
-						(int) ((r.width + 4) / s2.getScale()),
-						(int) ((r.height + 4) / s2.getScale()));
-				g.setClip(r);
-			}
-		}
-		g2.setClip(r);
-
-		view.drawAll(g2);
-		g.drawImage(fOffscreen, 0, 0, view);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures.jdo b/JHotDraw/src/CH/ifa/draw/figures.jdo
deleted file mode 100644
index 340c305bc..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures.jdo
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="CH.ifa.draw.figures">
-    <class name="AttributeFigure">
-    </class>
-    <class name="ArrowTip">
-    </class>
-    <class name="ChopEllipseConnector">
-    </class>
-    <class name="ElbowConnection">
-    </class>
-    <class name="EllipseFigure">
-		<field name="fDisplayBox">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-		<field name="fPoints">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="FigureAttributes">
-		<field name="fMap">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="GroupFigure">
-    </class>
-    <class name="ImageFigure">
-    </class>
-    <class name="LineFigure">
-    </class>
-    <class name="NullConnector">
-    </class>
-    <class name="NullFigure">
-    </class>
-    <class name="NumberTextFigure">
-    </class>
-    <class name="PolyLineConnector">
-    </class>
-    <class name="PolyLineFigure">
-		<field name="fFrameColor">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="ShortestDistanceConnector">
-    </class>
-    <class name="RectangleFigure">
-		<field name="fDisplayBox">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="RoundRectangleFigure">
-    </class>
-    <class name="TextFigure">
-		<field name="fFont">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-  </package>
-</jdo>
diff --git a/JHotDraw/src/CH/ifa/draw/figures/AbstractLineDecoration.java b/JHotDraw/src/CH/ifa/draw/figures/AbstractLineDecoration.java
deleted file mode 100644
index 3e50d5f65..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/AbstractLineDecoration.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * @(#)AbstractLineDecoration.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.io.*;
-import java.awt.*;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-/**
- * An standard implementation of a line decoration.
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractLineDecoration implements LineDecoration {
-
-	static final long serialVersionUID = 1577970039258356627L;
-
-	private Color   fFillColor;
-	private Color   fBorderColor;
-	private transient Rectangle myBounds;
-
-	public AbstractLineDecoration() {
-	}
-
-   /**
-	* Draws the arrow tip in the direction specified by the given two
-	* points.. (template method)
-	*/
-	public void draw(Graphics g, int x1, int y1, int x2, int y2) {
-		// TBD: reuse the Polygon object
-		Polygon p = outline(x1, y1, x2, y2);
-		myBounds = p.getBounds();
-		if (getFillColor() == null) {
-			g.fillPolygon(p.xpoints, p.ypoints, p.npoints);
-		}
-		else {
-			Color drawColor = g.getColor();
-			g.setColor(getFillColor());
-			g.fillPolygon(p.xpoints, p.ypoints, p.npoints);
-			g.setColor(drawColor);
-		}
-
-		if (getBorderColor() != getFillColor()) {
-			Color drawColor = g.getColor();
-			g.setColor(getBorderColor());
-			g.drawPolygon(p.xpoints, p.ypoints, p.npoints);
-			g.setColor(drawColor);
-		}
-	}
-
-	/**
-	 * The LineDecoration has only a displayBox after it has been drawn
-	 * at least once. If it has not yet been drawn then a rectangle of size 0
-	 * is returned.
-	 * @return the display box of a LineDecoration.
-	 */
-	public Rectangle displayBox() {
-		if (myBounds != null) {
-			return myBounds;
-		}
-		else {
-			return new Rectangle(0, 0);
-		}
-	}
-
-   /**
-	* Hook method to calculates the outline of an arrow tip.
-	*/
-	public abstract Polygon outline(int x1, int y1, int x2, int y2);
-
-	/**
-	 * Stores the arrow tip to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		if (getFillColor() != null) {
-			FigureAttributes.writeColor(dw, FigureAttributeConstant.FILL_COLOR.getName(), getFillColor());
-		}
-		else {
-			dw.writeString("no" + FigureAttributeConstant.FILL_COLOR.getName());
-		}
-
-		if (getBorderColor() != null) {
-			FigureAttributes.writeColor(dw, FigureAttributeConstant.FRAME_COLOR.getName(), getBorderColor());
-		}
-		else {
-			dw.writeString("no" + FigureAttributeConstant.FRAME_COLOR.getName());
-		}
-	}
-
-	/**
-	 * Reads the arrow tip from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		String fillColorId = dr.readString();
-		// read color only if one has been written
-		if (fillColorId.equals(FigureAttributeConstant.FRAME_COLOR.getName())) {
-			setFillColor(FigureAttributes.readColor(dr));
-		}
-		String borderColorId = dr.readString();
-		// read color only if one has been written
-		if (borderColorId.equals("BorderColor")
-				||  borderColorId.equals(FigureAttributeConstant.FRAME_COLOR.getName())) {
-			setBorderColor(FigureAttributes.readColor(dr));
-		}
-	}
-
-	/**
-	 * Sets color with which arrow is filled
-	 */
-	public void setFillColor(Color fillColor) {
-		fFillColor = fillColor;
-	}
-
-	/**
-	 * Returns color with which arrow is filled
-	 */
-	public Color getFillColor() {
-		return fFillColor;
-	}
-
-	/**
-	 * Sets color of arrow's border
-	 */
-	public void setBorderColor(Color borderColor) {
-		fBorderColor = borderColor;
-	}
-
-	/**
-	 * Returns color of arrow's border
-	 */
-	public Color getBorderColor() {
-		return fBorderColor;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ArrowTip.java b/JHotDraw/src/CH/ifa/draw/figures/ArrowTip.java
deleted file mode 100644
index a855314be..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ArrowTip.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * @(#)ArrowTip.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.io.*;
-import java.awt.*;
-
-import CH.ifa.draw.util.*;
-
-/**
- * An arrow tip line decoration.
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ArrowTip extends AbstractLineDecoration {
-
-	private double  fAngle;         // pointiness of arrow
-	private double  fOuterRadius;
-	private double  fInnerRadius;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -3459171428373823638L;
-	private int arrowTipSerializedDataVersion = 1;
-
-	public ArrowTip() {
-		this(0.40, 8, 8);  // this(0.35, 15, 12);
-	}
-
-   /**
-	* Constructs an arrow tip with the given angle and radius.
-	*/
-	public ArrowTip(double angle, double outerRadius, double innerRadius) {
-		setAngle(angle);
-		setOuterRadius(outerRadius);
-		setInnerRadius(innerRadius);
-	}
-	
-   /**
-	* Calculates the outline of an arrow tip.
-	*/
-	public Polygon outline(int x1, int y1, int x2, int y2) {
-		double dir = Math.PI/2 - Math.atan2(x2 - x1, y2 - y1);
-		return outline(x1, y1, dir);
-	}
-
-	private Polygon outline(int x, int y, double direction) {
-		Polygon shape = new Polygon();
-
-		shape.addPoint(x, y);
-		addPointRelative(shape, x, y, getOuterRadius(), direction - getAngle());
-		addPointRelative(shape, x, y, getInnerRadius(), direction);
-		addPointRelative(shape, x, y, getOuterRadius(), direction + getAngle());
-		shape.addPoint(x,y); // Closing the polygon (TEG 97-04-23)
-		return shape;
-	}
-
-	private void addPointRelative(Polygon shape, int x, int y, double radius, double angle) {
-		shape.addPoint(
-			x + (int) (radius * Math.cos(angle)),
-			y + (int) (radius * Math.sin(angle)));
-	}
-
-	/**
-	 * Stores the arrow tip to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeDouble(getAngle());
-		dw.writeDouble(getOuterRadius());
-		dw.writeDouble(getInnerRadius());
-		super.write(dw);
-	}
-
-	/**
-	 * Reads the arrow tip from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		setAngle(dr.readDouble());
-		setOuterRadius(dr.readDouble());
-		setInnerRadius(dr.readDouble());
-		super.read(dr);
-	}
-
-	/**
-	 * Sets point angle of arrow. A smaller angle leads to a pointier arrow.
-	 * The angle is measured between the arrow line and one of the points
-	 * at the side of the arrow. Thus, the total angle at the arrow tip
-	 * is the double of the angle specified.
-	 */
-	protected void setAngle(double newAngle) {
-		fAngle = newAngle;
-	}
-	
-	/**
-	 * Returns point angle of arrow. A smaller angle leads to a pointier arrow.
-	 * The angle is measured between the arrow line and one of the points
-	 * at the side of the arrow. Thus, the total angle at the arrow tip
-	 * is the double of the angle specified.
-	 */
-	protected double getAngle() {
-		return fAngle;
-	}
-
-	/**
-	 * Sets the inner radius
-	 */
-	protected void setInnerRadius(double newInnerRadius) {
-		fInnerRadius = newInnerRadius;
-	}
-
-	/**
-	 * Returns the inner radius
-	 */        
-	protected double getInnerRadius() {
-		return fInnerRadius;
-	}
-
-	/**
-	 * Sets the outer radius
-	 */
-	protected void setOuterRadius(double newOuterRadius) {
-		fOuterRadius = newOuterRadius;
-	}
-
-	/**
-	 * Returns the outer radius
-	 */
-	protected double getOuterRadius() {
-		return fOuterRadius;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/AttributeFigure.java b/JHotDraw/src/CH/ifa/draw/figures/AttributeFigure.java
deleted file mode 100644
index dbadb25f4..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/AttributeFigure.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * @(#)AttributeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-import java.awt.*;
-import java.io.*;
-
-/**
- * A figure that can keep track of an open ended set of attributes.
- * The attributes are stored in a dictionary implemented by
- * FigureAttributes.
- *
- * @see Figure
- * @see Handle
- * @see FigureAttributes
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AttributeFigure extends AbstractFigure {
-
-	/**
-	 * The attributes of a figure. Each figure can have
-	 * an open ended set of attributes. Attributes are
-	 * identified by name.
-	 * @see #getAttribute
-	 * @see #setAttribute
-	 */
-	private FigureAttributes        fAttributes;
-
-	/**
-	 * The default attributes associated with a figure.
-	 * If a figure doesn't have an attribute set, a default
-	 * value from this shared attribute set is returned.
-	 * @see #getAttribute
-	 * @see #setAttribute
-	 */
-	private static FigureAttributes fgDefaultAttributes = null;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -10857585979273442L;
-	private int attributeFigureSerializedDataVersion = 1;
-
-	protected AttributeFigure() { }
-
-	/**
-	 * Draws the figure in the given graphics. Draw is a template
-	 * method calling drawBackground followed by drawFrame.
-	 */
-	public void draw(Graphics g) {
-		Color fill = getFillColor();
-		if (!ColorMap.isTransparent(fill)) {
-			g.setColor(fill);
-			drawBackground(g);
-		}
-		Color frame = getFrameColor();
-		if (!ColorMap.isTransparent(frame)) {
-			g.setColor(frame);
-			drawFrame(g);
-		}
-	}
-
-	/**
-	 * Draws the background of the figure.
-	 * @see #draw
-	 */
-	protected void drawBackground(Graphics g) {
-	}
-
-	/**
-	 * Draws the frame of the figure.
-	 * @see #draw
-	 */
-	protected void drawFrame(Graphics g) {
-	}
-
-	/**
-	 * Gets the fill color of a figure. This is a convenience
-	 * method.
-	 * @see #getAttribute
-	 */
-	public Color getFillColor() {
-		return (Color) getAttribute(FigureAttributeConstant.FILL_COLOR);
-	}
-
-	/**
-	 * Gets the frame color of a figure. This is a convenience
-	 * method.
-	 * @see #getAttribute
-	 */
-	public Color getFrameColor() {
-		return (Color) getAttribute(FigureAttributeConstant.FRAME_COLOR);
-	}
-
-	//---- figure attributes ----------------------------------
-
-	private static void initializeAttributes() {
-		fgDefaultAttributes = new FigureAttributes();
-		fgDefaultAttributes.set(FigureAttributeConstant.FRAME_COLOR, Color.black);
-		fgDefaultAttributes.set(FigureAttributeConstant.FILL_COLOR,  new Color(0x70DB93));
-		fgDefaultAttributes.set(FigureAttributeConstant.TEXT_COLOR,  Color.black);
-		fgDefaultAttributes.set(FigureAttributeConstant.ARROW_MODE,  new Integer(0));
-		fgDefaultAttributes.set(FigureAttributeConstant.FONT_NAME,  "Helvetica");
-		fgDefaultAttributes.set(FigureAttributeConstant.FONT_SIZE,   new Integer(12));
-		fgDefaultAttributes.set(FigureAttributeConstant.FONT_STYLE,  new Integer(Font.PLAIN));
-	}
-
-	/**
-	 * Sets or adds a default value for a named attribute
-	 * @see #getAttribute
-	 */
-	public static Object setDefaultAttribute(String name, Object value) {
-		// save current value to return it
-		Object currentValue = getDefaultAttribute(name);
-
-		fgDefaultAttributes.set(FigureAttributeConstant.getConstant(name), value);
-		return currentValue;
-	}
-
-	/**
-	 * Initializes a  default value for a named attribute
-	 * The difference between this method and setDefaultAttribute is that
-	 * if the attribute is already set then it will not be changed.<BR>
-	 * The purpose is to allow more than one source requiring the attribute
-	 * to initialize it, but only the first initialization will be used.
-	 *
-	 * @see #getAttribute
-	 * @see #setDefaultAttribute
-	 */
-	public static Object initDefaultAttribute(String name, Object value) {
-		// get current value
-		Object currentValue = getDefaultAttribute(name);
-
-		// if it's already there skip the setting
-		if (currentValue != null) {
-			return currentValue;
-		}
-
-		fgDefaultAttributes.set(FigureAttributeConstant.getConstant(name), value);
-		return null;
-	}
-
-	/**
-	 * Gets a the default value for a named attribute
-	 * @see #getAttribute
-	 */
-	public static Object getDefaultAttribute(String name) {
-		if (fgDefaultAttributes == null) {
-			initializeAttributes();
-		}
-		return fgDefaultAttributes.get(FigureAttributeConstant.getConstant(name));
-	}
-
-	public static Object getDefaultAttribute(FigureAttributeConstant attributeConstant) {
-		if (fgDefaultAttributes == null) {
-			initializeAttributes();
-		}
-		return fgDefaultAttributes.get(attributeConstant);
-	}
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return getAttribute(FigureAttributeConstant.getConstant(name));
-	}
-
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		if (fAttributes != null) {
-			if (fAttributes.hasDefined(attributeConstant)) {
-				return fAttributes.get(attributeConstant);
-			}
-		}
-		return getDefaultAttribute(attributeConstant);
-	}
-
-	/**
-	 * Sets the named attribute to the new value
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		setAttribute(FigureAttributeConstant.getConstant(name), value);
-	}
-
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		if (fAttributes == null) {
-			fAttributes = new FigureAttributes();
-		}
-		fAttributes.set(attributeConstant, value);
-		changed();
-	}
-
-	/**
-	 * Stores the Figure to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		if (fAttributes == null) {
-			dw.writeString("no_attributes");
-		}
-		else {
-			dw.writeString("attributes");
-			fAttributes.write(dw);
-		}
-	}
-
-	/**
-	 * Reads the Figure from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		String s = dr.readString();
-		if (s.toLowerCase().equals("attributes")) {
-			fAttributes = new FigureAttributes();
-			fAttributes.read(dr);
-		}
-	}
-
-	private void writeObject(ObjectOutputStream o) throws IOException {
-		// Filter out Popup menu: cannot serialize any associated action-Listeners
-		// Work-around for Java-Bug: 4240860
-		Object associatedMenu = getAttribute(Figure.POPUP_MENU);
-		if (associatedMenu != null) {
-			setAttribute(Figure.POPUP_MENU, null);
-		}
-
-		o.defaultWriteObject();
-
-		if (associatedMenu != null) {
-			setAttribute(Figure.POPUP_MENU, associatedMenu);
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/BorderDecorator.java b/JHotDraw/src/CH/ifa/draw/figures/BorderDecorator.java
deleted file mode 100644
index 9dd80403e..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/BorderDecorator.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * @(#)BorderDecorator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * BorderDecorator decorates an arbitrary Figure with
- * a border.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class BorderDecorator extends DecoratorFigure {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 1205601808259084917L;
-	private int borderDecoratorSerializedDataVersion = 1;
-
-	private Point myBorderOffset;
-	private Color myBorderColor;
-	private Color myShadowColor;
-
-	public BorderDecorator() {
-	}
-
-	public BorderDecorator(Figure figure) {
-		super(figure);
-	}
-
-	/**
-	 * Performs additional initialization code before the figure is decorated
-	 * Subclasses may override this method.
-	 */
-	protected void initialize() {
-		setBorderOffset(new Point(3,3));
-	}
-
-	public void setBorderOffset(Point newBorderOffset) {
-		myBorderOffset = newBorderOffset;
-	}
-		
-	public Point getBorderOffset() {
-		if (myBorderOffset == null) {
-			return new Point(0,0);
-		}
-		else {
-			return myBorderOffset;
-		}
-	}
-
-	/**
-	 * Draws a the figure and decorates it with a border.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-		super.draw(g);
-		g.setColor(Color.white);
-		g.drawLine(r.x, r.y, r.x, r.y + r.height);
-		g.drawLine(r.x, r.y, r.x + r.width, r.y);
-		g.setColor(Color.gray);
-		g.drawLine(r.x + r.width, r.y, r.x + r.width, r.y + r.height);
-		g.drawLine(r.x , r.y + r.height, r.x + r.width, r.y + r.height);
-	}
-
-	/**
-	 * Gets the displaybox including the border.
-	 */
-	public Rectangle displayBox() {
-		Rectangle r = getDecoratedFigure().displayBox();
-		r.grow(getBorderOffset().x, getBorderOffset().y);
-		return r;
-	}
-
-	/**
-	 * Invalidates the figure extended by its border.
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-		Rectangle rect = e.getInvalidatedRectangle();
-		rect.grow(getBorderOffset().x, getBorderOffset().y);
-		super.figureInvalidated(new FigureChangeEvent(this, rect, e));
-	}
-
-	public Insets connectionInsets() {
-		Insets i = super.connectionInsets();
-		i.top -= getBorderOffset().y;
-		i.bottom -= getBorderOffset().y;
-		i.left -= getBorderOffset().x;
-		i.right -= getBorderOffset().x;
-
-		return i;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/BorderTool.java b/JHotDraw/src/CH/ifa/draw/figures/BorderTool.java
deleted file mode 100644
index 498afb490..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/BorderTool.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * @(#)BorderTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-import java.awt.event.MouseEvent;
-import java.awt.event.InputEvent;
-import java.util.List;
-
-/**
- * BorderTool decorates the clicked figure with a BorderDecorator.
- *
- * @see BorderDecorator
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class BorderTool extends ActionTool {
-
-	public BorderTool(DrawingEditor editor) {
-		super(editor);
-	}
-
-	/**
-	 * Add the touched figure to the selection of an invoke action.
-	 * Overrides ActionTool's mouseDown to allow for peeling the border
-	 * if there is one already.
-	 * This is done by CTRLing the click
-	 * @see #action
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		// if not CTRLed then proceed normally
-		if ((e.getModifiers() & InputEvent.CTRL_MASK) == 0) {
-			super.mouseDown(e, x, y);
-		}
-		else {
-			Figure target = drawing().findFigure(x, y);
-			if ((target != null) && (target != target.getDecoratedFigure())) {
-				view().addToSelection(target);
-				reverseAction(target);
-			}
-		}
-	}
-
-	/**
-	* Decorates the clicked figure with a border.
-	*/
-	public void action(Figure figure) {
-//    	Figure replaceFigure = drawing().replace(figure, new BorderDecorator(figure));
-		
-		setUndoActivity(createUndoActivity());
-		List l = CollectionsFactory.current().createList();
-		l.add(figure);
-		l.add(new BorderDecorator(figure));
-		getUndoActivity().setAffectedFigures(new FigureEnumerator(l));
-		((BorderTool.UndoActivity)getUndoActivity()).replaceAffectedFigures();
-	}
-
-	/**
-	* Peels off the border from the clicked figure.
-	*/
-	public void reverseAction(Figure figure) {
-		setUndoActivity(createUndoActivity());
-		List l = CollectionsFactory.current().createList();
-		l.add(figure);
-		l.add(((DecoratorFigure)figure).peelDecoration());
-		getUndoActivity().setAffectedFigures(new FigureEnumerator(l));
-		((BorderTool.UndoActivity)getUndoActivity()).replaceAffectedFigures();
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new BorderTool.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			getDrawingView().clearSelection();
-			return replaceAffectedFigures();
-		}
-
-		public boolean redo() {
-			if (!isRedoable()) {
-				return false;
-			}
-			getDrawingView().clearSelection();
-			return replaceAffectedFigures();
-		}
-		
-		public boolean replaceAffectedFigures() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			Figure oldFigure = fe.nextFigure();
-
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			Figure replaceFigure = fe.nextFigure();
-			
-			replaceFigure = getDrawingView().drawing().replace(oldFigure, replaceFigure);
-			List l = CollectionsFactory.current().createList();
-			l.add(replaceFigure);
-			l.add(oldFigure);
-			setAffectedFigures(new FigureEnumerator(l));
-			
-			return true;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ChopEllipseConnector.java b/JHotDraw/src/CH/ifa/draw/figures/ChopEllipseConnector.java
deleted file mode 100644
index f12059c3d..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ChopEllipseConnector.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * @(#)ChopEllipseConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Geom;
-
-/**
- * A ChopEllipseConnector locates a connection point by
- * chopping the connection at the ellipse defined by the
- * figure's display box.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ChopEllipseConnector extends ChopBoxConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -3165091511154766610L;
-
-	public ChopEllipseConnector() {
-	}
-
-	public ChopEllipseConnector(Figure owner) {
-		super(owner);
-	}
-
-	protected Point chop(Figure target, Point from) {
-		Rectangle r = target.displayBox();
-		double angle = Geom.pointToAngle(r, from);
-		return Geom.ovalAngleToPoint(r, angle);
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ConnectedTextTool.java b/JHotDraw/src/CH/ifa/draw/figures/ConnectedTextTool.java
deleted file mode 100644
index 97dbdc75e..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ConnectedTextTool.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * @(#)ConnectedTextTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Undoable;
-import java.awt.event.MouseEvent;
-
-/**
- * Tool to create new or edit existing text figures.
- * A new text figure is connected with the clicked figure.
- *
- * @see CH.ifa.draw.standard.TextHolder
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ConnectedTextTool extends TextTool {
-
-	private Figure myConnectedFigure;
-
-	public ConnectedTextTool(DrawingEditor editor, Figure prototype) {
-		super(editor, prototype);
-	}
-
-	/**
-	 * If the pressed figure is a TextHolder it can be edited otherwise
-	 * a new text figure is created.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-
-		if (getTypingTarget() != null) {
-			TextHolder textHolder = getTypingTarget();
-			setConnectedFigure(drawing().findFigureInsideWithout(x, y, textHolder.getRepresentingFigure()));
-			if ((getConnectedFigure() != null) && (textHolder != null) && (getConnectedFigure().getTextHolder() != textHolder)) {
-				textHolder.connect(getConnectedFigure().getDecoratedFigure());
-				getConnectedFigure().addDependendFigure(getAddedFigure());
-			}
-		}
-	}
-
-	protected void endEdit() {
-		super.endEdit();
-		if ((getUndoActivity() != null) && (getUndoActivity() instanceof ConnectedTextTool.UndoActivity)) {
-			((ConnectedTextTool.UndoActivity)getUndoActivity()).setConnectedFigure(getConnectedFigure());
-		}
-		else if ((getConnectedFigure() != null) && isDeleteTextFigure()) {
-			getConnectedFigure().removeDependendFigure(getAddedFigure());
-		}
-	}
-
-	protected void setConnectedFigure(Figure pressedFigure) {
-		myConnectedFigure = pressedFigure;
-	}
-
-	public Figure getConnectedFigure() {
-		return myConnectedFigure;
-	}
-
-	/**
-	 * If the pressed figure is a TextHolder it can be edited otherwise
-	 * a new text figure is created.
-	 */
-	public void activate() {
-		super.activate();
-		setConnectedFigure(null);
-	}
-
-	protected Undoable createDeleteUndoActivity() {
-		FigureTransferCommand cmd = new DeleteCommand("Delete", editor());
-		return new DeleteUndoActivity(cmd, getConnectedFigure());
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new ConnectedTextTool.UndoActivity(view(), getTypingTarget().getText());
-	}
-
-	public static class UndoActivity extends TextTool.UndoActivity {
-		private Figure myConnectedFigure;
-
-		public UndoActivity(DrawingView newDrawingView, String newOriginalText) {
-			super(newDrawingView, newOriginalText);
-		}
-
-		/*
-		 * Undo the activity
-		 * @return true if the activity could be undone, false otherwise
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-
-				if (currentFigure.getTextHolder() != null) {
-					// the text figure didn't exist before
-					if (!isValidText(getOriginalText())) {
-						currentFigure.getTextHolder().disconnect(getConnectedFigure());
-					}
-					// the text figure did exist but was remove
-					else if (!isValidText(getBackupText())) {
-						currentFigure.getTextHolder().connect(getConnectedFigure());
-					}
-				}
-			}
-
-			return true;
-		}
-
-		/*
-		 * Redo the activity
-		 * @return true if the activity could be redone, false otherwise
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					// the text figure did exist but was remove
-					if (!isValidText(getBackupText())) {
-						currentFigure.getTextHolder().disconnect(getConnectedFigure());
-					}
-					// the text figure didn't exist before
-					else if (!isValidText(getOriginalText())) {
-						currentFigure.getTextHolder().connect(getConnectedFigure());
-					}
-				}
-			}
-
-			return true;
-		}
-
-		public void setConnectedFigure(Figure newConnectedFigure) {
-			myConnectedFigure = newConnectedFigure;
-		}
-
-		public Figure getConnectedFigure() {
-			return myConnectedFigure;
-		}
-	}
-
-	/**
-	 * This class
-	 */
-	public static class DeleteUndoActivity extends DeleteCommand.UndoActivity {
-		private Figure myConnectedFigure;
-
-		public DeleteUndoActivity(FigureTransferCommand cmd, Figure newConnectedFigure) {
-			super(cmd);
-			setConnectedFigure(newConnectedFigure);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					currentFigure.getTextHolder().connect(getConnectedFigure().getDecoratedFigure());
-				}
-			}
-
-			return true;
-		}
-
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					currentFigure.getTextHolder().disconnect(getConnectedFigure().getDecoratedFigure());
-				}
-			}
-
-			return true;
-		}
-
-		public void setConnectedFigure(Figure newConnectedFigure) {
-			myConnectedFigure = newConnectedFigure;
-		}
-
-		public Figure getConnectedFigure() {
-			return myConnectedFigure;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ElbowConnection.java b/JHotDraw/src/CH/ifa/draw/figures/ElbowConnection.java
deleted file mode 100644
index 66dfd54b2..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ElbowConnection.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * @(#)ElbowConnection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.util.List;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A LineConnection that constrains a connection to
- * orthogonal lines.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ElbowConnection extends LineConnection {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 2193968743082078559L;
-	private int elbowConnectionSerializedDataVersion = 1;
-
-	public ElbowConnection() {
-		super();
-	}
-
-	public void updateConnection() {
-		super.updateConnection();
-		updatePoints();
-	}
-
-	public void layoutConnection() {
-	}
-
-	/**
-	 * Gets the handles of the figure.
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList(fPoints.size()*2);
-		handles.add(new ChangeConnectionStartHandle(this));
-		for (int i = 1; i < fPoints.size()-1; i++) {
-			handles.add(new NullHandle(this, locator(i)));
-		}
-		handles.add(new ChangeConnectionEndHandle(this));
-		for (int i = 0; i < fPoints.size()-1; i++) {
-			handles.add(new ElbowHandle(this, i));
-		}
-		return new HandleEnumerator(handles);
-	}
-
-	public Locator connectedTextLocator(Figure f) {
-		return new ElbowTextLocator();
-	}
-
-	protected void updatePoints() {
-		willChange();
-		Point start = startPoint();
-		Point end = endPoint();
-		fPoints.clear();
-		fPoints.add(start);
-
-		if (start.x == end.x || start.y == end.y) {
-			fPoints.add(end);
-		}
-		else {
-
-			Rectangle r1 = getStartConnector().owner().displayBox();
-			Rectangle r2 = getEndConnector().owner().displayBox();
-
-			int dir = Geom.direction(r1.x + r1.width/2, r1.y + r1.height/2,
-						r2.x + r2.width/2, r2.y + r2.height/2);
-			if (dir == Geom.NORTH || dir == Geom.SOUTH) {
-				fPoints.add(new Point(start.x, (start.y + end.y)/2));
-				fPoints.add(new Point(end.x, (start.y + end.y)/2));
-			}
-			else {
-				fPoints.add(new Point((start.x + end.x)/2, start.y));
-				fPoints.add(new Point((start.x + end.x)/2, end.y));
-			}
-			fPoints.add(end);
-		}
-		changed();
-	}
-}
-
-class ElbowTextLocator extends AbstractLocator {
-	public Point locate(Figure owner) {
-		Point p = owner.center();
-		return new Point(p.x, p.y-10); // hack
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ElbowHandle.java b/JHotDraw/src/CH/ifa/draw/figures/ElbowHandle.java
deleted file mode 100644
index 90c2ebdb4..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ElbowHandle.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * @(#)ElbowHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Geom;
-import java.awt.*;
-
-/**
- * A Handle to move an ElbowConnection left/right or up/down.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ElbowHandle extends AbstractHandle {
-
-	private int fSegment;
-	private int fLastX, fLastY;      // previous mouse position
-
-	public ElbowHandle(LineConnection owner, int segment) {
-		super(owner);
-		fSegment = segment;
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		fLastX = x;
-		fLastY = y;
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		LineConnection line = ownerConnection();
-		Point p1 = line.pointAt(fSegment);
-		Point p2 = line.pointAt(fSegment+1);
-		int ddx = x - fLastX;
-		int ddy = y - fLastY;
-
-		Point np1;
-		Point np2;
-		if (isVertical(p1, p2)) {
-			int cx = constrainX(p1.x + ddx);
-			np1 = new Point(cx, p1.y);
-			np2 = new Point(cx, p2.y);
-		}
-		else {
-			int cy = constrainY(p1.y + ddy);
-			np1 = new Point(p1.x, cy);
-			np2 = new Point(p2.x, cy);
-		}
-		line.setPointAt(np1, fSegment);
-		line.setPointAt(np2, fSegment+1);
-		fLastX = x;
-		fLastY = y;
-	}
-
-	private boolean isVertical(Point p1, Point p2) {
-		return p1.x == p2.x;
-	}
-
-	public Point locate() {
-		LineConnection line = ownerConnection();
-		int segment = Math.min(fSegment, line.pointCount()-2);
-		Point p1 = line.pointAt(segment);
-		Point p2 = line.pointAt(segment+1);
-		return new Point((p1.x + p2.x)/2, (p1.y + p2.y)/2);
-	}
-
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	private int constrainX(int x) {
-		LineConnection line = ownerConnection();
-		Figure startFigure = line.getStartConnector().owner();
-		Figure endFigure = line.getEndConnector().owner();
-		Rectangle start = startFigure.displayBox();
-		Rectangle end = endFigure.displayBox();
-		Insets i1 = startFigure.connectionInsets();
-		Insets i2 = endFigure.connectionInsets();
-
-		int r1x, r1width, r2x, r2width;
-		r1x = start.x + i1.left;
-		r1width = start.width - i1.left - i1.right-1;
-
-		r2x = end.x + i2.left;
-		r2width = end.width - i2.left - i2.right-1;
-
-		if (fSegment == 0) {
-			x = Geom.range(r1x, r1x + r1width, x);
-		}
-		if (fSegment == line.pointCount()-2) {
-			x = Geom.range(r2x, r2x + r2width, x);
-		}
-		return x;
-	}
-
-	private int constrainY(int y) {
-		LineConnection line = ownerConnection();
-		Figure startFigure = line.getStartConnector().owner();
-		Figure endFigure = line.getEndConnector().owner();
-		Rectangle start = startFigure.displayBox();
-		Rectangle end = endFigure.displayBox();
-		Insets i1 = startFigure.connectionInsets();
-		Insets i2 = endFigure.connectionInsets();
-
-		int r1y, r1height, r2y, r2height;
-		r1y = start.y + i1.top;
-		r1height = start.height - i1.top - i1.bottom-1;
-		r2y = end.y + i2.top;
-		r2height = end.height - i2.top - i2.bottom-1;
-
-		if (fSegment == 0) {
-			y = Geom.range(r1y, r1y + r1height, y);
-		}
-		if (fSegment == line.pointCount()-2) {
-			y = Geom.range(r2y, r2y + r2height, y);
-		}
-		return y;
-	}
-
-	private LineConnection ownerConnection() {
-		return (LineConnection)owner();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/EllipseFigure.java b/JHotDraw/src/CH/ifa/draw/figures/EllipseFigure.java
deleted file mode 100644
index c9f70e6ed..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/EllipseFigure.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * @(#)EllipseFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.io.IOException;
-import java.util.List;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * An ellipse figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class EllipseFigure extends AttributeFigure {
-
-	private Rectangle   fDisplayBox;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -6856203289355118951L;
-	private int ellipseFigureSerializedDataVersion = 1;
-
-	public EllipseFigure() {
-		this(new Point(0,0), new Point(0,0));
-	}
-
-	public EllipseFigure(Point origin, Point corner) {
-		basicDisplayBox(origin,corner);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x,y);
-	}
-
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-        /*
-         * JP, 25-May-03: Changed from (width-1, height-1) to (width, height),
-         * because figures were not filled completely (JDK 1.4.x). Might invalidate
-         * fix for #661878. If the problem is JDK-dependant, maybe the JDK version
-         * should be taken into account here?
-         */
-		g.fillOval(r.x, r.y, r.width, r.height);
-	}
-
-	public void drawFrame(Graphics g) {
-		Rectangle r = displayBox();
-		g.drawOval(r.x, r.y, r.width-1, r.height-1);
-	}
-
-	public Insets connectionInsets() {
-		Rectangle r = fDisplayBox;
-		int cx = r.width/2;
-		int cy = r.height/2;
-		return new Insets(cy, cx, cy, cx);
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new ChopEllipseConnector(this);
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/FigureAttributes.java b/JHotDraw/src/CH/ifa/draw/figures/FigureAttributes.java
deleted file mode 100644
index 732a374be..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/FigureAttributes.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * @(#)FigureAttributes.java
- *
- * Project:     JHotdraw - a GUI framework for technical drawings
- *              http://www.jhotdraw.org
- *              http://jhotdraw.sourceforge.net
- * Copyright:   � by the original author(s) and all contributors
- * License:     Lesser GNU Public License (LGPL)
- *              http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-
-import java.awt.Color;
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Map;
-import java.util.Iterator;
-
-/**
- * A container for a figure's attributes. The attributes are stored
- * as key/value pairs.
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class   FigureAttributes
-		extends Object
-		implements Cloneable, Serializable {
-
-	private Map fMap;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -6886355144423666716L;
-	private int figureAttributesSerializedDataVersion = 1;
-
-	/**
-	 * Constructs the FigureAttributes.
-	 */
-	public FigureAttributes() {
-		fMap = CollectionsFactory.current().createMap();
-	}
-
-	/**
-	 * Gets the attribute with the given name.
-	 * @return attribute or null if the key is not defined
-	 */
-	public Object get(FigureAttributeConstant attributeConstant) {
-		return fMap.get(attributeConstant);
-	}
-
-	/**
-	 * Sets the attribute with the given name and
-	 * overwrites its previous value.
-	 */
-	public void set(FigureAttributeConstant attributeConstant, Object value) {
-		if (value != null) {
-			fMap.put(attributeConstant, value);
-		}
-		else {
-			fMap.remove(attributeConstant);
-		}
-	}
-
-	/**
-	 * Tests if an attribute is defined.
-	 */
-	public boolean hasDefined(FigureAttributeConstant attributeConstant) {
-		return fMap.containsKey(attributeConstant);
-	}
-
-	/**
-	 * Clones the attributes.
-	 */
-   public Object clone() {
-		try {
-			FigureAttributes a = (FigureAttributes) super.clone();
-			a.fMap = CollectionsFactory.current().createMap(fMap);
-			return a;
-		}
-		catch (CloneNotSupportedException e) {
-			throw new InternalError();
-		}
-	}
-
-	/**
-	 * Reads the attributes from a StorableInput.
-	 * FigureAttributes store the following types directly:
-	 * Color, Boolean, String, Int. Other attribute types
-	 * have to implement the Storable interface or they
-	 * have to be wrapped by an object that implements Storable.
-	 * @see Storable
-	 * @see #write
-	 */
-	public void read(StorableInput dr) throws IOException {
-		String s = dr.readString();
-		if (!s.toLowerCase().equals("attributes")) {
-			throw new IOException("Attributes expected");
-		}
-
-		fMap = CollectionsFactory.current().createMap();
-		int size = dr.readInt();
-		for (int i=0; i<size; i++) {
-			String key = dr.readString();
-			String valtype = dr.readString();
-			Object val = null;
-			if (valtype.equals("Color")) {
-				val = new Color(dr.readInt(), dr.readInt(), dr.readInt());
-			}
-			else if (valtype.equals("Boolean")) {
-				val = new Boolean(dr.readString());
-			}
-			else if (valtype.equals("String")) {
-				val = dr.readString();
-			}
-			else if (valtype.equals("Int")) {
-				val = new Integer(dr.readInt());
-			}
-			else if (valtype.equals("Storable")) {
-				val = dr.readStorable();
-			}
-			else if (valtype.equals(Figure.POPUP_MENU)) {
-				// read String but don't store it
-				continue;
-			}
-			else if (valtype.equals("UNKNOWN")) {
-				continue;
-			}
-			// try to get defined constant
-			FigureAttributeConstant attributeConstant = FigureAttributeConstant.getConstant(key);
-			set(attributeConstant, val);
-		}
-	}
-
-	/**
-	 * Writes the attributes to a StorableInput.
-	 * FigureAttributes store the following types directly:
-	 * Color, Boolean, String, Int. Other attribute types
-	 * have to implement the Storable interface or they
-	 * have to be wrapped by an object that implements Storable.
-	 * @see Storable
-	 * @see #write
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeString("attributes");
-
-		dw.writeInt(fMap.size());   // number of attributes
-		Iterator iter = fMap.keySet().iterator();
-		while (iter.hasNext()) {
-			FigureAttributeConstant fac = (FigureAttributeConstant)iter.next();
-			String attributeName = fac.getName();
-			Object attributeValue = fMap.get(fac);
-
-			dw.writeString(attributeName);
-
-			if (attributeValue instanceof String) {
-				dw.writeString("String");
-				dw.writeString((String)attributeValue);
-			}
-			else if (attributeValue instanceof Color) {
-				writeColor(dw, "Color", (Color)attributeValue);
-			}
-			else if (attributeValue instanceof Boolean) {
-				dw.writeString("Boolean");
-				if (((Boolean)attributeValue).booleanValue()) {
-					dw.writeString("TRUE");
-				}
-				else {
-					dw.writeString("FALSE");
-				}
-			}
-			else if (attributeValue instanceof Integer) {
-				dw.writeString("Int");
-				dw.writeInt(((Integer)attributeValue).intValue());
-			}
-			else if (attributeValue instanceof Storable) {
-				dw.writeString("Storable");
-				dw.writeStorable((Storable)attributeValue);
-			}
-			else if (attributeValue instanceof javax.swing.JPopupMenu) {
-				dw.writeString(Figure.POPUP_MENU);
-			}
-			else {
-				System.err.println("Unknown attribute: " + attributeValue);
-				dw.writeString("UNKNOWN");
-			}
-		}
-	}
-
-	public static void writeColor(StorableOutput dw, String colorName, Color color) {
-	   if (color != null) {
-			dw.writeString(colorName);
-			dw.writeInt(color.getRed());
-			dw.writeInt(color.getGreen());
-			dw.writeInt(color.getBlue());
-		}
-	}
-
-	public static Color readColor(StorableInput dr) throws IOException {
-		return new Color(dr.readInt(), dr.readInt(), dr.readInt());
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/FontSizeHandle.java b/JHotDraw/src/CH/ifa/draw/figures/FontSizeHandle.java
deleted file mode 100644
index 2248b3e09..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/FontSizeHandle.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * @(#)FontSizeHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * A Handle to change the font size by direct manipulation.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class FontSizeHandle extends LocatorHandle {
-
-	public FontSizeHandle(Figure owner, Locator l) {
-		super(owner, l);
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		TextFigure textOwner = (TextFigure) owner();
-
-		FontSizeHandle.UndoActivity activity = (FontSizeHandle.UndoActivity)getUndoActivity();
-		int newSize = activity.getFont().getSize() + y-anchorY;
-		textOwner.setFont(new Font(activity.getFont().getName(), activity.getFont().getStyle(), newSize));
-	}
-
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		TextFigure textOwner = (TextFigure) owner();
-		FontSizeHandle.UndoActivity activity = (FontSizeHandle.UndoActivity)getUndoActivity();
-		// there has been no change so there is nothing to undo
-		if (textOwner.getFont().getSize() == activity.getOldFontSize()) {
-			setUndoActivity(null);
-		}
-		else {
-			activity.setFont(textOwner.getFont());
-		}
-	}
-
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		TextFigure textOwner = (TextFigure)owner();
-		return new FontSizeHandle.UndoActivity(newView, textOwner.getFont());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Font myFont;
-		private int  myOldFontSize;
-		
-		public UndoActivity(DrawingView newView, Font newFont) {
-			super(newView);
-			setFont(newFont);
-			setOldFontSize(getFont().getSize());
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			swapFont();
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-			swapFont();
-			return true;
-		}
-
-		protected void swapFont() {
-			setOldFontSize(replaceFontSize());
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				((TextFigure)fe.nextFigure()).setFont(getFont());
-			}
-		}
-		
-		private int replaceFontSize() {
-			int tempFontSize = getFont().getSize();
-			setFont(new Font(getFont().getName(), getFont().getStyle(), getOldFontSize()));
-			return tempFontSize;
-		}		
-		protected void setFont(Font newFont) {
-			myFont = newFont;
-		}
-		
-		public Font getFont() {
-			return myFont;
-		}
-		
-		protected void setOldFontSize(int newOldFontSize) {
-			myOldFontSize = newOldFontSize;
-		}
-		
-		public int getOldFontSize() {
-			return myOldFontSize;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/GroupCommand.java b/JHotDraw/src/CH/ifa/draw/figures/GroupCommand.java
deleted file mode 100644
index 4635759ae..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/GroupCommand.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)GroupCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-import java.util.List;
-
-/**
- * Command to group the selection into a GroupFigure.
- *
- * @see GroupFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class GroupCommand extends AbstractCommand {
-
-   /**
-	 * Constructs a group command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public GroupCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(view().selection());
-		((GroupCommand.UndoActivity)getUndoActivity()).groupFigures();
-		view().checkDamage();
-	}
-
-	public boolean isExecutableWithView() {
-		return view().selectionCount() > 1;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new GroupCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-
-			// orphan group figure(s)
-			getDrawingView().drawing().orphanAll(getAffectedFigures());
-
-			// create a new collection with the grouped figures as elements
-			List affectedFigures = CollectionsFactory.current().createList();
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				// add contained figures
-				getDrawingView().drawing().addAll(currentFigure.figures());
-				getDrawingView().addToSelectionAll(currentFigure.figures());
-
-				FigureEnumeration groupedFigures = currentFigure.figures();
-				while (groupedFigures.hasNextFigure()) {
-					affectedFigures.add(groupedFigures.nextFigure());
-				}
-			}
-
-			setAffectedFigures(new FigureEnumerator(affectedFigures));
-
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				groupFigures();
-				return true;
-			}
-
-			return false;
-		}
-
-		public void groupFigures() {
-			getDrawingView().drawing().orphanAll(getAffectedFigures());
-			getDrawingView().clearSelection();
-
-			// add new group figure instead
-			GroupFigure group = new GroupFigure();
-			group.addAll(getAffectedFigures());
-
-			Figure figure = getDrawingView().drawing().add(group);
-			getDrawingView().addToSelection(figure);
-
-			// create a new collection with the new group figure as element
-			List affectedFigures = CollectionsFactory.current().createList();
-			affectedFigures.add(figure);
-			setAffectedFigures(new FigureEnumerator(affectedFigures));
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/GroupFigure.java b/JHotDraw/src/CH/ifa/draw/figures/GroupFigure.java
deleted file mode 100644
index 12ff7a520..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/GroupFigure.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * @(#)GroupFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.util.List;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.CollectionsFactory;
-
-/**
- * A Figure that groups a collection of figures.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class GroupFigure extends CompositeFigure {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 8311226373023297933L;
-	private int groupFigureSerializedDataVersion = 1;
-
-   /**
-	* GroupFigures cannot be connected
-	*/
-	public boolean canConnect() {
-		return false;
-	}
-
-   /**
-	* Gets the display box. The display box is defined as the union
-	* of the contained figures.
-	*/
-	public Rectangle displayBox() {
-		FigureEnumeration fe = figures();
-		Rectangle r = fe.nextFigure().displayBox();
-
-		while (fe.hasNextFigure()) {
-			r.add(fe.nextFigure().displayBox());
-		}
-		return r;
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		// do nothing
-		// we could transform all components proportionally
-	}
-
-	public FigureEnumeration decompose() {
-		return new FigureEnumerator(fFigures);
-	}
-
-   /**
-	* Gets the handles for the GroupFigure.
-	*/
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new GroupHandle(this, RelativeLocator.northWest()));
-		handles.add(new GroupHandle(this, RelativeLocator.northEast()));
-		handles.add(new GroupHandle(this, RelativeLocator.southWest()));
-		handles.add(new GroupHandle(this, RelativeLocator.southEast()));
-		return new HandleEnumerator(handles);
-	}
-
-   /**
-	* Sets the attribute of all the contained figures.
-	* @deprecated see setAttribute(FigureAttributeConstant,Object)
-	*/
-	public void setAttribute(String name, Object value) {
-		super.setAttribute(name, value);
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().setAttribute(name, value);
-		}
-	}
-
-	/**
-	 * Sets the attribute of the GroupFigure as well as all contained Figures.
-	 */
-	public void setAttribute(FigureAttributeConstant fac, Object object){
-		super.setAttribute(fac, object);
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().setAttribute(fac, object);
-		}		
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/GroupHandle.java b/JHotDraw/src/CH/ifa/draw/figures/GroupHandle.java
deleted file mode 100644
index dfa1ff804..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/GroupHandle.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * @(#)GroupHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.NullHandle;
-
-/**
- * A Handle for a GroupFigure.
- *
- * @version <$CURRENT_VERSION$>
- */
-final class GroupHandle extends NullHandle {
-
-	public GroupHandle(Figure owner, Locator locator) {
-		super(owner, locator);
-	}
-
-	/**
-	 * Draws the Group handle.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-		r.grow(-1, -1);
-		g.setColor(Color.white);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ImageFigure.java b/JHotDraw/src/CH/ifa/draw/figures/ImageFigure.java
deleted file mode 100644
index 54c586fb2..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ImageFigure.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * @(#)ImageFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.io.*;
-import java.util.List;
-import java.awt.image.ImageObserver;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A Figure that shows an Image.
- * Images shown by an image figure are shared by using the Iconkit.
- *
- * @see Iconkit
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ImageFigure
-		extends AttributeFigure implements ImageObserver {
-
-	private String   fFileName;
-	private transient Image fImage;
-	private Rectangle fDisplayBox;
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 148012030121282439L;
-	private int imageFigureSerializedDataVersion = 1;
-
-	public ImageFigure() {
-		fFileName = null;
-		fImage = null;
-		fDisplayBox = null;
-	}
-
-	public ImageFigure(Image image, String fileName, Point origin) {
-		fFileName = fileName;
-		fImage = image;
-		// fix for bug-id: 593080 (ImageFigure calculates the image rectangle wrongly)
-		basicDisplayBox(origin, new Point(origin.x + fImage.getWidth(this), origin.y + fImage.getHeight(this)));
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x,y);
-	}
-
-	public void draw(Graphics g) {
-		if (fImage == null) {
-			fImage = Iconkit.instance().getImage(fFileName);
-		}
-		if (fImage != null) {
-			g.drawImage(fImage, fDisplayBox.x, fDisplayBox.y, fDisplayBox.width, fDisplayBox.height, this);
-		}
-		else {
-			drawGhost(g);
-		}
-	}
-
-	private void drawGhost(Graphics g) {
-		g.setColor(Color.gray);
-		g.fillRect(fDisplayBox.x, fDisplayBox.y, fDisplayBox.width, fDisplayBox.height);
-	}
-
-   /**
-	* Handles asynchroneous image updates.
-	*/
-	public boolean imageUpdate(Image img, int flags, int x, int y, int w, int h) {
-		if ((flags & (FRAMEBITS|ALLBITS)) != 0) {
-			invalidate();
-			if (listener() != null) {
-				listener().figureRequestUpdate(new FigureChangeEvent(this));
-			}
-		}
-		return (flags & (ALLBITS|ABORT)) == 0;
-	}
-
-	/**
-	 * Releases a figure's resources. Release is called when
-	 * a figure is removed from a drawing. Informs the listeners that
-	 * the figure is removed by calling figureRemoved.
-	 */
-	public void release() {
-		fImage.flush();
-	}
-
-   /**
-	* Writes the ImageFigure to a StorableOutput. Only a reference to the
-	* image, that is its pathname is saved.
-	*/
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-		dw.writeString(fFileName);
-	}
-
-   /**
-	* Reads the ImageFigure from a StorableInput. It registers the
-	* referenced figure to be loaded from the Iconkit.
-	* @see Iconkit#registerImage
-	*/
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-		fFileName = dr.readString();
-		Iconkit.instance().registerImage(fFileName);
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-		Iconkit.instance().registerImage(fFileName);
-		fImage = null;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/InsertImageCommand.java b/JHotDraw/src/CH/ifa/draw/figures/InsertImageCommand.java
deleted file mode 100644
index 8f3b3a9c4..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/InsertImageCommand.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * @(#)InsertImageCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-import java.awt.*;
-import java.lang.ref.WeakReference;
-
-/**
- * Command to insert a named image.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class InsertImageCommand extends AbstractCommand {
-
-	private String  myImageName;
-
-	/**
-	 * Constructs an insert image command.
-	 * @param name the command name
-	 * @param newImageName the pathname of the image
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public InsertImageCommand(String name, String newImageName, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-		myImageName = newImageName;
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		((InsertImageCommand.UndoActivity)getUndoActivity()).insertImage();
-		view().checkDamage();
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new InsertImageCommand.UndoActivity(view(), myImageName);
-	}
-
-	public class UndoActivity extends UndoableAdapter {
-
-		/**
-		 * Use weak reference so if the command is the last one which references
-		 * the ImageFigure then it might be garbage collected. Usually, the ImageFigure
-		 * is referenced from the drawing it is inserted and might be only garbage
-		 * collected after an undo operation (which removes the ImageFigure from
-		 * the drawing). If it has been garbage collected but is requested again
-		 * (e.g. during a redo operation) it is restored if possible.
-		 */
-		WeakReference	myAffectedImageFigure;
-		private String  myAffectedImageName;
-		
-		UndoActivity(DrawingView newDrawingView, String newAffectedImageName) {
-			super(newDrawingView);
-			myAffectedImageName = newAffectedImageName;
-			setUndoable(true);
-			setRedoable(true);			
-		}
-		
-		protected void setImageFigure(ImageFigure newImageFigure) {
-			myAffectedImageFigure = new WeakReference(newImageFigure);
-		}
-		
-		protected ImageFigure getImageFigure() {
-			// load image if it has not been loaded so far
-			if ((myAffectedImageFigure == null) || (myAffectedImageFigure.get() == null)) {
-				// ugly cast to component, but AWT wants a Component instead of an ImageObserver...
-				Image image = Iconkit.instance().registerAndLoadImage(
-					(Component)getDrawingView(), myAffectedImageName);
-				setImageFigure(new ImageFigure(
-					image, myAffectedImageName, getDrawingView().lastClick()));
-			}
-	
-			return (ImageFigure)myAffectedImageFigure.get();
-		}
-	
-		public boolean undo() {
-			if (super.undo()) {
-				getDrawingView().clearSelection();
-	
-				getDrawingView().drawing().orphan(getImageFigure());
-	
-				return true;
-			}
-			
-			return false;
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				insertImage();
-				return true;
-			}
-			
-			return false;
-		}
-
-		protected void insertImage() {
-			getDrawingView().add(getImageFigure());
-			getDrawingView().clearSelection();
-			getDrawingView().addToSelection(getImageFigure());
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/LineConnection.java b/JHotDraw/src/CH/ifa/draw/figures/LineConnection.java
deleted file mode 100644
index 0364673b9..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/LineConnection.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * @(#)LineConnection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.util.List;
-import java.io.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A LineConnection is a standard implementation of the
- * ConnectionFigure interface. The interface is implemented with PolyLineFigure.
- *
- * @see ConnectionFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class LineConnection extends PolyLineFigure implements ConnectionFigure {
-
-	protected Connector    myStartConnector;
-	protected Connector    myEndConnector;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 6883731614578414801L;
-	private int lineConnectionSerializedDataVersion = 1;
-
-	/**
-	 * Constructs a LineConnection. A connection figure has
-	 * an arrow decoration at the start and end.
-	 */
-	public LineConnection() {
-		super(4);
-		setStartDecoration(new ArrowTip());
-		setEndDecoration(new ArrowTip());
-	}
-
-	/**
-	 * Tests whether a figure can be a connection target.
-	 * ConnectionFigures cannot be connected and return false.
-	 */
-	public boolean canConnect() {
-		return false;
-	}
-
-	/**
-	 * Ensures that a connection is updated if the connection
-	 * was moved.
-	 */
-	protected void basicMoveBy(int dx, int dy) {
-		// don't move the start and end point since they are connected
-		for (int i = 1; i < fPoints.size()-1; i++) {
-			pointAt(i).translate(dx, dy);
-		}
-
-		updateConnection(); // make sure that we are still connected
-	}
-
-	/**
-	 * Sets the start figure of the connection.
-	 */
-	public void connectStart(Connector newStartConnector) {
-		setStartConnector(newStartConnector);
-		if (newStartConnector != null) {
-			startFigure().addDependendFigure(this);
-			startFigure().addFigureChangeListener(this);
-		}
-	}
-
-	/**
-	 * Sets the end figure of the connection.
-	 */
-	public void connectEnd(Connector newEndConnector) {
-		setEndConnector(newEndConnector);
-		if (newEndConnector != null) {
-			endFigure().addDependendFigure(this);
-			endFigure().addFigureChangeListener(this);
-			handleConnect(startFigure(), endFigure());
-		}
-	}
-
-	/**
-	 * Disconnects the start figure.
-	 */
-	public void disconnectStart() {
-		startFigure().removeFigureChangeListener(this);
-		startFigure().removeDependendFigure(this);
-		setStartConnector(null);
-	}
-
-	/**
-	 * Disconnects the end figure.
-	 */
-	public void disconnectEnd() {
-		handleDisconnect(startFigure(), endFigure());
-		endFigure().removeFigureChangeListener(this);
-		endFigure().removeDependendFigure(this);
-		setEndConnector(null);
-	}
-
-	/**
-	 * Tests whether a connection connects the same figures
-	 * as another ConnectionFigure.
-	 */
-	public boolean connectsSame(ConnectionFigure other) {
-		return other.getStartConnector() == getStartConnector()
-			&& other.getEndConnector() == getEndConnector();
-	}
-
-	/**
-	 * Handles the disconnection of a connection.
-	 * Override this method to handle this event.
-	 */
-	protected void handleDisconnect(Figure start, Figure end) {}
-
-	/**
-	 * Handles the connection of a connection.
-	 * Override this method to handle this event.
-	 */
-	protected void handleConnect(Figure start, Figure end) {}
-
-	/**
-	 * Gets the start figure of the connection.
-	 */
-	public Figure startFigure() {
-		if (getStartConnector() != null) {
-			return getStartConnector().owner();
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the end figure of the connection.
-	 */
-	public Figure endFigure() {
-		if (getEndConnector() != null) {
-			return getEndConnector().owner();
-		}
-		return null;
-	}
-
-	protected void setStartConnector(Connector newStartConnector) {
-		myStartConnector = newStartConnector;
-	}
-
-	/**
-	 * Gets the start figure of the connection.
-	 */
-	public Connector getStartConnector() {
-		return myStartConnector;
-	}
-
-	protected void setEndConnector(Connector newEndConnector) {
-		myEndConnector = newEndConnector;
-	}
-
-	/**
-	 * Gets the end figure of the connection.
-	 */
-	public Connector getEndConnector() {
-		return myEndConnector;
-	}
-
-	/**
-	 * Tests whether two figures can be connected.
-	 */
-	public boolean canConnect(Figure start, Figure end) {
-		return true;
-	}
-
-	/**
-	 * Sets the start point.
-	 */
-	public void startPoint(int x, int y) {
-		willChange();
-		if (fPoints.size() == 0) {
-			fPoints.add(new Point(x, y));
-		}
-		else {
-			fPoints.set(0, new Point(x, y));
-		}
-		changed();
-	}
-
-	/**
-	 * Sets the end point.
-	 */
-	public void endPoint(int x, int y) {
-		willChange();
-		if (fPoints.size() < 2) {
-			fPoints.add(new Point(x, y));
-		}
-		else {
-			fPoints.set(fPoints.size()-1, new Point(x, y));
-		}
-		changed();
-	}
-
-	/**
-	 * Gets the start point.
-	 */
-	public Point startPoint() {
-		Point p = pointAt(0);
-		return new Point(p.x, p.y);
-	}
-
-	/**
-	 * Gets the end point.
-	 */
-	public Point endPoint() {
-		if (fPoints.size() > 0) {
-			Point p = pointAt(fPoints.size()-1);
-			return new Point(p.x, p.y);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Gets the handles of the figure. It returns the normal
-	 * PolyLineHandles but adds ChangeConnectionHandles at the
-	 * start and end.
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList(fPoints.size());
-		handles.add(new ChangeConnectionStartHandle(this));
-		for (int i = 1; i < fPoints.size()-1; i++) {
-			handles.add(new PolyLineHandle(this, locator(i), i));
-		}
-		handles.add(new ChangeConnectionEndHandle(this));
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * Sets the point and updates the connection.
-	 */
-	public void setPointAt(Point p, int i) {
-		super.setPointAt(p, i);
-		layoutConnection();
-	}
-
-	/**
-	 * Inserts the point and updates the connection.
-	 */
-	public void insertPointAt(Point p, int i) {
-		super.insertPointAt(p, i);
-		layoutConnection();
-	}
-
-	/**
-	 * Removes the point and updates the connection.
-	 */
-	public void removePointAt(int i) {
-		super.removePointAt(i);
-		layoutConnection();
-	}
-
-	/**
-	 * Updates the connection.
-	 */
-	public void updateConnection() {
-		if (getStartConnector() != null) {
-			Point start = getStartConnector().findStart(this);
-
-			if (start != null) {
-				startPoint(start.x, start.y);
-			}
-		}
-		if (getEndConnector() != null) {
-			Point end = getEndConnector().findEnd(this);
-
-			if (end != null) {
-				endPoint(end.x, end.y);
-			}
-		}
-	}
-
-	/**
-	 * Lays out the connection. This is called when the connection
-	 * itself changes. By default the connection is recalculated
-	 */
-	public void layoutConnection() {
-		updateConnection();
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-		updateConnection();
-	}
-
-	public void figureRemoved(FigureChangeEvent e) {
-	}
-
-	public void figureRequestRemove(FigureChangeEvent e) {
-	}
-
-	public void figureInvalidated(FigureChangeEvent e) {
-	}
-
-	public void figureRequestUpdate(FigureChangeEvent e) {
-	}
-
-	public void release() {
-		super.release();
-		handleDisconnect(startFigure(), endFigure());
-		if (getStartConnector() != null) {
-			startFigure().removeFigureChangeListener(this);
-			startFigure().removeDependendFigure(this);
-		}
-		if (getEndConnector() != null) {
-			endFigure().removeFigureChangeListener(this);
-			endFigure().removeDependendFigure(this);
-		}
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getStartConnector());
-		dw.writeStorable(getEndConnector());
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		Connector start = (Connector)dr.readStorable();
-		if (start != null) {
-			connectStart(start);
-		}
-		Connector end = (Connector)dr.readStorable();
-		if (end != null) {
-			connectEnd(end);
-		}
-		if ((start != null) && (end != null)) {
-			updateConnection();
-		}
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		if (getStartConnector() != null) {
-			connectStart(getStartConnector());
-		}
-		if (getEndConnector() != null) {
-			connectEnd(getEndConnector());
-		}
-	}
-
-	public void visit(FigureVisitor visitor) {
-		visitor.visitFigure(this);
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#removeFromContainer(CH.ifa.draw.framework.FigureChangeListener)
-	 */
-	public void removeFromContainer(FigureChangeListener c) {
-		super.removeFromContainer(c);
-		release();
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/LineDecoration.java b/JHotDraw/src/CH/ifa/draw/figures/LineDecoration.java
deleted file mode 100644
index 09567f609..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/LineDecoration.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * @(#)LineDecoration.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.util.Storable;
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * Decorate the start or end point of a line or poly line figure.
- * LineDecoration is the base class for the different line decorations.
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface LineDecoration
-				extends Storable, Cloneable, Serializable {
-
-	/**
-	 * Draws the decoration in the direction specified by the two points.
-	 */
-	public void draw(Graphics g, int x1, int y1, int x2, int y2);
-
-	/**
-	 * @return the display box of a LineDecoration.
-	 */
-	public Rectangle displayBox();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/LineFigure.java b/JHotDraw/src/CH/ifa/draw/figures/LineFigure.java
deleted file mode 100644
index 335a9c374..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/LineFigure.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * @(#)LineFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-
-/**
- * A line figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class LineFigure extends PolyLineFigure {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 511503575249212371L;
-	private int lineFigureSerializedDataVersion = 1;
-
-	/**
-	 * Constructs a LineFigure with both start and end set to Point(0,0).
-	 */
-	public LineFigure() {
-		addPoint(0, 0);
-		addPoint(0, 0);
-	}
-
-	/**
-	 * Gets a copy of the start point.
-	 */
-	public Point startPoint() {
-		return pointAt(0);
-	}
-
-	/**
-	 * Gets a copy of the end point.
-	 */
-	public Point endPoint() {
-		return pointAt(1);
-	}
-
-	/**
-	 * Sets the start point.
-	 */
-	public void  startPoint(int x, int y) {
-		setPointAt(new Point(x,y), 0);
-	}
-
-	/**
-	 * Sets the end point.
-	 */
-	public void  endPoint(int x, int y) {
-		setPointAt(new Point(x,y), 1);
-	}
-
-	/**
-	 * Sets the start and end point.
-	 */
-	public void setPoints(Point start, Point end) {
-		setPointAt(start, 0);
-		setPointAt(end, 1);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		setPoints(origin, corner);
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/NullConnector.java b/JHotDraw/src/CH/ifa/draw/figures/NullConnector.java
deleted file mode 100644
index 41f1a998b..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/NullConnector.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * @(#)Connector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.standard.AbstractConnector;
-import CH.ifa.draw.framework.Figure;
-
-public class NullConnector extends AbstractConnector {
-	// AbstractConnector implements already all methods but cannot be instantiated
-
-	private NullConnector() {
-		// do nothing: for JDO-compliance only
-	}
-
-	public NullConnector(Figure owner) {
-		super(owner);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/NullFigure.java b/JHotDraw/src/CH/ifa/draw/figures/NullFigure.java
deleted file mode 100644
index 408babdff..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/NullFigure.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * @(#)LineConnection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.FigureEnumerator;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-import CH.ifa.draw.standard.AbstractFigure;
-import CH.ifa.draw.standard.HandleEnumerator;
-
-import java.awt.*;
-
-/**
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class NullFigure extends AbstractFigure {
-
-	private Rectangle myDisplayBox;
-
-	/**
-	 * Moves the figure. This is the
-	 * method that subclassers override. Clients usually
-	 * call displayBox.
-	 * @see #moveBy
-	 */
-	protected void basicMoveBy(int dx, int dy) {
-		myDisplayBox.translate(dx, dy);
-	}
-
-	/**
-	 * Changes the display box of a figure. This method is
-	 * always implemented in figure subclasses.
-	 * It only changes
-	 * the displaybox and does not announce any changes. It
-	 * is usually not called by the client. Clients typically call
-	 * displayBox to change the display box.
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		myDisplayBox = new Rectangle(origin);
-		myDisplayBox.add(corner);
-	}
-
-	/**
-	 * Gets the display box of a figure
-	 * @see #basicDisplayBox
-	 */
-	public Rectangle displayBox() {
-		return new Rectangle(myDisplayBox);
-	}
-
-	/**
-	 * Draws the figure.
-	 * @param g the Graphics to draw into
-	 */
-	public void draw(Graphics g) {
-		// A NullFigure cannot be drawn: it has no graphical representation
-	}
-
-	/**
-	 * Returns the handles used to manipulate
-	 * the figure. Handles is a Factory Method for
-	 * creating handle objects.
-	 *
-	 * @return an type-safe iterator of handles
-	 * @see Handle
-	 */
-	public HandleEnumeration handles() {
-		return HandleEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Checks if the Figure should be considered as empty.
-	 */
-	public boolean isEmpty() {
-		return true;
-	}
-
-	/**
-	 * Returns an Enumeration of the figures contained in this figure
-	 */
-	public FigureEnumeration figures() {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Returns the figure that contains the given point.
-	 */
-	public Figure findFigureInside(int x, int y) {
-		// A NullFigure does not contain other figures
-		return null;
-	}
-
-	/**
-	 * Returns a Clone of this figure
-	 */
-	public Object clone() {
-		return super.clone();
-	}
-
-	/**
-	 * Checks whether the given figure is contained in this figure.
-	 */
-	public boolean includes(Figure figure) {
-		// A NullFigure does not contain another figure
-		return false;
-	}
-
-	/**
-	 * Decomposes a figure into its parts. A figure is considered
-	 * as a part of itself.
-	 */
-	public FigureEnumeration decompose() {
-		return new SingleFigureEnumerator(this);
-	}
-
-	/**
-	 * Releases a figure's resources. Release is called when
-	 * a figure is removed from a drawing. Informs the listeners that
-	 * the figure is removed by calling figureRemoved.
-	 */
-	public void release() {
-		// A NullFigure does not occupy any resources
-	}
-
-	/**
-	 * Invalidates the figure. This method informs its listeners
-	 * that its current display box is invalid and should be
-	 * refreshed.
-	 */
-	public void invalidate() {
-		// A NullFigure does not have a display box
-	}
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		// A NullFigure does not have attributes: it cannot do anything with them
-		return null;
-	}
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		// A NullFigure does not have attributes: it cannot do anything with them
-		return null;
-	}
-
-	/**
-	 * Sets the named attribute to the new value
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		// A NullFigure does not have attributes: it cannot do anything with them
-	}
-
-	/**
-	 * Sets the named attribute to the new value
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		// A NullFigure does not have attributes: it cannot do anything with them
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/NumberTextFigure.java b/JHotDraw/src/CH/ifa/draw/figures/NumberTextFigure.java
deleted file mode 100644
index fec1ef8ad..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/NumberTextFigure.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * @(#)NumberTextFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.Figure;
-
-/**
- * A TextFigure specialized to edit numbers.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class NumberTextFigure extends TextFigure {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -4056859232918336475L;
-	private int numberTextFigureSerializedDataVersion = 1;
-
-	/**
-	 * Gets the number of columns to be used by the text overlay.
-	 * @see CH.ifa.draw.util.FloatingTextField
-	 */
-	public int overlayColumns() {
-		return Math.max(4, getText().length());
-	}
-
-	/**
-	 * Gets the numerical value of the contained text.
-	 * return the value or 0 in the case of an illegal number format.
-	 */
-	public int getValue() {
-		int value = 0;
-		try {
-			value = Integer.parseInt(getText());
-		}
-		catch (NumberFormatException e) {
-			value = 0;
-		}
-		return value;
-	}
-
-	/**
-	 * Sets the numberical value of the contained text.
-	 */
-	public void setValue(int value) {
-		setText(Integer.toString(value));
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/PolyLineConnector.java b/JHotDraw/src/CH/ifa/draw/figures/PolyLineConnector.java
deleted file mode 100644
index 47791e148..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/PolyLineConnector.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * @(#)PolyLineConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-/**
- * PolyLineConnector finds connection points on a
- * PolyLineFigure.
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public class PolyLineConnector extends ChopBoxConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 6018435940519102865L;
-
-	public PolyLineConnector() {
-		super();
-	}
-
-	/**
-	 * Constructs a connector with the given owner figure.
-	 */
-	public PolyLineConnector(Figure owner) {
-		super(owner);
-	}
-
-	protected Point chop(Figure target, Point from) {
-		PolyLineFigure p = (PolyLineFigure)owner();
-		// *** based on PolygonFigure's heuristic
-		Point ctr = p.center();
-		int cx = -1;
-		int cy = -1;
-		long len = Long.MAX_VALUE;
-
-		// Try for points along edge
-
-		for (int i = 0; i < p.pointCount()-1; i++) {
-			Point p1 = p.pointAt(i);
-			Point p2 = p.pointAt(i+1);
-			Point chop = Geom.intersect(p1.x,
-								 p1.y,
-								 p2.x,
-								 p2.y,
-								 from.x,
-								 from.y,
-								 ctr.x,
-								 ctr.y);
-			if (chop != null) {
-				long cl = Geom.length2(chop.x, chop.y, from.x, from.y);
-				if (cl < len) {
-					len = cl;
-					cx = chop.x;
-					cy = chop.y;
-				}
-			}
-		}
-		// if none found, pick closest vertex
-		//if (len ==  Long.MAX_VALUE) {
-		{ // try anyway
-			for (int i = 0; i < p.pointCount(); i++) {
-				Point pp = p.pointAt(i);
-				long l = Geom.length2(pp.x, pp.y, from.x, from.y);
-				if (l < len) {
-					len = l;
-					cx = pp.x;
-					cy = pp.y;
-				}
-			}
-		}
-		return new Point(cx, cy);
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/figures/PolyLineFigure.java b/JHotDraw/src/CH/ifa/draw/figures/PolyLineFigure.java
deleted file mode 100644
index 1ba24034c..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/PolyLineFigure.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*
- * @(#)PolyLineFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.Color;
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.framework.Connector;
-import CH.ifa.draw.framework.FigureAttributeConstant;
-import CH.ifa.draw.framework.HandleEnumeration;
-import CH.ifa.draw.framework.Locator;
-import CH.ifa.draw.standard.AbstractFigure;
-import CH.ifa.draw.standard.HandleEnumerator;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-// JUnitDoclet end import
-
-/**
- * A poly line figure consists of a list of points.
- * It has an optional line decoration at the start and end.
- *
- * @see LineDecoration
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class PolyLineFigure extends AbstractFigure {
-
-	public final static int ARROW_TIP_NONE  = 0;
-	public final static int ARROW_TIP_START = 1;
-	public final static int ARROW_TIP_END   = 2;
-	public final static int ARROW_TIP_BOTH  = 3;
-
-	protected List                fPoints;
-	protected LineDecoration      fStartDecoration = null;
-	protected LineDecoration      fEndDecoration = null;
-	protected Color               fFrameColor = Color.black;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -7951352179906577773L;
-	private int polyLineFigureSerializedDataVersion = 1;
-
-	public PolyLineFigure() {
-		this(4);
-	}
-
-	public PolyLineFigure(int size) {
-		fPoints = CollectionsFactory.current().createList(size);
-	}
-
-	public PolyLineFigure(int x, int y) {
-		fPoints = CollectionsFactory.current().createList();
-		fPoints.add(new Point(x, y));
-	}
-
-	public Rectangle displayBox() {
-		Iterator iter = points();
-		if (iter.hasNext()) {
-			// avoid starting with origin 0,0 because that would lead to a too large rectangle
-			Rectangle r = new Rectangle((Point)iter.next());
-
-			while (iter.hasNext()) {
-				r.add((Point)iter.next());
-			}
-
-			return r;
-		}
-		else {
-			return new Rectangle();
-		}
-	}
-
-	public boolean isEmpty() {
-		return (size().width < 3) && (size().height < 3);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList(fPoints.size());
-		for (int i = 0; i < fPoints.size(); i++) {
-			handles.add(new PolyLineHandle(this, locator(i), i));
-		}
-		return new HandleEnumerator(handles);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-	}
-
-	/**
-	 * Adds a node to the list of points.
-	 */
-	public void addPoint(int x, int y) {
-		fPoints.add(new Point(x, y));
-		changed();
-	}
-
-	public Iterator points() {
-		return fPoints.iterator();
-	}
-
-	public int pointCount() {
-		return fPoints.size();
-	}
-
-	protected void basicMoveBy(int dx, int dy) {
-		Iterator iter = points();
-		while (iter.hasNext()) {
-			((Point)iter.next()).translate(dx, dy);
-		}
-	}
-
-	/**
-	 * Changes the position of a node.
-	 */
-	public void setPointAt(Point p, int i) {
-		willChange();
-		fPoints.set(i, p);
-		changed();
-	}
-
-	/**
-	 * Insert a node at the given point.
-	 */
-	public void insertPointAt(Point p, int i) {
-		fPoints.add(i, p);
-		changed();
-	}
-
-	public void removePointAt(int i) {
-		willChange();
-		fPoints.remove(i);
-		changed();
-	}
-
-	/**
-	 * Splits the segment at the given point if a segment was hit.
-	 * @return the index of the segment or -1 if no segment was hit.
-	 */
-	public int splitSegment(int x, int y) {
-		int i = findSegment(x, y);
-		if (i != -1) {
-			insertPointAt(new Point(x, y), i+1);
-		}
-		return i+1;
-	}
-
-	public Point pointAt(int i) {
-		return (Point)fPoints.get(i);
-	}
-
-	/**
-	 * Joins to segments into one if the given point hits a node
-	 * of the polyline.
-	 * @return true if the two segments were joined.
-	 */
-	public boolean joinSegments(int x, int y) {
-		for (int i= 1; i < fPoints.size()-1; i++) {
-			Point p = pointAt(i);
-			if (Geom.length(x, y, p.x, p.y) < 3) {
-				removePointAt(i);
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new PolyLineConnector(this);
-	}
-
-	/**
-	 * Sets the start decoration.
-	 */
-	public void setStartDecoration(LineDecoration l) {
-		fStartDecoration = l;
-	}
-
-	/**
-	 * Returns the start decoration.
-	 */
-	public LineDecoration getStartDecoration() {
-		return fStartDecoration;
-	}
-
-	/**
-	 * Sets the end decoration.
-	 */
-	public void setEndDecoration(LineDecoration l) {
-		fEndDecoration = l;
-	}
-
-	/**
-	 * Returns the end decoration.
-	 */
-	public LineDecoration getEndDecoration() {
-		return fEndDecoration;
-	}
-
-	public void draw(Graphics g) {
-		g.setColor(getFrameColor());
-		Point p1, p2;
-		for (int i = 0; i < fPoints.size()-1; i++) {
-			p1 = pointAt(i);
-			p2 = pointAt(i+1);
-			drawLine(g, p1.x, p1.y, p2.x, p2.y);
-		}
-		decorate(g);
-	}
-
-	/**
-	 * Can be overriden in subclasses to draw different types of lines
-	 * (e.g. dotted lines)
-	 */
-	protected void drawLine(Graphics g, int x1, int y1, int x2, int y2) {
-		g.drawLine(x1, y1, x2, y2);
-	}
-
-	public boolean containsPoint(int x, int y) {
-		Rectangle bounds = displayBox();
-		bounds.grow(4,4);
-		if (!bounds.contains(x, y)) {
-			return false;
-		}
-
-		for (int i = 0; i < fPoints.size()-1; i++) {
-			Point p1 = pointAt(i);
-			Point p2 = pointAt(i+1);
-			if (Geom.lineContainsPoint(p1.x, p1.y, p2.x, p2.y, x, y)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Gets the segment of the polyline that is hit by
-	 * the given point.
-	 * @return the index of the segment or -1 if no segment was hit.
-	 */
-	public int findSegment(int x, int y) {
-		for (int i = 0; i < fPoints.size()-1; i++) {
-			Point p1 = pointAt(i);
-			Point p2 = pointAt(i+1);
-			if (Geom.lineContainsPoint(p1.x, p1.y, p2.x, p2.y, x, y)) {
-				return i;
-			}
-		}
-		return -1;
-	}
-
-	private void decorate(Graphics g) {
-		if (getStartDecoration() != null) {
-			Point p1 = pointAt(0);
-			Point p2 = pointAt(1);
-			getStartDecoration().draw(g, p1.x, p1.y, p2.x, p2.y);
-		}
-		if (getEndDecoration() != null) {
-			Point p3 = pointAt(fPoints.size()-2);
-			Point p4 = pointAt(fPoints.size()-1);
-			getEndDecoration().draw(g, p4.x, p4.y, p3.x, p3.y);
-		}
-	}
-
-	/**
-	 * Gets the attribute with the given name.
-	 * PolyLineFigure maps "ArrowMode"to a
-	 * line decoration.
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return getAttribute(FigureAttributeConstant.getConstant(name));
-	}
-
-	/**
-	 * Gets the attribute with the given name.
-	 * PolyLineFigure maps "ArrowMode"to a
-	 * line decoration.
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		if (attributeConstant.equals(FigureAttributeConstant.FRAME_COLOR)) {
-			return getFrameColor();
-		}
-		else if (attributeConstant.equals(FigureAttributeConstant.ARROW_MODE)) {
-			int value = 0;
-			if (getStartDecoration() != null) {
-				value |= ARROW_TIP_START;
-			}
-			if (getEndDecoration() != null) {
-				value |= ARROW_TIP_END;
-			}
-			return new Integer(value);
-		}
-		return super.getAttribute(attributeConstant);
-	}
-
-	/**
-	 * Sets the attribute with the given name.
-	 * PolyLineFigure interprets "ArrowMode"to set
-	 * the line decoration.
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		setAttribute(FigureAttributeConstant.getConstant(name), value);
-	}
-
-	/**
-	 * Sets the attribute with the given name.
-	 * PolyLineFigure interprets "ArrowMode"to set
-	 * the line decoration.
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		if (attributeConstant.equals(FigureAttributeConstant.FRAME_COLOR)) {
-			setFrameColor((Color)value);
-			changed();
-		}
-		else if (attributeConstant.equals(FigureAttributeConstant.ARROW_MODE)) {
-			Integer intObj = (Integer)value;
-			if (intObj != null) {
-				int decoration = intObj.intValue();
-				if ((decoration & ARROW_TIP_START) != 0) {
-					setStartDecoration(new ArrowTip());
-				}
-				else {
-					setStartDecoration(null);
-				}
-				if ((decoration & ARROW_TIP_END) != 0) {
-					setEndDecoration(new ArrowTip());
-				}
-				else {
-					setEndDecoration(null);
-				}
-			}
-			changed();
-		}
-		else {
-			super.setAttribute(attributeConstant, value);
-		}
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fPoints.size());
-		Iterator iter = points();
-		while (iter.hasNext()) {
-			Point p = (Point)iter.next();
-			dw.writeInt(p.x);
-			dw.writeInt(p.y);
-		}
-		dw.writeStorable(fStartDecoration);
-		dw.writeStorable(fEndDecoration);
-		dw.writeColor(fFrameColor);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		int size = dr.readInt();
-		fPoints = CollectionsFactory.current().createList(size);
-		for (int i=0; i<size; i++) {
-			int x = dr.readInt();
-			int y = dr.readInt();
-			fPoints.add(new Point(x,y));
-		}
-		setStartDecoration((LineDecoration)dr.readStorable());
-		setEndDecoration((LineDecoration)dr.readStorable());
-		fFrameColor = dr.readColor();
-	}
-
-	/**
-	 * Creates a locator for the point with the given index.
-	 */
-	public static Locator locator(int pointIndex) {
-		return new PolyLineLocator(pointIndex);
-	}
-
-	protected Color getFrameColor() {
-		return fFrameColor;
-	}
-
-	protected void setFrameColor(Color c) {
-		fFrameColor = c;
-	}
-
-	/**
-	 * Hook method to change the rectangle that will be invalidated
-	 */
-	protected Rectangle invalidateRectangle(Rectangle r) {
-		// SF-bug id: 533953: provide this method to customize invalidated rectangle
-		Rectangle parentR = super.invalidateRectangle(r);
-		if (getStartDecoration() != null) {
-			parentR.add(getStartDecoration().displayBox());
-		}
-		if (getEndDecoration() != null) {
-			parentR.add(getEndDecoration().displayBox());
-		}
-		return parentR;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/PolyLineHandle.java b/JHotDraw/src/CH/ifa/draw/figures/PolyLineHandle.java
deleted file mode 100644
index 86e5d2d85..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/PolyLineHandle.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)PolyLineHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.LocatorHandle;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * A handle for a node on the polyline.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class PolyLineHandle extends LocatorHandle {
-
-	private int fIndex;
-
-   /**
-	* Constructs a poly line handle.
-	* @param owner the owning polyline figure.
-	* @param l the locator
-	* @param index the index of the node associated with this handle.
-	*/
-	public PolyLineHandle(PolyLineFigure owner, Locator l, int index) {
-		super(owner, l);
-		fIndex = index;
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view, fIndex));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-		((PolyLineHandle.UndoActivity)getUndoActivity()).setOldPoint(new Point(x,y));
-	}
-
-	public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		int currentIndex = ((PolyLineHandle.UndoActivity)getUndoActivity()).getPointIndex();
-		myOwner().setPointAt(new Point(x, y), currentIndex);
-	}
-
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		if ((x == anchorX) && (y == anchorY)) {
-			setUndoActivity(null);
-		}
-	}
-	
-	private PolyLineFigure myOwner() {
-		return (PolyLineFigure)owner();
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView, int newPointIndex) {
-		return new PolyLineHandle.UndoActivity(newView, newPointIndex);
-	}
-	
-	public static class UndoActivity extends UndoableAdapter {
-		private Point myOldPoint;
-		private int myPointIndex;
-
-		public UndoActivity(DrawingView newView, int newPointIndex) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-			setPointIndex(newPointIndex);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return movePointToOldLocation();
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return movePointToOldLocation();
-		}
-
-		protected boolean movePointToOldLocation() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-
-			PolyLineFigure figure = (PolyLineFigure)fe.nextFigure();
-			Point backupPoint = figure.pointAt(getPointIndex());
-			figure.setPointAt(getOldPoint(), getPointIndex());
-			setOldPoint(backupPoint);
-			return true;
-		}
-
-		public void setOldPoint(Point newOldPoint) {
-			myOldPoint = newOldPoint;
-		}
-		
-		public Point getOldPoint() {
-			return myOldPoint;
-		}
-
-		public void setPointIndex(int newPointIndex) {
-			myPointIndex = newPointIndex;
-		}
-		
-		public int getPointIndex() {
-			return myPointIndex;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/PolyLineLocator.java b/JHotDraw/src/CH/ifa/draw/figures/PolyLineLocator.java
deleted file mode 100644
index b01e27768..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/PolyLineLocator.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * @(#)PolyLineLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * A poly line figure consists of a list of points.
- * It has an optional line decoration at the start and end.
- *
- * @see LineDecoration
- *
- * @version <$CURRENT_VERSION$>
- */
-class PolyLineLocator extends AbstractLocator {
-	int fIndex;
-
-	public PolyLineLocator(int index) {
-		fIndex = index;
-	}
-
-	public Point locate(Figure owner) {
-		PolyLineFigure plf = (PolyLineFigure)owner;
-		// guard against changing PolyLineFigures -> temporary hack
-		if (fIndex < plf.pointCount()) {
-			return ((PolyLineFigure)owner).pointAt(fIndex);
-		}
-		return new Point(0, 0);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/RadiusHandle.java b/JHotDraw/src/CH/ifa/draw/figures/RadiusHandle.java
deleted file mode 100644
index 95fc8854b..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/RadiusHandle.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * @(#)RadiusHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * A Handle to manipulate the radius of a round corner rectangle.
- *
- * @version <$CURRENT_VERSION$>
- */
-class RadiusHandle extends AbstractHandle {
-
-	private static final int OFFSET = 4;
-
-	public RadiusHandle(RoundRectangleFigure owner) {
-		super(owner);
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-		((RadiusHandle.UndoActivity)getUndoActivity()).
-			setOldRadius(((RoundRectangleFigure)owner()).getArc());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		int dx = x-anchorX;
-		int dy = y-anchorY;
-		RoundRectangleFigure owner = (RoundRectangleFigure)owner();
-		Rectangle r = owner.displayBox();
-		Point originalRadius = ((RadiusHandle.UndoActivity)getUndoActivity()).getOldRadius();
-		int rx = Geom.range(0, r.width, 2*(originalRadius.x/2 + dx));
-		int ry = Geom.range(0, r.height, 2*(originalRadius.y/2 + dy));
-		owner.setArc(rx, ry);
-	}
-
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Point currentRadius = ((RoundRectangleFigure)owner()).getArc();
-		Point originalRadius = ((RadiusHandle.UndoActivity)getUndoActivity()).getOldRadius();
-		// there has been no change so there is nothing to undo
-		if ((currentRadius.x == originalRadius.x) && (currentRadius.y == originalRadius.y)) {
-			setUndoActivity(null);
-		}
-	}
-
-	public Point locate() {
-		RoundRectangleFigure owner = (RoundRectangleFigure)owner();
-		Point radius = owner.getArc();
-		Rectangle r = owner.displayBox();
-		return new Point(r.x+radius.x/2+OFFSET, r.y+radius.y/2+OFFSET);
-	}
-
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new RadiusHandle.UndoActivity(newView);
-	}
-	
-	public static class UndoActivity extends UndoableAdapter {
-		private Point myOldRadius;
-		
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return resetRadius();
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return resetRadius();
-		}
-
-		protected boolean resetRadius() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			RoundRectangleFigure currentFigure = (RoundRectangleFigure)fe.nextFigure();
-			Point figureRadius = currentFigure.getArc();
-			currentFigure.setArc(getOldRadius().x, getOldRadius().y);
-			setOldRadius(figureRadius);
-			return true;
-		}
-		
-		protected void setOldRadius(Point newOldRadius) {
-			myOldRadius = newOldRadius;
-		}
-
-		public Point getOldRadius() {
-			return myOldRadius;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/RectangleFigure.java b/JHotDraw/src/CH/ifa/draw/figures/RectangleFigure.java
deleted file mode 100644
index f9cecb1d7..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/RectangleFigure.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * @(#)RectangleFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.io.IOException;
-import java.util.List;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.HandleEnumeration;
-
-
-/**
- * A rectangle figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class RectangleFigure extends AttributeFigure {
-
-	private Rectangle   fDisplayBox;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 184722075881789163L;
-	private int rectangleFigureSerializedDataVersion = 1;
-
-	public RectangleFigure() {
-		this(new Point(0,0), new Point(0,0));
-	}
-
-	public RectangleFigure(Point origin, Point corner) {
-		basicDisplayBox(origin,corner);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x,y);
-	}
-
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-		g.fillRect(r.x, r.y, r.width, r.height);
-	}
-
-	public void drawFrame(Graphics g) {
-		Rectangle r = displayBox();
-		g.drawRect(r.x, r.y, r.width-1, r.height-1);
-	}
-
-	//-- store / load ----------------------------------------------
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/RoundRectangleFigure.java b/JHotDraw/src/CH/ifa/draw/figures/RoundRectangleFigure.java
deleted file mode 100644
index ef0047bca..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/RoundRectangleFigure.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * @(#)RoundRectangleFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.io.IOException;
-import java.util.List;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-
-/**
- * A round rectangle figure.
- *
- * @see RadiusHandle
- *
- * @version <$CURRENT_VERSION$>
- */
-public class RoundRectangleFigure extends AttributeFigure {
-
-	private Rectangle   fDisplayBox;
-	private int         fArcWidth;
-	private int         fArcHeight;
-	private static final int DEFAULT_ARC = 8;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 7907900248924036885L;
-	private int roundRectangleSerializedDataVersion = 1;
-
-	public RoundRectangleFigure() {
-		this(new Point(0,0), new Point(0,0));
-		fArcWidth = fArcHeight = DEFAULT_ARC;
-	}
-
-	public RoundRectangleFigure(Point origin, Point corner) {
-		basicDisplayBox(origin,corner);
-		fArcWidth = fArcHeight = DEFAULT_ARC;
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-	}
-
-	/**
-	 * Sets the arc's witdh and height.
-	 */
-	public void setArc(int width, int height) {
-		willChange();
-		fArcWidth = width;
-		fArcHeight = height;
-		changed();
-	}
-
-	/**
-	 * Gets the arc's width and height.
-	 */
-	public Point getArc() {
-		return new Point(fArcWidth, fArcHeight);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-
-		handles.add(new RadiusHandle(this));
-
-		return new HandleEnumerator(handles);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x,y);
-	}
-
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-        /*
-         * JP, 25-May-03: Changed from (width-1, height-1) to (width, height),
-         * because figures were not filled completely (JDK 1.4.x). Might invalidate
-         * fix for #661878. If the problem is JDK-dependant, maybe the JDK version
-         * should be taken into account here?
-         */
-		g.fillRoundRect(r.x, r.y, r.width, r.height, fArcWidth, fArcHeight);
-	}
-
-	public void drawFrame(Graphics g) {
-		Rectangle r = displayBox();
-		g.drawRoundRect(r.x, r.y, r.width-1, r.height-1, fArcWidth, fArcHeight);
-	}
-
-	public Insets connectionInsets() {
-		return new Insets(fArcHeight/2, fArcWidth/2, fArcHeight/2, fArcWidth/2);
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new ShortestDistanceConnector(this); // just for demo purposes
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-		dw.writeInt(fArcWidth);
-		dw.writeInt(fArcHeight);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-		fArcWidth = dr.readInt();
-		fArcHeight = dr.readInt();
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ScribbleTool.java b/JHotDraw/src/CH/ifa/draw/figures/ScribbleTool.java
deleted file mode 100644
index 6a24dc2e7..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ScribbleTool.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * @(#)ScribbleTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Undoable;
-import java.awt.event.MouseEvent;
-
-/**
- * Tool to scribble a PolyLineFigure
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ScribbleTool extends AbstractTool {
-
-	private PolyLineFigure  fScribble;
-	private int             fLastX, fLastY;
-
-	/**
-	 * the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	private Figure myAddedFigure;
-
-	public ScribbleTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	public void activate() {
-		super.activate();
-	}
-
-	public void deactivate() {
-		super.deactivate();
-		if (fScribble != null) {
-			if (fScribble.size().width < 4 || fScribble.size().height < 4) {
-				getActiveDrawing().remove(fScribble);
-				// nothing to undo
-				setUndoActivity(null);
-			}
-			fScribble = null;
-		}
-	}
-
-	private void point(int x, int y) {
-		if (fScribble == null) {
-			fScribble = new PolyLineFigure(x, y);
-			setAddedFigure(view().add(fScribble));
-		}
-		else if (fLastX != x || fLastY != y) {
-			fScribble.addPoint(x, y);
-		}
-
-		fLastX = x;
-		fLastY = y;
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		if (e.getClickCount() >= 2) {
-			// use undo activity from paste command...
-			setUndoActivity(createUndoActivity());
-
-			// put created figure into a figure enumeration
-			getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(getAddedFigure()));
-		}
-		else {
-			// use original event coordinates to avoid
-			// supress that the scribble is constrained to
-			// the grid
-			point(e.getX(), e.getY());
-		}
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (fScribble != null) {
-			point(e.getX(), e.getY());
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		super.mouseUp(e, x, y);
-		// deactivate tool only when mouseUp was also fired
-		if (e.getClickCount() >= 2) {
-			editor().toolDone();
-		}
-	}
-
-	/**
-	 * Gets the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	protected Figure getAddedFigure() {
-		return myAddedFigure;
-	}
-
-	private void setAddedFigure(Figure newAddedFigure) {
-		myAddedFigure = newAddedFigure;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ShortestDistanceConnector.java b/JHotDraw/src/CH/ifa/draw/figures/ShortestDistanceConnector.java
deleted file mode 100644
index bccea66ac..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ShortestDistanceConnector.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * @(#)ShortestDistanceConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Geom;
-import java.awt.*;
-
-/**
- * A ShortestDistance locates connection points by
- * finding the shortest distance between the start and
- * end of the connection.
- * It doesn't connect to the areas defined by Figure.connectionInsets()
- *
- * @see Figure#connectionInsets
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ShortestDistanceConnector extends AbstractConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -2273446020593433887L;
-
-	public ShortestDistanceConnector() { // only used for Storable implementation
-		super();
-	}
-
-	public ShortestDistanceConnector(Figure owner) {
-		super(owner);
-	}
-
-	public Point findStart(ConnectionFigure connection) {
-		return findPoint(connection, true);
-	}
-
-	public Point findEnd(ConnectionFigure connection) {
-		return findPoint(connection, false);
-	}
-
-	protected Point findPoint(ConnectionFigure connection, boolean getStart) {
-		Figure startFigure = connection.getStartConnector().owner();
-		Figure endFigure = connection.getEndConnector().owner();
-
-		Rectangle r1 = startFigure.displayBox();
-		Rectangle r2 = endFigure.displayBox();
-
-		Insets i1 = startFigure.connectionInsets();
-		Insets i2 = endFigure.connectionInsets();
-
-		Point p1, p2;
-		Point start = null, end = null, s = null, e = null;
-		long len2 = Long.MAX_VALUE, l2;
-		int x1, x2, y1, y2; // connection points
-		int xmin, xmax, ymin, ymax;
-
-		// X-dimension
-		// constrain width connection insets
-		int r1x, r1width, r2x, r2width, r1y, r1height, r2y, r2height;
-		r1x = r1.x + i1.left;
-		r1width = r1.width - i1.left - i1.right-1;
-		r2x = r2.x + i2.left;
-		r2width = r2.width - i2.left - i2.right-1;
-
-		// find x connection point
-		if (r1x + r1width < r2x) {
-			x1 = r1x + r1width;
-			x2 = r2x;
-		}
-		else if (r1x > r2x + r2width) {
-			x1 = r1x;
-			x2 = r2x + r2width;
-		}
-		else {
-			xmax = Math.max(r1x, r2x);
-			xmin = Math.min(r1x+r1width, r2x+r2width);
-			x1 = x2 = (xmax + xmin) /2;
-		}
-
-		// Y-Dimension
-		// constrain with connection insets
-		r1y = r1.y + i1.top;
-		r1height = r1.height - i1.top - i1.bottom-1;
-		r2y = r2.y + i2.top;
-		r2height = r2.height - i2.top - i2.bottom-1;
-
-		// y connection point
-		if (r1y + r1height < r2y) {
-			y1 = r1y + r1height;
-			y2 = r2y;
-		}
-		else if (r1y > r2y + r2height) {
-			y1 = r1y;
-			y2 = r2y + r2height;
-		}
-		else {
-			ymax = Math.max(r1y, r2y);
-			ymin = Math.min(r1y+r1height, r2y+r2height);
-			y1 = y2 = (ymax + ymin) /2;
-		}
-		// find shortest connection
-		for (int i = 0; i < 4; i++) {
-			switch(i) {
-			case 0:
-				// EAST-WEST
-				p1 = Geom.east(r1);
-				p2 = Geom.west(r2);
-				s = new Point(p1.x, y1);
-				e = new Point(p2.x, y2);
-				break;
-			case 1:
-				// WEST-EAST
-				p1 = Geom.west(r1);
-				p2 = Geom.east(r2);
-				s = new Point(p1.x, y1);
-				e = new Point(p2.x, y2);
-				break;
-			case 2:
-				// NORTH-SOUTH
-				p1 = Geom.north(r1);
-				p2 = Geom.south(r2);
-				s = new Point(x1, p1.y);
-				e = new Point(x2, p2.y);
-				break;
-			case 3:
-				// SOUTH-NORTH
-				p1 = Geom.south(r1);
-				p2 = Geom.north(r2);
-				s = new Point(x1, p1.y);
-				e = new Point(x2, p2.y);
-				break;
-			}
-			l2 = Geom.length2(s.x, s.y, e.x, e.y);
-			if (l2 < len2) {
-				start = s;
-				end = e;
-				len2 = l2;
-			}
-		}
-		if (getStart) {
-			return start;
-		}
-		return end;
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/figures/TextFigure.java b/JHotDraw/src/CH/ifa/draw/figures/TextFigure.java
deleted file mode 100644
index 3da10c69e..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/TextFigure.java
+++ /dev/null
@@ -1,509 +0,0 @@
-/*
- * @(#)TextFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.ColorMap;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-import java.awt.*;
-import java.io.*;
-import java.util.List;
-
-/**
- * A text figure.
- *
- * @see TextTool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class TextFigure
-	extends AttributeFigure
-	implements FigureChangeListener, TextHolder {
-
-	private int fOriginX;
-	private int fOriginY;
-
-	// cache of the TextFigure's size
-	transient private boolean fSizeIsDirty = true;
-	transient private int fWidth;
-	transient private int fHeight;
-
-	private String fText;
-	private Font fFont;
-	private boolean fIsReadOnly;
-
-	private Figure fObservedFigure = null;
-	private OffsetLocator fLocator = null;
-
-	private static String fgCurrentFontName = "Helvetica";
-	private static int fgCurrentFontSize = 12;
-	private static int fgCurrentFontStyle = Font.PLAIN;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 4599820785949456124L;
-	private int textFigureSerializedDataVersion = 1;
-
-	public TextFigure() {
-		fOriginX = 0;
-		fOriginY = 0;
-		fFont = createCurrentFont();
-		setAttribute(FigureAttributeConstant.FILL_COLOR, ColorMap.color("None"));
-		fText = "";
-		fSizeIsDirty = true;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#moveBy(int, int)
-	 */
-	public void moveBy(int x, int y) {
-		willChange();
-		basicMoveBy(x, y);
-		if (getLocator() != null) {
-			getLocator().moveBy(x, y);
-		}
-		changed();
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fOriginX += x;
-		fOriginY += y;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	public void basicDisplayBox(Point newOrigin, Point newCorner) {
-		fOriginX = newOrigin.x;
-		fOriginY = newOrigin.y;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#displayBox()
-	 */
-	public Rectangle displayBox() {
-		Dimension extent = textExtent();
-		return new Rectangle(fOriginX, fOriginY, extent.width, extent.height);
-	}
-
-	/**
-	 * @see CH.ifa.draw.standard.TextHolder#textDisplayBox()
-	 */
-	public Rectangle textDisplayBox() {
-		return displayBox();
-	}
-
-	/**
-	 * Tests whether this figure is read only.
-	 */
-	public boolean readOnly() {
-		return fIsReadOnly;
-	}
-
-	/**
-	 * Sets the read only status of the text figure.
-	 */
-	public void setReadOnly(boolean isReadOnly) {
-		fIsReadOnly = isReadOnly;
-	}
-
-	/**
-	 * Gets the font.
-	 * @see CH.ifa.draw.standard.TextHolder#getFont()
-	 */
-	public Font getFont() {
-		return fFont;
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 * @see CH.ifa.draw.standard.TextHolder#getRepresentingFigure()
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-
-	/**
-	 * Sets the font.
-	 */
-	public void setFont(Font newFont) {
-		willChange();
-		fFont = newFont;
-		markDirty();
-		changed();
-	}
-
-	/**
-	 * Updates the location whenever the figure changes itself.
-	 * @see CH.ifa.draw.framework.Figure#changed()
-	 */
-	public void changed() {
-		super.changed();
-		//updateLocation();
-	}
-
-	/**
-	 * A text figure understands the "FontSize", "FontStyle", and "FontName"
-	 * attributes.
-	 *
-	 * @see CH.ifa.draw.framework.Figure#getAttribute(java.lang.String)
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return getAttribute(FigureAttributeConstant.getConstant(name));
-	}
-
-	/**
-	 * A text figure understands the "FontSize", "FontStyle", and "FontName"
-	 * attributes.
-	 * @see CH.ifa.draw.framework.Figure#getAttribute(CH.ifa.draw.framework.FigureAttributeConstant)
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		Font font = getFont();
-		if (attributeConstant.equals(FigureAttributeConstant.FONT_SIZE)) {
-			return new Integer(font.getSize());
-		}
-		if (attributeConstant.equals(FigureAttributeConstant.FONT_STYLE)) {
-			return new Integer(font.getStyle());
-		}
-		if (attributeConstant.equals(FigureAttributeConstant.FONT_NAME)) {
-			return font.getName();
-		}
-		return super.getAttribute(attributeConstant);
-	}
-
-	/**
-	 * A text figure understands the "FontSize", "FontStyle", and "FontName"
-	 * attributes.
-	 *
-	 * @see CH.ifa.draw.framework.Figure#setAttribute(java.lang.String, java.lang.Object)
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		setAttribute(FigureAttributeConstant.getConstant(name), value);
-	}
-
-	/**
-	 * A text figure understands the "FontSize", "FontStyle", and "FontName"
-	 * attributes.
-	 * @see CH.ifa.draw.framework.Figure#setAttribute(CH.ifa.draw.framework.FigureAttributeConstant, java.lang.Object)
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		Font font = getFont();
-		if (attributeConstant.equals(FigureAttributeConstant.FONT_SIZE)) {
-			Integer s = (Integer) value;
-			setFont(new Font(font.getName(), font.getStyle(), s.intValue()));
-		}
-		else if (attributeConstant.equals(FigureAttributeConstant.FONT_STYLE)) {
-			Integer s = (Integer) value;
-			int style = font.getStyle();
-			if (s.intValue() == Font.PLAIN) {
-				style = Font.PLAIN;
-			}
-			else {
-				style = style ^ s.intValue();
-			}
-			setFont(new Font(font.getName(), style, font.getSize()));
-		}
-		else if (attributeConstant.equals(FigureAttributeConstant.FONT_NAME)) {
-			String n = (String) value;
-			setFont(new Font(n, font.getStyle(), font.getSize()));
-		}
-		else {
-			super.setAttribute(attributeConstant, value);
-		}
-	}
-
-	/**
-	 * Gets the text shown by the text figure.
-	 * @see CH.ifa.draw.standard.TextHolder#getText()
-	 */
-	public String getText() {
-		return fText;
-	}
-
-	/**
-	 * Sets the text shown by the text figure.
-	 * @see CH.ifa.draw.standard.TextHolder#setText(java.lang.String)
-	 */
-	public void setText(String newText) {
-		if (newText == null || !newText.equals(fText)) {
-			willChange();
-			fText = newText;
-			markDirty();
-			changed();
-		}
-	}
-
-	/**
-	 * Tests whether the figure accepts typing.
-	 * @see CH.ifa.draw.standard.TextHolder#acceptsTyping()
-	 */
-	public boolean acceptsTyping() {
-		return !fIsReadOnly;
-	}
-
-	/**
-	 * @see CH.ifa.draw.figures.AttributeFigure#drawBackground(java.awt.Graphics)
-	 */
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-		g.fillRect(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * @see CH.ifa.draw.figures.AttributeFigure#drawFrame(java.awt.Graphics)
-	 */
-	public void drawFrame(Graphics g) {
-		g.setFont(fFont);
-		g.setColor((Color) getAttribute(FigureAttributeConstant.TEXT_COLOR));
-		FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics(fFont);
-		Rectangle r = displayBox();
-		g.drawString(getText(), r.x, r.y + metrics.getAscent());
-	}
-
-	protected Dimension textExtent() {
-		if (!fSizeIsDirty) {
-			return new Dimension(fWidth, fHeight);
-		}
-		FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics(fFont);
-		fWidth = metrics.stringWidth(getText());
-		fHeight = metrics.getHeight();
-		fSizeIsDirty = false;
-		return new Dimension(fWidth, fHeight);
-	}
-
-	protected void markDirty() {
-		fSizeIsDirty = true;
-	}
-
-	/**
-	 * Gets the number of columns to be overlaid when the figure is edited.
-	 * @see CH.ifa.draw.standard.TextHolder#overlayColumns()
-	 */
-	public int overlayColumns() {
-		int length = getText().length();
-		int columns = 20;
-		if (length != 0) {
-			columns = getText().length() + 3;
-		}
-		return columns;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#handles()
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new NullHandle(this, RelativeLocator.northWest()));
-		handles.add(new NullHandle(this, RelativeLocator.northEast()));
-		handles.add(new NullHandle(this, RelativeLocator.southEast()));
-		handles.add(new FontSizeHandle(this, RelativeLocator.southWest()));
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.Storable#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		Rectangle r = displayBox();
-		dw.writeInt(r.x);
-		dw.writeInt(r.y);
-		dw.writeString(getText());
-		dw.writeString(fFont.getName());
-		dw.writeInt(fFont.getStyle());
-		dw.writeInt(fFont.getSize());
-		dw.writeBoolean(fIsReadOnly);
-		dw.writeStorable(getObservedFigure());
-		dw.writeStorable(getLocator());
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.Storable#read(CH.ifa.draw.util.StorableInput)
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		markDirty();
-		basicDisplayBox(new Point(dr.readInt(), dr.readInt()), null);
-		setText(dr.readString());
-		fFont = new Font(dr.readString(), dr.readInt(), dr.readInt());
-		fIsReadOnly = dr.readBoolean();
-
-		setObservedFigure((Figure) dr.readStorable());
-		if (getObservedFigure() != null) {
-			getObservedFigure().addFigureChangeListener(this);
-		}
-		setLocator((OffsetLocator) dr.readStorable());
-	}
-
-	private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
-		s.defaultReadObject();
-
-		if (getObservedFigure() != null) {
-			getObservedFigure().addFigureChangeListener(this);
-		}
-		markDirty();
-	}
-
-	/**
-	 * @see CH.ifa.draw.standard.TextHolder#connect(CH.ifa.draw.framework.Figure)
-	 */
-	public void connect(Figure figure) {
-		if (getObservedFigure() != null) {
-			getObservedFigure().removeFigureChangeListener(this);
-		}
-
-		setObservedFigure(figure);
-		setLocator(new OffsetLocator(getObservedFigure().connectedTextLocator(this)));
-		getObservedFigure().addFigureChangeListener(this);
-		willChange();
-		updateLocation();
-		changed();
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.FigureChangeListener#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	public void figureChanged(FigureChangeEvent e) {
-		willChange();
-		updateLocation();
-		changed();
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.FigureChangeListener#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	public void figureRemoved(FigureChangeEvent e) {
-		if (listener() != null) {
-			Rectangle rect = invalidateRectangle(displayBox());
-			listener().figureRemoved(new FigureChangeEvent(this, rect, e));
-		}
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.FigureChangeListener#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.FigureChangeListener#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.FigureChangeListener#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {
-	}
-
-	/**
-	 * Updates the location relative to the connected figure.
-	 * The TextFigure is centered around the located point.
-	 */
-	protected void updateLocation() {
-		if (getLocator() != null) {
-			Point p = getLocator().locate(getObservedFigure());
-
-			p.x -= size().width / 2 + fOriginX;
-			p.y -= size().height / 2 + fOriginY;
-			if (p.x != 0 || p.y != 0) {
-				//willChange();
-				basicMoveBy(p.x, p.y);
-				//changed();
-			}
-		}
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#release()
-	 */
-	public void release() {
-		super.release();
-		disconnect(getObservedFigure());
-	}
-
-	/**
-	 * Disconnects a text holder from a connect figure.
-	 * @see CH.ifa.draw.standard.TextHolder#disconnect(CH.ifa.draw.framework.Figure)
-	 */
-	public void disconnect(Figure disconnectFigure) {
-		if (disconnectFigure != null) {
-			disconnectFigure.removeFigureChangeListener(this);
-		}
-		setLocator(null);
-		setObservedFigure(null);
-	}
-
-	protected void setObservedFigure(Figure newObservedFigure) {
-		fObservedFigure = newObservedFigure;
-	}
-
-	public Figure getObservedFigure() {
-		return fObservedFigure;
-	}
-
-	protected void setLocator(OffsetLocator newLocator) {
-		fLocator = newLocator;
-	}
-
-	protected OffsetLocator getLocator() {
-		return fLocator;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#getTextHolder()
-	 */
-	public TextHolder getTextHolder() {
-		return this;
-	}
-
-	/**
-	 * Creates the current font to be used for new text figures.
-	 */
-	static public Font createCurrentFont() {
-		return new Font(fgCurrentFontName, fgCurrentFontStyle, fgCurrentFontSize);
-	}
-
-	/**
-	 * Sets the current font name
-	 */
-	static public void setCurrentFontName(String name) {
-		fgCurrentFontName = name;
-	}
-
-	/**
-	 * Sets the current font size.
-	 */
-	static public void setCurrentFontSize(int size) {
-		fgCurrentFontSize = size;
-	}
-
-	/**
-	 * Sets the current font style.
-	 */
-	static public void setCurrentFontStyle(int style) {
-		fgCurrentFontStyle = style;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/TextTool.java b/JHotDraw/src/CH/ifa/draw/figures/TextTool.java
deleted file mode 100644
index af3ede003..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/TextTool.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * @(#)TextTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.FloatingTextField;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * Tool to create new or edit existing text figures.
- * The editing behavior is implemented by overlaying the
- * Figure providing the text with a FloatingTextField.<p>
- * A tool interaction is done once a Figure that is not
- * a TextHolder is clicked.
- *
- * @see TextHolder
- * @see FloatingTextField
- *
- * @version <$CURRENT_VERSION$>
- */
-public class TextTool extends CreationTool {
-
-	private FloatingTextField   myTextField;
-	private TextHolder  myTypingTarget;
-
-	/**
-	 * The selected figure is different from the TextHolder as the TextHolder
-	 * may be included in a DecoratorFigure. Thus, the DecoratorFigure is selected
-	 * while the TextFigure is edited.
-	 */
-	private Figure mySelectedFigure;
-
-	public TextTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	/**
-	 * If the pressed figure is a TextHolder it can be edited otherwise
-	 * a new text figure is created.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y)
-	{
-		setView((DrawingView)e.getSource());
-
-		if (getTypingTarget() != null) {
-			editor().toolDone();
-			return;
-		}
-
-		TextHolder textHolder = null;
-		Figure pressedFigure = drawing().findFigureInside(x, y);
-		if (pressedFigure != null) {
-			textHolder = pressedFigure.getTextHolder();
-			setSelectedFigure(pressedFigure);
-		}
-
-		if ((textHolder != null) && textHolder.acceptsTyping()) {
-			// do not create a new TextFigure but edit existing one
-			beginEdit(textHolder);
-		}
-		else {
-			super.mouseDown(e, x, y);
-			// update view so the created figure is drawn before the floating text
-			// figure is overlaid. (Note, fDamage should be null in StandardDrawingView
-			// when the overlay figure is drawn because a JTextField cannot be scrolled)
-			view().checkDamage();
-			beginEdit(getCreatedFigure().getTextHolder());
-		}
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (!isActive()) {
-			editor().toolDone();
-		}
-	}
-
-	/**
-	 * Terminates the editing of a text figure.
-	 */
-	public void deactivate() {
-		endEdit();
-        super.deactivate();
-	}
-
-	/**
-	 * Sets the text cursor.
-	 */
-	public void activate() {
-		super.activate();
-		// JDK1.1 TEXT_CURSOR has an incorrect hot spot
-		//view().setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR));
-	}
-
-	/**
-	 * Test whether the text tool is currently activated and is displaying
-	 * a overlay TextFigure for accepting input.
-	 *
-	 * @return true, if the text tool has a accepting target TextFigure for its input, false otherwise
-	 */
-	public boolean isActive() {
-		return (getTypingTarget() != null);
-	}
-
-	protected void beginEdit(TextHolder figure) {
-		if (getFloatingTextField() == null) {
-			setFloatingTextField(createFloatingTextField());
-		}
-
-		if (figure != getTypingTarget() && getTypingTarget() != null) {
-			endEdit();
-		}
-
-		getFloatingTextField().createOverlay((Container)view(), figure.getFont());
-		getFloatingTextField().setBounds(fieldBounds(figure), figure.getText());
-
-		setTypingTarget(figure);
-	}
-
-	protected void endEdit() {
-		if (getTypingTarget() != null) {
-			if (getAddedFigure() != null) {
-				if (!isDeleteTextFigure()) {
-					// figure has been created and not immediately deleted
-					setUndoActivity(createPasteUndoActivity());
-					getUndoActivity().setAffectedFigures(
-							new SingleFigureEnumerator(getAddedFigure())
-					);
-					getTypingTarget().setText(getFloatingTextField().getText());
-				}
-			}
-			else if (isDeleteTextFigure()) {
-				// delete action
-				setUndoActivity(createDeleteUndoActivity());
-				getUndoActivity().setAffectedFigures(
-						new SingleFigureEnumerator(getSelectedFigure())
-				);
-				// perform delete operation of DeleteCommand.UndoActivity
-				getUndoActivity().redo();
-			}
-			else {
-				// put affected figure into a figure enumeration
-				setUndoActivity(createUndoActivity());
-				getUndoActivity().setAffectedFigures(
-					new SingleFigureEnumerator(getTypingTarget().getRepresentingFigure()));
-				getTypingTarget().setText(getFloatingTextField().getText());
-				((TextTool.UndoActivity)getUndoActivity()).setBackupText(getTypingTarget().getText());
-			}
-
-			setTypingTarget(null);
-			getFloatingTextField().endOverlay();
-		}
-		else {
-			setUndoActivity(null);
-		}
-		setAddedFigure(null);
-		setCreatedFigure(null);
-		setSelectedFigure(null);
-	}
-
-	protected boolean isDeleteTextFigure() {
-		return getFloatingTextField().getText().length() == 0;
-	}
-
-	private Rectangle fieldBounds(TextHolder figure) {
-		Rectangle box = figure.textDisplayBox();
-		int nChars = figure.overlayColumns();
-		Dimension d = getFloatingTextField().getPreferredSize(nChars);
-		return new Rectangle(box.x, box.y, d.width, d.height);
-	}
-
-	protected void setTypingTarget(TextHolder newTypingTarget) {
-		myTypingTarget = newTypingTarget;
-	}
-
-	protected TextHolder getTypingTarget() {
-		return myTypingTarget;
-	}
-
-	private void setSelectedFigure(Figure newSelectedFigure) {
-		mySelectedFigure = newSelectedFigure;
-	}
-
-	protected Figure getSelectedFigure() {
-		return mySelectedFigure;
-	}
-
-	private FloatingTextField createFloatingTextField() {
-		return new FloatingTextField();
-	}
-
-	private void setFloatingTextField(FloatingTextField newFloatingTextField) {
-		myTextField = newFloatingTextField;
-	}
-
-	protected FloatingTextField getFloatingTextField() {
-		return myTextField;
-	}
-
-	protected Undoable createDeleteUndoActivity() {
-		FigureTransferCommand cmd = new DeleteCommand("Delete", editor());
-		return new DeleteCommand.UndoActivity(cmd);
-	}
-
-	protected Undoable createPasteUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new TextTool.UndoActivity(view(), getTypingTarget().getText());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private String myOriginalText;
-		private String myBackupText;
-
-		public UndoActivity(DrawingView newDrawingView, String newOriginalText) {
-			super(newDrawingView);
-			setOriginalText(newOriginalText);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/*
-		 * Undo the activity
-		 * @return true if the activity could be undone, false otherwise
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-			setText(getOriginalText());
-
-			return true;
-		}
-
-		/*
-		 * Redo the activity
-		 * @return true if the activity could be redone, false otherwise
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-			setText(getBackupText());
-
-			return true;
-		}
-
-		protected boolean isValidText(String toBeChecked) {
-			return ((toBeChecked != null) && (toBeChecked.length() > 0));
-		}
-
-		protected void setText(String newText) {
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					currentFigure.getTextHolder().setText(newText);
-				}
-			}
-		}
-
-		public void setBackupText(String newBackupText) {
-			myBackupText = newBackupText;
-		}
-
-		public String getBackupText() {
-			return myBackupText;
-		}
-
-		public void setOriginalText(String newOriginalText) {
-			myOriginalText = newOriginalText;
-		}
-
-		public String getOriginalText() {
-			return myOriginalText;
-		}
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/figures/UngroupCommand.java b/JHotDraw/src/CH/ifa/draw/figures/UngroupCommand.java
deleted file mode 100644
index d204a0d04..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/UngroupCommand.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * @(#)UngroupCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * Command to ungroup the selected figures.
- *
- * @see GroupCommand
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class UngroupCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a group command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public UngroupCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		// selection of group figures
-		getUndoActivity().setAffectedFigures(view().selection());
-		view().clearSelection();
-
-		((UngroupCommand.UndoActivity)getUndoActivity()).ungroupFigures();
-		view().checkDamage();
-	}
-
-	public boolean isExecutableWithView() {
-		FigureEnumeration fe = view().selection();
-		while (fe.hasNextFigure()) {
-			Figure currentFigure = fe.nextFigure();
-			currentFigure = currentFigure.getDecoratedFigure();
-
-			if (!(currentFigure instanceof GroupFigure)) {
-				return false;
-			}
-		}
-
-		return view().selectionCount() > 0;
-
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new UngroupCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			getDrawingView().clearSelection();
-
-			FigureEnumeration groupFigures = getAffectedFigures();
-			while (groupFigures.hasNextFigure()) {
-				Figure groupFigure = groupFigures.nextFigure();
-				// orphan individual figures from the group
-				getDrawingView().drawing().orphanAll(groupFigure.figures());
-
-				Figure figure = getDrawingView().drawing().add(groupFigure);
-				getDrawingView().addToSelection(figure);
-			}
-
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				getDrawingView().drawing().orphanAll(getAffectedFigures());
-				getDrawingView().clearSelection();
-				ungroupFigures();
-				return true;
-			}
-			return false;
-		}
-
-		protected void ungroupFigures() {
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure selected = fe.nextFigure();
-				Figure group = getDrawingView().drawing().orphan(selected);
-
-				getDrawingView().drawing().addAll(group.figures());
-				getDrawingView().addToSelectionAll(group.figures());
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework.jdo b/JHotDraw/src/CH/ifa/draw/framework.jdo
deleted file mode 100644
index 78221389f..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework.jdo
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="CH.ifa.draw.framework">
-    <class name="Figure">
-    </class>
-    <class name="FigureChangeListener">
-		<extension vendor-name="FastObjects" key="implementation" value="java.lang.Object"/>
-    </class>
-  </package>
-</jdo>
diff --git a/JHotDraw/src/CH/ifa/draw/framework/ConnectionFigure.java b/JHotDraw/src/CH/ifa/draw/framework/ConnectionFigure.java
deleted file mode 100644
index d85d8c5aa..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/ConnectionFigure.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * @(#)ConnectionFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.Point;
-
-/**
- * Figures to connect Connectors provided by Figures.
- * A ConnectionFigure knows its start and end Connector.
- * It uses the Connectors to locate its connection points.<p>
- * A ConnectionFigure can have multiple segments. It provides
- * operations to split and join segments.
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * Strategy is used encapsulate the algorithm to locate the connection point.
- * ConnectionFigure is the Strategy context and Connector is the Strategy.<br>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld026.htm>Observer</a></b><br>
- * Observer is used to track changes of the connected figures. A connection
- * figure registers itself as listeners or observers of the source and
- * target connector.
- * <hr>
- *
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public interface ConnectionFigure extends Figure, FigureChangeListener {
-
-	/**
-	 * Sets the start Connector of the connection.
-	 * @param start the start connector of the connection
-	 */
-	public void connectStart(Connector start);
-
-	/**
-	 * Sets the end Connector of the connection.
-	 * @param end the end connector of the connection
-	 */
-	public void connectEnd(Connector end);
-
-	/**
-	 * Updates the connection
-	 */
-	public void updateConnection();
-
-	/**
-	 * Disconnects the start figure from the dependent figure
-	 */
-	public void disconnectStart();
-
-	/**
-	 * Disconnects the end figure from the dependent figure
-	 */
-	public void disconnectEnd();
-
-	/**
-	 * Gets the start Connector
-	 */
-	public Connector getStartConnector();
-
-	/**
-	 * Gets the end Connector.
-	 */
-	public Connector getEndConnector();
-
-	/**
-	 * Checks if two figures can be connected. Implement this method
-	 * to constrain the allowed connections between figures.
-	 */
-	public boolean canConnect(Figure start, Figure end);
-
-	/**
-	 * Checks if the ConnectionFigure connects the same figures.
-	 */
-	public boolean connectsSame(ConnectionFigure other);
-
-	/**
-	 * Sets the start point.
-	 */
-	public void startPoint(int x, int y);
-
-	/**
-	 * Sets the end point.
-	 */
-	public void endPoint(int x, int y);
-
-	/**
-	 * Gets the start point.
-	 */
-	public Point startPoint();
-
-	/**
-	 * Gets the end point.
-	 */
-	public Point endPoint();
-
-	/**
-	 * Sets the position of the point at the given position
-	 */
-	public void setPointAt(Point p, int index);
-
-	/**
-	 * Gets the Point at the given position
-	 */
-	public Point pointAt(int index);
-
-	/**
-	 * Gets the number of points or nodes of the connection
-	 */
-	public int pointCount();
-
-	/**
-	 * Splits the hit segment.
-	 * @param x the x position where the figure should be split
-	 * @param y the y position where the figure should be split
-	 * @return the index of the splitting point
-	 */
-	public int splitSegment(int x, int y);
-
-
-	/**
-	 * Joins the hit segments.
-	 * @param x the position where the figure should be joined.
-	 * @param y the position where the figure should be joined.
-	 * @return whether the segment was joined
-	 */
-	public boolean joinSegments(int x, int y);
-	
-	/**
-	 * Gets the start figure of the connection.
-	 */
-	public Figure startFigure();
-  
-	/**
-	 * Gets the end figure of the connection.
-	 */
-	public Figure endFigure();    
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Connector.java b/JHotDraw/src/CH/ifa/draw/framework/Connector.java
deleted file mode 100644
index 4c16b18fb..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Connector.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * @(#)Connector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.*;
-import java.io.Serializable;
-
-import CH.ifa.draw.util.*;
-
-/**
- * Connectors know how to locate a connection point on a figure.
- * A Connector knows its owning figure and can determine either
- * the start or the endpoint of a given connection figure. A connector
- * has a display box that describes the area of a figure it is
- * responsible for. A connector can be visible but it doesn't have
- * to be.<br>
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld004.htm>Strategy</a></b><br>
- * Connector implements the strategy to determine the connections points.<br>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld016.htm>Factory Method</a></b><br>
- * Connectors are created by the Figure's factory method connectorAt.
- * <hr>
- *
- * @see Figure#connectorAt
- * @see ConnectionFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Connector extends Serializable, Storable {
-
-	/**
-	 * Finds the start point for the connection.
-	 */
-	public abstract Point findStart(ConnectionFigure connection);
-
-	/**
-	 * Finds the end point for the connection.
-	 */
-	public abstract Point findEnd(ConnectionFigure connection);
-
-	/**
-	 * Gets the connector's owner.
-	 */
-	public abstract Figure owner();
-
-	/**
-	 * Gets the display box of the connector.
-	 */
-	public abstract Rectangle displayBox();
-
-	/**
-	 * Tests if a point is contained in the connector.
-	 */
-	public abstract boolean containsPoint(int x, int y);
-
-	/**
-	 * Draws this connector. Connectors don't have to be visible
-	 * and it is OK leave this method empty.
-	 */
-	public abstract void draw(Graphics g);
-
-	/**
-	 * Requests that the connector should show itself or hide itself.  The
-	 * ConnectionFigure which desires to connect to this Connector is passed in.
-	 * If a connector should show itself it should do so when draw is called, if
-	 * so desired.
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure courtingConnection);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Cursor.java b/JHotDraw/src/CH/ifa/draw/framework/Cursor.java
deleted file mode 100644
index 38500e16f..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Cursor.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * @(#)Cursor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * This interface has the purpose to reduce the dependency of JHotDraw on AWT
- * classes and interfaces.
- * See {@link CH.ifa.draw.standard.AWTCursor} for an example of implementation
- * for this interface.
- * 
- * <p>Created on: 08/05/2003.</p>
- * 
- * @version $Revision$
- * @author <a href="mailto:ricardo_padilha@users.sourceforge.net">Ricardo 
- * Sangoi Padilha</a>
- * @see CH.ifa.draw.standard.AWTCursor
- */
-public interface Cursor {
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Drawing.java b/JHotDraw/src/CH/ifa/draw/framework/Drawing.java
deleted file mode 100644
index 97994fdc4..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Drawing.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * @(#)Drawing.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import CH.ifa.draw.util.*;
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-import java.io.Serializable;
-
-/**
- * Drawing is a container for figures.
- * <p>
- * Drawing sends out DrawingChanged events to DrawingChangeListeners
- * whenever a part of its area was invalidated.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld026.htm>Observer</a></b><br>
- * The Observer pattern is used to decouple the Drawing from its views and
- * to enable multiple views.<hr>
- *
- * @see Figure
- * @see DrawingView
- * @see FigureChangeListener
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-
-public interface Drawing
-		extends Storable, FigureChangeListener, Serializable {
-
-	/**
-	 * Releases the drawing and its contained figures.
-	 */
-	public void release();
-
-	/**
-	 * Returns an enumeration to iterate in
-	 * Z-order back to front over the figures.
-	 */
-	public FigureEnumeration figures();
-
-	/**
-	 * Returns an enumeration to iterate in
-	 * Z-order back to front over the figures
-	 * that lie within the absolute bounds.
-	 */
-	public FigureEnumeration figures(Rectangle viewRectangle);
-
-	/**
-	 * Returns an enumeration to iterate in
-	 * Z-order front to back over the figures.
-	 */
-	public FigureEnumeration figuresReverse();
-
-	/**
-	 * Finds a top level Figure. Use this call for hit detection that
-	 * should not descend into the figure's children.
-	 */
-	public Figure findFigure(int x, int y);
-
-	/**
-	 * Finds a top level Figure that intersects the given rectangle.
-	 */
-	public Figure findFigure(Rectangle r);
-
-	/**
-	 * Finds a top level Figure, but supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 * @param x the x coordinate
-	 * @param y the y coordinate
-	 * @param without the figure to be ignored during
-	 * the find.
-	 */
-	public Figure findFigureWithout(int x, int y, Figure without);
-
-	/**
-	 * Finds a top level Figure that intersects the given rectangle.
-	 * It supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 */
-	public Figure findFigure(Rectangle r, Figure without);
-
-	/**
-	 * Finds a figure but descends into a figure's
-	 * children. Use this method to implement <i>click-through</i>
-	 * hit detection, that is, you want to detect the inner most
-	 * figure containing the given point.
-	 */
-	public Figure findFigureInside(int x, int y);
-
-	/**
-	 * Finds a figure but descends into a figure's
-	 * children. It supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 * @param x the x coordinate
-	 * @param y the y coordinate
-	 * @param without the figure to be ignored during
-	 * the find.
-	 */
-	public Figure findFigureInsideWithout(int x, int y, Figure without);
-
-	/**
-	 * Checks if the composite figure has the argument as one of
-	 * its children.
-	 *
-	 * @param figure figure to be searched in all descendants
-	 * @return true if the figure is part of this Drawing, else otherwise
-	 */
-	public boolean includes(Figure figure);
-
-	/**
-	 * Check whether a given figure is a (direct) child figure of this CompositeFigure.
-	 *
-	 * @param figure figure to be searched in all direct descendents
-	 * @return true if the figure is a direct child of this Drawing, else otherwise
-	 */
-	public boolean containsFigure(Figure figure);
-
-	/**
-	 * Adds a listener for this drawing.
-	 */
-	public void addDrawingChangeListener(DrawingChangeListener listener);
-
-	/**
-	 * Removes a listener from this drawing.
-	 */
-	public void removeDrawingChangeListener(DrawingChangeListener listener);
-
-	/**
-	 * Gets the listeners of a drawing.
-	 *
-	 * @return new iterator of all registered change listener
-	 */
-	public Iterator drawingChangeListeners();
-
-	/**
-	 * Adds a figure and sets its container to refer to this drawing.
-	 *
-	 * @param figure to be added to the drawing
-	 * @return the figure that was inserted (might be different from the figure specified).
-	 */
-	public Figure add(Figure figure);
-
-	/**
-	 * Adds a list of figures.
-	 *
-	 * @deprecated use addAll(FigureEnumeration) instead
-	 */
-	public void addAll(List newFigures);
-
-	/**
-	 * Adds a FigureEnumeration of figures.
-	 *
-	 * @param fe (unused) enumeration containing all figures to be added
-	 * @see #add
-	 */
-	public void addAll(FigureEnumeration fe);
-
-	/**
-	 * Removes the figure from the drawing and releases it.
-	 *
-	 * @param figure that is part of the drawing and should be removed
-	 * @return the figure that has been removed (might be different from the figure specified)
-	 */
-	public Figure remove(Figure figure);
-
-	/**
-	 * Removes a figure from the figure list, but
-	 * doesn't release it. Use this method to temporarily
-	 * manipulate a figure outside of the drawing.
-	 *
-	 * @param figure that is part of the drawing and should be added
-	 */
-	public Figure orphan(Figure figure);
-
-	/**
-	 * Removes a list of figures from the figure's list
-	 * without releasing the figures.
-	 *
-	 * @see #orphan
-	 * @deprecated use orphanAll(FigureEnumeration) instead
-	 */
-	public void orphanAll(List orphanFigures);
-
-	/**
-	 * Removes a FigureEnumeration of figures from the figure's list
-	 * without releasing the figures.
-	 * @see #orphan
-	 */
-	public void orphanAll(FigureEnumeration fe);
-
-	/**
-	 * Removes a list of figures .
-	 *
-	 * @see #remove
-	 * @deprecated use removeAll(FigureEnumeration) instead
-	 */
-	public void removeAll(List figures);
-
-	/**
-	 * Removes a FigureEnumeration of figures.
-	 * @see #remove
-	 */
-	public void removeAll(FigureEnumeration fe);
-
-	/**
-	 * Replaces a figure in the drawing without removing it from the drawing.
-	 * The figure to be replaced must be part of the drawing.
-	 *
-	 * @param figure figure to be replaced
-	 * @param replacement figure that should replace the specified figure
-	 * @return the figure that has been inserted (might be different from the figure specified)
-	 */
-	public Figure replace(Figure figure, Figure replacement);
-
-	/**
-	 * Sends a figure to the back of the drawing.
-	 *
-	 * @param figure that is part of the drawing
-	 */
-	public void sendToBack(Figure figure);
-
-	/**
-	 * Brings a figure to the front.
-	 *
-	 * @param figure that is part of the drawing
-	 */
-	public void bringToFront(Figure figure);
-
-	/**
-	 * Sends a figure to a certain layer within a drawing. Each figure
-	 * lays in a unique layer and the layering order decides which
-	 * figure is drawn on top of another figure. Figures with a higher
-	 * layer number have usually been added later and may overlay
-	 * figures in lower layers. Layers are counted from to (the number
-	 * of figures - 1).
-	 * The figure is removed from its current layer (if it has been already
-	 * part of this drawing) and is transferred to the specified layers after
-	 * all figures between the original layer and the new layer are shifted to
-	 * one layer below to fill the layer sequence. It is not possible to skip a
-	 * layer number and if the figure is sent to a layer beyond the latest layer
-	 * it will be added as the last figure to the drawing and its layer number
-	 * will be set to the be the one beyond the latest layer so far.
-	 *
-	 * @param figure figure to be sent to a certain layer
-	 * @param layerNr target layer of the figure
-	 */
-	public void sendToLayer(Figure figure, int layerNr);
-
-	/**
-	 * Gets the layer for a certain figure (first occurrence). The number
-	 * returned is the number of the layer in which the figure is placed.
-	 *
-	 * @param figure figure to be queried for its layering place
-	 * @return number of the layer in which the figure is placed and -1 if the
-	 *			figure could not be found.
-	 * @see #sendToLayer
-	 */
-	public int getLayer(Figure figure);
-
-	/**
-	 * Gets the figure from a certain layer.
-	 *
-	 * @param layerNr number of the layer which figure should be returned
-	 * @return figure from the layer specified, null, if the layer nr was outside
-	 *			the number of possible layer (0...(number of figures - 1))
-	 * @see #sendToLayer
-	 */
-	public Figure getFigureFromLayer(int layerNr);
-
-	/**
-	 * Draws all the figures back to front.
-	 */
-	public void draw(Graphics g);
-
-	/**
-	 * Draws only the given figures.
-	 */
-	public void draw(Graphics g, FigureEnumeration fe);
-
-	/**
-	 * Acquires the drawing lock.
-	 */
-	public void lock();
-
-	/**
-	 * Releases the drawing lock.
-	 */
-	public void unlock();
-
-	/**
-	 * Used to optimize rendering.  Rendering of many objects may
-	 * be slow until this method is called.  The view rectangle
-	 * should at least approximately enclose the CompositeFigure.
-	 * If the view rectangle is too small or too large, performance
-	 * may suffer.
-	 */
-	public void init(Rectangle viewRectangle);
-
-	public String getTitle();
-	public void setTitle(String name);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/DrawingChangeEvent.java b/JHotDraw/src/CH/ifa/draw/framework/DrawingChangeEvent.java
deleted file mode 100644
index d9a68d020..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/DrawingChangeEvent.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @(#)DrawingChangeEvent.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.Rectangle;
-import java.util.EventObject;
-
-/**
- * The event passed to DrawingChangeListeners.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DrawingChangeEvent extends EventObject {
-
-	private Rectangle myRectangle;
-
-	/**
-	 *  Constructs a drawing change event.
-	 */
-	public DrawingChangeEvent(Drawing newSource, Rectangle newRect) {
-		super(newSource);
-		myRectangle = newRect;
-	}
-
-	/**
-	 *  Gets the changed drawing
-	 */
-	public Drawing getDrawing() {
-		return (Drawing)getSource();
-	}
-
-	/**
-	 *  Gets the changed rectangle
-	 */
-	public Rectangle getInvalidatedRectangle() {
-		return myRectangle;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/DrawingChangeListener.java b/JHotDraw/src/CH/ifa/draw/framework/DrawingChangeListener.java
deleted file mode 100644
index cb7facea1..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/DrawingChangeListener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * @(#)DrawingChangeListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * Listener interested in Drawing changes.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface DrawingChangeListener {
-
-	/**
-	 *  Sent when an area is invalid
-	 */
-	public void drawingInvalidated(DrawingChangeEvent e);
-
-    /**
-     *  Sent when the drawing Title has changed
-     */
-    public void drawingTitleChanged(DrawingChangeEvent e);
-	/**
-	 *  Sent when the drawing wants to be refreshed
-	 */
-	public void drawingRequestUpdate(DrawingChangeEvent e);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/DrawingEditor.java b/JHotDraw/src/CH/ifa/draw/framework/DrawingEditor.java
deleted file mode 100644
index 4e08605da..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/DrawingEditor.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * @(#)DrawingEditor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import CH.ifa.draw.util.UndoManager;
-
-/**
- * DrawingEditor defines the interface for coordinating
- * the different objects that participate in a drawing editor.
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld022.htm>Mediator</a></b><br>
- * DrawingEditor is the mediator. It decouples the participants
- * of a drawing editor.
- *
- * @see Tool
- * @see DrawingView
- * @see Drawing
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface DrawingEditor extends FigureSelectionListener {
-
-	/**
-	 * Gets the editor's drawing view.
-	 */
-	public DrawingView view();
-
-	public DrawingView[] views();
-	/**
-	 * Gets the editor's drawing.
-	 */
-//	public Drawing drawing();
-
-	/**
-	 * Gets the editor's current tool.
-	 */
-	public Tool tool();
-
-	/**
-	 * Informs the editor that a tool has done its interaction.
-	 * This method can be used to switch back to the default tool.
-	 */
-	public void toolDone();
-
-	/**
-	 * Informs that the current figure selection has changed.
-	 * Override this method to handle selection changes.
-	 */
-	public void figureSelectionChanged(DrawingView view);
-
-	public void addViewChangeListener(ViewChangeListener vsl);
-	public void removeViewChangeListener(ViewChangeListener vsl);
-
-	/**
-	 * Shows a status message in the editor's user interface
-	 */
-	public void showStatus(String string);
-
-	public UndoManager getUndoManager();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/DrawingView.java b/JHotDraw/src/CH/ifa/draw/framework/DrawingView.java
deleted file mode 100644
index 107c0cace..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/DrawingView.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*
- * @(#)DrawingView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.*;
-import java.awt.image.ImageObserver;
-import java.util.Collection;
-
-/**
- * DrawingView renders a Drawing and listens to its changes.
- * It receives user input and delegates it to the current tool.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld026.htm>Observer</a></b><br>
- * DrawingView observes drawing for changes via the DrawingListener interface.<br>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld032.htm>State</a></b><br>
- * DrawingView plays the role of the StateContext in
- * the State pattern. Tool is the State.<br>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * DrawingView is the StrategyContext in the Strategy pattern
- * with regard to the UpdateStrategy. <br>
- * DrawingView is the StrategyContext for the PointConstrainer.
- *
- * @see Drawing
- * @see Painter
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface DrawingView extends ImageObserver, DrawingChangeListener {
-
-	/**
-	 * Sets the view's editor.
-	 */
-	public void setEditor(DrawingEditor editor);
-
-	/**
-	 * Gets the current tool.
-	 */
-	public Tool tool();
-
-	/**
-	 * Gets the drawing.
-	 */
-	public Drawing drawing();
-
-	/**
-	 * Sets and installs another drawing in the view.
-	 */
-	public void setDrawing(Drawing d);
-
-	/**
-	 * Gets the editor.
-	 */
-	public DrawingEditor editor();
-
-	/**
-	 * Adds a figure to the drawing.
-	 * @return the added figure.
-	 */
-	public Figure add(Figure figure);
-
-	/**
-	 * Removes a figure from the drawing.
-	 * @return the removed figure
-	 */
-	public Figure remove(Figure figure);
-
-	/**
-	 * Adds a collections of figures to the drawing.
-	 */
-	public void addAll(Collection figures);
-
-	/**
-	 * Gets the size of the drawing.
-	 */
-	public Dimension getSize();
-
-	/**
-	 * Gets the minimum dimension of the drawing.
-	 */
-	public Dimension getMinimumSize();
-
-	/**
-	 * Gets the preferred dimension of the drawing..
-	 */
-	public Dimension getPreferredSize();
-
-	/**
-	 * Sets the current display update strategy.
-	 * @see Painter
-	 */
-	public void setDisplayUpdate(Painter updateStrategy);
-
-	/**
-	 * Gets the current display update strategy.
-	 * @see Painter
-	 */
-	public Painter getDisplayUpdate();
-
-	/**
-	 * Gets an enumeration over the currently selected figures.
-	 * The selection is a snapshot of the current selection
-	 * which does not get changed anymore
-	 *
-	 * @return an enumeration with the currently selected figures.
-	 */
-	public FigureEnumeration selection();
-
-	/**
-	 * Gets the currently seleced figures in Z order.
-	 * The selection is a snapshot of the current selection
-	 * which does not get changed anymore
-	 *
-	 * @see #selection
-	 * @return an enumeration with the currently selected figures.
-	 */
-	public FigureEnumeration selectionZOrdered();
-
-	/**
-	 * Gets the number of selected figures.
-	 */
-	public int selectionCount();
-
-	/**
-	 * Test whether a given figure is selected.
-	 */
-	public boolean isFigureSelected(Figure checkFigure);
-
-	/**
-	 * Adds a figure to the current selection.
-	 */
-	public void addToSelection(Figure figure);
-
-	/**
-	 * Adds a collections of figures to the current selection.
-	 */
-	public void addToSelectionAll(Collection figures);
-
-	/**
-	 * Adds a FigureEnumeration to the current selection.
-	 */
-	public void addToSelectionAll(FigureEnumeration fe);
-
-	/**
-	 * Removes a figure from the selection.
-	 */
-	public void removeFromSelection(Figure figure);
-
-	/**
-	 * If a figure isn't selected it is added to the selection.
-	 * Otherwise it is removed from the selection.
-	 */
-	public void toggleSelection(Figure figure);
-
-	/**
-	 * Clears the current selection.
-	 */
-	public void clearSelection();
-
-	/**
-	 * Gets the current selection as a FigureSelection. A FigureSelection
-	 * can be cut, copied, pasted.
-	 */
-	public FigureSelection getFigureSelection();
-
-	/**
-	 * Finds a handle at the given coordinates.
-	 * @return the hit handle, null if no handle is found.
-	 */
-	public Handle findHandle(int x, int y);
-
-	/**
-	 * Gets the position of the last click inside the view.
-	 */
-	public Point lastClick();
-
-	/**
-	 * Sets the current point constrainer.
-	 */
-	public void setConstrainer(PointConstrainer p);
-
-	/**
-	 * Gets the current grid setting.
-	 */
-	public PointConstrainer getConstrainer();
-
-	/**
-	 * Checks whether the drawing has some accumulated damage
-	 */
-	public void checkDamage();
-
-	/**
-	 * Repair the damaged area
-	 */
-	public void repairDamage();
-
-	/**
-	 * Paints the drawing view. The actual drawing is delegated to
-	 * the current update strategy.
-	 * @see Painter
-	 */
-	public void paint(Graphics g);
-
-	/**
-	 * Creates an image with the given dimensions
-	 */
-	public Image createImage(int width, int height);
-
-	/**
-	 * Gets a graphic to draw into
-	 */
-	public Graphics getGraphics();
-
-	/**
-	 * Gets the background color of the DrawingView
-	 */
-	public Color getBackground();
-
-	/**
-	 * Sets the background color of the DrawingView
-	 */
-	public void setBackground(Color c);
-
-	/**
-	 * Draws the contents of the drawing view.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void drawAll(Graphics g);
-
-	/**
-	 * Draws the given figures.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void draw(Graphics g, FigureEnumeration fe);
-
-	/**
-	 * Draws the currently active handles.
-	 */
-	public void drawHandles(Graphics g);
-
-	/**
-	 * Draws the drawing.
-	 */
-	public void drawDrawing(Graphics g);
-
-	/**
-	 * Draws the background. If a background pattern is set it
-	 * is used to fill the background. Otherwise the background
-	 * is filled in the background color.
-	 */
-	public void drawBackground(Graphics g);
-
-	/**
-	 * Sets the cursor of the DrawingView
-	 */
-	public void setCursor(Cursor c);
-
-	/**
-	 * Freezes the view by acquiring the drawing lock.
-	 * @see Drawing#lock
-	 */
-	public void freezeView();
-
-	/**
-	 * Unfreezes the view by releasing the drawing lock.
-	 * @see Drawing#unlock
-	 */
-	public void unfreezeView();
-
-	/**
-	 * Add a listener for selection changes in this DrawingView.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void addFigureSelectionListener(FigureSelectionListener fsl);
-
-	/**
-	 * Remove a listener for selection changes in this DrawingView.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void removeFigureSelectionListener(FigureSelectionListener fsl);
-
-	/**
-	 * Returns a FigureEnumeration of connection figures
-	 */
-	public FigureEnumeration getConnectionFigures(Figure inFigure);
-
-	/**
-	 * Inserts figures in a drawing at given offset. Optional check for connection figures
-	 *
-	 *  @return enumeration which has been added to the drawing. The figures in the enumeration
-	 *          can have changed during adding them (e.g. they could have been decorated).
-	 */
-	public FigureEnumeration insertFigures(FigureEnumeration inFigures, int dx, int dy, boolean bCheck);
-
-	/**
-	 * Check whether the DrawingView is interactive, i.e. whether it accepts user input
-	 * and whether it can display a drawing.
-	 */
-	public boolean isInteractive();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Figure.java b/JHotDraw/src/CH/ifa/draw/framework/Figure.java
deleted file mode 100644
index a01a9adee..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Figure.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * @(#)Figure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.standard.TextHolder;
-
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * The interface of a graphical figure. A figure knows
- * its display box and can draw itself. A figure can be
- * composed of several figures. To interact and manipulate
- * with a figure it can provide Handles and Connectors.<p>
- * A figure has a set of handles to manipulate its shape or attributes.
- * A figure has one or more connectors that define how
- * to locate a connection point.<p>
- * Figures can have an open ended set of attributes.
- * An attribute is identified by a string.<p>
- * Default implementations for the Figure interface are provided
- * by AbstractFigure.<p>
- *
- * Figures can have <a name="dependent_figure">dependent figure</a>s. The existence od dependent
- * figures depend on another figure. This is the case for figures
- * such as ConnectedTextFigures and LineDecoration. Thus, they are
- * "externally" dependent on a figure in contrast to (internally)
- * contained figures. This means, "normal" figures (figures that
- * are not containers) can still have dependent figures. Dependent
- * figures are especially important if the figure which the depend
- * on is deleted because they should be removed as well (cascading delete).
- *
- * @see Handle
- * @see Connector
- * @see CH.ifa.draw.standard.AbstractFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Figure
-				extends Storable, Cloneable, Serializable {
-
-	/**
-	 * Constant that allows to identify a popup menu assigned
-	 * as an attribute.
-	 */
-	public static String POPUP_MENU = "POPUP_MENU";
-
-	/**
-	 * Moves the Figure to a new location.
-	 * @param dx the x delta
-	 * @param dy the y delta
-	 */
-	public void moveBy(int dx, int dy);
-
-	/**
-	 * Changes the display box of a figure. This method is
-	 * always implemented in figure subclasses. It only changes
-	 * the displaybox and does not announce any changes. It
-	 * is usually not called by the client. Clients typically call
-	 * displayBox to change the display box.
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void basicDisplayBox(Point origin, Point corner);
-
-	/**
-	 * Changes the display box of a figure. Clients usually
-	 * invoke this method. It changes the display box
-	 * and announces the corresponding changes.
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void displayBox(Point origin, Point corner);
-
-	/**
-	 * Gets the display box of a figure
-	 * @see #basicDisplayBox
-	 */
-	public Rectangle displayBox();
-
-	/**
-	 * Draws the figure.
-	 * @param g the Graphics to draw into
-	 */
-	public void draw(Graphics g);
-
-	/**
-	 * Returns the handles used to manipulate
-	 * the figure. Handles is a Factory Method for
-	 * creating handle objects.
-	 *
-	 * @return an type-safe iterator of handles
-	 * @see Handle
-	 */
-	public HandleEnumeration handles();
-
-	/**
-	 * Gets the size of the figure
-	 */
-	public Dimension size();
-
-	/**
-	 * Gets the figure's center
-	 */
-	public Point center();
-
-	/**
-	 * Checks if the Figure should be considered as empty.
-	 */
-	public boolean isEmpty();
-
-	/**
-	 * Returns an Enumeration of the figures contained in this figure
-	 */
-	public FigureEnumeration figures();
-
-	/**
-	 * Returns the figure that contains the given point.
-	 */
-	public Figure findFigureInside(int x, int y);
-
-	/**
-	 * Checks if a point is inside the figure.
-	 */
-	public boolean containsPoint(int x, int y);
-
-	/**
-	 * Returns a Clone of this figure
-	 */
-	public Object clone();
-
-	/**
-	 * Changes the display box of a figure. This is a
-	 * convenience method. Implementors should only
-	 * have to override basicDisplayBox
-	 * @see #displayBox
-	 */
-	public void displayBox(Rectangle r);
-
-	/**
-	 * Checks whether the given figure is contained in this figure.
-	 */
-	public boolean includes(Figure figure);
-
-	/**
-	 * Decomposes a figure into its parts. A figure is considered
-	 * as a part of itself.
-	 */
-	public FigureEnumeration decompose();
-
-	/**
-	 * Sets the Figure's container and registers the container
-	 * as a figure change listener. A figure's container can be
-	 * any kind of FigureChangeListener. A figure is not restricted
-	 * to have a single container.
-	 */
-	public void addToContainer(FigureChangeListener c);
-
-	/**
-	 * Removes a figure from the given container and unregisters
-	 * it as a change listener.
-	 */
-	public void removeFromContainer(FigureChangeListener c);
-
-	/**
-	 * Add a <a href="#dependent_figure">dependent figure</a>.
-	 */
-	public void addDependendFigure(Figure newDependendFigure);
-
-	/**
-	 * Remove a <a href="#dependent_figure">dependent figure</a>.
-	 */
-	public void removeDependendFigure(Figure oldDependendFigure);
-
-	/**
-	 * Get an enumeration of all <a href="#dependent_figure">dependent figures</a>.
-	 */
-	public FigureEnumeration getDependendFigures();
-
-	/**
-	 * Gets the Figure's listeners.
-	 */
-	public FigureChangeListener listener();
-
-	/**
-	 * Adds a listener for this figure.
-	 */
-	public void addFigureChangeListener(FigureChangeListener l);
-
-	/**
-	 * Removes a listener for this figure.
-	 */
-	public void removeFigureChangeListener(FigureChangeListener l);
-
-	/**
-	 * Releases a figure's resources. Release is called when
-	 * a figure is removed from a drawing. Informs the listeners that
-	 * the figure is removed by calling figureRemoved.
-	 */
-	public void release();
-
-	/**
-	 * Invalidates the figure. This method informs its listeners
-	 * that its current display box is invalid and should be
-	 * refreshed.
-	 */
-	public void invalidate();
-
-	/**
-	 * Informes that a figure is about to change such that its
-	 * display box is affected.
-	 * Here is an example of how it is used together with changed()
-	 * <pre>
-	 * public void move(int x, int y) {
-	 *      willChange();
-	 *      // change the figure's location
-	 *      changed();
-	 *  }
-	 * </pre>
-	 * @see #invalidate
-	 * @see #changed
-	 */
-	public void willChange();
-
-	/**
-	 * Informes that a figure has changed its display box.
-	 * This method also triggers an update call for its
-	 * registered observers.
-	 * @see #invalidate
-	 * @see #willChange
-	 *
-	 */
-	public void changed();
-
-	/**
-	 * Checks if this figure can be connected
-	 */
-	public boolean canConnect();
-
-	/**
-	 * Gets a connector for this figure at the given location.
-	 * A figure can have different connectors at different locations.
-	 */
-	public Connector connectorAt(int x, int y);
-
-	/**
-	 * Sets whether the connectors should be visible.
-	 * Connectors can be optionally visible. Implement
-	 * this method and react on isVisible to turn the
-	 * connectors on or off.
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure connection);
-
-	/**
-	 * Returns the connection inset. This is only a hint that
-	 * connectors can use to determine the connection location.
-	 * The inset defines the area where the display box of a
-	 * figure should not be connected.
-	 *
-	 */
-	public Insets connectionInsets();
-
-	/**
-	 * Returns the locator used to located connected text.
-	 */
-	public Locator connectedTextLocator(Figure text);
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name);
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant);
-
-	/**
-	 * Sets the named attribute to the new value
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value);
-
-	/**
-	 * Sets the named attribute to the new value
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value);
-
-	/**
-	 * Gets the z value (back-to-front ordering) of this figure.
-	 * Z values are not guaranteed to not skip numbers.
-	 */
-	public int getZValue();
-
-	/**
-	 * Sets the z value (back-to-front ordering) of this figure.
-	 * Z values are not guaranteed to not skip numbers.
-	 */
-	public void setZValue(int z);
-
-	public void visit(FigureVisitor visitor);
-
-	/**
-	 * Some figures have the ability to hold text. This method returns
-	 * the adjunctant TextHolder.
-	 * @return
-	 */
-	public TextHolder getTextHolder();
-
-	/**
-	 * Get the underlying figure in case the figure has been decorated.
-	 * If the figure has not been decorated the figure itself is returned.
-	 * The DecoratorFigure does not release the the decorated figure but
-	 * just returns it (in contrast to {@link CH.ifa.draw.standard.DecoratorFigure.peelDecoration}).
-	 *
-	 * @return underlying, "real" without DecoratorFigure
-	 * @see CH.ifa.draw.standard.DecoratorFigure
-	 */
-	public Figure getDecoratedFigure();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureAttributeConstant.java b/JHotDraw/src/CH/ifa/draw/framework/FigureAttributeConstant.java
deleted file mode 100644
index e9187866b..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureAttributeConstant.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * @(#)FigureAttributeConstant.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.io.Serializable;
-
-/**
- * A FigureAttribute is a constant for accessing a special figure attribute. It
- * does not contain a value but just defines a unique attribute ID. Therefore,
- * they provide a type-safe way of defining attribute constants.
- * (SourceForge feature request ID: <>)
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class FigureAttributeConstant implements Serializable, Cloneable {
-
-	public static final String FRAME_COLOR_STR = "FrameColor";
-	public static final FigureAttributeConstant FRAME_COLOR = new FigureAttributeConstant(FRAME_COLOR_STR, 1);
-
-	public static final String FILL_COLOR_STR = "FillColor";
-	public static final FigureAttributeConstant FILL_COLOR = new FigureAttributeConstant(FILL_COLOR_STR, 2);
-
-	public static final String TEXT_COLOR_STR = "TextColor";
-	public static final FigureAttributeConstant TEXT_COLOR = new FigureAttributeConstant(TEXT_COLOR_STR, 3);
-
-	public static final String ARROW_MODE_STR = "ArrowMode";
-	public static final FigureAttributeConstant ARROW_MODE = new FigureAttributeConstant(ARROW_MODE_STR, 4);
-
-	public static final String FONT_NAME_STR = "FontName";
-	public static final FigureAttributeConstant FONT_NAME = new FigureAttributeConstant(FONT_NAME_STR, 5);
-
-	public static final String FONT_SIZE_STR = "FontSize";
-	public static final FigureAttributeConstant FONT_SIZE = new FigureAttributeConstant(FONT_SIZE_STR, 6);
-
-	public static final String FONT_STYLE_STR = "FontStyle";
-	public static final FigureAttributeConstant FONT_STYLE = new FigureAttributeConstant(FONT_STYLE_STR, 7);
-
-	public static final String URL_STR = "URL";
-	public static final FigureAttributeConstant URL = new FigureAttributeConstant(URL_STR, 8);
-
-	public static final String LOCATION_STR = "Location";
-	public static final FigureAttributeConstant LOCATION = new FigureAttributeConstant(LOCATION_STR, 9);
-	
-	public static final String XALIGNMENT_STR = "XAlignment";
-	public static final FigureAttributeConstant XALIGNMENT = new FigureAttributeConstant(XALIGNMENT_STR, 10);
-	
-	public static final String YALIGNMENT_STR = "YAlignment";
-	public static final FigureAttributeConstant YALIGNMENT = new FigureAttributeConstant(YALIGNMENT_STR, 11);
-	
-	public static final String TOP_MARGIN_STR = "TopMargin";
-	public static final FigureAttributeConstant TOP_MARGIN = new FigureAttributeConstant(TOP_MARGIN_STR, 12);
-	
-	public static final String RIGHT_MARGIN_STR = "RightMargin";
-	public static final FigureAttributeConstant RIGHT_MARGIN = new FigureAttributeConstant(RIGHT_MARGIN_STR, 13);
-	
-	public static final String BOTTOM_MARGIN_STR = "BottomMargin";
-	public static final FigureAttributeConstant BOTTOM_MARGIN = new FigureAttributeConstant(BOTTOM_MARGIN_STR, 14);
-	
-	public static final String LEFT_MARGIN_STR = "LeftMargin";
-	public static final FigureAttributeConstant LEFT_MARGIN = new FigureAttributeConstant(LEFT_MARGIN_STR, 15);
-	
-	public static final String POPUP_MENU_STR = "PopupMenu";
-	public static final FigureAttributeConstant POPUP_MENU = new FigureAttributeConstant(POPUP_MENU_STR, 16);
-	
-	private static FigureAttributeConstant[] attributeConstants;
-
-	private int myID;
-	private String myName;
-
-	private FigureAttributeConstant(String newName, int newID) {
-		setName(newName);
-		setID(newID);
-		addConstant(this);
-	}
-
-	public FigureAttributeConstant(String newName) {
-		this(newName, attributeConstants.length+1);
-	}
-
-	private void setName(String newName) {
-		myName = newName;
-	}
-
-	public String getName() {
-		return myName;
-	}
-
-	private void setID(int newID) {
-		myID = newID;
-	}
-
-	public int getID() {
-		return myID;
-	}
-
-	public boolean equals(Object compareObject) {
-		if (compareObject == null) {
-			return false;
-		}
-		if (!(compareObject instanceof FigureAttributeConstant)) {
-			return false;
-		}
-		FigureAttributeConstant compareAttribute = (FigureAttributeConstant)compareObject;
-
-		if (compareAttribute.getID() != getID()) {
-			return false;
-		}
-
-		if ((compareAttribute.getName() == null) && (getName() == null)) {
-			return true;
-		}
-		if ((compareAttribute.getName() != null) && (getName() != null)) {
-			return getName().equals(compareAttribute.getName());
-		}
-
-		return false;
-	}
-
-	public int hashCode() {
-		return getID();
-	}
-
-	/**
-	 * Constants are put into the place according to their ID, thus, it is
-	 * recommended to have subsequent attribute IDs.
-	 */
-	private static void addConstant(FigureAttributeConstant newConstant) {
-		int idPos = newConstant.getID() - 1;
-		// attribute IDs must be unique, thus no two attributes
-		// with the same ID can be added
-		if ((idPos < attributeConstants.length) && (attributeConstants[idPos] != null)) {
-			throw new JHotDrawRuntimeException("No unique FigureAttribute ID: " + newConstant.getID());
-		}
-		// increase capacity if necessary
-		if (idPos >= attributeConstants.length) {
-			FigureAttributeConstant[] tempStrs = new FigureAttributeConstant[idPos + 1];
-			System.arraycopy(attributeConstants, 0, tempStrs, 0, attributeConstants.length);
-			attributeConstants = tempStrs;
-		}
-		attributeConstants[idPos] = newConstant;
-	}
-
-	/**
-	 * @return an existing constant for a given name or create a new one
-	 */
-	public static FigureAttributeConstant getConstant(String constantName) {
-		for (int i = 0; i < attributeConstants.length; i++) {
-			FigureAttributeConstant currentAttr = getConstant(i);
-			if ((currentAttr != null) && (currentAttr.getName() != null) && (currentAttr.getName().equals(constantName))) {
-				return currentAttr;
-			}
-		}
-		return new FigureAttributeConstant(constantName);
-	}
-
-	public static FigureAttributeConstant getConstant(int constantId) {
-		return attributeConstants[constantId];
-	}
-
-	{
-		// use static initializer to create List before any constant is created
-		// initialize List only for the first constant (during debugging it
-		// appeared that the static initializer is invoked for any constant)
-		if (attributeConstants == null) {
-			attributeConstants = new FigureAttributeConstant[64];
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureChangeEvent.java b/JHotDraw/src/CH/ifa/draw/framework/FigureChangeEvent.java
deleted file mode 100644
index 63afb950d..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureChangeEvent.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * @(#)FigureChangeEvent.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.Rectangle;
-import java.util.EventObject;
-
-/**
- * FigureChange event passed to FigureChangeListeners.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class FigureChangeEvent extends EventObject {
-
-	private Rectangle myRectangle;
-	private FigureChangeEvent myNestedEvent;
-
-	private static final Rectangle EMPTY_RECTANGLE = new Rectangle(0, 0, 0, 0);
-
-   /**
-	* Constructs an event for the given source Figure. The rectangle is the
-	* area to be invalvidated.
-	*/
-	public FigureChangeEvent(Figure newSource, Rectangle newRect) {
-		super(newSource);
-		myRectangle = newRect;
-	}
-
-	public FigureChangeEvent(Figure newSource) {
-		super(newSource);
-		myRectangle = EMPTY_RECTANGLE;
-	}
-
-	public FigureChangeEvent(Figure newSource, Rectangle newRect, FigureChangeEvent nestedEvent) {
-		this(newSource, newRect);
-		myNestedEvent = nestedEvent;
-	}
-
-	/**
-	 *  Gets the changed figure
-	 */
-	public Figure getFigure() {
-		return (Figure)getSource();
-	}
-
-	/**
-	 *  Gets the changed rectangle
-	 */
-	public Rectangle getInvalidatedRectangle() {
-		return myRectangle;
-	}
-
-	public FigureChangeEvent getNestedEvent() {
-		return myNestedEvent;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureChangeListener.java b/JHotDraw/src/CH/ifa/draw/framework/FigureChangeListener.java
deleted file mode 100644
index a1466bf0f..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureChangeListener.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * @(#)FigureChangeListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.util.EventListener;
-
-/**
- * Listener interested in Figure changes.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureChangeListener extends EventListener {
-
-	/**
-	 * Sent when an area is invalid
-	 */
-	public void figureInvalidated(FigureChangeEvent e);
-
-	/**
-	 * Sent when a figure changed
-	 */
-	public void figureChanged(FigureChangeEvent e);
-
-	/**
-	 * Sent when a figure was removed
-	 */
-	public void figureRemoved(FigureChangeEvent e);
-
-	/**
-	 * Sent when requesting to remove a figure.
-	 */
-	public void figureRequestRemove(FigureChangeEvent e);
-
-	/**
-	 * Sent when an update should happen.
-	 *
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureEnumeration.java b/JHotDraw/src/CH/ifa/draw/framework/FigureEnumeration.java
deleted file mode 100644
index dc38d53a3..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureEnumeration.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)FigureEnumeration.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * Interface for Enumerations that access Figures.
- * It provides a method nextFigure, that hides the down casting
- * from client code.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureEnumeration {
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Figure nextFigure();
-	public boolean hasNextFigure();
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureSelection.java b/JHotDraw/src/CH/ifa/draw/framework/FigureSelection.java
deleted file mode 100644
index dd95e3d29..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureSelection.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)FigureSelection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * FigureSelection enables to transfer the selected figures
- * to a clipboard.<p>
- * Will soon be converted to the JDK 1.1 Transferable interface.
- *
- * @see CH.ifa.draw.util.Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public interface FigureSelection {
-
-	/**
-	 * Gets the type of the selection.
-	 */
-	public String getType();
-
-	/**
-	 * Gets the data of the selection. The result is returned
-     * as a FigureEnumeration of Figures.
-	 *
-	 * @return a copy of the figure selection.
-	 */
-	public Object getData(String type);
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureSelectionListener.java b/JHotDraw/src/CH/ifa/draw/framework/FigureSelectionListener.java
deleted file mode 100644
index f4dbf7ab3..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureSelectionListener.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * @(#)FigureSelectionListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * Listener interested in DrawingView selection changes.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureSelectionListener {
-	/**
-	 * Sent when the figure selection has changed.
-	 * @param view DrawingView
-	 */
-	public void figureSelectionChanged(DrawingView view);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureVisitor.java b/JHotDraw/src/CH/ifa/draw/framework/FigureVisitor.java
deleted file mode 100644
index 9b799d457..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureVisitor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * @(#)FigureVisitor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureVisitor {
-	public void visitFigure(Figure hostFigure);
-	public void visitHandle(Handle hostHandle);
-	public void visitFigureChangeListener(FigureChangeListener hostFigureChangeListener);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Handle.java b/JHotDraw/src/CH/ifa/draw/framework/Handle.java
deleted file mode 100644
index 66be2c103..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Handle.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Handle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-
-import CH.ifa.draw.util.Undoable;
-
-/**
- * Handles are used to change a figure by direct manipulation.
- * Handles know their owning figure and they provide methods to
- * locate the handle on the figure and to track changes.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld004.htm>Adapter</a></b><br>
- * Handles adapt the operations to manipulate a figure to a common interface.
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Handle {
-
-	public static final int HANDLESIZE = 8;
-
-	/**
-	 * Locates the handle on the figure. The handle is drawn
-	 * centered around the returned point.
-	 */
-	public Point locate();
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 */
-	public void invokeStart(int  x, int  y, DrawingView view);
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @deprecated As of version 4.1, use invokeStart(x, y, drawingView)
-	 */
-	public void invokeStart(int  x, int  y, Drawing drawing);
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view);
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param dx x delta of this step
-	 * @param dy y delta of this step
-	 * @deprecated As of version 4.1,
-	 * use invokeStep(x, y, anchorX, anchorY, drawingView)
-	 */
-	public void invokeStep (int dx, int dy, Drawing drawing);
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view);
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @deprecated As of version 4.1,
-	 * use invokeEnd(x, y, anchorX, anchorY, drawingView).
-	 */
-	public void invokeEnd(int dx, int dy, Drawing drawing);
-
-	/**
-	 * Gets the handle's owner.
-	 */
-	public Figure owner();
-
-	/**
-	 * Gets the display box of the handle.
-	 */
-	public Rectangle displayBox();
-
-	/**
-	 * Tests if a point is contained in the handle.
-	 */
-	public boolean containsPoint(int x, int y);
-
-	/**
-	 * Draws this handle.
-	 */
-	public void draw(Graphics g);
-
-	/**
-	 * Returns an Undoable to be used by the Undo/Redo infrastructure.
-	 * @return Undoable
-	 */
-	public Undoable getUndoActivity();
-
-	/**
-	 * Sets an Undoable to be used by the Undo/Redo infrastructure.
-	 * @param newUndoableActivity
-	 */
-	public void setUndoActivity(Undoable newUndoableActivity);
-
-	/**
-	 * Returns the preferred Cursor for this Handle.
-	 * @return Cursor
-	 */
-	public Cursor getCursor();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/HandleEnumeration.java b/JHotDraw/src/CH/ifa/draw/framework/HandleEnumeration.java
deleted file mode 100644
index 0fa17a821..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/HandleEnumeration.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)HandleEnumeration.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.util.List;
-
-/**
- * Interface for Enumerations that access Handles.
- * It provides a method nextHandle, that hides the down casting
- * from client code.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface HandleEnumeration {
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Handle nextHandle();
-	public boolean hasNextHandle();
-
-	/**
-	 * Returns a list with all elements currently available in the enumeration.
-	 * That means, elements retrieved already by calling nextHandle() are not
-	 * contained. This method does not change the position of the enumeration.
-	 * Warning: this method is not necessarily synchronized so this enumeration should not
-	 * be modified at the same time!
-	 *
-	 * @return list with all elements currently available in the enumeration.
-	 */
-	public List toList();
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/JHotDrawException.java b/JHotDraw/src/CH/ifa/draw/framework/JHotDrawException.java
deleted file mode 100644
index d86e21d5c..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/JHotDrawException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)JHotDrawException.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * A JHotDRaw Exception.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class JHotDrawException extends Exception {
-
-	private Exception myNestedException;
-
-	public JHotDrawException(String msg) {
-		super(msg);
-	}
-
-	public JHotDrawException(Exception nestedException) {
-		this(nestedException.getLocalizedMessage());
-		setNestedException(nestedException);
-		nestedException.fillInStackTrace();
-	}
-
-	protected void setNestedException(Exception newNestedException) {
-		myNestedException = newNestedException;
-	}
-
-	public Exception getNestedException() {
-		return myNestedException;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/JHotDrawRuntimeException.java b/JHotDraw/src/CH/ifa/draw/framework/JHotDrawRuntimeException.java
deleted file mode 100644
index 3821eca33..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/JHotDrawRuntimeException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)JHotDrawRuntimeException.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * A JHotDraw RuntimeException.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class JHotDrawRuntimeException extends RuntimeException {
-
-	private Exception myNestedException;
-
-	public JHotDrawRuntimeException(String msg) {
-		super(msg);
-	}
-
-	public JHotDrawRuntimeException(Exception nestedException) {
-		this(nestedException.getLocalizedMessage());
-		setNestedException(nestedException);
-		nestedException.fillInStackTrace();
-	}
-
-	protected void setNestedException(Exception newNestedException) {
-		myNestedException = newNestedException;
-	}
-
-	public Exception getNestedException() {
-		return myNestedException;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Locator.java b/JHotDraw/src/CH/ifa/draw/framework/Locator.java
deleted file mode 100644
index 6e3aa0944..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Locator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)Locator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import CH.ifa.draw.util.Storable;
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * Locators can be used to locate a position on a figure.<p>
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * Locator encapsulates the strategy to locate a handle on a figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Locator extends Storable, Serializable, Cloneable {
-
-	/**
-	 * Locates a position on the passed figure.
-	 * @return a point on the figure.
-	 */
-	public Point locate(Figure owner);
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Painter.java b/JHotDraw/src/CH/ifa/draw/framework/Painter.java
deleted file mode 100644
index 417a20df8..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Painter.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)Painter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * Painter defines the interface for drawing a layer
- * into a DrawingView.<p>
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * Painter encapsulates an algorithm to render something in
- * the DrawingView. The DrawingView plays the role of the StrategyContext.
- * <hr>
- *
- * @see DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Painter extends Serializable {
-
-	/**
-	 * Draws into the given DrawingView.
-	 */
-	public void draw(Graphics g, DrawingView view);
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/PointConstrainer.java b/JHotDraw/src/CH/ifa/draw/framework/PointConstrainer.java
deleted file mode 100644
index e33ec9e2c..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/PointConstrainer.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * @(#)PointConstrainer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.*;
-
-/**
- * Interface to constrain a Point. This can be used to implement
- * different kinds of grids.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * DrawingView is the StrategyContext.<br>
- *
- * @see DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface PointConstrainer {
-	/**
-	 * Constrains the given point.
-	 * @return constrained point.
-	 */
-	public Point constrainPoint(Point p);
-
-	/**
-	 * Gets the x offset to move an object.
-	 */
-	public int getStepX();
-
-	/**
-	 * Gets the y offset to move an object.
-	 */
-	public int getStepY();
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Tool.java b/JHotDraw/src/CH/ifa/draw/framework/Tool.java
deleted file mode 100644
index cfd5ba19e..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Tool.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * @(#)Tool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import CH.ifa.draw.util.Undoable;
-import java.awt.event.MouseEvent;
-import java.awt.event.KeyEvent;
-
-/**
- * A tool defines a mode of the drawing view. All input events
- * targeted to the drawing view are forwarded to its current tool.<p>
- * Tools inform their editor when they are done with an interaction
- * by calling the editor's toolDone() method.
- * The Tools are created once and reused. They
- * are initialized/deinitialized with activate()/deactivate().
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld032.htm>State</a></b><br>
- * Tool plays the role of the State. In encapsulates all state
- * specific behavior. DrawingView plays the role of the StateContext.
- *
- * A tool can be in the following states: <br>
- * disabled<->enabled[unusable<->usable[active<->inactive]]
- * <->always_usable[active<->inactive]<->disabled
- * <br> where each square bracket indicates a state nesting level
- * and arrows possible state transitions.
- * Unusable tools are always inactive as well and disabled tools
- * are always unusable as well.
- * State changes are propagated to registered ToolListeners.
- *
- * @see DrawingView
- * 
- * @version <$CURRENT_VERSION$>
- */
-public interface Tool {
-
-	/**
-	 * An active tool is the currently selected tool in the
-	 * DrawingView. A tool can be activated/deactivated
-	 * by calling the activate()/deactivate() method.
-	 *
-	 * @return true if the tool is the selected tool in the DrawingView, false otherwise
-	 * @see #isEnabled
-	 * @see #isUsable
-	 */
-	public boolean isActive();
-
-	/**
-	 * Activates the tool for the given view. This method is called
-	 * whenever the user switches to this tool. Use this method to
-	 * reinitialize a tool.
-	 * Note, a valid view must be present in order for the tool to accept activation
-	 */
-	public void activate();
-
-	/**
-	 * Deactivates the tool. This method is called whenever the user
-	 * switches to another tool. Use this method to do some clean-up
-	 * when the tool is switched. Subclassers should always call
-	 * super.deactivate.
-	 */
-	public void deactivate();
-
-	/**
-	 * Handles mouse down events in the drawing view.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y);
-
-	/**
-	 * Handles mouse drag events in the drawing view.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y);
-
-	/**
-	 * Handles mouse up in the drawing view.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y);
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y);
-
-	/**
-	 * Handles key down events in the drawing view.
-	 */
-	public void keyDown(KeyEvent evt, int key);
-
-	/**
-	 * A tool must be enabled in order to use it and to activate/deactivate it.
-	 * Typically, the program enables or disables a tool.
-	 *
-	 * @see #isUsable
-	 * @see #isActive
-	 */
-	public boolean isEnabled();
-	public void setEnabled(boolean enableUsableCheck);
-
-	/**
-	 * A usable tool is a enabled and either active or inactive.
-	 * Typically, the tool should be able to determine itself whether it is
-	 * usable or not.
-	 *
-	 * @see #isEnabled
-	 * @see #isUsable
-	 */
-	public boolean isUsable();
-	public void setUsable(boolean newIsUsable);
-	
-	public DrawingEditor editor();
-	
-	public Undoable getUndoActivity();
-
-	public void setUndoActivity(Undoable newUndoableActivity);
-	
-	public void addToolListener(ToolListener newToolListener);
-	public void removeToolListener(ToolListener oldToolListener);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/ToolListener.java b/JHotDraw/src/CH/ifa/draw/framework/ToolListener.java
deleted file mode 100644
index bf08b79d5..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/ToolListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * @(#)ToolListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.util.EventObject;
-
-/**
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface ToolListener {
-	public void toolEnabled(EventObject toolEvent);
-	public void toolDisabled(EventObject toolEvent);
-	public void toolUsable(EventObject toolEvent);
-	public void toolUnusable(EventObject toolEvent);
-	public void toolActivated(EventObject toolEvent);
-	public void toolDeactivated(EventObject toolEvent);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/ViewChangeListener.java b/JHotDraw/src/CH/ifa/draw/framework/ViewChangeListener.java
deleted file mode 100644
index 8c375a986..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/ViewChangeListener.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package CH.ifa.draw.framework;
-
-import java.util.EventListener;
-
-/**
- * Title:
- * Description:
- * Copyright:    Copyright (c) 2001
- * Company:
- * @author      SourceForge(dnoyeb) aka C.L.Gilbert
- * @version     1.0
- * @since       10/14/01
- */
-public interface ViewChangeListener extends EventListener {
-
-	/**
-	 * Sent when the active view has changed.
-	 * @param newView view
-	 */
-	public void viewSelectionChanged(DrawingView oldView, DrawingView newView);
-	
-	/**
-	 * Sent when a new view is created.  This should only be fired after the view
-	 * has a peer.  I believe that means the view has a component chain all the way
-	 * to a heavyweight container.
-	 * @param view view
-	 */
-	public void viewCreated(DrawingView view);
-
-	/**
-	 * Send when an existing view is about to be destroyed.  After processing this
-	 * event, the view is not guaranteed to contain any appropriate data.  You
-	 * must not use it.
-	 */
-	public void viewDestroying(DrawingView view);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/images/ATEXT1.gif b/JHotDraw/src/CH/ifa/draw/images/ATEXT1.gif
deleted file mode 100644
index b14778e95e10b55060a08916082862f666f1cba8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 195
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQt_d|bM;<_eTR3moM@?#5n_@ypLo|&?%9_Rl@rs_Z>?SX;^>OmAEs~S@jNiI
z%e_*uSZCgA&Ceg|>|(xZu*}-`V1va^joIfjN<N;ty2xls+_Pz0re&<Lx+J!oZKGeU
iZa|Slah{c;Us!lmg{etZZXJK}w4{QzStf!E4Aubb*Hkb7

diff --git a/JHotDraw/src/CH/ifa/draw/images/ATEXT2.gif b/JHotDraw/src/CH/ifa/draw/images/ATEXT2.gif
deleted file mode 100644
index 61025ef8ccd944517bf878bf5327b9258155b4dc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 185
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ}v(bM;;arIKA=E*)u{Yf&X!si4G_GexU;*_?H{f9DnF=N(uOAkoxnWHK+$
zSorC*Qvw}dn_i_|xw!fHZQlLylUu!oj-Lp4BH12tHRVclCHwkyu|7htOZ2rKON7Z)
Xn-%4|=UN%IXQXyWOfVE=V6X-N_zX=F

diff --git a/JHotDraw/src/CH/ifa/draw/images/ATEXT3.gif b/JHotDraw/src/CH/ifa/draw/images/ATEXT3.gif
deleted file mode 100644
index c44b27069cc020bad96a8ce4660ff5cbeab512ee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 191
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu3j}bM;<_MW1)ndtB|kx20FnsZS&`EPl_l13#C(F_~RtU#>rK{dXomn}uim
zgI+J4aY~|p$`O}dvxldeWc6ZATPl3?W;chwf6h8}RgK#9Dy?qe>~Fbm%ULcK=O=_z
d%Czv;n%B3u`&G7ORW(j14G5d&F37-O4FHD@QNjQK

diff --git a/JHotDraw/src/CH/ifa/draw/images/BORDDEC1.gif b/JHotDraw/src/CH/ifa/draw/images/BORDDEC1.gif
deleted file mode 100644
index ef8d3911724b94100918c4f80cb79f716c3a3c95..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 173
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJud$bM;<_eZ^+~AG8;67*)ot=yR`J^&yKXLuQj+?)%DJr`MnBcbRpy%|iKj
zx;I<<_Q*`HwNcgmYsyYP)mnHlq5Mz5tCkasB(m)O-SXb{>rBr<>+7%goHKj&KSWZZ
LS%O`Vfx#L8?I%qp

diff --git a/JHotDraw/src/CH/ifa/draw/images/BORDDEC2.gif b/JHotDraw/src/CH/ifa/draw/images/BORDDEC2.gif
deleted file mode 100644
index 6c4228539e266d9da591147bc78ab4c4e82b0b2d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 170
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh691vWbM;;arIKH-6C{d+HZ;y(A@`(YUBQb<?o#DzJ@3EX^Y=i)hA)r4mS`xi
zHujb(cD>EJs^w=(MB-+xTSbod+ADn2oHH-oxOp<VddfSgIh{53FE6eU*#A4tph1FN
Ikb%J(04`Zd`Tzg`

diff --git a/JHotDraw/src/CH/ifa/draw/images/BORDDEC3.gif b/JHotDraw/src/CH/ifa/draw/images/BORDDEC3.gif
deleted file mode 100644
index 206a1d1898bc2274178a3203077e1dee04282ff5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK-K>bM;<_MW1)Pe^8!t*QG1bs!HwED%FBR?`~eQ(B5BDQQW_vKx50>BCW@3
zo(I+mTv!pZDq6{P*~&6$)7Zj$%@sa+ljRfpZ|-@x#QMzCXtwpApJeR1;dgld_ww9I
Yj<W33rp&gk=6HQci3t+yf(#7S0D=Tk0{{R3

diff --git a/JHotDraw/src/CH/ifa/draw/images/CONN1.gif b/JHotDraw/src/CH/ifa/draw/images/CONN1.gif
deleted file mode 100644
index f0f6e4d34b8aa9c4e1007066159e167a5fc68286..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 171
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJKFybM;<_eTSF6SLjf<EY>#FgX!7JRZmZ+zLPk;>FlGQx4cB=y<=arx6P*i
zV}sAUlEo`Zykzax-B=U$y4Y@a+>Ld{g=Xm)cYbc+SsT0M>F>~YXU;w_NRN0MY%I|z
K!7j+aU=08fj7_Tm

diff --git a/JHotDraw/src/CH/ifa/draw/images/CONN2.gif b/JHotDraw/src/CH/ifa/draw/images/CONN2.gif
deleted file mode 100644
index 470fc08f7147fa0435a78b9a7ac266a8accb3916..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh6853NbM;;arIM=kaT0#BGwLpJOi5q8DgD``IoX$^*S+7p<=Qqe-zgLC);TH*
z&Rnvm$$ef)mxNRDnb$(gzDDdl6)85gizzv2-Go1q^6}5t`QOz|dN<vfg~1vCF;GQg

diff --git a/JHotDraw/src/CH/ifa/draw/images/CONN3.gif b/JHotDraw/src/CH/ifa/draw/images/CONN3.gif
deleted file mode 100644
index 0fbe78372d9e711df3ad1bac6b1b20dac3b49a40..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 170
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh691vWbM;<_MW1)D#J=dfyJg~Ii=}B@`{KCm7f3TNx4r+9@AR$&&f|}+lpToF
zRrcb_^^@mrUlFzb#v0F6M+!@$MW1?pUX^j@!)p#R?cE(FQ8M*m9$A~T|MR9AG)S-u
IGB8*J0JL^SvH$=8

diff --git a/JHotDraw/src/CH/ifa/draw/images/DIAMOND1.gif b/JHotDraw/src/CH/ifa/draw/images/DIAMOND1.gif
deleted file mode 100644
index 44440dc3b928a05b8f00f0bb3b6e387bae69ecd4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 192
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu?96bM;<_eTOY8m^ISwHY!{Wt9pED?#kN}jsBcXTCrWf>hys=Ur`pm)cFEy
zOH$s><Bt+%kDXQHGJWbx>&pEPK74T0n|(e#$Iv3ScH7<=*5ajGCzq&(_qD(CD6h0B
ev{$Vy)y{3}D9g$=jYyi5C@C>bf?be-!5RQhqfdkY

diff --git a/JHotDraw/src/CH/ifa/draw/images/DIAMOND2.gif b/JHotDraw/src/CH/ifa/draw/images/DIAMOND2.gif
deleted file mode 100644
index 0c6f48d4c7209ee40e812dd620b754323f7bf823..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 180
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlKG**bM;;arIKCm4;b6rWM`VK+4&}-DtOhotTP95-yM44yMODwG!GpyRa+^K
z%+)VFmZ{~roZY+RT<nGADO|k?%G<1^CoeuJzhzEe)b=}}Te*(3Jv%??=e++j9P=}b
SQnL%v?L8#A#MlKH7_0%tXiYKz

diff --git a/JHotDraw/src/CH/ifa/draw/images/DIAMOND3.gif b/JHotDraw/src/CH/ifa/draw/images/DIAMOND3.gif
deleted file mode 100644
index d54e8e69b3b7ff0c70f18a8443a16eee89c40513..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 187
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQt+X{bM;<_MW1)DpBJ!;O!qoaR<=N6n%wMTU!oSTGTHT;!{2iD1hzfAxknW_
z+UCrS+ADtXXXmeFj!Gvx9?RKlwp94&&2GGJGVAo3wG+c1?mjhn-Lnf-bDFn*no+D1
amaC%aRbAee6W17*ry(&>j9rj{!5RSHkx&)@

diff --git a/JHotDraw/src/CH/ifa/draw/images/ELLIPSE1.gif b/JHotDraw/src/CH/ifa/draw/images/ELLIPSE1.gif
deleted file mode 100644
index 5c51d07a69d156218046418b238df2278e9887ed..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 199
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQuCp~bM;<_eago_KTxldZ1Ry_K2K~>k=n0A(|;dx;A;8vW6GK<ITlAaJ5Mwh
zZvEWKur2ktC+n$<z3C=1-aPVou%RNSX2$s!C9`h3dSzPPJF+arfAb=rzf#LjeYcdU
mtxyPSY-*`ADD%=N3efJ!HJ>!OyEtWLvZTaZ33fpS25SJ~$XA5`

diff --git a/JHotDraw/src/CH/ifa/draw/images/ELLIPSE2.gif b/JHotDraw/src/CH/ifa/draw/images/ELLIPSE2.gif
deleted file mode 100644
index 9046010b39eca172d44fd7daea792f92ee183382..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 193
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQud+2bM;;arIKHc2R?K>`N1%!WtnWmzI3bHxZL}9&$Ow<q*=|mu<W)(zsHiU
zGUmvLom1PNzn(j7w-%2^Zrp;?3oT~p%$|G3P;W(Cxvk&p1hZQ2Ez5YywBDcpZdq3p
flUd%RRFzX8+^kXBn%kc+QAkT-x){441A{dH{xDG(

diff --git a/JHotDraw/src/CH/ifa/draw/images/ELLIPSE3.gif b/JHotDraw/src/CH/ifa/draw/images/ELLIPSE3.gif
deleted file mode 100644
index 18254b0ce00a8d0418c1b805e09dd901c144f51d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 202
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQvadBbM;<_MV~Ds_%+&6uK7k^R}|J<w2Ea(jO_hwKFoRcd^WLs?rRpdop@w;
z?9tzZV>2(hv(8(x%73fKQqlcR1`@3rv(LXU37HdfdzR?>^kY~4d3EUAEq-tBlU)|A
p&`@1pSKeC5uieyHSv<kKK%}U?&2#4TNwac|Bo>IV3o<ZR0|2XbQvUz|

diff --git a/JHotDraw/src/CH/ifa/draw/images/ERASER1.gif b/JHotDraw/src/CH/ifa/draw/images/ERASER1.gif
deleted file mode 100644
index af7b09da732c121e08b1f3c37d8396029c89c4c7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 183
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJlX#bM;<_eTRQX@@w!pw<}zJwsuV?Q<ipd`m1>sPMb_^{_nlf|6PdB_TW?v
z5v8dyW>I|V-g2FjSC-B8w%zw&LqyD;q}sHUom*ubFU~6~R_`r(!u|YI)dRcl*_ovU
UO*O5qF`cnO620Q=f(#7S0Nn{o1ONa4

diff --git a/JHotDraw/src/CH/ifa/draw/images/ERASER2.gif b/JHotDraw/src/CH/ifa/draw/images/ERASER2.gif
deleted file mode 100644
index 7432c0cd56ad3ee70669a35d8496feab7a1e17fb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 173
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJud$bM;;arIKC$6)bY^r_D+<FUtJA_Ti@!UlR5+ynOfi<$rb0zOC5@gSOm!
zvrKAQgU_6GGo%7zZ5Mni+0!-W-g}cfGR>1r{l7QIxm|DncF0UXnEzH4hupL3zu}S+
L%@XW_3=Gx)qf|`W

diff --git a/JHotDraw/src/CH/ifa/draw/images/ERASER3.gif b/JHotDraw/src/CH/ifa/draw/images/ERASER3.gif
deleted file mode 100644
index da9b2b7589ed49fa13fdb7591c29210073886828..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 179
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJTLzbM;<_MW1)PKP}wneBF2U&$X+%HWj?y`%0tBS?_ZHoAp~}d|>h5Z9RCa
zcgbu~`;HYRQBA7-yPxO3o>R3yL8M&g*s)WOi$A6(*Ik%rwl1@&S@6sETgCSeUDmBn
SE3IzOk(B6^U>9Uyum%9sj!~Wf

diff --git a/JHotDraw/src/CH/ifa/draw/images/HTMLAREA1.gif b/JHotDraw/src/CH/ifa/draw/images/HTMLAREA1.gif
deleted file mode 100644
index 6d9cbc532221767f9b00de02c6f1a421cf165f07..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 194
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBQvRXAbM;<_eP?(7Kk-E-C3Bvd5R>w=X{%P$$~R0fTph^&{(gH*_F<)K4Tom7
zYHWHKc35utjY77CyO&K%^$p4lR+;uXt1C6W;Qboq>DT?Y>^dbk?d->IHgodtYM1(J
hHMg|XYIJCLcJ_oTwN9AWEIesyt7LsWyC4IDH2|A#RBr$P

diff --git a/JHotDraw/src/CH/ifa/draw/images/HTMLAREA2.gif b/JHotDraw/src/CH/ifa/draw/images/HTMLAREA2.gif
deleted file mode 100644
index 9063e2d7997bea69f0e7dad6b936a6498b0b7502..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBQv9L8bM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)nrW-Ie0fuIe*RWrANNX;{=+f}
z+f#n^cqaBnF4SvOn{w_)b<)&ho<Fqyd2RQfAL+d<cJZ4n;`3x~FF3ek&-Qh@PnQH&
d+c&D!i?p(<s75*)^+!&aB-!51F37-O4FL3wQDguB

diff --git a/JHotDraw/src/CH/ifa/draw/images/HTMLAREA3.gif b/JHotDraw/src/CH/ifa/draw/images/HTMLAREA3.gif
deleted file mode 100644
index 72dc3096ad38e82696712e5270e4375443bf9b15..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 203
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB((s|dbM;<_MQ3;aKhYw?pE>Qt%C5}SyZSwnz9eqCwD|oWJ_U_P9WzCyo{fQ=
z<ub2k?TP<jULCf^{Z-Jc;;PyMGtHuxC~Otd+j9M}(A1Quu$g@8Z$8kx<KcbpN<~hd
qQ(<j}Ph)Okeo~QWi3PjD<SPAX2BkA*sXI-d=bhQt$1cdgU=09EYE{Po

diff --git a/JHotDraw/src/CH/ifa/draw/images/LINE1.gif b/JHotDraw/src/CH/ifa/draw/images/LINE1.gif
deleted file mode 100644
index a9fbbccb6be1885a78e4c1d52ea310b73032e99e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 165
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh67`|MbM;<_eTS>xDRd}Y7MpkHc(3ZKE|r8`Stm~A*PZ{lv)MGZhh1b_)xpE-
z+jsTOyRf3<`--Ub5pO2kyi=4L$6qe#)zq)?S<C13qGHES<$veBUsjRHcKEoA5`#4W
D4N*%l

diff --git a/JHotDraw/src/CH/ifa/draw/images/LINE2.gif b/JHotDraw/src/CH/ifa/draw/images/LINE2.gif
deleted file mode 100644
index e991acf489dd5f1296d17070922d3903db2600fd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 158
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh68xdTbM;;arIM=iaT;C+%;qIn%uHWBEoSzj4cU{U*S)vde#~6T+hp?99M|*u
vD{2^Lx<usfigsFj`1SJ@chl^BUTbvL_QfV`xv-{e)56SLHs|9qN(|Nj7&b!E

diff --git a/JHotDraw/src/CH/ifa/draw/images/LINE3.gif b/JHotDraw/src/CH/ifa/draw/images/LINE3.gif
deleted file mode 100644
index 5436bf18983f1419d3d293ea7be69e63a7ea418e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 164
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh68WLQbM;<_MV~F$V_$UM-7@hp$Fj7peR16O+B&-}s?P6ZnPYp;@2K|QCi&YN
zZ%7-ts<o7Ot&Q?MFC%7oyDck5-|)|Cv7`D1oNIlj@ASNCy?fr_>vlc&iaHn=tO2d<
BMDG9q

diff --git a/JHotDraw/src/CH/ifa/draw/images/OCONN1.gif b/JHotDraw/src/CH/ifa/draw/images/OCONN1.gif
deleted file mode 100644
index 14283bbdc772bac4caaeea1efdbdcdafb4b5fa2a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 172
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK7#)bM;<_eTP&3E3_+I7HbPJpO*f6ZNtm5nO?^>bDy@{ae4B+hwj3B`FkRL
zTTFiCEnZRLb=P*?jWuDnOKwHDDjGV!6SO>iC$h=2w(!uGU7_pF#(rA&Jz~|bl_|MR
KqU?eU4Aua{6-=)H

diff --git a/JHotDraw/src/CH/ifa/draw/images/OCONN2.gif b/JHotDraw/src/CH/ifa/draw/images/OCONN2.gif
deleted file mode 100644
index 4c8b94a457b036e4d7cdb0f6db780634fc2702b8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh6853NbM;;arIKB9;xy`RXOzt}pPJsywB}Wtw)y<8%ii1g-`XDNJ7pJdvyc>z
z#o`qS9>MF}-^wmNFY(RYCC)hE@h0g#`wSN7Y+iX~+aXQk=)F@HzMtmI!e9*m#Oy=A

diff --git a/JHotDraw/src/CH/ifa/draw/images/OCONN3.gif b/JHotDraw/src/CH/ifa/draw/images/OCONN3.gif
deleted file mode 100644
index 3b9e94e4c1f754a248aa1db6e4ee0b0f10ee8a8f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 170
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh691vWbM;<_MW2_Pk3G?QcT4As8Edr)CKYJSG6=hxx8`)vx&Ld!GnX$u+o7o(
z)GDm!cu@61%ZjM=H`Z{Txa(DZ@6was9K{SVlXlMGTRSmh>*`v!y_F)CO?ta0hnqE;
J3o<ZR0|0^!O56Yd

diff --git a/JHotDraw/src/CH/ifa/draw/images/PERT1.gif b/JHotDraw/src/CH/ifa/draw/images/PERT1.gif
deleted file mode 100644
index f69744556b8a98b0f903febf45498dd09fcde923..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlK-K>bM;<_eP?(7Kk-E-C3Bvd5R>w&d8>Y$OF1(sB5u8|!Jh*P2E`k`vPmdj
z>=3r9_m<Nuzj;!{KmE(A(`?(#buKO1(zZKp#m^aG;!Be>mi~FR?XC~!)lJLJeyY=G
ZXw<aPYVYXm((dl<maLvADagQJ4FJ?UQ3?P6

diff --git a/JHotDraw/src/CH/ifa/draw/images/PERT2.gif b/JHotDraw/src/CH/ifa/draw/images/PERT2.gif
deleted file mode 100644
index eb9f10ef03f573d2d7c08a805dee7264cabd6ef1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 178
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlK!E=bM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)MQbmW_0GOA^<6__frm_*&x-pD
z!8T0Y0SiB~{Qg>VVwDQlT(#{ni^8R2qGnyox76{SeADf_ua9H;^AAh!RIPneY#h>H
Qq}1GEQyb1M$iQF?0Mukk*8l(j

diff --git a/JHotDraw/src/CH/ifa/draw/images/PERT3.gif b/JHotDraw/src/CH/ifa/draw/images/PERT3.gif
deleted file mode 100644
index aac7c5e3ad403e29fb246df6eb318f71ef45be0c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 188
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBQuv|4bM;<_MQ3;aKhYw?pE>Qt%C5}SyZV2e+rXkwT6aqI*=!x51P2|dZUzy5
zqXRO=duM<0P*rO+U+{j>QO?y@vUP4V+wZ=-?CDAs<Fg)L#Pf3dPkEfOeARpLbws&Y
av}lo)rFXlrW0ygv$pp!k$&!K$4AubpX-<Lw

diff --git a/JHotDraw/src/CH/ifa/draw/images/POLYGON1.gif b/JHotDraw/src/CH/ifa/draw/images/POLYGON1.gif
deleted file mode 100644
index 19a954ae68ce4362ee4baefc4ffe6395b434c22c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 193
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQud+2bM;<_eTOY;nKja6ntY;{uZv4xlyhdE!>y~AWhb%co;H#%(2%JrS{j@i
z%FWAgj(vSa_rsV|^8;OtEB8Ox@ZM2x_W9>;%-mv=6R&Y)tO|2<z4*L3vpnrxm1lvu
eja+ecl!J$DX<kQPOk~pJ#CnP8;_QM94Aua?L{2yW

diff --git a/JHotDraw/src/CH/ifa/draw/images/POLYGON2.gif b/JHotDraw/src/CH/ifa/draw/images/POLYGON2.gif
deleted file mode 100644
index b7fa7a90265da375f38d14818857eba50678fb29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 179
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJTLzbM;;arIKC$uNkKZZK%zND!aUL--44%4=AL4J$tGkKJUPSf)kl%YqXLt
z9TRz3cU*$&Lx|GkWv@?ryy04VYlik4MrF<2g*~^nOgxkNe8taa7v&~zvX<3V|5%eE
S)Y#P0Y9Y}n&MwHnU=096^-o&>

diff --git a/JHotDraw/src/CH/ifa/draw/images/POLYGON3.gif b/JHotDraw/src/CH/ifa/draw/images/POLYGON3.gif
deleted file mode 100644
index 85b9f2a5b0b7fe9eaf19970060e299763553b1d4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 189
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQuLw0bM;<_MW1&pKQGW1X`UPVYGsxt;|s0LpDex4Phnb=efhxc_hLB*I}V+E
z?!nx{W^>8tn$WXlCzQfg+bZsRu%V*nQQGO7#%rQEEiE&`LR`w<U)#JhxZa&%s%}|9
bMVeZ^WlLs#XRCH$SEathWHEL@1_o;Y+pka;

diff --git a/JHotDraw/src/CH/ifa/draw/images/RECT1.gif b/JHotDraw/src/CH/ifa/draw/images/RECT1.gif
deleted file mode 100644
index 2b5701d12e2f0a0eb3cb1b396c5dd777528b18af..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQv9L8bM;<_eago_KTzkp*{E>&TCYyTJWciUCcMmA0`DGoKiZn`cA1b=r%deX
zr`>BScB_5ZSyDLR*yHy{-d62D(q7@CH@*Jo8-ck;64vGLPEkD@`m#VhPi~d^``XIj
c>IVKgp*-=X%q(M<gbDGIol`{E1sNEu0V&l{A^-pY

diff --git a/JHotDraw/src/CH/ifa/draw/images/RECT2.gif b/JHotDraw/src/CH/ifa/draw/images/RECT2.gif
deleted file mode 100644
index 20468af429a22ff746851f75c49d8241ff34d266..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 178
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK!E=bM;;ar4lO%evP&#6Fd)G^GuGOH+k2&lHOA}E4vF$-8>MP<E$gqzdhc-
zBBr)%x7@pzS)NlvG|o?ss%k%8u;V4`q|;lC)6UM#Dh+>LE%N=0XX#1VDeQ0LYqQ03
Py)v9MnmQ!~85pbq%PUIL

diff --git a/JHotDraw/src/CH/ifa/draw/images/RECT3.gif b/JHotDraw/src/CH/ifa/draw/images/RECT3.gif
deleted file mode 100644
index d94e65cf42c31f8e2ff4448fce603db77788788c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQv9L8bM;<_MW3HY$8+@gU-P}Kxo(Ljqo#WKmz>2$2j1z${Wn{n?;&!iNP@>`
znX;wx-o>we_83i`o>~~~thn#NhKe4hS>366=CO-5mB^SKc-t~PVav~T^Nt^XsZ>_f
cpxjiKTisa8k=|>Zla(eJF-3%3kb%J(04^0y#{d8T

diff --git a/JHotDraw/src/CH/ifa/draw/images/RRECT1.gif b/JHotDraw/src/CH/ifa/draw/images/RRECT1.gif
deleted file mode 100644
index cf2c152cdc40f5a1bb7d7342a84611d86c36d020..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 191
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu3j}bM;<_eago_KTzkp*{E>&7-RD5scNT+N^)<f?`r!K@oe*K0rg<seh1~%
z;!UdMde_%;r2euvuN+kNs%rm(C&@l~v(JXSHQ0S9AnRu8mQLT(YuE4cYZmwYUS7;!
d@7NgD;wF?QT#%V%?wL3#L9%;Vz90jGH2_seQFj0U

diff --git a/JHotDraw/src/CH/ifa/draw/images/RRECT2.gif b/JHotDraw/src/CH/ifa/draw/images/RRECT2.gif
deleted file mode 100644
index 99f9d8048f9739836626e1fdc79cc47c317aaa8b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 182
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlKr8<bM;;arIKAW%o=Tp*L-KQPe`_&q4E4|i7w;Ilkb#!PH$WAYP+UX|M6%)
zjh>Yi0r!iZ7I`+xuQ;(Jr7HPE!Ht)^lTL5_%;`LHE@SAuP|^Ie{-xJ!XV<@Z7*&<+
Uot+co6_KH3-qtHA$iQF?030+;Z2$lO

diff --git a/JHotDraw/src/CH/ifa/draw/images/RRECT3.gif b/JHotDraw/src/CH/ifa/draw/images/RRECT3.gif
deleted file mode 100644
index bf5eef360c1390e7719dc9d097974fec2f0224bc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQv9L8bM;<_MW3HY$8+@gU-P}Kxo(Ljqo#WKmz>2$2j1z${Wn{n?;&z1PlC&6
znX;wx-o>we_8jv&d2-W<wF?CvY^d;YV?6I#ynXe&cMj`>de|0hDw$LESNG6q!ICn+
cx~ityl48r60^{85^uCNql95xr1Q{5t0gLERrT_o{

diff --git a/JHotDraw/src/CH/ifa/draw/images/SCRIBBL1.gif b/JHotDraw/src/CH/ifa/draw/images/SCRIBBL1.gif
deleted file mode 100644
index 48a6d954e4f68001665ca9606774e7010fcde40a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 178
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK!E=bM;<_eTP&3#~xEWv88pv^hs&2)~Oa0E&8?T)9U_@dk*VPS=aXYYKBO_
z$6_0;>NBTx-Bv}dzws#f^xLYv7v^VcmdKvmB5OFOZtl%(Ka6ioJ74_t*WDRKpI#)%
SyGFJ|NJ?}_unRIUSOWmsUQ-tU

diff --git a/JHotDraw/src/CH/ifa/draw/images/SCRIBBL2.gif b/JHotDraw/src/CH/ifa/draw/images/SCRIBBL2.gif
deleted file mode 100644
index fea78ceee88f17051bbd0c81491a683d98839a9e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 169
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh68E9ObM;;arIM=iaX%_At2Hh5U|RNSm8$q6`O;0Fvi5#__TOOv%Xh7HQ7Xz>
zWnN-4jc2S*S@W&whQbyr)uP=eu9Q40{nTf<QRJ@4;ZsSstaUQaUoN$t`A;_Sp9H%g
H1A{dHgKkMb

diff --git a/JHotDraw/src/CH/ifa/draw/images/SCRIBBL3.gif b/JHotDraw/src/CH/ifa/draw/images/SCRIBBL3.gif
deleted file mode 100644
index ac467864796f2e16ddaa31120ee541662ac03ab9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ%j%bM;<_MW1(ki9NyiXv@?EYSRwPT(>@bS)|9YyFBkV_Wj=}_V#+x&LWqV
z!WqFrtt+nbK6@Ogs@qa_`fZi(bpr_wncM5O1`3+I-FW@^_Q<zA_P2Kb+#6E=@}qoZ
UL6%rpRZ38VM7J2bAOnLn08gAzhX4Qo

diff --git a/JHotDraw/src/CH/ifa/draw/images/SEL1.gif b/JHotDraw/src/CH/ifa/draw/images/SEL1.gif
deleted file mode 100644
index 0d0bb054559fb9355ca17b4212a3aa6451bb342d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK-K>bM;<_eTS_p9!xHkZSs*`nU!2w_j=1JHL2!!?`t34?A~_2f4Wkw%i-{g
z!dx%;j@;1L-o+KUdwS;Sw^f~IH(0FciCvf~YAR`BRU20Rxiimr?vyoiCtF{7ELZN|
YU|d&a>txi<AKx1%F<~NuAOnLn0Jtkoz5oCK

diff --git a/JHotDraw/src/CH/ifa/draw/images/SEL2.gif b/JHotDraw/src/CH/ifa/draw/images/SEL2.gif
deleted file mode 100644
index 025ac9c3c10aa410e37cd2be2d4733088b6134ea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 182
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlKr8<bM;;arIKCK&rhzszh&axDP1d0E-c`llbf;m>7QeA4a;}+7I>(5l^BS=
z_fY<sqpZG3?bp*;Ht`}mqL0NKEx7UYtl!+!qFn96-xl02ewp^P?0&$hulr`T-0-Op
Vs>sRm_K$9BZ<Xln6J%hp1^`3XQilKl

diff --git a/JHotDraw/src/CH/ifa/draw/images/SEL3.gif b/JHotDraw/src/CH/ifa/draw/images/SEL3.gif
deleted file mode 100644
index fcbe6603d7f53d9a49ba0e451de047e2f7d03d53..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 192
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu?96bM;<_MW1)D`*SG7{_LG+S@wW=nNZdy6`SL??{<ZpJ!N*og?*1?>(Tzx
z;&Yy~EPTQBGh}C!WRmF%p}?I9S2-N@W}nY^UN|@C_MPmC=p%DZdhcHP@!ZMFZ-dK}
fs`49iwH5RmN_|@@+6rUadvY2ircW1SV6X-Nve{HT

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEMPLATE.gif b/JHotDraw/src/CH/ifa/draw/images/TEMPLATE.gif
deleted file mode 100644
index 4b09907701246543b02aa42d8c2aa26ebd2a5c72..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 152
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh;`^b&bM;<_eTR4dmuvEo&ZtwWTo=PNWzEY&hF1Hw)?BXK{oPD-gR!(w{-PyC
pC+FDCyRahUm$6(|*qT7=Cro>73;be~kEfkAF>cOG<`ZPF1^}o8K6d~B

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEMPLAT_.gif b/JHotDraw/src/CH/ifa/draw/images/TEMPLAT_.gif
deleted file mode 100644
index 223cd29ecaf5a6e2720660fe7d5cde747df69b9e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 151
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh;`5=wbM;<_MW1)Pf1vIcozbP<xh{SAwl^G84Bwn9{rBuc-f_EmJ>OnG>^dNs
pbTY?kzRD6^t(?H6E3&^XKH9YFHv0|hb<>un$FUtgCZoh)4FEt=L<#@^

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEXT1.gif b/JHotDraw/src/CH/ifa/draw/images/TEXT1.gif
deleted file mode 100644
index 5ebb27c4c703e4e4b53220d98652727cee9208b6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 193
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQud+2bM;<_eTR3moM@?#5n_@ypLo|&?%9-0mrftk*tu;{`}r*jZ&*a`bvSmN
zZNHM5V7u(h=FhI}!N~&Yud4PxxS#B!H~XybTf^$rlj^oi-aYkMug2>+SKFq)@|LJo
g%~bT3Z7Ps2))I}V&#L23oSY!pI9-fgkb%J(077h1?f?J)

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEXT2.gif b/JHotDraw/src/CH/ifa/draw/images/TEXT2.gif
deleted file mode 100644
index 7c1fbdee0ede5090c8b4365c8e14f0bad6e43a5c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ%j%bM;;arIKCWMZT9_HuHPjI7K00SwU1+`m#;;W!}Gi_Wyu_`}X3a9Y*4M
z&lhdA(@s9$+2rc#eQ%@Y8>Wf3o@nco^)0&naVHaVb=YC8;Jc06b1s{@>18@CHLdW-
T@f4{oNl~e-?r9TbV6X-NV2Dkk

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEXT3.gif b/JHotDraw/src/CH/ifa/draw/images/TEXT3.gif
deleted file mode 100644
index 5f316eb149e76d2badcfff6069f3ea64a3f76271..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK-K>bM;<_MW1)ndtB|kx20FnsZS)c?t_%~fuBp?sO&GY|7<*ewU|wdk)493
ztMj2LZahyt-*hC2WpCA3qPXwDhKiby!kx?Vd}r_l<*fd;PVN7d;yFfTzOncI`)PQU
Y3bPxhTBgP3)O6?h22E@gWMHrc0DUG-K>z>%

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEXTAREA1.gif b/JHotDraw/src/CH/ifa/draw/images/TEXTAREA1.gif
deleted file mode 100644
index 1b210e93658f8b842965f810ef2e905f835280a9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 159
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB67r$JbM;<_eP?(7Kk-E-C3Bvd5R>w&d8>Y$OF46C^WCI~m5<lYZ<+4M*|_0q
xU&KeviN~H#cy8sC9h4@lz1wQ{z2>i0ZPO;EFYr5>xBI^K4w-ouv-kxWtN~D0M@|3$

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEXTAREA2.gif b/JHotDraw/src/CH/ifa/draw/images/TEXTAREA2.gif
deleted file mode 100644
index 5ae72ea0ed2120f1f5a08849cf156adb1e888969..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 152
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB;`^b&bM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)MQbmW^*;a1xm@DR+2fPnHcggW
pb;C+Y`><;9Qy#7Q%NpM}S%o%76-4ArYASy&ESd30iC>Vx8UU#BK2-n!

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEXTAREA3.gif b/JHotDraw/src/CH/ifa/draw/images/TEXTAREA3.gif
deleted file mode 100644
index 23f4ce93a5fa0be469cd32b9a4825b6bdc40b33b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 160
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB68fRRbM;<_MQ3;aKhYw?pE>Qt%C5}SyZV2e+rXkwT6b#Kxk(ad-nnTntJ|2s
ycFb68qSxtyE7kV`0;4v+YI4&IUjAO|n$S+;l$~2+XJ5&9bF+3!?bLP-25SImd`GPS

diff --git a/JHotDraw/src/CH/ifa/draw/images/TOBACK1.gif b/JHotDraw/src/CH/ifa/draw/images/TOBACK1.gif
deleted file mode 100644
index 567e489b72e480d175b2157361e77f34ab9aaf35..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 193
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQud+2bM;<_eTNT5$8)5~v@2W=TX!R6QQXa-*M-YAam@Mi_tDk`AH;;Eyj`ZU
z9pRZc!C-0o&euP40+X+LdCBc}SzU3*+xFaxEm3p-O6{Gy?9WeauP3{t{=Cb%y3{v1
gwcbc9IX2g^$)>|0&#}5++cRZqv+)cQK?VkE0EH1${{R30

diff --git a/JHotDraw/src/CH/ifa/draw/images/TOBACK2.gif b/JHotDraw/src/CH/ifa/draw/images/TOBACK2.gif
deleted file mode 100644
index 6917725772fb5159a45302490e4007968e91e5f0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 184
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlKY{-bM;;arIKAW+!}2&)fs26Tom0sC3w}jFPh~CPVCY@cg?}S$6aSxo0?DR
zSK+>Ss)@qOwGS;bemYf{hp+d6*rsUd$(th_GS(*FQ+ZQy<$GB7mJ+?by~Vj-)kVW9
V9cq(W(lhcqEgGZx*##LGtN|`bOXL6m

diff --git a/JHotDraw/src/CH/ifa/draw/images/TOBACK3.gif b/JHotDraw/src/CH/ifa/draw/images/TOBACK3.gif
deleted file mode 100644
index 0734a255fa3c12e374155bb0c5effe6db129004b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 195
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQt_d|bM;<_MV~Dq_%+%b(!CCp&C`6eFVcKv%-&l+a_S#m-nUMot4#Y@kj3J_
z^hdoeOO-FaJj^juj$0t?u-4?*C*Q4a&pN;1io~6e_O*x1nyyy=nq<67R^<G--KF*p
ifuZ$Ajp;3w2~ufYd9DRT*<RgKDl`gaNeVJBSOWmZtyEe7

diff --git a/JHotDraw/src/CH/ifa/draw/images/TOFRONT1.gif b/JHotDraw/src/CH/ifa/draw/images/TOFRONT1.gif
deleted file mode 100644
index e598010f002f95e097b07407e0dc4ca5290067b4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 196
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu(35bM;<_eTNT5$8)5~v@2W=TX!R6QQXa-*M-YAtziD%ef_`#T``?$ZCbn;
zl1j3Pp8S(fI{)lA@G8^WNoxP$wG}>M%jI5dsoL9C*L&|=$df&8&rk0<t9$)vX0^Rg
ig?wmijgWC$nQK&9Prg&fL~W1M=_!(3vn2%?7_0%%2vd&$

diff --git a/JHotDraw/src/CH/ifa/draw/images/TOFRONT2.gif b/JHotDraw/src/CH/ifa/draw/images/TOFRONT2.gif
deleted file mode 100644
index aaa1758c47e6d990f9f4766d43c9a29d76230c75..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 185
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ}v(bM;;arIKAW+!}2&)fs26Tom0sC3w}jFPh~CR%|wi{y%R<wuj6u3rC*R
zr`)fcRGz(MzMESWtj5;PRMmR)L%@r_6Hjk3UUy1QbveVg6K7jbFPv&s^q1x17d0=D
X@CH+z<kpO!>Mlq1rU{aQ3=Gx)<a$m%

diff --git a/JHotDraw/src/CH/ifa/draw/images/TOFRONT3.gif b/JHotDraw/src/CH/ifa/draw/images/TOFRONT3.gif
deleted file mode 100644
index 7420d65229120749ee2d9e1486bdb6c65fb26c1b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 197
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQuU$1bM;<_MV~Dq_%+%b(!CCp&C`6eFVcKv%-&l+a_STHw;77Obvv`P;OL@r
zN2LGedG}uqU+F48qf5KOwJP%Xlk2ytW}bhM>vd*c<7UTaw_dG2Zd)8#TXOuFYPGFH
j5r<BrLUToHd}^9%muEpsPI6uM6c@>Y*&^(M3=Gx)s%TZQ

diff --git a/JHotDraw/src/CH/ifa/draw/images/TRIANGLE1.gif b/JHotDraw/src/CH/ifa/draw/images/TRIANGLE1.gif
deleted file mode 100644
index d3e40b57d567538f6daf9e555ea1dcb581595cd4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 192
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu?96bM;<_eTR3;`9CY<Fv^wr(D3F}mwRPjiR|oGE4C^4JkppQFin`R(d@v1
z=Zb9BUe_l*`{Gim9e*`LdD^}Q8*cp6n0-FOWK#6)YctN8`m+8%`)tiFX)WHsr}DM7
fh2=sKHU`lW-DR#h%6`d{k|evQiLnbZFjxZsl^9UM

diff --git a/JHotDraw/src/CH/ifa/draw/images/TRIANGLE2.gif b/JHotDraw/src/CH/ifa/draw/images/TRIANGLE2.gif
deleted file mode 100644
index b6a48fdbe47c51d90395eef9902b26465af45c4b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ%j%bM;;arIKCW4@{_4*f8;-@rpG+eAPA2Pda(><*P+zZ>P^*P~h?8K%V`r
zz>`uRlh%iQ?wsOLdYMn>r?uGr!>Z+Ka>2Xz8NGXGGr2T3K~$yp`hr{8VYitR|7-cB
UO0?8eq(zywbc?VHGB8*J0ORmZ@&Et;

diff --git a/JHotDraw/src/CH/ifa/draw/images/TRIANGLE3.gif b/JHotDraw/src/CH/ifa/draw/images/TRIANGLE3.gif
deleted file mode 100644
index 6fbdab7df54ee05e19389064b599f127fa7a21b7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 191
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu3j}bM;<_MW1)PKQOs;iFvMyflc=5O$#{}#K+#dl;i#0>e_PIycvrH`&|{)
z-FWyyH!NExQna&fK_*}EM9HZ^Efqd`vjx?cSn;xLp3l7OEpJVt{g)}B^JYC<Wvf(N
dR}p4gQ_|38SJ9H?RGDio88cOkU66sn8UR={OnCqR

diff --git a/JHotDraw/src/CH/ifa/draw/images/URL1.gif b/JHotDraw/src/CH/ifa/draw/images/URL1.gif
deleted file mode 100644
index 18fecf8b5402640df3d39a92367d0d6f0c22d2f5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 222
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ4RaStOExQG&D5)XJBCX&+s2i{RgxD|NpN8
z(gD)zz%uzmgXikK4tA9l-(qhlp4ifQrdi;G+lm~ISuz>j$9d-bn7D5C)HPdPOIBOm
z`#57ws>WRYbvt<kIh0nta8G!$E^^VNk5(~>OFpz5$=iMZWP6R@`s+viPO4<()Xl32
z%5tqYYjQTJs*$U1_OjrasF~K`Y8&GiF||KNB_)kxc68cgeeF!;3XPc=3;PN-<oio(
L5oZ@<V6X-Ncz|8<

diff --git a/JHotDraw/src/CH/ifa/draw/images/URL2.gif b/JHotDraw/src/CH/ifa/draw/images/URL2.gif
deleted file mode 100644
index b328f34f69ecd307f0bcd83c4f944fa77108a87f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 216
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ4RaStOExQG&D5)XJBCX&+s2i{RgxD|NpN8
z(gD)zz|#An!E^Oq2c?pf^H;9-%5Rvc{8@pecms>&+>BgrwerO-Hs^MUJS=>%mSfAM
zw39hjmJSoujkmhmUe$S(6}+)yO+4RISE2Sb4|0x&+1>Zc+g-M_N$t{G32vdluO?-Y
z^+weeLFFwLp0PZA=}A2*sR?#@rm50Ah8`0gW%YE^-93xgwe&MQ<_Alx6K5A>V6X-N
DBkohz

diff --git a/JHotDraw/src/CH/ifa/draw/images/URL3.gif b/JHotDraw/src/CH/ifa/draw/images/URL3.gif
deleted file mode 100644
index cae0fdfbfda19073ee60e002c714f17fd0a8da03..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 230
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ4RaStOExQG&D5)XJBCX&+s2i{RgxD|NpN8
z(gD)zz%u(ogXikK4vRh?n4EB}Rz;mL`lkWElY-vDsll&Wh09l`XRYc{@OE<k%jX>a
zy7j@;zC9~mT5`Qy<@Y#!)83#>b`L%^3;1qTJJ#rMV_U%4VhJz(L+^g<kqevrtG-r2
z*<3PBt5HcVzA2z1F1D>fqn>?gcJ8FYKpii3y_vJUjSQ!%G^)(em(SHpTrR^igJF$N
T`{dFc%hV<Ih_MSYFjxZsJRDuP

diff --git a/JHotDraw/src/CH/ifa/draw/images/ZOOM1.gif b/JHotDraw/src/CH/ifa/draw/images/ZOOM1.gif
deleted file mode 100644
index 19846a6b4d508c26a6eab125e89211221bcf8337..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 149
zcmZ?wbhEHblwgoxc+3C-`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|F8Iu
z&o?n8RiQkyBtya7(>H)Y2V@4wGzJ!n4<|fV@3nY+cK3gAg{}oGHX2+F>9f|wy|yb*
l-)&mH|Ngp7#zNUHI-zcETt=BfM$^yB6nm|WG8bg91^^%4H`f3F

diff --git a/JHotDraw/src/CH/ifa/draw/images/ZOOM2.gif b/JHotDraw/src/CH/ifa/draw/images/ZOOM2.gif
deleted file mode 100644
index 6f98416d189b60f397f6dadb8cdf7ee998840895..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 130
zcmZ?wbhEHblwgoxc+3C-`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBV*cTT=jy!{ug~uOufWlhT*2T!i)qoTO>(c+&9^x`_wP01v-@{QWM(Xy&^1~4
TQ%IE7#Is9FypFmsFjxZs#+5ei

diff --git a/JHotDraw/src/CH/ifa/draw/images/ZOOM3.gif b/JHotDraw/src/CH/ifa/draw/images/ZOOM3.gif
deleted file mode 100644
index c512db3d8d2c620a556c77fbb02cf5e5ed420c0f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 949
zcmZ?wbh9u|lwgox_|5<V`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|L?}Y
zz>r$Zz_8!p`+iOi1_nk31_qXQVGRHO|Nmd3<<|r<kZHmnkYNmm-i9%BybWUzvH!lG
znSp`fx8wKy6Q=yx|LQD+KJqb)VgK7OkQRmvD6KR<f?>(qFos9M-}lEeGB6w!`o5nb
zGmIhOPx8TKdO!Cgi!Uf-VBlb2V9*KtzMt8dfdOP5$gny3nIMWmVSWU|57q!T#}H#9
zhPPqPRxu3w#W#Q7&%odSmIt}%4{HE}6$1lE9fQY*FoxSApX*`rAUO`v&-FYP{?>!o
zh6<m-^s##o8e|9yBLhS3z0dU)AHo>se1Z4{WL}#%NEU*b7`P8JFt9OLGB7YO#yT+Y
zeGOx1c^Ag;xbpXYmL(e+8JHNrVjww?8heHfjXT~!%mcAOYL3J>FxbR8FdTRn#$a^u
zJ6IpcK7p@c3@2h77)lrz7(i-4`atG^_#k<Z3(mX?V*rW0co)Vn_d3Xb3=9nK!x-+c
zq&9-g1%)k$|8K!}l<)z$1!Q)?r!WSPIv2F?0m;F_2gC-24~SO3_ql%h2XI(4Sp5IK
zAH?<v2w?z)H^@DpG~<z9;!>1Y9#dSD9OLW}lR4*o7=r}^149J^1H%Mg2Zo7@A@RiF
z=KvN5>Ei*%n*&%L#0O!JA3);BW=AZA=>7ly|8oTf28OkZzwh@E;{c~oP|WifBs4M@
zBs3~)O=(p8$pSKlK?g*F@&p6NBnEi~36Bj64mLBeC`Fvuu<&p@2b+?`hlWK*yCn3p
zrp(y5*sY(5(TC;dMwR2;Y@SI|IzBaePv`Uwv(fyp^z00U$a7nM3N@TzHWB``Ml)Fb
z!a}BcHrKAti!aVHubs5SQ*dF(a;5rnG8sWjyt-L7_FdtclI^xC{_wgpzrN-KZ%MJX
Z>)m}(`|g~a_jx>-TlEjJGcqz*0|2%6KxF^`

diff --git a/JHotDraw/src/CH/ifa/draw/images/pspbrwse.jbf b/JHotDraw/src/CH/ifa/draw/images/pspbrwse.jbf
deleted file mode 100644
index 412902ade2fab1b81d220a2717e8c91f2685093e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 21230
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
F1OVlMK6?NF

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw.jdo b/JHotDraw/src/CH/ifa/draw/samples/javadraw.jdo
deleted file mode 100644
index aa4500a1f..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw.jdo
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="CH.ifa.draw.samples.javadraw">
-    <class name="BouncingDrawing">
-    </class>
-    <class name="AnimationDecorator">
-    </class>
-  </package>
-</jdo>
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/AnimationDecorator.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/AnimationDecorator.java
deleted file mode 100644
index daf0041fc..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/AnimationDecorator.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * @(#)AnimationDecorator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	? by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import java.awt.*;
-import java.io.IOException;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class AnimationDecorator extends DecoratorFigure implements Animatable {
-
-	private int fXVelocity;
-	private int fYVelocity;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 7894632974364110685L;
-	private int animationDecoratorSerializedDataVersion = 1;
-
-	public AnimationDecorator() { }
-
-	public AnimationDecorator(Figure figure) {
-		super(figure);
-		fXVelocity = 4;
-		fYVelocity = 4;
-	}
-
-	public void velocity(int xVelocity, int yVelocity) {
-		fXVelocity = xVelocity;
-		fYVelocity = yVelocity;
-	}
-
-	public Point velocity() {
-		return new Point(fXVelocity, fYVelocity);
-	}
-
-	public void animationStep() {
-		int xSpeed = fXVelocity;
-		int ySpeed = fYVelocity;
-		Rectangle box = displayBox();
-
-		if ((box.x + box.width > 300) && (xSpeed > 0))
-			xSpeed = -xSpeed;
-
-		if ((box.y + box.height > 300) && (ySpeed > 0))
-			ySpeed = -ySpeed;
-
-		if ((box.x < 0) && (xSpeed < 0))
-			xSpeed = -xSpeed;
-
-		if ((box.y < 0) && (ySpeed < 0))
-			ySpeed = -ySpeed;
-
-		velocity(xSpeed, ySpeed);
-		moveBy(xSpeed, ySpeed);
-	}
-
-	// guard concurrent access to display box
-
-	public synchronized void basicMoveBy(int x, int y) {
-		super.basicMoveBy(x, y);
-	}
-
-	public synchronized void basicDisplayBox(Point origin, Point corner) {
-		super.basicDisplayBox(origin, corner);
-	}
-
-	public synchronized Rectangle displayBox() {
-		return super.displayBox();
-	}
-
-	//-- store / load ----------------------------------------------
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fXVelocity);
-		dw.writeInt(fYVelocity);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fXVelocity = dr.readInt();
-		fYVelocity = dr.readInt();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/Animator.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/Animator.java
deleted file mode 100644
index e9acdfb8e..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/Animator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * @(#)Animator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Animatable;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class Animator extends Thread {
-
-	private DrawingView     fView;
-	private Animatable      fAnimatable;
-
-	private volatile boolean             fIsRunning;
-	private static final int    DELAY = 1000 / 16;
-
-	public Animator(Animatable animatable, DrawingView view) {
-		super("Animator");
-		fView = view;
-		fAnimatable = animatable;
-	}
-
-	public void start() {
-		super.start();
-		fIsRunning = true;
-	}
-
-	public void end() {
-		fIsRunning = false;
-	}
-
-	public void run() {
-		while (fIsRunning) {
-			long tm = System.currentTimeMillis();
-			fView.freezeView();
-			fAnimatable.animationStep();
-			fView.checkDamage();
-			fView.unfreezeView();
-
-			// Delay for a while
-			try {
-				tm += DELAY;
-				Thread.sleep(Math.max(0, tm - System.currentTimeMillis()));
-			}
-			catch (InterruptedException e) {
-				break;
-			}
-		}
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/BouncingDrawing.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/BouncingDrawing.java
deleted file mode 100644
index bfb98f112..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/BouncingDrawing.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * @(#)BouncingDrawing.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Animatable;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class BouncingDrawing extends StandardDrawing implements Animatable {
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -8566272817418441758L;
-	private int bouncingDrawingSerializedDataVersion = 1;
-
-	public synchronized Figure add(Figure figure) {
-		if (!(figure instanceof AnimationDecorator) &&
-			!(figure instanceof ConnectionFigure)) {
-			figure = new AnimationDecorator(figure);
-		}
-		return super.add(figure);
-	}
-
-	public synchronized Figure remove(Figure figure) {
-		Figure f = super.remove(figure);
-		if (f instanceof AnimationDecorator) {
-			return ((AnimationDecorator) f).peelDecoration();
-		}
-		return f;
-	}
-
-	/**
-	 * @param figure figure to be replaced
-	 * @param replacement figure that should replace the specified figure
-	 * @return the figure that has been inserted (might be different from the figure specified)
-	 */
-	public synchronized Figure replace(Figure figure, Figure replacement) {
-		if (!(replacement instanceof AnimationDecorator) &&
-			!(replacement instanceof ConnectionFigure)) {
-			replacement = new AnimationDecorator(replacement);
-		}
-		return super.replace(figure, replacement);
-	}
-
-	public void animationStep() {
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-			
-			if(!(f instanceof ConnectionFigure)) {
-				((AnimationDecorator) f).animationStep();
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/FollowURLTool.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/FollowURLTool.java
deleted file mode 100644
index c582b3d69..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/FollowURLTool.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * @(#)FollowURLTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import javax.swing.JApplet;
-import java.awt.event.*;
-import java.net.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.AbstractTool;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-class FollowURLTool extends AbstractTool {
-	 private JApplet         fApplet;
-
-	 FollowURLTool(DrawingEditor newDrawingEditor, JApplet applet) {
-		super(newDrawingEditor);
-		fApplet = applet;
-	 }
-
-	/**
-	 * Handles mouse move events in the drawing view.
-	 */
-	public void mouseMove(MouseEvent e, int x, int y) {
-		String urlstring = null;
-		Figure figure = drawing().findFigureInside(x,y);
-		if (figure != null) {
-			urlstring = (String) figure.getAttribute(FigureAttributeConstant.URL);
-		}
-		if (urlstring != null) {
-			fApplet.showStatus(urlstring);
-		}
-		else {
-			fApplet.showStatus("");
-		}
-	}
-
-	/**
-	 * Handles mouse up in the drawing view
-	 * assuming mouseUp came from active drawing.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		Figure figure = getActiveDrawing().findFigureInside(x, y);
-		if (figure == null) {
-			return;
-		}
-		String urlstring = (String) figure.getAttribute(FigureAttributeConstant.URL);
-		if (urlstring == null) {
-			return;
-		}
-
-		try {
-			URL url = new URL(fApplet.getDocumentBase(), urlstring);
-			fApplet.getAppletContext().showDocument(url);
-		}
-		catch (MalformedURLException exception) {
-			fApplet.showStatus(exception.toString());
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApp.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApp.java
deleted file mode 100644
index 6ed086d2e..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApp.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * @(#)JavaDrawApp.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.application.*;
-import CH.ifa.draw.contrib.*;
-import CH.ifa.draw.contrib.html.HTMLTextAreaFigure;
-import CH.ifa.draw.contrib.html.HTMLTextAreaTool;
-import CH.ifa.draw.contrib.zoom.ZoomDrawingView;
-import CH.ifa.draw.contrib.zoom.ZoomTool;
-
-import javax.swing.*;
-import java.awt.*;
-import java.io.*;
-import java.net.URL;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class JavaDrawApp extends MDI_DrawApplication {
-
-	private Animator            fAnimator;
-	private static String       fgSampleImagesPath = "/CH/ifa/draw/samples/javadraw/sampleimages";
-	private static String       fgSampleImagesResourcePath = fgSampleImagesPath + "/";
-
-	JavaDrawApp() {
-		super("JHotDraw");
-	}
-
-	/**
-	 * Expose constructor for benefit of subclasses.
-	 *
-	 * @param title The window title for this application's frame.
-	 */
-	public JavaDrawApp(String title) {
-		super(title);
-	}
-
-	/**
-	 * Factory method which create a new instance of this
-	 * application.
-	 *
-	 * @return	newly created application
-	 */
-	protected DrawApplication createApplication() {
-		return new JavaDrawApp();
-	}
-
-	protected DrawingView createDrawingView(Drawing newDrawing) {
-		Dimension d = getDrawingViewSize();
-		DrawingView newDrawingView = new ZoomDrawingView(this, d.width, d.height);
-		newDrawingView.setDrawing(newDrawing);
-		// notify listeners about created view when the view is added to the desktop
-		//fireViewCreatedEvent(newDrawingView);
-		return newDrawingView;
-	}
-
-	//-- application life cycle --------------------------------------------
-
-	public void destroy() {
-		super.destroy();
-		endAnimation();
-	}
-
-	//-- DrawApplication overrides -----------------------------------------
-
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-
-		Tool tool = new ZoomTool(this);
-		palette.add(createToolButton(IMAGES + "ZOOM", "Zoom Tool", tool));
-
-		tool = new UndoableTool(new TextTool(this, new TextFigure()));
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		tool = new UndoableTool(new ConnectedTextTool(this, new TextFigure()));
-		palette.add(createToolButton(IMAGES + "ATEXT", "Connected Text Tool", tool));
-
-		tool = new URLTool(this);
-		palette.add(createToolButton(IMAGES + "URL", "URL Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new RectangleFigure()));
-		palette.add(createToolButton(IMAGES + "RECT", "Rectangle Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new RoundRectangleFigure()));
-		palette.add(createToolButton(IMAGES + "RRECT", "Round Rectangle Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new EllipseFigure()));
-		palette.add(createToolButton(IMAGES + "ELLIPSE", "Ellipse Tool", tool));
-
-		tool = new UndoableTool(new PolygonTool(this));
-		palette.add(createToolButton(IMAGES + "POLYGON", "Polygon Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new TriangleFigure()));
-		palette.add(createToolButton(IMAGES + "TRIANGLE", "Triangle Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new DiamondFigure()));
-		palette.add(createToolButton(IMAGES + "DIAMOND", "Diamond Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new LineFigure()));
-		palette.add(createToolButton(IMAGES + "LINE", "Line Tool", tool));
-
-		tool = new UndoableTool(new ConnectionTool(this, new LineConnection()));
-		palette.add(createToolButton(IMAGES + "CONN", "Connection Tool", tool));
-
-		tool = new UndoableTool(new ConnectionTool(this, new ElbowConnection()));
-		palette.add(createToolButton(IMAGES + "OCONN", "Elbow Connection Tool", tool));
-
-		tool = new UndoableTool(new ScribbleTool(this));
-		palette.add(createToolButton(IMAGES + "SCRIBBL", "Scribble Tool", tool));
-
-		tool = new UndoableTool(new BorderTool(this));
-		palette.add(createToolButton(IMAGES + "BORDDEC", "Border Tool", tool));
-
-		Component button = new JButton("Hello World");
-		tool = new CreationTool(this, new ComponentFigure(button));
-		palette.add(createToolButton(IMAGES + "RECT", "Component Tool", tool));
-
-		tool = new TextAreaTool(this, new TextAreaFigure());
-		palette.add(createToolButton(IMAGES + "TEXTAREA", "TextArea Tool", tool));
-
-		GraphicalCompositeFigure fig = new GraphicalCompositeFigure();
-		fig.setLayouter(new SimpleLayouter(fig));
-		tool = new CreationTool(this, fig);
-		palette.add(createToolButton(IMAGES + "RECT", "Container Figure Tool", tool));
-
-		tool = new CompositeFigureCreationTool(this, new RectangleFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Nested Figure Tool", tool));
-
-		tool = new HTMLTextAreaTool(this, new HTMLTextAreaFigure());
-		palette.add(createToolButton(IMAGES + "TEXTAREA", "HTML TextArea Tool", tool));
-
-		LineConnection lineConnection = new LineConnection();
-		lineConnection.setStartDecoration(null);
-		tool = new UndoableTool(new SplitConnectionTool(this, lineConnection));
-		palette.add(createToolButton(IMAGES + "OCONN", "Split Connection Tool", tool));
-	}
-
-	protected Tool createSelectionTool() {
-		return new MySelectionTool(this);
-	}
-
-	protected void createMenus(JMenuBar mb) {
-		super.createMenus(mb);
-		addMenuIfPossible(mb, createAnimationMenu());
-		addMenuIfPossible(mb, createImagesMenu());
-		addMenuIfPossible(mb, createWindowMenu());
-	}
-
-	protected JMenu createAnimationMenu() {
-		CommandMenu menu = new CommandMenu("Animation");
-		Command cmd = new AbstractCommand("Start Animation", this) {
-			public void execute() {
-				startAnimation();
-			}
-		};
-		menu.add(cmd);
-
-		cmd = new AbstractCommand("Stop Animation", this) {
-			public void execute() {
-				endAnimation();
-			}
-		};
-		menu.add(cmd);
-		return menu;
-	}
-
-	protected JMenu createWindowMenu() {
-		CommandMenu menu = new CommandMenu("Window");
-		Command cmd = new AbstractCommand("New View", this) {
-			public void execute() {
-				newView();
-			}
-		};
-		menu.add(cmd);
-
-		cmd = new AbstractCommand("New Window", this, false) {
-			public void execute() {
-				newWindow(createDrawing());
-			}
-		};
-		menu.add(cmd);
-
-		menu.addSeparator();
-		menu.add(new WindowMenu("Window List", (MDIDesktopPane)getDesktop(), this));
-		return menu;
-	}
-
-	protected JMenu createImagesMenu() {
-		CommandMenu menu = new CommandMenu("Images");
-		URL url = getClass().getResource(fgSampleImagesPath);
-		if (url == null) {
-			throw new JHotDrawRuntimeException("Could not locate images: " + fgSampleImagesPath);
-		}
-		File imagesDirectory = new File(url.getFile());
-
-		try {
-			String[] list = imagesDirectory.list();
-			for (int i = 0; i < list.length; i++) {
-				String name = list[i];
-				String path = fgSampleImagesResourcePath+name;
-				menu.add(new UndoableCommand(
-					new InsertImageCommand(name, path, this)));
-			}
-		}
-		catch (Exception e) {
-			// do nothing
-		}
-		return menu;
-	}
-
-	protected Drawing createDrawing() {
-		Drawing dwg = new BouncingDrawing();
-        dwg.setTitle(getDefaultDrawingTitle());
-		return dwg;
-		//return new StandardDrawing();
-	}
-
-	//---- animation support --------------------------------------------
-
-	public void startAnimation() {
-		if (view().drawing() instanceof Animatable && fAnimator == null) {
-			fAnimator = new Animator((Animatable)view().drawing(), view());
-			fAnimator.start();
-		}
-	}
-
-	public void endAnimation() {
-		if (fAnimator != null) {
-			fAnimator.end();
-			fAnimator = null;
-		}
-	}
-
-	protected JMenu createDebugMenu() {
-		CommandMenu menu = (CommandMenu)super.createDebugMenu();
-
-		Command cmd = new AbstractCommand("Clipping Update", this) {
-			public void execute() {
-				this.view().setDisplayUpdate(new ClippingUpdateStrategy());
-			}
-		};
-		menu.add(cmd);
-
-		return menu;
-	}
-
-	//-- main -----------------------------------------------------------
-
-	public static void main(String[] args) {
-		JavaDrawApp window = new JavaDrawApp();
-		window.open();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApplet.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApplet.java
deleted file mode 100644
index 602655c6c..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApplet.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * @(#)JavaDrawApplet.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.applet.*;
-import CH.ifa.draw.contrib.*;
-
-import javax.swing.*;
-import java.awt.event.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class JavaDrawApplet extends DrawApplet {
-
-    transient private JButton   fAnimationButton;
-	transient private Animator        fAnimator;
-
-	//-- applet life cycle --------------------------------------------
-
-	public void destroy() {
-		super.destroy();
-		endAnimation();
-	}
-
-	//-- DrawApplet overrides -----------------------------------------
-
-	protected void createTools(JPanel palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		tool = new ConnectedTextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES + "ATEXT", "Connected Text Tool", tool));
-
-		tool = new URLTool(this);
-		palette.add(createToolButton(IMAGES + "URL", "URL Tool", tool));
-
-		tool = new CreationTool(this, new RectangleFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new RoundRectangleFigure());
-		palette.add(createToolButton(IMAGES + "RRECT", "Round Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new EllipseFigure());
-		palette.add(createToolButton(IMAGES + "ELLIPSE", "Ellipse Tool", tool));
-
-		tool = new PolygonTool(this);
-		palette.add(createToolButton(IMAGES + "POLYGON", "Polygon Tool", tool));
-
-		tool = new CreationTool(this, new TriangleFigure());
-		palette.add(createToolButton(IMAGES + "TRIANGLE", "Triangle Tool", tool));
-
-		tool = new CreationTool(this, new DiamondFigure());
-		palette.add(createToolButton(IMAGES + "DIAMOND", "Diamond Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES + "LINE", "Line Tool", tool));
-
-		tool = new ConnectionTool(this, new LineConnection());
-		palette.add(createToolButton(IMAGES + "CONN", "Connection Tool", tool));
-
-		tool = new ConnectionTool(this, new ElbowConnection());
-		palette.add(createToolButton(IMAGES + "OCONN", "Elbow Connection Tool", tool));
-
-		tool = new ScribbleTool(this);
-		palette.add(createToolButton(IMAGES + "SCRIBBL", "Scribble Tool", tool));
-
-		tool = new PolygonTool(this);
-		palette.add(createToolButton(IMAGES + "POLYGON", "Polygon Tool", tool));
-
-		tool = new BorderTool(this);
-		palette.add(createToolButton(IMAGES + "BORDDEC", "Border Tool", tool));
-	}
-
-	protected void createButtons(JPanel panel) {
-		super.createButtons(panel);
-		fAnimationButton = new JButton("Start Animation");
-		fAnimationButton.addActionListener(
-			new ActionListener() {
-				public void actionPerformed(ActionEvent event) {
-					toggleAnimation();
-				}
-			}
-		);
-		panel.add(fAnimationButton);
-	}
-
-	protected Drawing createDrawing() {
-		return new BouncingDrawing();
-	}
-
-	//-- animation support ----------------------------------------------
-
-	public void startAnimation() {
-		if ((drawing() instanceof Animatable) && (fAnimator == null)) {
-			fAnimator = new Animator((Animatable)drawing(), view());
-			fAnimator.start();
-			fAnimationButton.setText("End Animation");
-		}
-	}
-
-	public void endAnimation() {
-		if (fAnimator != null) {
-			fAnimator.end();
-			fAnimator = null;
-			fAnimationButton.setText("Start Animation");
-		}
-	}
-
-	public void toggleAnimation() {
-		if (fAnimator != null)
-			endAnimation();
-		else
-			startAnimation();
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawAppletHelp.html b/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawAppletHelp.html
deleted file mode 100644
index 5c0d1c80e..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawAppletHelp.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<html>
-
-<head>
-  <title>JavaDraw Help</title>
-</head>
-
-<body>
-<H1>JavaDraw Help</H1>
-<HR>
-JavaDraw provides <a href=#tools>tools</a>, <a href=#handles>handles</a>,
-and <a href=#commands>commands</a> to manipulate a drawing.
-<P>
-<H3><a name=tools>Tools</a></H3>
-The tools on the left create or manipulate figures.
-<Table Border=0>
-<TR><TD><img src="../../images/SEL1.gif"><TD>selects, moves or resizes a figure; the shift-key
-toggles the selection. Dragging the selection tool in the background
-selects the figures within the dragged rectangle.
-<TR><TD><img src="../../images/TEXT1.gif"><TD>creates a new or edits an existing text figure</TR>
-<TR><TD><img src="../../images/ATEXT1.gif"><TD>creates a new text figure and attaches it to the clicked figure. Once
-a text figure is attached it remains connected to the figure.</TR>
-<TR><TD><img src="../../images/URL1.gif"><TD>edits a figure's URL attribute; the URL thus associated
-with a figure is followed when the figure is clicked in
-the <a href="../../../../../JavaDrawViewer.html">viewer applet</a></TR>
-<TR><TD><img src="../../images/RECT1.gif"><TD>creates a rectangle figure</TR>
-<TR><TD><img src="../../images/RRECT1.gif"><TD>creates a round rectangle figure</TR>
-<TR><TD><img src="../../images/ELLIPSE1.gif"><TD>creates an ellipse figure</TR>
-<TR><TD><img src="../../images/LINE1.gif"><TD>creates a line figure</TR>
-<TR><TD><img src="../../images/CONN1.gif"><TD>creates or adjusts connections between figures. A connection
-is split into segments by dragging a point on the connection. To join two segments click the end point of a segment</TR>
-<TR><TD><img src="../../images/OCONN1.gif"><TD>creates an elbow connection and offers the same features as the ordinary connection tool</TR>
-<TR><TD><img src="../../images/SCRIBBL1.gif"><TD>creates a scribble figure; dragging the mouse creates
-a smooth line while successive clicks yields a polyline figure</TR>
-<TR><TD><img src="../../images/BORDDEC1.gif"><TD>decorates the clicked figure with a border</TR>
-</Table>
-
-
-<H3><a name=handles>Handles</a></H3>
-When selected figures provide different handles to manipulate them.
-<ul>
-<li>
-the filled red handles enable to manipulate the shape of a figure
-<li>
-the blue circle handle is a connection handle. It allows to create connections
-between figures.
-<li>
-the framed red handles are null handles. They only show the selection status
-of a figure but don't support any manipulation.
-<li>
-the green handles are shown on connections. They enable to
-reconnect them with another figure.
-<li>
-the yellow handle enables to change the font size of a text figure or the
-size of the radius of a rounded rectangle.
-</ul>
-<H3><a name=commands>Commands</a></H3>
-Commands are invoked from the button bar at the bottom (applet) or
-from the menu bar at the top (application).
-<P>
-The standard commands that are provided include, cut, copy, paste,
-duplicate, delete, group, ungroup, bring to front, and send to back.
-<P>
-<H3>Attributes</H3>
-Attributes, such as fill color, text color or arrow tip, can be changed
-through the attributes menu (stand-alone) or the pop up menues (applet).
-
-<hr>
-Comments or questions to <a href="mailto:erich_gamma@acm.org">Erich Gamma</a>
-</html>
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawViewer.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawViewer.java
deleted file mode 100644
index c3a3eb078..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawViewer.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * @(#)JavaDrawViewer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-import javax.swing.JApplet;
-import java.awt.*;
-import java.io.*;
-import java.net.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class JavaDrawViewer extends JApplet implements DrawingEditor {
-
-	private Drawing         fDrawing;
-	private Tool            fTool;
-	private StandardDrawingView fView;
-	private transient 		UndoManager myUndoManager;
-
-	public void init() {
-		setUndoManager(new UndoManager());
-		getContentPane().setLayout(new BorderLayout());
-		fView = new StandardDrawingView(this, 400, 370);
-		getContentPane().add("Center", fView);
-		setTool(new FollowURLTool(this, this));
-
-		String filename = getParameter("Drawing");
-		if (filename != null) {
-			loadDrawing(filename);
-			fView.setDrawing(fDrawing);
-		}
-		else {
-			showStatus("Unable to load drawing");
-		}
-	}
-
-	public void addViewChangeListener(ViewChangeListener vsl)  {
-	}
-
-	public void removeViewChangeListener(ViewChangeListener vsl) {
-	}
-
-	private void loadDrawing(String filename) {
-		try {
-			URL url = new URL(getCodeBase(), filename);
-			InputStream stream = url.openStream();
-			StorableInput reader = new StorableInput(stream);
-			fDrawing = (Drawing)reader.readStorable();
-		}
-		catch (IOException e) {
-			fDrawing = createDrawing();
-			System.err.println("Error when Loading: " + e);
-			showStatus("Error when Loading: " + e);
-		}
-	}
-
-	protected Drawing createDrawing() {
-		return new StandardDrawing();
-	}
-
-	/**
-	 * Gets the editor's drawing view.
-	 */
-	public DrawingView view() {
-		return fView;
-	}
-
-	public DrawingView[] views() {
-		return new DrawingView[] { view() };
-	}
-
-	/**
-	 * Gets the editor's drawing.
-	 */
-	public Drawing drawing() {
-		return fDrawing;
-	}
-
-	/**
-	 * Gets the current the tool (there is only one):
-	 */
-	public Tool tool() {
-		return fTool;
-	}
-
-	/**
-     * Sets the current the tool
-     */
-	public void setTool(Tool newTool) {
-		fTool = newTool;
-	}
-
-    /**
-	 * Sets the editor's default tool. Do nothing since we only have one tool.
-	 */
-	public void toolDone() {}
-
-	/**
-	 * Ignore selection changes, we don't show any selection
-	 */
-	public void figureSelectionChanged(DrawingView view) {}
-
-	protected void setUndoManager(UndoManager newUndoManager) {
-		myUndoManager = newUndoManager;
-	}
-
-	public UndoManager getUndoManager() {
-		return myUndoManager;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/MySelectionTool.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/MySelectionTool.java
deleted file mode 100644
index ed21e927d..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/MySelectionTool.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @(#)MySelectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import java.awt.event.MouseEvent;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * A SelectionTool that interprets double clicks to inspect the clicked figure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class MySelectionTool extends SelectionTool {
-
-	public MySelectionTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	/**
-	 * Handles mouse down events and starts the corresponding tracker.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		if (e.getClickCount() == 2) {
-			Figure figure = drawing().findFigure(e.getX(), e.getY());
-			if (figure != null) {
-				inspectFigure(figure);
-				return;
-			}
-		}
-		super.mouseDown(e, x, y);
-	}
-
-	protected void inspectFigure(Figure f) {
-		System.out.println("inspect figure"+f);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/PatternPainter.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/PatternPainter.java
deleted file mode 100644
index 869db577f..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/PatternPainter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)PatternPainter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * PatternDrawer a background that can be added to a drawing.
- *
- * @see DrawingView
- * @see Painter
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class PatternPainter
-		implements Painter {
-
-	private Image   fImage;
-
-	public PatternPainter(Image image) {
-		fImage = image;
-	}
-
-	public void draw(Graphics g, DrawingView view) {
-		drawPattern(g, fImage, view);
-	}
-
-	/**
-	 * Draws a pattern background pattern by replicating an image.
-	 */
-	private void drawPattern(Graphics g, Image image, DrawingView view) {
-		int iwidth = image.getWidth(view);
-		int iheight = image.getHeight(view);
-		Dimension d = view.getSize();
-		int x = 0;
-		int y = 0;
-
-		while (y < d.height) {
-			while (x < d.width) {
-				g.drawImage(image, x, y, view);
-				x += iwidth;
-			}
-			y += iheight;
-			x = 0;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/URLTool.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/URLTool.java
deleted file mode 100644
index 32b078cef..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/URLTool.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * @(#)URLTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.FloatingTextField;
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * A tool to attach URLs to figures.
- * The URLs are stored in the figure's "URL" attribute.
- * The URL text is entered with a FloatingTextField.
- *
- * @see CH.ifa.draw.util.FloatingTextField
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class URLTool extends AbstractTool {
-
-	private FloatingTextField   fTextField;
-	private Figure              fURLTarget;
-
-	public URLTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y)
-	{
-		super.mouseDown(e,x,y);
-		Figure pressedFigure = drawing().findFigureInside(x, y);
-		if (pressedFigure != null) {
-			beginEdit(pressedFigure);
-			return;
-		}
-		endEdit();
-		editor().toolDone();
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-	}
-
-	public void deactivate(DrawingView view) {
-		super.deactivate();
-		endEdit();
-	}
-
-	private void beginEdit(Figure figure) {
-		if (fTextField == null) {
-			fTextField = new FloatingTextField();
-			fTextField.addActionListener(
-				new ActionListener() {
-					public void actionPerformed(ActionEvent event) {
-						endEdit();
-					}
-				}
-			);
-		}
-
-		if ((figure != fURLTarget) && (fURLTarget != null)) {
-			endEdit();
-		}
-		if (figure != fURLTarget) {
-			fTextField.createOverlay((Container)view());
-			fTextField.setBounds(fieldBounds(figure), getURL(figure));
-			fURLTarget = figure;
-		}
-	}
-
-	private void endEdit() {
-		if (fURLTarget != null) {
-			setURL(fURLTarget, fTextField.getText());
-			fURLTarget = null;
-			fTextField.endOverlay();
-		}
-	}
-
-	private Rectangle fieldBounds(Figure figure) {
-		Rectangle box = figure.displayBox();
-		int nChars = Math.max(20, getURL(figure).length());
-		Dimension d = fTextField.getPreferredSize(nChars);
-		box.x = Math.max(0, box.x + (box.width - d.width)/2);
-		box.y = Math.max(0, box.y + (box.height - d.height)/2);
-		return new Rectangle(box.x, box.y, d.width, d.height);
-	}
-
-	private String getURL(Figure figure) {
-		String url = (String) figure.getAttribute(FigureAttributeConstant.URL);
-		if (url == null) {
-			url = "";
-		}
-		return url;
-	}
-
-	private void setURL(Figure figure, String url) {
-		figure.setAttribute(FigureAttributeConstant.URL, url);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/DUKE.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/DUKE.gif
deleted file mode 100644
index 4f31ce593f3d96d76ebbb515cd98d83fbca46bda..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2012
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

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/Juggler0.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/Juggler0.gif
deleted file mode 100644
index 577f7a9f03200f81d1ed3931620cb0045dca83d0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3090
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
BE@%J%

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/backgrnd.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/backgrnd.gif
deleted file mode 100644
index 602f909c9784eeaeca9896a78116ea9555007e2d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2443
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
Q3+vUg`y?D;VPUWa03CMQ`~Uy|

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/beans.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/beans.gif
deleted file mode 100644
index 4a0370f09c9a0738190af806989f58e66f882b4d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7012
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

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/bg1.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/bg1.gif
deleted file mode 100644
index d54150cd9ed3fb7b1737d16b24dd39950b914af9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2164
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

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/javacentral.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/javacentral.gif
deleted file mode 100644
index bbba907bb45e0a98aef00d8fe8444345a2d72e24..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 37239
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

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/joe.surf.yellow.small.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/joe.surf.yellow.small.gif
deleted file mode 100644
index 7f255f52f968dda6d4bbdeccd75dacee6a2873e5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5009
zcmZ?wbhEHbOkpTt_|Cxa|NsAM*RGvAckbA+V|(}RUAuPe(xpr1%$YM~%9NItmg?&2
z;^N}$?Cj*^WG5#lOG`^bLqknXO$iB!V|(|mUAlD6lqoIM)esdyUS3{cMVg9=5&{AO
z92|-Q0ume?iX0qK0s@vC9Mu8>91IM_UWSGe98s2vPMQ)u*+IoYmOaT%OXo~!sV+XZ
zcWrW1kdvjMqJ%(@rQ)0^J=czH4f1j_)KpCNGK_N4oRaNS9AtQ`C#WacGTTd2LV&|i
z5oGAvrE_{(s<V@$j!lVLTJ1HbI;bbxsU_KRPO(#Ul;PH%pmTGgjx8--+7dLU+Uxn&
z>?y@gPKFZI*+D(UUM<;9=awcPn-leZZ}#(h=brB^-Z~}f-q!53JweyjCRZn0DoSu%
z+gf~VY4ZDH#e3&OwPafcIVnmAFnoW1@BQ;@*Us(Tx^~XBt=UU^g8pBtKDRdc*wQFX
zMS=hKdfuO_etxWY>zt^2d$ZS037XU5l^mqGcWLtfdo9P-CV#(Hy>)5v+BwP3&sBfF
z*K+Sz@x5c&|DU(?v_utWJ007aeD2tk@6UVwzwdefe9pCVE&snyxp(i{v15C;ZUx2C
zlqo$uJ)p3E{`}gtYsZcq+Zq)Wl$;zD6y){&`#mo&r>H0=MMVh-34#Crrw9mecm+8f
zJ9ljFvAs*zE}b%G3dow|C{0661`dXE*RD;OGbg*a_}sZ`$Bv!r>6zl><Yj1RX=vzG
zoV?XgGbqYyN^;QB<e)igmmc$SO75xNn;kXBP}3{fYwglGd#AMQb+U}APTrdxv^Lpm
zX-oFr>g27(QER;{i?^;lwsz^>IX!!egSPe*Z(TZN@0^ysd$%4l)U?!8G}M$Z4Dt$6
zlu%q+-Qy&od8~R$kEU0$gyCAnptTZSK^%%(y|P;*EG;=Cwn}(a3m8UmD6UoX>XEQa
z7SLQO;j~u5X{}*Uv4r7PMXziD&7}gCTc^y?<Pex6VL3&>utz}CNkF1SKyj;p=D8_z
zoHzuINoWRf2z*yGJSU-fO+vGpLx6#SLGdRGBLf37gAM}&0|O{eFmU{5VCRtW*pT4J
z$i$-+b7I57!|ejfQZ1~j9U5DNjI-{Xn7EKZyk1Y^z>SSdPEKam+!=W!!+8yZM)IjM
z8V4G>TrJ+#7&#OzJ3pU^RbYeTalv!0)+#Y9r$W*W`T6ubDpAQeX2N7UJL{^(f`fgo
zLCe`DP1bsSZ8IOM0z**At3dZuD;b0CZF-Ii1@}nYtrl56g`N4ut+mn)js5%j4n5K_
zX=Pk}a6+@tj*qHq9<9uq!qs=i#GzTU_TWC-s0_ErbET{vLQ~a49$oLe+qCs^qx!4O
zOjeA7EMjGE?z<JAxK$&a>dPPS?N^xIRlzxYYdggCf3A|6wdi#3xu3Nr?xrs<n{)l|
zxT1LS>Goom@2!Uwg?@YxiZpcCoElhlaYOZSyH(2%R{!8vJ#tX!+sfy+%l19Ia$Mb;
zF=G+~`yYn(q%)yA;xm_9MoePhI}_lM5xjSqe0d+kqM2<nz1JB<6!x*k)LCdQ@@msa
zdm<@Sy5)sZoq^t`c9!C+8i7uN3ku@9*XNoi<+NHDb+P^DtdtS9YTL26Blz!)1rzvK
z3l5gLD|JTn>o_i8@QE=~VbBzK(hxkOWADpHb-_CyI82dR^{g?j=v3GVnO2cQ$7NcU
zrAzvCx@<_D#m2hf0Dt3-uMd;z@3E^d+<SDzshK@mQv_Iy@2HC|tUslx(a|jR;$*>G
zDHR7sRfYeK4`ph;h-N58#zZ}cYl~<OU0ps`X<?E3#b0R)0!}<^UAyVwl@1op1)Ogf
z7*!P7<!dx|daUhc$#UWR&yv`(^q1%k4;~XHX$I!tE4%KuS{ODSvwy%Qc(t}*OX_^(
zb_anQTdpj7^lU~;)^#_DFVh(EIO2V-whJBA+tkkTj`575go2e&yTYxv6E+-r!1U04
z`@$U;T_Z|QIGjvAAXMoxzk5q#Ye@MYhxhgt&(Aa|#~m=_=srHHExpjR(a3H4WW7Z#
z@})fwJ4C)TE$|ok(XhclHuuee<3fA(avsz9zfJ3arcsXIi`tfiH?88W3mS?!{ysVE
z&%yP7@eyg`2^*bL-5>rhOj^BuLDAc_@{cwimhmW=*eYYueBr#^-<E>UJauO-uu3>Q
zzS4TidGRw1fqa2|9&%Coj&5R!SF+FB{j6YkXRkTI@UVEA%Ejx_4mt|Di|1`Uef)j1
z5+j>@`jp1sXO-RrpVwN?{E<~4cShsKz?uagVozUP@ZtB`?im|h6w_aPbmQY>4?NFN
z`u}mWVB&;AH_<L#LmADa{6)vN$=A(r=WCtu&`~UIh4hX~-}#l#B(MekVC-%%XIEud
zRy^_Hg>a^;Yh4d8mPGtGE)+0*L;t~d(VhuToR1V%1l?3*y4awQVzGs(ST~K$N`vKR
z&w`fg4|!tb0-U%c%vwbXUi+T^ExP!>#v_KFgPMHy2~3ht0+{3s8aqq5o%xpqIH-zz
z@NLjKBAcgh#6;CaG>pTQ^><R6(1rz^#saN;QxY}{u_&?!e`w&FA<!aH(i@br<KQBz
zMNS<Y3_{mdG)YWu6SkWo$l>MCD4oA-gS^f{c1I2;NvF?>_Dd8z_`6)hYn2*;ST1R_
z*my}wu(yab@TA+%U_8{&!0PaIX;|G1Cbgdy47@JgnobiL{)ib%&G~VV&r(9+#DS?z
z>K7hHM7+7ilXUU;frJP0f*jK7oC~~H7Igc)bUef_G2P&L<qFGhg{j+%8XD|Y9W7Pe
zaNyk>Cx+|@#!Ou=f7vG&n2$A{VODcs7C-RvKS#I~Q_Ylshs%YI9ZjoRB_dRzuBge<
zDx-67qP>PA-;)DOws-U$YaJPvTL>|D@qCsSk62!K>!(rlUG;i9heIMW7`E1*ap0`_
z;ItwkS!3l3$8t?61{S-pCi#E^3)nN$MIBVE?0z(GMk(L7Ka|iStFSeObJt1_#h|r`
z*UqvnSs-s+dUKHw+bN!i7mSiiHn6Bl9OUq5Xo}mid5P<jgvBO;2iUAC&PPfepRB6t
z%eh^gUCqRiYyazMA{!>K-1}kdC^a{0x|-sF{<KG;#)4g@UZ-sB1m2aqEjVoW`FXp(
z%-KzQd(KKSof4gUuV?xHA4gakq(tWOO)ZE!JAXme)T5673*UPvEjq>XhHGND&Vf~j
zSj5>Pq$T)%9@w<qDen@G>&l9>GyLWo&Q4JJ*cr_9U0!a&yJn6HoeEP9aGZ3_i+8!Y
z)}WKmrSghisN{hY(otXK1DcL{vMlJFb5@}wZtbPYF40r2Pc|kAN}g9QDvNqBEkUU3
zEC;*Lw?>U8<$LmOzE3hxRd*5zQCeTIj5qg1T!HK51*;C^aXv{f<9fy6eKv|GLzAPO
z`}af!8H-eQPMtFk?KBwIM>FOax6Rku>$$VLqq$rDQlRAi>C06GSQ~y?aI)W7aHQ(2
zM5`XNhQi~6@$Vf^#F*zi=r?Oft+8pCd@|utQmUa#yVbS%Wq-soSH1ktaPMwGd-H9N
zua{UD<qkyhIW5-?nk(YxV%sGm;~;3CmUN6|+3V_sR|L<OeCA5-nbH4JWY+I55B#D+
zgBh(3BubS>COU2?cIkSvOTJ^_{xfesPC8dCFCWu?g4-f@(R%JXJ`M(od;v4GST5f8
zG-N;f{?wG(1K*#vA8=Z?>73*Vl@FW(Ef1I#9MYA)OC&I5I5BAnq<3AkQ4=}d7S`+e
z!67bnv&-{0!n0N!Fx{faUpXUL=J|r->`fo|OFsn)Nnc=|S-o;z(NF2c`&gWq4hT1R
z?cv*TqvE)#-bCKgBh0cdU$h;$XxLZa;lMHX^%KAUjm-8cYn{%XI+rSA=znil7K8Nv
z1)C2&SlF9$=dtwDf_Cc*7ki65{yckF!Qiwbh#^p84YQxd)$R_}*>alfd_0rRRn+js
z2sALu22B5X=Ca_&+2zWzFB;q}y`_`+|197ZWG<PrL}qrtgNMTG1^x_W@3dG-EM)@Q
zt*)(<`&e|t=FyuEZEKGjcQT%TFzcIV=nX^HhnAA6B0(Jo*z6`UvPv*$=ZK%!Rnc{>
z_>Al$f$cl5uGZ@-TXE<tW1kC44tt{f?0*{81q_T)2N~E46qsf%Xt^b*)F9B^#5`NV
zi96;2V?luIBh&Re@4mjrTQ+6!XBmdSE2I;aTzc*C#>Lf<`P#lRCWQvZnKvBNwE`Jl
zS1T}2+R^e~^~!`cQ;!6hkoRonr#@ECa=!b_O#HZ|o#O8k`YPI2KP{|Uz;7)7_}w%|
zMTV>HoHxI7IzC{WIDsu|0o$|$&gl${PY&>!i}Qan;Qw0CC=tQ`Nr3+@1OLndhS>#-
zr<P|LF_bAE&sx5nL)Be;i#Y>ZI&Zc?9nT8Z%mPNm19f6A_*EY8+w5qzxzYS&LKJ5q
zqhtU>ws-=w0Hd3MmW@)5o=eE&Ah!7%QsxC!OD$mKwrI}Uz_#iE@3R1Ydx^HB4t`Yu
zX4wV?#sgea7BKQSv}R4>v@j6mm?W=ss6J&2W9u_PmJ5vH3mUjHI3s4T%}C(=aDnex
zK%-<u<6{TD4*^Vb|0{3`PGIC@jGXy_Q|yD>)gtCQM(w9RstH{ax7$#j)s*h^pq+O{
zYvuvARSy^y1o)nB;C;J+@Ad=UhXT1W1&q2Mm}XvJyduQVAHeYc0%v3z!~6>dtedm$
zhpDQYvKDL=U~FKtXW*<m(Ga<UElPk>Zv&?w1J@!2F4+r=3mU4YUSQHyV3}^f^8W+F
zlmbR^0Y<ro!n!5FwgG8M*ZosIiD}Oe;}>9z@aVldqcvNAQ`dociUEtW1E<Larkn$8
zP6{mg3)p5TFm`TZ2;8Lic2i6tlb8B7@zev1v!7^9RA8K9(0gSDo61U7Qvpuyos+aB
zIkOvDr#)a;p33}fx)?hHSHl1Dq?1=V&wdpDv{Y@10^^Ji?T^))|G#LDD&Wj+;MD)X
zG^2p?>I^oQ2?jC=MOjV^f(D+_KlN-l#jGcAO}HvB?_mG`iYZUr>(nwQt@zPDCxG*d
z5*M4mG?R^-&jh8OUyO`9(7AXbGs6o(sR@kSE2jPH=xTb|&Q&p^=_Kdm24m@f$#pKA
zZ<DGD4B5&QSi2@fyB%aVRLCly*isuYZ9(U>%*q*!FWcuRuy7f37I_LAn6a(9C{x2I
z78k(2Fo5m1iPFLXcEbry;hK}$JSU}E&RQHfOYJ15z5vUl6Yd*6Fg)8RzVO4Wnnw0U
z2ho5Ag#<^o;s>mYUI;4QWSS!|^<d<zBmX@oW$t8?O~~)P#;}{wtJ*-Z<{?K#gKW?R
zw)Ku2-Vd0KFZ9eyVvxPSl;t_=q2$yjnKPy{a7|UnGt=a9Wf03PnD4Kkv@n6)@)1Yb
z0rl<#mhu3$L<dfeD3hff(-v~hX_TCoxqx-PKoI{UhO^@AsSfPv4)ZMp7v?^Y%3Z+h
z{*cYpk;CP{Y`H=P*$)d9rDiR#>{UC(z_BYr@dE4CNVct+*42$1kDZFlx`g8jd{mvI
zY=13Q(pr+5Ic3EPR-=YR(oPKXFEB4Wu;~92=Ho14O&gds4zQLuRCPaK-Q!p!?jR$u
zXldk&r7^$SovS!&DwbqU<Z?K`Uf`hGE#Q<G$PxFy!Na>izNAaIDS*@L=KSbe%XuQE
zxOZ~OHO!MPVvsw)S}GvwudLnC$nN+-G@+5*KOsWTfx-Tzrr@LbMk`jjpX5CJa=Clw
ztjP%h92+@<AFz8GEG{#!-8PB6TtT#C0lUKnmO2Mk`ATtH^GUoJQywp$7RA8nlrX_b
zfHPocL)3xgvlgT{s4^^5V2;1QrcuD!qOiPHkgJt}HJgiV-3Cr8hPAU5MQUcSZPjX4
z)nYMNz%~B@qy2?mSq0{q7nrgQnvF8*W;3LHp2}$VfFt(-bF=|-sX=Oa0F#*%`$<XW
z+b=blKXAGnSYJ1bZ9)L2%mYTj1)Q7{$|g22a0GC!3SgT5-+(1*!e;IpOsW^As|zwr
z7GTMBU|Z9|w#rJX>H(vJ1Dl0_?0TnM_KTbX0jvL1F&cfS<+#wjrCos0flG8l@D;DR
zl?@F?rV2<GFj;KiG+w}E^uQ!Pk>y$f!%73@MK5ObE@JR1n=xYpqwE0&n~z*giVO{_
z8Dtzdvkq`RlVmPC?LKh=BWD2D$^Zr)1*7VT?)r?}90F^(9qpYyavCH|n)HElK>|az
zyM1Kot`)OGnLcn#{=h80fc1PyC-cNzE2YDuqqzh(umnA1UfG~#oxW>J_b!%?T;c&t
z&IhWmCA7>G<2}W|b9w>ynbka(e)C*8&9ggz$tZy7QUTAN2RsKEc(45b&2xGK&#41@
zE(-7pE!_1=nt@$`J@A0>f&hl;1-n=d?s;OpZ`T6u%cr>yC-59E;5qStTlN9tl?&Ww
z4)7d2z|Hw*|JeebtsnLuzQ7}Nhv$gH!IK8O+a_?IHQ*6Eb5Nj$=WqefF#(?Q2?7VB
z_h0<Yb5MY1%Z7D{3Oo<J_g<KAU{3;%jLbplHwT6H96lSsvoqkJ&7A}PfA2r`V864^
z5v4T;&OP9{aDeA(^??HdM-MFEVVao9ba2luhrPQt@SF)a>?(7};ttP_1YY|D?xP>L
zk4!k`xaXLV%@L=XBi=rT0&VtP(%$>L`snlO<6MG!4p}qIbmO}Cf#*QM0Y4s|^9Oj&
zEjXZ^$HVKYb7*e?w-C<}*FA@{dk$RHKJh4e-}C6>FRXXh=<J#QMtEzsz_Zmnk!$up
zwccHK=6Lp}lVLql-PPjJ)~7iHSI_%&D#r1&uOq{R38Aa^oZ9EZHNk+9#ei{w1H;jp
XGsk0&*4Qv=G@iM@v)WEjfWaC7_FX~{

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/rain.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/rain.gif
deleted file mode 100644
index 2fdf8fb88e2908cbd5591dc60e942971c15ebb61..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7664
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
H1A{dHTx~5P

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/view.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/view.gif
deleted file mode 100644
index 5d562671099522cc034b6c3b0adf523e7e135d6c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 121144
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%0DX)JNABa2|56y0}{+V;|?dCt0UWt_dq-
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

diff --git a/JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapApplication.java b/JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapApplication.java
deleted file mode 100644
index 407e18c88..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapApplication.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * @(#)MiniMapApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.samples.minimap;
-
-import CH.ifa.draw.contrib.Desktop;
-import CH.ifa.draw.contrib.SplitPaneDrawApplication;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MiniMapApplication extends SplitPaneDrawApplication {
-
-	protected Desktop createDesktop() {
-		return new MiniMapDesktop();
-	}
-
-	public static void main(String[] args) {
-		MiniMapApplication window = new MiniMapApplication();
-		window.open();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapDesktop.java b/JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapDesktop.java
deleted file mode 100644
index 0e6d2a2f7..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapDesktop.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * @(#)MiniMapDesktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.samples.minimap;
-
-import CH.ifa.draw.contrib.SplitPaneDesktop;
-import CH.ifa.draw.contrib.MiniMapView;
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.util.Iconkit;
-import CH.ifa.draw.figures.ImageFigure;
-
-import javax.swing.*;
-import java.awt.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MiniMapDesktop extends SplitPaneDesktop {
-
-	private String imageName = "/CH/ifa/draw/samples/javadraw/sampleimages/view.gif";
-
-	protected Component createRightComponent(DrawingView view) {
-		Image image = Iconkit.instance().registerAndLoadImage(
-			(Component)view, imageName);
-		view.add(new ImageFigure(image, imageName, new Point(0,0)));
-		view.checkDamage();
-//		((CH.ifa.draw.standard.StandardDrawingView)view).checkMinimumSize();
-		return super.createRightComponent(view);
-	}
-
-	protected Component createLeftComponent(DrawingView view) {
-		JPanel blankPanel = new JPanel();
-//		blankPanel.setPreferredSize(new Dimension(200, 200));
-
-		MiniMapView mmv = new MiniMapView(view, (JScrollPane)getRightComponent());
-//		mmv.setPreferredSize(new Dimension(200, 200));
-
-		JSplitPane leftSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, blankPanel, mmv);
-		leftSplitPane.setOneTouchExpandable(true);
-		leftSplitPane.setDividerLocation(200);
-//		leftSplitPane.setPreferredSize(new Dimension(200, 400));
-//		leftSplitPane.resetToPreferredSizes();
-
-		return leftSplitPane;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/net.jdo b/JHotDraw/src/CH/ifa/draw/samples/net.jdo
deleted file mode 100644
index 0872b17d8..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/net.jdo
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="CH.ifa.draw.samples.net">
-    <class name="NodeFigure">
-    </class>
-  </package>
-</jdo>
diff --git a/JHotDraw/src/CH/ifa/draw/samples/net/NetApp.java b/JHotDraw/src/CH/ifa/draw/samples/net/NetApp.java
deleted file mode 100644
index 466f18dae..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/net/NetApp.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * @(#)NetApp.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.net;
-
-import javax.swing.JToolBar;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.application.DrawApplication;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class NetApp extends DrawApplication {
-
-	public NetApp() {
-		super("Net");
-	}
-
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new NodeFigure());
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		tool = new CreationTool(this, new NodeFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Create Org Unit", tool));
-
-		tool = new ConnectionTool(this, new LineConnection());
-		palette.add(createToolButton(IMAGES + "CONN", "Connection Tool", tool));
-	}
-
-	//-- main -----------------------------------------------------------
-
-	public static void main(String[] args) {
-		DrawApplication window = new NetApp();
-		window.open();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/net/NodeFigure.java b/JHotDraw/src/CH/ifa/draw/samples/net/NodeFigure.java
deleted file mode 100644
index e78c111dc..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/net/NodeFigure.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)NodeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.net;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.util.*;
-
-import java.util.*;
-import java.util.List;
-import java.awt.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class NodeFigure extends TextFigure {
-	private static final int BORDER = 6;
-	private List        fConnectors;
-	private boolean     fConnectorsVisible;
-
-	public NodeFigure() {
-		initialize();
-		fConnectors = null;
-	}
-
-	public Rectangle displayBox() {
-		Rectangle box = super.displayBox();
-		int d = BORDER;
-		box.grow(d, d);
-		return box;
-	}
-
-	public boolean containsPoint(int x, int y) {
-		// add slop for connectors
-		if (fConnectorsVisible) {
-			Rectangle r = displayBox();
-			int d = LocatorConnector.SIZE/2;
-			r.grow(d, d);
-			return r.contains(x, y);
-		}
-		return super.containsPoint(x, y);
-	}
-
-	private void drawBorder(Graphics g) {
-		Rectangle r = displayBox();
-		g.setColor(getFrameColor());
-		g.drawRect(r.x, r.y, r.width-1, r.height-1);
-	}
-
-	public void draw(Graphics g) {
-		super.draw(g);
-		drawBorder(g);
-		drawConnectors(g);
-	}
-
-	public HandleEnumeration handles() {
-		ConnectionFigure prototype = new LineConnection();
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new ConnectionHandle(this, RelativeLocator.east(), prototype));
-		handles.add(new ConnectionHandle(this, RelativeLocator.west(), prototype));
-		handles.add(new ConnectionHandle(this, RelativeLocator.south(), prototype));
-		handles.add(new ConnectionHandle(this, RelativeLocator.north(), prototype));
-
-		handles.add(new NullHandle(this, RelativeLocator.southEast()));
-		handles.add(new NullHandle(this, RelativeLocator.southWest()));
-		handles.add(new NullHandle(this, RelativeLocator.northEast()));
-		handles.add(new NullHandle(this, RelativeLocator.northWest()));
-		return new HandleEnumerator(handles);
-	}
-
-	private void drawConnectors(Graphics g) {
-		if (fConnectorsVisible) {
-			Iterator iter = connectors();
-			while (iter.hasNext()) {
-				((Connector)iter.next()).draw(g);
-			}
-		}
-	}
-
-	/**
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure courtingConnection) {
-		fConnectorsVisible = isVisible;
-		invalidate();
-	}
-
-	/**
-	 */
-	public Connector connectorAt(int x, int y) {
-		return findConnector(x, y);
-	}
-
-	/**
-	 */
-	private Iterator connectors() {
-		if (fConnectors == null) {
-			createConnectors();
-		}
-		return fConnectors.iterator();
-	}
-
-	private void createConnectors() {
-		fConnectors = CollectionsFactory.current().createList(4);
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.north()) );
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.south()) );
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.west()) );
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.east()) );
-	}
-
-	private Connector findConnector(int x, int y) {
-		// return closest connector
-		long min = Long.MAX_VALUE;
-		Connector closest = null;
-		Iterator iter = connectors();
-		while (iter.hasNext()) {
-			Connector c = (Connector)iter.next();
-			Point p2 = Geom.center(c.displayBox());
-			long d = Geom.length2(x, y, p2.x, p2.y);
-			if (d < min) {
-				min = d;
-				closest = c;
-			}
-		}
-		return closest;
-	}
-
-	private void initialize() {
-		setText("node");
-		Font fb = new Font("Helvetica", Font.BOLD, 12);
-		setFont(fb);
-		createConnectors();
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApp.java b/JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApp.java
deleted file mode 100644
index 518c59960..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApp.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * @(#)NothingApp.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.nothing;
-
-import javax.swing.JToolBar;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.contrib.*;
-import CH.ifa.draw.application.*;
-
-/**
- * A very basic example for demonstraing JHotDraw's capabilities. It contains only
- * a few additional tools apart from the selection tool already provided by its superclass.
- * It uses only a single document interface (SDI) and not a multiple document interface (MDI)
- * because the applicateion frame is derived DrawApplication rather than MDI_DrawApplication.
- * To enable MDI for this application, NothingApp must inherit from MDI_DrawApplication
- * and be recompiled.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class NothingApp extends DrawApplication {
-
-	public NothingApp() {
-		super("Nothing");
-	}
-
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES+"TEXT", "Text Tool", tool));
-
-		tool = new CreationTool(this, new RectangleFigure());
-		palette.add(createToolButton(IMAGES+"RECT", "Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new RoundRectangleFigure());
-		palette.add(createToolButton(IMAGES+"RRECT", "Round Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new EllipseFigure());
-		palette.add(createToolButton(IMAGES+"ELLIPSE", "Ellipse Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES+"LINE", "Line Tool", tool));
-
-		tool = new PolygonTool(this);
-		palette.add(createToolButton(IMAGES+"POLYGON", "Polygon Tool", tool));
-
-		tool = new ConnectionTool(this, new LineConnection());
-		palette.add(createToolButton(IMAGES+"CONN", "Connection Tool", tool));
-
-		tool = new ConnectionTool(this, new ElbowConnection());
-		palette.add(createToolButton(IMAGES+"OCONN", "Elbow Connection Tool", tool));
-	}
-
-	//-- main -----------------------------------------------------------
-
-	public static void main(String[] args) {
-		DrawApplication window = new NothingApp();
-		window.open();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApplet.java b/JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApplet.java
deleted file mode 100644
index 17e5dad44..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApplet.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * @(#)NothingApplet.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.nothing;
-
-import javax.swing.JPanel;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.applet.*;
-import CH.ifa.draw.contrib.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class NothingApplet extends DrawApplet {
-
-	//-- DrawApplet overrides -----------------------------------------
-
-	protected void createTools(JPanel palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		tool = new CreationTool(this, new RectangleFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new RoundRectangleFigure());
-		palette.add(createToolButton(IMAGES + "RRECT", "Round Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new EllipseFigure());
-		palette.add(createToolButton(IMAGES + "ELLIPSE", "Ellipse Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES + "LINE", "Line Tool", tool));
-
-		tool = new PolygonTool(this);
-		palette.add(createToolButton(IMAGES + "POLYGON", "Polygon Tool", tool));
-
-		tool = new ConnectionTool(this, new LineConnection());
-		palette.add(createToolButton(IMAGES + "CONN", "Connection Tool", tool));
-
-		tool = new ConnectionTool(this, new ElbowConnection());
-		palette.add(createToolButton(IMAGES + "OCONN", "Elbow Connection Tool", tool));
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/PertApplet.java b/JHotDraw/src/CH/ifa/draw/samples/pert/PertApplet.java
deleted file mode 100644
index cb928c2da..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/pert/PertApplet.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * @(#)PertApplet.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.pert;
-
-import javax.swing.JPanel;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.applet.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class PertApplet extends DrawApplet {
-
-	private final static String PERTIMAGES = "/CH/ifa/draw/samples/pert/images/";
-
-	protected void createTools(JPanel palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES+"TEXT", "Text Tool", tool));
-
-		tool = new PertFigureCreationTool(this);
-		palette.add(createToolButton(PERTIMAGES+"PERT", "Task Tool", tool));
-
-		tool = new ConnectionTool(this, new PertDependency());
-		palette.add(createToolButton(IMAGES+"CONN", "Dependency Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES+"LINE", "Line Tool", tool));
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/PertAppletHelp.html b/JHotDraw/src/CH/ifa/draw/samples/pert/PertAppletHelp.html
deleted file mode 100644
index 3288502a5..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/pert/PertAppletHelp.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<html>
-
-<head>
-  <title>Pert Help</title>
-</head>
-
-<body>
-<H1>PERT Help</H1>
-<HR>
-PERT provides tools, handles, and commands to manipulate a PERT diagram.
-<P>
-A task is shown as a box with a line for the task's name, a line for
-the task's duration, and a line for the task's earliest end time.
-Only the task's name and its duration are editable. The end time
-is calculated automatically by PERT.
-<P>
-Circular dependencies are shown in red.
-<P>
-<H3>Tools</H3>
-The tool palette on the left offers several tools that either create
-new figures or manipulate existing ones.
-<Table Border=0>
-<TR><TD><img src="../../images/SEL1.gif"><TD>selects, moves or resizes a figure; the shift-key
-toggles the selection. Dragging the selection tool in the background
-selects the figures within the dragged rectangle.
-<TR><TD><img src="../../images/PERT1.gif"><TD>creates a new task</TR>
-<TR><TD><img src="../../images/TEXT1.gif"><TD>creates a new or edits an existing text figure</TR>
-<TR><TD><img src="../../images/CONN1.gif"><TD>creates or adjusts connections
-between figures. A connection
-is split into segments by dragging a point on the connection. To join two
-segments click the
-end point of a segment</TR>
-<TR><TD><img src="../../images/LINE1.gif"><TD>creates a line figure</TR>
-</Table>
-
-
-<H3>Handles</H3>
-When selected figures offer different handles to manipulate them.
-<ul>
-<li>
-the blue circle handle is a connection handle. It allows to create connections
-between figures.
-<li>
-the framed red handles are null handles. They only show the selection status
-of a figure but don't support any manipulation.
-<li>
-the green handles are shown on connections. They enable to
-reconnect them with another figure.
-<li>
-the yellow handle enables to change the font size of a text figure or the
-size of the radius of a rounded rectangle.
-</ul>
-
-<H3>Commands</H3>
-Commands are invoked from the button bar at the bottom (applet) or
-from the menu bar at the top (application).
-<P>
-The standard commands that are provided include, cut, copy, paste,
-duplicate, delete, group, ungroup, bring to front, and send to back.
-<P>
-<H3>Attributes</H3>
-Attributes, such as fill color, text color or arrow tip, can be changed
-through the attributes menu (stand-alone) or the pop up menues (applet).
-
-<p>
-
-</html>
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/PertApplication.java b/JHotDraw/src/CH/ifa/draw/samples/pert/PertApplication.java
deleted file mode 100644
index 7eb3d524f..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/pert/PertApplication.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)PertApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.pert;
-
-import javax.swing.JToolBar;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.application.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class PertApplication extends DrawApplication {
-
-	static private final String PERTIMAGES = "/CH/ifa/draw/samples/pert/images/";
-
-	public PertApplication() {
-		super("PERT Editor");
-	}
-
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		// the generic but slower version
-		//tool = new CreationTool(new PertFigure());
-		//palette.add(createToolButton(PERTIMAGES + "PERT", "Task Tool", tool));
-
-		tool = new PertFigureCreationTool(this);
-		palette.add(createToolButton(PERTIMAGES + "PERT", "Task Tool", tool));
-
-		tool = new ConnectionTool(this, new PertDependency());
-		palette.add(createToolButton(IMAGES + "CONN", "Dependency Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES + "Line", "Line Tool", tool));
-	}
-
-	//-- main -----------------------------------------------------------
-
-	public static void main(String[] args) {
-		PertApplication pert = new PertApplication();
-		pert.open();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/PertDependency.java b/JHotDraw/src/CH/ifa/draw/samples/pert/PertDependency.java
deleted file mode 100644
index a1bc417e6..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/pert/PertDependency.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * @(#)PertDependency.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.pert;
-
-import java.awt.*;
-import java.util.List;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.standard.*;
-// JUnitDoclet end import
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class PertDependency extends LineConnection {
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -7959500008698525009L;
-	private int pertDependencySerializedDataVersion = 1;
-
-	public PertDependency() {
-		setEndDecoration(new ArrowTip());
-		setStartDecoration(null);
-	}
-
-	public void handleConnect(Figure start, Figure end) {
-		PertFigure source = (PertFigure)start;
-		PertFigure target = (PertFigure)end;
-		if (source.hasCycle(target)) {
-			setAttribute(FigureAttributeConstant.FRAME_COLOR, Color.red);
-		}
-		else {
-			target.addPreTask(source);
-			source.addPostTask(target);
-			source.notifyPostTasks();
-		}
-	}
-
-	public void handleDisconnect(Figure start, Figure end) {
-		PertFigure source = (PertFigure)start;
-		PertFigure target = (PertFigure)end;
-		if (target != null) {
-			target.removePreTask(source);
-			target.updateDurations();
-		}
-		if (source != null) {
-			source.removePostTask(target);
-		}
-   }
-
-	public boolean canConnect(Figure start, Figure end) {
-		return ((start instanceof PertFigure) && (end instanceof PertFigure));
-	}
-
-	public HandleEnumeration handles() {
-		List handles = super.handles().toList();
-		// don't allow to reconnect the starting figure
-		handles.set(0, new NullHandle(this, PolyLineFigure.locator(0)));
-		return new HandleEnumerator(handles);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/PertFigure.java b/JHotDraw/src/CH/ifa/draw/samples/pert/PertFigure.java
deleted file mode 100644
index 3b006fe96..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/pert/PertFigure.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * @(#)PertFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.pert;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.util.*;
-
-import java.awt.*;
-import java.io.*;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class PertFigure extends CompositeFigure {
-	private static final int BORDER = 3;
-	private Rectangle fDisplayBox;
-	private List fPreTasks;
-	private List fPostTasks;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -7877776240236946511L;
-	private int pertFigureSerializedDataVersion = 1;
-
-	public PertFigure() {
-		initialize();
-	}
-
-	public int start() {
-		int start = 0;
-		Iterator iter = fPreTasks.iterator();
-		while (iter.hasNext()) {
-			PertFigure f = (PertFigure)iter.next();
-			start = Math.max(start, f.end());
-		}
-		return start;
-	}
-
-	public int end() {
-		return asInt(2);
-	}
-
-	public int duration() {
-		return asInt(1);
-	}
-
-	public void setEnd(int value) {
-		setInt(2, value);
-	}
-
-	public void addPreTask(PertFigure figure) {
-		if (!fPreTasks.contains(figure)) {
-			fPreTasks.add(figure);
-		}
-	}
-
-	public void addPostTask(PertFigure figure) {
-		if (!fPostTasks.contains(figure)) {
-			fPostTasks.add(figure);
-		}
-	}
-
-	public void removePreTask(PertFigure figure) {
-		fPreTasks.remove(figure);
-	}
-
-	public void removePostTask(PertFigure figure) {
-		fPostTasks.remove(figure);
-	}
-
-	private int asInt(int figureIndex) {
-		NumberTextFigure t = (NumberTextFigure)figureAt(figureIndex);
-		return t.getValue();
-	}
-
-	private String taskName() {
-		TextFigure t = (TextFigure)figureAt(0);
-		return t.getText();
-	}
-
-	private void setInt(int figureIndex, int value) {
-		NumberTextFigure t = (NumberTextFigure)figureAt(figureIndex);
-		t.setValue(value);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x, y);
-		super.basicMoveBy(x, y);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-		layout();
-	}
-
-	private void drawBorder(Graphics g) {
-		super.draw(g);
-
-		Rectangle r = displayBox();
-
-		Figure f = figureAt(0);
-		Rectangle rf = f.displayBox();
-		g.setColor(Color.gray);
-		g.drawLine(r.x, r.y+rf.height+2, r.x+r.width, r.y + rf.height+2);
-		g.setColor(Color.white);
-		g.drawLine(r.x, r.y+rf.height+3, r.x+r.width, r.y + rf.height+3);
-
-		g.setColor(Color.white);
-		g.drawLine(r.x, r.y, r.x, r.y + r.height);
-		g.drawLine(r.x, r.y, r.x + r.width, r.y);
-		g.setColor(Color.gray);
-		g.drawLine(r.x + r.width, r.y, r.x + r.width, r.y + r.height);
-		g.drawLine(r.x , r.y + r.height, r.x + r.width, r.y + r.height);
-	}
-
-	public void draw(Graphics g) {
-		drawBorder(g);
-		super.draw(g);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new NullHandle(this, RelativeLocator.northWest()));
-		handles.add(new NullHandle(this, RelativeLocator.northEast()));
-		handles.add(new NullHandle(this, RelativeLocator.southWest()));
-		handles.add(new NullHandle(this, RelativeLocator.southEast()));
-		handles.add(new ConnectionHandle(this, RelativeLocator.east(),
-								new PertDependency())
-						   );
-		return new HandleEnumerator(handles);
-	}
-
-	private void initialize() {
-		fPostTasks = CollectionsFactory.current().createList();
-		fPreTasks = CollectionsFactory.current().createList();
-		fDisplayBox = new Rectangle(0, 0, 0, 0);
-
-		Font f = new Font("Helvetica", Font.PLAIN, 12);
-		Font fb = new Font("Helvetica", Font.BOLD, 12);
-
-		TextFigure name = new TextFigure();
-		name.setFont(fb);
-		name.setText("Task");
-		//name.setAttribute(FigureAttributeConstant.TEXT_COLOR.getName(), Color.white);
-		add(name);
-
-		NumberTextFigure duration = new NumberTextFigure();
-		duration.setValue(0);
-		duration.setFont(fb);
-		add(duration);
-
-		NumberTextFigure end = new NumberTextFigure();
-		end.setValue(0);
-		end.setFont(f);
-		end.setReadOnly(true);
-		add(end);
-	}
-
-	private void layout() {
-		Point partOrigin = new Point(fDisplayBox.x, fDisplayBox.y);
-		partOrigin.translate(BORDER, BORDER);
-		Dimension extent = new Dimension(0, 0);
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-
-			Dimension partExtent = f.size();
-			Point corner = new Point(
-								partOrigin.x+partExtent.width,
-								partOrigin.y+partExtent.height);
-			f.basicDisplayBox(partOrigin, corner);
-
-			extent.width = Math.max(extent.width, partExtent.width);
-			extent.height += partExtent.height;
-			partOrigin.y += partExtent.height;
-		}
-		fDisplayBox.width = extent.width + 2*BORDER;
-		fDisplayBox.height = extent.height + 2*BORDER;
-	}
-
-	private boolean needsLayout() {
-		Dimension extent = new Dimension(0, 0);
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-			extent.width = Math.max(extent.width, f.size().width);
-		}
-		int newExtent = extent.width + 2*BORDER;
-		return newExtent != fDisplayBox.width;
-	}
-
-	public void update(FigureChangeEvent e) {
-		if (e.getFigure() == figureAt(1)) {
-			// duration has changed
-			updateDurations();
-		}
-		if (needsLayout()) {
-			layout();
-			changed();
-		}
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-		update(e);
-	}
-
-
-	public void figureRemoved(FigureChangeEvent e) {
-		update(e);
-	}
-
-	public void notifyPostTasks() {
-		Iterator iter = fPostTasks.iterator();
-		while (iter.hasNext()) {
-			((PertFigure)iter.next()).updateDurations();
-		}
-	}
-
-	public void updateDurations() {
-		int newEnd = start()+duration();
-		if (newEnd != end()) {
-			setEnd(newEnd);
-			notifyPostTasks();
-		}
-	}
-
-	public boolean hasCycle(Figure start) {
-		if (start == this) {
-			return true;
-		}
-		Iterator iter = fPreTasks.iterator();
-		while (iter.hasNext()) {
-			if (((PertFigure)iter.next()).hasCycle(start)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	//-- store / load ----------------------------------------------
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-
-		writeTasks(dw, fPreTasks);
-		writeTasks(dw, fPostTasks);
-	}
-
-	public void writeTasks(StorableOutput dw, List l) {
-		dw.writeInt(l.size());
-		Iterator iter = l.iterator();
-		while (iter.hasNext()) {
-			dw.writeStorable((Storable)iter.next());
-		}
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-		layout();
-		fPreTasks = readTasks(dr);
-		fPostTasks = readTasks(dr);
-	}
-
-	public Insets connectionInsets() {
-		Rectangle r = fDisplayBox;
-		int cx = r.width/2;
-		int cy = r.height/2;
-		return new Insets(cy, cx, cy, cx);
-	}
-
-	public List readTasks(StorableInput dr) throws IOException {
-		int size = dr.readInt();
-		List l = CollectionsFactory.current().createList(size);
-		for (int i=0; i<size; i++) {
-			l.add(dr.readStorable());
-		}
-		return l;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/PertFigureCreationTool.java b/JHotDraw/src/CH/ifa/draw/samples/pert/PertFigureCreationTool.java
deleted file mode 100644
index 027351ff5..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/pert/PertFigureCreationTool.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * @(#)PertFigureCreationTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.pert;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * A more efficient version of the generic Pert creation
- * tool that is not based on cloning.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class PertFigureCreationTool extends CreationTool {
-
-	public PertFigureCreationTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	/**
-	 * Creates a new PertFigure.
-	 */
-	protected Figure createFigure() {
-		return new PertFigure();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT1.gif b/JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT1.gif
deleted file mode 100644
index f69744556b8a98b0f903febf45498dd09fcde923..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlK-K>bM;<_eP?(7Kk-E-C3Bvd5R>w&d8>Y$OF1(sB5u8|!Jh*P2E`k`vPmdj
z>=3r9_m<Nuzj;!{KmE(A(`?(#buKO1(zZKp#m^aG;!Be>mi~FR?XC~!)lJLJeyY=G
ZXw<aPYVYXm((dl<maLvADagQJ4FJ?UQ3?P6

diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT2.gif b/JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT2.gif
deleted file mode 100644
index eb9f10ef03f573d2d7c08a805dee7264cabd6ef1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 178
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlK!E=bM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)MQbmW_0GOA^<6__frm_*&x-pD
z!8T0Y0SiB~{Qg>VVwDQlT(#{ni^8R2qGnyox76{SeADf_ua9H;^AAh!RIPneY#h>H
Qq}1GEQyb1M$iQF?0Mukk*8l(j

diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT3.gif b/JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT3.gif
deleted file mode 100644
index aac7c5e3ad403e29fb246df6eb318f71ef45be0c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 188
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBQuv|4bM;<_MQ3;aKhYw?pE>Qt%C5}SyZV2e+rXkwT6aqI*=!x51P2|dZUzy5
zqXRO=duM<0P*rO+U+{j>QO?y@vUP4V+wZ=-?CDAs<Fg)L#Pf3dPkEfOeARpLbws&Y
av}lo)rFXlrW0ygv$pp!k$&!K$4AubpX-<Lw

diff --git a/JHotDraw/src/CH/ifa/draw/standard.jdo b/JHotDraw/src/CH/ifa/draw/standard.jdo
deleted file mode 100644
index 62c33480a..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard.jdo
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="CH.ifa.draw.standard">
-    <class name="AbstractFigure">
-		<field name="fListener" persistence-modifier="persistent">
-		</field>
-    </class>
-    <class name="CompositeFigure">
-<!--
-		<field name="fFigures">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
--->
-    </class>
-    <class name="ChopBoxConnector">
-    </class>
-    <class name="DecoratorFigure">
-    </class>
-    <class name="LocatorConnector">
-    </class>
-    <class name="PeripheralLocator">
-    </class>
-    <class name="OffsetLocator">
-    </class>
-    <class name="RelativeLocator">
-    </class>
-    <class name="StandardDrawing">
-    </class>
-  </package>
-</jdo>
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AWTCursor.java b/JHotDraw/src/CH/ifa/draw/standard/AWTCursor.java
deleted file mode 100644
index a01ee1129..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AWTCursor.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * @(#)AWTCursor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.standard;
-
-import java.awt.Cursor;
-
-/**
- * Default implementation of the {@link CH.ifa.draw.framework.Cursor} interface
- * for AWT/Swing.
- * 
- * <p>Created on: 08/05/2003.</p>
- * 
- * @version $Revision$
- * @author <a href="mailto:ricardo_padilha@users.sourceforge.net">Ricardo 
- * Sangoi Padilha</a>
- * @see CH.ifa.draw.framework.Cursor
- */
-public class AWTCursor extends Cursor implements CH.ifa.draw.framework.Cursor {
-
-	/**
-	 * Constructor for <code>AWTCursor</code>.
-	 * @param type
-	 * @see Cursor#Cursor(int)
-	 */
-	public AWTCursor(int type) {
-		super(type);
-	}
-
-	/**
-	 * Constructor for <code>AWTCursor</code>.
-	 * @param name
-	 * @see Cursor#Cursor(java.lang.String)
-	 */
-	public AWTCursor(String newName) {
-		super(newName);
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AbstractCommand.java b/JHotDraw/src/CH/ifa/draw/standard/AbstractCommand.java
deleted file mode 100644
index 45152da20..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AbstractCommand.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * @(#)AbstractCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Command;
-import CH.ifa.draw.util.CommandListener;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.*;
-
-/**
- * @author Helge Horch
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractCommand implements Command, FigureSelectionListener {
-
-	private String  myName;
-	private Undoable myUndoableActivity;
-	private boolean myIsViewRequired;
-	private AbstractCommand.EventDispatcher myEventDispatcher;
-
-	/**
-	 * the DrawingEditor this command applies to
-	 */
-	private DrawingEditor myDrawingEditor;
-
-	/**
-	 * Constructs a command with the given name that applies to the given view.
-	 * @param newName java.lang.String
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public AbstractCommand(String newName, DrawingEditor newDrawingEditor) {
-		this(newName, newDrawingEditor, true);
-	}
-
-	public AbstractCommand(String newName, DrawingEditor newDrawingEditor, boolean newIsViewRequired) {
-		setName(newName);
-		setDrawingEditor(newDrawingEditor);
-		getDrawingEditor().addViewChangeListener(createViewChangeListener());
-		myIsViewRequired = newIsViewRequired;
-		setEventDispatcher(createEventDispatcher());
-	}
-
-	protected void viewSelectionChanged(DrawingView oldView, DrawingView newView) {
-		if (oldView != null) {
-			oldView.removeFigureSelectionListener(this);
-		}
-		if (newView != null) {
-			newView.addFigureSelectionListener(this);
-		}
-		if (isViewRequired()) {
-			boolean isOldViewInteractive = (oldView != null) && oldView.isInteractive();
-			boolean isNewViewInteractive = (newView != null) && newView.isInteractive();
-			// old view was not interactive aware while new view is now interactive aware
-			if (!isOldViewInteractive && isNewViewInteractive) {
-				getEventDispatcher().fireCommandExecutableEvent();
-			}
-			// old view was interactive aware while new view is not
-			else if (isOldViewInteractive && !isNewViewInteractive) {
-				getEventDispatcher().fireCommandNotExecutableEvent();
-			}
-		}
-	}
-
-	/**
-	 * Sent when a new view is created
-	 */
-	protected void viewCreated(DrawingView view) {
-	}
-
-	/**
-	 * Send when an existing view is about to be destroyed.
-	 */
-	protected void viewDestroying(DrawingView view) {
-	}
-
-	/**
-	 * @param view a DrawingView
-	 */
-	public void figureSelectionChanged(DrawingView view) {
-	}
-
-	/**
-	 * @return DrawingEditor associated with this command
-	 */
-	public DrawingEditor getDrawingEditor() {
-		return myDrawingEditor;
-	}
-
-	private void setDrawingEditor(DrawingEditor newDrawingEditor) {
-		myDrawingEditor = newDrawingEditor;
-	}
-
-	/**
-	 * Convenience method
-	 *
-	 * @return DrawingView currently active in the editor
-	 */
-	public DrawingView view() {
-		return getDrawingEditor().view();
-	}
-
-	/**
-	 * Gets the command name.
-	 */
-	public String name() {
-		return myName;
-	}
-
-	public void setName(String newName) {
-		myName = newName;
-	}
-
-	/**
-	 * Releases resources associated with this command
-	 */
-	public void dispose() {
-		if (view() != null) {
-			view().removeFigureSelectionListener(this);
-		}
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void execute() {
-		if (view() == null) {
-			throw new JHotDrawRuntimeException("execute should NOT be getting called when view() == null");
-		}
-	}
-
-	/**
-	 * Tests if the command can be executed. The view must be valid when this is
-	 * called. Per default, a command is executable if at
-	 * least one figure is selected in the current activated
-	 * view.
-	 */
-	public boolean isExecutable() {
-		// test whether there is a view required and whether an existing view
-		// accepts user input
-		if (isViewRequired()) {
-			if ((view() == null) || !view().isInteractive()) {
-				return false;
-			}
-		}
-		return isExecutableWithView();
-	}
-
-	protected boolean isViewRequired() {
-		return myIsViewRequired;
-	}
-
-	protected boolean isExecutableWithView() {
-		return true;
-	}
-
-	public Undoable getUndoActivity() {
-		return myUndoableActivity;
-	}
-
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		myUndoableActivity = newUndoableActivity;
-	}
-
-	public void addCommandListener(CommandListener newCommandListener) {
-		getEventDispatcher().addCommandListener(newCommandListener);
-	}
-
-	public void removeCommandListener(CommandListener oldCommandListener) {
-		getEventDispatcher().removeCommandListener(oldCommandListener);
-	}
-
-	private void setEventDispatcher(AbstractCommand.EventDispatcher newEventDispatcher) {
-		myEventDispatcher = newEventDispatcher;
-	}
-
-	protected AbstractCommand.EventDispatcher getEventDispatcher() {
-		return myEventDispatcher;
-	}
-
-	protected AbstractCommand.EventDispatcher createEventDispatcher() {
-		return new AbstractCommand.EventDispatcher(this);
-	}
-
-    protected ViewChangeListener createViewChangeListener() {
-        return new ViewChangeListener() {
-            public void viewSelectionChanged(DrawingView oldView, DrawingView newView){
-                AbstractCommand.this.viewSelectionChanged(oldView, newView);
-            }
-            public void viewCreated(DrawingView view){
-                AbstractCommand.this.viewCreated(view);
-            }
-            public void viewDestroying(DrawingView view){
-                AbstractCommand.this.viewDestroying(view);
-            }
-        };
-    }
-
-	public static class EventDispatcher {
-		private List myRegisteredListeners;
-		private Command myObservedCommand;
-
-		public EventDispatcher(Command newObservedCommand) {
-			myRegisteredListeners = CollectionsFactory.current().createList();
-			myObservedCommand = newObservedCommand;
-		}
-
-		public void fireCommandExecutedEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((CommandListener)iter.next()).commandExecuted(new EventObject(myObservedCommand));
-			}
-		}
-
-		public void fireCommandExecutableEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((CommandListener)iter.next()).commandExecutable(new EventObject(myObservedCommand));
-			}
-		}
-
-		public void fireCommandNotExecutableEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((CommandListener)iter.next()).commandNotExecutable(new EventObject(myObservedCommand));
-			}
-		}
-
-		public void addCommandListener(CommandListener newCommandListener) {
-			if (!myRegisteredListeners.contains(newCommandListener)) {
-				myRegisteredListeners.add(newCommandListener);
-			}
-		}
-
-		public void removeCommandListener(CommandListener oldCommandListener) {
-			if (myRegisteredListeners.contains(oldCommandListener)) {
-				myRegisteredListeners.remove(oldCommandListener);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AbstractConnector.java b/JHotDraw/src/CH/ifa/draw/standard/AbstractConnector.java
deleted file mode 100644
index b0c84d898..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AbstractConnector.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)AbstractConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.io.IOException;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-/**
- * AbstractConnector provides default implementation for
- * the Connector interface.
- *
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractConnector implements Connector {
-	/**
-	 * the owner of the connector
-	 */
-	private Figure      fOwner;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -5170007865562687545L;
-	private int abstractConnectorSerializedDataVersion = 1;
-
-	/**
-	 * Constructs a connector that has no owner. It is only
-	 * used internally to resurrect a connectors from a
-	 * StorableOutput. It should never be called directly.
-	 */
-	public AbstractConnector() {
-		fOwner = null;
-	}
-
-	/**
-	 * Constructs a connector with the given owner figure.
-	 */
-	public AbstractConnector(Figure owner) {
-		fOwner = owner;
-	}
-
-	/**
-	 * Gets the connector's owner.
-	 * Which is the figure this is attached too and NOT the connection it may be
-	 * attached too.
-	 *
-	 */
-	public Figure owner() {
-		return fOwner;
-	}
-
-	public Point findStart(ConnectionFigure connection) {
-		return findPoint(connection);
-	}
-
-	public Point findEnd(ConnectionFigure connection) {
-		return findPoint(connection);
-	}
-
-	/**
-	 * Gets the connection point. Override when the connector
-	 * does not need to distinguish between the start and end
-	 * point of a connection.
-	 */
-	protected Point findPoint(ConnectionFigure connection) {
-		return Geom.center(displayBox());
-	}
-
-	/**
-	 * Gets the display box of the connector.
-	 */
-	public Rectangle displayBox() {
-		return owner().displayBox();
-	}
-
-	/**
-	 * Tests if a point is contained in the connector.
-	 */
-	public boolean containsPoint(int x, int y) {
-		return owner().containsPoint(x, y);
-	}
-
-	/**
-	 * Draws this connector. By default connectors are invisible.
-	 */
-	public void draw(Graphics g) {
-		// invisible by default
-	}
-
-	/**
-	 * Stores the connector and its owner to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeStorable(owner());
-	}
-
-	/**
-	 * Reads the connector and its owner from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		fOwner = (Figure)dr.readStorable();
-	}
-
-	/**
-	 * Requests that the connector should show itself or hide itself.  The
-	 * ConnectionFigure which desires to connect to this Connector is passed in.
-	 * It a connector should show itself it should do so when draw is called, if
-	 * so desired.
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure courtingConnection) {
-		//invisible by default
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AbstractFigure.java b/JHotDraw/src/CH/ifa/draw/standard/AbstractFigure.java
deleted file mode 100644
index ceb9eb2b9..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AbstractFigure.java
+++ /dev/null
@@ -1,482 +0,0 @@
-/*
- * @(#)AbstractFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-
-import java.awt.*;
-import java.util.List;
-import java.io.*;
-
-/**
- * AbstractFigure provides default implementations for
- * the Figure interface.
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld036.htm>Template Method</a></b><br>
- * Template Methods implement default and invariant behavior for
- * figure subclasses.
- * <hr>
- *
- * @see Figure
- * @see Handle
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractFigure implements Figure {
-
-	/**
-	 * The listeners for a figure's changes.
-	 * It is only one listener but this one can be a (chained) MultiCastFigureChangeListener
-	 * @see #invalidate
-	 * @see #changed
-	 * @see #willChange
-	 */
-	private transient FigureChangeListener fListener;
-
-	/**
-	 * The dependend figures which have been added to this container.
-	 */
-	private List myDependendFigures;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -10857585979273442L;
-	private int abstractFigureSerializedDataVersion = 1;
-	private int _nZ;
-
-	protected AbstractFigure() {
-		 myDependendFigures = CollectionsFactory.current().createList();
-	}
-
-	/**
-	 * Moves the figure by the given offset.
-	 */
-	public void moveBy(int dx, int dy) {
-		willChange();
-		basicMoveBy(dx, dy);
-		changed();
-	}
-
-	/**
-	 * Moves the figure. This is the
-	 * method that subclassers override. Clients usually
-	 * call displayBox.
-	 * @see #moveBy
-	 */
-	protected abstract void basicMoveBy(int dx, int dy);
-
-	/**
-	 * Changes the display box of a figure. Clients usually
-	 * call this method. It changes the display box
-	 * and announces the corresponding change.
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void displayBox(Point origin, Point corner) {
-		willChange();
-		basicDisplayBox(origin, corner);
-		changed();
-	}
-
-	/**
-	 * Sets the display box of a figure. This is the
-	 * method that subclassers override. Clients usually
-	 * call displayBox.
-	 * @see #displayBox
-	 */
-	public abstract void basicDisplayBox(Point origin, Point corner);
-
-	/**
-	 * Gets the display box of a figure.
-	 */
-	public abstract Rectangle displayBox();
-
-	/**
-	 * Returns the handles of a Figure that can be used
-	 * to manipulate some of its attributes.
-	 * @return a type-safe iterator of handles
-	 * @see Handle
-	 */
-	public abstract HandleEnumeration handles();
-
-	/**
-	 * Returns an Enumeration of the figures contained in this figure.
-	 * @see CompositeFigure
-	 */
-	public FigureEnumeration figures() {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Gets the size of the figure. A convenience method.
-	 */
-	public Dimension size() {
-		return new Dimension(displayBox().width, displayBox().height);
-	}
-
-	/**
-	 * Checks if the figure is empty. The default implementation returns
-	 * true if the width or height of its display box is < 3
-	 * @see Figure#isEmpty
-	 */
-	public boolean isEmpty() {
-		return (size().width < 3) || (size().height < 3);
-	}
-
-	/**
-	 * Returns the figure that contains the given point.
-	 * In contrast to containsPoint it returns its
-	 * innermost figure that contains the point.
-	 *
-	 * @see #containsPoint
-	 */
-	public Figure findFigureInside(int x, int y) {
-		if (containsPoint(x, y)) {
-			return this;
-		}
-		return null;
-	}
-
-	/**
-	 * Checks if a point is inside the figure.
-	 */
-	public boolean containsPoint(int x, int y) {
-		return displayBox().contains(x, y);
-	}
-
-	/**
-	 * Changes the display box of a figure. This is a
-	 * convenience method. Implementors should only
-	 * have to override basicDisplayBox
-	 * @see #displayBox
-	 */
-	public void displayBox(Rectangle r) {
-		displayBox(new Point(r.x, r.y), new Point(r.x+r.width, r.y+r.height));
-	}
-
-	/**
-	 * Checks whether the given figure is contained in this figure.
-	 */
-	public boolean includes(Figure figure) {
-		return figure == this;
-	}
-
-	/**
-	 * Decomposes a figure into its parts. It returns a FigureEnumeration
-	 * that contains itself.
-	 * @return an Enumeration with itself as the only element.
-	 */
-	public FigureEnumeration decompose() {
-		List figures = CollectionsFactory.current().createList(1);
-		figures.add(this);
-		return new FigureEnumerator(figures);
-	}
-
-	/**
-	 * Sets the Figure's container and registers the container
-	 * as a figure change listener. A figure's container can be
-	 * any kind of FigureChangeListener. A figure is not restricted
-	 * to have a single container.
-	 */
-	public void addToContainer(FigureChangeListener c) {
-		addFigureChangeListener(c);
-		invalidate();
-	}
-
-	/**
-	 * Removes a figure from the given container and unregisters
-	 * it as a change listener.
-	 */
-	public void removeFromContainer(FigureChangeListener c) {
-		invalidate();
-		removeFigureChangeListener(c);
-	}
-
-	/**
-	 * Adds a listener for this figure.
-	 */
-	public synchronized void addFigureChangeListener(FigureChangeListener l) {
-		fListener = FigureChangeEventMulticaster.add(listener(), l);
-	}
-
-	/**
-	 * Removes a listener for this figure.
-	 */
-	public synchronized void removeFigureChangeListener(FigureChangeListener l) {
-		fListener = FigureChangeEventMulticaster.remove(listener(), l);
-	}
-
-	/**
-	 * Gets the figure's listners.
-	 */
-	public synchronized FigureChangeListener listener() {
-		return fListener;
-	}
-
-	/**
-	 * A figure is released from the drawing. You never call this
-	 * method directly. Release notifies its listeners.
-	 * @see Figure#release
-	 */
-	public void release() {
-		if (listener() != null) {
-			listener().figureRemoved(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Invalidates the figure. This method informs the listeners
-	 * that the figure's current display box is invalid and should be
-	 * refreshed.
-	 */
-	public void invalidate() {
-		if (listener() != null) {
-			Rectangle r = invalidateRectangle(displayBox());
-			listener().figureInvalidated(new FigureChangeEvent(this, r));
-		}
-	}
-
-	/**
-	 * Hook method to change the rectangle that will be invalidated
-	 */
-	protected Rectangle invalidateRectangle(Rectangle r) {
-		r.grow(Handle.HANDLESIZE, Handle.HANDLESIZE);
-		return r;
-	}
-
-	/**
-	 * Informes that a figure is about to change something that
-	 * affects the contents of its display box.
-	 *
-	 * @see Figure#willChange
-	 */
-	public void willChange() {
-		// call invalidate before the change occurs to invalidate the old display area
-		invalidate();
-	}
-
-	/**
-	 * Informs that a figure changed the area of its display box.
-	 *
-	 * @see FigureChangeEvent
-	 * @see Figure#changed
-	 */
-	public void changed() {
-		invalidate();
-		if (listener() != null) {
-			listener().figureChanged(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Gets the center of a figure. A convenice
-	 * method that is rarely overridden.
-	 */
-	public Point center() {
-		return Geom.center(displayBox());
-	}
-
-	/**
-	 * Checks if this figure can be connected. By default
-	 * AbstractFigures can be connected.
-	 */
-	public boolean canConnect() {
-		return true;
-	}
-
-	/**
-	 * Returns the connection inset. The connection inset
-	 * defines the area where the display box of a
-	 * figure can't be connected. By default the entire
-	 * display box can be connected.
-	 *
-	 */
-	public Insets connectionInsets() {
-		return new Insets(0, 0, 0, 0);
-	}
-
-	/**
-	 * Returns the Figures connector for the specified location.
-	 * By default a ChopBoxConnector is returned.
-	 * @see ChopBoxConnector
-	 */
-	public Connector connectorAt(int x, int y) {
-		return new ChopBoxConnector(this);
-	}
-
-	/**
-	 * Sets whether the connectors should be visible.
-	 * By default they are not visible
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure connector) {
-	}
-
-	/**
-	 * Returns the locator used to located connected text.
-	 */
-	public Locator connectedTextLocator(Figure text) {
-		return RelativeLocator.center();
-	}
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * By default figures don't have any attributes so getAttribute
-	 * returns null.
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return null;
-	}
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * By default figures don't have any attributes getAttribute
-	 * returns null.
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		return null;
-	}
-
-	/**
-	 * Sets the named attribute to the new value. By default
-	 * figures don't have any attributes and the request is ignored.
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-	}
-
-	/**
-	 * Sets the named attribute to the new value. By default
-	 * figures don't have any attributes and the request is ignored.
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-	}
-
-	/**
-	 * Clones a figure. Creates a clone by using the storable
-	 * mechanism to flatten the Figure to stream followed by
-	 * resurrecting it from the same stream.
-	 *
-	 * @see Figure#clone
-	 */
-	public Object clone() {
-		Object clone = null;
-		ByteArrayOutputStream output = new ByteArrayOutputStream(200);
-		try {
-			ObjectOutput writer = new ObjectOutputStream(output);
-			writer.writeObject(this);
-			writer.close();
-		}
-		catch (IOException e) {
-			System.err.println("Class not found: " + e);
-		}
-
-		InputStream input = new ByteArrayInputStream(output.toByteArray());
-		try {
-			ObjectInput reader = new ObjectInputStream(input);
-			clone = reader.readObject();
-		}
-		catch (IOException e) {
-			System.err.println(e.toString());
-		}
-		catch (ClassNotFoundException e) {
-			System.err.println("Class not found: " + e);
-		}
-		return clone;
-	}
-
-	/**
-	 * Stores the Figure to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-	}
-
-	/**
-	 * Reads the Figure from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-	}
-
-	/**
-	 * Gets the z value (back-to-front ordering) of this figure.
-	 */
-	public int getZValue() {
-	  return _nZ;
-	}
-
-	/**
-	 * Sets the z value (back-to-front ordering) of this figure.
-	 */
-	public void setZValue(int z) {
-	  _nZ = z;
-	}
-
-	public void visit(FigureVisitor visitor) {
-		// remember original listener as listeners might be changed by a visitor
-		// (e.g. by calling addToContainer() or removeFromContainer())
-		//FigureChangeListener originalListener = listener();
-		FigureEnumeration fe = getDependendFigures();
-
-		visitor.visitFigure(this);
-
-		FigureEnumeration visitFigures = figures();
-		while (visitFigures.hasNextFigure()) {
-			visitFigures.nextFigure().visit(visitor);
-		}
-
-		HandleEnumeration visitHandles = handles();
-		while (visitHandles.hasNextHandle()) {
-			visitor.visitHandle(visitHandles.nextHandle());
-		}
-/*
-		originalListener = listener();
-		if (originalListener != null) {
-			visitor.visitFigureChangeListener(originalListener);
-		}
-*/
-
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().visit(visitor);
-			// or visitor.visitDependendFigure(fe.nextFigure());
-		}
-	}
-
-	public synchronized FigureEnumeration getDependendFigures() {
-		return new FigureEnumerator(myDependendFigures);
-	}
-
-	public synchronized void addDependendFigure(Figure newDependendFigure) {
-		myDependendFigures.add(newDependendFigure);
-	}
-
-	public synchronized void removeDependendFigure(Figure oldDependendFigure) {
-		myDependendFigures.remove(oldDependendFigure);
-	}
-
-	public TextHolder getTextHolder() {
-		return null;
-	}
-
-	public Figure getDecoratedFigure() {
-		return this;
-	}	
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AbstractHandle.java b/JHotDraw/src/CH/ifa/draw/standard/AbstractHandle.java
deleted file mode 100644
index c901ea18f..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AbstractHandle.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * @(#)AbstractHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Color;
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * AbstractHandle provides defaulf implementation for the Handle interface.
- *
- * @see CH.ifa.draw.framework.Figure
- * @see CH.ifa.draw.framework.Handle
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractHandle implements Handle {
-
-	/**
-	 * The standard size of a handle.
-	 */
-	public static final int HANDLESIZE = 8;
-
-	private Figure fOwner;
-	private Undoable myUndoableActivity;
-	
-	/**
-	 * Constructor for <code>AbstractHandle</code>.
-	 * Initializes the owner of the figure.
-	 * @param owner
-	 */
-	public AbstractHandle(Figure owner) {
-		fOwner = owner;
-	}
-
-	/**
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 * @see CH.ifa.draw.framework.Handle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void invokeStart(int x, int  y, DrawingView view) {
-		invokeStart(x, y, view.drawing());
-	}
-
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @see CH.ifa.draw.framework.Handle#invokeStart(int, int, CH.ifa.draw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeStart(x, y, drawingView)
-	 */
-	public void invokeStart(int  x, int  y, Drawing drawing) { }
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 * @see CH.ifa.draw.framework.Handle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		invokeStep(x-anchorX, y-anchorY, view.drawing());
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param dx x delta of this step
-	 * @param dy y delta of this step
-	 * @see CH.ifa.draw.framework.Handle#invokeStep(int, int, CH.ifa.draw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeStep(x, y, anchorX, anchorY, drawingView)
-	 */
-	public void invokeStep(int dx, int dy, Drawing drawing) { }
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 * @see CH.ifa.draw.framework.Handle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		invokeEnd(x-anchorX, y-anchorY, view.drawing());
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @see CH.ifa.draw.framework.Handle#invokeEnd(int, int, CH.ifa.draw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeEnd(x, y, anchorX, anchorY, drawingView).
-	 */
-	public void invokeEnd(int dx, int dy, Drawing drawing) { }
-
-	/**
-	 * Gets the handle's owner.
-	 * @see CH.ifa.draw.framework.Handle#owner()
-	 */
-	public Figure owner() {
-		return fOwner;
-	}
-
-	/**
-	 * Gets the display box of the handle.
-	 * @see CH.ifa.draw.framework.Handle#displayBox()
-	 */
-	public Rectangle displayBox() {
-		Point p = locate();
-		return new Rectangle(
-				p.x - HANDLESIZE / 2,
-				p.y - HANDLESIZE / 2,
-				HANDLESIZE,
-				HANDLESIZE);
-	}
-
-	/**
-	 * Tests if a point is contained in the handle.
-	 * @see CH.ifa.draw.framework.Handle#containsPoint(int, int)
-	 */
-	public boolean containsPoint(int x, int y) {
-		return displayBox().contains(x, y);
-	}
-
-	/**
-	 * Draws this handle.
-	 * @see CH.ifa.draw.framework.Handle#draw(java.awt.Graphics)
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.white);
-		g.fillRect(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#getUndoActivity()
-	 */
-	public Undoable getUndoActivity() {
-		return myUndoableActivity;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#setUndoActivity(CH.ifa.draw.util.Undoable)
-	 */
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		myUndoableActivity = newUndoableActivity;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#getCursor()
-	 */
-	public Cursor getCursor() {
-		return new AWTCursor(AWTCursor.DEFAULT_CURSOR);
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AbstractLocator.java b/JHotDraw/src/CH/ifa/draw/standard/AbstractLocator.java
deleted file mode 100644
index b9861b097..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AbstractLocator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)AbstractLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-
-import java.io.IOException;
-
-
-/**
- * AbstractLocator provides default implementations for
- * the Locator interface.
- *
- * @see Locator
- * @see Handle
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractLocator implements Locator, Storable, Cloneable {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -7742023180844048409L;
-
-	protected AbstractLocator() {
-	}
-
-	public Object clone() {
-		try {
-			return super.clone();
-		}
-		catch (CloneNotSupportedException e) {
-			throw new InternalError();
-		}
-	}
-
-	/**
-	 * Stores the arrow tip to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-	}
-
-	/**
-	 * Reads the arrow tip from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-	}
-}
-
-
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AbstractTool.java b/JHotDraw/src/CH/ifa/draw/standard/AbstractTool.java
deleted file mode 100644
index 362ba8484..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AbstractTool.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/*
- * @(#)AbstractTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.event.KeyEvent;
-import java.awt.event.MouseEvent;
-import java.util.EventObject;
-import java.util.Iterator;
-import java.util.List;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * Default implementation support for Tools.
- *
- * @see DrawingView
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public abstract class AbstractTool implements Tool {
-
-	private DrawingEditor     myDrawingEditor;
-
-	/**
-	 * The position of the initial mouse down.
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 */
-    private int myAnchorX;
-    private int myAnchorY;
-
-	/**
-	 * A tool can have a drawing view on which it operates
-	 * independingly of the currently active drawing view.
-	 * For example, if a tool can be used
-	 */
-	private DrawingView     myDrawingView;
-
-	private Undoable myUndoActivity;
-	private AbstractTool.EventDispatcher myEventDispatcher;
-
-	private boolean myIsUsable;
-
-	/**
-	 * Flag to indicate whether to perform usable checks or not
-	 */
-	private boolean myIsEnabled;
-
-	/**
-	 * Constructs a tool for the given view.
-	 */
-	public AbstractTool(DrawingEditor newDrawingEditor) {
-		setEditor(newDrawingEditor);
-		setEventDispatcher(createEventDispatcher());
-		setEnabled(true);
-		checkUsable();
-		editor().addViewChangeListener(createViewChangeListener());
-	}
-
-	/**
-	 * Activates the tool for use on the given view. This method is called
-	 * whenever the user switches to this tool. Use this method to
-	 * reinitialize a tool.
-	 * Since tools will be disabled unless it is useable, there will always
-	 * be an active view when this is called. based on isUsable()
-	 * Tool should never be activated if the view is null.
-	 * Ideally, the dditor should take care of that.
-	 */
-	public void activate() {
-		if (getActiveView() != null) {
-			getActiveView().clearSelection();
-			getActiveView().checkDamage();
-			getEventDispatcher().fireToolActivatedEvent();
-		}
-	}
-
-	/**
-	 * Deactivates the tool. This method is called whenever the user
-	 * switches to another tool. Use this method to do some clean-up
-	 * when the tool is switched. Subclassers should always call
-	 * super.deactivate.
-	 * An inactive tool should never be deactivated
-	 */
-	public void deactivate() {
-		if (isActive()) {
-			if (getActiveView() != null) {
-				getActiveView().setCursor(new AWTCursor(java.awt.Cursor.DEFAULT_CURSOR));
-			}
-			getEventDispatcher().fireToolDeactivatedEvent();
-		}
-	}
-
-	/**
-	 * Fired when the selected view changes.
-	 * Subclasses should always call super.  ViewSelectionChanged() this allows
-	 * the tools state to be updated and referenced to the new view.
-	 */
-	protected void viewSelectionChanged(DrawingView oldView, DrawingView newView) {
-		if (isActive()) {
-			deactivate();
-			activate();
-		}
-
-		checkUsable();
-	}
-
-	/**
-	 * Sent when a new view is created
-	 */
-	protected void viewCreated(DrawingView view) {
-	}
-
-	/**
-	 * Send when an existing view is about to be destroyed.
-	 */
-	protected void viewDestroying(DrawingView view) {
-	}
-
-	/**
-	 * Handles mouse down events in the drawing view.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-        setAnchorX(x);
-        setAnchorY(y);
-		setView((DrawingView)e.getSource());
-	}
-
-	/**
-	 * Handles mouse drag events in the drawing view.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Handles mouse up in the drawing view.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-//		setView(null);//This must be fixed!!! the view should not be held onto after mouse up??
-//unlike super.mousedown which is usually called immediately after a sub classes mouse down
-//method starts, super.mouseup should probably be called last before the method ends?
-//it must if its going to set the view to null.  getting messy.
-	}
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y) {
-	}
-
-	/**
-	 * Handles key down events in the drawing view.
-	 */
-	public void keyDown(KeyEvent evt, int key) {
-	}
-
-	/**
-	 * Gets the tool's drawing.
-	 */
-	public Drawing drawing() {
-		return view().drawing();
-	}
-
-	public Drawing getActiveDrawing() {
-	    return getActiveView().drawing();
-	}
-
-	/**
-	 * Gets the tool's editor.
-	 */
-	public DrawingEditor editor() {
-		return myDrawingEditor;
-	}
-
-	protected void setEditor(DrawingEditor newDrawingEditor) {
-		myDrawingEditor = newDrawingEditor;
-	}
-
-	/**
-	 * Gets the tool's view (convienence method).
-	 */
-	public DrawingView view() {
-		return myDrawingView;
-	}
-
-	protected void setView(DrawingView newDrawingView) {
-		myDrawingView = newDrawingView;
-	}
-
-	public DrawingView getActiveView() {
-		return editor().view();
-	}
-
-	/**
-	 * Tests if the tool can be used or "executed."
-	 */
-	public boolean isUsable() {
-		return isEnabled() && myIsUsable;
-	}
-
-	public void setUsable(boolean newIsUsable) {
-		// perform notification only if the usable state of the tool has changed
-		if (isUsable() != newIsUsable) {
-			myIsUsable = newIsUsable;
-			if (isUsable()) {
-				getEventDispatcher().fireToolUsableEvent();
-			}
-			else {
-				getEventDispatcher().fireToolUnusableEvent();
-			}
-		}
-	}
-
-	public void setEnabled(boolean newIsEnabled) {
-		// perform notification only if the usable state of the tool has changed
-		if (isEnabled() != newIsEnabled) {
-			myIsEnabled = newIsEnabled;
-			if (isEnabled()) {
-				getEventDispatcher().fireToolEnabledEvent();
-			}
-			else {
-				getEventDispatcher().fireToolDisabledEvent();
-				setUsable(false);
-				deactivate();
-			}
-		}
-	}
-
-	public boolean isEnabled() {
-		return myIsEnabled;
-	}
-
-	/**
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 * @see #mouseDown
-	 */
-	protected void setAnchorX(int newAnchorX) {
-		myAnchorX = newAnchorX;
-	}
-
-	/**
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 *
-	 * @return the anchor X coordinate for the interaction
-	 * @see #mouseDown
-	 */
-	protected int getAnchorX() {
-		return myAnchorX;
-	}
-
-	/**
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 * @see #mouseDown
-	 */
-	protected void setAnchorY(int newAnchorY) {
-		myAnchorY = newAnchorY;
-	}
-
-	/**
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 *
-	 * @return the anchor Y coordinate for the interaction
-	 * @see #mouseDown
-	 */
-	protected int getAnchorY() {
-		return myAnchorY;
-	}
-
-	public Undoable getUndoActivity() {
-		return myUndoActivity;
-	}
-
-	public void setUndoActivity(Undoable newUndoActivity) {
-		myUndoActivity = newUndoActivity;
-	}
-
-	public boolean isActive() {
-		return (editor().tool() == this) && isUsable();
-	}
-
-	public void addToolListener(ToolListener newToolListener) {
-		getEventDispatcher().addToolListener(newToolListener);
-	}
-
-	public void removeToolListener(ToolListener oldToolListener) {
-		getEventDispatcher().removeToolListener(oldToolListener);
-	}
-
-	private void setEventDispatcher(AbstractTool.EventDispatcher newEventDispatcher) {
-		myEventDispatcher = newEventDispatcher;
-	}
-
-	protected AbstractTool.EventDispatcher getEventDispatcher() {
-		return myEventDispatcher;
-	}
-
-	protected AbstractTool.EventDispatcher createEventDispatcher() {
-		return new AbstractTool.EventDispatcher(this);
-	}
-
-    protected ViewChangeListener createViewChangeListener() {
-        return new ViewChangeListener() {
-            public void viewSelectionChanged(DrawingView oldView, DrawingView newView){
-	    		AbstractTool.this.viewSelectionChanged(oldView, newView);
-		    }
-    		public void viewCreated(DrawingView view){
-	    		AbstractTool.this.viewCreated(view);
-		    }
-    		public void viewDestroying(DrawingView view){
-	    		AbstractTool.this.viewDestroying(view);
-		    }
-        };
-    }
-
-	protected void checkUsable() {
-		if (isEnabled()) {
-			setUsable((getActiveView() != null) && getActiveView().isInteractive());
-		}
-	}
-
-	public static class EventDispatcher {
-		private List myRegisteredListeners;
-		private Tool myObservedTool;
-
-		public EventDispatcher(Tool newObservedTool) {
-			myRegisteredListeners = CollectionsFactory.current().createList();
-			myObservedTool = newObservedTool;
-		}
-
-		public void fireToolUsableEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolUsable(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolUnusableEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolUnusable(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolActivatedEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolActivated(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolDeactivatedEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolDeactivated(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolEnabledEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolEnabled(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolDisabledEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolDisabled(new EventObject(myObservedTool));
-			}
-		}
-
-		public void addToolListener(ToolListener newToolListener) {
-			if (!myRegisteredListeners.contains(newToolListener)) {
-				myRegisteredListeners.add(newToolListener);
-			}
-		}
-
-		public void removeToolListener(ToolListener oldToolListener) {
-			if (myRegisteredListeners.contains(oldToolListener)) {
-				myRegisteredListeners.remove(oldToolListener);
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ActionTool.java b/JHotDraw/src/CH/ifa/draw/standard/ActionTool.java
deleted file mode 100644
index 320ae5a3c..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ActionTool.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)ActionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-
-import java.awt.event.MouseEvent;
-
-/**
- * A tool that performs an action when it is active and
- * the mouse is clicked.
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class ActionTool extends AbstractTool {
-
-	public ActionTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	/**
-	 * Add the touched figure to the selection an invoke action
-	 * @see #action
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		Figure target = drawing().findFigure(x, y);
-		if (target != null) {
-			view().addToSelection(target);
-			action(target);
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		editor().toolDone();
-	}
-
-	/**
-	 * Performs an action with the touched figure.
-	 */
-	public abstract void action(Figure figure);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AlignCommand.java b/JHotDraw/src/CH/ifa/draw/standard/AlignCommand.java
deleted file mode 100644
index 80f39276d..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AlignCommand.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * @(#)AlignCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-import java.util.*;
-import java.awt.*;
-
-/**
- * Align a selection of figures relative to each other.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class AlignCommand extends AbstractCommand {
-
-	public static abstract class Alignment {
-		/**
-		 * align left sides
-		 */
-		public final static Alignment LEFTS = new Alignment("Lefts") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy(anchor.x-rr.x, 0);
-			}
-		};
-
-		/**
-		 * align centers (horizontally)
-		 */
-		public final static Alignment CENTERS = new Alignment("Centers") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy((anchor.x+anchor.width/2) - (rr.x+rr.width/2), 0);
-			}
-		};
-
-		/**
-		 * align right sides
-		 */
-		public final static Alignment RIGHTS = new Alignment("Rights") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy((anchor.x+anchor.width) - (rr.x+rr.width), 0);
-			}
-		};
-
-		/**
-		 * align tops
-		 */
-		public final static Alignment TOPS = new Alignment("Tops") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy(0, anchor.y-rr.y);
-			}
-		};
-
-		/**
-		 * align middles (vertically)
-		 */
-		public final static Alignment MIDDLES = new Alignment("Middles") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy(0, (anchor.y+anchor.height/2) - (rr.y+rr.height/2));
-			}
-		};
-
-		/**
-		 * align bottoms
-		 */
-		public final static Alignment BOTTOMS = new Alignment("Bottoms") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy(0, (anchor.y+anchor.height) - (rr.y+rr.height));
-			}
-		};
-
-		private String myDescription;
-
-		private Alignment(String newDescription) {
-			setDescription(newDescription);
-		}
-
-		public String toString() {
-			return getDescription();
-		}
-
-		public String getDescription() {
-			return myDescription;
-		}
-
-		private void setDescription(String newDescription) {
-			myDescription = newDescription;
-		}
-
-		public abstract void moveBy(Figure f, Rectangle anchor);
-	}
-
-	private Alignment myAlignment;
-
-	/**
-	 * Constructs an alignment command.
-	 * @param newAlignment the alignment operation (LEFTS, CENTERS, RIGHTS, etc.)
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public AlignCommand(Alignment newAlignment, DrawingEditor newDrawingEditor) {
-		super(newAlignment.getDescription(), newDrawingEditor);
-		setAlignment(newAlignment);
-	}
-
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 1;
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		// get selected figures in the order the figures have been selected
-		getUndoActivity().setAffectedFigures(view().selection());
-		((AlignCommand.UndoActivity)getUndoActivity()).alignAffectedFigures(getAlignment());
-		view().checkDamage();
-	}
-
-	protected void setAlignment(Alignment newAlignment) {
-		myAlignment = newAlignment;
-	}
-
-	public Alignment getAlignment() {
-		return myAlignment;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new AlignCommand.UndoActivity(view(), getAlignment());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Hashtable myOriginalPoints;
-		private Alignment myAppliedAlignment;
-
-		public UndoActivity(DrawingView newView, Alignment newAlignment) {
-			super(newView);
-			myOriginalPoints = new Hashtable();
-			setAppliedAlignment(newAlignment);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				Point originalPoint = getOriginalPoint(f);
-				Point currentPoint = f.displayBox().getLocation();
-				// substract current lcoation to get to 0,0 and then move to original location
-				f.moveBy(-currentPoint.x + originalPoint.x,
-						 -currentPoint.y + originalPoint.y);
-			}
-
-			return true;
-		}
-
-		public boolean redo() {
-			if (!isRedoable()) {
-				return false;
-			}
-			alignAffectedFigures(getAppliedAlignment());
-			return true;
-		}
-
-		protected void setAppliedAlignment(Alignment newAlignment) {
-			myAppliedAlignment = newAlignment;
-		}
-
-		public Alignment getAppliedAlignment() {
-			return myAppliedAlignment;
-		}
-
-		protected void addOriginalPoint(Figure f) {
-			myOriginalPoints.put(f, f.displayBox().getLocation());
-		}
-
-		public Point getOriginalPoint(Figure f) {
-			return (Point)myOriginalPoints.get(f);
-		}
-
-		public void alignAffectedFigures(Alignment applyAlignment) {
-			FigureEnumeration fe = getAffectedFigures();
-			Figure anchorFigure = fe.nextFigure();
-			Rectangle r = anchorFigure.displayBox();
-
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				applyAlignment.moveBy(f, r);
-			}
-		}
-
-		public void setAffectedFigures(FigureEnumeration fe) {
-			// first make copy of FigureEnumeration in superclass
-			super.setAffectedFigures(fe);
-			// then get new FigureEnumeration of copy to save aligment
-			FigureEnumeration copyFe = getAffectedFigures();
-			while (copyFe.hasNextFigure()) {
-				addOriginalPoint(copyFe.nextFigure());
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/BoxHandleKit.java b/JHotDraw/src/CH/ifa/draw/standard/BoxHandleKit.java
deleted file mode 100644
index d87f69ec5..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/BoxHandleKit.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * @(#)BoxHandleKit.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-import java.awt.*;
-import java.util.List;
-
-/**
- * A set of utility methods to create Handles for the common
- * locations on a figure's display box.
- *
- * @see Handle
- *
- * @version <$CURRENT_VERSION$>
- */
-
- // TBD: use anonymous inner classes (had some problems with JDK 1.1)
-
-public class BoxHandleKit {
-
-	/**
-	 * Fills the given collection with handles at each corner of a
-	 * figure.
-	 */
-	static public void addCornerHandles(Figure f, List handles) {
-		handles.add(southEast(f));
-		handles.add(southWest(f));
-		handles.add(northEast(f));
-		handles.add(northWest(f));
-	}
-
-	/**
-	 * Fills the given collection with handles at each corner
-	 * and the north, south, east, and west of the figure.
-	 */
-	static public void addHandles(Figure f, List handles) {
-		addCornerHandles(f, handles);
-		handles.add(south(f));
-		handles.add(north(f));
-		handles.add(east(f));
-		handles.add(west(f));
-	}
-
-	static public Handle south(Figure owner) {
-		return new SouthHandle(owner);
-	}
-
-	static public Handle southEast(Figure owner) {
-		return new SouthEastHandle(owner);
-	}
-
-	static public Handle southWest(Figure owner) {
-		return new SouthWestHandle(owner);
-	}
-
-	static public Handle north(Figure owner) {
-		return new NorthHandle(owner);
-	}
-
-	static public Handle northEast(Figure owner) {
-		return new NorthEastHandle(owner);
-	}
-
-	static public Handle northWest(Figure owner) {
-		return new NorthWestHandle(owner);
-	}
-
-	static public Handle east(Figure owner) {
-		return new EastHandle(owner);
-	}
-
-	static public Handle west(Figure owner) {
-		return new WestHandle(owner);
-	}
-}
-
-class ResizeHandle extends LocatorHandle {
-	ResizeHandle(Figure owner, Locator loc) {
-		super(owner, loc);
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-		((ResizeHandle.UndoActivity)getUndoActivity()).setOldDisplayBox(owner().displayBox());
-	}
-
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle oldDisplayBox = ((ResizeHandle.UndoActivity)getUndoActivity()).getOldDisplayBox();
-		if (owner().displayBox().equals(oldDisplayBox)) {
-			// display box hasn't change so there is nothing to undo
-			setUndoActivity(null);
-		}
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView view) {
-		return new ResizeHandle.UndoActivity(view);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Rectangle myOldDisplayBox;
-
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return resetDisplayBox();
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return resetDisplayBox();
-		}
-
-		private boolean resetDisplayBox() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			Figure currentFigure = fe.nextFigure();
-
-			Rectangle figureDisplayBox = currentFigure.displayBox();
-			currentFigure.displayBox(getOldDisplayBox());
-			setOldDisplayBox(figureDisplayBox);
-			return true;
-		}
-
-		protected void setOldDisplayBox(Rectangle newOldDisplayBox) {
-			myOldDisplayBox = newOldDisplayBox;
-		}
-
-		public Rectangle getOldDisplayBox() {
-			return myOldDisplayBox;
-		}
-	}
-}
-
-class NorthEastHandle extends ResizeHandle {
-	NorthEastHandle(Figure owner) {
-		super(owner, RelativeLocator.northEast());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, Math.min(r.y + r.height, y)),
-			new Point(Math.max(r.x, x), r.y + r.height)
-		);
-	}
-}
-
-class EastHandle extends ResizeHandle {
-	EastHandle(Figure owner) {
-		super(owner, RelativeLocator.east());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, r.y), new Point(Math.max(r.x, x), r.y + r.height)
-		);
-	}
-}
-
-class NorthHandle extends ResizeHandle {
-	NorthHandle(Figure owner) {
-		super(owner, RelativeLocator.north());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, Math.min(r.y + r.height, y)),
-			new Point(r.x + r.width, r.y + r.height)
-		);
-	}
-}
-
-class NorthWestHandle extends ResizeHandle {
-	NorthWestHandle(Figure owner) {
-		super(owner, RelativeLocator.northWest());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(Math.min(r.x + r.width, x), Math.min(r.y + r.height, y)),
-			new Point(r.x + r.width, r.y + r.height)
-		);
-	}
-}
-
-class SouthEastHandle extends ResizeHandle {
-	SouthEastHandle(Figure owner) {
-		super(owner, RelativeLocator.southEast());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, r.y),
-			new Point(Math.max(r.x, x), Math.max(r.y, y))
-		);
-	}
-}
-
-class SouthHandle extends ResizeHandle {
-	SouthHandle(Figure owner) {
-		super(owner, RelativeLocator.south());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, r.y),
-			new Point(r.x + r.width, Math.max(r.y, y))
-		);
-	}
-}
-
-class SouthWestHandle extends ResizeHandle {
-	SouthWestHandle(Figure owner) {
-		super(owner, RelativeLocator.southWest());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(Math.min(r.x + r.width, x), r.y),
-			new Point(r.x + r.width, Math.max(r.y, y))
-		);
-	}
-}
-
-class WestHandle extends ResizeHandle {
-	WestHandle(Figure owner) {
-		super(owner, RelativeLocator.west());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(Math.min(r.x + r.width, x), r.y),
-			new Point(r.x + r.width, r.y + r.height)
-		);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/BringToFrontCommand.java b/JHotDraw/src/CH/ifa/draw/standard/BringToFrontCommand.java
deleted file mode 100644
index 2b228c4c0..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/BringToFrontCommand.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * @(#)BringToFrontCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * BringToFrontCommand brings the selected figures in the front of
- * the other figures.
- *
- * @see SendToBackCommand
- * @version <$CURRENT_VERSION$>
- */
-public class BringToFrontCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a bring to front command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public BringToFrontCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(view().selection());
-		FigureEnumeration fe = getUndoActivity().getAffectedFigures();
-		while (fe.hasNextFigure()) {
-			view().drawing().bringToFront(fe.nextFigure());
-		}
-		view().checkDamage();
-	}
-
-	public boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	protected Undoable createUndoActivity() {
-		return new BringToFrontCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends SendToBackCommand.UndoActivity {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-		}
-
-		protected void sendToCommand(Figure f) {
-			getDrawingView().drawing().bringToFront(f);
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/BufferedUpdateStrategy.java b/JHotDraw/src/CH/ifa/draw/standard/BufferedUpdateStrategy.java
deleted file mode 100644
index d5e91a173..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/BufferedUpdateStrategy.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * @(#)BufferedUpdateStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * The BufferedUpdateStrategy implements an update
- * strategy that first draws a view into a buffer
- * followed by copying the buffer to the DrawingView.
- *
- * @see DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public class BufferedUpdateStrategy implements Painter {
-
-	/**
-	* The offscreen image
-	*/
-	transient private Image   fOffscreen;
-	private int     fImagewidth = -1;
-	private int     fImageheight = -1;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 6489532222954612824L;
-	private int bufferedUpdateSerializedDataVersion = 1;
-
-	/**
-	* Draws the view contents.
-	*/
-	public void draw(Graphics g, DrawingView view) {
-		// create the buffer if necessary
-		Dimension d = view.getSize();
-		if ((fOffscreen == null) || (d.width != fImagewidth)
-			|| (d.height != fImageheight)) {
-			fOffscreen = view.createImage(d.width, d.height);
-			fImagewidth = d.width;
-			fImageheight = d.height;
-		}
-
-		// let the view draw on offscreen buffer
-		Graphics g2 = fOffscreen.getGraphics();
-		view.drawAll(g2);
-
-		g.drawImage(fOffscreen, 0, 0, view);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ChangeAttributeCommand.java b/JHotDraw/src/CH/ifa/draw/standard/ChangeAttributeCommand.java
deleted file mode 100644
index 050f4b8fa..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ChangeAttributeCommand.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)ChangeAttributeCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-import java.util.Hashtable;
-
-/**
- * Command to change a named figure attribute.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ChangeAttributeCommand extends AbstractCommand {
-
-	private FigureAttributeConstant fAttribute;
-	private Object      fValue;
-
-	/**
-	 * Constructs a change attribute command.
-	 * @param name the command name
-	 * @param attribute the attribute to be changed
-	 * @param value the new attribute value
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public ChangeAttributeCommand(String name, FigureAttributeConstant attribute,
-						   Object value, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-		fAttribute = attribute;
-		fValue = value;
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(view().selection());
-		FigureEnumeration fe = getUndoActivity().getAffectedFigures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().setAttribute(fAttribute, fValue);
-		}
-		view().checkDamage();
-	}
-
-	public boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new ChangeAttributeCommand.UndoActivity(view(), fAttribute, fValue);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private FigureAttributeConstant myUndoAttribute;
-		private Hashtable	            myOriginalValues;
-		private Object                  myUndoValue;
-
-		public UndoActivity(DrawingView newDrawingView, FigureAttributeConstant newUndoAttribute, Object newUndoValue) {
-			super(newDrawingView);
-			myOriginalValues = new Hashtable();
-			setAttribute(newUndoAttribute);
-			setBackupValue(newUndoValue);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				if (getOriginalValue(f) != null) {
-					f.setAttribute(getAttribute(), getOriginalValue(f));
-				}
-			}
-
-			return true;
-		}
-
-		public boolean redo() {
-			if (!isRedoable()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				if (getBackupValue() != null) {
-					f.setAttribute(getAttribute(), getBackupValue());
-				}
-			}
-
-			return true;
-		}
-
-		protected void addOriginalValue(Figure affectedFigure, Object newOriginalValue) {
-			myOriginalValues.put(affectedFigure, newOriginalValue);
-		}
-
-		protected Object getOriginalValue(Figure lookupAffectedFigure) {
-			return myOriginalValues.get(lookupAffectedFigure);
-		}
-
-		protected void setAttribute(FigureAttributeConstant newUndoAttribute) {
-			myUndoAttribute = newUndoAttribute;
-		}
-
-		public FigureAttributeConstant getAttribute() {
-			return myUndoAttribute;
-		}
-
-		protected void setBackupValue(Object newUndoValue) {
-			myUndoValue = newUndoValue;
-		}
-
-		public Object getBackupValue() {
-			return myUndoValue;
-		}
-
-		public void release() {
-			super.release();
-			myOriginalValues = null;
-		}
-
-		public void setAffectedFigures(FigureEnumeration fe) {
-			// first make copy of FigureEnumeration in superclass
-			super.setAffectedFigures(fe);
-			// then get new FigureEnumeration of copy to save attributes
-			FigureEnumeration copyFe = getAffectedFigures();
-			while (copyFe.hasNextFigure()) {
-				Figure f = copyFe.nextFigure();
-				Object attributeValue = f.getAttribute(getAttribute());
-				if (attributeValue != null) {
-					addOriginalValue(f, attributeValue);
-				}
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionEndHandle.java b/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionEndHandle.java
deleted file mode 100644
index 191fe8507..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionEndHandle.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * @(#)ChangeConnectionEndHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Undoable;
-import java.awt.Point;
-
-/**
- * A handle to reconnect the end point of
- * a connection to another figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ChangeConnectionEndHandle extends ChangeConnectionHandle {
-
-	/**
-	 * Constructs the connection handle.
-	 */
-	public ChangeConnectionEndHandle(ConnectionFigure owner) {
-		super(owner);
-	}
-
-	/**
-	 * Gets the end figure of a connection.
-	 */
-	protected Connector target() {
-		return getConnection().getEndConnector();
-	}
-
-	/**
-	 * Disconnects the end figure.
-	 */
-	protected void disconnect() {
-		getConnection().disconnectEnd();
-	}
-
-	/**
-	 * Sets the end of the connection.
-	 */
-	protected void connect(Connector c) {
-		getConnection().connectEnd(c);
-	}
-
-	/**
-	 * Sets the end point of the connection.
-	 */
-	protected void setPoint(int x, int y) {
-		getConnection().endPoint(x, y);
-	}
-
-	/**
-	 * Returns the end point of the connection.
-	 */
-	public Point locate() {
-		return getConnection().endPoint();
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new ChangeConnectionEndHandle.UndoActivity(newView);
-	}
-
-	public static class UndoActivity extends ChangeConnectionHandle.UndoActivity {
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-		}
-
-		protected Connector replaceConnector(ConnectionFigure connection) {
-			Connector tempEndConnector = connection.getEndConnector();
-			connection.connectEnd(getOldConnector());
-			return tempEndConnector;
-		}
-	}
-
-    protected boolean canConnectTo(Figure figure) {
-        return getConnection().canConnect(source().owner(), figure);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionHandle.java b/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionHandle.java
deleted file mode 100644
index c3586fd6c..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionHandle.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * @(#)ChangeConnectionHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * ChangeConnectionHandle factors the common code for handles
- * that can be used to reconnect connections.
- *
- * @see ChangeConnectionEndHandle
- * @see ChangeConnectionStartHandle
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class ChangeConnectionHandle extends AbstractHandle {
-
-	private Connector         fOriginalTarget;
-	private Figure            myTarget;
-	private ConnectionFigure  myConnection;
-	private Point             fStart;
-
-	/**
-	 * Initializes the change connection handle.
-	 */
-	protected ChangeConnectionHandle(ConnectionFigure owner) {
-		super(owner);
-		setConnection(owner);
-		setTargetFigure(null);
-	}
-
-	/**
-	 * Returns the target connector of the change.
-	 */
-	protected abstract Connector target();
-
-	/**
-	 * Disconnects the connection.
-	 */
-	protected abstract void disconnect();
-
-	/**
-	 * Connect the connection with the given figure.
-	 */
-	protected abstract void connect(Connector c);
-
-	/**
-	 * Sets the location of the target point.
-	 */
-	protected abstract void setPoint(int x, int y);
-
-	/**
-	 * Gets the side of the connection that is unaffected by
-	 * the change.
-	 */
-	protected Connector source() {
-		if (target() == getConnection().getStartConnector()) {
-			return getConnection().getEndConnector();
-		}
-		return getConnection().getStartConnector();
-	}
-
-	/**
-	 * Disconnects the connection.
-	 */
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		fOriginalTarget = target();
-		fStart = new Point(x, y);
-
-		setUndoActivity(createUndoActivity(view));
-		((ChangeConnectionHandle.UndoActivity)getUndoActivity()).setOldConnector(target());
-
-		disconnect();
-	}
-
-	/**
-	 * Finds a new target of the connection.
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Point p = new Point(x, y);
-		Figure f = findConnectableFigure(x, y, view.drawing());
-		// track the figure containing the mouse
-		if (f != getTargetFigure()) {
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(false, null);
-			}
-			setTargetFigure(f);
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(true, getConnection());
-			}
-		}
-
-		Connector target = findConnectionTarget(p.x, p.y, view.drawing());
-		if (target != null) {
-			p = Geom.center(target.displayBox());
-		}
-		setPoint(p.x, p.y);
-	}
-
-	/**
-	 * Connects the figure to the new target. If there is no
-	 * new target the connection reverts to its original one.
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Connector target = findConnectionTarget(x, y, view.drawing());
-		if (target == null) {
-			target = fOriginalTarget;
-		}
-
-		setPoint(x, y);
-		connect(target);
-		getConnection().updateConnection();
-
-		Connector oldConnector = ((ChangeConnectionHandle.UndoActivity)
-			getUndoActivity()).getOldConnector();
-		// there has been no change so there is nothing to undo
-		if ((oldConnector == null)
-				|| (target() == null)
-				|| (oldConnector.owner() == target().owner())) {
-			setUndoActivity(null);
-		}
-		else {
-			getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(getConnection()));
-		}
-
-		if (getTargetFigure() != null) {
-			getTargetFigure().connectorVisibility(false, null);
-			setTargetFigure(null);
-		}
-	}
-
-	private Connector findConnectionTarget(int x, int y, Drawing drawing) {
-		Figure target = findConnectableFigure(x, y, drawing);
-
-		if ((target != null)
-			&& target.canConnect()
-			 && target != fOriginalTarget
-			 && !target.includes(owner())
-            /*
-    		 * JP, 25-May-03: Fix for ignored direction when checking
-    		 * connectability. Old version didn't take direction of
-             * connection into account, which could result in incorrect
-             * drawing if syntax rules were a concern.
-             * 
-             * See also new canConnectTo() method below.
-             * 
-             * Was:
-             * 
-    		 * && getConnection().canConnect(source().owner(), target)) {
-    		 */
-			&& canConnectTo(target)) {
-				return findConnector(x, y, target);
-		}
-		return null;
-	}
-
-    /**
-     * Called to check whether this end of the connection can connect to the
-     * given target figure. Needs to be overriden by the start and end changers
-     * to take the connection's direction into account during the check. JHD 5.4
-     * beta and before did not do this.
-     */
-    protected abstract boolean canConnectTo(Figure figure);
-    
-	protected Connector findConnector(int x, int y, Figure f) {
-		return f.connectorAt(x, y);
-	}
-
-	/**
-	 * Draws this handle.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.green);
-		g.fillRect(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-
-	private Figure findConnectableFigure(int x, int y, Drawing drawing) {
-		FigureEnumeration fe = drawing.figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (!figure.includes(getConnection()) && figure.canConnect()) {
-				if (figure.containsPoint(x, y)) {
-					return figure;
-				}
-			}
-		}
-		return null;
-	}
-	
-	protected void setConnection(ConnectionFigure newConnection) {
-		myConnection = newConnection;
-	}
-	
-	protected ConnectionFigure getConnection() {
-		return myConnection;
-	}
-	
-	protected void setTargetFigure(Figure newTarget) {
-		myTarget = newTarget;
-	}
-	
-	protected Figure getTargetFigure() {
-		return myTarget;
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected abstract Undoable createUndoActivity(DrawingView newView);
-	
-	public static abstract class UndoActivity extends UndoableAdapter {
-		private Connector myOldConnector;
-		
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			swapConnectors();
-			return true;
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			swapConnectors();
-			return true;
-		}
-
-		private void swapConnectors() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (fe.hasNextFigure()) {
-				ConnectionFigure connection = (ConnectionFigure)fe.nextFigure();
-				setOldConnector(replaceConnector(connection));
-				connection.updateConnection();
-			}
-		}
-
-		protected abstract Connector replaceConnector(ConnectionFigure connection);
-				
-		public void setOldConnector(Connector newOldConnector) {
-			myOldConnector = newOldConnector;
-		}
-		
-		public Connector getOldConnector() {
-			return myOldConnector;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionStartHandle.java b/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionStartHandle.java
deleted file mode 100644
index 8b15e185e..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionStartHandle.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * @(#)ChangeConnectionStartHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Undoable;
-import java.awt.Point;
-
-/**
- * Handle to reconnect the
- * start of a connection to another figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ChangeConnectionStartHandle extends ChangeConnectionHandle {
-
-	/**
-	 * Constructs the connection handle for the given start figure.
-	 */
-	public ChangeConnectionStartHandle(ConnectionFigure owner) {
-		super(owner);
-	}
-
-	/**
-	 * Gets the start figure of a connection.
-	 */
-	protected Connector target() {
-		return getConnection().getStartConnector();
-	}
-
-	/**
-	 * Disconnects the start figure.
-	 */
-	protected void disconnect() {
-		getConnection().disconnectStart();
-	}
-
-	/**
-	 * Sets the start of the connection.
-	 */
-	protected void connect(Connector c) {
-		getConnection().connectStart(c);
-	}
-
-	/**
-	 * Sets the start point of the connection.
-	 */
-	protected void setPoint(int x, int y) {
-		getConnection().startPoint(x, y);
-	}
-
-	/**
-	 * Returns the start point of the connection.
-	 */
-	public Point locate() {
-		return getConnection().startPoint();
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new ChangeConnectionStartHandle.UndoActivity(newView);
-	}
-
-	public static class UndoActivity extends ChangeConnectionHandle.UndoActivity {
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-		}
-		
-		protected Connector replaceConnector(ConnectionFigure connection) {
-			Connector tempStartConnector = connection.getStartConnector();
-			connection.connectStart(getOldConnector());
-			return tempStartConnector;
-		}
-	}
-    
-    protected boolean canConnectTo(Figure figure) {
-        return getConnection().canConnect(figure, source().owner());
-}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ChopBoxConnector.java b/JHotDraw/src/CH/ifa/draw/standard/ChopBoxConnector.java
deleted file mode 100644
index 2a2312fe2..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ChopBoxConnector.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * @(#)ChopBoxConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Geom;
-
-/**
- * A ChopBoxConnector locates connection points by
- * choping the connection between the centers of the
- * two figures at the display box.
- *
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ChopBoxConnector extends AbstractConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -1461450322712345462L;
-
-	public ChopBoxConnector() { // only used for Storable implementation
-	}
-
-	public ChopBoxConnector(Figure owner) {
-		super(owner);
-	}
-
-	public Point findStart(ConnectionFigure connection) {
-		Figure startFigure = connection.getStartConnector().owner();
-		Rectangle r2 = connection.getEndConnector().displayBox();
-		Point r2c = null;
-
-		if (connection.pointCount() == 2) {
-			r2c = new Point(r2.x + r2.width/2, r2.y + r2.height/2);
-		 }
-		 else {
-			r2c = connection.pointAt(1);
-		}
-
-		return chop(startFigure, r2c);
-	}
-
-	public Point findEnd(ConnectionFigure connection) {
-		Figure endFigure = connection.getEndConnector().owner();
-		Rectangle r1 = connection.getStartConnector().displayBox();
-		Point r1c = null;
-
-		if (connection.pointCount() == 2) {
-			r1c = new Point(r1.x + r1.width/2, r1.y + r1.height/2);
-		}
-		else {
-			r1c = connection.pointAt(connection.pointCount()-2);
-		}
-
-		return chop(endFigure, r1c);
-	}
-
-	protected Point chop(Figure target, Point from) {
-		Rectangle r = target.displayBox();
-		return Geom.angleToPoint(r, (Geom.pointToAngle(r, from)));
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/standard/CompositeFigure.java b/JHotDraw/src/CH/ifa/draw/standard/CompositeFigure.java
deleted file mode 100644
index f6fca82c8..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/CompositeFigure.java
+++ /dev/null
@@ -1,734 +0,0 @@
-/*
- * @(#)CompositeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-import java.io.*;
-
-/**
- * A Figure that is composed of several figures. A CompositeFigure
- * doesn't define any layout behavior. It is up to subclassers to
- * arrange the contained figures.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld012.htm>Composite</a></b><br>
- * CompositeFigure enables to treat a composition of figures like
- * a single figure.<br>
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public abstract class CompositeFigure
-				extends AbstractFigure
-				implements FigureChangeListener {
-
-	/**
-	 * The figures that this figure is composed of
-	 * @see #add
-	 * @see #remove
-	 */
-	protected List fFigures;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 7408153435700021866L;
-	private int compositeFigureSerializedDataVersion = 1;
-	private transient QuadTree  _theQuadTree;
-	protected int _nLowestZ;
-	protected int _nHighestZ;
-
-	protected CompositeFigure() {
-		fFigures = CollectionsFactory.current().createList();
-		_nLowestZ = 0;
-		_nHighestZ = 0;
-	}
-
-	/**
-	 * Adds a figure to the list of figures. Initializes the
-	 * the figure's container.
-	 *
-	 * @param figure to be added to the drawing
-	 * @return the figure that was inserted (might be different from the figure specified).
-	 */
-	public Figure add(Figure figure) {
-		if (!containsFigure(figure)) {
-			figure.setZValue(++_nHighestZ);
-			fFigures.add(figure);
-			figure.addToContainer(this);
-			_addToQuadTree(figure);
-		}
-		return figure;
-	}
-
-	/**
-	 * Adds a list of figures.
-	 *
-	 * @see #add
-	 * @deprecated use addAll(FigureEnumeration) instead
-	 */
-	public void addAll(List newFigures) {
-		addAll(new FigureEnumerator(newFigures));
-	}
-
-	/**
-	 * Adds a FigureEnumeration of figures.
-	 *
-	 * @see #add
-	 * @param fe (unused) enumeration containing all figures to be added
-	 */
-	public void addAll(FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			add(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Removes a figure from the composite.
-	 *
-	 * @param figure that is part of the drawing and should be removed
-	 * @return the figure that has been removed (might be different from the figure specified)
-	 * @see #removeAll
-	 */
-	public Figure remove(Figure figure) {
-		Figure orphanedFigure = orphan(figure);
-		if (orphanedFigure != null) {
-			orphanedFigure.release();
-		}
-		return orphanedFigure;
-	}
-
-	/**
-	 * Removes a list of figures.
-	 *
-	 * @see #remove
-	 * @deprecated use removeAll(FigureEnumeration) instead
-	 */
-	public void removeAll(List figures) {
-		removeAll(new FigureEnumerator(figures));
-	}
-
-	/**
-	 * Removes a FigureEnumeration of figures.
-	 * @see #remove
-	 */
-	public void removeAll(FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			remove(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Removes all children.
-	 * @see #remove
-	 */
-	public void removeAll() {
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			figure.removeFromContainer(this);
-		}
-		fFigures.clear();
-
-		_clearQuadTree();
-		_nLowestZ = 0;
-		_nHighestZ = 0;
-	}
-
-	/**
-	 * Removes a figure from the figure list, but
-	 * doesn't release it. Use this method to temporarily
-	 * manipulate a figure outside of the drawing.
-	 *
-	 * @param figure that is part of the drawing and should be added
-	 */
-	public synchronized Figure orphan(Figure figure) {
-		figure.removeFromContainer(this);
-		fFigures.remove(figure);
-		_removeFromQuadTree(figure);
-		return figure;
-	}
-
-	/**
-	 * Removes a list of figures from the figure's list
-	 * without releasing the figures.
-	 *
-	 * @see #orphan
-	 * @deprecated use orphanAll(FigureEnumeration) instead
-	 */
-	public void orphanAll(List newFigures) {
-		orphanAll(new FigureEnumerator(newFigures));
-	}
-
-	public void orphanAll(FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			orphan(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Replaces a figure in the drawing without
-	 * removing it from the drawing.
-	 *
-	 * @param figure figure to be replaced
-	 * @param replacement figure that should replace the specified figure
-	 * @return the figure that has been inserted (might be different from the figure specified)
-	 */
-	public synchronized Figure replace(Figure figure, Figure replacement) {
-		int index = fFigures.indexOf(figure);
-		if (index != -1) {
-			replacement.setZValue(figure.getZValue());
-			replacement.addToContainer(this);   // will invalidate figure
-			figure.removeFromContainer(this);
-			fFigures.set(index, replacement);
-			figure.changed();
-			replacement.changed();
-		}
-		return replacement;
-	}
-
-	/**
-	 * Sends a figure to the back of the drawing.
-	 *
-	 * @param figure that is part of the drawing
-	 */
-	public synchronized void sendToBack(Figure figure) {
-		if (containsFigure(figure)) {
-			fFigures.remove(figure);
-			fFigures.add(0, figure);
-			_nLowestZ--;
-			figure.setZValue(_nLowestZ);
-			figure.changed();
-		}
-	}
-
-	/**
-	 * Brings a figure to the front.
-	 *
-	 * @param figure that is part of the drawing
-	 */
-	public synchronized void bringToFront(Figure figure) {
-		if (containsFigure(figure)) {
-			fFigures.remove(figure);
-			fFigures.add(figure);
-			_nHighestZ++;
-			figure.setZValue(_nHighestZ);
-			figure.changed();
-		}
-	}
-
-	/**
-	 * Sends a figure to a certain layer within a drawing. Each figure
-	 * lays in a unique layer and the layering order decides which
-	 * figure is drawn on top of another figure. Figures with a higher
-	 * layer number have usually been added later and may overlay
-	 * figures in lower layers. Layers are counted from to (the number
-	 * of figures - 1).
-	 * The figure is removed from its current layer (if it has been already
-	 * part of this drawing) and is transferred to the specified layers after
-	 * all figures between the original layer and the new layer are shifted to
-	 * one layer below to fill the layer sequence. It is not possible to skip a
-	 * layer number and if the figure is sent to a layer beyond the latest layer
-	 * it will be added as the last figure to the drawing and its layer number
-	 * will be set to the be the one beyond the latest layer so far.
-	 *
-	 * @param figure figure to be sent to a certain layer
-	 * @param layerNr target layer of the figure
-	 */
-	public void sendToLayer(Figure figure, int layerNr) {
-		if (containsFigure(figure)) {
-			if (layerNr >= fFigures.size()) {
-				layerNr = fFigures.size() - 1;
-			}
-			Figure layerFigure = getFigureFromLayer(layerNr);
-			int layerFigureZValue = layerFigure.getZValue();
-			int figureLayer = getLayer(figure);
-			// move figure forward
-			if (figureLayer < layerNr) {
-				assignFiguresToPredecessorZValue(figureLayer + 1, layerNr);
-			}
-			else if (figureLayer > layerNr) {
-				assignFiguresToSuccessorZValue(layerNr, figureLayer - 1);
-			}
-
-			fFigures.remove(figure);
-			fFigures.add(layerNr, figure);
-			figure.setZValue(layerFigureZValue);
-			figure.changed();
-		}
-	}
-
-	private void assignFiguresToPredecessorZValue(int lowerBound, int upperBound) {
-		// cannot shift figures to a lower layer if the lower bound is
-		// already the first layer.
-		if (upperBound >= fFigures.size()) {
-			upperBound = fFigures.size() - 1;
-		}
-
-		for (int i = upperBound; i >= lowerBound; i--) {
-			Figure currentFigure = (Figure)fFigures.get(i);
-			Figure predecessorFigure = (Figure)fFigures.get(i - 1);
-			currentFigure.setZValue(predecessorFigure.getZValue());
-		}
-	}
-
-	private void assignFiguresToSuccessorZValue(int lowerBound, int upperBound) {
-		if (upperBound >= fFigures.size()) {
-			upperBound = fFigures.size() - 1;
-		}
-
-		for (int i = upperBound; i >= lowerBound; i--) {
-			Figure currentFigure = (Figure)fFigures.get(i);
-			Figure successorFigure = (Figure)fFigures.get(i + 1);
-			currentFigure.setZValue(successorFigure.getZValue());
-		}
-	}
-
-	/**
-	 * Gets the layer for a certain figure (first occurrence). The number
-	 * returned is the number of the layer in which the figure is placed.
-	 *
-	 * @param figure figure to be queried for its layering place
-	 * @return number of the layer in which the figure is placed and -1 if the
-	 *			figure could not be found.
-	 * @see #sendToLayer
-	 */
-	public int getLayer(Figure figure) {
-		if (!containsFigure(figure)) {
-			return -1;
-		}
-		else {
-			return fFigures.indexOf(figure);
-		}
-	}
-
-	/**
-	 * Gets the figure from a certain layer.
-	 *
-	 * @param layerNr number of the layer which figure should be returned
-	 * @return figure from the layer specified, null, if the layer nr was outside
-	 *			the number of possible layer (0...(number of figures - 1))
-	 * @see #sendToLayer
-	 */
-	public Figure getFigureFromLayer(int layerNr) {
-		if ((layerNr >= 0) && (layerNr < fFigures.size())) {
-			return (Figure)fFigures.get(layerNr);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Draws all the contained figures
-	 * @see Figure#draw
-	 */
-	public void draw(Graphics g) {
-		draw(g, figures());
-	}
-
-	/**
-	 * Draws only the given figures
-	 * @see Figure#draw
-	 */
-	public void draw(Graphics g, FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().draw(g);
-		}
-	}
-
-	/**
-	 * Gets a figure at the given index.
-	 */
-	public Figure figureAt(int i) {
-		return (Figure)fFigures.get(i);
-	}
-
-	/**
-	 * Returns an Enumeration for accessing the contained figures.
-     * The enumeration is a snapshot of the current contained figures
-     * and is not a "live" enumeration and does not take subsequent
-     * changes of the CompositeFigure into account.
-	 * The figures are returned in the drawing order.
-	 */
-	public FigureEnumeration figures() {
-		return new FigureEnumerator(CollectionsFactory.current().createList(fFigures));
-	}
-
-	/**
-	 * Returns an enumeration to iterate in
-	 * Z-order back to front over the figures
-	 * that lie within the given bounds.
-	 */
-	public FigureEnumeration figures(Rectangle viewRectangle) {
-		if (_theQuadTree != null) {
-
-			FigureEnumeration fe =
-				_theQuadTree.getAllWithin(new Bounds(viewRectangle).asRectangle2D());
-
-			List l2 = CollectionsFactory.current().createList();
-
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				//int z = fFigures.indexOf(f);
-				l2.add(new OrderedFigureElement(f, f.getZValue()));
-			}
-
-			Collections.sort(l2);
-
-			List l3 = CollectionsFactory.current().createList();
-
-			for (Iterator iter = l2.iterator(); iter.hasNext(); ) {
-				OrderedFigureElement ofe = (OrderedFigureElement)iter.next();
-				l3.add(ofe.getFigure());
-			}
-
-			return new FigureEnumerator(l3);
-		}
-
-		return figures();
-	}
-
-	/**
-	 * Gets number of child figures.
-	 */
-	public int figureCount() {
-		return fFigures.size();
-	}
-
-	/**
-	 * Check whether a given figure is a child figure of this CompositeFigure.
-	 */
-	public boolean containsFigure(Figure checkFigure) {
-		return fFigures.contains(checkFigure);
-	}
-
-    /**
-	 * Returns an Enumeration for accessing the contained figures
-	 * in the reverse drawing order.
-	 */
-	public final FigureEnumeration figuresReverse() {
-		return new ReverseFigureEnumerator(CollectionsFactory.current().createList(fFigures));
-	}
-
-	/**
-	 * Finds a top level Figure. Use this call for hit detection that
-	 * should not descend into the figure's children.
-	 */
-	public Figure findFigure(int x, int y) {
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (figure.containsPoint(x, y)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds a top level Figure that intersects the given rectangle.
-	 */
-	public Figure findFigure(Rectangle r) {
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			Rectangle fr = figure.displayBox();
-			if (r.intersects(fr)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds a top level Figure, but supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 * @param x the x coordinate
-	 * @param y the y coordinate
-	 * @param without the figure to be ignored during
-	 * the find.
-	 */
-	public Figure findFigureWithout(int x, int y, Figure without) {
-		if (without == null) {
-			return findFigure(x, y);
-		}
-
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (figure.containsPoint(x, y) && !figure.includes(without)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds a top level Figure that intersects the given rectangle.
-	 * It supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 */
-	public Figure findFigure(Rectangle r, Figure without) {
-		if (without == null) {
-			return findFigure(r);
-		}
-
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			Rectangle fr = figure.displayBox();
-			if (r.intersects(fr) && !figure.includes(without)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds a figure but descends into a figure's
-	 * children. Use this method to implement <i>click-through</i>
-	 * hit detection, that is, you want to detect the inner most
-	 * figure containing the given point.
-	 */
-	public Figure findFigureInside(int x, int y) {
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure().findFigureInside(x, y);
-			if (figure != null) {
-				return figure;
-			}
-		}
-
-		// bug-fix: 661878
-		if (containsPoint(x, y)) {
-			return this;
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Finds a figure but descends into a figure's
-	 * children. It supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 */
-	public Figure findFigureInsideWithout(int x, int y, Figure without) {
-		if (without == null) {
-			return findFigureInside(x, y);
-		}
-
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (figure != without) {
-				Figure found = figure.findFigureInside(x, y);
-				if ((found != null) &&  !figure.includes(without)) {
-					return found;
-				}
-			}
-		}
-
-		if (containsPoint(x, y)) {
-			return this;
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Checks if the composite figure has the argument as one of
-	 * its children.
-	 * @return true if the figure is part of this CompositeFigure, else otherwise
-	 */
-	public boolean includes(Figure figure) {
-		if (super.includes(figure)) {
-			return true;
-		}
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-			if (f.includes(figure)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Moves all the given figures by x and y. Doesn't announce
-	 * any changes. Subclassers override
-	 * basicMoveBy. Clients usually call moveBy.
-	 * @see #moveBy
-	 */
-	protected void basicMoveBy(int x, int y) {
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().moveBy(x,y);
-		}
-	}
-
-	/**
-	 * Releases the figure and all its children.
-	 */
-	public void release() {
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			figure.release();
-		}
-		// bug-fix: 661879 (CompositeFigure.release releasing itself before containees)
-		super.release();
-	}
-
-	/**
-	 * Propagates the figureInvalidated event to my listener.
-	 * @see FigureChangeListener
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureInvalidated(e);
-		}
-	}
-
-	/**
-	 * Propagates the removeFromDrawing request up to the container.
-	 * @see FigureChangeListener
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestRemove(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Propagates the requestUpdate request up to the container.
-	 * @see FigureChangeListener
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestUpdate(e);
-		}
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-		_removeFromQuadTree(e.getFigure());
-		_addToQuadTree(e.getFigure());
-	}
-
-	public void figureRemoved(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRemoved(e);
-		}
-	}
-
-	/**
-	 * Writes the contained figures to the StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(figureCount());
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			dw.writeStorable(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Reads the contained figures from StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		int size = dr.readInt();
-		fFigures = CollectionsFactory.current().createList(size);
-		for (int i=0; i<size; i++) {
-			add((Figure)dr.readStorable());
-		}
-		init(displayBox());
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			figure.addToContainer(this);
-		}
-
-		init(new Rectangle(0, 0));
-	}
-
-	/**
-	 * Used to optimize rendering.  Rendering of many objects may
-	 * be slow until this method is called.  The view rectangle
-	 * should at least approximately enclose the CompositeFigure.
-	 * If the view rectangle is too small or too large, performance
-	 * may suffer.
-	 *
-	 * Don't forget to call this after loading or creating a
-	 * new CompositeFigure.  If you forget, drawing performance may
-	 * suffer.
-	 */
-	public void init(Rectangle viewRectangle) {
-		_theQuadTree = new QuadTree(new Bounds(viewRectangle).asRectangle2D());
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			_addToQuadTree(fe.nextFigure());
-		}
-	}
-
-	private void _addToQuadTree(Figure f) {
-		if (_theQuadTree != null) {
-			// Bugfix: Make sure the rectangle is not zero width or height.
-			// Otherwise, the quadTree search in this.figures(Rectangle)
-			// will be incorrect. [John Yu, 2002/05/23]
-			Rectangle r = f.displayBox();
-			if (r.height == 0) {
-				r.grow(0, 1);
-			}
-			if (r.width == 0) {
-				r.grow(1, 0);
-			}
-
-			_theQuadTree.add(f, new Bounds(r).asRectangle2D());
-		}
-	}
-
-	private void _removeFromQuadTree(Figure f) {
-		if (_theQuadTree != null) {
-			_theQuadTree.remove(f);
-		}
-	}
-
-	private void _clearQuadTree() {
-		if (_theQuadTree != null) {
-			_theQuadTree.clear();
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ConnectionHandle.java b/JHotDraw/src/CH/ifa/draw/standard/ConnectionHandle.java
deleted file mode 100644
index 3cad43609..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ConnectionHandle.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * @(#)ConnectionHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Color;
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.util.Vector;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * A handle to connect figures.
- * The connection object to be created is specified by a prototype.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld029.htm>Prototype</a></b><br>
- * ConnectionHandle creates the connection by cloning a prototype.
- * <hr>
- *
- * @see ConnectionFigure
- * @see Object#clone
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ConnectionHandle extends LocatorHandle {
-
-	/**
-	 * the currently created connection
-	 */
-	private ConnectionFigure myConnection;
-
-	/**
-	 * the prototype of the connection to be created
-	 */
-	private ConnectionFigure fPrototype;
-
-	/**
-	 * the current target
-	 */
-	private Figure myTargetFigure;
-
-	/**
-	 * Constructs a handle with the given owner, locator, and connection prototype
-	 */
-	public ConnectionHandle(Figure owner, Locator l, ConnectionFigure prototype) {
-		super(owner, l);
-		fPrototype = prototype;
-	}
-
-	/**
-	 * Creates the connection
-	 */
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setConnection(createConnection());
-
-		setUndoActivity(createUndoActivity(view));
-		Vector v = new Vector();
-		v.add(getConnection());
-		getUndoActivity().setAffectedFigures(new FigureEnumerator(v));
-
-		Point p = locate();
-		getConnection().startPoint(p.x, p.y);
-		getConnection().endPoint(p.x, p.y);
-		view.drawing().add(getConnection());
-	}
-
-	/**
-	 * Tracks the connection.
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Point p = new Point(x,y);
-		Figure f = findConnectableFigure(x, y, view.drawing());
-		// track the figure containing the mouse
-		if (f != getTargetFigure()) {
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(false, null);
-			}
-			setTargetFigure(f);
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(true, getConnection());
-			}
-		}
-
-		Connector target = findConnectionTarget(p.x, p.y, view.drawing());
-		if (target != null) {
-			p = Geom.center(target.displayBox());
-		}
-		getConnection().endPoint(p.x, p.y);
-	}
-
-	/**
-	 * Connects the figures if the mouse is released over another
-	 * figure.
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Connector target = findConnectionTarget(x, y, view.drawing());
-		if (target != null) {
-			getConnection().connectStart(startConnector());
-			getConnection().connectEnd(target);
-			getConnection().updateConnection();
-		}
-		else {
-			view.drawing().remove(getConnection());
-			setUndoActivity(null);
-		}
-		setConnection(null);
-		if (getTargetFigure() != null) {
-			getTargetFigure().connectorVisibility(false, null);
-			setTargetFigure(null);
-		}
-	}
-
-	private Connector startConnector() {
-		Point p = locate();
-		return owner().connectorAt(p.x, p.y);
-	}
-
-	/**
-	 * Creates the ConnectionFigure. By default the figure prototype is
-	 * cloned.
-	 */
-	protected ConnectionFigure createConnection() {
-		return (ConnectionFigure)fPrototype.clone();
-	}
-
-	/**
-	 * Factory method for undo activity.
-	 */
-	protected Undoable createUndoActivity(DrawingView view) {
-		return new PasteCommand.UndoActivity(view);
-	}
-
-	/**
-	 * Finds a connection end figure.
-	 */
-	protected Connector findConnectionTarget(int x, int y, Drawing drawing) {
-		Figure target = findConnectableFigure(x, y, drawing);
-		if ((target != null) && target.canConnect()
-			 && !target.includes(owner())
-			 && getConnection().canConnect(owner(), target)) {
-				return findConnector(x, y, target);
-		}
-		return null;
-	}
-
-	private Figure findConnectableFigure(int x, int y, Drawing drawing) {
-		FigureEnumeration fe = drawing.figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (!figure.includes(getConnection()) && figure.canConnect() 
-				&& figure.containsPoint(x, y)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	protected Connector findConnector(int x, int y, Figure f) {
-		return f.connectorAt(x, y);
-	}
-
-
-	/**
-	 * Draws the connection handle, by default the outline of a
-	 * blue circle.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-		g.setColor(Color.blue);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	protected void setConnection(ConnectionFigure newConnection) {
-		myConnection = newConnection;
-	}
-	
-	protected ConnectionFigure getConnection() {
-		return myConnection;
-	}
-
-	protected Figure getTargetFigure() {
-		return myTargetFigure;
-	}
-
-	protected void setTargetFigure(Figure newTargetFigure) {
-		myTargetFigure = newTargetFigure;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#getCursor()
-	 */
-	public Cursor getCursor() {
-		return new AWTCursor(java.awt.Cursor.HAND_CURSOR);
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ConnectionTool.java b/JHotDraw/src/CH/ifa/draw/standard/ConnectionTool.java
deleted file mode 100644
index 78fb73d04..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ConnectionTool.java
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
- * @(#)ConnectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * A tool that can be used to connect figures, to split
- * connections, and to join two segments of a connection.
- * ConnectionTools turns the visibility of the Connectors
- * on when it enters a figure.
- * The connection object to be created is specified by a prototype.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld029.htm>Prototype</a></b><br>
- * ConnectionTools creates the connection by cloning a prototype.
- * <hr>
- *
- * @see ConnectionFigure
- * @see Object#clone
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ConnectionTool extends AbstractTool {
-
-	/**
-	 * the anchor point of the interaction
-	 */
-	private Connector   myStartConnector;
-	private Connector   myEndConnector;
-	private Connector   myTargetConnector;
-
-	private Figure myTarget;
-
-	/**
-	 * the currently created figure
-	 */
-	private ConnectionFigure  myConnection;
-
-	/**
-	 * the currently manipulated connection point
-	 */
-	private int  fSplitPoint;
-
-	/**
-	 * the currently edited connection
-	 */
-	private ConnectionFigure  fEditedConnection;
-
-	/**
-	 * the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	private Figure myAddedFigure;
-
-	/**
-	 * the prototypical figure that is used to create new
-	 * connections.
-	 */
-	private ConnectionFigure  fPrototype;
-
-
-	public ConnectionTool(DrawingEditor newDrawingEditor, ConnectionFigure newPrototype) {
-		super(newDrawingEditor);
-		fPrototype = newPrototype;
-	}
-
-	/**
-	 * Handles mouse move events in the drawing view.
-	 */
-	public void mouseMove(MouseEvent e, int x, int y) {
-		trackConnectors(e, x, y);
-	}
-
-	/**
-	 * Manipulates connections in a context dependent way. If the
-	 * mouse down hits a figure start a new connection. If the mousedown
-	 * hits a connection split a segment or join two segments.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		int ex = e.getX();
-		int ey = e.getY();
-
-        /*
-         * JP, 25-May-03: Swapped checking for underlying figure and
-         * existing connection. If figure is checked first (old version),
-         * it is not possible to insert new points into a connection that
-         * crosses or otherwise goes through an existing figure. New
-         * version checks for connection first.
-         */
-		ConnectionFigure connection = findConnection(ex, ey, drawing());
-		if (connection != null) {
-			if (!connection.joinSegments(ex, ey)) {
-				fSplitPoint = connection.splitSegment(ex, ey);
-				fEditedConnection = connection;
-			}
-			else {
-				fEditedConnection = null;
-			}
-		}
-		else {
-			setTargetFigure(findConnectionStart(ex, ey, drawing()));
-			if (getTargetFigure() != null) {
-				setStartConnector(findConnector(ex, ey, getTargetFigure()));
-				if (getStartConnector() != null) {
-					setConnection(createConnection());
-					getConnection().startPoint(ex, ey);
-					getConnection().endPoint(ex, ey);
-					setAddedFigure(view().add(getConnection()));
-				}
-			}
-		}
-	}
-
-	/**
-	 * Adjust the created connection or split segment.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		Point p = new Point(e.getX(), e.getY());
-		if (getConnection() != null) {
-			trackConnectors(e, x, y);
-			if (getTargetConnector() != null) {
-				p = Geom.center(getTargetConnector().displayBox());
-			}
-			getConnection().endPoint(p.x, p.y);
-		}
-		else if (fEditedConnection != null) {
-			Point pp = new Point(x, y);
-			fEditedConnection.setPointAt(pp, fSplitPoint);
-		}
-	}
-
-	/**
-	 * Connects the figures if the mouse is released over another
-	 * figure.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		Figure c = null;
-		if (getStartConnector() != null) {
-			c = findTarget(e.getX(), e.getY(), drawing());
-		}
-
-		if (c != null) {
-			setEndConnector(findConnector(e.getX(), e.getY(), c));
-			if (getEndConnector() != null) {
-				getConnection().connectStart(getStartConnector());
-				getConnection().connectEnd(getEndConnector());
-				getConnection().updateConnection();
-
-				setUndoActivity(createUndoActivity());
-				getUndoActivity().setAffectedFigures(
-					new SingleFigureEnumerator(getAddedFigure()));
-			}
-		}
-		else if (getConnection() != null) {
-			view().remove(getConnection());
-		}
-
-		setConnection(null);
-		setStartConnector(null);
-		setEndConnector(null);
-		setAddedFigure(null);
-		editor().toolDone();
-	}
-
-	public void deactivate() {
-		super.deactivate();
-		if (getTargetFigure() != null) {
-			getTargetFigure().connectorVisibility(false, null);
-		}
-	}
-
-	/**
-	 * Creates the ConnectionFigure. By default the figure prototype is
-	 * cloned.
-	 */
-	protected ConnectionFigure createConnection() {
-		return (ConnectionFigure)fPrototype.clone();
-	}
-
-	/**
-	 * Finds a connectable figure target.
-	 */
-	protected Figure findSource(int x, int y, Drawing drawing) {
-		return findConnectableFigure(x, y, drawing);
-	}
-
-	/**
-	 * Finds a connectable figure target at the current mouse location that can
-	 * 1.  Connect to things
-	 * 2.  Is not already connected to the current Connection (no self connection)
-	 * 3.  The current Connection can make a connection between it and the start
-	 *     figure.
-	 */
-	protected Figure findTarget(int x, int y, Drawing drawing) {
-		Figure target = findConnectableFigure(x, y, drawing);
-		Figure start = getStartConnector().owner();
-
-		if (target != null
-			 && getConnection() != null
-			 && target.canConnect()
-			 && !target.includes(start)
-			 && getConnection().canConnect(start, target)) {
-			return target;
-		}
-		return null;
-	}
-
-	/**
-	 * Finds an existing connection figure.
-	 */
-	protected ConnectionFigure findConnection(int x, int y, Drawing drawing) {
-		FigureEnumeration fe = drawing.figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			figure = figure.findFigureInside(x, y);
-			if (figure != null && (figure instanceof ConnectionFigure)) {
-				return (ConnectionFigure)figure;
-			}
-		}
-		return null;
-	}
-
-	protected void setConnection(ConnectionFigure newConnection) {
-		myConnection = newConnection;
-	}
-
-	/**
-	 * Gets the connection which is created by this tool
-	 */
-	protected ConnectionFigure getConnection() {
-		return myConnection;
-	}
-
-	/**
-	 * Attempts to set the Connector to be connected to based on the current
-	 * location of the mouse.
-	 */
-	protected void trackConnectors(MouseEvent e, int x, int y) {
-		Figure c = null;
-
-		// If tool is not actively looking for a target for our current
-		// Connection, see if there are any connectable figures at at the
-		// current location(findSource).
-		if (getStartConnector() == null) {
-			c = findSource(x, y, getActiveDrawing());
-		}
-		else {
-			c = findTarget(x, y, getActiveDrawing());
-		}
-
-		// track the figure containing the mouse
-		/**
-		 * If the current target is not the stored target then turn off the
-		 * stored targets connectors visibility and turn on the current targets
-		 * connectors visibility. Then set the stored target to the current target.
-		 * If the targets match then don't do anything.
-		 * Note:  the target may have more than one connector.
-		 */
-		if (c != getTargetFigure()) {
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(false, null);
-			}
-			setTargetFigure(c);
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(true, getConnection());
-			}
-		}
-
-		// Since you have a legitimate target, grab its connector and set it as
-		// the new target connector.
-		Connector cc = null;
-		if (c != null) {
-			cc = findConnector(e.getX(), e.getY(), c);
-		}
-		if (cc != getTargetConnector()) {
-			setTargetConnector(cc);
-		}
-
-		// Clean up the view.
-		getActiveView().checkDamage();
-	}
-
-	protected Connector findConnector(int x, int y, Figure f) {
-		return f.connectorAt(x, y);
-	}
-
-	/**
-	 * Finds a connection start figure.
-	 */
-	protected Figure findConnectionStart(int x, int y, Drawing drawing) {
-		Figure target = findConnectableFigure(x, y, drawing);
-		if ((target != null) && target.canConnect()) {
-			return target;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the topmost? figure that can connect and is at the current mouse
-	 * location.
-	 */
-	protected Figure findConnectableFigure(int x, int y, Drawing drawing) {
-		FigureEnumeration fe = drawing.figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (!figure.includes(getConnection()) && figure.canConnect()
-				&& figure.containsPoint(x, y)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	protected void setStartConnector(Connector newStartConnector) {
-		myStartConnector = newStartConnector;
-	}
-
-	protected Connector getStartConnector() {
-		return myStartConnector;
-	}
-
-	protected void setEndConnector(Connector newEndConnector) {
-		myEndConnector = newEndConnector;
-	}
-
-	protected Connector getEndConnector() {
-		return myEndConnector;
-	}
-
-	protected void setTargetConnector(Connector newTargetConnector) {
-		myTargetConnector = newTargetConnector;
-	}
-
-	protected Connector getTargetConnector() {
-		return myTargetConnector;
-	}
-
-	protected void setTargetFigure(Figure newTarget) {
-		myTarget = newTarget;
-	}
-
-	protected Figure getTargetFigure() {
-		return myTarget;
-	}
-
-	/**
-	 * Gets the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	protected Figure getAddedFigure() {
-		return myAddedFigure;
-	}
-
-	protected void setAddedFigure(Figure newAddedFigure) {
-		myAddedFigure = newAddedFigure;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new ConnectionTool.UndoActivity(view(), getConnection());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-
-		private ConnectionFigure  myConnection;
-		private Connector   myStartConnector;
-		private Connector   myEndConnector;
-
-		public UndoActivity(DrawingView newDrawingView, ConnectionFigure newConnection) {
-			super(newDrawingView);
-			setConnection(newConnection);
-			myStartConnector = getConnection().getStartConnector();
-			myEndConnector = getConnection().getEndConnector();
-	        setUndoable(true);
-			setRedoable(true);
-		}
-
-		/*
-		 * Undo the activity
-		 * @return true if the activity could be undone, false otherwise
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			getConnection().disconnectStart();
-			getConnection().disconnectEnd();
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				getDrawingView().drawing().orphan(fe.nextFigure());
-			}
-
-			getDrawingView().clearSelection();
-
-			return true;
-		}
-
-		/*
-		 * Redo the activity
-		 * @return true if the activity could be redone, false otherwise
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			getConnection().connectStart(myStartConnector);
-			getConnection().connectEnd(myEndConnector);
-			getConnection().updateConnection();
-
-			getDrawingView().insertFigures(getAffectedFigures(), 0, 0, false);
-
-			return true;
-		}
-
-		protected void setConnection(ConnectionFigure newConnection) {
-			myConnection = newConnection;
-		}
-
-		/**
-		 * Gets the currently created figure
-		 */
-		protected ConnectionFigure getConnection() {
-			return myConnection;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/CopyCommand.java b/JHotDraw/src/CH/ifa/draw/standard/CopyCommand.java
deleted file mode 100644
index 0abff3cb3..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/CopyCommand.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * @(#)CopyCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.DrawingEditor;
-
-/**
- * Copy the selection to the clipboard.
- *
- * @see Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-public class CopyCommand extends FigureTransferCommand {
-
-	/**
-	 * Constructs a copy command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public CopyCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		copyFigures(view().selection(), view().selectionCount());
-	}
-
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/CreationTool.java b/JHotDraw/src/CH/ifa/draw/standard/CreationTool.java
deleted file mode 100644
index ab81d26e3..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/CreationTool.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * @(#)CreationTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Point;
-import java.awt.event.MouseEvent;
-import java.util.List;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.JHotDrawRuntimeException;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * A tool to create new figures. The figure to be
- * created is specified by a prototype.
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld029.htm>Prototype</a></b><br>
- * CreationTool creates new figures by cloning a prototype.
- * <hr>
- *
- * @see Figure
- * @see Object#clone
- *
- * @version <$CURRENT_VERSION$>
- */
-public class CreationTool extends AbstractTool {
-
-	/**
-	 * the list of currently added figures
-	 * by: ricardo_padilha.
-	 * description: This has been added to provide support for creation tools that
-	 *              insert more than one figure to the drawing, for example, by
-	 *              maintaining SHIFT down and clicking. However, this class still
-	 *              maintains its normal behavior of creating only one figure. 
-	 */
-	private List    fAddedFigures;
-
-	/**
-	 * the currently created figure
-	 */
-	private Figure  fCreatedFigure;
-
-	/**
-	 * the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	private Figure myAddedFigure;
-
-	/**
-	 * the prototypical figure that is used to create new figuresthe prototypical figure that is used to create new figures.
-	 */
-	private Figure  myPrototypeFigure;
-
-
-	/**
-	 * Initializes a CreationTool with the given prototype.
-	 */
-	public CreationTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor);
-		setPrototypeFigure(prototype);
-	}
-
-	/**
-	 * Constructs a CreationTool without a prototype.
-	 * This is for subclassers overriding createFigure.
-	 */
-	protected CreationTool(DrawingEditor newDrawingEditor) {
-		this(newDrawingEditor, null);
-	}
-
-	/**
-	 * Sets the cross hair cursor.
-	 */
-	public void activate() {
-		super.activate();
-		if (isUsable()) {
-			getActiveView().setCursor(new AWTCursor(java.awt.Cursor.CROSSHAIR_CURSOR));
-		}
-		setAddedFigures(CollectionsFactory.current().createList());
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Tool#deactivate()
-	 */
-	public void deactivate() {
-		setCreatedFigure(null);
-		setAddedFigure(null);
-		setAddedFigures(null);
-		super.deactivate();
-	}
-
-	/**
-	 * Creates a new figure by cloning the prototype.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		setCreatedFigure(createFigure());
-		setAddedFigure(getActiveView().add(getCreatedFigure()));
-		getAddedFigure().displayBox(new Point(getAnchorX(), getAnchorY()), new Point(getAnchorX(), getAnchorY()));
-	}
-
-	/**
-	 * Creates a new figure by cloning the prototype.
-	 */
-	protected Figure createFigure() {
-		if (getPrototypeFigure() == null) {
-			throw new JHotDrawRuntimeException("No protoype defined");
-		}
-		return (Figure)getPrototypeFigure().clone();
-	}
-
-	/**
-	 * Adjusts the extent of the created figure
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (getAddedFigure() != null) {
-			getAddedFigure().displayBox(new Point(getAnchorX(), getAnchorY()), new Point(x, y));
-		}
-	}
-
-	/**
-	 * Checks if the created figure is empty. If it is, the figure
-	 * is removed from the drawing.
-	 * @see Figure#isEmpty
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (getAddedFigure() != null && !getCreatedFigure().isEmpty()) {
-			getAddedFigures().add(getAddedFigure());
-		}
-		else {
-			getActiveView().remove(getAddedFigure());
-		}
-
-		if (getAddedFigures().isEmpty()) {
-			setUndoActivity(null);
-		}
-		else {
-			// use undo activity from paste command...
-			setUndoActivity(createUndoActivity());
-			// put created figure into a figure enumeration
-			getUndoActivity().setAffectedFigures(new FigureEnumerator(getAddedFigures()));
-		}
-		editor().toolDone();
-	}
-
-	/**
-	 * As the name suggests this CreationTool uses the Prototype design pattern.
-	 * Thus, the prototype figure which is used to create new figures of the same
-	 * type by cloning the original prototype figure.
-	 * @param newPrototypeFigure figure to be cloned to create new figures
-	 */
-	protected void setPrototypeFigure(Figure newPrototypeFigure) {
-		myPrototypeFigure = newPrototypeFigure;
-	}
-
-	/**
-	 * As the name suggests this CreationTool uses the Prototype design pattern.
-	 * Thus, the prototype figure which is used to create new figures of the same
-	 * type by cloning the original prototype figure.
-	 * @return figure to be cloned to create new figures
-	 */
-	protected Figure getPrototypeFigure() {
-		return myPrototypeFigure;
-	}
-
-	/**
-	 * Gets the list of currently added figure
-	 */
-	protected List getAddedFigures() {
-		return fAddedFigures;
-	}
-
-	/**
-	 * Sets the addedFigures attribute of the CreationTool object
-	 */
-	protected void setAddedFigures(List newAddedFigures) {
-		fAddedFigures = newAddedFigures;
-	}
-
-	/**
-	 * Gets the currently created figure
-	 */
-	protected Figure getCreatedFigure() {
-		return fCreatedFigure;
-	}
-
-	/**
-	 * Sets the createdFigure attribute of the CreationTool object
-	 */
-	protected void setCreatedFigure(Figure newCreatedFigure) {
-		fCreatedFigure = newCreatedFigure;
-	}
-
-	/**
-	 * Gets the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	protected Figure getAddedFigure() {
-		return myAddedFigure;
-	}
-
-	/**
-	 * Sets the addedFigure attribute of the CreationTool object
-	 */
-	protected void setAddedFigure(Figure newAddedFigure) {
-		myAddedFigure = newAddedFigure;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(getActiveView());
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/standard/CutCommand.java b/JHotDraw/src/CH/ifa/draw/standard/CutCommand.java
deleted file mode 100644
index 14ae15f8a..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/CutCommand.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * @(#)CutCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.util.List;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-
-/**
- * Delete the selection and move the selected figures to
- * the clipboard.
- *
- * @see CH.ifa.draw.util.Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-public class CutCommand extends FigureTransferCommand {
-
-	/**
-	 * Constructs a cut command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public CutCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.Command#execute()
-	 */
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		/* ricardo_padilha: bugfix for correct delete/undelete behavior
-		 * When enumerating the affected figures we must not forget the dependent
-		 * figures, since they are deleted as well! 
-		 */
-		FigureEnumeration fe = view().selection();
-		List affected = CollectionsFactory.current().createList();
-		Figure f;
-		FigureEnumeration dfe;
-		while (fe.hasNextFigure()) {
-			f = fe.nextFigure();
-			affected.add(0, f);
-			dfe = f.getDependendFigures();
-			if (dfe != null) {
-				while (dfe.hasNextFigure()) {
-					affected.add(0, dfe.nextFigure());
-				}
-			}
-		}
-		fe = new FigureEnumerator(affected);
-		getUndoActivity().setAffectedFigures(fe);
-		UndoActivity ua = (UndoActivity) getUndoActivity();
-		ua.setSelectedFigures(view().selection());
-		copyFigures(ua.getSelectedFigures(), ua.getSelectedFiguresCount());
-		/* ricardo_padilha: end of bugfix */
-		deleteFigures(getUndoActivity().getAffectedFigures());
-		view().checkDamage();
-	}
-
-	/**
-	 * @see CH.ifa.draw.standard.AbstractCommand#isExecutableWithView()
-	 */
-	public boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 * @return Undoable
-	 */
-	protected Undoable createUndoActivity() {
-		return new CutCommand.UndoActivity(this);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-
-		private FigureTransferCommand myCommand;
-		private List mySelectedFigures;
-
-		/**
-		 * Constructor for <code>UndoActivity</code>.
-		 * @param newCommand
-		 */
-		public UndoActivity(FigureTransferCommand newCommand) {
-			super(newCommand.view());
-			myCommand = newCommand;
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/**
-		 * @see CH.ifa.draw.util.Undoable#undo()
-		 */
-		public boolean undo() {
-			if (super.undo() && getAffectedFigures().hasNextFigure()) {
-				getDrawingView().clearSelection();
-				myCommand.insertFigures(getAffectedFiguresReversed(), 0, 0);
-				return true;
-			}
-			return false;
-		}
-
-		/**
-		 * @see CH.ifa.draw.util.Undoable#redo()
-		 */
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				myCommand.copyFigures(getSelectedFigures(), getSelectedFiguresCount());
-				myCommand.deleteFigures(getAffectedFigures());
-				return true;
-			}
-
-			return false;
-		}
-
-		/**
-		 * Preserve the selection of figures the moment the command was executed.
-		 * @param newSelectedFigures
-		 */
-		public void setSelectedFigures(FigureEnumeration newSelectedFigures) {
-			// the enumeration is not reusable therefore a copy is made
-			// to be able to undo-redo the command several time
-			rememberSelectedFigures(newSelectedFigures);
-		}
-
-		/**
-		 * Preserve a copy of the enumeration in a private list.
-		 * @param toBeRemembered
-		 */
-		protected void rememberSelectedFigures(FigureEnumeration toBeRemembered) {
-			mySelectedFigures = CollectionsFactory.current().createList();
-			while (toBeRemembered.hasNextFigure()) {
-				mySelectedFigures.add(toBeRemembered.nextFigure());
-			}
-		}
-	
-		/**
-		 * Returns the selection of figures to perform the command on.
-		 * @return
-		 */
-		public FigureEnumeration getSelectedFigures() {
-			return new FigureEnumerator(
-				CollectionsFactory.current().createList(mySelectedFigures));
-		}
-
-		/**
-		 * Returns the size of the selection.
-		 * @return
-		 */
-		public int getSelectedFiguresCount() {
-			return mySelectedFigures.size();
-		}
-
-		/**
-		 * @see CH.ifa.draw.util.UndoableAdapter#release()
-		 */
-		public void release() {
-			super.release();
-			FigureEnumeration fe = getSelectedFigures();
-			while (fe.hasNextFigure()) {
-				fe.nextFigure().release();
-			}
-			setSelectedFigures(FigureEnumerator.getEmptyEnumeration());
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/DecoratorFigure.java b/JHotDraw/src/CH/ifa/draw/standard/DecoratorFigure.java
deleted file mode 100644
index 51f76e71d..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/DecoratorFigure.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*
- * @(#)DecoratorFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-
-import java.awt.*;
-import java.io.*;
-
-/**
- * DecoratorFigure can be used to decorate other figures with
- * decorations like borders. Decorator forwards all the
- * methods to their contained figure. Subclasses can selectively
- * override these methods to extend and filter their behavior.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld014.htm>Decorator</a></b><br>
- * DecoratorFigure is a decorator.
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public abstract class DecoratorFigure
-				extends AbstractFigure
-				implements FigureChangeListener {
-
-	/**
-	 * The decorated figure.
-	 */
-	private Figure myDecoratedFigure;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 8993011151564573288L;
-	private int decoratorFigureSerializedDataVersion = 1;
-
-	public DecoratorFigure() {
-		initialize();
-	}
-
-	/**
-	 * Constructs a DecoratorFigure and decorates the passed in figure.
-	 */
-	public DecoratorFigure(Figure figure) {
-		initialize();
-		decorate(figure);
-	}
-
-	/**
-	 * Performs additional initialization code before the figure is decorated.
-	 * Subclasses may override this method.
-	 */
-	protected void initialize() {
-	}
-
-	/**
-	 * Forwards the connection insets to its contained figure..
-	 */
-	public Insets connectionInsets() {
-		return getDecoratedFigure().connectionInsets();
-	}
-
-	/**
-	 * Forwards the canConnect to its contained figure..
-	 */
-	public boolean canConnect() {
-		return getDecoratedFigure().canConnect();
-	}
-
-	/**
-	 * Forwards containsPoint to its contained figure.
-	 */
-	public boolean containsPoint(int x, int y) {
-		return getDecoratedFigure().containsPoint(x, y);
-	}
-
-	/**
-	 * Decorates the given figure.
-	 */
-	public void decorate(Figure figure) {
-		setDecoratedFigure(figure);
-		getDecoratedFigure().addToContainer(this);
-		//addDependendFigure(getDecoratedFigure());
-	}
-
-	/**
-	 * Removes the decoration from the contained figure.
-	 */
-	public Figure peelDecoration() {
-		getDecoratedFigure().removeFromContainer(this); //??? set the container to the listener()?
-		removeDependendFigure(getDecoratedFigure());
-		return getDecoratedFigure();
-	}
-
-	public void setDecoratedFigure(Figure newDecoratedFigure) {
-		myDecoratedFigure = newDecoratedFigure;
-	}
-
-	public Figure getDecoratedFigure() {
-		return myDecoratedFigure;
-	}
-
-	/**
-	 * Forwards displayBox to its contained figure.
-	 */
-	public Rectangle displayBox() {
-		return getDecoratedFigure().displayBox();
-	}
-
-	/**
-	 * Forwards basicDisplayBox to its contained figure.
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		getDecoratedFigure().basicDisplayBox(origin, corner);
-	}
-
-	/**
-	 * Forwards draw to its contained figure.
-	 */
-	public void draw(Graphics g) {
-		getDecoratedFigure().draw(g);
-	}
-
-	/**
-	 * Forwards findFigureInside to its contained figure.
-	 */
-	public Figure findFigureInside(int x, int y) {
-		Figure foundFigure = getDecoratedFigure().findFigureInside(x, y);
-		// if the found figure is the same as the one the DecoratorFigure decorates
-		// then do not peel of the decoration
-		if ((foundFigure != null) && (foundFigure == getDecoratedFigure())) {
-			return this;
-		}
-		else {
-			return foundFigure;
-		}
-	}
-
-	/**
-	 * Forwards handles to its contained figure.
-	 */
-	public HandleEnumeration handles() {
-		return getDecoratedFigure().handles();
-	}
-
-	/**
-	 * Forwards includes to its contained figure.
-	 */
-	public boolean includes(Figure figure) {
-		return (super.includes(figure) || getDecoratedFigure().includes(figure));
-	}
-
-	/**
-	 * Forwards moveBy to its contained figure.
-	 */
-	public void moveBy(int x, int y) {
-		getDecoratedFigure().moveBy(x, y);
-	}
-
-	/**
-	 * Forwards basicMoveBy to its contained figure.
-	 */
-	protected void basicMoveBy(int x, int y) {
-		// this will never be called
-	}
-
-	/**
-	 * Releases itself and the contained figure.
-	 */
-	public void release() {
-		super.release();
-		getDecoratedFigure().removeFromContainer(this);
-		getDecoratedFigure().release();
-	}
-
-	/**
-	 * Propagates invalidate up the container chain.
-	 * @see FigureChangeListener
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureInvalidated(e);
-		}
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-	}
-
-	public void figureRemoved(FigureChangeEvent e) {
-	}
-
-	/**
-	 * Propagates figureRequestUpdate up the container chain.
-	 * @see FigureChangeListener
-	 */
-	public  void figureRequestUpdate(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestUpdate(e);
-		}
-	}
-
-	/**
-	 * Propagates the removeFromDrawing request up to the container.
-	 * @see FigureChangeListener
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestRemove(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Forwards figures to its contained figure.
-	 */
-	public FigureEnumeration figures() {
-		return getDecoratedFigure().figures();
-	}
-
-	/**
-	 * Forwards decompose to its contained figure.
-	 */
-	public FigureEnumeration decompose() {
-		return getDecoratedFigure().decompose();
-	}
-
-	/**
-	 * Forwards setAttribute to its contained figure.
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		getDecoratedFigure().setAttribute(name, value);
-	}
-
-	/**
-	 * Forwards setAttribute to its contained figure.
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		getDecoratedFigure().setAttribute(attributeConstant, value);
-	}
-
-	/**
-	 * Forwards getAttribute to its contained figure.
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return getDecoratedFigure().getAttribute(name);
-	}
-
-	/**
-	 * Forwards getAttribute to its contained figure.
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		return getDecoratedFigure().getAttribute(attributeConstant);
-	}
-
-	/**
-	 * Returns the locator used to located connected text.
-	 */
-	public Locator connectedTextLocator(Figure text) {
-		return getDecoratedFigure().connectedTextLocator(text);
-	}
-
-	/**
-	 * Returns the Connector for the given location.
-	 */
-	public Connector connectorAt(int x, int y) {
-		return getDecoratedFigure().connectorAt(x, y);
-	}
-
-	/**
-	 * Forwards the connector visibility request to its component.
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure courtingConnection) {
-		getDecoratedFigure().connectorVisibility(isVisible, null);
-	}
-
-	/**
-	 * Writes itself and the contained figure to the StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getDecoratedFigure());
-	}
-
-	/**
-	 * Reads itself and the contained figure from the StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		decorate((Figure)dr.readStorable());
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		getDecoratedFigure().addToContainer(this);
-	}
-/*
-	public void visit(FigureVisitor visitor) {
-		super.visit(visitor);
-//		getDecoratedFigure().visit(visitor);
-	}
-*/
-	public TextHolder getTextHolder() {
-		return getDecoratedFigure().getTextHolder();
-	}
-
-	public synchronized FigureEnumeration getDependendFigures() {
-		return getDecoratedFigure().getDependendFigures();
-	}
-
-	public synchronized void addDependendFigure(Figure newDependendFigure) {
-		getDecoratedFigure().addDependendFigure(newDependendFigure);
-	}
-
-	public synchronized void removeDependendFigure(Figure oldDependendFigure) {
-		getDecoratedFigure().removeDependendFigure(oldDependendFigure);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/DeleteCommand.java b/JHotDraw/src/CH/ifa/draw/standard/DeleteCommand.java
deleted file mode 100644
index 37a4c8f9d..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/DeleteCommand.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)DeleteCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.util.List;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-
-/**
- * Command to delete the selection.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DeleteCommand extends FigureTransferCommand {
-
-	/**
-	 * Constructs a delete command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public DeleteCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.Command#execute()
-	 */
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		/* ricardo_padilha: bugfix for correct delete/undelete behavior
-		 * When enumerating the affected figures we must not forget the dependent
-		 * figures, since they are deleted as well! 
-		 */
-		FigureEnumeration fe = view().selection();
-		List affected = CollectionsFactory.current().createList();
-		Figure f;
-		FigureEnumeration dfe;
-		while (fe.hasNextFigure()) {
-			f = fe.nextFigure();
-			affected.add(0, f);
-			dfe = f.getDependendFigures();
-			if (dfe != null) {
-				while (dfe.hasNextFigure()) {
-					affected.add(0, dfe.nextFigure());
-				}
-			}
-		}
-		fe = new FigureEnumerator(affected);
-		getUndoActivity().setAffectedFigures(fe);
-		/* ricardo_padilha: end of bugfix */
-		deleteFigures(getUndoActivity().getAffectedFigures());
-		view().checkDamage();
-	}
-
-	/**
-	 * @see CH.ifa.draw.standard.AbstractCommand#isExecutableWithView()
-	 */
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 * @return Undoable
-	 */
-	protected Undoable createUndoActivity() {
-		return new DeleteCommand.UndoActivity(this);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-
-		private FigureTransferCommand myCommand;
-
-		/**
-		 * Constructor for <code>UndoActivity</code>.
-		 * @param newCommand parent command
-		 */
-		public UndoActivity(FigureTransferCommand newCommand) {
-			super(newCommand.view());
-			myCommand = newCommand;
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/**
-		 * @see CH.ifa.draw.util.Undoable#undo()
-		 */
-		public boolean undo() {
-			if (super.undo() && getAffectedFigures().hasNextFigure()) {
-				getDrawingView().clearSelection();
-				setAffectedFigures(
-					myCommand.insertFigures(getAffectedFiguresReversed(), 0, 0));
-				return true;
-			}
-			return false;
-		}
-
-		/**
-		 * @see CH.ifa.draw.util.Undoable#redo()
-		 */
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				myCommand.deleteFigures(getAffectedFigures());
-				getDrawingView().clearSelection();
-				return true;
-			}
-			return false;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/DeleteFromDrawingVisitor.java b/JHotDraw/src/CH/ifa/draw/standard/DeleteFromDrawingVisitor.java
deleted file mode 100644
index abb71928a..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/DeleteFromDrawingVisitor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * @(#)DeleteFromDrawingVisitor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.Set;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DeleteFromDrawingVisitor implements FigureVisitor {
-	private Set myDeletedFigures;
-	private Drawing myDrawing;
-
-	public DeleteFromDrawingVisitor(Drawing newDrawing) {
-		myDeletedFigures = CollectionsFactory.current().createSet();
-		setDrawing(newDrawing);
-	}
-
-	private void setDrawing(Drawing newDrawing) {
-		myDrawing = newDrawing;
-	}
-
-	protected Drawing getDrawing() {
-		return myDrawing;
-	}
-
-	public void visitFigure(Figure hostFigure) {
-		if (!myDeletedFigures.contains(hostFigure) && getDrawing().containsFigure(hostFigure)) {
-			Figure orphanedFigure = getDrawing().orphan(hostFigure);
-			myDeletedFigures.add(orphanedFigure);
-		}
-	}
-
-	public void visitHandle(Handle hostHandle) {
-	}
-
-	public void visitFigureChangeListener(FigureChangeListener hostFigureChangeListener) {
-//		System.out.println("visitFigureChangeListener: " + hostFigureChangeListener);
-//		hostFigureChangeListener.visit(this);
-	}
-
-	public FigureEnumeration getDeletedFigures() {
-		return new FigureEnumerator(myDeletedFigures);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/DragTracker.java b/JHotDraw/src/CH/ifa/draw/standard/DragTracker.java
deleted file mode 100644
index 82265fef8..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/DragTracker.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * @(#)DragTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * DragTracker implements the dragging of the clicked
- * figure.
- *
- * @see SelectionTool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DragTracker extends AbstractTool {
-
-	private Figure  fAnchorFigure;
-	private int     fLastX, fLastY;      // previous mouse position
-	private boolean fMoved = false;
-
-	public DragTracker(DrawingEditor newDrawingEditor, Figure anchor) {
-		super(newDrawingEditor);
-		setAnchorFigure(anchor);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		setLastMouseX(x);
-		setLastMouseY(y);
-
-		if (e.isShiftDown()) {
-		   getActiveView().toggleSelection(getAnchorFigure());
-		   setAnchorFigure(null);
-		}
-		else if (!getActiveView().isFigureSelected(getAnchorFigure())) {
-			getActiveView().clearSelection();
-			getActiveView().addToSelection(getAnchorFigure());
-		}
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(getActiveView().selection());
-//		getUndoActivity().setAffectedFigures(view().selectionElements());
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		super.mouseDrag(e, x, y);
-		setHasMoved((Math.abs(x - getAnchorX()) > 4) || (Math.abs(y - getAnchorY()) > 4));
-
-		if (hasMoved()) {
-			FigureEnumeration figures = getUndoActivity().getAffectedFigures();
-			while (figures.hasNextFigure()) {
-				figures.nextFigure().moveBy(x - getLastMouseX(), y - getLastMouseY());
-			}
-		}
-		setLastMouseX(x);
-		setLastMouseY(y);
-	}
-
-	protected void setAnchorFigure(Figure newAnchorFigure) {
-		fAnchorFigure = newAnchorFigure;
-	}
-	
-	public Figure getAnchorFigure() {
-		return fAnchorFigure;
-	}
-
-	protected void setLastMouseX(int newLastMouseX) {
-		fLastX = newLastMouseX;
-	}
-	
-	protected int getLastMouseX() {
-		return fLastX;
-	}
-
-	protected void setLastMouseY(int newLastMouseY) {
-		fLastY = newLastMouseY;
-	}
-	
-	protected int getLastMouseY() {
-		return fLastY;
-	}
-
-	/**
-	 * Check whether the selected figure has been moved since
-	 * the tool has been activated.
-	 *
-	 * @return true if the selected figure has been moved
-	 */
-	public boolean hasMoved() {
-		return fMoved;
-	}
-	
-	protected void setHasMoved(boolean newMoved) {
-		fMoved = newMoved;
-	}
-	
-	public void activate() {
-		// suppress clearSelection() and tool-activation-notification
-		// in superclass
-	}
-
-	public void deactivate() {
-		if (hasMoved()) {
-			((DragTracker.UndoActivity)getUndoActivity()).setBackupPoint(new Point(getLastMouseX(), getLastMouseY()));
-		}
-		else {
-			setUndoActivity(null);
-		}
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new DragTracker.UndoActivity(getActiveView(), new Point(getLastMouseX(), getLastMouseY()));
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Point myOriginalPoint;
-		private Point myBackupPoint;
-
-		public UndoActivity(DrawingView newDrawingView, Point newOriginalPoint) {
-			super(newDrawingView);
-			setOriginalPoint(newOriginalPoint);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/*
-		 * Undo the activity
-		 * @return true if the activity could be undone, false otherwise
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			moveAffectedFigures(getBackupPoint(), getOriginalPoint());
-			return true;
-		}
-
-		/*
-		 * Redo the activity
-		 * @return true if the activity could be redone, false otherwise
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-			moveAffectedFigures(getOriginalPoint(), getBackupPoint());
-			return true;
-		}
-
-		public void setBackupPoint(Point newBackupPoint) {
-			myBackupPoint = newBackupPoint;
-		}
-
-		public Point getBackupPoint() {
-			return myBackupPoint;
-		}
-
-		public void setOriginalPoint(Point newOriginalPoint) {
-			myOriginalPoint = newOriginalPoint;
-		}
-
-		public Point getOriginalPoint() {
-			return myOriginalPoint;
-		}
-
-		public void moveAffectedFigures(Point startPoint, Point endPoint) {
-			FigureEnumeration figures = getAffectedFigures();
-			while (figures.hasNextFigure()) {
-				figures.nextFigure().moveBy(endPoint.x - startPoint.x,
-					endPoint.y - startPoint.y);
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/DuplicateCommand.java b/JHotDraw/src/CH/ifa/draw/standard/DuplicateCommand.java
deleted file mode 100644
index a5ade44ed..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/DuplicateCommand.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * @(#)DuplicateCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-/**
- * Duplicate the selection and select the duplicates.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DuplicateCommand extends FigureTransferCommand {
-
-   /**
-	* Constructs a duplicate command.
-	* @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	*/
-	public DuplicateCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		FigureSelection selection = view().getFigureSelection();
-
-		// create duplicate figure(s)
-		FigureEnumeration figures = (FigureEnumeration)selection.getData(StandardFigureSelection.TYPE);
-		getUndoActivity().setAffectedFigures(figures);
-
-		view().clearSelection();
-		getUndoActivity().setAffectedFigures(
-			insertFigures(getUndoActivity().getAffectedFigures(), 10, 10));
-		view().checkDamage();
-	}
-
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/FastBufferedUpdateStrategy.java b/JHotDraw/src/CH/ifa/draw/standard/FastBufferedUpdateStrategy.java
deleted file mode 100644
index 69e6bf71c..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/FastBufferedUpdateStrategy.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * @(#)FastBufferedUpdateStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.Rectangle;
-import java.awt.image.BufferedImage;
-import CH.ifa.draw.framework.Drawing;
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.framework.Painter;
-
-/**
- * @author WMG (INIT Copyright (C) 2000 All rights reserved)
- * @version <$CURRENT_VERSION$>
- */
-public class FastBufferedUpdateStrategy implements Painter {
-
-	//_________________________________________________________VARIABLES
-
-	private BufferedImage  _doubleBufferedImage;
-	private BufferedImage  _scratchPadBufferedImage;
-	private int            _nImageWidth = 0;
-	private int            _nImageHeight = 0;
-	private boolean        _bRedrawAll = true;
-
-	//______________________________________________________CONSTRUCTORS
-
-	public FastBufferedUpdateStrategy() {
-	}
-
-	//____________________________________________________PUBLIC METHODS
-
-	public void draw(Graphics g, DrawingView view) {
-		_checkCaches(view);
-		if (_bRedrawAll == true) {
-			Graphics imageGraphics = _doubleBufferedImage.getGraphics();
-			view.drawAll(imageGraphics);
-		}
-		else {
-			Rectangle viewClipRectangle = g.getClipBounds();
-			int nX1 = viewClipRectangle.x;
-			int nY1 = viewClipRectangle.y;
-			int nX2 = viewClipRectangle.x + viewClipRectangle.width;
-			int nY2 = viewClipRectangle.y + viewClipRectangle.height;
-
-			if (nX1 < 0) {
-				nX1 = 0;
-			}
-			if (nY1 < 0) {
-				nY1 = 0;
-			}
-			if (nX2 < 0) {
-				nX2 = 0;
-			}
-			if (nY2 < 0) {
-				nY2 = 0;
-			}
-
-			Rectangle viewClipRectangle2 = new Rectangle(nX1, nY1, nX2-nX1, nY2-nY1);
-
-			Drawing theDrawing = view.drawing();
-			FigureEnumeration fe = theDrawing.figures(viewClipRectangle2);
-
-			Graphics imageGraphics = _scratchPadBufferedImage.getGraphics();
-			imageGraphics.setColor(view.getBackground());
-			imageGraphics.fillRect(nX1, nY1, nX2-nX1, nY2-nY1);
-			view.draw(imageGraphics, fe);
-
-			Graphics dbGraphics = _doubleBufferedImage.getGraphics();
-			dbGraphics.drawImage(_scratchPadBufferedImage, nX1, nY1,
-				nX2, nY2, nX1, nY1, nX2, nY2, view);
-
-		}
-
-		g.drawImage(_doubleBufferedImage, 0, 0, view);
-		_bRedrawAll = false;
-	}
-
-
-	//___________________________________________________PRIVATE METHODS
-
-
-	private void _checkCaches(DrawingView view) {
-		Dimension d = view.getSize();
-
-		if ((_doubleBufferedImage == null)
-				|| (_nImageWidth != d.width)
-				|| (_nImageHeight != d.height)) {
-			_doubleBufferedImage = new BufferedImage(d.width,
-			d.height, BufferedImage.TYPE_INT_RGB);
-			_bRedrawAll = true;
-		}
-
-		if ((_scratchPadBufferedImage == null)
-				|| (_nImageWidth != d.width)
-				|| (_nImageHeight != d.height)) {
-			_scratchPadBufferedImage = new BufferedImage(d.width,
-				d.height, BufferedImage.TYPE_INT_RGB);
-			Graphics imageGraphics = _scratchPadBufferedImage.getGraphics();
-			view.drawBackground(imageGraphics);
-			_bRedrawAll = true;
-		}
-
-		_nImageWidth = d.width;
-		_nImageHeight = d.height;
-	}
-
-	//_______________________________________________________________END
-
-} //end of class FastBufferedUpdateStrategy
diff --git a/JHotDraw/src/CH/ifa/draw/standard/FigureAndEnumerator.java b/JHotDraw/src/CH/ifa/draw/standard/FigureAndEnumerator.java
deleted file mode 100644
index 39851c903..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/FigureAndEnumerator.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)FigureAndEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.framework.Figure;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class FigureAndEnumerator implements FigureEnumeration {
-	private FigureEnumeration myFE1;
-	private FigureEnumeration myFE2;
-
-	public FigureAndEnumerator(FigureEnumeration newFE1, FigureEnumeration newFE2) {
-		myFE1 = newFE1;
-		myFE2 = newFE2;
-	}
-
-	public Figure nextFigure() {
-		if (myFE1.hasNextFigure()) {
-			return myFE1.nextFigure();
-		}
-		else if (myFE2.hasNextFigure()) {
-			return myFE2.nextFigure();
-		}
-		else {
-			// todo: throw exception
-			return null;
-		}
-	}
-
-	public boolean hasNextFigure() {
-		return myFE1.hasNextFigure() || myFE2.hasNextFigure();
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		myFE1.reset();
-		myFE2.reset();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/FigureChangeAdapter.java b/JHotDraw/src/CH/ifa/draw/standard/FigureChangeAdapter.java
deleted file mode 100644
index 0608c87df..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/FigureChangeAdapter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * @(#)FigureChangeAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * Empty implementation of FigureChangeListener.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class FigureChangeAdapter implements FigureChangeListener {
-
-	/**
-	 *  Sent when an area is invalid
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {}
-
-	/**
-	 * Sent when a figure changed
-	 */
-	public void figureChanged(FigureChangeEvent e) {}
-
-	/**
-	 * Sent when a figure was removed
-	 */
-	public void figureRemoved(FigureChangeEvent e) {}
-
-	/**
-	 * Sent when requesting to remove a figure.
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {}
-
-	/**
-	 * Sent when an update should happen.
-	 *
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/FigureChangeEventMulticaster.java b/JHotDraw/src/CH/ifa/draw/standard/FigureChangeEventMulticaster.java
deleted file mode 100644
index a45175423..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/FigureChangeEventMulticaster.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * @(#)FigureChangeEventMulticaster.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import java.awt.*;
-import java.util.*;
-
-/**
- * Manages a list of FigureChangeListeners to be notified of
- * specific FigureChangeEvents.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class FigureChangeEventMulticaster extends
-	AWTEventMulticaster implements FigureChangeListener {
-
-	public FigureChangeEventMulticaster(EventListener newListenerA, EventListener newListenerB) {
-		super(newListenerA, newListenerB);
-	}
-
-	public void figureInvalidated(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureInvalidated(e);
-		((FigureChangeListener)b).figureInvalidated(e);
-	}
-
-	public void figureRequestRemove(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureRequestRemove(e);
-		((FigureChangeListener)b).figureRequestRemove(e);
-	}
-
-	public void figureRequestUpdate(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureRequestUpdate(e);
-		((FigureChangeListener)b).figureRequestUpdate(e);
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureChanged(e);
-		((FigureChangeListener)b).figureChanged(e);
-	}
-
-	public void figureRemoved(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureRemoved(e);
-		((FigureChangeListener)b).figureRemoved(e);
-	}
-
-	public static FigureChangeListener add(FigureChangeListener a, FigureChangeListener b) {
-		return (FigureChangeListener)addInternal(a, b);
-	}
-
-
-	public static FigureChangeListener remove(FigureChangeListener l, FigureChangeListener oldl) {
-		return (FigureChangeListener) removeInternal(l, oldl);
-	}
-
-	protected EventListener remove(EventListener oldl)
-	{
-		if (oldl == a) {
-			return b;
-		}
-		if (oldl == b) {
-			return a;
-		}
-		EventListener a2 = removeInternal(a, oldl);
-		EventListener b2 = removeInternal(b, oldl);
-		if (a2 == a && b2 == b) {
-			return this;
-		}
-		else {
-			return addInternal((FigureChangeListener)a2, (FigureChangeListener)b2);
-		}
-	}
-
-	protected static EventListener addInternal(FigureChangeListener a, FigureChangeListener b) {
-		if (a == null) {
-			return b;
-		}
-		if (b == null) {
-			return a;
-		}
-		return new FigureChangeEventMulticaster(a, b);
-	}
-
-	protected static EventListener removeInternal(EventListener l, EventListener oldl) {
-		if (l == oldl || l == null) {
-			return null;
-		}
-		else if (l instanceof FigureChangeEventMulticaster) {
-			return ((FigureChangeEventMulticaster)l).remove(oldl);
-		}
-		else {
-			return l;		// it's not here
-		}
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/FigureEnumerator.java b/JHotDraw/src/CH/ifa/draw/standard/FigureEnumerator.java
deleted file mode 100644
index dcd13f962..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/FigureEnumerator.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * @(#)FigureEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.Iterator;
-import java.util.Collection;
-
-
-/**
- * An Enumeration for a Collection of Figures.
- *
- * @version <$CURRENT_VERSION$>
- */
-public final class FigureEnumerator implements FigureEnumeration {
-	private Iterator myIterator;
-	private Collection myInitialCollection;
-
-	private static FigureEnumerator singletonEmptyEnumerator =
-		new FigureEnumerator(CollectionsFactory.current().createList());
-
-	public FigureEnumerator(Collection c) {
-		myInitialCollection = c;
-		reset();
-	}
-
-	/**
-	 * Returns true if the enumeration contains more elements; false
-	 * if its empty.
-	 */
-	public boolean hasNextFigure() {
-		return myIterator.hasNext();
-	}
-
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Figure nextFigure() {
-		return (Figure)myIterator.next();
-	}
-
-	public static FigureEnumeration getEmptyEnumeration() {
-		return singletonEmptyEnumerator;
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		myIterator = myInitialCollection.iterator();
-	}
-
-/*	public static FigureEnumeration getClonedFigures(FigureEnumeration toDuplicate) {
-		List v = CollectionsFactory.current().createList();
-		while (toDuplicate.hasMoreElements()) {
-			try {
-				v.addElement(toDuplicate.nextFigure().clone());
-			}
-			catch (CloneNotSupportedException e) {
-				e.printStackTrace();
-			}
-		}
-		return new FigureEnumerator(v);
-	}
-*/
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/FigureTransferCommand.java b/JHotDraw/src/CH/ifa/draw/standard/FigureTransferCommand.java
deleted file mode 100644
index 48a8277e2..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/FigureTransferCommand.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * @(#)FigureTransferCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * Common base clase for commands that transfer figures
- * between a drawing and the clipboard.
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class FigureTransferCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a drawing command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	protected FigureTransferCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-   /**
-	* Deletes the selection from the drawing.
-	*/
-	protected void deleteFigures(FigureEnumeration fe) {
-	   DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor(view().drawing());
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().visit(deleteVisitor);
-		}
-
-		view().clearSelection();
-	}
-
-   /**
-	* Copies the FigureEnumeration to the clipboard.
-	*/
-	protected void copyFigures(FigureEnumeration fe, int figureCount) {
-		Clipboard.getClipboard().setContents(new StandardFigureSelection(fe, figureCount));
-	}
-
-   /**
-	* Inserts an enumeration of figures and translates them by the
-	* given offset.
-	* @todo mrfloppy to investigate making this protected.  Looks like it would
-	*       be no problem to me.  It was package scope.  I thought it safer to
-	*       make it less restrictive just incase their was a reason for the
-	*       package scope I didn't know about. dnoyeb.
-	*       Bug - [ 673096 ] FigureTransferCommand has a wrong method
-	*/
-	public FigureEnumeration insertFigures(FigureEnumeration fe, int dx, int dy) {
-		return view().insertFigures(fe, dx, dy, false);
-	}
-}
-
-
diff --git a/JHotDraw/src/CH/ifa/draw/standard/GridConstrainer.java b/JHotDraw/src/CH/ifa/draw/standard/GridConstrainer.java
deleted file mode 100644
index f3b7b80d5..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/GridConstrainer.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * @(#)GridConstrainer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.PointConstrainer;
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * Constrains a point such that it falls on a grid.
- *
- * @see CH.ifa.draw.framework.DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public class GridConstrainer implements PointConstrainer, Serializable {
-
-	private int fGridX;
-	private int fGridY;
-
-	public GridConstrainer(int x, int y) {
-		fGridX = Math.max(1, x);
-		fGridY = Math.max(1, y);
-	}
-
-	/**
-	 * Constrains the given point.
-	 * @return constrained point.
-	 */
-	public Point constrainPoint(Point p) {
-		p.x = ((p.x+fGridX/2) / fGridX) * fGridX;
-		p.y = ((p.y+fGridY/2) / fGridY) * fGridY;
-		return p;
-	}
-
-	/**
-	 * Gets the x offset to move an object.
-	 */
-	public int getStepX() {
-		return fGridX;
-	}
-
-	/**
-	 * Gets the y offset to move an object.
-	 */
-	public int getStepY() {
-		return fGridY;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/HandleAndEnumerator.java b/JHotDraw/src/CH/ifa/draw/standard/HandleAndEnumerator.java
deleted file mode 100644
index d5ed93f16..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/HandleAndEnumerator.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * @(#)HandleAndEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.HandleEnumeration;
-import CH.ifa.draw.framework.Handle;
-
-import java.util.List;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class HandleAndEnumerator implements HandleEnumeration {
-	private HandleEnumeration myHE1;
-	private HandleEnumeration myHE2;
-
-	public HandleAndEnumerator(HandleEnumeration newHE1, HandleEnumeration newHE2) {
-		myHE1 = newHE1;
-		myHE2 = newHE2;
-	}
-
-	public Handle nextHandle() {
-		if (myHE1.hasNextHandle()) {
-			return myHE1.nextHandle();
-		}
-		else if (myHE2.hasNextHandle()) {
-			return myHE2.nextHandle();
-		}
-		else {
-			// todo: throw exception
-			return null;
-		}
-	}
-
-	public boolean hasNextHandle() {
-		return myHE1.hasNextHandle() || myHE2.hasNextHandle();
-	}
-
-	public List toList() {
-		List joinedList = myHE1.toList();
-		joinedList.addAll(myHE2.toList());
-		return joinedList;
-	}
-
-	public void reset() {
-		myHE1.reset();
-		myHE2.reset();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/HandleEnumerator.java b/JHotDraw/src/CH/ifa/draw/standard/HandleEnumerator.java
deleted file mode 100644
index 9b0f77c9c..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/HandleEnumerator.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * @(#)HandleEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.framework.HandleEnumeration;
-import CH.ifa.draw.framework.Handle;
-
-import java.util.Iterator;
-import java.util.Collection;
-import java.util.List;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class HandleEnumerator implements HandleEnumeration {
-	private Iterator myIterator;
-	private Collection myInitialCollection;
-
-	private static HandleEnumerator singletonEmptyEnumerator =
-		new HandleEnumerator(CollectionsFactory.current().createList());
-
-	public HandleEnumerator(Collection c) {
-		myInitialCollection = c;
-		reset();
-	}
-
-	/**
-	 * Returns true if the enumeration contains more elements; false
-	 * if its empty.
-	 */
-	public boolean hasNextHandle() {
-		return myIterator.hasNext();
-	}
-
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Handle nextHandle() {
-		return (Handle)myIterator.next();
-	}
-
-	/**
-	 * Returns a list with all elements currently available in the enumeration.
-	 * That means, elements retrieved already by calling nextHandle() are not
-	 * contained. This method does not change the position of the enumeration.
-	 * Warning: this method is not necessarily synchronized so this enumeration should not
-	 * be modified at the same time!
-	 *
-	 * @return list with all elements currently available in the enumeration.
-	 */
-	public List toList() {
-		List handles = CollectionsFactory.current().createList();
-		while (hasNextHandle()) {
-			handles.add(nextHandle());
-		}
-		// copy/reset iterator to original content
-		myIterator = handles.iterator();
-		return handles;
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		myIterator = myInitialCollection.iterator();
-	}
-
-	public static HandleEnumeration getEmptyEnumeration() {
-		return singletonEmptyEnumerator;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/HandleTracker.java b/JHotDraw/src/CH/ifa/draw/standard/HandleTracker.java
deleted file mode 100644
index 1cc7487ce..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/HandleTracker.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * @(#)HandleTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.event.MouseEvent;
-import CH.ifa.draw.framework.*;
-
-/**
- * HandleTracker implements interactions with the handles of a Figure.
- *
- * @see SelectionTool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class HandleTracker extends AbstractTool {
-
-	private Handle  fAnchorHandle;
-
-	public HandleTracker(DrawingEditor newDrawingEditor, Handle anchorHandle) {
-		super(newDrawingEditor);
-		fAnchorHandle = anchorHandle;
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		fAnchorHandle.invokeStart(x, y, view());
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		super.mouseDrag(e, x, y);
-		fAnchorHandle.invokeStep(x, y, getAnchorX(), getAnchorY(), view());
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		super.mouseUp(e, x, y);
-		fAnchorHandle.invokeEnd(x, y, getAnchorX(), getAnchorY(), view());
-	}
-
-	public void activate() {
-		// suppress clearSelection() and tool-activation-notification
-		// in superclass by providing an empty implementation
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/InsertIntoDrawingVisitor.java b/JHotDraw/src/CH/ifa/draw/standard/InsertIntoDrawingVisitor.java
deleted file mode 100644
index 10b11d75a..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/InsertIntoDrawingVisitor.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)InsertIntoDrawingVisitor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.Set;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class InsertIntoDrawingVisitor implements FigureVisitor {
-	private Set myInsertedFigures;
-	private Drawing myDrawing;
-
-	public InsertIntoDrawingVisitor(Drawing newDrawing) {
-		myInsertedFigures = CollectionsFactory.current().createSet();
-		setDrawing(newDrawing);
-	}
-
-	private void setDrawing(Drawing newDrawing) {
-		myDrawing = newDrawing;
-	}
-
-	protected Drawing getDrawing() {
-		return myDrawing;
-	}
-
-	public void visitFigure(Figure hostFigure) {
-		if (!myInsertedFigures.contains(hostFigure) && !getDrawing().includes(hostFigure)) {
-			Figure addedFigure = getDrawing().add(hostFigure);
-			myInsertedFigures.add(addedFigure);
-		}
-	}
-
-	public void visitHandle(Handle hostHandle) {
-	}
-
-	public void visitFigureChangeListener(FigureChangeListener hostFigureChangeListener) {
-//		hostFigureChangeListener.visit(this);
-	}
-
-	public FigureEnumeration getInsertedFigures() {
-		return new FigureEnumerator(myInsertedFigures);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/LocatorConnector.java b/JHotDraw/src/CH/ifa/draw/standard/LocatorConnector.java
deleted file mode 100644
index a2b7ebf17..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/LocatorConnector.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * @(#)LocatorConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.io.IOException;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A LocatorConnector locates connection points with
- * the help of a Locator. It supports the definition
- * of connection points to semantic locations.
- *
- * @see Locator
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-public class LocatorConnector extends AbstractConnector {
-
-	/**
-	 * The standard size of the connector. The display box
-	 * is centered around the located point.
-	 */
-	public static final int SIZE = 8;
-
-	private Locator  myLocator;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 5062833203337604181L;
-	private int locatorConnectorSerializedDataVersion = 1;
-
-	public LocatorConnector() { // only used for Storable
-		setLocator(null);
-	}
-
-	public LocatorConnector(Figure owner, Locator l) {
-		super(owner);
-		setLocator(l);
-	}
-
-	/**
-	 * Tests if a point is contained in the connector.
-	 */
-	public boolean containsPoint(int x, int y) {
-		return displayBox().contains(x, y);
-	}
-
-	/**
-	 * Gets the display box of the connector.
-	 */
-	public Rectangle displayBox() {
-		Point p = getLocator().locate(owner());
-		return new Rectangle(
-				p.x - SIZE / 2,
-				p.y - SIZE / 2,
-				SIZE,
-				SIZE);
-	}
-
-	/**
-	 * Draws this connector.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.blue);
-		g.fillOval(r.x, r.y, r.width, r.height);
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Stores the arrow tip to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getLocator());
-	}
-
-	/**
-	 * Reads the arrow tip from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		setLocator((Locator)dr.readStorable());
-	}
-
-	protected void setLocator(Locator newLocator) {
-		myLocator = newLocator;
-	}
-
-	public Locator getLocator() {
-		return myLocator;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/LocatorHandle.java b/JHotDraw/src/CH/ifa/draw/standard/LocatorHandle.java
deleted file mode 100644
index 2d94d9c14..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/LocatorHandle.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * @(#)LocatorHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Point;
-
-import CH.ifa.draw.framework.Cursor;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.Locator;
-
-/**
- * A LocatorHandle implements a Handle by delegating the location requests to
- * a Locator object.
- *
- * @see LocatorHandle
- *
- * @version <$CURRENT_VERSION$>
- */
-public class LocatorHandle extends AbstractHandle {
-
-	private Locator       fLocator;
-
-	/**
-	 * Initializes the LocatorHandle with the given Locator.
-	 */
-	public LocatorHandle(Figure owner, Locator l) {
-		super(owner);
-		fLocator = l;
-	}
-	/**
-	 * This should be cloned or it gives the receiver the opportunity to alter
-	 * our internal behavior.
-	 */
-	public Locator getLocator() {
-		return fLocator;
-	}
-
-	/**
-	 * Locates the handle on the figure by forwarding the request
-	 * to its figure.
-	 */
-	public Point locate() {
-		return fLocator.locate(owner());
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#getCursor()
-	 */
-	public Cursor getCursor() {
-		Cursor c = super.getCursor();
-		if (getLocator() instanceof RelativeLocator) {
-			RelativeLocator rl = (RelativeLocator) getLocator();
-			if (rl.equals( RelativeLocator.north())) {
-				c = new AWTCursor(java.awt.Cursor.N_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.northEast())) {
-				c = new AWTCursor(java.awt.Cursor.NE_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.east())) {
-				c = new AWTCursor(java.awt.Cursor.E_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.southEast())) {
-				c = new AWTCursor(java.awt.Cursor.SE_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.south())) {
-				c = new AWTCursor(java.awt.Cursor.S_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.southWest())) {
-				c = new AWTCursor(java.awt.Cursor.SW_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.west())) {
-				c = new AWTCursor(java.awt.Cursor.W_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.northWest())) {
-				c = new AWTCursor(java.awt.Cursor.NW_RESIZE_CURSOR);
-			}
-		}
-		return c;
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/NullDrawingView.java b/JHotDraw/src/CH/ifa/draw/standard/NullDrawingView.java
deleted file mode 100644
index eab32cfbc..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/NullDrawingView.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * @(#)NullDrawingView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.util.Collection;
-import java.util.Hashtable;
-
-import javax.swing.JPanel;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * This DrawingView provides a very basic implementation. It does not perform any
- * functionality apart from keeping track of its state represented by some important
- * fields. It is a Null-value object and is used instead of a null reference to
- * avoid null pointer exception. This concept is known as the Null-value object
- * bug pattern.
- *
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class NullDrawingView extends JPanel implements DrawingView {
-
-	private DrawingEditor myDrawingEditor;
-	private Drawing myDrawing;
-	private Painter myUpdateStrategy;
-	private Color myBackgroundColor;
-
-	private static Hashtable drawingViewManager = new Hashtable();
-
-	protected NullDrawingView(DrawingEditor editor) {
-		setEditor(editor);
-		setDrawing(new StandardDrawing());
-	}
-
-	/**
-	 * Sets the view's editor.
-	 */
-	public void setEditor(DrawingEditor editor) {
-		myDrawingEditor = editor;
-	}
-
-	/**
-	 * Gets the current tool.
-	 */
-	public Tool tool() {
-		return editor().tool();
-	}
-
-	/**
-	 * Gets the drawing.
-	 */
-	public Drawing drawing() {
-		return myDrawing;
-	}
-
-	/**
-	 * Sets and installs another drawing in the view.
-	 */
-	public void setDrawing(Drawing d) {
-		myDrawing = d;
-	}
-
-	/**
-	 * Gets the editor.
-	 */
-	public DrawingEditor editor() {
-		return myDrawingEditor;
-	}
-
-	/**
-	 * Adds a figure to the drawing.
-	 * @return the added figure.
-	 */
-	public Figure add(Figure figure) {
-		return figure;
-	}
-
-	/**
-	 * Removes a figure from the drawing.
-	 * @return the removed figure
-	 */
-	public Figure remove(Figure figure) {
-		return figure;
-	}
-
-	/**
-	 * Adds a collection of figures to the drawing.
-	 */
-	public void addAll(Collection figures) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Gets the size of the drawing.
-	 */
-	public Dimension getSize() {
-		return new Dimension();
-	}
-
-	/**
-	 * Gets the minimum dimension of the drawing.
-	 */
-	public Dimension getMinimumSize() {
-		return new Dimension();
-	}
-
-	/**
-	 * Gets the preferred dimension of the drawing..
-	 */
-	public Dimension getPreferredSize() {
-		return new Dimension();
-	}
-
-	/**
-	 * Sets the current display update strategy.
-	 * @see Painter
-	 */
-	public void setDisplayUpdate(Painter newUpdateStrategy) {
-		myUpdateStrategy = newUpdateStrategy;
-	}
-
-	/**
-	 * Gets the current display update strategy.
-	 * @see Painter
-	 */
-	public Painter getDisplayUpdate() {
-		return myUpdateStrategy;
-	}
-
-	/**
-	 * Gets an enumeration over the currently selected figures.
-	 * The selection is a snapshot of the current selection
-	 * which does not get changed anymore
-	 *
-	 * @return an enumeration with the currently selected figures.
-	 */
-	public FigureEnumeration selection() {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Gets the currently seleced figures in Z order.
-	 * @see #selection
-	 * @return a FigureEnumeration with the selected figures. This enumeration
-	 * represents a snapshot of the current selection.
-	 */
-	public FigureEnumeration selectionZOrdered() {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Gets the number of selected figures.
-	 */
-	public int selectionCount() {
-		return 0;
-	}
-
-	/**
-	 * Test whether a given figure is selected.
-	 */
-	public boolean isFigureSelected(Figure checkFigure) {
-		return false;
-	}
-
-	/**
-	 * Adds a figure to the current selection.
-	 */
-	public void addToSelection(Figure figure) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Adds a Collection of figures to the current selection.
-	 */
-	public void addToSelectionAll(Collection figures) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Adds a FigureEnumeration to the current selection.
-	 */
-	public void addToSelectionAll(FigureEnumeration fe) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Removes a figure from the selection.
-	 */
-	public void removeFromSelection(Figure figure) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * If a figure isn't selected it is added to the selection.
-	 * Otherwise it is removed from the selection.
-	 */
-	public void toggleSelection(Figure figure) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Clears the current selection.
-	 */
-	public void clearSelection() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Gets the current selection as a FigureSelection. A FigureSelection
-	 * can be cut, copied, pasted.
-	 */
-	public FigureSelection getFigureSelection() {
-		return new StandardFigureSelection(selection(), 0);
-	}
-
-	/**
-	 * Finds a handle at the given coordinates.
-	 * @return the hit handle, null if no handle is found.
-	 */
-	public Handle findHandle(int x, int y) {
-		return null;
-	}
-
-	/**
-	 * Gets the position of the last click inside the view.
-	 */
-	public Point lastClick() {
-		return new Point();
-	}
-
-	/**
-	 * Sets the current point constrainer.
-	 */
-	public void setConstrainer(PointConstrainer p) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Gets the current grid setting.
-	 */
-	public PointConstrainer getConstrainer() {
-		return null;
-	}
-
-	/**
-	 * Checks whether the drawing has some accumulated damage
-	 */
-	public void checkDamage() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Repair the damaged area
-	 */
-	public void repairDamage() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Paints the drawing view. The actual drawing is delegated to
-	 * the current update strategy.
-	 * @see Painter
-	 */
-	public void paint(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Creates an image with the given dimensions
-	 */
-	public Image createImage(int width, int height) {
-		return null;
-	}
-
-	/**
-	 * Gets a graphic to draw into
-	 */
-	public Graphics getGraphics() {
-		return null;
-	}
-
-	/**
-	 * Gets the background color of the DrawingView
-	 */
-	public Color getBackground() {
-		return myBackgroundColor;
-	}
-
-	/**
-	 * Sets the background color of the DrawingView
-	 */
-	public void setBackground(Color c) {
-		myBackgroundColor = c;
-	}
-
-	/**
-	 * Draws the contents of the drawing view.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void drawAll(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Draws the given figures.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void draw(Graphics g, FigureEnumeration fe) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Draws the currently active handles.
-	 */
-	public void drawHandles(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Draws the drawing.
-	 */
-	public void drawDrawing(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Draws the background. If a background pattern is set it
-	 * is used to fill the background. Otherwise the background
-	 * is filled in the background color.
-	 */
-	public void drawBackground(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Sets the cursor of the DrawingView
-	 */
-	public void setCursor(CH.ifa.draw.framework.Cursor c) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Freezes the view by acquiring the drawing lock.
-	 * @see Drawing#lock
-	 */
-	public void freezeView() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Unfreezes the view by releasing the drawing lock.
-	 * @see Drawing#unlock
-	 */
-	public void unfreezeView() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Add a listener for selection changes in this DrawingView.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void addFigureSelectionListener(FigureSelectionListener fsl) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Remove a listener for selection changes in this DrawingView.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void removeFigureSelectionListener(FigureSelectionListener fsl) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Returns a FigureEnumeration of connection figures
-	 */
-	public FigureEnumeration getConnectionFigures(Figure inFigure) {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Inserts figures in a drawing at given offset. Optional check for connection figures
-	 *
-	 *  @return enumeration which has been added to the drawing. The figures in the enumeration
-	 *          can have changed during adding them (e.g. they could have been decorated).
-	 */
-	public FigureEnumeration insertFigures(FigureEnumeration inFigures, int dx, int dy, boolean bCheck) {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	public void drawingInvalidated(DrawingChangeEvent e) {
-		// ignore: do nothing
-	}
-
-	public void drawingRequestUpdate(DrawingChangeEvent e) {
-		// ignore: do nothing
-	}
-
-	public void drawingTitleChanged(DrawingChangeEvent e) {
-		// ignore: do nothing        
-	}
-
-	public boolean isInteractive() {
-		return false;
-	}
-
-	public synchronized static DrawingView getManagedDrawingView(DrawingEditor editor) {
-		if (drawingViewManager.containsKey(editor)) {
-			return (DrawingView)drawingViewManager.get(editor);
-		}
-		else {
-			DrawingView newDrawingView = new NullDrawingView(editor);
-			drawingViewManager.put(editor, newDrawingView);
-			return newDrawingView;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/NullHandle.java b/JHotDraw/src/CH/ifa/draw/standard/NullHandle.java
deleted file mode 100644
index 9258e26d1..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/NullHandle.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * @(#)NullHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * A handle that doesn't change the owned figure. Its only purpose is
- * to show feedback that a figure is selected.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b>NullObject</b><br>
- * NullObject enables to treat handles that don't do
- * anything in the same way as other handles.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class NullHandle extends LocatorHandle {
-
-	/**
-	 * The handle's locator.
-	 */
-	protected Locator fLocator;
-
-	public NullHandle(Figure owner, Locator locator) {
-		super(owner, locator);
-	}
-
-	/**
-	 * Draws the NullHandle. NullHandles are drawn as a
-	 * red framed rectangle.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/NullPainter.java b/JHotDraw/src/CH/ifa/draw/standard/NullPainter.java
deleted file mode 100644
index 5b739c1e8..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/NullPainter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)NullPainter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	\x{FFFD} by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.standard;
-
-import java.awt.Graphics;
-
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.framework.Painter;
-
-/**
- * Default implementation support for a Painter.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b>NullObject</b><br>
- * NullObject enables to treat handles that don't do
- * anything in the same way as other handles.
- *
- * @see Painter
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class NullPainter implements Painter {
-	/* (non-Javadoc)
-	 * @see CH.ifa.draw.framework.Painter#draw(java.awt.Graphics, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void draw(Graphics g, DrawingView view) {
-		// Do nothing in a reasonable way.
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/NullTool.java b/JHotDraw/src/CH/ifa/draw/standard/NullTool.java
deleted file mode 100644
index 3afc961fb..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/NullTool.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * @(#)NullTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	? by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * Default implementation support for Tools.
- *
- * @see DrawingView
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class NullTool extends AbstractTool {
-	public NullTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	public void activate() {
-		// suppress clearSelection() and tool-activation notification in superclass
-	}
-
-	public void deactivate() {
-		// suppress clearSelection() and tool-activation notification in superclass
-	}
-
-    protected void checkUsable() {
-    	//suppress setUsable(false);
-	}    
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/OffsetLocator.java b/JHotDraw/src/CH/ifa/draw/standard/OffsetLocator.java
deleted file mode 100644
index 5298e9af9..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/OffsetLocator.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * @(#)OffsetLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.io.IOException;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A locator to offset another Locator.
- * @see Locator
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class OffsetLocator extends AbstractLocator {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 2679950024611847621L;
-	private int offsetLocatorSerializedDataVersion = 1;
-
-	private Locator fBase;
-	private int     fOffsetX;
-	private int     fOffsetY;
-
-	public OffsetLocator() {
-		fBase = null;
-		fOffsetX = 0;
-		fOffsetY = 0;
-	}
-
-	public OffsetLocator(Locator base) {
-		this();
-		fBase = base;
-	}
-
-	public OffsetLocator(Locator base, int offsetX, int offsetY) {
-		this(base);
-		fOffsetX = offsetX;
-		fOffsetY = offsetY;
-	}
-
-	public Point locate(Figure owner) {
-		Point p = fBase.locate(owner);
-		p.x += fOffsetX;
-		p.y += fOffsetY;
-		return p;
-	}
-
-	public void moveBy(int dx, int dy) {
-		fOffsetX += dx;
-		fOffsetY += dy;
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fOffsetX);
-		dw.writeInt(fOffsetY);
-		dw.writeStorable(fBase);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fOffsetX = dr.readInt();
-		fOffsetY = dr.readInt();
-		fBase = (Locator)dr.readStorable();
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/standard/OrderedFigureElement.java b/JHotDraw/src/CH/ifa/draw/standard/OrderedFigureElement.java
deleted file mode 100644
index 3183af556..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/OrderedFigureElement.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * @(#)OrderFigureElement.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.Figure;
-
-/**
- * @author WMG (INIT Copyright (C) 2000 All rights reserved)
- * @version <$CURRENT_VERSION$>
- */
-class OrderedFigureElement implements Comparable {
-
-	//_________________________________________________________VARIABLES
-
-	private Figure  _theFigure;
-	private int     _nZ;
-
-	//______________________________________________________CONSTRUCTORS
-
-	public OrderedFigureElement(Figure aFigure, int nZ) {
-		_theFigure = aFigure;
-		_nZ = nZ;
-	}
-
-	//____________________________________________________PUBLIC METHODS
-
-	public Figure getFigure() {
-		return _theFigure;
-	}
-
-	public int getZValue() {
-		return _nZ;
-	}
-
-	public int compareTo(Object o) {
-		OrderedFigureElement ofe = (OrderedFigureElement) o;
-		if (_nZ == ofe.getZValue()) {
-			return 0;
-		}
-
-		if (_nZ > ofe.getZValue()) {
-			return 1;
-		}
-
-		return -1;
-	}
-
-	//_______________________________________________________________END
-
-} //end of class OrderedFigureElement
diff --git a/JHotDraw/src/CH/ifa/draw/standard/PasteCommand.java b/JHotDraw/src/CH/ifa/draw/standard/PasteCommand.java
deleted file mode 100644
index fb3d278a6..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/PasteCommand.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * @(#)PasteCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-import java.awt.*;
-
-/**
- * Command to insert the clipboard into the drawing.
- *
- * @see Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-public class PasteCommand extends FigureTransferCommand {
-
-	/**
-	 * Constructs a paste command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public PasteCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		Point lastClick = view().lastClick();
-		FigureSelection selection = (FigureSelection)Clipboard.getClipboard().getContents();
-		if (selection != null) {
-			setUndoActivity(createUndoActivity());
-			getUndoActivity().setAffectedFigures(
-				(FigureEnumerator)selection.getData(StandardFigureSelection.TYPE));
-
-			if (!getUndoActivity().getAffectedFigures().hasNextFigure()) {
-				setUndoActivity(null);
-				return;
-			}
-
-			Rectangle r = getBounds(getUndoActivity().getAffectedFigures());
-			view().clearSelection();
-
-			// get an enumeration of inserted figures
-			FigureEnumeration fe = insertFigures(getUndoActivity().getAffectedFigures(), lastClick.x-r.x, lastClick.y-r.y);
-			getUndoActivity().setAffectedFigures(fe);
-
-			view().checkDamage();
-		}
-	}
-
-	public boolean isExecutableWithView() {
-		return Clipboard.getClipboard().getContents() != null;
-	}
-
-	private Rectangle getBounds(FigureEnumeration fe) {
-		Rectangle r = fe.nextFigure().displayBox();
-		while (fe.hasNextFigure()) {
-			r.add(fe.nextFigure().displayBox());
-		}
-		return r;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor(getDrawingView().drawing());
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-	    		fe.nextFigure().visit(deleteVisitor);
-			}
-
-			getDrawingView().clearSelection();
-
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-			setAffectedFigures(getDrawingView().insertFigures(
-				getAffectedFigures(), 0, 0, false));
-
-			return true;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/PeripheralLocator.java b/JHotDraw/src/CH/ifa/draw/standard/PeripheralLocator.java
deleted file mode 100644
index 6cc5e86cf..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/PeripheralLocator.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * @(#)PeripheralLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Point;
-import CH.ifa.draw.framework.Figure;
-import java.awt.*;
-import java.lang.Math;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class PeripheralLocator extends AbstractLocator {
-	private static int CORNERSPACE = 1;
-	private Figure fOwner;
-	private int fPPS;
-	private int fIndex;
-
-	private PeripheralLocator() {
-		// do nothing: for JDO-compliance only
-	}
-
-	public PeripheralLocator(int pointsPerSide, int index) {
-		fPPS = pointsPerSide;
-		fIndex = index;
-		if (index >= pointsPerSide *4) {
-			throw new IllegalArgumentException("Index must be within the range of points starting with index = 0.");
-		}
-	}
-
-    public Point locate(Figure parm1) {
-		Rectangle r = parm1.displayBox();
-		/* calculate total length for spacing */
-		//int circumference = r.width*2 + r.height*2;
-		/* subtrace corners spacing */
-		//int insets = 2 * 4 * CORNERSPACE;
-
-		//int spacing = circumference/(fPPS*4 +4);
-		float hSpacing = (float)r.width / (fPPS +1);
-		float vSpacing = (float)r.height / (fPPS +1);
-
-		int x = 0;
-		int y = 0;
-		if (fIndex < fPPS) {
-			//north
-			x = Math.round((fIndex + 1.0f ) * hSpacing);
-			y = 0;
-		}
-		else if (fIndex < (fPPS*2)) {
-			//east
-			x = Math.round((fPPS + 1 ) * hSpacing) ;//r.width;
-			y = Math.round((fIndex +1 - fPPS) * vSpacing);  //should be negative?
-		}
-		else if (fIndex < (fPPS*3)) {
-			//south
-			x = Math.round(((fPPS + 1 ) - (fIndex +1 - fPPS*2))* hSpacing);
-			y = Math.round((fPPS + 1 )* vSpacing) /*r.height*/;
-		}
-		else {
-			//west
-			x = 0;
-			y = Math.round(((fPPS +1) - (fIndex +1 - fPPS*3))*vSpacing);
-		}
-		x = x+r.x;
-		y = y+r.y;
-		return new Point((int)x, (int)y);
-    }
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/standard/QuadTree.java b/JHotDraw/src/CH/ifa/draw/standard/QuadTree.java
deleted file mode 100644
index 035b0d56d..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/QuadTree.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * @(#)QuadTree.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.awt.geom.Rectangle2D;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.io.Serializable;
-
-/**
- * @author WMG (INIT Copyright (C) 2000 All rights reserved)
- * @version <$CURRENT_VERSION$>
- */
-class QuadTree implements Serializable {
-
-	//_________________________________________________________VARIABLES
-
-	private Rectangle2D  _absoluteBoundingRectangle2D = new Rectangle2D.Double();
-	private int          _nMaxTreeDepth;
-	private Hashtable    _theHashtable = new Hashtable();
-	private Hashtable    _outsideHashtable = new Hashtable();
-	private QuadTree     _nwQuadTree;
-	private QuadTree     _neQuadTree;
-	private QuadTree     _swQuadTree;
-	private QuadTree     _seQuadTree;
-
-	//______________________________________________________CONSTRUCTORS
-
-	public QuadTree(Rectangle2D absoluteBoundingRectangle2D) {
-		this(2, absoluteBoundingRectangle2D);
-	}
-
-	public QuadTree(int nMaxTreeDepth, Rectangle2D
-		absoluteBoundingRectangle2D) {
-		_init(nMaxTreeDepth, absoluteBoundingRectangle2D);
-	}
-
-	//____________________________________________________PUBLIC METHODS
-
-	public void add(Object anObject, Rectangle2D absoluteBoundingRectangle2D) {
-		if (_nMaxTreeDepth == 1) {
-			if (absoluteBoundingRectangle2D.intersects(_absoluteBoundingRectangle2D)) {
-				_theHashtable.put(anObject, absoluteBoundingRectangle2D);
-			}
-			else {
-				_outsideHashtable.put(anObject, absoluteBoundingRectangle2D);
-			}
-			return;
-		}
-
-		boolean bNW = absoluteBoundingRectangle2D.intersects(
-			_nwQuadTree.getAbsoluteBoundingRectangle2D());
-
-		boolean bNE = absoluteBoundingRectangle2D.intersects(
-			_neQuadTree.getAbsoluteBoundingRectangle2D());
-
-		boolean bSW = absoluteBoundingRectangle2D.intersects(
-			_swQuadTree.getAbsoluteBoundingRectangle2D());
-
-		boolean bSE = absoluteBoundingRectangle2D.intersects(
-			_seQuadTree.getAbsoluteBoundingRectangle2D());
-
-		int nCount = 0;
-
-		if (bNW == true) {
-			nCount++;
-		}
-		if (bNE == true) {
-			nCount++;
-		}
-		if (bSW == true) {
-			nCount++;
-		}
-		if (bSE == true) {
-			nCount++;
-		}
-
-		if (nCount > 1) {
-			_theHashtable.put(anObject, absoluteBoundingRectangle2D);
-			return;
-		}
-		if (nCount == 0) {
-			_outsideHashtable.put(anObject, absoluteBoundingRectangle2D);
-			return;
-		}
-
-		if (bNW == true) {
-			_nwQuadTree.add(anObject, absoluteBoundingRectangle2D);
-		}
-		if (bNE == true) {
-			_neQuadTree.add(anObject, absoluteBoundingRectangle2D);
-		}
-		if (bSW == true) {
-			_swQuadTree.add(anObject, absoluteBoundingRectangle2D);
-		}
-		if (bSE == true) {
-			_seQuadTree.add(anObject, absoluteBoundingRectangle2D);
-		}
-	}
-
-	public Object remove(Object anObject) {
-		Object returnObject = _theHashtable.remove(anObject);
-		if (returnObject != null) {
-			return returnObject;
-		}
-
-		if (_nMaxTreeDepth > 1) {
-			returnObject = _nwQuadTree.remove(anObject);
-			if (returnObject != null) {
-				return returnObject;
-			}
-
-			returnObject = _neQuadTree.remove(anObject);
-			if (returnObject != null) {
-				return returnObject;
-			}
-
-			returnObject = _swQuadTree.remove(anObject);
-			if (returnObject != null) {
-				return returnObject;
-			}
-
-			returnObject = _seQuadTree.remove(anObject);
-			if (returnObject != null) {
-				return returnObject;
-			}
-		}
-
-		returnObject = _outsideHashtable.remove(anObject);
-		if (returnObject != null) {
-			return returnObject;
-		}
-
-		return null;
-	}
-
-
-	public void clear() {
-		_theHashtable.clear();
-		_outsideHashtable.clear();
-		if (_nMaxTreeDepth > 1) {
-			_nwQuadTree.clear();
-			_neQuadTree.clear();
-			_swQuadTree.clear();
-			_seQuadTree.clear();
-		}
-	}
-
-	public int getMaxTreeDepth() {
-		return _nMaxTreeDepth;
-	}
-/*
-	public FigureEnumeration getAll() {
-		List l = CollectionsFactory.current().createList();
-		l.add(_theHashtable.keySet());
-		l.add(_outsideHashtable.keySet());
-
-		if (_nMaxTreeDepth > 1) {
-			l.add(_nwQuadTree.getAll().toList());
-			l.add(_neQuadTree.getAll().toList());
-			l.add(_swQuadTree.getAll().toList());
-			l.add(_seQuadTree.getAll().toList());
-		}
-
-		return new FigureEnumerator(l);
-	}
-*/
-	public FigureEnumeration getAllWithin(Rectangle2D r) {
-		List l = CollectionsFactory.current().createList();
-		for (Iterator ii = _outsideHashtable.keySet().iterator(); ii.hasNext(); ) {
-			Object anObject = ii.next();
-			Rectangle2D itsAbsoluteBoundingRectangle2D = (Rectangle2D)
-			_outsideHashtable.get(anObject);
-
-			if (itsAbsoluteBoundingRectangle2D.intersects(r)) {
-				l.add(anObject);
-			}
-		}
-
-		if (_absoluteBoundingRectangle2D.intersects(r)) {
-			for(Iterator i = _theHashtable.keySet().iterator(); i.hasNext(); ) {
-				Object anObject = i.next();
-				Rectangle2D itsAbsoluteBoundingRectangle2D = (Rectangle2D)
-				_theHashtable.get(anObject);
-
-				if (itsAbsoluteBoundingRectangle2D.intersects(r)) {
-					l.add(anObject);
-				}
-			}
-
-			if (_nMaxTreeDepth > 1) {
-				l.add(_nwQuadTree.getAllWithin(r));
-				l.add(_neQuadTree.getAllWithin(r));
-				l.add(_swQuadTree.getAllWithin(r));
-				l.add(_seQuadTree.getAllWithin(r));
-			}
-		}
-
-		return new FigureEnumerator(l);
-	}
-
-	public Rectangle2D getAbsoluteBoundingRectangle2D() {
-		return _absoluteBoundingRectangle2D;
-	}
-
-	//___________________________________________________PRIVATE METHODS
-
-	private void _init(int nMaxTreeDepth, Rectangle2D absoluteBoundingRectangle2D) {
-		_absoluteBoundingRectangle2D.setRect(absoluteBoundingRectangle2D);
-		_nMaxTreeDepth = nMaxTreeDepth;
-
-		if (_nMaxTreeDepth > 1) {
-			_nwQuadTree = new QuadTree(_nMaxTreeDepth-1,
-			_makeNorthwest(absoluteBoundingRectangle2D));
-			_neQuadTree = new QuadTree(_nMaxTreeDepth-1,
-			_makeNortheast(absoluteBoundingRectangle2D));
-			_swQuadTree = new QuadTree(_nMaxTreeDepth-1,
-			_makeSouthwest(absoluteBoundingRectangle2D));
-			_seQuadTree = new QuadTree(_nMaxTreeDepth-1,
-			_makeSoutheast(absoluteBoundingRectangle2D));
-		}
-	}
-
-	private Rectangle2D _makeNorthwest(Rectangle2D r) {
-		return new Rectangle2D.Double(r.getX(), r.getY(), r.getWidth() / 2.0, r.getHeight() / 2.0);
-	}
-
-	private Rectangle2D _makeNortheast(Rectangle2D r) {
-		return new Rectangle2D.Double(r.getX() + r.getWidth() / 2.0,
-			r.getY(), r.getWidth() / 2.0, r.getHeight() / 2.0);
-	}
-
-	private Rectangle2D _makeSouthwest(Rectangle2D r) {
-		return new Rectangle2D.Double(r.getX(), r.getY() + r.getHeight() / 2.0,
-			r.getWidth() / 2.0, r.getHeight() / 2.0);
-	}
-
-	private Rectangle2D _makeSoutheast(Rectangle2D r) {
-		return new Rectangle2D.Double(r.getX() + r.getWidth() / 2.0,
-			r.getY() + r.getHeight() / 2.0, r.getWidth() / 2.0,
-			r.getHeight() / 2.0);
-	}
-
-//_______________________________________________________________END
-
-} //end of class QuadTree
diff --git a/JHotDraw/src/CH/ifa/draw/standard/RelativeLocator.java b/JHotDraw/src/CH/ifa/draw/standard/RelativeLocator.java
deleted file mode 100644
index 29ccc9f59..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/RelativeLocator.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * @(#)RelativeLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.io.IOException;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A locator that specfies a point that is relative to the bounds
- * of a figure.
- *
- * @see Locator
- *
- * @version <$CURRENT_VERSION$>
- */
-public class RelativeLocator extends AbstractLocator {
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 2619148876087898602L;
-	private int relativeLocatorSerializedDataVersion = 1;
-
-	double  fRelativeX;
-	double  fRelativeY;
-
-	public RelativeLocator() {
-		fRelativeX = 0.0;
-		fRelativeY = 0.0;
-	}
-
-	public boolean equals(Object o) {
-		if (RelativeLocator.class.isInstance(o)) {
-			RelativeLocator rl = (RelativeLocator) o;
-			if ((rl.fRelativeX) == fRelativeX && (rl.fRelativeY == fRelativeY)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public RelativeLocator(double relativeX, double relativeY) {
-		fRelativeX = relativeX;
-		fRelativeY = relativeY;
-	}
-
-	public Point locate(Figure owner) {
-		Rectangle r = owner.displayBox();
-		return new Point(
-			r.x + (int)(r.width * fRelativeX),
-			r.y + (int)(r.height * fRelativeY)
-		);
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeDouble(fRelativeX);
-		dw.writeDouble(fRelativeY);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fRelativeX = dr.readDouble();
-		fRelativeY = dr.readDouble();
-	}
-
-	static public Locator east() {
-		return new RelativeLocator(1.0, 0.5);
-	}
-
-	/**
-	 * North.
-	 */
-	static public Locator north() {
-		return new RelativeLocator(0.5, 0.0);
-	}
-
-	/**
-	 * West.
-	 */
-	static public Locator west() {
-		return new RelativeLocator(0.0, 0.5);
-	}
-
-	/**
-	 * North east.
-	 */
-	static public Locator northEast() {
-		return new RelativeLocator(1.0, 0.0);
-	}
-
-	/**
-	 * North west.
-	 */
-	static public Locator northWest() {
-		return new RelativeLocator(0.0, 0.0);
-	}
-
-	/**
-	 * South.
-	 */
-	static public Locator south() {
-		return new RelativeLocator(0.5, 1.0);
-	}
-
-	/**
-	 * South east.
-	 */
-	static public Locator southEast() {
-		return new RelativeLocator(1.0, 1.0);
-	}
-
-	/**
-	 * South west.
-	 */
-	static public Locator southWest() {
-		return new RelativeLocator(0.0, 1.0);
-	}
-
-	/**
-	 * Center.
-	 */
-	static public Locator center() {
-		return new RelativeLocator(0.5, 0.5);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ReverseFigureEnumerator.java b/JHotDraw/src/CH/ifa/draw/standard/ReverseFigureEnumerator.java
deleted file mode 100644
index 4ee5f317a..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ReverseFigureEnumerator.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * @(#)ReverseFigureEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.ReverseListEnumerator;
-import CH.ifa.draw.framework.*;
-
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * An Enumeration that enumerates a Collection of figures back (size-1) to front (0).
- *
- * @version <$CURRENT_VERSION$>
- */
-public final class ReverseFigureEnumerator implements FigureEnumeration {
-	private Iterator myIterator;
-	private List myInitialList;
-
-	public ReverseFigureEnumerator(List l) {
-		myInitialList = l;
-		reset();
-	}
-
-	/**
-	 * Returns true if the enumeration contains more elements; false
-	 * if its empty.
-	 */
-	public boolean hasNextFigure() {
-		return myIterator.hasNext();
-	}
-
-	/**
-	 * Returns the next element casted as a figure of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Figure nextFigure() {
-		return (Figure)myIterator.next();
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		myIterator = new ReverseListEnumerator(myInitialList);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/SelectAllCommand.java b/JHotDraw/src/CH/ifa/draw/standard/SelectAllCommand.java
deleted file mode 100644
index 2763202db..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/SelectAllCommand.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * @(#)SelectAllCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * Command to select all figures in a view.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class SelectAllCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a select all command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public SelectAllCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-    	getUndoActivity().setAffectedFigures(view().selection());
-		view().addToSelectionAll(view().drawing().figures());
-		view().checkDamage();
-	}
-
-	/**
-	 * Used in enabling the properties menu item.
-	 * SelectAll menu item will be enabled only when there ia atleast one figure
-	 * in the selected drawing view.
-	 */
-	public boolean isExecutableWithView() {
-		FigureEnumeration fe = view().drawing().figures();
-		if (fe.hasNextFigure() && (fe.nextFigure() != null)) {
-			return true;
-		}
-
-		return false;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new SelectAllCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-	        	return false;
-			}
-
-			getDrawingView().clearSelection();
-			getDrawingView().addToSelectionAll(getAffectedFigures());
-
-		    return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				getDrawingView().addToSelectionAll(getDrawingView().drawing().figures());
-				return true;
-			}
-
-			return false;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/SelectAreaTracker.java b/JHotDraw/src/CH/ifa/draw/standard/SelectAreaTracker.java
deleted file mode 100644
index 8b06eca50..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/SelectAreaTracker.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * @(#)SelectAreaTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.awt.event.MouseEvent;
-import CH.ifa.draw.framework.*;
-
-/**
- * SelectAreaTracker implements a rubberband selection of an area.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class SelectAreaTracker extends AbstractTool {
-    /** Selected rectangle in physical coordinates space */
-	private Rectangle fSelectGroup;
-    private Color fRubberBandColor;
-
-	public SelectAreaTracker(DrawingEditor newDrawingEditor) {
-        this(newDrawingEditor, Color.black);
-    }
-
-    public SelectAreaTracker(DrawingEditor newDrawingEditor, Color rubberBandColor) {
-		super(newDrawingEditor);
-        fRubberBandColor = rubberBandColor;
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		// use event coordinates to supress any kind of
-		// transformations like constraining points to a grid
-		super.mouseDown(e, e.getX(), e.getY());
-		rubberBand(getAnchorX(), getAnchorY(), getAnchorX(), getAnchorY());
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		super.mouseDrag(e, x, y);
-		eraseRubberBand();
-		rubberBand(getAnchorX(), getAnchorY(), x, y);
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		eraseRubberBand();
-		selectGroup(e.isShiftDown());
-		super.mouseUp(e, x, y);
-	}
-
-	private void rubberBand(int x1, int y1, int x2, int y2) {
-		fSelectGroup = new Rectangle(new Point(x1, y1));
-		fSelectGroup.add(new Point(x2, y2));
-		drawXORRect(fSelectGroup);
-	}
-
-	private void eraseRubberBand() {
-		drawXORRect(fSelectGroup);
-	}
-
-	private void drawXORRect(Rectangle r) {
-		Graphics g = view().getGraphics();
-		if ( g != null ) {
-			try {
-                if (g instanceof Graphics2D) {
-                    // Do dotted-line in Java2
-                    Stroke dashedStroke = new BasicStroke(1.0f,
-                        BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER,
-                        10.0f, new float[] {5f, 5f, 5f, 5f}, 5.0f);
-                    ((Graphics2D) g).setStroke(dashedStroke);
-                }
-
-				g.setXORMode(view().getBackground());
-                g.setColor(fRubberBandColor);
-				g.drawRect(r.x, r.y, r.width, r.height);
-			}
-			finally {
-				g.dispose(); // SF bugtracker id: #490663
-			}
-		}
-	}
-
-	private void selectGroup(boolean toggle) {
-		FigureEnumeration fe = drawing().figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			Rectangle r2 = figure.displayBox();
-			if (fSelectGroup.contains(r2.x, r2.y) && fSelectGroup.contains(r2.x+r2.width, r2.y+r2.height)) {
-				if (toggle) {
-					view().toggleSelection(figure);
-				}
-				else {
-					view().addToSelection(figure);
-				}
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/SelectionTool.java b/JHotDraw/src/CH/ifa/draw/standard/SelectionTool.java
deleted file mode 100644
index cb8e7aacc..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/SelectionTool.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)SelectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.UndoableTool;
-import CH.ifa.draw.util.UndoableHandle;
-import CH.ifa.draw.contrib.dnd.DragNDropTool;
-import java.awt.event.MouseEvent;
-
-/**
- * Tool to select and manipulate figures.
- * A selection tool is in one of three states, e.g., background
- * selection, figure selection, handle manipulation. The different
- * states are handled by different child tools.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld032.htm>State</a></b><br>
- * SelectionTool is the StateContext and child is the State.
- * The SelectionTool delegates state specific
- * behavior to its current child tool.
- * <hr>
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class SelectionTool extends AbstractTool {
-
-	private Tool myDelegationTool = null;
-
-	public SelectionTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	/**
-	 * Handles mouse down events and starts the corresponding tracker.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		// on MS-Windows NT: AWT generates additional mouse down events
-		// when the left button is down && right button is clicked.
-		// To avoid dead locks we ignore such events
-		if (getDelegateTool() != null) {
-			return;
-		}
-
-		view().freezeView();
-
-		Handle handle = view().findHandle(e.getX(), e.getY());
-		if (handle != null) {
-			setDelegateTool(createHandleTracker(view(), handle));
-		}
-		else {
-			Figure figure = drawing().findFigure(e.getX(), e.getY());
-			if (figure != null) {
-				setDelegateTool(createDragTracker(figure));
-			}
-			else {
-				if (!e.isShiftDown()) {
-					view().clearSelection();
-				}
-				setDelegateTool(createAreaTracker());
-			}
-		}
-		getDelegateTool().activate();
-		getDelegateTool().mouseDown(e, x, y);
-	}
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 * Switches the cursors depending on whats under them.
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y) {
-		if (evt.getSource() == getActiveView() ) {
-			DragNDropTool.setCursor(evt.getX(), evt.getY(), getActiveView());
-		}
-	}
-
-	/**
-	 * Handles mouse drag events. The events are forwarded to the
-	 * current tracker.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (getDelegateTool() != null) { // JDK1.1 doesn't guarantee mouseDown, mouseDrag, mouseUp
-			getDelegateTool().mouseDrag(e, x, y);
-		}
-	}
-
-	/**
-	 * Handles mouse up events. The events are forwarded to the
-	 * current tracker.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (getDelegateTool() != null) { // JDK1.1 doesn't guarantee mouseDown, mouseDrag, mouseUp
-			getDelegateTool().mouseUp(e, x, y);
-			getDelegateTool().deactivate();
-			setDelegateTool(null);
-		}
-		if (view() != null) {
-			view().unfreezeView();
-			editor().figureSelectionChanged(view());
-		}
-	}
-
-	/**
-	 * Factory method to create a Handle tracker. It is used to track a handle.
-	 */
-	protected Tool createHandleTracker(DrawingView view, Handle handle) {
-		return new HandleTracker(editor(), new UndoableHandle(handle));
-	}
-
-	/**
-	 * Factory method to create a Drag tracker. It is used to drag a figure.
-	 */
-	protected Tool createDragTracker(Figure f) {
-		return new UndoableTool(new DragTracker(editor(), f));
-	}
-
-	/**
-	 * Factory method to create an area tracker. It is used to select an
-	 * area.
-	 */
-	protected Tool createAreaTracker() {
-		return new SelectAreaTracker(editor());
-	}
-
-	protected Tool getDelegateTool() {
-		return myDelegationTool;
-	}
-
-	protected final void setDelegateTool(Tool newDelegateTool) {
-		myDelegationTool = newDelegateTool;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/SendToBackCommand.java b/JHotDraw/src/CH/ifa/draw/standard/SendToBackCommand.java
deleted file mode 100644
index 0fc2b8c9c..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/SendToBackCommand.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * @(#)SendToBackCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-import java.util.*;
-
-/**
- * A command to send the selection to the back of the drawing.
- *
- * @version <$CURRENT_VERSION$>
- */ 
-public class SendToBackCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a send to back command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public SendToBackCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(view().selectionZOrdered());
-		FigureEnumeration fe = getUndoActivity().getAffectedFigures();
-		while (fe.hasNextFigure()) {
-			view().drawing().sendToBack(fe.nextFigure());
-		}
-		view().checkDamage();
-	}
-
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	protected Undoable createUndoActivity() {
-		return new SendToBackCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Hashtable myOriginalLayers;
-		
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			myOriginalLayers = new Hashtable();
-			setUndoable(true);
-			setRedoable(true);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				int currentFigureLayer = getOriginalLayer(currentFigure);
-				getDrawingView().drawing().sendToLayer(currentFigure, currentFigureLayer);
-			}
-			
-			return true;
-		}
-		
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-			
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				sendToCommand(fe.nextFigure());
-			}
-			
-			return true;			
-		}
-
-		protected void sendToCommand(Figure f) {
-			getDrawingView().drawing().sendToBack(f);
-		}
-		
-		protected void addOriginalLayer(Figure affectedFigure, int newOriginalLayer) {
-			myOriginalLayers.put(affectedFigure, new Integer(newOriginalLayer));
-		}
-		
-		protected int getOriginalLayer(Figure lookupAffectedFigure) {
-			return ((Integer)myOriginalLayers.get(lookupAffectedFigure)).intValue();
-		}
-
-		public void setAffectedFigures(FigureEnumeration fe) {
-			// first make copy of FigureEnumeration in superclass
-			super.setAffectedFigures(fe);
-			// then get new FigureEnumeration of copy to save attributes
-			FigureEnumeration copyFe = getAffectedFigures();
-			while (copyFe.hasNextFigure()) {
-				Figure f = copyFe.nextFigure();
-				int originalLayer = getDrawingView().drawing().getLayer(f);
-				addOriginalLayer(f, originalLayer);
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/SimpleUpdateStrategy.java b/JHotDraw/src/CH/ifa/draw/standard/SimpleUpdateStrategy.java
deleted file mode 100644
index 3a5304ac7..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/SimpleUpdateStrategy.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)SimpleUpdateStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * The SimpleUpdateStrategy implements an update
- * strategy that directly redraws a DrawingView.
- *
- * @see DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class SimpleUpdateStrategy implements Painter {
-
-	/*
-	 * Serialization support. In JavaDraw only the Drawing is serialized.
-	 * However, for beans support SimpleUpdateStrategy supports
-	 * serialization
-	 */
-	private static final long serialVersionUID = -7539925820692134566L;
-
-	/**
-	* Draws the view contents.
-	*/
-	public void draw(Graphics g, DrawingView view) {
-		view.drawAll(g);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/SingleFigureEnumerator.java b/JHotDraw/src/CH/ifa/draw/standard/SingleFigureEnumerator.java
deleted file mode 100644
index 9bffd0d74..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/SingleFigureEnumerator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)SingleFigureEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * An Enumeration that contains only a single Figures. An instance of this
- * enumeration can be used only once to retrieve the figure as the figure
- * is forgotten after the first retrieval.
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public final class SingleFigureEnumerator implements FigureEnumeration {
-	private Figure mySingleFigure;
-	private Figure myInitialFigure;
-
-	public SingleFigureEnumerator(Figure newSingleFigure) {
-		myInitialFigure = newSingleFigure;
-		reset();
-	}
-
-	/**
-	 * Returns true if the enumeration contains more elements; false
-	 * if its empty.
-	 */
-	public boolean hasNextFigure() {
-		return mySingleFigure != null;
-	}
-
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Figure nextFigure() {
-		Figure returnFigure = mySingleFigure;
-		mySingleFigure = null;
-		return returnFigure;
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		mySingleFigure = myInitialFigure;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/StandardDrawing.java b/JHotDraw/src/CH/ifa/draw/standard/StandardDrawing.java
deleted file mode 100644
index 8730e2630..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/StandardDrawing.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * @(#)StandardDrawing.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-import java.io.*;
-
-/**
- * The standard implementation of the Drawing interface.
- *
- * @see Drawing
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class StandardDrawing extends CompositeFigure implements Drawing {
-
-
-	/**
-	 * the registered listeners
-	 */
-	private transient List              fListeners;
-
-	/**
-	 * boolean that serves as a condition variable
-	 * to lock the access to the drawing.
-	 * The lock is recursive and we keep track of the current
-	 * lock holder.
-	 */
-	private transient Thread    fDrawingLockHolder = null;
-	private String				myTitle;
-
-	/*
-	 * Serialization support
-	 */
-	private static final long serialVersionUID = -2602151437447962046L;
-	private int drawingSerializedDataVersion = 1;
-
-	/**
-	 * Constructs the Drawing.
-	 */
-	public StandardDrawing() {
-		super();
-		fListeners = CollectionsFactory.current().createList(2);
-		init(new Rectangle(-500, -500, 2000, 2000));
-	}
-
-	/**
-	 * Adds a listener for this drawing.
-	 */
-	public void addDrawingChangeListener(DrawingChangeListener listener) {
-		if (fListeners == null) {
-			fListeners = CollectionsFactory.current().createList(2);
-		}
-		fListeners.add(listener);
-	}
-
-	/**
-	 * Removes a listener from this drawing.
-	 */
-	public void removeDrawingChangeListener(DrawingChangeListener listener) {
-		fListeners.remove(listener);
-	}
-
-	/**
-	 * Gets an enumeration with all listener for this drawing.
-	 */
-	public Iterator drawingChangeListeners() {
-		return fListeners.iterator();
-	}
-
-	/**
-	 * Removes a figure from the figure list, but
-	 * doesn't release it. Use this method to temporarily
-	 * manipulate a figure outside of the drawing.
-	 *
-	 * @param figure that is part of the drawing and should be added
-	 */
-	public synchronized Figure orphan(Figure figure) {
-		Figure orphanedFigure = super.orphan(figure);
-		// ensure that we remove the top level figure in a drawing
-		if (orphanedFigure.listener() != null) {
-			Rectangle rect = invalidateRectangle(displayBox());
-			orphanedFigure.listener().figureRequestRemove(new FigureChangeEvent(orphanedFigure, rect));
-		}
-		return orphanedFigure;
-	}
-
-	public synchronized Figure add(Figure figure) {
-		Figure addedFigure = super.add(figure);
-		if (addedFigure.listener() != null) {
-			Rectangle rect = invalidateRectangle(displayBox());
-			addedFigure.listener().figureRequestUpdate(new FigureChangeEvent(figure, rect));
-			return addedFigure;
-		}
-		return addedFigure;
-	}
-
-	/**
-	 * Invalidates a rectangle and merges it with the
-	 * existing damaged area.
-	 * @see FigureChangeListener
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-		if (fListeners != null) {
-			for (int i = 0; i < fListeners.size(); i++) {
-				DrawingChangeListener l = (DrawingChangeListener)fListeners.get(i);
-				l.drawingInvalidated(new DrawingChangeEvent(this, e.getInvalidatedRectangle()));
-			}
-		}
-	}
-
-	/**
-	 * Forces an update of the drawing change listeners.
-	 */
-	public void fireDrawingTitleChanged() {
-		if (fListeners != null) {
-			for (int i = 0; i < fListeners.size(); i++) {
-				DrawingChangeListener l = (DrawingChangeListener)fListeners.get(i);
-				l.drawingTitleChanged(new DrawingChangeEvent(this, null));
-			}
-		}
-	}
-
-	/**
-	 * Forces an update of the drawing change listeners.
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {
-		if (fListeners != null) {
-			for (int i = 0; i < fListeners.size(); i++) {
-				DrawingChangeListener l = (DrawingChangeListener)fListeners.get(i);
-				l.drawingRequestUpdate(new DrawingChangeEvent(this, null));
-			}
-		}
-	}
-
-	/**
-	 * Return's the figure's handles. This is only used when a drawing
-	 * is nested inside another drawing.
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new NullHandle(this, RelativeLocator.northWest()));
-		handles.add(new NullHandle(this, RelativeLocator.northEast()));
-		handles.add(new NullHandle(this, RelativeLocator.southWest()));
-		handles.add(new NullHandle(this, RelativeLocator.southEast()));
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * Gets the display box. This is the union of all figures.
-	 */
-	public Rectangle displayBox() {
-		if (fFigures.size() > 0) {
-			FigureEnumeration fe = figures();
-
-			Rectangle r = fe.nextFigure().displayBox();
-
-			while (fe.hasNextFigure()) {
-				r.add(fe.nextFigure().displayBox());
-			}
-			return r;
-		}
-		return new Rectangle(0, 0, 0, 0);
-	}
-
-	public void basicDisplayBox(Point p1, Point p2) {
-	}
-
-	/**
-	 * Acquires the drawing lock.
-	 */
-	public synchronized void lock() {
-		// recursive lock
-		Thread current = Thread.currentThread();
-		if (fDrawingLockHolder == current) {
-			return;
-		}
-		while (fDrawingLockHolder != null) {
-			try {
-				wait();
-			}
-			catch (InterruptedException ex) { }
-		}
-		fDrawingLockHolder = current;
-	}
-
-	/**
-	 * Releases the drawing lock.
-	 */
-	public synchronized void unlock() {
-		if (fDrawingLockHolder != null) {
-			fDrawingLockHolder = null;
-			notify();
-		}
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		fListeners = CollectionsFactory.current().createList(2);
-	}
-
-	public String getTitle() {
-		return myTitle;
-	}
-
-	public void setTitle(String newTitle) {
-		myTitle = newTitle;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/StandardDrawingView.java b/JHotDraw/src/CH/ifa/draw/standard/StandardDrawingView.java
deleted file mode 100644
index ceb8da31c..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/StandardDrawingView.java
+++ /dev/null
@@ -1,1183 +0,0 @@
-/*
- * @(#)StandardDrawingView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	? by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.awt.dnd.DragGestureListener;
-import java.awt.dnd.DragSourceListener;
-import java.awt.event.*;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-
-import CH.ifa.draw.contrib.AutoscrollHelper;
-import CH.ifa.draw.contrib.dnd.DNDHelper;
-import CH.ifa.draw.contrib.dnd.DNDInterface;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.framework.Cursor;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.Command;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.UndoableCommand;
-
-/**
- * The standard implementation of DrawingView.
- *
- * @see DrawingView
- * @see Painter
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class StandardDrawingView
-		extends JPanel
-		implements DrawingView, DNDInterface, java.awt.dnd.Autoscroll {
-
-	/**
-	 * The DrawingEditor of the view.
-	 * @see #tool
-	 */
-	transient private DrawingEditor   fEditor;
-
-	/**
-	 * the registered listeners for selection changes
-	 */
-	private transient List fSelectionListeners;
-
-	/**
-	 * The shown drawing.
-	 */
-	private Drawing         fDrawing;
-
-	/**
-	 * the accumulated damaged area
-	 */
-	private transient Rectangle fDamage;
-
-	/**
-	 * The list of currently selected figures.
-	 */
-	transient private List fSelection;
-
-	/**
-	 * The shown selection handles.
-	 */
-	transient private List fSelectionHandles;
-
-	/**
-	 * The preferred size of the view
-	 */
-
-	/**
-	 * The position of the last mouse click
-	 * inside the view.
-	 */
-	private Point fLastClick;
-
-	/**
-	 * A List of optional backgrounds. The list contains
-	 * view painters that are drawn before the contents,
-	 * that is in the background.
-	 */
-	private List fBackgrounds;
-
-	/**
-	 * A List of optional foregrounds. The list contains
-	 * view painters that are drawn after the contents,
-	 * that is in the foreground.
-	 */
-	private List fForegrounds;
-
-	/**
-	 * The update strategy used to repair the view.
-	 */
-	private Painter fUpdateStrategy;
-
-	/**
-	 * The grid used to constrain points for snap to
-	 * grid functionality.
-	 */
-	private PointConstrainer fConstrainer;
-
-	/**
-	 * Scrolling increment
-	 */
-	public static final int MINIMUM_WIDTH = 400;
-	public static final int MINIMUM_HEIGHT = 300;
-	public static final int SCROLL_INCR = 100;
-	public static final int SCROLL_OFFSET = 10;
-
-	private static int counter;
-	private int myCounter = counter;
-
-	private DNDHelper dndh;
-
-    /**
-     * Listener for mouse clicks.
-     */
-    private MouseListener mouseListener;
-    
-    /**
-     * Listener for mouse movements.
-     */
-    private MouseMotionListener motionListener;
-    
-    /**
-     * Listener for the keyboard.
-     */
-    private KeyListener keyListener;
-
-    /**
-     * Reflects whether the drawing view is in read-only mode (from a user's
-     * perspective).
-     */
-    private boolean myIsReadOnly;
-
-	/*
-	 * Serialization support. In JavaDraw only the Drawing is serialized.
-	 * However, for beans support StandardDrawingView supports
-	 * serialization
-	 */
-	private static final long serialVersionUID = -3878153366174603336L;
-	private int drawingViewSerializedDataVersion = 1;
-
-	/**
-	 * Constructs the view.
-	 */
-	public StandardDrawingView(DrawingEditor editor) {
-		this(editor, MINIMUM_WIDTH, MINIMUM_HEIGHT);
-	}
-
-	public StandardDrawingView(DrawingEditor editor, int width, int height) {
-		setAutoscrolls(true);
-		counter++;
-		fEditor = editor;
-		// ricardo_padilha: changed from setSize(int, int) because it is not
-		// JScrollPane-friendly. 
-		setPreferredSize(new Dimension(width, height));
-		fSelectionListeners = CollectionsFactory.current().createList();
-		addFigureSelectionListener(editor());
-		setLastClick(new Point(0, 0));
-		fConstrainer = null;
-		fSelection = CollectionsFactory.current().createList();
-		// JFC/Swing uses double buffering automatically as default
-		setDisplayUpdate(createDisplayUpdate());
-		// TODO: Test FastBufferedUpdateStrategy with JFC/Swing double buffering
-		//setDisplayUpdate(new FastBufferedUpdateStrategy());
-		setBackground(Color.lightGray);
-
-		addMouseListener(createMouseListener());
-		addMouseMotionListener(createMouseMotionListener());
-		addKeyListener(createKeyListener());
-    }
-
-	protected MouseListener createMouseListener() {
-        mouseListener = new DrawingViewMouseListener();
-		return mouseListener;
-	}
-
-	protected MouseMotionListener createMouseMotionListener() {
-        motionListener = new DrawingViewMouseMotionListener();
-		return  motionListener;
-	}
-
-	protected KeyListener createKeyListener() {
-        keyListener = new DrawingViewKeyListener();
-		return keyListener;
-	}
-
-	/**
-	 * Factory method which can be overriden by subclasses
-	 */
-	protected Painter createDisplayUpdate() {
-		return new SimpleUpdateStrategy();
-		//return new ClippingUpdateStrategy();
-	}
-
-	/**
-	 * Sets the view's editor.
-	 */
-	public void setEditor(DrawingEditor editor) {
-		fEditor = editor;
-	}
-
-	/**
-	 * Gets the current tool.
-	 */
-	public Tool tool() {
-		return editor().tool();
-	}
-
-	/**
-	 * Gets the drawing.
-	 */
-	public Drawing drawing() {
-		return fDrawing;
-	}
-
-	/**
-	 * Sets and installs another drawing in the view.
-	 */
-	public void setDrawing(Drawing d) {
-		if (drawing() != null) {
-			clearSelection();
-			drawing().removeDrawingChangeListener(this);
-		}
-
-		fDrawing = d;
-		if (drawing() != null) {
-			drawing().addDrawingChangeListener(this);
-		}
-
-		checkMinimumSize();
-		repaint();
-	}
-
-	/**
-	 * Gets the editor.
-	 */
-	public DrawingEditor editor() {
-		return fEditor;
-	}
-
-	/**
-	 * Adds a figure to the drawing.
-	 * @return the added figure.
-	 */
-	public Figure add(Figure figure) {
-		return drawing().add(figure);
-	}
-
-	/**
-	 * Removes a figure from the drawing.
-	 * @return the removed figure
-	 */
-	public Figure remove(Figure figure) {
-		return drawing().remove(figure);
-	}
-
-	/**
-	 * Adds a Collection of figures to the drawing.
-	 */
-	public void addAll(Collection figures) {
-		FigureEnumeration fe = new FigureEnumerator(figures);
-		while (fe.hasNextFigure()) {
-			add(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Check existance of figure in the drawing
-	 */
-	public boolean figureExists(Figure inf, FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-
-			if (figure.includes(inf)) {
-				return true;
-			}
-		}
-
-	  return false;
-	}
-
-	/**
-     * Inserts a FigureEnumeration of figures and translates them by the
-	 * given offset. This function is used to insert figures from clipboards (cut/copy)
-	 *
-	 * @return enumeration which has been added to the drawing. The figures in the enumeration
-	 *         can have changed during adding them (e.g. they could have been decorated).
-	 */
-	public FigureEnumeration insertFigures(FigureEnumeration fe, int dx, int dy, boolean bCheck) {
-		if (fe == null) {
-			return FigureEnumerator.getEmptyEnumeration();
-		}
-
-		List vCF = CollectionsFactory.current().createList(10);
-		InsertIntoDrawingVisitor visitor = new InsertIntoDrawingVisitor(drawing());
-
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (figure instanceof ConnectionFigure) {
-				vCF.add(figure);
-			}
-			else if (figure != null) {
-				figure.moveBy(dx, dy);
-				figure.visit(visitor);
-			}
-		}
-
-		FigureEnumeration ecf = new FigureEnumerator(vCF);
-
-		while (ecf.hasNextFigure()) {
-			ConnectionFigure cf = (ConnectionFigure) ecf.nextFigure();
-			Figure sf = cf.startFigure();
-			Figure ef = cf.endFigure();
-
-			if (figureExists(sf, drawing().figures())
-				&& figureExists(ef, drawing().figures())
-				&& (!bCheck || cf.canConnect(sf, ef))) {
-
-				if (bCheck) {
-					Point sp = sf.center();
-					Point ep = ef.center();
-					Connector fStartConnector = cf.startFigure().connectorAt(ep.x, ep.y);
-					Connector fEndConnector = cf.endFigure().connectorAt(sp.x, sp.y);
-
-					if (fEndConnector != null && fStartConnector != null) {
-						cf.connectStart(fStartConnector);
-						cf.connectEnd(fEndConnector);
-						cf.updateConnection();
-					}
-				}
-
-				cf.visit(visitor);
-			}
-		}
-
-		addToSelectionAll(visitor.getInsertedFigures());
-		return visitor.getInsertedFigures();
-	}
-
-	/**
-	 * Returns a FigureEnumeration of connectionfigures attached to this figure
-	 */
-	public FigureEnumeration getConnectionFigures(Figure inFigure) {
-		// If no figure or figure is non connectable, just return null
-		if (inFigure == null || !inFigure.canConnect()) {
-			return null;
-		}
-
-		// if (inFigure instanceof ConnectionFigure)
-		//  return null;
-
-		List result = CollectionsFactory.current().createList(5);
-		FigureEnumeration figures = drawing().figures();
-
-		// Find all connection figures
-		while (figures.hasNextFigure()) {
-			Figure f= figures.nextFigure();
-
-			if ((f instanceof ConnectionFigure) && !(isFigureSelected(f))) {
-				ConnectionFigure cf = (ConnectionFigure) f;
-
-				if (cf.startFigure().includes(inFigure) || cf.endFigure().includes(inFigure)) {
-					result.add(f);
-				}
-			}
-		}
-
-		return new FigureEnumerator(result);
-   }
-
-	/**
-	 * Sets the current display update strategy.
-	 * @see Painter
-	 */
-	public void setDisplayUpdate(Painter updateStrategy) {
-		fUpdateStrategy = updateStrategy;
-	}
-
-	/**
-	 * Sets the current display update strategy.
-	 * @see Painter
-	 */
-	public Painter getDisplayUpdate() {
-		return fUpdateStrategy;
-	}
-
-	/**
-	 * Gets an enumeration over the currently selected figures.
-	 * The selection is a snapshot of the current selection
-	 * which does not get changed anymore
-	 *
-	 * @return an enumeration with the currently selected figures.
-	 */
-	public FigureEnumeration selection() {
-		return selectionZOrdered();
-	}
-
-	/**
-	 * Gets the currently selected figures in Z order.
-	 * @see #selection
-	 * @return a FigureEnumeration with the selected figures. The enumeration
-	 * represents a snapshot of the current selection.
-	 */
-	public FigureEnumeration selectionZOrdered() {
-		List result = CollectionsFactory.current().createList(selectionCount());
-
-		result.addAll(fSelection);
-		return new ReverseFigureEnumerator(result);
-	}
-
-	/**
-	 * Gets the number of selected figures.
-	 */
-	public int selectionCount() {
-		return fSelection.size();
-	}
-
-	/**
-	 * Test whether a given figure is selected.
-	 */
-	public boolean isFigureSelected(Figure checkFigure) {
-		return fSelection.contains(checkFigure);
-	}
-
-	/**
-	 * Adds a figure to the current selection. The figure is only selected if
-	 * it is also contained in the Drawing associated with this DrawingView.
-	 */
-	public void addToSelection(Figure figure) {
-		if(addToSelectionImpl(figure) == true){
-			fireSelectionChanged();			
-		}
-	}
-	protected boolean addToSelectionImpl(Figure figure){
-		boolean changed = false;
-		if (!isFigureSelected(figure) && drawing().includes(figure)) {
-			fSelection.add(figure);
-			fSelectionHandles = null;
-			figure.invalidate();
-			changed = true;
-		}
-		return changed;
-	}
-	/**
-	 * Adds a Collection of figures to the current selection.
-	 */
-	public void addToSelectionAll(Collection figures) {
-		addToSelectionAll(new FigureEnumerator(figures));
-	}
-
-	/**
-	 * Adds a FigureEnumeration to the current selection.
-	 */
-	public void addToSelectionAll(FigureEnumeration fe) {
-		boolean changed = false;
-		while (fe.hasNextFigure()) {
-			changed |= addToSelectionImpl(fe.nextFigure());
-		}
-		if(changed == true){
-			fireSelectionChanged();
-		}
-	}
-
-	/**
-	 * Removes a figure from the selection.
-	 */
-	public void removeFromSelection(Figure figure) {
-		if (isFigureSelected(figure)) {
-			fSelection.remove(figure);
-			fSelectionHandles = null;
-			figure.invalidate();
-			fireSelectionChanged();
-		}
-	}
-
-	/**
-	 * If a figure isn't selected it is added to the selection.
-	 * Otherwise it is removed from the selection.
-	 */
-	public void toggleSelection(Figure figure) {
-		if (isFigureSelected(figure)) {
-			removeFromSelection(figure);
-		}
-		else {
-			addToSelection(figure);
-		}
-		fireSelectionChanged();
-	}
-
-	/**
-	 * Clears the current selection.
-	 */
-	public void clearSelection() {
-		// there is nothing selected - bug fix ID 628818
-		if (selectionCount() == 0) {
-			// avoid unnecessary selection changed event when nothing has to be cleared
-			return;
-		}
-
-		FigureEnumeration fe = selection();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().invalidate();
-		}
-		fSelection = CollectionsFactory.current().createList();
-		fSelectionHandles = null;
-		fireSelectionChanged();
-	}
-
-	/**
-	 * Gets an enumeration of the currently active handles.
-	 */
-	protected HandleEnumeration selectionHandles() {
-		if (fSelectionHandles == null) {
-			fSelectionHandles = CollectionsFactory.current().createList();
-			FigureEnumeration fe = selection();
-			while (fe.hasNextFigure()) {
-				Figure figure = fe.nextFigure();
-				HandleEnumeration kk = figure.handles();
-				while (kk.hasNextHandle()) {
-					fSelectionHandles.add(kk.nextHandle());
-				}
-			}
-		}
-		return new HandleEnumerator(fSelectionHandles);
-	}
-
-	/**
-	 * Gets the current selection as a FigureSelection. A FigureSelection
-	 * can be cut, copied, pasted.
-	 */
-	public FigureSelection getFigureSelection() {
-		return new StandardFigureSelection(selectionZOrdered(), selectionCount());
-	}
-
-	/**
-	 * Finds a handle at the given coordinates.
-	 * @return the hit handle, null if no handle is found.
-	 */
-	public Handle findHandle(int x, int y) {
-		Handle handle;
-
-		HandleEnumeration he = selectionHandles();
-		while (he.hasNextHandle()) {
-			handle = he.nextHandle();
-			if (handle.containsPoint(x, y)) {
-				return handle;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Informs that the current selection changed.
-	 * By default this event is forwarded to the
-	 * drawing editor.
-	 */
-	protected void fireSelectionChanged() {
-		if (fSelectionListeners != null) {
-			for (int i = 0; i < fSelectionListeners.size(); i++) {
-				FigureSelectionListener l = (FigureSelectionListener)fSelectionListeners.get(i);
-				l.figureSelectionChanged(this);
-			}
-		}
-	}
-
-    protected Rectangle getDamage() {
-        return fDamage; // clone?
-    }
-
-    protected void setDamage(Rectangle r) {
-        fDamage = r;
-    }
-
-	/**
-	 * Gets the position of the last click inside the view.
-	 */
-	public Point lastClick() {
-		return fLastClick;
-	}
-
-	protected void setLastClick(Point newLastClick) {
-		fLastClick = newLastClick;
-	}
-
-	/**
-	 * Sets the grid spacing that is used to constrain points.
-	 */
-	public void setConstrainer(PointConstrainer c) {
-		fConstrainer = c;
-	}
-
-	/**
-	 * Gets the current constrainer.
-	 */
-	public PointConstrainer getConstrainer() {
-		return fConstrainer;
-	}
-
-	/**
-	 * Constrains a point to the current grid.
-	 */
-	protected Point constrainPoint(Point p) {
-		// constrain to view size
-		Dimension size = getSize();
-		//p.x = Math.min(size.width, Math.max(1, p.x));
-		//p.y = Math.min(size.height, Math.max(1, p.y));
-		p.x = Geom.range(1, size.width, p.x);
-		p.y = Geom.range(1, size.height, p.y);
-
-		if (fConstrainer != null ) {
-			return fConstrainer.constrainPoint(p);
-		}
-		return p;
-	}
-
-	private void moveSelection(int dx, int dy) {
-		FigureEnumeration figures = selection();
-		while (figures.hasNextFigure()) {
-			figures.nextFigure().moveBy(dx, dy);
-		}
-		checkDamage();
-	}
-
-	/**
-	 * Refreshes the drawing if there is some accumulated damage
-	 */
-	public synchronized void checkDamage() {
-		Iterator each = drawing().drawingChangeListeners();
-		while (each.hasNext()) {
-			Object l = each.next();
-			if (l instanceof DrawingView) {
-				((DrawingView)l).repairDamage();
-			}
-		}
-	}
-
-	public void repairDamage() {
-		if (getDamage() != null) {
-			repaint(getDamage().x, getDamage().y, getDamage().width, getDamage().height);
-			setDamage(null);
-		}
-	}
-
-	public void drawingInvalidated(DrawingChangeEvent e) {
-		Rectangle r = e.getInvalidatedRectangle();
-		if (getDamage() == null) {
-			setDamage(r);
-		}
-		else {
-			// don't manipulate rectangle returned by getDamage() directly
-			// because it could be a cloned rectangle.
-			Rectangle damagedR = getDamage();
-			damagedR.add(r);
-			setDamage(damagedR);
-		}
-	}
-
-	public void drawingRequestUpdate(DrawingChangeEvent e) {
-		repairDamage();
-	}
-
-	public void drawingTitleChanged(DrawingChangeEvent e){
-	}
-
-	/**
-	 * Paints the drawing view. The actual drawing is delegated to
-	 * the current update strategy.
-	 * @see Painter
-	 */
-	protected void paintComponent(Graphics g) {
-		if(getDisplayUpdate() != null) {
-			getDisplayUpdate().draw(g, this);
-		}
-	}
-
-	/**
-	 * Draws the contents of the drawing view.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void drawAll(Graphics g) {
-		boolean isPrinting = g instanceof PrintGraphics;
-		drawBackground(g);
-		if ((fBackgrounds != null) && !isPrinting) {
-			drawPainters(g, fBackgrounds);
-		}
-		drawDrawing(g);
-		if ((fForegrounds != null) && !isPrinting) {
-			drawPainters(g, fForegrounds);
-		}
-		if (!isPrinting) {
-			drawHandles(g);
-		}
-	}
-
-	/**
-	 * Draws the given figures.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 * No background is drawn.
-	 */
-   public void draw(Graphics g, FigureEnumeration fe) {
-		boolean isPrinting = g instanceof PrintGraphics;
-		//drawBackground(g);
-		if ((fBackgrounds != null) && !isPrinting) {
-			drawPainters(g, fBackgrounds);
-		}
-		drawing().draw(g, fe);
-		if ((fForegrounds != null) && !isPrinting) {
-			drawPainters(g, fForegrounds);
-		}
-		if (!isPrinting) {
-			drawHandles(g);
-		}
-	}
-
-	/**
-	 * Draws the currently active handles.
-	 */
-	public void drawHandles(Graphics g) {
-		HandleEnumeration he = selectionHandles();
-		while (he.hasNextHandle()) {
-			(he.nextHandle()).draw(g);
-		}
-	}
-
-	/**
-	 * Draws the drawing.
-	 */
-	public void drawDrawing(Graphics g) {
-		drawing().draw(g);
-	}
-
-	/**
-	 * Draws the background. If a background pattern is set it
-	 * is used to fill the background. Otherwise the background
-	 * is filled in the background color.
-	 */
-	public void drawBackground(Graphics g) {
-		g.setColor(getBackground());
-		g.fillRect(0, 0, getBounds().width, getBounds().height);
-	}
-
-	protected void drawPainters(Graphics g, List v) {
-		for (int i = 0; i < v.size(); i++) {
-			((Painter)v.get(i)).draw(g, this);
-		}
-	}
-
-	/**
-	 * Adds a background.
-	 */
-	public void addBackground(Painter painter)  {
-		if (fBackgrounds == null) {
-			fBackgrounds = CollectionsFactory.current().createList(3);
-		}
-		fBackgrounds.add(painter);
-		repaint();
-	}
-
-	/**
-	 * Removes a background.
-	 */
-	public void removeBackground(Painter painter)  {
-		if (fBackgrounds != null) {
-			fBackgrounds.remove(painter);
-		}
-		repaint();
-	}
-
-    protected List getBackgrounds() {
-        return fBackgrounds;
-    }
-
-	/**
-	 * Removes a foreground.
-	 */
-	public void removeForeground(Painter painter)  {
-		if (fForegrounds != null) {
-			fForegrounds.remove(painter);
-		}
-		repaint();
-	}
-
-	/**
-	 * Adds a foreground.
-	 */
-	public void addForeground(Painter painter)  {
-		if (fForegrounds == null) {
-			fForegrounds = CollectionsFactory.current().createList(3);
-		}
-		fForegrounds.add(painter);
-		repaint();
-	}
-
-    protected List getForegrounds() {
-        return fForegrounds;
-    }
-
-	/**
-	 * Freezes the view by acquiring the drawing lock.
-	 * @see Drawing#lock
-	 */
-	public void freezeView() {
-		drawing().lock();
-	}
-
-	/**
-	 * Unfreezes the view by releasing the drawing lock.
-	 * @see Drawing#unlock
-	 */
-	public void unfreezeView() {
-		drawing().unlock();
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		fSelection = CollectionsFactory.current().createList(); // could use lazy initialization instead
-		// could use lazy initialization instead
-		if (drawing() != null) {
-			drawing().addDrawingChangeListener(this);
-		}
-		fSelectionListeners= CollectionsFactory.current().createList();
-	}
-
-    protected void checkMinimumSize() {
-        Dimension d = getDrawingSize();
-		Dimension v = getPreferredSize();
-
-		if (v.height < d.height || v.width < d.width) {
-			v.height = d.height + SCROLL_OFFSET;
-			v.width = d.width + SCROLL_OFFSET;
-			setPreferredSize(v);
-        }
-    }
-
-    /**
-     * Return the size of the area occupied by the contained figures inside
-     * the drawing. This method is called by checkMinimumSize().
-     */
-    protected Dimension getDrawingSize() {
-		Dimension d = new Dimension(0, 0);
-		// ricardo_padilha: this test had to be introduced because a drawing view
-		// can be assigned a null drawing (see setDrawing() ).
-		if (drawing() != null) {
-			FigureEnumeration fe = drawing().figures();
-			while (fe.hasNextFigure()) {
-				Rectangle r = fe.nextFigure().displayBox();
-				d.width = Math.max(d.width, r.x+r.width);
-				d.height = Math.max(d.height, r.y+r.height);
-			}
-		}
-        return d;
-	}
-
-	/**
-	 * @see java.awt.Component#isFocusTraversable()
-	 * @deprecated see super class
-	 */
-	public boolean isFocusTraversable() {
-		return true;
-	}
-
-	public boolean isInteractive() {
-		return true;
-	}
-
-	public void keyTyped(KeyEvent e) {}
-	public void keyReleased(KeyEvent e) {}
-
-	/**
-	 * Add a listener for selection changes.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void addFigureSelectionListener(FigureSelectionListener fsl) {
-		fSelectionListeners.add(fsl);
-	}
-
-	/**
-	 * Remove a listener for selection changes.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void removeFigureSelectionListener(FigureSelectionListener fsl) {
-		fSelectionListeners.remove(fsl);
-	}
-
-	public int getDefaultDNDActions() {
-		return java.awt.dnd.DnDConstants.ACTION_COPY_OR_MOVE;
-	}
-
-	/***** Autoscroll support *****/
-	private ASH ash = new ASH(10);
-
-	public void autoscroll(java.awt.Point p) {
-		ash.autoscroll(p);
-	}
-	public Insets getAutoscrollInsets() {
-		return ash.getAutoscrollInsets();
-	}
-	class ASH extends AutoscrollHelper {
-		public ASH(int margin) {
-			super(margin);
-		}
-		public Dimension getSize() {
-			return StandardDrawingView.this.getSize();
-		}
-		public Rectangle getVisibleRect() {
-			return StandardDrawingView.this.getVisibleRect();
-		}
-		public void scrollRectToVisible(Rectangle aRect) {
-			StandardDrawingView.this.scrollRectToVisible(aRect);
-		}
-	}
-
-	public String toString() {
-		return "DrawingView Nr: " + myCounter;
-	}
-
-	/**
-     * Default action when any uncaught exception bubbled from
-     * the mouse event handlers of the tools. Subclass may override it
-     * to provide other action.
-     */
-    protected void handleMouseEventException(Throwable t) {
-		JOptionPane.showMessageDialog(
-			this,
-            t.getClass().getName() + " - " + t.getMessage(),
-			"Error",
-			JOptionPane.ERROR_MESSAGE);
-		t.printStackTrace();
-    }
-
-	public class DrawingViewMouseListener extends MouseAdapter {
-		 /**
-		 * Handles mouse down events. The event is delegated to the
-		 * currently active tool.
-		 */
-		public void mousePressed(MouseEvent e) {
-			try {
-				requestFocus(); // JDK1.1
-				Point p = constrainPoint(new Point(e.getX(), e.getY()));
-				setLastClick(new Point(e.getX(), e.getY()));
-				tool().mouseDown(e, p.x, p.y);
-				checkDamage();
-			}
-			catch (Throwable t) {
-				handleMouseEventException(t);
-			}
-		}
-
-		/**
-		 * Handles mouse up events. The event is delegated to the
-		 * currently active tool.
-		 */
-		public void mouseReleased(MouseEvent e) {
-			try {
-				Point p = constrainPoint(new Point(e.getX(), e.getY()));
-				tool().mouseUp(e, p.x, p.y);
-				checkDamage();
-			}
-			catch (Throwable t) {
-				handleMouseEventException(t);
-			}
-		}
-	}
-
-	public class DrawingViewMouseMotionListener implements MouseMotionListener {
-		/**
-		 * Handles mouse drag events. The event is delegated to the
-		 * currently active tool.
-		 */
-		public void mouseDragged(MouseEvent e) {
-			try {
-				Point p = constrainPoint(new Point(e.getX(), e.getY()));
-				tool().mouseDrag(e, p.x, p.y);
-				checkDamage();
-			}
-			catch (Throwable t) {
-				handleMouseEventException(t);
-			}
-		}
-
-		/**
-		 * Handles mouse move events. The event is delegated to the
-		 * currently active tool.
-		 */
-		public void mouseMoved(MouseEvent e) {
-			try {
-				tool().mouseMove(e, e.getX(), e.getY());
-			}
-			catch (Throwable t) {
-				handleMouseEventException(t);
-			}
-		}
-	}
-
-	public class DrawingViewKeyListener implements KeyListener {
-		private Command deleteCmd;
-
-		public DrawingViewKeyListener() {
-			deleteCmd = createDeleteCommand();
-		}
-
-		/**
-		 * Handles key down events. Cursor keys are handled
-		 * by the view the other key events are delegated to the
-		 * currently active tool.
-		 */
-		public void keyPressed(KeyEvent e) {
-			int code = e.getKeyCode();
-			// Only act on nonModified keys...
-			int modifiers = e.getModifiers();
-			if (modifiers == 0 &&
-			    ((code == KeyEvent.VK_BACK_SPACE) ||
-			     (code == KeyEvent.VK_DELETE))) {
-				if (deleteCmd.isExecutable()) {
-					deleteCmd.execute();
-					//deleteCmd.viewSelectionChanged(this);
-				}
-			}
-			else if (modifiers == 0 && 
-				 ((code == KeyEvent.VK_DOWN)
-				  || (code == KeyEvent.VK_UP)
-				  || (code == KeyEvent.VK_RIGHT)
-				  || (code == KeyEvent.VK_LEFT))) {
-				handleCursorKey(code);
-			}
-			else {
-				tool().keyDown(e, code);
-			}
-			checkDamage();
-		}
-
-		/**
-		 * Handles cursor keys by moving all the selected figures
-		 * one grid point in the cursor direction.
-		 */
-		protected void handleCursorKey(int key) {
-			int dx = 0, dy = 0;
-			int stepX = 1, stepY = 1;
-			// should consider Null Object.
-			if (fConstrainer != null) {
-				stepX = fConstrainer.getStepX();
-				stepY = fConstrainer.getStepY();
-			}
-
-			switch (key) {
-			case KeyEvent.VK_DOWN:
-				dy = stepY;
-				break;
-			case KeyEvent.VK_UP:
-				dy = -stepY;
-				break;
-			case KeyEvent.VK_RIGHT:
-				dx = stepX;
-				break;
-			case KeyEvent.VK_LEFT:
-				dx = -stepX;
-				break;
-			}
-			moveSelection(dx, dy);
-		}
-
-        public void keyTyped(KeyEvent event) {
-            // do nothing
-        }
-
-        public void keyReleased(KeyEvent event) {
-            // do nothing
-        }
-
-		protected Command createDeleteCommand() {
-			return new UndoableCommand(new DeleteCommand("Delete", editor()));
-		}
-    }
-
-	protected DNDHelper createDNDHelper() {
-		return new DNDHelper(true, true) {
-			protected DrawingView view() {
-				return StandardDrawingView.this;
-			}
-			protected DrawingEditor editor() {
-				return StandardDrawingView.this.editor();
-			}
-		};
-	}
-
-	protected DNDHelper getDNDHelper() {
-		if (dndh == null) {
-			dndh = createDNDHelper();
-		}
-		return dndh;
-	}
-
-	public DragSourceListener getDragSourceListener(){
-		return getDNDHelper().getDragSourceListener();
-	}
-
-	public void DNDInitialize(DragGestureListener dgl){
-		getDNDHelper().initialize(dgl);
-	}
-
-	public void DNDDeinitialize() {
-		getDNDHelper().deinitialize();
-	}
-
-    /**
-     * Asks whether the drawing view is in read-only mode. If so, the user can't
-     * modify it using mouse or keyboard actions. Yet, it can still be modified
-     * from inside the program.
-     */
-    public boolean isReadOnly() {
-        return myIsReadOnly;
-    }
-    
-    /**
-     * Determines whether the drawing view is in read-only mode. If so, the user can't
-     * modify it using mouse or keyboard actions. Yet, it can still be modified
-     * from inside the program.
-     */
-    public void setReadOnly(boolean newIsReadOnly) {
-        if (newIsReadOnly != isReadOnly()) {
-            if (newIsReadOnly) {
-                removeMouseListener(mouseListener);
-                removeMouseMotionListener(motionListener);
-                removeKeyListener(keyListener);
-            }
-            else {
-                addMouseListener(mouseListener);
-                addMouseMotionListener(motionListener);
-                addKeyListener(keyListener);
-            }
-            
-            myIsReadOnly = newIsReadOnly;
-        }
-    }
-
-	/**
-	 * @see DrawingView#setCursor(Cursor)
-	 * @see java.awt.Component#setCursor(java.awt.Cursor)
-	 */
-	public void setCursor(Cursor cursor) {
-		if (cursor instanceof java.awt.Cursor) {
-			super.setCursor((java.awt.Cursor) cursor);
-		}
-	}
-
-	/**
-	 * Gets the minimum dimension of the drawing.<br />
-	 * Fixed version (JHotDraw version has a bug).
-	 * @see StandardDrawingView#getMinimumSize()
-	 * @see java.awt.Component#getMinimumSize()
-	 */
-	public Dimension getMinimumSize() {
-		Rectangle r = new Rectangle();
-		FigureEnumeration k = drawing().figures();
-		while (k.hasNextFigure()) {
-			r.add(k.nextFigure().displayBox());
-		}
-		return new Dimension(r.width, r.height);
-	}
-
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/StandardFigureSelection.java b/JHotDraw/src/CH/ifa/draw/standard/StandardFigureSelection.java
deleted file mode 100644
index 53c9f5e55..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/StandardFigureSelection.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * @(#)FigureSelection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-import java.util.*;
-import java.io.*;
-
-/**
- * FigureSelection enables to transfer the selected figures
- * to a clipboard.<p>
- * Will soon be converted to the JDK 1.1 Transferable interface.
- *
- * @see Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class StandardFigureSelection implements FigureSelection, Serializable {
-
-	private byte[] fData; // flattend figures, ready to be resurrected
-
-	/**
-	 * The type identifier of the selection.
-	 */
-	public final static String TYPE = "CH.ifa.draw.Figures";
-
-	/**
-	 * Constructes the Figure selection for the FigureEnumeration.
-	 */
-	public StandardFigureSelection(FigureEnumeration fe, int figureCount) {
-		// a FigureSelection is represented as a flattened ByteStream
-		// of figures.
-		ByteArrayOutputStream output = new ByteArrayOutputStream(200);
-		StorableOutput writer = new StorableOutput(output);
-		writer.writeInt(figureCount);
-		while (fe.hasNextFigure()) {
-			writer.writeStorable(fe.nextFigure());
-		}
-		writer.close();
-		fData = output.toByteArray();
-	}
-
-	/**
-	 * Gets the type of the selection.
-	 */
-	public String getType() {
-		return TYPE;
-	}
-
-	/**
-	 * Gets the data of the selection. The result is returned
-	 * as a FigureEnumeration of Figures.
-	 *
-	 * @return a copy of the figure selection.
-	 */
-	public Object getData(String type) {
-		if (type.equals(TYPE)) {
-			InputStream input = new ByteArrayInputStream(fData);
-			List result = CollectionsFactory.current().createList(10);
-			StorableInput reader = new StorableInput(input);
-			int numRead = 0;
-			try {
-				int count = reader.readInt();
-				while (numRead < count) {
-					Figure newFigure = (Figure) reader.readStorable();
-					result.add(newFigure);
-					numRead++;
-				}
-			}
-			catch (IOException e) {
-				System.err.println(e.toString());
-			}
-			return new FigureEnumerator(result);
-		}
-		return null;
-	}
-
-	public static FigureEnumeration duplicateFigures(FigureEnumeration toBeCloned, int figureCount) {
-		StandardFigureSelection duplicater = new StandardFigureSelection(toBeCloned, figureCount);
-		return (FigureEnumeration)duplicater.getData(duplicater.getType());
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/standard/TextHolder.java b/JHotDraw/src/CH/ifa/draw/standard/TextHolder.java
deleted file mode 100644
index b307c069d..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/TextHolder.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * @(#)TextHolder.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * The interface of a figure that has some editable text contents.
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public interface TextHolder {
-
-	public Rectangle textDisplayBox();
-
-	/**
-	 * Gets the text shown by the text figure.
-	 */
-	public String getText();
-
-	/**
-	 * Sets the text shown by the text figure.
-	 */
-	public void setText(String newText);
-
-	/**
-	 * Tests whether the figure accepts typing.
-	 */
-	public boolean acceptsTyping();
-
-	/**
-	 * Gets the number of columns to be overlaid when the figure is edited.
-	 */
-	public int overlayColumns();
-
-	/**
-	 * Connects a text holder to another figure.
-	 */
-	public void connect(Figure connectedFigure);
-
-	/**
-	 * Disconnects a text holder from a connect figure.
-	 */
-	public void disconnect(Figure disconnectFigure);
-	
-	/**
-	 * Gets the font.
-	 */
-	public Font getFont();
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ToggleGridCommand.java b/JHotDraw/src/CH/ifa/draw/standard/ToggleGridCommand.java
deleted file mode 100644
index 72ee3f038..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ToggleGridCommand.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * @(#)ToggleGridCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Point;
-import CH.ifa.draw.framework.*;
-
-/**
- * A command to toggle the snap to grid behavior.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ToggleGridCommand extends AbstractCommand {
-
-	private Point fGrid;
-
-   /**
-	* Constructs a toggle grid command.
-	* @param name the command name
-	* @param newDrawingEditor editor
-	* @param grid the grid size. A grid size of 1,1 turns grid snapping off.
-	*/
-	public ToggleGridCommand(String name, DrawingEditor newDrawingEditor, Point grid) {
-		super(name, newDrawingEditor);
-		fGrid = new Point(grid.x, grid.y);
-	}
-
-	public void execute() {
-		super.execute();
-		PointConstrainer grid = view().getConstrainer();
-		if (grid != null) {
-			view().setConstrainer(null);
-		}
-		else {
-			view().setConstrainer(new GridConstrainer(fGrid.x, fGrid.y));
-		}
-	}
-}
-
-
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ToolButton.java b/JHotDraw/src/CH/ifa/draw/standard/ToolButton.java
deleted file mode 100644
index 3c22f4586..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ToolButton.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * @(#)ToolButton.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-import javax.swing.*;
-import java.awt.*;
-import java.util.EventObject;
-
-/**
- * A PaletteButton that is associated with a tool.
- *
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ToolButton extends PaletteButton implements ToolListener {
-
-	private Tool            myTool;
-	private PaletteIcon     myIcon;
-
-	public ToolButton(PaletteListener listener, String iconName, String name, Tool tool) {
-		super(listener);
-		tool.addToolListener(this);
-		setEnabled(tool.isUsable());
-
-		// use a Mediatracker to ensure that all the images are initially loaded
-		Iconkit kit = Iconkit.instance();
-		if (kit == null) {
-			throw new JHotDrawRuntimeException("Iconkit instance isn't set");
-		}
-
-		Image im[] = new Image[3];
-		im[0] = kit.loadImageResource(iconName+"1.gif");
-		im[1] = kit.loadImageResource(iconName+"2.gif");
-		im[2] = kit.loadImageResource(iconName+"3.gif");
-
-		MediaTracker tracker = new MediaTracker(this);
-		for (int i = 0; i < 3; i++) {
-			tracker.addImage(im[i], i);
-		}
-		try {
-			tracker.waitForAll();
-		}
-		catch (Exception e) {
-			// ignore exception
-		}
-
-		setPaletteIcon(new PaletteIcon(new Dimension(24,24), im[0], im[1], im[2]));
-		setTool(tool);
-		setName(name);
-
-		// avoid null pointer exception if image could not be loaded
-		if (im[0] != null) {
-			setIcon(new ImageIcon(im[0]));
-		}
-		if (im[1] != null) {
-			setPressedIcon(new ImageIcon(im[1]));
-		}
-		if (im[2] != null) {
-			setSelectedIcon(new ImageIcon(im[2]));
-		}
-		setToolTipText(name);
-	}
-
-	public Tool tool() {
-		return myTool;
-	}
-
-	public String name() {
-		return getName();
-	}
-
-	public Object attributeValue() {
-		return tool();
-	}
-
-	public Dimension getMinimumSize() {
-		return new Dimension(getPaletteIcon().getWidth(), getPaletteIcon().getHeight());
-	}
-
-	public Dimension getPreferredSize() {
-		return new Dimension(getPaletteIcon().getWidth(), getPaletteIcon().getHeight());
-	}
-
-	public Dimension getMaximumSize() {
-		return new Dimension(getPaletteIcon().getWidth(), getPaletteIcon().getHeight());
-	}
-
-//  Not necessary anymore in JFC due to the support of Icons in JButton
-/*
-	public void paintBackground(Graphics g) { }
-
-	public void paintNormal(Graphics g) {
-		if (fIcon.normal() != null)
-			g.drawImage(fIcon.normal(), 0, 0, this);
-	}
-
-	public void paintPressed(Graphics g) {
-		if (fIcon.pressed() != null)
-			g.drawImage(fIcon.pressed(), 0, 0, this);
-	}
-*/
-	public void paintSelected(Graphics g) {
-		if (getPaletteIcon().selected() != null) {
-			g.drawImage(getPaletteIcon().selected(), 0, 0, this);
-		}
-	}
-
-	public void paint(Graphics g) {
-		// selecting does not work as expected with JFC1.1
-		// see JavaBug: 4228035, 4233965
-		if (isSelected()) {
-			paintSelected(g);
-		}
-		else {
-			super.paint(g);
-		}
-	}
-
-	public void toolUsable(EventObject toolEvent) {
-		setEnabled(true);
-	}
-
-	public void toolUnusable(EventObject toolEvent) {
-		setEnabled(false);
-		setSelected(false);
-	}
-
-	public void toolActivated(EventObject toolEvent) {
-	}
-
-	public void toolDeactivated(EventObject toolEvent) {
-	}
-
-	public void toolEnabled(EventObject toolEvent) {
-		setEnabled(true);
-	}
-
-	public void toolDisabled(EventObject toolEvent) {
-		setEnabled(false);
-	}
-
-	protected PaletteIcon getPaletteIcon() {
-		return myIcon;
-	}
-
-	private void setPaletteIcon(PaletteIcon newIcon) {
-		myIcon = newIcon;
-	}
-
-	private void setTool(Tool newTool) {
-		myTool = newTool;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/AllTests.java
deleted file mode 100644
index 499dcf8b9..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/AllTests.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test");
-		//$JUnit-BEGIN$
-		
-		suite.addTest(CH.ifa.draw.test.contrib.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.figures.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.framework.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.samples.javadraw.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.samples.minimap.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.samples.net.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.samples.nothing.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.samples.pert.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.standard.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.util.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.util.collections.jdk11.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.util.collections.jdk12.AllTests.suite());
-		
-
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/JHDTestCase.java b/JHotDraw/src/CH/ifa/draw/test/JHDTestCase.java
deleted file mode 100644
index b138469cc..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/JHDTestCase.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test;
-
-import junit.framework.TestCase;
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.samples.javadraw.JavaDrawApp;
-
-public class JHDTestCase extends TestCase {
-	public JavaDrawApp myDrawingEditor;
-	
-	public JHDTestCase(String name) {
-		super(name);
-	}
-	
-	protected void setUp() throws Exception {
-		myDrawingEditor = new JavaDrawApp("TestApplication");
-	}
-	
-	protected void tearDown() throws Exception {
-		myDrawingEditor.setVisible(false);
-		myDrawingEditor = null;
-	}
-	
-	public DrawApplication getDrawingEditor() {
-		return myDrawingEditor;
-	}
-	
-	/**
-	 * Some tests might want start from scratch with a new DrawingEditor
-	 * (to avoid side-effects from previous test)
-	 */
-	public JavaDrawApp createNewDrawingEditor() {
-		return new JavaDrawApp("TestApplication");
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/contrib/AllTests.java
deleted file mode 100644
index 39647f86a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/AllTests.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * @(#)AllTests.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.contrib");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(CTXCommandMenuTest.class));
-		suite.addTest(new TestSuite(CTXWindowMenuTest.class));
-		suite.addTest(new TestSuite(ChopDiamondConnectorTest.class));
-		suite.addTest(new TestSuite(ChopPolygonConnectorTest.class));
-		suite.addTest(new TestSuite(ClippingUpdateStrategyTest.class));
-		suite.addTest(new TestSuite(CommandCheckBoxMenuItemTest.class));
-		suite.addTest(new TestSuite(CommandMenuItemTest.class));
-		suite.addTest(new TestSuite(ComponentFigureTest.class));
-		suite.addTest(new TestSuite(CompositeFigureCreationToolTest.class));
-		suite.addTest(new TestSuite(CustomSelectionToolTest.class));
-		suite.addTest(new TestSuite(CustomToolBarTest.class));
-		suite.addTest(new TestSuite(DesktopEventServiceTest.class));
-		suite.addTest(new TestSuite(DiamondFigureTest.class));
-		suite.addTest(new TestSuite(FloatingTextAreaTest.class));
-		suite.addTest(new TestSuite(GraphicalCompositeFigureTest.class));
-		suite.addTest(new TestSuite(HelperTest.class));
-		suite.addTest(new TestSuite(JPanelDesktopTest.class));
-		suite.addTest(new TestSuite(JScrollPaneDesktopTest.class));
-		suite.addTest(new TestSuite(MDIDesktopPaneTest.class));
-		suite.addTest(new TestSuite(MDI_DrawApplicationTest.class));
-		suite.addTest(new TestSuite(MiniMapViewTest.class));
-		suite.addTest(new TestSuite(NestedCreationToolTest.class));
-		suite.addTest(new TestSuite(PolygonFigureTest.class));
-		suite.addTest(new TestSuite(PolygonHandleTest.class));
-		suite.addTest(new TestSuite(PolygonToolTest.class));
-		suite.addTest(new TestSuite(SVGDrawAppTest.class));
-		suite.addTest(new TestSuite(SVGStorageFormatTest.class));
-		suite.addTest(new TestSuite(SimpleLayouterTest.class));
-		suite.addTest(new TestSuite(SplitConnectionToolTest.class));
-		suite.addTest(new TestSuite(StandardLayouterTest.class));
-		suite.addTest(new TestSuite(TextAreaFigureTest.class));
-		suite.addTest(new TestSuite(TextAreaToolTest.class));
-		suite.addTest(new TestSuite(TriangleFigureTest.class));
-		suite.addTest(new TestSuite(WindowMenuTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CTXCommandMenuTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CTXCommandMenuTest.java
deleted file mode 100644
index 037be8faa..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CTXCommandMenuTest.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.CTXCommandMenu;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CTXCommandMenuTest is generated by
- * JUnitDoclet to hold the tests for CTXCommandMenu.
- * @see CH.ifa.draw.contrib.CTXCommandMenu
- */
-// JUnitDoclet end javadoc_class
-public class CTXCommandMenuTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CTXCommandMenu ctxcommandmenu;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CTXCommandMenuTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CTXCommandMenuTest(String name) {
-		// JUnitDoclet begin method CTXCommandMenuTest
-		super(name);
-		// JUnitDoclet end method CTXCommandMenuTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CTXCommandMenu createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.CTXCommandMenu("TestCTXCommandMenu");
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		ctxcommandmenu = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		ctxcommandmenu = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#add(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method addCheckItem()
-	/**
-	 * Method testAddCheckItem is testing addCheckItem
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#addCheckItem(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method addCheckItem()
-	public void testAddCheckItem() throws Exception {
-		// JUnitDoclet begin method addCheckItem
-		// JUnitDoclet end method addCheckItem
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#remove(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method enable()
-	/**
-	 * Method testEnable is testing enable
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#enable(java.lang.String, boolean)
-	 */
-	// JUnitDoclet end javadoc_method enable()
-	public void testEnable() throws Exception {
-		// JUnitDoclet begin method enable
-		// JUnitDoclet end method enable
-	}
-
-	// JUnitDoclet begin javadoc_method checkEnabled()
-	/**
-	 * Method testCheckEnabled is testing checkEnabled
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#checkEnabled()
-	 */
-	// JUnitDoclet end javadoc_method checkEnabled()
-	public void testCheckEnabled() throws Exception {
-		// JUnitDoclet begin method checkEnabled
-		// JUnitDoclet end method checkEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method actionPerformed()
-	/**
-	 * Method testActionPerformed is testing actionPerformed
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#actionPerformed(java.awt.event.ActionEvent)
-	 */
-	// JUnitDoclet end javadoc_method actionPerformed()
-	public void testActionPerformed() throws Exception {
-		// JUnitDoclet begin method actionPerformed
-		// JUnitDoclet end method actionPerformed
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecuted()
-	/**
-	 * Method testCommandExecuted is testing commandExecuted
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#commandExecuted(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecuted()
-	public void testCommandExecuted() throws Exception {
-		// JUnitDoclet begin method commandExecuted
-		// JUnitDoclet end method commandExecuted
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecutable()
-	/**
-	 * Method testCommandExecutable is testing commandExecutable
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#commandExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecutable()
-	public void testCommandExecutable() throws Exception {
-		// JUnitDoclet begin method commandExecutable
-		// JUnitDoclet end method commandExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method commandNotExecutable()
-	/**
-	 * Method testCommandNotExecutable is testing commandNotExecutable
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#commandNotExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandNotExecutable()
-	public void testCommandNotExecutable() throws Exception {
-		// JUnitDoclet begin method commandNotExecutable
-		// JUnitDoclet end method commandNotExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CTXWindowMenuTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CTXWindowMenuTest.java
deleted file mode 100644
index 48a1cab61..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CTXWindowMenuTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.contrib.CTXWindowMenu;
-import CH.ifa.draw.contrib.MDIDesktopPane;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CTXWindowMenuTest is generated by
- * JUnitDoclet to hold the tests for CTXWindowMenu.
- * @see CH.ifa.draw.contrib.CTXWindowMenu
- */
-// JUnitDoclet end javadoc_class
-public class CTXWindowMenuTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CTXWindowMenu ctxwindowmenu;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CTXWindowMenuTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CTXWindowMenuTest(String name) {
-		// JUnitDoclet begin method CTXWindowMenuTest
-		super(name);
-		// JUnitDoclet end method CTXWindowMenuTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CTXWindowMenu createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		MDIDesktopPane desktop = (MDIDesktopPane) (((DrawApplication)getDrawingEditor()).getDesktop());
-		return new CH.ifa.draw.contrib.CTXWindowMenu("TestCTXWindowMenu", desktop, getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		ctxwindowmenu = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		ctxwindowmenu = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/ChopDiamondConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/ChopDiamondConnectorTest.java
deleted file mode 100644
index 7eca31974..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/ChopDiamondConnectorTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.ChopDiamondConnector;
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChopDiamondConnectorTest is generated by
- * JUnitDoclet to hold the tests for ChopDiamondConnector.
- * @see CH.ifa.draw.contrib.ChopDiamondConnector
- */
-// JUnitDoclet end javadoc_class
-public class ChopDiamondConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChopDiamondConnector chopdiamondconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChopDiamondConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChopDiamondConnectorTest(String name) {
-		// JUnitDoclet begin method ChopDiamondConnectorTest
-		super(name);
-		// JUnitDoclet end method ChopDiamondConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.ChopDiamondConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.ChopDiamondConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		chopdiamondconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		chopdiamondconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/ChopPolygonConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/ChopPolygonConnectorTest.java
deleted file mode 100644
index 8d62df16f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/ChopPolygonConnectorTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.ChopPolygonConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChopPolygonConnectorTest is generated by
- * JUnitDoclet to hold the tests for ChopPolygonConnector.
- * @see CH.ifa.draw.contrib.ChopPolygonConnector
- */
-// JUnitDoclet end javadoc_class
-public class ChopPolygonConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChopPolygonConnector choppolygonconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChopPolygonConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChopPolygonConnectorTest(String name) {
-		// JUnitDoclet begin method ChopPolygonConnectorTest
-		super(name);
-		// JUnitDoclet end method ChopPolygonConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.ChopPolygonConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.ChopPolygonConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		choppolygonconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		choppolygonconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/ClippingUpdateStrategyTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/ClippingUpdateStrategyTest.java
deleted file mode 100644
index 27d06c5e2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/ClippingUpdateStrategyTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.ClippingUpdateStrategy;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ClippingUpdateStrategyTest is generated by
- * JUnitDoclet to hold the tests for ClippingUpdateStrategy.
- * @see CH.ifa.draw.contrib.ClippingUpdateStrategy
- */
-// JUnitDoclet end javadoc_class
-public class ClippingUpdateStrategyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ClippingUpdateStrategy clippingupdatestrategy;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ClippingUpdateStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ClippingUpdateStrategyTest(String name) {
-		// JUnitDoclet begin method ClippingUpdateStrategyTest
-		super(name);
-		// JUnitDoclet end method ClippingUpdateStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.ClippingUpdateStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.ClippingUpdateStrategy();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		clippingupdatestrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		clippingupdatestrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.contrib.ClippingUpdateStrategy#draw(java.awt.Graphics, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CommandCheckBoxMenuItemTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CommandCheckBoxMenuItemTest.java
deleted file mode 100644
index 216ac4fed..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CommandCheckBoxMenuItemTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.CommandCheckBoxMenuItem;
-import CH.ifa.draw.standard.DeleteCommand;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.Command;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandCheckBoxMenuItemTest is generated by
- * JUnitDoclet to hold the tests for CommandCheckBoxMenuItem.
- * @see CH.ifa.draw.contrib.CommandCheckBoxMenuItem
- */
-// JUnitDoclet end javadoc_class
-public class CommandCheckBoxMenuItemTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandCheckBoxMenuItem commandcheckboxmenuitem;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandCheckBoxMenuItemTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandCheckBoxMenuItemTest(String name) {
-		// JUnitDoclet begin method CommandCheckBoxMenuItemTest
-		super(name);
-		// JUnitDoclet end method CommandCheckBoxMenuItemTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CommandCheckBoxMenuItem createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Command cmd = new DeleteCommand("TestDelete", getDrawingEditor());
-		return new CH.ifa.draw.contrib.CommandCheckBoxMenuItem(cmd);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandcheckboxmenuitem = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandcheckboxmenuitem = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setCommand()
-	/**
-	 * Method testSetGetCommand is testing setCommand
-	 * and getCommand together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.CommandCheckBoxMenuItem#setCommand(CH.ifa.draw.util.Command)
-	 * @see CH.ifa.draw.contrib.CommandCheckBoxMenuItem#getCommand()
-	 */
-	// JUnitDoclet end javadoc_method setCommand()
-	public void testSetGetCommand() throws Exception {
-		// JUnitDoclet begin method setCommand getCommand
-		CH.ifa.draw.util.Command[] tests = { new DeleteCommand("TestDelete", getDrawingEditor()), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			commandcheckboxmenuitem.setCommand(tests[i]);
-			assertEquals(tests[i], commandcheckboxmenuitem.getCommand());
-		}
-		// JUnitDoclet end method setCommand getCommand
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CommandMenuItemTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CommandMenuItemTest.java
deleted file mode 100644
index a16e691f1..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CommandMenuItemTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.CommandMenuItem;
-import CH.ifa.draw.standard.DeleteCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandMenuItemTest is generated by
- * JUnitDoclet to hold the tests for CommandMenuItem.
- * @see CH.ifa.draw.contrib.CommandMenuItem
- */
-// JUnitDoclet end javadoc_class
-public class CommandMenuItemTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandMenuItem commandmenuitem;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandMenuItemTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandMenuItemTest(String name) {
-		// JUnitDoclet begin method CommandMenuItemTest
-		super(name);
-		// JUnitDoclet end method CommandMenuItemTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CommandMenuItem createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.CommandMenuItem(new DeleteCommand("TestDelete", getDrawingEditor()));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandmenuitem = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandmenuitem = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setCommand()
-	/**
-	 * Method testSetGetCommand is testing setCommand
-	 * and getCommand together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.CommandMenuItem#setCommand(CH.ifa.draw.util.Command)
-	 * @see CH.ifa.draw.contrib.CommandMenuItem#getCommand()
-	 */
-	// JUnitDoclet end javadoc_method setCommand()
-	public void testSetGetCommand() throws Exception {
-		// JUnitDoclet begin method setCommand getCommand
-		CH.ifa.draw.util.Command[] tests = { new CH.ifa.draw.standard.DeleteCommand("TestDelete", getDrawingEditor()), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			commandmenuitem.setCommand(tests[i]);
-			assertEquals(tests[i], commandmenuitem.getCommand());
-		}
-		// JUnitDoclet end method setCommand getCommand
-	}
-
-	// JUnitDoclet begin javadoc_method actionPerformed()
-	/**
-	 * Method testActionPerformed is testing actionPerformed
-	 * @see CH.ifa.draw.contrib.CommandMenuItem#actionPerformed(java.awt.event.ActionEvent)
-	 */
-	// JUnitDoclet end javadoc_method actionPerformed()
-	public void testActionPerformed() throws Exception {
-		// JUnitDoclet begin method actionPerformed
-		// JUnitDoclet end method actionPerformed
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/ComponentFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/ComponentFigureTest.java
deleted file mode 100644
index c1bd415a1..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/ComponentFigureTest.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import javax.swing.JButton;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.ComponentFigure;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ComponentFigureTest is generated by
- * JUnitDoclet to hold the tests for ComponentFigure.
- * @see CH.ifa.draw.contrib.ComponentFigure
- */
-// JUnitDoclet end javadoc_class
-public class ComponentFigureTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ComponentFigure componentfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ComponentFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ComponentFigureTest(String name) {
-		// JUnitDoclet begin method ComponentFigureTest
-		super(name);
-		// JUnitDoclet end method ComponentFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.ComponentFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.ComponentFigure(new JButton("TestComponent"));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		componentfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		componentfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.contrib.ComponentFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.contrib.ComponentFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.contrib.ComponentFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method getComponent()
-	/**
-	 * Method testGetComponent is testing getComponent
-	 * @see CH.ifa.draw.contrib.ComponentFigure#getComponent()
-	 */
-	// JUnitDoclet end javadoc_method getComponent()
-	public void testGetComponent() throws Exception {
-		// JUnitDoclet begin method getComponent
-		// JUnitDoclet end method getComponent
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.contrib.ComponentFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CompositeFigureCreationToolTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CompositeFigureCreationToolTest.java
deleted file mode 100644
index dd59526ab..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CompositeFigureCreationToolTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.CompositeFigureCreationTool;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CompositeFigureCreationToolTest is generated by
- * JUnitDoclet to hold the tests for CompositeFigureCreationTool.
- * @see CH.ifa.draw.contrib.CompositeFigureCreationTool
- */
-// JUnitDoclet end javadoc_class
-public class CompositeFigureCreationToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CompositeFigureCreationTool compositefigurecreationtool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CompositeFigureCreationToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CompositeFigureCreationToolTest(String name) {
-		// JUnitDoclet begin method CompositeFigureCreationToolTest
-		super(name);
-		// JUnitDoclet end method CompositeFigureCreationToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CompositeFigureCreationTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.CompositeFigureCreationTool(getDrawingEditor(), new RectangleFigure());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		compositefigurecreationtool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		compositefigurecreationtool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.contrib.CompositeFigureCreationTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.contrib.CompositeFigureCreationTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.contrib.CompositeFigureCreationTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method getContainerFigure()
-	/**
-	 * Method testGetContainerFigure is testing getContainerFigure
-	 * @see CH.ifa.draw.contrib.CompositeFigureCreationTool#getContainerFigure()
-	 */
-	// JUnitDoclet end javadoc_method getContainerFigure()
-	public void testGetContainerFigure() throws Exception {
-		// JUnitDoclet begin method getContainerFigure
-		// JUnitDoclet end method getContainerFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CustomSelectionToolTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CustomSelectionToolTest.java
deleted file mode 100644
index ea39b2ea1..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CustomSelectionToolTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.CustomSelectionTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CustomSelectionToolTest is generated by
- * JUnitDoclet to hold the tests for CustomSelectionTool.
- * @see CH.ifa.draw.contrib.CustomSelectionTool
- */
-// JUnitDoclet end javadoc_class
-public class CustomSelectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CustomSelectionTool customselectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CustomSelectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CustomSelectionToolTest(String name) {
-		// JUnitDoclet begin method CustomSelectionToolTest
-		super(name);
-		// JUnitDoclet end method CustomSelectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CustomSelectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.CustomSelectionTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		customselectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		customselectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.contrib.CustomSelectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.contrib.CustomSelectionTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.contrib.CustomSelectionTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CustomToolBarTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CustomToolBarTest.java
deleted file mode 100644
index cfc303015..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CustomToolBarTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.CustomToolBar;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CustomToolBarTest is generated by
- * JUnitDoclet to hold the tests for CustomToolBar.
- * @see CH.ifa.draw.contrib.CustomToolBar
- */
-// JUnitDoclet end javadoc_class
-public class CustomToolBarTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CustomToolBar customtoolbar;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CustomToolBarTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CustomToolBarTest(String name) {
-		// JUnitDoclet begin method CustomToolBarTest
-		super(name);
-		// JUnitDoclet end method CustomToolBarTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CustomToolBar createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.CustomToolBar();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		customtoolbar = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		customtoolbar = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method switchToolBar()
-	/**
-	 * Method testSwitchToolBar is testing switchToolBar
-	 * @see CH.ifa.draw.contrib.CustomToolBar#switchToolBar()
-	 */
-	// JUnitDoclet end javadoc_method switchToolBar()
-	public void testSwitchToolBar() throws Exception {
-		// JUnitDoclet begin method switchToolBar
-		// JUnitDoclet end method switchToolBar
-	}
-
-	// JUnitDoclet begin javadoc_method switchToEditTools()
-	/**
-	 * Method testSwitchToEditTools is testing switchToEditTools
-	 * @see CH.ifa.draw.contrib.CustomToolBar#switchToEditTools()
-	 */
-	// JUnitDoclet end javadoc_method switchToEditTools()
-	public void testSwitchToEditTools() throws Exception {
-		// JUnitDoclet begin method switchToEditTools
-		// JUnitDoclet end method switchToEditTools
-	}
-
-	// JUnitDoclet begin javadoc_method switchToStandardTools()
-	/**
-	 * Method testSwitchToStandardTools is testing switchToStandardTools
-	 * @see CH.ifa.draw.contrib.CustomToolBar#switchToStandardTools()
-	 */
-	// JUnitDoclet end javadoc_method switchToStandardTools()
-	public void testSwitchToStandardTools() throws Exception {
-		// JUnitDoclet begin method switchToStandardTools
-		// JUnitDoclet end method switchToStandardTools
-	}
-
-	// JUnitDoclet begin javadoc_method activateTools()
-	/**
-	 * Method testActivateTools is testing activateTools
-	 * @see CH.ifa.draw.contrib.CustomToolBar#activateTools()
-	 */
-	// JUnitDoclet end javadoc_method activateTools()
-	public void testActivateTools() throws Exception {
-		// JUnitDoclet begin method activateTools
-		// JUnitDoclet end method activateTools
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.contrib.CustomToolBar#add(java.awt.Component)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/DesktopEventServiceTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/DesktopEventServiceTest.java
deleted file mode 100644
index 033f0437e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/DesktopEventServiceTest.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import java.awt.Container;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.Desktop;
-import CH.ifa.draw.contrib.DesktopEventService;
-import CH.ifa.draw.contrib.JPanelDesktop;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DesktopEventServiceTest is generated by
- * JUnitDoclet to hold the tests for DesktopEventService.
- * @see CH.ifa.draw.contrib.DesktopEventService
- */
-// JUnitDoclet end javadoc_class
-public class DesktopEventServiceTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-		// JUnitDoclet begin class
-		// instance variables, helper methods, ... put them in this marker
-		private DesktopEventService desktopeventservice;
-		// JUnitDoclet end class
-		
-		/**
-		 * Constructor DesktopEventServiceTest is
-		 * basically calling the inherited constructor to
-		 * initiate the TestCase for use by the Framework.
-		 */
-		public DesktopEventServiceTest(String name) {
-				// JUnitDoclet begin method DesktopEventServiceTest
-				super(name);
-				// JUnitDoclet end method DesktopEventServiceTest
-		}
-		
-		/**
-		 * Factory method for instances of the class to be tested.
-		 */
-		public CH.ifa.draw.contrib.DesktopEventService createInstance() throws Exception {
-				// JUnitDoclet begin method testcase.createInstance
-	Desktop desktop = new JPanelDesktop(getDrawingEditor());
-				return new CH.ifa.draw.contrib.DesktopEventService(desktop, ((Container)desktop));
-				// JUnitDoclet end method testcase.createInstance
-		}
-		
-		/**
-		 * Method setUp is overwriting the framework method to
-		 * prepare an instance of this TestCase for a single test.
-		 * It's called from the JUnit framework only.
-		 */
-		protected void setUp() throws Exception {
-				// JUnitDoclet begin method testcase.setUp
-				super.setUp();
-				desktopeventservice = createInstance();
-				// JUnitDoclet end method testcase.setUp
-		}
-		
-		/**
-		 * Method tearDown is overwriting the framework method to
-		 * clean up after each single test of this TestCase.
-		 * It's called from the JUnit framework only.
-		 */
-		protected void tearDown() throws Exception {
-				// JUnitDoclet begin method testcase.tearDown
-				desktopeventservice = null;
-				super.tearDown();
-				// JUnitDoclet end method testcase.tearDown
-		}
-		
-		// JUnitDoclet begin javadoc_method addComponent()
-		/**
-		 * Method testAddComponent is testing addComponent
-		 * @see CH.ifa.draw.contrib.DesktopEventService#addComponent(java.awt.Component)
-		 */
-		// JUnitDoclet end javadoc_method addComponent()
-		public void testAddComponent() throws Exception {
-				// JUnitDoclet begin method addComponent
-				// JUnitDoclet end method addComponent
-		}
-		
-		// JUnitDoclet begin javadoc_method removeComponent()
-		/**
-		 * Method testRemoveComponent is testing removeComponent
-		 * @see CH.ifa.draw.contrib.DesktopEventService#removeComponent(CH.ifa.draw.framework.DrawingView)
-		 */
-		// JUnitDoclet end javadoc_method removeComponent()
-		public void testRemoveComponent() throws Exception {
-				// JUnitDoclet begin method removeComponent
-				// JUnitDoclet end method removeComponent
-		}
-		
-		// JUnitDoclet begin javadoc_method removeAllComponents()
-		/**
-		 * Method testRemoveAllComponents is testing removeAllComponents
-		 * @see CH.ifa.draw.contrib.DesktopEventService#removeAllComponents()
-		 */
-		// JUnitDoclet end javadoc_method removeAllComponents()
-		public void testRemoveAllComponents() throws Exception {
-				// JUnitDoclet begin method removeAllComponents
-				// JUnitDoclet end method removeAllComponents
-		}
-		
-		// JUnitDoclet begin javadoc_method addDesktopListener()
-		/**
-		 * Method testAddDesktopListener is testing addDesktopListener
-		 * @see CH.ifa.draw.contrib.DesktopEventService#addDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-		 */
-		// JUnitDoclet end javadoc_method addDesktopListener()
-		public void testAddDesktopListener() throws Exception {
-				// JUnitDoclet begin method addDesktopListener
-				// JUnitDoclet end method addDesktopListener
-		}
-		
-		// JUnitDoclet begin javadoc_method removeDesktopListener()
-		/**
-		 * Method testRemoveDesktopListener is testing removeDesktopListener
-		 * @see CH.ifa.draw.contrib.DesktopEventService#removeDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-		 */
-		// JUnitDoclet end javadoc_method removeDesktopListener()
-		public void testRemoveDesktopListener() throws Exception {
-				// JUnitDoclet begin method removeDesktopListener
-				// JUnitDoclet end method removeDesktopListener
-		}
-		
-		// JUnitDoclet begin javadoc_method getDrawingViews()
-		/**
-		 * Method testGetDrawingViews is testing getDrawingViews
-		 * @see CH.ifa.draw.contrib.DesktopEventService#getDrawingViews(java.awt.Component[])
-		 */
-		// JUnitDoclet end javadoc_method getDrawingViews()
-		public void testGetDrawingViews() throws Exception {
-				// JUnitDoclet begin method getDrawingViews
-				// JUnitDoclet end method getDrawingViews
-		}
-		
-		// JUnitDoclet begin javadoc_method getActiveDrawingView()
-		/**
-		 * Method testGetActiveDrawingView is testing getActiveDrawingView
-		 * @see CH.ifa.draw.contrib.DesktopEventService#getActiveDrawingView()
-		 */
-		// JUnitDoclet end javadoc_method getActiveDrawingView()
-		public void testGetActiveDrawingView() throws Exception {
-				// JUnitDoclet begin method getActiveDrawingView
-				// JUnitDoclet end method getActiveDrawingView
-		}
-		
-		
-		
-		// JUnitDoclet begin javadoc_method testVault
-		/**
-		 * JUnitDoclet moves marker to this method, if there is not match
-		 * for them in the regenerated code and if the marker is not empty.
-		 * This way, no test gets lost when regenerating after renaming.
-		 * <b>Method testVault is supposed to be empty.</b>
-		 */
-		// JUnitDoclet end javadoc_method testVault
-		public void testVault() throws Exception {
-				// JUnitDoclet begin method testcase.testVault
-				// JUnitDoclet end method testcase.testVault
-		}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/DiamondFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/DiamondFigureTest.java
deleted file mode 100644
index b02ca7552..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/DiamondFigureTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.DiamondFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DiamondFigureTest is generated by
- * JUnitDoclet to hold the tests for DiamondFigure.
- * @see CH.ifa.draw.contrib.DiamondFigure
- */
-// JUnitDoclet end javadoc_class
-public class DiamondFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DiamondFigure diamondfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DiamondFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DiamondFigureTest(String name) {
-		// JUnitDoclet begin method DiamondFigureTest
-		super(name);
-		// JUnitDoclet end method DiamondFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.DiamondFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.DiamondFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		diamondfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		diamondfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.contrib.DiamondFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see CH.ifa.draw.contrib.DiamondFigure#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.contrib.DiamondFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method chop()
-	/**
-	 * Method testChop is testing chop
-	 * @see CH.ifa.draw.contrib.DiamondFigure#chop(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method chop()
-	public void testChop() throws Exception {
-		// JUnitDoclet begin method chop
-		// JUnitDoclet end method chop
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see CH.ifa.draw.contrib.DiamondFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/FloatingTextAreaTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/FloatingTextAreaTest.java
deleted file mode 100644
index 785dde0af..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/FloatingTextAreaTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.FloatingTextArea;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FloatingTextAreaTest is generated by
- * JUnitDoclet to hold the tests for FloatingTextArea.
- * @see CH.ifa.draw.contrib.FloatingTextArea
- */
-// JUnitDoclet end javadoc_class
-public class FloatingTextAreaTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FloatingTextArea floatingtextarea;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FloatingTextAreaTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FloatingTextAreaTest(String name) {
-		// JUnitDoclet begin method FloatingTextAreaTest
-		super(name);
-		// JUnitDoclet end method FloatingTextAreaTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.FloatingTextArea createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.FloatingTextArea();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		floatingtextarea = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		floatingtextarea = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createOverlay()
-	/**
-	 * Method testCreateOverlay is testing createOverlay
-	 * @see CH.ifa.draw.contrib.FloatingTextArea#createOverlay(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method createOverlay()
-	public void testCreateOverlay() throws Exception {
-		// JUnitDoclet begin method createOverlay
-		// JUnitDoclet end method createOverlay
-	}
-
-	// JUnitDoclet begin javadoc_method setBounds()
-	/**
-	 * Method testSetBounds is testing setBounds
-	 * @see CH.ifa.draw.contrib.FloatingTextArea#setBounds(java.awt.Rectangle, java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method setBounds()
-	public void testSetBounds() throws Exception {
-		// JUnitDoclet begin method setBounds
-		// JUnitDoclet end method setBounds
-	}
-
-	// JUnitDoclet begin javadoc_method getText()
-	/**
-	 * Method testGetText is testing getText
-	 * @see CH.ifa.draw.contrib.FloatingTextArea#getText()
-	 */
-	// JUnitDoclet end javadoc_method getText()
-	public void testGetText() throws Exception {
-		// JUnitDoclet begin method getText
-		// JUnitDoclet end method getText
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see CH.ifa.draw.contrib.FloatingTextArea#getPreferredSize(int)
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method endOverlay()
-	/**
-	 * Method testEndOverlay is testing endOverlay
-	 * @see CH.ifa.draw.contrib.FloatingTextArea#endOverlay()
-	 */
-	// JUnitDoclet end javadoc_method endOverlay()
-	public void testEndOverlay() throws Exception {
-		// JUnitDoclet begin method endOverlay
-		// JUnitDoclet end method endOverlay
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/GraphicalCompositeFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/GraphicalCompositeFigureTest.java
deleted file mode 100644
index 6afc1ef65..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/GraphicalCompositeFigureTest.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.GraphicalCompositeFigure;
-import CH.ifa.draw.contrib.SimpleLayouter;
-import CH.ifa.draw.figures.RectangleFigure;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GraphicalCompositeFigureTest is generated by
- * JUnitDoclet to hold the tests for GraphicalCompositeFigure.
- * @see CH.ifa.draw.contrib.GraphicalCompositeFigure
- */
-// JUnitDoclet end javadoc_class
-public class GraphicalCompositeFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private GraphicalCompositeFigure graphicalcompositefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor GraphicalCompositeFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public GraphicalCompositeFigureTest(String name) {
-		// JUnitDoclet begin method GraphicalCompositeFigureTest
-		super(name);
-		// JUnitDoclet end method GraphicalCompositeFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.GraphicalCompositeFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.GraphicalCompositeFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		graphicalcompositefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		graphicalcompositefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method clone()
-	/**
-	 * Method testClone is testing clone
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#clone()
-	 */
-	// JUnitDoclet end javadoc_method clone()
-	public void testClone() throws Exception {
-		// JUnitDoclet begin method clone
-		// JUnitDoclet end method clone
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method update()
-	/**
-	 * Method testUpdate is testing update
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#update()
-	 */
-	// JUnitDoclet end javadoc_method update()
-	public void testUpdate() throws Exception {
-		// JUnitDoclet begin method update
-		// JUnitDoclet end method update
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setPresentationFigure()
-	/**
-	 * Method testSetGetPresentationFigure is testing setPresentationFigure
-	 * and getPresentationFigure together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#setPresentationFigure(CH.ifa.draw.framework.Figure)
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#getPresentationFigure()
-	 */
-	// JUnitDoclet end javadoc_method setPresentationFigure()
-	public void testSetGetPresentationFigure() throws Exception {
-		// JUnitDoclet begin method setPresentationFigure getPresentationFigure
-		CH.ifa.draw.framework.Figure[] tests = { new RectangleFigure(new Point(10, 10), new Point(100, 100)), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			graphicalcompositefigure.setPresentationFigure(tests[i]);
-			assertEquals(tests[i], graphicalcompositefigure.getPresentationFigure());
-		}
-		// JUnitDoclet end method setPresentationFigure getPresentationFigure
-	}
-
-	// JUnitDoclet begin javadoc_method layout()
-	/**
-	 * Method testLayout is testing layout
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#layout()
-	 */
-	// JUnitDoclet end javadoc_method layout()
-	public void testLayout() throws Exception {
-		// JUnitDoclet begin method layout
-		// JUnitDoclet end method layout
-	}
-
-	// JUnitDoclet begin javadoc_method setLayouter()
-	/**
-	 * Method testSetGetLayouter is testing setLayouter
-	 * and getLayouter together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#setLayouter(CH.ifa.draw.contrib.Layouter)
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#getLayouter()
-	 */
-	// JUnitDoclet end javadoc_method setLayouter()
-	public void testSetGetLayouter() throws Exception {
-		// JUnitDoclet begin method setLayouter getLayouter
-		CH.ifa.draw.contrib.Layouter[] tests = { new SimpleLayouter(graphicalcompositefigure), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			graphicalcompositefigure.setLayouter(tests[i]);
-			assertEquals(tests[i], graphicalcompositefigure.getLayouter());
-		}
-		// JUnitDoclet end method setLayouter getLayouter
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/HelperTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/HelperTest.java
deleted file mode 100644
index 1517c28ea..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/HelperTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.Helper;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase HelperTest is generated by
- * JUnitDoclet to hold the tests for Helper.
- * @see CH.ifa.draw.contrib.Helper
- */
-// JUnitDoclet end javadoc_class
-public class HelperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Helper helper;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor HelperTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public HelperTest(String name) {
-		// JUnitDoclet begin method HelperTest
-		super(name);
-		// JUnitDoclet end method HelperTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.Helper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.Helper();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		helper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		helper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingView()
-	/**
-	 * Method testGetDrawingView is testing getDrawingView
-	 * @see CH.ifa.draw.contrib.Helper#getDrawingView(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method getDrawingView()
-	public void testGetDrawingView() throws Exception {
-		// JUnitDoclet begin method getDrawingView
-		// JUnitDoclet end method getDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/JPanelDesktopTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/JPanelDesktopTest.java
deleted file mode 100644
index 78949a968..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/JPanelDesktopTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.JPanelDesktop;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JPanelDesktopTest is generated by
- * JUnitDoclet to hold the tests for JPanelDesktop.
- * @see CH.ifa.draw.contrib.JPanelDesktop
- */
-// JUnitDoclet end javadoc_class
-public class JPanelDesktopTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JPanelDesktop jpaneldesktop;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JPanelDesktopTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JPanelDesktopTest(String name) {
-		// JUnitDoclet begin method JPanelDesktopTest
-		super(name);
-		// JUnitDoclet end method JPanelDesktopTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.JPanelDesktop createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.JPanelDesktop(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		jpaneldesktop = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		jpaneldesktop = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getActiveDrawingView()
-	/**
-	 * Method testGetActiveDrawingView is testing getActiveDrawingView
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#getActiveDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getActiveDrawingView()
-	public void testGetActiveDrawingView() throws Exception {
-		// JUnitDoclet begin method getActiveDrawingView
-		// JUnitDoclet end method getActiveDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method addToDesktop()
-	/**
-	 * Method testAddToDesktop is testing addToDesktop
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#addToDesktop(CH.ifa.draw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method addToDesktop()
-	public void testAddToDesktop() throws Exception {
-		// JUnitDoclet begin method addToDesktop
-		// JUnitDoclet end method addToDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromDesktop()
-	/**
-	 * Method testRemoveFromDesktop is testing removeFromDesktop
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#removeFromDesktop(CH.ifa.draw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method removeFromDesktop()
-	public void testRemoveFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeFromDesktop
-		// JUnitDoclet end method removeFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeAllFromDesktop()
-	/**
-	 * Method testRemoveAllFromDesktop is testing removeAllFromDesktop
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#removeAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method removeAllFromDesktop()
-	public void testRemoveAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeAllFromDesktop
-		// JUnitDoclet end method removeAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method getAllFromDesktop()
-	/**
-	 * Method testGetAllFromDesktop is testing getAllFromDesktop
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#getAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method getAllFromDesktop()
-	public void testGetAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method getAllFromDesktop
-		// JUnitDoclet end method getAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method addDesktopListener()
-	/**
-	 * Method testAddDesktopListener is testing addDesktopListener
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#addDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method addDesktopListener()
-	public void testAddDesktopListener() throws Exception {
-		// JUnitDoclet begin method addDesktopListener
-		// JUnitDoclet end method addDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeDesktopListener()
-	/**
-	 * Method testRemoveDesktopListener is testing removeDesktopListener
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#removeDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method removeDesktopListener()
-	public void testRemoveDesktopListener() throws Exception {
-		// JUnitDoclet begin method removeDesktopListener
-		// JUnitDoclet end method removeDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/JScrollPaneDesktopTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/JScrollPaneDesktopTest.java
deleted file mode 100644
index c33930173..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/JScrollPaneDesktopTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.JScrollPaneDesktop;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JScrollPaneDesktopTest is generated by
- * JUnitDoclet to hold the tests for JScrollPaneDesktop.
- * @see CH.ifa.draw.contrib.JScrollPaneDesktop
- */
-// JUnitDoclet end javadoc_class
-public class JScrollPaneDesktopTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JScrollPaneDesktop jscrollpanedesktop;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JScrollPaneDesktopTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JScrollPaneDesktopTest(String name) {
-		// JUnitDoclet begin method JScrollPaneDesktopTest
-		super(name);
-		// JUnitDoclet end method JScrollPaneDesktopTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.JScrollPaneDesktop createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.JScrollPaneDesktop();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		jscrollpanedesktop = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		jscrollpanedesktop = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getActiveDrawingView()
-	/**
-	 * Method testGetActiveDrawingView is testing getActiveDrawingView
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#getActiveDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getActiveDrawingView()
-	public void testGetActiveDrawingView() throws Exception {
-		// JUnitDoclet begin method getActiveDrawingView
-		// JUnitDoclet end method getActiveDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method addToDesktop()
-	/**
-	 * Method testAddToDesktop is testing addToDesktop
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#addToDesktop(CH.ifa.draw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method addToDesktop()
-	public void testAddToDesktop() throws Exception {
-		// JUnitDoclet begin method addToDesktop
-		// JUnitDoclet end method addToDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromDesktop()
-	/**
-	 * Method testRemoveFromDesktop is testing removeFromDesktop
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#removeFromDesktop(CH.ifa.draw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method removeFromDesktop()
-	public void testRemoveFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeFromDesktop
-		// JUnitDoclet end method removeFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeAllFromDesktop()
-	/**
-	 * Method testRemoveAllFromDesktop is testing removeAllFromDesktop
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#removeAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method removeAllFromDesktop()
-	public void testRemoveAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeAllFromDesktop
-		// JUnitDoclet end method removeAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method getAllFromDesktop()
-	/**
-	 * Method testGetAllFromDesktop is testing getAllFromDesktop
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#getAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method getAllFromDesktop()
-	public void testGetAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method getAllFromDesktop
-		// JUnitDoclet end method getAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method addDesktopListener()
-	/**
-	 * Method testAddDesktopListener is testing addDesktopListener
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#addDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method addDesktopListener()
-	public void testAddDesktopListener() throws Exception {
-		// JUnitDoclet begin method addDesktopListener
-		// JUnitDoclet end method addDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeDesktopListener()
-	/**
-	 * Method testRemoveDesktopListener is testing removeDesktopListener
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#removeDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method removeDesktopListener()
-	public void testRemoveDesktopListener() throws Exception {
-		// JUnitDoclet begin method removeDesktopListener
-		// JUnitDoclet end method removeDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/MDIDesktopPaneTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/MDIDesktopPaneTest.java
deleted file mode 100644
index 3ddc140de..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/MDIDesktopPaneTest.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.MDIDesktopPane;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MDIDesktopPaneTest is generated by
- * JUnitDoclet to hold the tests for MDIDesktopPane.
- * @see CH.ifa.draw.contrib.MDIDesktopPane
- */
-// JUnitDoclet end javadoc_class
-public class MDIDesktopPaneTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MDIDesktopPane mdidesktoppane;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MDIDesktopPaneTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MDIDesktopPaneTest(String name) {
-		// JUnitDoclet begin method MDIDesktopPaneTest
-		super(name);
-		// JUnitDoclet end method MDIDesktopPaneTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.MDIDesktopPane createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.MDIDesktopPane(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		mdidesktoppane = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		mdidesktoppane = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getActiveDrawingView()
-	/**
-	 * Method testGetActiveDrawingView is testing getActiveDrawingView
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#getActiveDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getActiveDrawingView()
-	public void testGetActiveDrawingView() throws Exception {
-		// JUnitDoclet begin method getActiveDrawingView
-		// JUnitDoclet end method getActiveDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method addToDesktop()
-	/**
-	 * Method testAddToDesktop is testing addToDesktop
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#addToDesktop(CH.ifa.draw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method addToDesktop()
-	public void testAddToDesktop() throws Exception {
-		// JUnitDoclet begin method addToDesktop
-		// JUnitDoclet end method addToDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromDesktop()
-	/**
-	 * Method testRemoveFromDesktop is testing removeFromDesktop
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#removeFromDesktop(CH.ifa.draw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method removeFromDesktop()
-	public void testRemoveFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeFromDesktop
-		// JUnitDoclet end method removeFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeAllFromDesktop()
-	/**
-	 * Method testRemoveAllFromDesktop is testing removeAllFromDesktop
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#removeAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method removeAllFromDesktop()
-	public void testRemoveAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeAllFromDesktop
-		// JUnitDoclet end method removeAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method getAllFromDesktop()
-	/**
-	 * Method testGetAllFromDesktop is testing getAllFromDesktop
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#getAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method getAllFromDesktop()
-	public void testGetAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method getAllFromDesktop
-		// JUnitDoclet end method getAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method addDesktopListener()
-	/**
-	 * Method testAddDesktopListener is testing addDesktopListener
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#addDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method addDesktopListener()
-	public void testAddDesktopListener() throws Exception {
-		// JUnitDoclet begin method addDesktopListener
-		// JUnitDoclet end method addDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeDesktopListener()
-	/**
-	 * Method testRemoveDesktopListener is testing removeDesktopListener
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#removeDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method removeDesktopListener()
-	public void testRemoveDesktopListener() throws Exception {
-		// JUnitDoclet begin method removeDesktopListener
-		// JUnitDoclet end method removeDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method cascadeFrames()
-	/**
-	 * Method testCascadeFrames is testing cascadeFrames
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#cascadeFrames()
-	 */
-	// JUnitDoclet end javadoc_method cascadeFrames()
-	public void testCascadeFrames() throws Exception {
-		// JUnitDoclet begin method cascadeFrames
-		// JUnitDoclet end method cascadeFrames
-	}
-
-	// JUnitDoclet begin javadoc_method tileFrames()
-	/**
-	 * Method testTileFrames is testing tileFrames
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#tileFrames()
-	 */
-	// JUnitDoclet end javadoc_method tileFrames()
-	public void testTileFrames() throws Exception {
-		// JUnitDoclet begin method tileFrames
-		// JUnitDoclet end method tileFrames
-	}
-
-	// JUnitDoclet begin javadoc_method tileFramesHorizontally()
-	/**
-	 * Method testTileFramesHorizontally is testing tileFramesHorizontally
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#tileFramesHorizontally()
-	 */
-	// JUnitDoclet end javadoc_method tileFramesHorizontally()
-	public void testTileFramesHorizontally() throws Exception {
-		// JUnitDoclet begin method tileFramesHorizontally
-		// JUnitDoclet end method tileFramesHorizontally
-	}
-
-	// JUnitDoclet begin javadoc_method tileFramesVertically()
-	/**
-	 * Method testTileFramesVertically is testing tileFramesVertically
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#tileFramesVertically()
-	 */
-	// JUnitDoclet end javadoc_method tileFramesVertically()
-	public void testTileFramesVertically() throws Exception {
-		// JUnitDoclet begin method tileFramesVertically
-		// JUnitDoclet end method tileFramesVertically
-	}
-
-	// JUnitDoclet begin javadoc_method arrangeFramesVertically()
-	/**
-	 * Method testArrangeFramesVertically is testing arrangeFramesVertically
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#arrangeFramesVertically()
-	 */
-	// JUnitDoclet end javadoc_method arrangeFramesVertically()
-	public void testArrangeFramesVertically() throws Exception {
-		// JUnitDoclet begin method arrangeFramesVertically
-		// JUnitDoclet end method arrangeFramesVertically
-	}
-
-	// JUnitDoclet begin javadoc_method arrangeFramesHorizontally()
-	/**
-	 * Method testArrangeFramesHorizontally is testing arrangeFramesHorizontally
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#arrangeFramesHorizontally()
-	 */
-	// JUnitDoclet end javadoc_method arrangeFramesHorizontally()
-	public void testArrangeFramesHorizontally() throws Exception {
-		// JUnitDoclet begin method arrangeFramesHorizontally
-		// JUnitDoclet end method arrangeFramesHorizontally
-	}
-
-	// JUnitDoclet begin javadoc_method setAllSize()
-	/**
-	 * Method testSetAllSize is testing setAllSize
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#setAllSize(java.awt.Dimension)
-	 */
-	// JUnitDoclet end javadoc_method setAllSize()
-	public void testSetAllSize() throws Exception {
-		// JUnitDoclet begin method setAllSize
-		// JUnitDoclet end method setAllSize
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/MDI_DrawApplicationTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/MDI_DrawApplicationTest.java
deleted file mode 100644
index 7d799e5f4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/MDI_DrawApplicationTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.MDI_DrawApplication;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MDI_DrawApplicationTest is generated by
- * JUnitDoclet to hold the tests for MDI_DrawApplication.
- * @see CH.ifa.draw.contrib.MDI_DrawApplication
- */
-// JUnitDoclet end javadoc_class
-public class MDI_DrawApplicationTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MDI_DrawApplication mdi_drawapplication;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MDI_DrawApplicationTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MDI_DrawApplicationTest(String name) {
-		// JUnitDoclet begin method MDI_DrawApplicationTest
-		super(name);
-		// JUnitDoclet end method MDI_DrawApplicationTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.MDI_DrawApplication createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.MDI_DrawApplication();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		mdi_drawapplication = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		mdi_drawapplication = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method promptNew()
-	/**
-	 * Method testPromptNew is testing promptNew
-	 * @see CH.ifa.draw.contrib.MDI_DrawApplication#promptNew()
-	 */
-	// JUnitDoclet end javadoc_method promptNew()
-	public void testPromptNew() throws Exception {
-		// JUnitDoclet begin method promptNew
-		// JUnitDoclet end method promptNew
-	}
-
-	// JUnitDoclet begin javadoc_method newWindow()
-	/**
-	 * Method testNewWindow is testing newWindow
-	 * @see CH.ifa.draw.contrib.MDI_DrawApplication#newWindow(CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method newWindow()
-	public void testNewWindow() throws Exception {
-		// JUnitDoclet begin method newWindow
-		// JUnitDoclet end method newWindow
-	}
-
-	// JUnitDoclet begin javadoc_method newView()
-	/**
-	 * Method testNewView is testing newView
-	 * @see CH.ifa.draw.contrib.MDI_DrawApplication#newView()
-	 */
-	// JUnitDoclet end javadoc_method newView()
-	public void testNewView() throws Exception {
-		// JUnitDoclet begin method newView
-		// JUnitDoclet end method newView
-	}
-
-	// JUnitDoclet begin javadoc_method views()
-	/**
-	 * Method testViews is testing views
-	 * @see CH.ifa.draw.contrib.MDI_DrawApplication#views()
-	 */
-	// JUnitDoclet end javadoc_method views()
-	public void testViews() throws Exception {
-		// JUnitDoclet begin method views
-		// JUnitDoclet end method views
-	}
-
-	// JUnitDoclet begin javadoc_method getDefaultDrawingTitle()
-	/**
-	 * Method testGetDefaultDrawingTitle is testing getDefaultDrawingTitle
-	 * @see CH.ifa.draw.contrib.MDI_DrawApplication#getDefaultDrawingTitle()
-	 */
-	// JUnitDoclet end javadoc_method getDefaultDrawingTitle()
-	public void testGetDefaultDrawingTitle() throws Exception {
-		// JUnitDoclet begin method getDefaultDrawingTitle
-		// JUnitDoclet end method getDefaultDrawingTitle
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/MiniMapViewTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/MiniMapViewTest.java
deleted file mode 100644
index 2b780445b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/MiniMapViewTest.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-import java.awt.Component;
-
-import javax.swing.JScrollPane;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.MiniMapView;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MiniMapViewTest is generated by
- * JUnitDoclet to hold the tests for MiniMapView.
- * @see CH.ifa.draw.contrib.MiniMapView
- */
-// JUnitDoclet end javadoc_class
-public class MiniMapViewTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MiniMapView minimapview;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MiniMapViewTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MiniMapViewTest(String name) {
-		// JUnitDoclet begin method MiniMapViewTest
-		super(name);
-		// JUnitDoclet end method MiniMapViewTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.MiniMapView createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		JScrollPane sp = new JScrollPane((Component)getDrawingEditor().view());
-		sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-		sp.setAlignmentX(Component.LEFT_ALIGNMENT);
-		return new CH.ifa.draw.contrib.MiniMapView(getDrawingEditor().view(), sp);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		minimapview = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		minimapview = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getMappedDrawingView()
-	/**
-	 * Method testGetMappedDrawingView is testing getMappedDrawingView
-	 * @see CH.ifa.draw.contrib.MiniMapView#getMappedDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getMappedDrawingView()
-	public void testGetMappedDrawingView() throws Exception {
-		// JUnitDoclet begin method getMappedDrawingView
-		// JUnitDoclet end method getMappedDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method getSubject()
-	/**
-	 * Method testGetSubject is testing getSubject
-	 * @see CH.ifa.draw.contrib.MiniMapView#getSubject()
-	 */
-	// JUnitDoclet end javadoc_method getSubject()
-	public void testGetSubject() throws Exception {
-		// JUnitDoclet begin method getSubject
-		// JUnitDoclet end method getSubject
-	}
-
-	// JUnitDoclet begin javadoc_method getViewBowColor()
-	/**
-	 * Method testGetViewBowColor is testing getViewBowColor
-	 * @see CH.ifa.draw.contrib.MiniMapView#getViewBowColor()
-	 */
-	// JUnitDoclet end javadoc_method getViewBowColor()
-	public void testGetViewBowColor() throws Exception {
-		// JUnitDoclet begin method getViewBowColor
-		// JUnitDoclet end method getViewBowColor
-	}
-
-	// JUnitDoclet begin javadoc_method setViewBoxColor()
-	/**
-	 * Method testSetViewBoxColor is testing setViewBoxColor
-	 * @see CH.ifa.draw.contrib.MiniMapView#setViewBoxColor(java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method setViewBoxColor()
-	public void testSetViewBoxColor() throws Exception {
-		// JUnitDoclet begin method setViewBoxColor
-		// JUnitDoclet end method setViewBoxColor
-	}
-
-	// JUnitDoclet begin javadoc_method paint()
-	/**
-	 * Method testPaint is testing paint
-	 * @see CH.ifa.draw.contrib.MiniMapView#paint(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method paint()
-	public void testPaint() throws Exception {
-		// JUnitDoclet begin method paint
-		// JUnitDoclet end method paint
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/NestedCreationToolTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/NestedCreationToolTest.java
deleted file mode 100644
index 7c64c0d66..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/NestedCreationToolTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.NestedCreationTool;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NestedCreationToolTest is generated by
- * JUnitDoclet to hold the tests for NestedCreationTool.
- * @see CH.ifa.draw.contrib.NestedCreationTool
- */
-// JUnitDoclet end javadoc_class
-public class NestedCreationToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NestedCreationTool nestedcreationtool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NestedCreationToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NestedCreationToolTest(String name) {
-		// JUnitDoclet begin method NestedCreationToolTest
-		super(name);
-		// JUnitDoclet end method NestedCreationToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.NestedCreationTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.NestedCreationTool(getDrawingEditor(), new RectangleFigure(new Point(20, 20), new Point(90, 90)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nestedcreationtool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nestedcreationtool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.contrib.NestedCreationTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.contrib.NestedCreationTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.contrib.NestedCreationTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method getContainerFigure()
-	/**
-	 * Method testGetContainerFigure is testing getContainerFigure
-	 * @see CH.ifa.draw.contrib.NestedCreationTool#getContainerFigure()
-	 */
-	// JUnitDoclet end javadoc_method getContainerFigure()
-	public void testGetContainerFigure() throws Exception {
-		// JUnitDoclet begin method getContainerFigure
-		// JUnitDoclet end method getContainerFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonFigureTest.java
deleted file mode 100644
index a4cf0d434..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonFigureTest.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.PolygonFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolygonFigureTest is generated by
- * JUnitDoclet to hold the tests for PolygonFigure.
- * @see CH.ifa.draw.contrib.PolygonFigure
- */
-// JUnitDoclet end javadoc_class
-public class PolygonFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolygonFigure polygonfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolygonFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolygonFigureTest(String name) {
-		// JUnitDoclet begin method PolygonFigureTest
-		super(name);
-		// JUnitDoclet end method PolygonFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.PolygonFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.PolygonFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polygonfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polygonfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.contrib.PolygonFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.contrib.PolygonFigure#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.contrib.PolygonFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.contrib.PolygonFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method getPolygon()
-	/**
-	 * Method testGetPolygon is testing getPolygon
-	 * @see CH.ifa.draw.contrib.PolygonFigure#getPolygon()
-	 */
-	// JUnitDoclet end javadoc_method getPolygon()
-	public void testGetPolygon() throws Exception {
-		// JUnitDoclet begin method getPolygon
-		// JUnitDoclet end method getPolygon
-	}
-
-	// JUnitDoclet begin javadoc_method getInternalPolygon()
-	/**
-	 * Method testGetInternalPolygon is testing getInternalPolygon
-	 * @see CH.ifa.draw.contrib.PolygonFigure#getInternalPolygon()
-	 */
-	// JUnitDoclet end javadoc_method getInternalPolygon()
-	public void testGetInternalPolygon() throws Exception {
-		// JUnitDoclet begin method getInternalPolygon
-		// JUnitDoclet end method getInternalPolygon
-	}
-
-	// JUnitDoclet begin javadoc_method center()
-	/**
-	 * Method testCenter is testing center
-	 * @see CH.ifa.draw.contrib.PolygonFigure#center()
-	 */
-	// JUnitDoclet end javadoc_method center()
-	public void testCenter() throws Exception {
-		// JUnitDoclet begin method center
-		// JUnitDoclet end method center
-	}
-
-	// JUnitDoclet begin javadoc_method points()
-	/**
-	 * Method testPoints is testing points
-	 * @see CH.ifa.draw.contrib.PolygonFigure#points()
-	 */
-	// JUnitDoclet end javadoc_method points()
-	public void testPoints() throws Exception {
-		// JUnitDoclet begin method points
-		// JUnitDoclet end method points
-	}
-
-	// JUnitDoclet begin javadoc_method pointCount()
-	/**
-	 * Method testPointCount is testing pointCount
-	 * @see CH.ifa.draw.contrib.PolygonFigure#pointCount()
-	 */
-	// JUnitDoclet end javadoc_method pointCount()
-	public void testPointCount() throws Exception {
-		// JUnitDoclet begin method pointCount
-		// JUnitDoclet end method pointCount
-	}
-
-	// JUnitDoclet begin javadoc_method basicMoveBy()
-	/**
-	 * Method testBasicMoveBy is testing basicMoveBy
-	 * @see CH.ifa.draw.contrib.PolygonFigure#basicMoveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method basicMoveBy()
-	public void testBasicMoveBy() throws Exception {
-		// JUnitDoclet begin method basicMoveBy
-		// JUnitDoclet end method basicMoveBy
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.contrib.PolygonFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see CH.ifa.draw.contrib.PolygonFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.contrib.PolygonFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see CH.ifa.draw.contrib.PolygonFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method addPoint()
-	/**
-	 * Method testAddPoint is testing addPoint
-	 * @see CH.ifa.draw.contrib.PolygonFigure#addPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method addPoint()
-	public void testAddPoint() throws Exception {
-		// JUnitDoclet begin method addPoint
-		// JUnitDoclet end method addPoint
-	}
-
-	// JUnitDoclet begin javadoc_method setPointAt()
-	/**
-	 * Method testSetPointAt is testing setPointAt
-	 * @see CH.ifa.draw.contrib.PolygonFigure#setPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method setPointAt()
-	public void testSetPointAt() throws Exception {
-		// JUnitDoclet begin method setPointAt
-		// JUnitDoclet end method setPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method insertPointAt()
-	/**
-	 * Method testInsertPointAt is testing insertPointAt
-	 * @see CH.ifa.draw.contrib.PolygonFigure#insertPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method insertPointAt()
-	public void testInsertPointAt() throws Exception {
-		// JUnitDoclet begin method insertPointAt
-		// JUnitDoclet end method insertPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method removePointAt()
-	/**
-	 * Method testRemovePointAt is testing removePointAt
-	 * @see CH.ifa.draw.contrib.PolygonFigure#removePointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method removePointAt()
-	public void testRemovePointAt() throws Exception {
-		// JUnitDoclet begin method removePointAt
-		// JUnitDoclet end method removePointAt
-	}
-
-	// JUnitDoclet begin javadoc_method scaleRotate()
-	/**
-	 * Method testScaleRotate is testing scaleRotate
-	 * @see CH.ifa.draw.contrib.PolygonFigure#scaleRotate(java.awt.Point, java.awt.Polygon, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method scaleRotate()
-	public void testScaleRotate() throws Exception {
-		// JUnitDoclet begin method scaleRotate
-		// JUnitDoclet end method scaleRotate
-	}
-
-	// JUnitDoclet begin javadoc_method smoothPoints()
-	/**
-	 * Method testSmoothPoints is testing smoothPoints
-	 * @see CH.ifa.draw.contrib.PolygonFigure#smoothPoints()
-	 */
-	// JUnitDoclet end javadoc_method smoothPoints()
-	public void testSmoothPoints() throws Exception {
-		// JUnitDoclet begin method smoothPoints
-		// JUnitDoclet end method smoothPoints
-	}
-
-	// JUnitDoclet begin javadoc_method splitSegment()
-	/**
-	 * Method testSplitSegment is testing splitSegment
-	 * @see CH.ifa.draw.contrib.PolygonFigure#splitSegment(int, int)
-	 */
-	// JUnitDoclet end javadoc_method splitSegment()
-	public void testSplitSegment() throws Exception {
-		// JUnitDoclet begin method splitSegment
-		// JUnitDoclet end method splitSegment
-	}
-
-	// JUnitDoclet begin javadoc_method pointAt()
-	/**
-	 * Method testPointAt is testing pointAt
-	 * @see CH.ifa.draw.contrib.PolygonFigure#pointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method pointAt()
-	public void testPointAt() throws Exception {
-		// JUnitDoclet begin method pointAt
-		// JUnitDoclet end method pointAt
-	}
-
-	// JUnitDoclet begin javadoc_method outermostPoint()
-	/**
-	 * Method testOutermostPoint is testing outermostPoint
-	 * @see CH.ifa.draw.contrib.PolygonFigure#outermostPoint()
-	 */
-	// JUnitDoclet end javadoc_method outermostPoint()
-	public void testOutermostPoint() throws Exception {
-		// JUnitDoclet begin method outermostPoint
-		// JUnitDoclet end method outermostPoint
-	}
-
-	// JUnitDoclet begin javadoc_method findSegment()
-	/**
-	 * Method testFindSegment is testing findSegment
-	 * @see CH.ifa.draw.contrib.PolygonFigure#findSegment(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findSegment()
-	public void testFindSegment() throws Exception {
-		// JUnitDoclet begin method findSegment
-		// JUnitDoclet end method findSegment
-	}
-
-	// JUnitDoclet begin javadoc_method chop()
-	/**
-	 * Method testChop is testing chop
-	 * @see CH.ifa.draw.contrib.PolygonFigure#chop(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method chop()
-	public void testChop() throws Exception {
-		// JUnitDoclet begin method chop
-		// JUnitDoclet end method chop
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.contrib.PolygonFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.contrib.PolygonFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method locator()
-	/**
-	 * Method testLocator is testing locator
-	 * @see CH.ifa.draw.contrib.PolygonFigure#locator(int)
-	 */
-	// JUnitDoclet end javadoc_method locator()
-	public void testLocator() throws Exception {
-		// JUnitDoclet begin method locator
-		// JUnitDoclet end method locator
-	}
-
-	// JUnitDoclet begin javadoc_method bounds()
-	/**
-	 * Method testBounds is testing bounds
-	 * @see CH.ifa.draw.contrib.PolygonFigure#bounds(java.awt.Polygon)
-	 */
-	// JUnitDoclet end javadoc_method bounds()
-	public void testBounds() throws Exception {
-		// JUnitDoclet begin method bounds
-		// JUnitDoclet end method bounds
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonHandleTest.java
deleted file mode 100644
index 0bc94bdb6..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonHandleTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.PolygonFigure;
-import CH.ifa.draw.contrib.PolygonHandle;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolygonHandleTest is generated by
- * JUnitDoclet to hold the tests for PolygonHandle.
- * @see CH.ifa.draw.contrib.PolygonHandle
- */
-// JUnitDoclet end javadoc_class
-public class PolygonHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolygonHandle polygonhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolygonHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolygonHandleTest(String name) {
-		// JUnitDoclet begin method PolygonHandleTest
-		super(name);
-		// JUnitDoclet end method PolygonHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.PolygonHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		PolygonFigure figure = new PolygonFigure(20, 20);
-		figure.addPoint(30, 30);
-		figure.addPoint(40, 40);
-		return new CH.ifa.draw.contrib.PolygonHandle(figure, PolygonFigure.locator(2), 2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polygonhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polygonhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see CH.ifa.draw.contrib.PolygonHandle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see CH.ifa.draw.contrib.PolygonHandle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see CH.ifa.draw.contrib.PolygonHandle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.contrib.PolygonHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonToolTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonToolTest.java
deleted file mode 100644
index 40c3c486d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonToolTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.PolygonTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolygonToolTest is generated by
- * JUnitDoclet to hold the tests for PolygonTool.
- * @see CH.ifa.draw.contrib.PolygonTool
- */
-// JUnitDoclet end javadoc_class
-public class PolygonToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolygonTool polygontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolygonToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolygonToolTest(String name) {
-		// JUnitDoclet begin method PolygonToolTest
-		super(name);
-		// JUnitDoclet end method PolygonToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.PolygonTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.PolygonTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polygontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polygontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.contrib.PolygonTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.contrib.PolygonTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.contrib.PolygonTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.contrib.PolygonTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.contrib.PolygonTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.contrib.PolygonTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/SVGDrawAppTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/SVGDrawAppTest.java
deleted file mode 100644
index 62caff8a2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/SVGDrawAppTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.SVGDrawApp;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SVGDrawAppTest is generated by
- * JUnitDoclet to hold the tests for SVGDrawApp.
- * @see CH.ifa.draw.contrib.SVGDrawApp
- */
-// JUnitDoclet end javadoc_class
-public class SVGDrawAppTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SVGDrawApp svgdrawapp;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SVGDrawAppTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SVGDrawAppTest(String name) {
-		// JUnitDoclet begin method SVGDrawAppTest
-		super(name);
-		// JUnitDoclet end method SVGDrawAppTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.SVGDrawApp createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.SVGDrawApp();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		svgdrawapp = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		svgdrawapp = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.contrib.SVGDrawApp#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method createStorageFormatManager()
-	/**
-	 * Method testCreateStorageFormatManager is testing createStorageFormatManager
-	 * @see CH.ifa.draw.contrib.SVGDrawApp#createStorageFormatManager()
-	 */
-	// JUnitDoclet end javadoc_method createStorageFormatManager()
-	public void testCreateStorageFormatManager() throws Exception {
-		// JUnitDoclet begin method createStorageFormatManager
-		// JUnitDoclet end method createStorageFormatManager
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/SVGStorageFormatTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/SVGStorageFormatTest.java
deleted file mode 100644
index a6f0cf164..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/SVGStorageFormatTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.SVGStorageFormat;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SVGStorageFormatTest is generated by
- * JUnitDoclet to hold the tests for SVGStorageFormat.
- * @see CH.ifa.draw.contrib.SVGStorageFormat
- */
-// JUnitDoclet end javadoc_class
-public class SVGStorageFormatTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SVGStorageFormat svgstorageformat;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SVGStorageFormatTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SVGStorageFormatTest(String name) {
-		// JUnitDoclet begin method SVGStorageFormatTest
-		super(name);
-		// JUnitDoclet end method SVGStorageFormatTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.SVGStorageFormat createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.SVGStorageFormat();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		svgstorageformat = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		svgstorageformat = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createFileDescription()
-	/**
-	 * Method testCreateFileDescription is testing createFileDescription
-	 * @see CH.ifa.draw.contrib.SVGStorageFormat#createFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method createFileDescription()
-	public void testCreateFileDescription() throws Exception {
-		// JUnitDoclet begin method createFileDescription
-		// JUnitDoclet end method createFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method store()
-	/**
-	 * Method testStore is testing store
-	 * @see CH.ifa.draw.contrib.SVGStorageFormat#store(java.lang.String, CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method store()
-	public void testStore() throws Exception {
-		// JUnitDoclet begin method store
-		// JUnitDoclet end method store
-	}
-
-	// JUnitDoclet begin javadoc_method restore()
-	/**
-	 * Method testRestore is testing restore
-	 * @see CH.ifa.draw.contrib.SVGStorageFormat#restore(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method restore()
-	public void testRestore() throws Exception {
-		// JUnitDoclet begin method restore
-		// JUnitDoclet end method restore
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/SimpleLayouterTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/SimpleLayouterTest.java
deleted file mode 100644
index 3ae9d3794..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/SimpleLayouterTest.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.GraphicalCompositeFigure;
-import CH.ifa.draw.contrib.Layoutable;
-import CH.ifa.draw.contrib.SimpleLayouter;
-import CH.ifa.draw.figures.RectangleFigure;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SimpleLayouterTest is generated by
- * JUnitDoclet to hold the tests for SimpleLayouter.
- * @see CH.ifa.draw.contrib.SimpleLayouter
- */
-// JUnitDoclet end javadoc_class
-public class SimpleLayouterTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SimpleLayouter simplelayouter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SimpleLayouterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SimpleLayouterTest(String name) {
-		// JUnitDoclet begin method SimpleLayouterTest
-		super(name);
-		// JUnitDoclet end method SimpleLayouterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.SimpleLayouter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Layoutable fig = new GraphicalCompositeFigure(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		return new CH.ifa.draw.contrib.SimpleLayouter(fig);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		simplelayouter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		simplelayouter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setLayoutable()
-	/**
-	 * Method testSetGetLayoutable is testing setLayoutable
-	 * and getLayoutable together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#setLayoutable(CH.ifa.draw.contrib.Layoutable)
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#getLayoutable()
-	 */
-	// JUnitDoclet end javadoc_method setLayoutable()
-	public void testSetGetLayoutable() throws Exception {
-		// JUnitDoclet begin method setLayoutable getLayoutable
-		CH.ifa.draw.contrib.Layoutable[] tests = { new GraphicalCompositeFigure(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			simplelayouter.setLayoutable(tests[i]);
-			assertEquals(tests[i], simplelayouter.getLayoutable());
-		}
-		// JUnitDoclet end method setLayoutable getLayoutable
-	}
-
-	// JUnitDoclet begin javadoc_method setInsets()
-	/**
-	 * Method testSetGetInsets is testing setInsets
-	 * and getInsets together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#setInsets(java.awt.Insets)
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#getInsets()
-	 */
-	// JUnitDoclet end javadoc_method setInsets()
-	public void testSetGetInsets() throws Exception {
-		// JUnitDoclet begin method setInsets getInsets
-		java.awt.Insets[] tests = { new java.awt.Insets(5, 5, 5, 5), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			simplelayouter.setInsets(tests[i]);
-			assertEquals(tests[i], simplelayouter.getInsets());
-		}
-		// JUnitDoclet end method setInsets getInsets
-	}
-
-	// JUnitDoclet begin javadoc_method create()
-	/**
-	 * Method testCreate is testing create
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#create(CH.ifa.draw.contrib.Layoutable)
-	 */
-	// JUnitDoclet end javadoc_method create()
-	public void testCreate() throws Exception {
-		// JUnitDoclet begin method create
-		// JUnitDoclet end method create
-	}
-
-	// JUnitDoclet begin javadoc_method calculateLayout()
-	/**
-	 * Method testCalculateLayout is testing calculateLayout
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#calculateLayout(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method calculateLayout()
-	public void testCalculateLayout() throws Exception {
-		// JUnitDoclet begin method calculateLayout
-		// JUnitDoclet end method calculateLayout
-	}
-
-	// JUnitDoclet begin javadoc_method layout()
-	/**
-	 * Method testLayout is testing layout
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#layout(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method layout()
-	public void testLayout() throws Exception {
-		// JUnitDoclet begin method layout
-		// JUnitDoclet end method layout
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/SplitConnectionToolTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/SplitConnectionToolTest.java
deleted file mode 100644
index 3a8422194..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/SplitConnectionToolTest.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.SplitConnectionTool;
-import CH.ifa.draw.figures.LineConnection;
-import CH.ifa.draw.framework.ConnectionFigure;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SplitConnectionToolTest is generated by
- * JUnitDoclet to hold the tests for SplitConnectionTool.
- * @see CH.ifa.draw.contrib.SplitConnectionTool
- */
-// JUnitDoclet end javadoc_class
-public class SplitConnectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SplitConnectionTool splitconnectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SplitConnectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SplitConnectionToolTest(String name) {
-		// JUnitDoclet begin method SplitConnectionToolTest
-		super(name);
-		// JUnitDoclet end method SplitConnectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.SplitConnectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		ConnectionFigure lineConnection = new LineConnection();
-		return new CH.ifa.draw.contrib.SplitConnectionTool(getDrawingEditor(), lineConnection);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		splitconnectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		splitconnectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.contrib.SplitConnectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.contrib.SplitConnectionTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.contrib.SplitConnectionTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.contrib.SplitConnectionTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.contrib.SplitConnectionTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/StandardLayouterTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/StandardLayouterTest.java
deleted file mode 100644
index 2a8b5c326..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/StandardLayouterTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.StandardLayouter;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardLayouterTest is generated by
- * JUnitDoclet to hold the tests for StandardLayouter.
- * @see CH.ifa.draw.contrib.StandardLayouter
- */
-// JUnitDoclet end javadoc_class
-public class StandardLayouterTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardLayouter standardlayouter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardLayouterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardLayouterTest(String name) {
-		// JUnitDoclet begin method StandardLayouterTest
-		super(name);
-		// JUnitDoclet end method StandardLayouterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.StandardLayouter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.StandardLayouter();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standardlayouter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standardlayouter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method create()
-	/**
-	 * Method testCreate is testing create
-	 * @see CH.ifa.draw.contrib.StandardLayouter#create(CH.ifa.draw.contrib.Layoutable)
-	 */
-	// JUnitDoclet end javadoc_method create()
-	public void testCreate() throws Exception {
-		// JUnitDoclet begin method create
-		// JUnitDoclet end method create
-	}
-
-	// JUnitDoclet begin javadoc_method calculateLayout()
-	/**
-	 * Method testCalculateLayout is testing calculateLayout
-	 * @see CH.ifa.draw.contrib.StandardLayouter#calculateLayout(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method calculateLayout()
-	public void testCalculateLayout() throws Exception {
-		// JUnitDoclet begin method calculateLayout
-		// JUnitDoclet end method calculateLayout
-	}
-
-	// JUnitDoclet begin javadoc_method layout()
-	/**
-	 * Method testLayout is testing layout
-	 * @see CH.ifa.draw.contrib.StandardLayouter#layout(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method layout()
-	public void testLayout() throws Exception {
-		// JUnitDoclet begin method layout
-		// JUnitDoclet end method layout
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaFigureTest.java
deleted file mode 100644
index 554123b2b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaFigureTest.java
+++ /dev/null
@@ -1,508 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import java.awt.Font;
-
-import CH.ifa.draw.contrib.TextAreaFigure;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TextAreaFigureTest is generated by
- * JUnitDoclet to hold the tests for TextAreaFigure.
- * @see CH.ifa.draw.contrib.TextAreaFigure
- */
-// JUnitDoclet end javadoc_class
-public class TextAreaFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private TextAreaFigure textareafigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor TextAreaFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public TextAreaFigureTest(String name) {
-		// JUnitDoclet begin method TextAreaFigureTest
-		super(name);
-		// JUnitDoclet end method TextAreaFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.TextAreaFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.TextAreaFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		textareafigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		textareafigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setText()
-	/**
-	 * Method testSetGetText is testing setText
-	 * and getText together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setText(java.lang.String)
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#getText()
-	 */
-	// JUnitDoclet end javadoc_method setText()
-	public void testSetGetText() throws Exception {
-		// JUnitDoclet begin method setText getText
-		java.lang.String[] tests = { "", " ", "a", "A", "?", "?", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setText(tests[i]);
-			assertEquals(tests[i], textareafigure.getText());
-		}
-		// JUnitDoclet end method setText getText
-	}
-
-	// JUnitDoclet begin javadoc_method textDisplayBox()
-	/**
-	 * Method testTextDisplayBox is testing textDisplayBox
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#textDisplayBox()
-	 */
-	// JUnitDoclet end javadoc_method textDisplayBox()
-	public void testTextDisplayBox() throws Exception {
-		// JUnitDoclet begin method textDisplayBox
-		// JUnitDoclet end method textDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method createFont()
-	/**
-	 * Method testCreateFont is testing createFont
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#createFont()
-	 */
-	// JUnitDoclet end javadoc_method createFont()
-	public void testCreateFont() throws Exception {
-		// JUnitDoclet begin method createFont
-		// JUnitDoclet end method createFont
-	}
-
-	// JUnitDoclet begin javadoc_method setReadOnly()
-	/**
-	 * Method testSetIsReadOnly is testing setReadOnly
-	 * and isReadOnly together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setReadOnly(boolean)
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#isReadOnly()
-	 */
-	// JUnitDoclet end javadoc_method setReadOnly()
-	public void testSetIsReadOnly() throws Exception {
-		// JUnitDoclet begin method setReadOnly isReadOnly
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setReadOnly(tests[i]);
-			assertEquals(tests[i], textareafigure.isReadOnly());
-		}
-		// JUnitDoclet end method setReadOnly isReadOnly
-	}
-
-	// JUnitDoclet begin javadoc_method acceptsTyping()
-	/**
-	 * Method testAcceptsTyping is testing acceptsTyping
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#acceptsTyping()
-	 */
-	// JUnitDoclet end javadoc_method acceptsTyping()
-	public void testAcceptsTyping() throws Exception {
-		// JUnitDoclet begin method acceptsTyping
-		// JUnitDoclet end method acceptsTyping
-	}
-
-	// JUnitDoclet begin javadoc_method isTextDirty()
-	/**
-	 * Method testIsTextDirty is testing isTextDirty
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#isTextDirty()
-	 */
-	// JUnitDoclet end javadoc_method isTextDirty()
-	public void testIsTextDirty() throws Exception {
-		// JUnitDoclet begin method isTextDirty
-		// JUnitDoclet end method isTextDirty
-	}
-
-	// JUnitDoclet begin javadoc_method setSizeDirty()
-	/**
-	 * Method testSetIsSizeDirty is testing setSizeDirty
-	 * and isSizeDirty together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setSizeDirty(boolean)
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#isSizeDirty()
-	 */
-	// JUnitDoclet end javadoc_method setSizeDirty()
-	public void testSetIsSizeDirty() throws Exception {
-		// JUnitDoclet begin method setSizeDirty isSizeDirty
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setSizeDirty(tests[i]);
-			assertEquals(tests[i], textareafigure.isSizeDirty());
-		}
-		// JUnitDoclet end method setSizeDirty isSizeDirty
-	}
-
-	// JUnitDoclet begin javadoc_method setFont()
-	/**
-	 * Method testSetGetFont is testing setFont
-	 * and getFont together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setFont(java.awt.Font)
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#getFont()
-	 */
-	// JUnitDoclet end javadoc_method setFont()
-	public void testSetGetFont() throws Exception {
-		// JUnitDoclet begin method setFont getFont
-		Font[] tests = { new Font("Helvetica", Font.PLAIN, 12)};
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setFont(tests[i]);
-			assertEquals(tests[i], textareafigure.getFont());
-		}
-		// JUnitDoclet end method setFont getFont
-	}
-
-	// JUnitDoclet begin method setNullFont()
-	/**
-	 * Test a null argument to setFont.		Expect an IllegalArgumentException
-	 * 
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setFont(java.awt.Font)
-	 */
-	public void testSetNullFont() throws Exception {
-		Font original = textareafigure.getFont();
-
-		try {
-			textareafigure.setFont(null);
-			fail("IllegalArgumentException expected");
-		}
-		catch (IllegalArgumentException ok) {
-			assertEquals("setFont(null) altered property value", original, textareafigure.getFont());
-		}
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method overlayColumns()		
-	/**
-	 * Method testOverlayColumns is testing overlayColumns
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#overlayColumns()
-	 */
-	// JUnitDoclet end javadoc_method overlayColumns()
-	public void testOverlayColumns() throws Exception {
-		// JUnitDoclet begin method overlayColumns
-		// JUnitDoclet end method overlayColumns
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method moveBy()
-	/**
-	 * Method testMoveBy is testing moveBy
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#moveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method moveBy()
-	public void testMoveBy() throws Exception {
-		// JUnitDoclet begin method moveBy
-		// JUnitDoclet end method moveBy
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method connect()
-	/**
-	 * Method testConnect is testing connect
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#connect(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method connect()
-	public void testConnect() throws Exception {
-		// JUnitDoclet begin method connect
-		// JUnitDoclet end method connect
-	}
-
-	// JUnitDoclet begin javadoc_method disconnect()
-	/**
-	 * Method testDisconnect is testing disconnect
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#disconnect(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method disconnect()
-	public void testDisconnect() throws Exception {
-		// JUnitDoclet begin method disconnect
-		// JUnitDoclet end method disconnect
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method getTextColor()
-	/**
-	 * Method testGetTextColor is testing getTextColor
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#getTextColor()
-	 */
-	// JUnitDoclet end javadoc_method getTextColor()
-	public void testGetTextColor() throws Exception {
-		// JUnitDoclet begin method getTextColor
-		// JUnitDoclet end method getTextColor
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method setFontDirty()
-	/**
-	 * Method testSetIsFontDirty is testing setFontDirty
-	 * and isFontDirty together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setFontDirty(boolean)
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#isFontDirty()
-	 */
-	// JUnitDoclet end javadoc_method setFontDirty()
-	public void testSetIsFontDirty() throws Exception {
-		// JUnitDoclet begin method setFontDirty isFontDirty
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setFontDirty(tests[i]);
-			assertEquals(tests[i], textareafigure.isFontDirty());
-		}
-		// JUnitDoclet end method setFontDirty isFontDirty
-	}
-
-	// JUnitDoclet begin javadoc_method getRepresentingFigure()
-	/**
-	 * Method testGetRepresentingFigure is testing getRepresentingFigure
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#getRepresentingFigure()
-	 */
-	// JUnitDoclet end javadoc_method getRepresentingFigure()
-	public void testGetRepresentingFigure() throws Exception {
-		// JUnitDoclet begin method getRepresentingFigure
-		// JUnitDoclet end method getRepresentingFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaToolTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaToolTest.java
deleted file mode 100644
index 49972766f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaToolTest.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.TextAreaTool;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TextAreaToolTest is generated by
- * JUnitDoclet to hold the tests for TextAreaTool.
- * @see CH.ifa.draw.contrib.TextAreaTool
- */
-// JUnitDoclet end javadoc_class
-public class TextAreaToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private TextAreaTool textareatool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor TextAreaToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public TextAreaToolTest(String name) {
-		// JUnitDoclet begin method TextAreaToolTest
-		super(name);
-		// JUnitDoclet end method TextAreaToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.TextAreaTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.TextAreaTool(getDrawingEditor(), new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		textareatool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		textareatool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.contrib.TextAreaTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.contrib.TextAreaTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.contrib.TextAreaTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.contrib.TextAreaTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.contrib.TextAreaTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method isActivated()
-	/**
-	 * Method testIsActivated is testing isActivated
-	 * @see CH.ifa.draw.contrib.TextAreaTool#isActivated()
-	 */
-	// JUnitDoclet end javadoc_method isActivated()
-	public void testIsActivated() throws Exception {
-		// JUnitDoclet begin method isActivated
-		// JUnitDoclet end method isActivated
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/TriangleFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/TriangleFigureTest.java
deleted file mode 100644
index 0849cbe16..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/TriangleFigureTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.TriangleFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TriangleFigureTest is generated by
- * JUnitDoclet to hold the tests for TriangleFigure.
- * @see CH.ifa.draw.contrib.TriangleFigure
- */
-// JUnitDoclet end javadoc_class
-public class TriangleFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private TriangleFigure trianglefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor TriangleFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public TriangleFigureTest(String name) {
-		// JUnitDoclet begin method TriangleFigureTest
-		super(name);
-		// JUnitDoclet end method TriangleFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.TriangleFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.TriangleFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		trianglefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		trianglefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.contrib.TriangleFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method rotate()
-	/**
-	 * Method testRotate is testing rotate
-	 * @see CH.ifa.draw.contrib.TriangleFigure#rotate(double)
-	 */
-	// JUnitDoclet end javadoc_method rotate()
-	public void testRotate() throws Exception {
-		// JUnitDoclet begin method rotate
-		// JUnitDoclet end method rotate
-	}
-
-	// JUnitDoclet begin javadoc_method getPolygon()
-	/**
-	 * Method testGetPolygon is testing getPolygon
-	 * @see CH.ifa.draw.contrib.TriangleFigure#getPolygon()
-	 */
-	// JUnitDoclet end javadoc_method getPolygon()
-	public void testGetPolygon() throws Exception {
-		// JUnitDoclet begin method getPolygon
-		// JUnitDoclet end method getPolygon
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.contrib.TriangleFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see CH.ifa.draw.contrib.TriangleFigure#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.contrib.TriangleFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method center()
-	/**
-	 * Method testCenter is testing center
-	 * @see CH.ifa.draw.contrib.TriangleFigure#center()
-	 */
-	// JUnitDoclet end javadoc_method center()
-	public void testCenter() throws Exception {
-		// JUnitDoclet begin method center
-		// JUnitDoclet end method center
-	}
-
-	// JUnitDoclet begin javadoc_method chop()
-	/**
-	 * Method testChop is testing chop
-	 * @see CH.ifa.draw.contrib.TriangleFigure#chop(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method chop()
-	public void testChop() throws Exception {
-		// JUnitDoclet begin method chop
-		// JUnitDoclet end method chop
-	}
-
-	// JUnitDoclet begin javadoc_method clone()
-	/**
-	 * Method testClone is testing clone
-	 * @see CH.ifa.draw.contrib.TriangleFigure#clone()
-	 */
-	// JUnitDoclet end javadoc_method clone()
-	public void testClone() throws Exception {
-		// JUnitDoclet begin method clone
-		// JUnitDoclet end method clone
-	}
-
-	// JUnitDoclet begin javadoc_method getRotationAngle()
-	/**
-	 * Method testGetRotationAngle is testing getRotationAngle
-	 * @see CH.ifa.draw.contrib.TriangleFigure#getRotationAngle()
-	 */
-	// JUnitDoclet end javadoc_method getRotationAngle()
-	public void testGetRotationAngle() throws Exception {
-		// JUnitDoclet begin method getRotationAngle
-		// JUnitDoclet end method getRotationAngle
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.contrib.TriangleFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.contrib.TriangleFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/WindowMenuTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/WindowMenuTest.java
deleted file mode 100644
index f2b18d473..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/WindowMenuTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.contrib.MDIDesktopPane;
-import CH.ifa.draw.contrib.WindowMenu;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase WindowMenuTest is generated by
- * JUnitDoclet to hold the tests for WindowMenu.
- * @see CH.ifa.draw.contrib.WindowMenu
- */
-// JUnitDoclet end javadoc_class
-public class WindowMenuTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private WindowMenu windowmenu;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor WindowMenuTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public WindowMenuTest(String name) {
-		// JUnitDoclet begin method WindowMenuTest
-		super(name);
-		// JUnitDoclet end method WindowMenuTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.WindowMenu createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		MDIDesktopPane desktop = (MDIDesktopPane) ((DrawApplication)getDrawingEditor()).getDesktop();
-		return new CH.ifa.draw.contrib.WindowMenu("TestWindowMenu", desktop, getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		windowmenu = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		windowmenu = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/figures/AllTests.java
deleted file mode 100644
index c29c385ad..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/AllTests.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.figures");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(ArrowTipTest.class));
-		suite.addTest(new TestSuite(BorderDecoratorTest.class));
-		suite.addTest(new TestSuite(BorderToolTest.class));
-		suite.addTest(new TestSuite(ChopEllipseConnectorTest.class));
-		suite.addTest(new TestSuite(ConnectedTextToolTest.class));
-		suite.addTest(new TestSuite(ElbowConnectionTest.class));
-		suite.addTest(new TestSuite(ElbowHandleTest.class));
-		suite.addTest(new TestSuite(EllipseFigureTest.class));
-		suite.addTest(new TestSuite(FigureAttributesTest.class));
-		suite.addTest(new TestSuite(FontSizeHandleTest.class));
-		suite.addTest(new TestSuite(GroupCommandTest.class));
-		suite.addTest(new TestSuite(GroupFigureTest.class));
-		suite.addTest(new TestSuite(ImageFigureTest.class));
-		suite.addTest(new TestSuite(InsertImageCommandTest.class));
-		suite.addTest(new TestSuite(LineConnectionTest.class));
-		suite.addTest(new TestSuite(LineFigureTest.class));
-		suite.addTest(new TestSuite(NullConnectorTest.class));
-		suite.addTest(new TestSuite(NullFigureTest.class));
-		suite.addTest(new TestSuite(NumberTextFigureTest.class));
-		suite.addTest(new TestSuite(PolyLineConnectorTest.class));
-		suite.addTest(new TestSuite(PolyLineFigureTest.class));
-		suite.addTest(new TestSuite(PolyLineHandleTest.class));
-		suite.addTest(new TestSuite(RectangleFigureTest.class));
-		suite.addTest(new TestSuite(RoundRectangleFigureTest.class));
-		suite.addTest(new TestSuite(ScribbleToolTest.class));
-		suite.addTest(new TestSuite(ShortestDistanceConnectorTest.class));
-		suite.addTest(new TestSuite(TextFigureTest.class));
-		suite.addTest(new TestSuite(TextToolTest.class));
-		suite.addTest(new TestSuite(UngroupCommandTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ArrowTipTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ArrowTipTest.java
deleted file mode 100644
index 7d4097e6a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ArrowTipTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.ArrowTip;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ArrowTipTest is generated by
- * JUnitDoclet to hold the tests for ArrowTip.
- * @see CH.ifa.draw.figures.ArrowTip
- */
-// JUnitDoclet end javadoc_class
-public class ArrowTipTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private ArrowTip arrowtip;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor ArrowTipTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public ArrowTipTest(String name) {
-    // JUnitDoclet begin method ArrowTipTest
-    super(name);
-    // JUnitDoclet end method ArrowTipTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public CH.ifa.draw.figures.ArrowTip createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new CH.ifa.draw.figures.ArrowTip();
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    arrowtip = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    arrowtip = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method outline()
-  /**
-   * Method testOutline is testing outline
-   * @see CH.ifa.draw.figures.ArrowTip#outline(int, int, int, int)
-   */
-  // JUnitDoclet end javadoc_method outline()
-  public void testOutline() throws Exception {
-    // JUnitDoclet begin method outline
-    // JUnitDoclet end method outline
-  }
-  
-  // JUnitDoclet begin javadoc_method write()
-  /**
-   * Method testWrite is testing write
-   * @see CH.ifa.draw.figures.ArrowTip#write(CH.ifa.draw.util.StorableOutput)
-   */
-  // JUnitDoclet end javadoc_method write()
-  public void testWrite() throws Exception {
-    // JUnitDoclet begin method write
-    // JUnitDoclet end method write
-  }
-  
-  // JUnitDoclet begin javadoc_method read()
-  /**
-   * Method testRead is testing read
-   * @see CH.ifa.draw.figures.ArrowTip#read(CH.ifa.draw.util.StorableInput)
-   */
-  // JUnitDoclet end javadoc_method read()
-  public void testRead() throws Exception {
-    // JUnitDoclet begin method read
-    // JUnitDoclet end method read
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/BorderDecoratorTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/BorderDecoratorTest.java
deleted file mode 100644
index fc4155659..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/BorderDecoratorTest.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import java.awt.Point;
-
-import CH.ifa.draw.figures.BorderDecorator;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BorderDecoratorTest is generated by
- * JUnitDoclet to hold the tests for BorderDecorator.
- * @see CH.ifa.draw.figures.BorderDecorator
- */
-// JUnitDoclet end javadoc_class
-public class BorderDecoratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BorderDecorator borderdecorator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BorderDecoratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BorderDecoratorTest(String name) {
-		// JUnitDoclet begin method BorderDecoratorTest
-		super(name);
-		// JUnitDoclet end method BorderDecoratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.BorderDecorator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.BorderDecorator();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		borderdecorator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		borderdecorator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setBorderOffset()
-	/**
-	 * Method testSetGetBorderOffset is testing setBorderOffset
-	 * and getBorderOffset together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.figures.BorderDecorator#setBorderOffset(java.awt.Point)
-	 * @see CH.ifa.draw.figures.BorderDecorator#getBorderOffset()
-	 */
-	// JUnitDoclet end javadoc_method setBorderOffset()
-	public void testSetGetBorderOffset() throws Exception {
-		// JUnitDoclet begin method setBorderOffset getBorderOffset
-		Point[] tests = { new java.awt.Point()};
-
-		for (int i = 0; i < tests.length; i++) {
-			borderdecorator.setBorderOffset(tests[i]);
-			assertEquals(tests[i], borderdecorator.getBorderOffset());
-		}
-		// JUnitDoclet end method setBorderOffset getBorderOffset
-	}
-
-	// JUnitDoclet begin method setNullBorderOffset()
-	/**
-	  * Test a null argument to setBorderOffset.  Expect an Point(0, 0) to come back
-	  * 
-	  * @see CH.ifa.draw.figures.BorderDecorator#setBorderOffset(java.awt.Point)
-	  */
-	public void setNullBorderOffset() throws Exception {
-		Point original = borderdecorator.getBorderOffset();
-
-		borderdecorator.setBorderOffset(null);
-		assertEquals(new Point(0, 0), borderdecorator.getBorderOffset());
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.figures.BorderDecorator#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.BorderDecorator#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.figures.BorderDecorator#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see CH.ifa.draw.figures.BorderDecorator#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/BorderToolTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/BorderToolTest.java
deleted file mode 100644
index 65c4935ee..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/BorderToolTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.BorderTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BorderToolTest is generated by
- * JUnitDoclet to hold the tests for BorderTool.
- * @see CH.ifa.draw.figures.BorderTool
- */
-// JUnitDoclet end javadoc_class
-public class BorderToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BorderTool bordertool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BorderToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BorderToolTest(String name) {
-		// JUnitDoclet begin method BorderToolTest
-		super(name);
-		// JUnitDoclet end method BorderToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.BorderTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.BorderTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bordertool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bordertool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.figures.BorderTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method action()
-	/**
-	 * Method testAction is testing action
-	 * @see CH.ifa.draw.figures.BorderTool#action(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method action()
-	public void testAction() throws Exception {
-		// JUnitDoclet begin method action
-		// JUnitDoclet end method action
-	}
-
-	// JUnitDoclet begin javadoc_method reverseAction()
-	/**
-	 * Method testReverseAction is testing reverseAction
-	 * @see CH.ifa.draw.figures.BorderTool#reverseAction(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method reverseAction()
-	public void testReverseAction() throws Exception {
-		// JUnitDoclet begin method reverseAction
-		// JUnitDoclet end method reverseAction
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ChopEllipseConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ChopEllipseConnectorTest.java
deleted file mode 100644
index fe3190f35..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ChopEllipseConnectorTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.ChopEllipseConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChopEllipseConnectorTest is generated by
- * JUnitDoclet to hold the tests for ChopEllipseConnector.
- * @see CH.ifa.draw.figures.ChopEllipseConnector
- */
-// JUnitDoclet end javadoc_class
-public class ChopEllipseConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChopEllipseConnector chopellipseconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChopEllipseConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChopEllipseConnectorTest(String name) {
-		// JUnitDoclet begin method ChopEllipseConnectorTest
-		super(name);
-		// JUnitDoclet end method ChopEllipseConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ChopEllipseConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.ChopEllipseConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		chopellipseconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		chopellipseconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ConnectedTextToolTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ConnectedTextToolTest.java
deleted file mode 100644
index 0f327d70d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ConnectedTextToolTest.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.ConnectedTextTool;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ConnectedTextToolTest is generated by
- * JUnitDoclet to hold the tests for ConnectedTextTool.
- * @see CH.ifa.draw.figures.ConnectedTextTool
- */
-// JUnitDoclet end javadoc_class
-public class ConnectedTextToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ConnectedTextTool connectedtexttool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ConnectedTextToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ConnectedTextToolTest(String name) {
-		// JUnitDoclet begin method ConnectedTextToolTest
-		super(name);
-		// JUnitDoclet end method ConnectedTextToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ConnectedTextTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.ConnectedTextTool(getDrawingEditor(), new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		connectedtexttool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		connectedtexttool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.figures.ConnectedTextTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method getConnectedFigure()
-	/**
-	 * Method testGetConnectedFigure is testing getConnectedFigure
-	 * @see CH.ifa.draw.figures.ConnectedTextTool#getConnectedFigure()
-	 */
-	// JUnitDoclet end javadoc_method getConnectedFigure()
-	public void testGetConnectedFigure() throws Exception {
-		// JUnitDoclet begin method getConnectedFigure
-		// JUnitDoclet end method getConnectedFigure
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.figures.ConnectedTextTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ElbowConnectionTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ElbowConnectionTest.java
deleted file mode 100644
index 0199f0334..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ElbowConnectionTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.ElbowConnection;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ElbowConnectionTest is generated by
- * JUnitDoclet to hold the tests for ElbowConnection.
- * @see CH.ifa.draw.figures.ElbowConnection
- */
-// JUnitDoclet end javadoc_class
-public class ElbowConnectionTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ElbowConnection elbowconnection;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ElbowConnectionTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ElbowConnectionTest(String name) {
-		// JUnitDoclet begin method ElbowConnectionTest
-		super(name);
-		// JUnitDoclet end method ElbowConnectionTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ElbowConnection createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.ElbowConnection();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		elbowconnection = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		elbowconnection = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method updateConnection()
-	/**
-	 * Method testUpdateConnection is testing updateConnection
-	 * @see CH.ifa.draw.figures.ElbowConnection#updateConnection()
-	 */
-	// JUnitDoclet end javadoc_method updateConnection()
-	public void testUpdateConnection() throws Exception {
-		// JUnitDoclet begin method updateConnection
-		// JUnitDoclet end method updateConnection
-	}
-
-	// JUnitDoclet begin javadoc_method layoutConnection()
-	/**
-	 * Method testLayoutConnection is testing layoutConnection
-	 * @see CH.ifa.draw.figures.ElbowConnection#layoutConnection()
-	 */
-	// JUnitDoclet end javadoc_method layoutConnection()
-	public void testLayoutConnection() throws Exception {
-		// JUnitDoclet begin method layoutConnection
-		// JUnitDoclet end method layoutConnection
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.ElbowConnection#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method connectedTextLocator()
-	/**
-	 * Method testConnectedTextLocator is testing connectedTextLocator
-	 * @see CH.ifa.draw.figures.ElbowConnection#connectedTextLocator(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method connectedTextLocator()
-	public void testConnectedTextLocator() throws Exception {
-		// JUnitDoclet begin method connectedTextLocator
-		// JUnitDoclet end method connectedTextLocator
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ElbowHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ElbowHandleTest.java
deleted file mode 100644
index 546e99751..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ElbowHandleTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.ElbowHandle;
-import CH.ifa.draw.figures.LineConnection;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ElbowHandleTest is generated by
- * JUnitDoclet to hold the tests for ElbowHandle.
- * @see CH.ifa.draw.figures.ElbowHandle
- */
-// JUnitDoclet end javadoc_class
-public class ElbowHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ElbowHandle elbowhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ElbowHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ElbowHandleTest(String name) {
-		// JUnitDoclet begin method ElbowHandleTest
-		super(name);
-		// JUnitDoclet end method ElbowHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ElbowHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		LineConnection lineConn = new LineConnection();
-		//lineConn.connectStart();
-		//lineConn.connectEnd();
-		return new CH.ifa.draw.figures.ElbowHandle(lineConn, 1);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		elbowhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		elbowhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see CH.ifa.draw.figures.ElbowHandle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see CH.ifa.draw.figures.ElbowHandle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.figures.ElbowHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.figures.ElbowHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/EllipseFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/EllipseFigureTest.java
deleted file mode 100644
index 3b29b28d4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/EllipseFigureTest.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.EllipseFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase EllipseFigureTest is generated by
- * JUnitDoclet to hold the tests for EllipseFigure.
- * @see CH.ifa.draw.figures.EllipseFigure
- */
-// JUnitDoclet end javadoc_class
-public class EllipseFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private EllipseFigure ellipsefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor EllipseFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public EllipseFigureTest(String name) {
-		// JUnitDoclet begin method EllipseFigureTest
-		super(name);
-		// JUnitDoclet end method EllipseFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.EllipseFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.EllipseFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		ellipsefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		ellipsefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.EllipseFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.EllipseFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.EllipseFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.figures.EllipseFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see CH.ifa.draw.figures.EllipseFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see CH.ifa.draw.figures.EllipseFigure#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see CH.ifa.draw.figures.EllipseFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.EllipseFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.EllipseFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/FigureAttributesTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/FigureAttributesTest.java
deleted file mode 100644
index d785ce465..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/FigureAttributesTest.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.FigureAttributes;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureAttributesTest is generated by
- * JUnitDoclet to hold the tests for FigureAttributes.
- * @see CH.ifa.draw.figures.FigureAttributes
- */
-// JUnitDoclet end javadoc_class
-public class FigureAttributesTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureAttributes figureattributes;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureAttributesTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureAttributesTest(String name) {
-		// JUnitDoclet begin method FigureAttributesTest
-		super(name);
-		// JUnitDoclet end method FigureAttributesTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.FigureAttributes createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.FigureAttributes();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figureattributes = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figureattributes = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method get()
-	/**
-	 * Method testGet is testing get
-	 * @see CH.ifa.draw.figures.FigureAttributes#get(CH.ifa.draw.framework.FigureAttributeConstant)
-	 */
-	// JUnitDoclet end javadoc_method get()
-	public void testGet() throws Exception {
-		// JUnitDoclet begin method get
-		// JUnitDoclet end method get
-	}
-
-	// JUnitDoclet begin javadoc_method set()
-	/**
-	 * Method testSet is testing set
-	 * @see CH.ifa.draw.figures.FigureAttributes#set(CH.ifa.draw.framework.FigureAttributeConstant, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method set()
-	public void testSet() throws Exception {
-		// JUnitDoclet begin method set
-		// JUnitDoclet end method set
-	}
-
-	// JUnitDoclet begin javadoc_method hasDefined()
-	/**
-	 * Method testHasDefined is testing hasDefined
-	 * @see CH.ifa.draw.figures.FigureAttributes#hasDefined(CH.ifa.draw.framework.FigureAttributeConstant)
-	 */
-	// JUnitDoclet end javadoc_method hasDefined()
-	public void testHasDefined() throws Exception {
-		// JUnitDoclet begin method hasDefined
-		// JUnitDoclet end method hasDefined
-	}
-
-	// JUnitDoclet begin javadoc_method clone()
-	/**
-	 * Method testClone is testing clone
-	 * @see CH.ifa.draw.figures.FigureAttributes#clone()
-	 */
-	// JUnitDoclet end javadoc_method clone()
-	public void testClone() throws Exception {
-		// JUnitDoclet begin method clone
-		// JUnitDoclet end method clone
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.FigureAttributes#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.FigureAttributes#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method writeColor()
-	/**
-	 * Method testWriteColor is testing writeColor
-	 * @see CH.ifa.draw.figures.FigureAttributes#writeColor(CH.ifa.draw.util.StorableOutput, java.lang.String, java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method writeColor()
-	public void testWriteColor() throws Exception {
-		// JUnitDoclet begin method writeColor
-		// JUnitDoclet end method writeColor
-	}
-
-	// JUnitDoclet begin javadoc_method readColor()
-	/**
-	 * Method testReadColor is testing readColor
-	 * @see CH.ifa.draw.figures.FigureAttributes#readColor(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method readColor()
-	public void testReadColor() throws Exception {
-		// JUnitDoclet begin method readColor
-		// JUnitDoclet end method readColor
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/FiguresSuite.java b/JHotDraw/src/CH/ifa/draw/test/figures/FiguresSuite.java
deleted file mode 100644
index 0af77d546..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/FiguresSuite.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * @(#)FiguresSuite.java
- *
- * Project:     JHotdraw - a GUI framework for technical drawings
- *              http://www.jhotdraw.org
- *              http://jhotdraw.sourceforge.net
- * Copyright:   � by the original author(s) and all contributors
- * License:     Lesser GNU Public License (LGPL)
- *              http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite FiguresSuite
-*/
-// JUnitDoclet end javadoc_class
-public class FiguresSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.figures");
-
-		suite.addTestSuite(CH.ifa.draw.test.figures.NullConnectorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.NullFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.UngroupCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ShortestDistanceConnectorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ScribbleToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.RectangleFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.RoundRectangleFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.PolyLineHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.PolyLineConnectorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.NumberTextFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.LineFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.InsertImageCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ImageFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.GroupFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.GroupCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.FontSizeHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.EllipseFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ElbowHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ElbowConnectionTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.TextToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ConnectedTextToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ChopEllipseConnectorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.BorderToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.BorderDecoratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ArrowTipTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.FigureAttributesTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.TextFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.PolyLineFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.LineConnectionTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/FontSizeHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/FontSizeHandleTest.java
deleted file mode 100644
index 2419836ac..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/FontSizeHandleTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.FontSizeHandle;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.RelativeLocator;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FontSizeHandleTest is generated by
- * JUnitDoclet to hold the tests for FontSizeHandle.
- * @see CH.ifa.draw.figures.FontSizeHandle
- */
-// JUnitDoclet end javadoc_class
-public class FontSizeHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FontSizeHandle fontsizehandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FontSizeHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FontSizeHandleTest(String name) {
-		// JUnitDoclet begin method FontSizeHandleTest
-		super(name);
-		// JUnitDoclet end method FontSizeHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.FontSizeHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.FontSizeHandle(new RectangleFigure(new Point(10, 10), new Point(100, 100)), new RelativeLocator());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		fontsizehandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		fontsizehandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see CH.ifa.draw.figures.FontSizeHandle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see CH.ifa.draw.figures.FontSizeHandle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see CH.ifa.draw.figures.FontSizeHandle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.figures.FontSizeHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/GroupCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/GroupCommandTest.java
deleted file mode 100644
index 8557994c7..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/GroupCommandTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.GroupCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GroupCommandTest is generated by
- * JUnitDoclet to hold the tests for GroupCommand.
- * @see CH.ifa.draw.figures.GroupCommand
- */
-// JUnitDoclet end javadoc_class
-public class GroupCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private GroupCommand groupcommand;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor GroupCommandTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public GroupCommandTest(String name) {
-    // JUnitDoclet begin method GroupCommandTest
-    super(name);
-    // JUnitDoclet end method GroupCommandTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public CH.ifa.draw.figures.GroupCommand createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new CH.ifa.draw.figures.GroupCommand("TestGroup", getDrawingEditor());
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    groupcommand = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    groupcommand = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method execute()
-  /**
-   * Method testExecute is testing execute
-   * @see CH.ifa.draw.figures.GroupCommand#execute()
-   */
-  // JUnitDoclet end javadoc_method execute()
-  public void testExecute() throws Exception {
-    // JUnitDoclet begin method execute
-    // JUnitDoclet end method execute
-  }
-  
-  // JUnitDoclet begin javadoc_method isExecutableWithView()
-  /**
-   * Method testIsExecutableWithView is testing isExecutableWithView
-   * @see CH.ifa.draw.figures.GroupCommand#isExecutableWithView()
-   */
-  // JUnitDoclet end javadoc_method isExecutableWithView()
-  public void testIsExecutableWithView() throws Exception {
-    // JUnitDoclet begin method isExecutableWithView
-    // JUnitDoclet end method isExecutableWithView
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/GroupFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/GroupFigureTest.java
deleted file mode 100644
index 3ba920d35..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/GroupFigureTest.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.GroupFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GroupFigureTest is generated by
- * JUnitDoclet to hold the tests for GroupFigure.
- * @see CH.ifa.draw.figures.GroupFigure
- */
-// JUnitDoclet end javadoc_class
-public class GroupFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private GroupFigure groupfigure;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor GroupFigureTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public GroupFigureTest(String name) {
-    // JUnitDoclet begin method GroupFigureTest
-    super(name);
-    // JUnitDoclet end method GroupFigureTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public CH.ifa.draw.figures.GroupFigure createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new CH.ifa.draw.figures.GroupFigure();
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    groupfigure = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    groupfigure = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method canConnect()
-  /**
-   * Method testCanConnect is testing canConnect
-   * @see CH.ifa.draw.figures.GroupFigure#canConnect()
-   */
-  // JUnitDoclet end javadoc_method canConnect()
-  public void testCanConnect() throws Exception {
-    // JUnitDoclet begin method canConnect
-    // JUnitDoclet end method canConnect
-  }
-  
-  // JUnitDoclet begin javadoc_method displayBox()
-  /**
-   * Method testDisplayBox is testing displayBox
-   * @see CH.ifa.draw.figures.GroupFigure#displayBox()
-   */
-  // JUnitDoclet end javadoc_method displayBox()
-  public void testDisplayBox() throws Exception {
-    // JUnitDoclet begin method displayBox
-    // JUnitDoclet end method displayBox
-  }
-  
-  // JUnitDoclet begin javadoc_method basicDisplayBox()
-  /**
-   * Method testBasicDisplayBox is testing basicDisplayBox
-   * @see CH.ifa.draw.figures.GroupFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-   */
-  // JUnitDoclet end javadoc_method basicDisplayBox()
-  public void testBasicDisplayBox() throws Exception {
-    // JUnitDoclet begin method basicDisplayBox
-    // JUnitDoclet end method basicDisplayBox
-  }
-  
-  // JUnitDoclet begin javadoc_method decompose()
-  /**
-   * Method testDecompose is testing decompose
-   * @see CH.ifa.draw.figures.GroupFigure#decompose()
-   */
-  // JUnitDoclet end javadoc_method decompose()
-  public void testDecompose() throws Exception {
-    // JUnitDoclet begin method decompose
-    // JUnitDoclet end method decompose
-  }
-  
-  // JUnitDoclet begin javadoc_method handles()
-  /**
-   * Method testHandles is testing handles
-   * @see CH.ifa.draw.figures.GroupFigure#handles()
-   */
-  // JUnitDoclet end javadoc_method handles()
-  public void testHandles() throws Exception {
-    // JUnitDoclet begin method handles
-    // JUnitDoclet end method handles
-  }
-  
-  // JUnitDoclet begin javadoc_method setAttribute()
-  /**
-   * Method testSetAttribute is testing setAttribute
-   * @see CH.ifa.draw.figures.GroupFigure#setAttribute(java.lang.String, java.lang.Object)
-   */
-  // JUnitDoclet end javadoc_method setAttribute()
-  public void testSetAttribute() throws Exception {
-    // JUnitDoclet begin method setAttribute
-    // JUnitDoclet end method setAttribute
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ImageFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ImageFigureTest.java
deleted file mode 100644
index 3ed6a9954..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ImageFigureTest.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.ImageFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ImageFigureTest is generated by
- * JUnitDoclet to hold the tests for ImageFigure.
- * @see CH.ifa.draw.figures.ImageFigure
- */
-// JUnitDoclet end javadoc_class
-public class ImageFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ImageFigure imagefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ImageFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ImageFigureTest(String name) {
-		// JUnitDoclet begin method ImageFigureTest
-		super(name);
-		// JUnitDoclet end method ImageFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ImageFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.ImageFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		imagefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		imagefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.ImageFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.ImageFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.ImageFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.figures.ImageFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method imageUpdate()
-	/**
-	 * Method testImageUpdate is testing imageUpdate
-	 * @see CH.ifa.draw.figures.ImageFigure#imageUpdate(java.awt.Image, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method imageUpdate()
-	public void testImageUpdate() throws Exception {
-		// JUnitDoclet begin method imageUpdate
-		// JUnitDoclet end method imageUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see CH.ifa.draw.figures.ImageFigure#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.ImageFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.ImageFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/InsertImageCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/InsertImageCommandTest.java
deleted file mode 100644
index 629fc0ffd..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/InsertImageCommandTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.InsertImageCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase InsertImageCommandTest is generated by
- * JUnitDoclet to hold the tests for InsertImageCommand.
- * @see CH.ifa.draw.figures.InsertImageCommand
- */
-// JUnitDoclet end javadoc_class
-public class InsertImageCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private InsertImageCommand insertimagecommand;
-	private static String fgSampleImagesPath = "/CH/ifa/draw/samples/javadraw/sampleimages/DUKE.gif";
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor InsertImageCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public InsertImageCommandTest(String name) {
-		// JUnitDoclet begin method InsertImageCommandTest
-		super(name);
-		// JUnitDoclet end method InsertImageCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.InsertImageCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.InsertImageCommand("TestImage", fgSampleImagesPath, getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		insertimagecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		insertimagecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.figures.InsertImageCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/LineConnectionTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/LineConnectionTest.java
deleted file mode 100644
index 89e888bc2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/LineConnectionTest.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.LineConnection;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase LineConnectionTest is generated by
- * JUnitDoclet to hold the tests for LineConnection.
- * @see CH.ifa.draw.figures.LineConnection
- */
-// JUnitDoclet end javadoc_class
-public class LineConnectionTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private LineConnection lineconnection;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor LineConnectionTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public LineConnectionTest(String name) {
-		// JUnitDoclet begin method LineConnectionTest
-		super(name);
-		// JUnitDoclet end method LineConnectionTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.LineConnection createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.LineConnection();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		lineconnection = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		lineconnection = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method canConnect()
-	/**
-	 * Method testCanConnect is testing canConnect
-	 * @see CH.ifa.draw.figures.LineConnection#canConnect()
-	 */
-	// JUnitDoclet end javadoc_method canConnect()
-	public void testCanConnect() throws Exception {
-		// JUnitDoclet begin method canConnect
-		// JUnitDoclet end method canConnect
-	}
-
-	// JUnitDoclet begin javadoc_method connectStart()
-	/**
-	 * Method testConnectStart is testing connectStart
-	 * @see CH.ifa.draw.figures.LineConnection#connectStart(CH.ifa.draw.framework.Connector)
-	 */
-	// JUnitDoclet end javadoc_method connectStart()
-	public void testConnectStart() throws Exception {
-		// JUnitDoclet begin method connectStart
-		// JUnitDoclet end method connectStart
-	}
-
-	// JUnitDoclet begin javadoc_method connectEnd()
-	/**
-	 * Method testConnectEnd is testing connectEnd
-	 * @see CH.ifa.draw.figures.LineConnection#connectEnd(CH.ifa.draw.framework.Connector)
-	 */
-	// JUnitDoclet end javadoc_method connectEnd()
-	public void testConnectEnd() throws Exception {
-		// JUnitDoclet begin method connectEnd
-		// JUnitDoclet end method connectEnd
-	}
-
-	// JUnitDoclet begin javadoc_method disconnectStart()
-	/**
-	 * Method testDisconnectStart is testing disconnectStart
-	 * @see CH.ifa.draw.figures.LineConnection#disconnectStart()
-	 */
-	// JUnitDoclet end javadoc_method disconnectStart()
-	public void testDisconnectStart() throws Exception {
-		// JUnitDoclet begin method disconnectStart
-		// JUnitDoclet end method disconnectStart
-	}
-
-	// JUnitDoclet begin javadoc_method disconnectEnd()
-	/**
-	 * Method testDisconnectEnd is testing disconnectEnd
-	 * @see CH.ifa.draw.figures.LineConnection#disconnectEnd()
-	 */
-	// JUnitDoclet end javadoc_method disconnectEnd()
-	public void testDisconnectEnd() throws Exception {
-		// JUnitDoclet begin method disconnectEnd
-		// JUnitDoclet end method disconnectEnd
-	}
-
-	// JUnitDoclet begin javadoc_method connectsSame()
-	/**
-	 * Method testConnectsSame is testing connectsSame
-	 * @see CH.ifa.draw.figures.LineConnection#connectsSame(CH.ifa.draw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method connectsSame()
-	public void testConnectsSame() throws Exception {
-		// JUnitDoclet begin method connectsSame
-		// JUnitDoclet end method connectsSame
-	}
-
-	// JUnitDoclet begin javadoc_method startFigure()
-	/**
-	 * Method testStartFigure is testing startFigure
-	 * @see CH.ifa.draw.figures.LineConnection#startFigure()
-	 */
-	// JUnitDoclet end javadoc_method startFigure()
-	public void testStartFigure() throws Exception {
-		// JUnitDoclet begin method startFigure
-		// JUnitDoclet end method startFigure
-	}
-
-	// JUnitDoclet begin javadoc_method endFigure()
-	/**
-	 * Method testEndFigure is testing endFigure
-	 * @see CH.ifa.draw.figures.LineConnection#endFigure()
-	 */
-	// JUnitDoclet end javadoc_method endFigure()
-	public void testEndFigure() throws Exception {
-		// JUnitDoclet begin method endFigure
-		// JUnitDoclet end method endFigure
-	}
-
-	// JUnitDoclet begin javadoc_method getStartConnector()
-	/**
-	 * Method testGetStartConnector is testing getStartConnector
-	 * @see CH.ifa.draw.figures.LineConnection#getStartConnector()
-	 */
-	// JUnitDoclet end javadoc_method getStartConnector()
-	public void testGetStartConnector() throws Exception {
-		// JUnitDoclet begin method getStartConnector
-		// JUnitDoclet end method getStartConnector
-	}
-
-	// JUnitDoclet begin javadoc_method getEndConnector()
-	/**
-	 * Method testGetEndConnector is testing getEndConnector
-	 * @see CH.ifa.draw.figures.LineConnection#getEndConnector()
-	 */
-	// JUnitDoclet end javadoc_method getEndConnector()
-	public void testGetEndConnector() throws Exception {
-		// JUnitDoclet begin method getEndConnector
-		// JUnitDoclet end method getEndConnector
-	}
-
-	// JUnitDoclet begin javadoc_method startPoint()
-	/**
-	 * Method testStartPoint is testing startPoint
-	 * @see CH.ifa.draw.figures.LineConnection#startPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method startPoint()
-	public void testStartPoint() throws Exception {
-		// JUnitDoclet begin method startPoint
-		// JUnitDoclet end method startPoint
-	}
-
-	// JUnitDoclet begin javadoc_method endPoint()
-	/**
-	 * Method testEndPoint is testing endPoint
-	 * @see CH.ifa.draw.figures.LineConnection#endPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method endPoint()
-	public void testEndPoint() throws Exception {
-		// JUnitDoclet begin method endPoint
-		// JUnitDoclet end method endPoint
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.LineConnection#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method setPointAt()
-	/**
-	 * Method testSetPointAt is testing setPointAt
-	 * @see CH.ifa.draw.figures.LineConnection#setPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method setPointAt()
-	public void testSetPointAt() throws Exception {
-		// JUnitDoclet begin method setPointAt
-		// JUnitDoclet end method setPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method insertPointAt()
-	/**
-	 * Method testInsertPointAt is testing insertPointAt
-	 * @see CH.ifa.draw.figures.LineConnection#insertPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method insertPointAt()
-	public void testInsertPointAt() throws Exception {
-		// JUnitDoclet begin method insertPointAt
-		// JUnitDoclet end method insertPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method removePointAt()
-	/**
-	 * Method testRemovePointAt is testing removePointAt
-	 * @see CH.ifa.draw.figures.LineConnection#removePointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method removePointAt()
-	public void testRemovePointAt() throws Exception {
-		// JUnitDoclet begin method removePointAt
-		// JUnitDoclet end method removePointAt
-	}
-
-	// JUnitDoclet begin javadoc_method updateConnection()
-	/**
-	 * Method testUpdateConnection is testing updateConnection
-	 * @see CH.ifa.draw.figures.LineConnection#updateConnection()
-	 */
-	// JUnitDoclet end javadoc_method updateConnection()
-	public void testUpdateConnection() throws Exception {
-		// JUnitDoclet begin method updateConnection
-		// JUnitDoclet end method updateConnection
-	}
-
-	// JUnitDoclet begin javadoc_method layoutConnection()
-	/**
-	 * Method testLayoutConnection is testing layoutConnection
-	 * @see CH.ifa.draw.figures.LineConnection#layoutConnection()
-	 */
-	// JUnitDoclet end javadoc_method layoutConnection()
-	public void testLayoutConnection() throws Exception {
-		// JUnitDoclet begin method layoutConnection
-		// JUnitDoclet end method layoutConnection
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see CH.ifa.draw.figures.LineConnection#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see CH.ifa.draw.figures.LineConnection#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see CH.ifa.draw.figures.LineConnection#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.figures.LineConnection#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see CH.ifa.draw.figures.LineConnection#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see CH.ifa.draw.figures.LineConnection#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.LineConnection#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.LineConnection#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method visit()
-	/**
-	 * Method testVisit is testing visit
-	 * @see CH.ifa.draw.figures.LineConnection#visit(CH.ifa.draw.framework.FigureVisitor)
-	 */
-	// JUnitDoclet end javadoc_method visit()
-	public void testVisit() throws Exception {
-		// JUnitDoclet begin method visit
-		// JUnitDoclet end method visit
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/LineFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/LineFigureTest.java
deleted file mode 100644
index d3197e846..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/LineFigureTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.LineFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase LineFigureTest is generated by
- * JUnitDoclet to hold the tests for LineFigure.
- * @see CH.ifa.draw.figures.LineFigure
- */
-// JUnitDoclet end javadoc_class
-public class LineFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private LineFigure linefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor LineFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public LineFigureTest(String name) {
-		// JUnitDoclet begin method LineFigureTest
-		super(name);
-		// JUnitDoclet end method LineFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.LineFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.LineFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		linefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		linefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method startPoint()
-	/**
-	 * Method testStartPoint is testing startPoint
-	 * @see CH.ifa.draw.figures.LineFigure#startPoint()
-	 */
-	// JUnitDoclet end javadoc_method startPoint()
-	public void testStartPoint() throws Exception {
-		// JUnitDoclet begin method startPoint
-		// JUnitDoclet end method startPoint
-	}
-
-	// JUnitDoclet begin javadoc_method endPoint()
-	/**
-	 * Method testEndPoint is testing endPoint
-	 * @see CH.ifa.draw.figures.LineFigure#endPoint()
-	 */
-	// JUnitDoclet end javadoc_method endPoint()
-	public void testEndPoint() throws Exception {
-		// JUnitDoclet begin method endPoint
-		// JUnitDoclet end method endPoint
-	}
-
-	// JUnitDoclet begin javadoc_method setPoints()
-	/**
-	 * Method testSetPoints is testing setPoints
-	 * @see CH.ifa.draw.figures.LineFigure#setPoints(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method setPoints()
-	public void testSetPoints() throws Exception {
-		// JUnitDoclet begin method setPoints
-		// JUnitDoclet end method setPoints
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.LineFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/NullConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/NullConnectorTest.java
deleted file mode 100644
index 59fe77d02..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/NullConnectorTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.NullConnector;
-import CH.ifa.draw.figures.RectangleFigure;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullConnectorTest is generated by
- * JUnitDoclet to hold the tests for NullConnector.
- * @see CH.ifa.draw.figures.NullConnector
- */
-// JUnitDoclet end javadoc_class
-public class NullConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullConnector nullconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullConnectorTest(String name) {
-		// JUnitDoclet begin method NullConnectorTest
-		super(name);
-		// JUnitDoclet end method NullConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.NullConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.NullConnector(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nullconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nullconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/NullFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/NullFigureTest.java
deleted file mode 100644
index 5a0a03ba2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/NullFigureTest.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.NullFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullFigureTest is generated by
- * JUnitDoclet to hold the tests for NullFigure.
- * @see CH.ifa.draw.figures.NullFigure
- */
-// JUnitDoclet end javadoc_class
-public class NullFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullFigure nullfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullFigureTest(String name) {
-		// JUnitDoclet begin method NullFigureTest
-		super(name);
-		// JUnitDoclet end method NullFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.NullFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.NullFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nullfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nullfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.NullFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.NullFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.figures.NullFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.NullFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.figures.NullFigure#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method figures()
-	/**
-	 * Method testFigures is testing figures
-	 * @see CH.ifa.draw.figures.NullFigure#figures()
-	 */
-	// JUnitDoclet end javadoc_method figures()
-	public void testFigures() throws Exception {
-		// JUnitDoclet begin method figures
-		// JUnitDoclet end method figures
-	}
-
-	// JUnitDoclet begin javadoc_method findFigureInside()
-	/**
-	 * Method testFindFigureInside is testing findFigureInside
-	 * @see CH.ifa.draw.figures.NullFigure#findFigureInside(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findFigureInside()
-	public void testFindFigureInside() throws Exception {
-		// JUnitDoclet begin method findFigureInside
-		// JUnitDoclet end method findFigureInside
-	}
-
-	// JUnitDoclet begin javadoc_method clone()
-	/**
-	 * Method testClone is testing clone
-	 * @see CH.ifa.draw.figures.NullFigure#clone()
-	 */
-	// JUnitDoclet end javadoc_method clone()
-	public void testClone() throws Exception {
-		// JUnitDoclet begin method clone
-		// JUnitDoclet end method clone
-	}
-
-	// JUnitDoclet begin javadoc_method includes()
-	/**
-	 * Method testIncludes is testing includes
-	 * @see CH.ifa.draw.figures.NullFigure#includes(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method includes()
-	public void testIncludes() throws Exception {
-		// JUnitDoclet begin method includes
-		// JUnitDoclet end method includes
-	}
-
-	// JUnitDoclet begin javadoc_method decompose()
-	/**
-	 * Method testDecompose is testing decompose
-	 * @see CH.ifa.draw.figures.NullFigure#decompose()
-	 */
-	// JUnitDoclet end javadoc_method decompose()
-	public void testDecompose() throws Exception {
-		// JUnitDoclet begin method decompose
-		// JUnitDoclet end method decompose
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see CH.ifa.draw.figures.NullFigure#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method invalidate()
-	/**
-	 * Method testInvalidate is testing invalidate
-	 * @see CH.ifa.draw.figures.NullFigure#invalidate()
-	 */
-	// JUnitDoclet end javadoc_method invalidate()
-	public void testInvalidate() throws Exception {
-		// JUnitDoclet begin method invalidate
-		// JUnitDoclet end method invalidate
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see CH.ifa.draw.figures.NullFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see CH.ifa.draw.figures.NullFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/NumberTextFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/NumberTextFigureTest.java
deleted file mode 100644
index cb7f0f2fa..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/NumberTextFigureTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.NumberTextFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NumberTextFigureTest is generated by
- * JUnitDoclet to hold the tests for NumberTextFigure.
- * @see CH.ifa.draw.figures.NumberTextFigure
- */
-// JUnitDoclet end javadoc_class
-public class NumberTextFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NumberTextFigure numbertextfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NumberTextFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NumberTextFigureTest(String name) {
-		// JUnitDoclet begin method NumberTextFigureTest
-		super(name);
-		// JUnitDoclet end method NumberTextFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.NumberTextFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.NumberTextFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		numbertextfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		numbertextfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method overlayColumns()
-	/**
-	 * Method testOverlayColumns is testing overlayColumns
-	 * @see CH.ifa.draw.figures.NumberTextFigure#overlayColumns()
-	 */
-	// JUnitDoclet end javadoc_method overlayColumns()
-	public void testOverlayColumns() throws Exception {
-		// JUnitDoclet begin method overlayColumns
-		// JUnitDoclet end method overlayColumns
-	}
-
-	// JUnitDoclet begin javadoc_method setValue()
-	/**
-	 * Method testSetGetValue is testing setValue
-	 * and getValue together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.figures.NumberTextFigure#setValue(int)
-	 * @see CH.ifa.draw.figures.NumberTextFigure#getValue()
-	 */
-	// JUnitDoclet end javadoc_method setValue()
-	public void testSetGetValue() throws Exception {
-		// JUnitDoclet begin method setValue getValue
-		int[] tests = { Integer.MIN_VALUE, -1, 0, 1, Integer.MAX_VALUE };
-
-		for (int i = 0; i < tests.length; i++) {
-			numbertextfigure.setValue(tests[i]);
-			assertEquals(tests[i], numbertextfigure.getValue());
-		}
-		// JUnitDoclet end method setValue getValue
-	}
-
-	// JUnitDoclet begin javadoc_method getRepresentingFigure()
-	/**
-	 * Method testGetRepresentingFigure is testing getRepresentingFigure
-	 * @see CH.ifa.draw.figures.NumberTextFigure#getRepresentingFigure()
-	 */
-	// JUnitDoclet end javadoc_method getRepresentingFigure()
-	public void testGetRepresentingFigure() throws Exception {
-		// JUnitDoclet begin method getRepresentingFigure
-		// JUnitDoclet end method getRepresentingFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineConnectorTest.java
deleted file mode 100644
index b8f32cba6..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineConnectorTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.PolyLineConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolyLineConnectorTest is generated by
- * JUnitDoclet to hold the tests for PolyLineConnector.
- * @see CH.ifa.draw.figures.PolyLineConnector
- */
-// JUnitDoclet end javadoc_class
-public class PolyLineConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolyLineConnector polylineconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolyLineConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolyLineConnectorTest(String name) {
-		// JUnitDoclet begin method PolyLineConnectorTest
-		super(name);
-		// JUnitDoclet end method PolyLineConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.PolyLineConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.PolyLineConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polylineconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polylineconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineFigureTest.java
deleted file mode 100644
index afa791ab9..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineFigureTest.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.ArrowTip;
-import CH.ifa.draw.figures.PolyLineFigure;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolyLineFigureTest is generated by
- * JUnitDoclet to hold the tests for PolyLineFigure.
- * @see CH.ifa.draw.figures.PolyLineFigure
- */
-// JUnitDoclet end javadoc_class
-public class PolyLineFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolyLineFigure polylinefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolyLineFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolyLineFigureTest(String name) {
-		// JUnitDoclet begin method PolyLineFigureTest
-		super(name);
-		// JUnitDoclet end method PolyLineFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.PolyLineFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.PolyLineFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polylinefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polylinefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.PolyLineFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.figures.PolyLineFigure#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.PolyLineFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.PolyLineFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method addPoint()
-	/**
-	 * Method testAddPoint is testing addPoint
-	 * @see CH.ifa.draw.figures.PolyLineFigure#addPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method addPoint()
-	public void testAddPoint() throws Exception {
-		// JUnitDoclet begin method addPoint
-		// JUnitDoclet end method addPoint
-	}
-
-	// JUnitDoclet begin javadoc_method points()
-	/**
-	 * Method testPoints is testing points
-	 * @see CH.ifa.draw.figures.PolyLineFigure#points()
-	 */
-	// JUnitDoclet end javadoc_method points()
-	public void testPoints() throws Exception {
-		// JUnitDoclet begin method points
-		// JUnitDoclet end method points
-	}
-
-	// JUnitDoclet begin javadoc_method pointCount()
-	/**
-	 * Method testPointCount is testing pointCount
-	 * @see CH.ifa.draw.figures.PolyLineFigure#pointCount()
-	 */
-	// JUnitDoclet end javadoc_method pointCount()
-	public void testPointCount() throws Exception {
-		// JUnitDoclet begin method pointCount
-		// JUnitDoclet end method pointCount
-	}
-
-	// JUnitDoclet begin javadoc_method setPointAt()
-	/**
-	 * Method testSetPointAt is testing setPointAt
-	 * @see CH.ifa.draw.figures.PolyLineFigure#setPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method setPointAt()
-	public void testSetPointAt() throws Exception {
-		// JUnitDoclet begin method setPointAt
-		// JUnitDoclet end method setPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method insertPointAt()
-	/**
-	 * Method testInsertPointAt is testing insertPointAt
-	 * @see CH.ifa.draw.figures.PolyLineFigure#insertPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method insertPointAt()
-	public void testInsertPointAt() throws Exception {
-		// JUnitDoclet begin method insertPointAt
-		// JUnitDoclet end method insertPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method removePointAt()
-	/**
-	 * Method testRemovePointAt is testing removePointAt
-	 * @see CH.ifa.draw.figures.PolyLineFigure#removePointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method removePointAt()
-	public void testRemovePointAt() throws Exception {
-		// JUnitDoclet begin method removePointAt
-		// JUnitDoclet end method removePointAt
-	}
-
-	// JUnitDoclet begin javadoc_method splitSegment()
-	/**
-	 * Method testSplitSegment is testing splitSegment
-	 * @see CH.ifa.draw.figures.PolyLineFigure#splitSegment(int, int)
-	 */
-	// JUnitDoclet end javadoc_method splitSegment()
-	public void testSplitSegment() throws Exception {
-		// JUnitDoclet begin method splitSegment
-		// JUnitDoclet end method splitSegment
-	}
-
-	// JUnitDoclet begin javadoc_method pointAt()
-	/**
-	 * Method testPointAt is testing pointAt
-	 * @see CH.ifa.draw.figures.PolyLineFigure#pointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method pointAt()
-	public void testPointAt() throws Exception {
-		// JUnitDoclet begin method pointAt
-		// JUnitDoclet end method pointAt
-	}
-
-	// JUnitDoclet begin javadoc_method joinSegments()
-	/**
-	 * Method testJoinSegments is testing joinSegments
-	 * @see CH.ifa.draw.figures.PolyLineFigure#joinSegments(int, int)
-	 */
-	// JUnitDoclet end javadoc_method joinSegments()
-	public void testJoinSegments() throws Exception {
-		// JUnitDoclet begin method joinSegments
-		// JUnitDoclet end method joinSegments
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see CH.ifa.draw.figures.PolyLineFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method setStartDecoration()
-	/**
-	 * Method testSetGetStartDecoration is testing setStartDecoration
-	 * and getStartDecoration together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.figures.PolyLineFigure#setStartDecoration(CH.ifa.draw.figures.LineDecoration)
-	 * @see CH.ifa.draw.figures.PolyLineFigure#getStartDecoration()
-	 */
-	// JUnitDoclet end javadoc_method setStartDecoration()
-	public void testSetGetStartDecoration() throws Exception {
-		// JUnitDoclet begin method setStartDecoration getStartDecoration
-		CH.ifa.draw.figures.LineDecoration[] tests = { new ArrowTip(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			polylinefigure.setStartDecoration(tests[i]);
-			assertEquals(tests[i], polylinefigure.getStartDecoration());
-		}
-		// JUnitDoclet end method setStartDecoration getStartDecoration
-	}
-
-	// JUnitDoclet begin javadoc_method setEndDecoration()
-	/**
-	 * Method testSetGetEndDecoration is testing setEndDecoration
-	 * and getEndDecoration together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.figures.PolyLineFigure#setEndDecoration(CH.ifa.draw.figures.LineDecoration)
-	 * @see CH.ifa.draw.figures.PolyLineFigure#getEndDecoration()
-	 */
-	// JUnitDoclet end javadoc_method setEndDecoration()
-	public void testSetGetEndDecoration() throws Exception {
-		// JUnitDoclet begin method setEndDecoration getEndDecoration
-		CH.ifa.draw.figures.LineDecoration[] tests = { new ArrowTip(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			polylinefigure.setEndDecoration(tests[i]);
-			assertEquals(tests[i], polylinefigure.getEndDecoration());
-		}
-		// JUnitDoclet end method setEndDecoration getEndDecoration
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.figures.PolyLineFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.figures.PolyLineFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method findSegment()
-	/**
-	 * Method testFindSegment is testing findSegment
-	 * @see CH.ifa.draw.figures.PolyLineFigure#findSegment(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findSegment()
-	public void testFindSegment() throws Exception {
-		// JUnitDoclet begin method findSegment
-		// JUnitDoclet end method findSegment
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see CH.ifa.draw.figures.PolyLineFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see CH.ifa.draw.figures.PolyLineFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.PolyLineFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.PolyLineFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method locator()
-	/**
-	 * Method testLocator is testing locator
-	 * @see CH.ifa.draw.figures.PolyLineFigure#locator(int)
-	 */
-	// JUnitDoclet end javadoc_method locator()
-	public void testLocator() throws Exception {
-		// JUnitDoclet begin method locator
-		// JUnitDoclet end method locator
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineHandleTest.java
deleted file mode 100644
index 07654beaa..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineHandleTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.PolyLineFigure;
-import CH.ifa.draw.figures.PolyLineHandle;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolyLineHandleTest is generated by
- * JUnitDoclet to hold the tests for PolyLineHandle.
- * @see CH.ifa.draw.figures.PolyLineHandle
- */
-// JUnitDoclet end javadoc_class
-public class PolyLineHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolyLineHandle polylinehandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolyLineHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolyLineHandleTest(String name) {
-		// JUnitDoclet begin method PolyLineHandleTest
-		super(name);
-		// JUnitDoclet end method PolyLineHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.PolyLineHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		PolyLineFigure figure = new PolyLineFigure(20, 20);
-		figure.addPoint(30, 30);
-		figure.addPoint(40, 40);
-		return new CH.ifa.draw.figures.PolyLineHandle(figure, PolyLineFigure.locator(2), 2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polylinehandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polylinehandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see CH.ifa.draw.figures.PolyLineHandle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see CH.ifa.draw.figures.PolyLineHandle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see CH.ifa.draw.figures.PolyLineHandle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/RectangleFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/RectangleFigureTest.java
deleted file mode 100644
index 539f7940d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/RectangleFigureTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.RectangleFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase RectangleFigureTest is generated by
- * JUnitDoclet to hold the tests for RectangleFigure.
- * @see CH.ifa.draw.figures.RectangleFigure
- */
-// JUnitDoclet end javadoc_class
-public class RectangleFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private RectangleFigure rectanglefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor RectangleFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public RectangleFigureTest(String name) {
-		// JUnitDoclet begin method RectangleFigureTest
-		super(name);
-		// JUnitDoclet end method RectangleFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.RectangleFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.RectangleFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		rectanglefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		rectanglefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.RectangleFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.RectangleFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.RectangleFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.figures.RectangleFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see CH.ifa.draw.figures.RectangleFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.RectangleFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.RectangleFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/RoundRectangleFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/RoundRectangleFigureTest.java
deleted file mode 100644
index 0aca998f5..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/RoundRectangleFigureTest.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.RoundRectangleFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase RoundRectangleFigureTest is generated by
- * JUnitDoclet to hold the tests for RoundRectangleFigure.
- * @see CH.ifa.draw.figures.RoundRectangleFigure
- */
-// JUnitDoclet end javadoc_class
-public class RoundRectangleFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private RoundRectangleFigure roundrectanglefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor RoundRectangleFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public RoundRectangleFigureTest(String name) {
-		// JUnitDoclet begin method RoundRectangleFigureTest
-		super(name);
-		// JUnitDoclet end method RoundRectangleFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.RoundRectangleFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.RoundRectangleFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		roundrectanglefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		roundrectanglefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method setArc()
-	/**
-	 * Method testSetArc is testing setArc
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#setArc(int, int)
-	 */
-	// JUnitDoclet end javadoc_method setArc()
-	public void testSetArc() throws Exception {
-		// JUnitDoclet begin method setArc
-		// JUnitDoclet end method setArc
-	}
-
-	// JUnitDoclet begin javadoc_method getArc()
-	/**
-	 * Method testGetArc is testing getArc
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#getArc()
-	 */
-	// JUnitDoclet end javadoc_method getArc()
-	public void testGetArc() throws Exception {
-		// JUnitDoclet begin method getArc
-		// JUnitDoclet end method getArc
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ScribbleToolTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ScribbleToolTest.java
deleted file mode 100644
index 9fb958f3f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ScribbleToolTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.ScribbleTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ScribbleToolTest is generated by
- * JUnitDoclet to hold the tests for ScribbleTool.
- * @see CH.ifa.draw.figures.ScribbleTool
- */
-// JUnitDoclet end javadoc_class
-public class ScribbleToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ScribbleTool scribbletool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ScribbleToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ScribbleToolTest(String name) {
-		// JUnitDoclet begin method ScribbleToolTest
-		super(name);
-		// JUnitDoclet end method ScribbleToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ScribbleTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.ScribbleTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		scribbletool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		scribbletool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.figures.ScribbleTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.figures.ScribbleTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.figures.ScribbleTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.figures.ScribbleTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.figures.ScribbleTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ShortestDistanceConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ShortestDistanceConnectorTest.java
deleted file mode 100644
index 423d51882..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ShortestDistanceConnectorTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.ShortestDistanceConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ShortestDistanceConnectorTest is generated by
- * JUnitDoclet to hold the tests for ShortestDistanceConnector.
- * @see CH.ifa.draw.figures.ShortestDistanceConnector
- */
-// JUnitDoclet end javadoc_class
-public class ShortestDistanceConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ShortestDistanceConnector shortestdistanceconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ShortestDistanceConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ShortestDistanceConnectorTest(String name) {
-		// JUnitDoclet begin method ShortestDistanceConnectorTest
-		super(name);
-		// JUnitDoclet end method ShortestDistanceConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ShortestDistanceConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.ShortestDistanceConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		shortestdistanceconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		shortestdistanceconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method findStart()
-	/**
-	 * Method testFindStart is testing findStart
-	 * @see CH.ifa.draw.figures.ShortestDistanceConnector#findStart(CH.ifa.draw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method findStart()
-	public void testFindStart() throws Exception {
-		// JUnitDoclet begin method findStart
-		// JUnitDoclet end method findStart
-	}
-
-	// JUnitDoclet begin javadoc_method findEnd()
-	/**
-	 * Method testFindEnd is testing findEnd
-	 * @see CH.ifa.draw.figures.ShortestDistanceConnector#findEnd(CH.ifa.draw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method findEnd()
-	public void testFindEnd() throws Exception {
-		// JUnitDoclet begin method findEnd
-		// JUnitDoclet end method findEnd
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/TextFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/TextFigureTest.java
deleted file mode 100644
index c9e36517d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/TextFigureTest.java
+++ /dev/null
@@ -1,473 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import java.awt.Font;
-
-import CH.ifa.draw.figures.TextFigure;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TextFigureTest is generated by
- * JUnitDoclet to hold the tests for TextFigure.
- * @see CH.ifa.draw.figures.TextFigure
- */
-// JUnitDoclet end javadoc_class
-public class TextFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private TextFigure textfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor TextFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public TextFigureTest(String name) {
-		// JUnitDoclet begin method TextFigureTest
-		super(name);
-		// JUnitDoclet end method TextFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.TextFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.TextFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		textfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		textfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method moveBy()
-	/**
-	 * Method testMoveBy is testing moveBy
-	 * @see CH.ifa.draw.figures.TextFigure#moveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method moveBy()
-	public void testMoveBy() throws Exception {
-		// JUnitDoclet begin method moveBy
-		// JUnitDoclet end method moveBy
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.TextFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.TextFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method textDisplayBox()
-	/**
-	 * Method testTextDisplayBox is testing textDisplayBox
-	 * @see CH.ifa.draw.figures.TextFigure#textDisplayBox()
-	 */
-	// JUnitDoclet end javadoc_method textDisplayBox()
-	public void testTextDisplayBox() throws Exception {
-		// JUnitDoclet begin method textDisplayBox
-		// JUnitDoclet end method textDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method readOnly()
-	/**
-	 * Method testReadOnly is testing readOnly
-	 * @see CH.ifa.draw.figures.TextFigure#readOnly()
-	 */
-	// JUnitDoclet end javadoc_method readOnly()
-	public void testReadOnly() throws Exception {
-		// JUnitDoclet begin method readOnly
-		// JUnitDoclet end method readOnly
-	}
-
-	// JUnitDoclet begin javadoc_method setReadOnly()
-	/**
-	 * Method testSetReadOnly is testing setReadOnly
-	 * @see CH.ifa.draw.figures.TextFigure#setReadOnly(boolean)
-	 */
-	// JUnitDoclet end javadoc_method setReadOnly()
-	public void testSetReadOnly() throws Exception {
-		// JUnitDoclet begin method setReadOnly
-		// JUnitDoclet end method setReadOnly
-	}
-
-	// JUnitDoclet begin javadoc_method getRepresentingFigure()
-	/**
-	 * Method testGetRepresentingFigure is testing getRepresentingFigure
-	 * @see CH.ifa.draw.figures.TextFigure#getRepresentingFigure()
-	 */
-	// JUnitDoclet end javadoc_method getRepresentingFigure()
-	public void testGetRepresentingFigure() throws Exception {
-		// JUnitDoclet begin method getRepresentingFigure
-		// JUnitDoclet end method getRepresentingFigure
-	}
-
-	// JUnitDoclet begin javadoc_method setFont()
-	/**
-	 * Method testSetGetFont is testing setFont
-	 * and getFont together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.figures.TextFigure#setFont(java.awt.Font)
-	 * @see CH.ifa.draw.figures.TextFigure#getFont()
-	 */
-	// JUnitDoclet end javadoc_method setFont()
-	public void testSetGetFont() throws Exception {
-		// JUnitDoclet begin method setFont getFont
-		java.awt.Font[] tests = { new Font("Helvetica", Font.PLAIN, 12), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			textfigure.setFont(tests[i]);
-			assertEquals(tests[i], textfigure.getFont());
-		}
-		// JUnitDoclet end method setFont getFont
-	}
-
-	// JUnitDoclet begin javadoc_method changed()
-	/**
-	 * Method testChanged is testing changed
-	 * @see CH.ifa.draw.figures.TextFigure#changed()
-	 */
-	// JUnitDoclet end javadoc_method changed()
-	public void testChanged() throws Exception {
-		// JUnitDoclet begin method changed
-		// JUnitDoclet end method changed
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see CH.ifa.draw.figures.TextFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see CH.ifa.draw.figures.TextFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setText()
-	/**
-	 * Method testSetGetText is testing setText
-	 * and getText together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.figures.TextFigure#setText(java.lang.String)
-	 * @see CH.ifa.draw.figures.TextFigure#getText()
-	 */
-	// JUnitDoclet end javadoc_method setText()
-	public void testSetGetText() throws Exception {
-		// JUnitDoclet begin method setText getText
-		java.lang.String[] tests = { "", " ", "a", "A", "�", "�", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			textfigure.setText(tests[i]);
-			assertEquals(tests[i], textfigure.getText());
-		}
-		// JUnitDoclet end method setText getText
-	}
-
-	// JUnitDoclet begin javadoc_method acceptsTyping()
-	/**
-	 * Method testAcceptsTyping is testing acceptsTyping
-	 * @see CH.ifa.draw.figures.TextFigure#acceptsTyping()
-	 */
-	// JUnitDoclet end javadoc_method acceptsTyping()
-	public void testAcceptsTyping() throws Exception {
-		// JUnitDoclet begin method acceptsTyping
-		// JUnitDoclet end method acceptsTyping
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.figures.TextFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see CH.ifa.draw.figures.TextFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method overlayColumns()
-	/**
-	 * Method testOverlayColumns is testing overlayColumns
-	 * @see CH.ifa.draw.figures.TextFigure#overlayColumns()
-	 */
-	// JUnitDoclet end javadoc_method overlayColumns()
-	public void testOverlayColumns() throws Exception {
-		// JUnitDoclet begin method overlayColumns
-		// JUnitDoclet end method overlayColumns
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.TextFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.TextFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.TextFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method connect()
-	/**
-	 * Method testConnect is testing connect
-	 * @see CH.ifa.draw.figures.TextFigure#connect(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method connect()
-	public void testConnect() throws Exception {
-		// JUnitDoclet begin method connect
-		// JUnitDoclet end method connect
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see CH.ifa.draw.figures.TextFigure#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see CH.ifa.draw.figures.TextFigure#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see CH.ifa.draw.figures.TextFigure#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.figures.TextFigure#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see CH.ifa.draw.figures.TextFigure#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see CH.ifa.draw.figures.TextFigure#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method disconnect()
-	/**
-	 * Method testDisconnect is testing disconnect
-	 * @see CH.ifa.draw.figures.TextFigure#disconnect(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method disconnect()
-	public void testDisconnect() throws Exception {
-		// JUnitDoclet begin method disconnect
-		// JUnitDoclet end method disconnect
-	}
-
-	// JUnitDoclet begin javadoc_method getTextHolder()
-	/**
-	 * Method testGetTextHolder is testing getTextHolder
-	 * @see CH.ifa.draw.figures.TextFigure#getTextHolder()
-	 */
-	// JUnitDoclet end javadoc_method getTextHolder()
-	public void testGetTextHolder() throws Exception {
-		// JUnitDoclet begin method getTextHolder
-		// JUnitDoclet end method getTextHolder
-	}
-
-	// JUnitDoclet begin javadoc_method createCurrentFont()
-	/**
-	 * Method testCreateCurrentFont is testing createCurrentFont
-	 * @see CH.ifa.draw.figures.TextFigure#createCurrentFont()
-	 */
-	// JUnitDoclet end javadoc_method createCurrentFont()
-	public void testCreateCurrentFont() throws Exception {
-		// JUnitDoclet begin method createCurrentFont
-		// JUnitDoclet end method createCurrentFont
-	}
-
-	// JUnitDoclet begin javadoc_method setCurrentFontName()
-	/**
-	 * Method testSetCurrentFontName is testing setCurrentFontName
-	 * @see CH.ifa.draw.figures.TextFigure#setCurrentFontName(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method setCurrentFontName()
-	public void testSetCurrentFontName() throws Exception {
-		// JUnitDoclet begin method setCurrentFontName
-		// JUnitDoclet end method setCurrentFontName
-	}
-
-	// JUnitDoclet begin javadoc_method setCurrentFontSize()
-	/**
-	 * Method testSetCurrentFontSize is testing setCurrentFontSize
-	 * @see CH.ifa.draw.figures.TextFigure#setCurrentFontSize(int)
-	 */
-	// JUnitDoclet end javadoc_method setCurrentFontSize()
-	public void testSetCurrentFontSize() throws Exception {
-		// JUnitDoclet begin method setCurrentFontSize
-		// JUnitDoclet end method setCurrentFontSize
-	}
-
-	// JUnitDoclet begin javadoc_method setCurrentFontStyle()
-	/**
-	 * Method testSetCurrentFontStyle is testing setCurrentFontStyle
-	 * @see CH.ifa.draw.figures.TextFigure#setCurrentFontStyle(int)
-	 */
-	// JUnitDoclet end javadoc_method setCurrentFontStyle()
-	public void testSetCurrentFontStyle() throws Exception {
-		// JUnitDoclet begin method setCurrentFontStyle
-		// JUnitDoclet end method setCurrentFontStyle
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/TextToolTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/TextToolTest.java
deleted file mode 100644
index 5759f8d82..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/TextToolTest.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.figures.TextTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TextToolTest is generated by
- * JUnitDoclet to hold the tests for TextTool.
- * @see CH.ifa.draw.figures.TextTool
- */
-// JUnitDoclet end javadoc_class
-public class TextToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private TextTool texttool;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor TextToolTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public TextToolTest(String name) {
-    // JUnitDoclet begin method TextToolTest
-    super(name);
-    // JUnitDoclet end method TextToolTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public CH.ifa.draw.figures.TextTool createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new CH.ifa.draw.figures.TextTool(getDrawingEditor(), new RectangleFigure(new Point(10,10), new Point(100,100)));
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    texttool = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    texttool = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method mouseDown()
-  /**
-   * Method testMouseDown is testing mouseDown
-   * @see CH.ifa.draw.figures.TextTool#mouseDown(java.awt.event.MouseEvent, int, int)
-   */
-  // JUnitDoclet end javadoc_method mouseDown()
-  public void testMouseDown() throws Exception {
-    // JUnitDoclet begin method mouseDown
-    // JUnitDoclet end method mouseDown
-  }
-  
-  // JUnitDoclet begin javadoc_method mouseDrag()
-  /**
-   * Method testMouseDrag is testing mouseDrag
-   * @see CH.ifa.draw.figures.TextTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-   */
-  // JUnitDoclet end javadoc_method mouseDrag()
-  public void testMouseDrag() throws Exception {
-    // JUnitDoclet begin method mouseDrag
-    // JUnitDoclet end method mouseDrag
-  }
-  
-  // JUnitDoclet begin javadoc_method mouseUp()
-  /**
-   * Method testMouseUp is testing mouseUp
-   * @see CH.ifa.draw.figures.TextTool#mouseUp(java.awt.event.MouseEvent, int, int)
-   */
-  // JUnitDoclet end javadoc_method mouseUp()
-  public void testMouseUp() throws Exception {
-    // JUnitDoclet begin method mouseUp
-    // JUnitDoclet end method mouseUp
-  }
-  
-  // JUnitDoclet begin javadoc_method deactivate()
-  /**
-   * Method testDeactivate is testing deactivate
-   * @see CH.ifa.draw.figures.TextTool#deactivate()
-   */
-  // JUnitDoclet end javadoc_method deactivate()
-  public void testDeactivate() throws Exception {
-    // JUnitDoclet begin method deactivate
-    // JUnitDoclet end method deactivate
-  }
-  
-  // JUnitDoclet begin javadoc_method activate()
-  /**
-   * Method testActivate is testing activate
-   * @see CH.ifa.draw.figures.TextTool#activate()
-   */
-  // JUnitDoclet end javadoc_method activate()
-  public void testActivate() throws Exception {
-    // JUnitDoclet begin method activate
-    // JUnitDoclet end method activate
-  }
-  
-  // JUnitDoclet begin javadoc_method isActive()
-  /**
-   * Method testIsActive is testing isActive
-   * @see CH.ifa.draw.figures.TextTool#isActive()
-   */
-  // JUnitDoclet end javadoc_method isActive()
-  public void testIsActive() throws Exception {
-    // JUnitDoclet begin method isActive
-    // JUnitDoclet end method isActive
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/UngroupCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/UngroupCommandTest.java
deleted file mode 100644
index 5b3e76a69..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/UngroupCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.UngroupCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UngroupCommandTest is generated by
- * JUnitDoclet to hold the tests for UngroupCommand.
- * @see CH.ifa.draw.figures.UngroupCommand
- */
-// JUnitDoclet end javadoc_class
-public class UngroupCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UngroupCommand ungroupcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UngroupCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UngroupCommandTest(String name) {
-		// JUnitDoclet begin method UngroupCommandTest
-		super(name);
-		// JUnitDoclet end method UngroupCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.UngroupCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.UngroupCommand("UngroupTest", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		ungroupcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		ungroupcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.figures.UngroupCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.figures.UngroupCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/framework/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/framework/AllTests.java
deleted file mode 100644
index cb7c9e7e7..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/framework/AllTests.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.framework;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.framework");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(DrawingChangeEventTest.class));
-		suite.addTest(new TestSuite(FigureAttributeConstantTest.class));
-		suite.addTest(new TestSuite(FigureChangeEventTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/framework/DrawingChangeEventTest.java b/JHotDraw/src/CH/ifa/draw/test/framework/DrawingChangeEventTest.java
deleted file mode 100644
index 3744458c2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/framework/DrawingChangeEventTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.framework;
-
-import java.awt.Rectangle;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import CH.ifa.draw.framework.DrawingChangeEvent;
-import CH.ifa.draw.standard.StandardDrawing;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DrawingChangeEventTest is generated by
- * JUnitDoclet to hold the tests for DrawingChangeEvent.
- * @see CH.ifa.draw.framework.DrawingChangeEvent
- */
-// JUnitDoclet end javadoc_class
-public class DrawingChangeEventTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DrawingChangeEvent drawingchangeevent;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DrawingChangeEventTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DrawingChangeEventTest(String name) {
-		// JUnitDoclet begin method DrawingChangeEventTest
-		super(name);
-		// JUnitDoclet end method DrawingChangeEventTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.framework.DrawingChangeEvent createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.framework.DrawingChangeEvent(new StandardDrawing(), new Rectangle(10, 10, 100, 100));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		drawingchangeevent = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		drawingchangeevent = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawing()
-	/**
-	 * Method testGetDrawing is testing getDrawing
-	 * @see CH.ifa.draw.framework.DrawingChangeEvent#getDrawing()
-	 */
-	// JUnitDoclet end javadoc_method getDrawing()
-	public void testGetDrawing() throws Exception {
-		// JUnitDoclet begin method getDrawing
-		// JUnitDoclet end method getDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method getInvalidatedRectangle()
-	/**
-	 * Method testGetInvalidatedRectangle is testing getInvalidatedRectangle
-	 * @see CH.ifa.draw.framework.DrawingChangeEvent#getInvalidatedRectangle()
-	 */
-	// JUnitDoclet end javadoc_method getInvalidatedRectangle()
-	public void testGetInvalidatedRectangle() throws Exception {
-		// JUnitDoclet begin method getInvalidatedRectangle
-		// JUnitDoclet end method getInvalidatedRectangle
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/framework/FigureAttributeConstantTest.java b/JHotDraw/src/CH/ifa/draw/test/framework/FigureAttributeConstantTest.java
deleted file mode 100644
index c33b3f04a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/framework/FigureAttributeConstantTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.framework;
-
-import CH.ifa.draw.framework.FigureAttributeConstant;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureAttributeConstantTest is generated by
- * JUnitDoclet to hold the tests for FigureAttributeConstant.
- * @see CH.ifa.draw.framework.FigureAttributeConstant
- */
-// JUnitDoclet end javadoc_class
-public class FigureAttributeConstantTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureAttributeConstant figureattributeconstant;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureAttributeConstantTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureAttributeConstantTest(String name) {
-		// JUnitDoclet begin method FigureAttributeConstantTest
-		super(name);
-		// JUnitDoclet end method FigureAttributeConstantTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.framework.FigureAttributeConstant createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.framework.FigureAttributeConstant("test_property");
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figureattributeconstant = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figureattributeconstant = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getName()
-	/**
-	 * Method testGetName is testing getName
-	 * @see CH.ifa.draw.framework.FigureAttributeConstant#getName()
-	 */
-	// JUnitDoclet end javadoc_method getName()
-	public void testGetName() throws Exception {
-		// JUnitDoclet begin method getName
-		// JUnitDoclet end method getName
-	}
-
-	// JUnitDoclet begin javadoc_method getID()
-	/**
-	 * Method testGetID is testing getID
-	 * @see CH.ifa.draw.framework.FigureAttributeConstant#getID()
-	 */
-	// JUnitDoclet end javadoc_method getID()
-	public void testGetID() throws Exception {
-		// JUnitDoclet begin method getID
-		// JUnitDoclet end method getID
-	}
-
-	// JUnitDoclet begin javadoc_method equals()
-	/**
-	 * Method testEquals is testing equals
-	 * @see CH.ifa.draw.framework.FigureAttributeConstant#equals(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method equals()
-	public void testEquals() throws Exception {
-		// JUnitDoclet begin method equals
-		// JUnitDoclet end method equals
-	}
-
-	// JUnitDoclet begin javadoc_method hashCode()
-	/**
-	 * Method testHashCode is testing hashCode
-	 * @see CH.ifa.draw.framework.FigureAttributeConstant#hashCode()
-	 */
-	// JUnitDoclet end javadoc_method hashCode()
-	public void testHashCode() throws Exception {
-		// JUnitDoclet begin method hashCode
-		// JUnitDoclet end method hashCode
-	}
-
-	// JUnitDoclet begin javadoc_method getConstant()
-	/**
-	 * Method testGetConstant is testing getConstant
-	 * @see CH.ifa.draw.framework.FigureAttributeConstant#getConstant(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getConstant()
-	public void testGetConstant() throws Exception {
-		// JUnitDoclet begin method getConstant
-		// JUnitDoclet end method getConstant
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/framework/FigureChangeEventTest.java b/JHotDraw/src/CH/ifa/draw/test/framework/FigureChangeEventTest.java
deleted file mode 100644
index 559f6eef3..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/framework/FigureChangeEventTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.framework;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.FigureChangeEvent;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureChangeEventTest is generated by
- * JUnitDoclet to hold the tests for FigureChangeEvent.
- * @see CH.ifa.draw.framework.FigureChangeEvent
- */
-// JUnitDoclet end javadoc_class
-public class FigureChangeEventTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureChangeEvent figurechangeevent;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureChangeEventTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureChangeEventTest(String name) {
-		// JUnitDoclet begin method FigureChangeEventTest
-		super(name);
-		// JUnitDoclet end method FigureChangeEventTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.framework.FigureChangeEvent createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.framework.FigureChangeEvent(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figurechangeevent = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figurechangeevent = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getFigure()
-	/**
-	 * Method testGetFigure is testing getFigure
-	 * @see CH.ifa.draw.framework.FigureChangeEvent#getFigure()
-	 */
-	// JUnitDoclet end javadoc_method getFigure()
-	public void testGetFigure() throws Exception {
-		// JUnitDoclet begin method getFigure
-		// JUnitDoclet end method getFigure
-	}
-
-	// JUnitDoclet begin javadoc_method getInvalidatedRectangle()
-	/**
-	 * Method testGetInvalidatedRectangle is testing getInvalidatedRectangle
-	 * @see CH.ifa.draw.framework.FigureChangeEvent#getInvalidatedRectangle()
-	 */
-	// JUnitDoclet end javadoc_method getInvalidatedRectangle()
-	public void testGetInvalidatedRectangle() throws Exception {
-		// JUnitDoclet begin method getInvalidatedRectangle
-		// JUnitDoclet end method getInvalidatedRectangle
-	}
-
-	// JUnitDoclet begin javadoc_method getNestedEvent()
-	/**
-	 * Method testGetNestedEvent is testing getNestedEvent
-	 * @see CH.ifa.draw.framework.FigureChangeEvent#getNestedEvent()
-	 */
-	// JUnitDoclet end javadoc_method getNestedEvent()
-	public void testGetNestedEvent() throws Exception {
-		// JUnitDoclet begin method getNestedEvent
-		// JUnitDoclet end method getNestedEvent
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/framework/FrameworkSuite.java b/JHotDraw/src/CH/ifa/draw/test/framework/FrameworkSuite.java
deleted file mode 100644
index ebb358a6d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/framework/FrameworkSuite.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * @(#)FrameworkSuite
- *
- * Project:     JHotdraw - a GUI framework for technical drawings
- *              http://www.jhotdraw.org
- *              http://jhotdraw.sourceforge.net
- * Copyright:   � by the original author(s) and all contributors
- * License:     Lesser GNU Public License (LGPL)
- *              http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.framework;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite FrameworkSuite
-*/
-// JUnitDoclet end javadoc_class
-public class FrameworkSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.framework");
-
-		suite.addTestSuite(CH.ifa.draw.test.framework.FigureAttributeConstantTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.framework.FigureChangeEventTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.framework.DrawingChangeEventTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AllTests.java
deleted file mode 100644
index ae4124888..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AllTests.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.samples.javadraw");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(AnimationDecoratorTest.class));
-		suite.addTest(new TestSuite(AnimatorTest.class));
-		suite.addTest(new TestSuite(BouncingDrawingTest.class));
-		suite.addTest(new TestSuite(JavaDrawAppTest.class));
-		suite.addTest(new TestSuite(JavaDrawAppletTest.class));
-		suite.addTest(new TestSuite(JavaDrawViewerTest.class));
-		suite.addTest(new TestSuite(MySelectionToolTest.class));
-		suite.addTest(new TestSuite(PatternPainterTest.class));
-		suite.addTest(new TestSuite(URLToolTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimationDecoratorTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimationDecoratorTest.java
deleted file mode 100644
index 2f20865a4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimationDecoratorTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import CH.ifa.draw.samples.javadraw.AnimationDecorator;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase AnimationDecoratorTest is generated by
- * JUnitDoclet to hold the tests for AnimationDecorator.
- * @see CH.ifa.draw.samples.javadraw.AnimationDecorator
- */
-// JUnitDoclet end javadoc_class
-public class AnimationDecoratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private AnimationDecorator animationdecorator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor AnimationDecoratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public AnimationDecoratorTest(String name) {
-		// JUnitDoclet begin method AnimationDecoratorTest
-		super(name);
-		// JUnitDoclet end method AnimationDecoratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.AnimationDecorator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.javadraw.AnimationDecorator();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		animationdecorator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		animationdecorator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method velocity()
-	/**
-	 * Method testVelocity is testing velocity
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#velocity(int, int)
-	 */
-	// JUnitDoclet end javadoc_method velocity()
-	public void testVelocity() throws Exception {
-		// JUnitDoclet begin method velocity
-		// JUnitDoclet end method velocity
-	}
-
-	// JUnitDoclet begin javadoc_method animationStep()
-	/**
-	 * Method testAnimationStep is testing animationStep
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#animationStep()
-	 */
-	// JUnitDoclet end javadoc_method animationStep()
-	public void testAnimationStep() throws Exception {
-		// JUnitDoclet begin method animationStep
-		// JUnitDoclet end method animationStep
-	}
-
-	// JUnitDoclet begin javadoc_method basicMoveBy()
-	/**
-	 * Method testBasicMoveBy is testing basicMoveBy
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#basicMoveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method basicMoveBy()
-	public void testBasicMoveBy() throws Exception {
-		// JUnitDoclet begin method basicMoveBy
-		// JUnitDoclet end method basicMoveBy
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimatorTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimatorTest.java
deleted file mode 100644
index 35451d0ae..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimatorTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.Drawing;
-import CH.ifa.draw.samples.javadraw.Animator;
-import CH.ifa.draw.samples.javadraw.BouncingDrawing;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.Animatable;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase AnimatorTest is generated by
- * JUnitDoclet to hold the tests for Animator.
- * @see CH.ifa.draw.samples.javadraw.Animator
- */
-// JUnitDoclet end javadoc_class
-public class AnimatorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Animator animator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor AnimatorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public AnimatorTest(String name) {
-		// JUnitDoclet begin method AnimatorTest
-		super(name);
-		// JUnitDoclet end method AnimatorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.Animator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Drawing drawing = new BouncingDrawing();
-		Animatable animatable = (Animatable)drawing.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		return new CH.ifa.draw.samples.javadraw.Animator(animatable, getDrawingEditor().view());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		animator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		animator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method start()
-	/**
-	 * Method testStart is testing start
-	 * @see CH.ifa.draw.samples.javadraw.Animator#start()
-	 */
-	// JUnitDoclet end javadoc_method start()
-	public void testStart() throws Exception {
-		// JUnitDoclet begin method start
-		// JUnitDoclet end method start
-	}
-
-	// JUnitDoclet begin javadoc_method end()
-	/**
-	 * Method testEnd is testing end
-	 * @see CH.ifa.draw.samples.javadraw.Animator#end()
-	 */
-	// JUnitDoclet end javadoc_method end()
-	public void testEnd() throws Exception {
-		// JUnitDoclet begin method end
-		// JUnitDoclet end method end
-	}
-
-	// JUnitDoclet begin javadoc_method run()
-	/**
-	 * Method testRun is testing run
-	 * @see CH.ifa.draw.samples.javadraw.Animator#run()
-	 */
-	// JUnitDoclet end javadoc_method run()
-	public void testRun() throws Exception {
-		// JUnitDoclet begin method run
-		// JUnitDoclet end method run
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/BouncingDrawingTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/BouncingDrawingTest.java
deleted file mode 100644
index 5b381e74d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/BouncingDrawingTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import CH.ifa.draw.samples.javadraw.BouncingDrawing;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BouncingDrawingTest is generated by
- * JUnitDoclet to hold the tests for BouncingDrawing.
- * @see CH.ifa.draw.samples.javadraw.BouncingDrawing
- */
-// JUnitDoclet end javadoc_class
-public class BouncingDrawingTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BouncingDrawing bouncingdrawing;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BouncingDrawingTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BouncingDrawingTest(String name) {
-		// JUnitDoclet begin method BouncingDrawingTest
-		super(name);
-		// JUnitDoclet end method BouncingDrawingTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.BouncingDrawing createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.javadraw.BouncingDrawing();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bouncingdrawing = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bouncingdrawing = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.samples.javadraw.BouncingDrawing#add(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.samples.javadraw.BouncingDrawing#remove(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method replace()
-	/**
-	 * Method testReplace is testing replace
-	 * @see CH.ifa.draw.samples.javadraw.BouncingDrawing#replace(CH.ifa.draw.framework.Figure, CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method replace()
-	public void testReplace() throws Exception {
-		// JUnitDoclet begin method replace
-		// JUnitDoclet end method replace
-	}
-
-	// JUnitDoclet begin javadoc_method animationStep()
-	/**
-	 * Method testAnimationStep is testing animationStep
-	 * @see CH.ifa.draw.samples.javadraw.BouncingDrawing#animationStep()
-	 */
-	// JUnitDoclet end javadoc_method animationStep()
-	public void testAnimationStep() throws Exception {
-		// JUnitDoclet begin method animationStep
-		// JUnitDoclet end method animationStep
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppTest.java
deleted file mode 100644
index a7f5cced7..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JavaDrawAppTest is generated by
- * JUnitDoclet to hold the tests for JavaDrawApp.
- * @see CH.ifa.draw.samples.javadraw.JavaDrawApp
- */
-// JUnitDoclet end javadoc_class
-public class JavaDrawAppTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DrawApplication myDrawApplication;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JavaDrawAppTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JavaDrawAppTest(String name) {
-		// JUnitDoclet begin method JavaDrawAppTest
-		super(name);
-		// JUnitDoclet end method JavaDrawAppTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public DrawApplication createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return getDrawingEditor();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		myDrawApplication = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		myDrawApplication = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method destroy()
-	/**
-	 * Method testDestroy is testing destroy
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApp#destroy()
-	 */
-	// JUnitDoclet end javadoc_method destroy()
-	public void testDestroy() throws Exception {
-		// JUnitDoclet begin method destroy
-		// JUnitDoclet end method destroy
-	}
-
-	// JUnitDoclet begin javadoc_method startAnimation()
-	/**
-	 * Method testStartAnimation is testing startAnimation
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApp#startAnimation()
-	 */
-	// JUnitDoclet end javadoc_method startAnimation()
-	public void testStartAnimation() throws Exception {
-		// JUnitDoclet begin method startAnimation
-		// JUnitDoclet end method startAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method endAnimation()
-	/**
-	 * Method testEndAnimation is testing endAnimation
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApp#endAnimation()
-	 */
-	// JUnitDoclet end javadoc_method endAnimation()
-	public void testEndAnimation() throws Exception {
-		// JUnitDoclet begin method endAnimation
-		// JUnitDoclet end method endAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApp#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppletTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppletTest.java
deleted file mode 100644
index 96c3ee080..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppletTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import CH.ifa.draw.samples.javadraw.JavaDrawApplet;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JavaDrawAppletTest is generated by
- * JUnitDoclet to hold the tests for JavaDrawApplet.
- * @see CH.ifa.draw.samples.javadraw.JavaDrawApplet
- */
-// JUnitDoclet end javadoc_class
-public class JavaDrawAppletTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JavaDrawApplet javadrawapplet;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JavaDrawAppletTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JavaDrawAppletTest(String name) {
-		// JUnitDoclet begin method JavaDrawAppletTest
-		super(name);
-		// JUnitDoclet end method JavaDrawAppletTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.JavaDrawApplet createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.javadraw.JavaDrawApplet();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		javadrawapplet = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		javadrawapplet = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method destroy()
-	/**
-	 * Method testDestroy is testing destroy
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApplet#destroy()
-	 */
-	// JUnitDoclet end javadoc_method destroy()
-	public void testDestroy() throws Exception {
-		// JUnitDoclet begin method destroy
-		// JUnitDoclet end method destroy
-	}
-
-	// JUnitDoclet begin javadoc_method startAnimation()
-	/**
-	 * Method testStartAnimation is testing startAnimation
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApplet#startAnimation()
-	 */
-	// JUnitDoclet end javadoc_method startAnimation()
-	public void testStartAnimation() throws Exception {
-		// JUnitDoclet begin method startAnimation
-		// JUnitDoclet end method startAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method endAnimation()
-	/**
-	 * Method testEndAnimation is testing endAnimation
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApplet#endAnimation()
-	 */
-	// JUnitDoclet end javadoc_method endAnimation()
-	public void testEndAnimation() throws Exception {
-		// JUnitDoclet begin method endAnimation
-		// JUnitDoclet end method endAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method toggleAnimation()
-	/**
-	 * Method testToggleAnimation is testing toggleAnimation
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApplet#toggleAnimation()
-	 */
-	// JUnitDoclet end javadoc_method toggleAnimation()
-	public void testToggleAnimation() throws Exception {
-		// JUnitDoclet begin method toggleAnimation
-		// JUnitDoclet end method toggleAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawViewerTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawViewerTest.java
deleted file mode 100644
index 16a9486fa..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawViewerTest.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import CH.ifa.draw.samples.javadraw.JavaDrawViewer;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JavaDrawViewerTest is generated by
- * JUnitDoclet to hold the tests for JavaDrawViewer.
- * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer
- */
-// JUnitDoclet end javadoc_class
-public class JavaDrawViewerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JavaDrawViewer javadrawviewer;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JavaDrawViewerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JavaDrawViewerTest(String name) {
-		// JUnitDoclet begin method JavaDrawViewerTest
-		super(name);
-		// JUnitDoclet end method JavaDrawViewerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.JavaDrawViewer createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.javadraw.JavaDrawViewer();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		javadrawviewer = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		javadrawviewer = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method init()
-	/**
-	 * Method testInit is testing init
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#init()
-	 */
-	// JUnitDoclet end javadoc_method init()
-	public void testInit() throws Exception {
-		// JUnitDoclet begin method init
-		// JUnitDoclet end method init
-	}
-
-	// JUnitDoclet begin javadoc_method addViewChangeListener()
-	/**
-	 * Method testAddViewChangeListener is testing addViewChangeListener
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#addViewChangeListener(CH.ifa.draw.framework.ViewChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method addViewChangeListener()
-	public void testAddViewChangeListener() throws Exception {
-		// JUnitDoclet begin method addViewChangeListener
-		// JUnitDoclet end method addViewChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeViewChangeListener()
-	/**
-	 * Method testRemoveViewChangeListener is testing removeViewChangeListener
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#removeViewChangeListener(CH.ifa.draw.framework.ViewChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method removeViewChangeListener()
-	public void testRemoveViewChangeListener() throws Exception {
-		// JUnitDoclet begin method removeViewChangeListener
-		// JUnitDoclet end method removeViewChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method view()
-	/**
-	 * Method testView is testing view
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#view()
-	 */
-	// JUnitDoclet end javadoc_method view()
-	public void testView() throws Exception {
-		// JUnitDoclet begin method view
-		// JUnitDoclet end method view
-	}
-
-	// JUnitDoclet begin javadoc_method views()
-	/**
-	 * Method testViews is testing views
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#views()
-	 */
-	// JUnitDoclet end javadoc_method views()
-	public void testViews() throws Exception {
-		// JUnitDoclet begin method views
-		// JUnitDoclet end method views
-	}
-
-	// JUnitDoclet begin javadoc_method drawing()
-	/**
-	 * Method testDrawing is testing drawing
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#drawing()
-	 */
-	// JUnitDoclet end javadoc_method drawing()
-	public void testDrawing() throws Exception {
-		// JUnitDoclet begin method drawing
-		// JUnitDoclet end method drawing
-	}
-
-	// JUnitDoclet begin javadoc_method tool()
-	/**
-	 * Method testTool is testing tool
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#tool()
-	 */
-	// JUnitDoclet end javadoc_method tool()
-	public void testTool() throws Exception {
-		// JUnitDoclet begin method tool
-		// JUnitDoclet end method tool
-	}
-
-	// JUnitDoclet begin javadoc_method setTool()
-	/**
-	 * Method testSetTool is testing setTool
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#setTool(CH.ifa.draw.framework.Tool)
-	 */
-	// JUnitDoclet end javadoc_method setTool()
-	public void testSetTool() throws Exception {
-		// JUnitDoclet begin method setTool
-		// JUnitDoclet end method setTool
-	}
-
-	// JUnitDoclet begin javadoc_method toolDone()
-	/**
-	 * Method testToolDone is testing toolDone
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#toolDone()
-	 */
-	// JUnitDoclet end javadoc_method toolDone()
-	public void testToolDone() throws Exception {
-		// JUnitDoclet begin method toolDone
-		// JUnitDoclet end method toolDone
-	}
-
-	// JUnitDoclet begin javadoc_method figureSelectionChanged()
-	/**
-	 * Method testFigureSelectionChanged is testing figureSelectionChanged
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#figureSelectionChanged(CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method figureSelectionChanged()
-	public void testFigureSelectionChanged() throws Exception {
-		// JUnitDoclet begin method figureSelectionChanged
-		// JUnitDoclet end method figureSelectionChanged
-	}
-
-	// JUnitDoclet begin javadoc_method getUndoManager()
-	/**
-	 * Method testGetUndoManager is testing getUndoManager
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#getUndoManager()
-	 */
-	// JUnitDoclet end javadoc_method getUndoManager()
-	public void testGetUndoManager() throws Exception {
-		// JUnitDoclet begin method getUndoManager
-		// JUnitDoclet end method getUndoManager
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavadrawSuite.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavadrawSuite.java
deleted file mode 100644
index ec659fb19..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavadrawSuite.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite JavadrawSuite
-*/
-// JUnitDoclet end javadoc_class
-public class JavadrawSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.samples.javadraw");
-
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.URLToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.PatternPainterTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.MySelectionToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.JavaDrawViewerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.JavaDrawAppletTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.JavaDrawAppTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.BouncingDrawingTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.AnimatorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.AnimationDecoratorTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/MySelectionToolTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/MySelectionToolTest.java
deleted file mode 100644
index 40c38320d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/MySelectionToolTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.samples.javadraw.MySelectionTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MySelectionToolTest is generated by
- * JUnitDoclet to hold the tests for MySelectionTool.
- * @see CH.ifa.draw.samples.javadraw.MySelectionTool
- */
-// JUnitDoclet end javadoc_class
-public class MySelectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MySelectionTool myselectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MySelectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MySelectionToolTest(String name) {
-		// JUnitDoclet begin method MySelectionToolTest
-		super(name);
-		// JUnitDoclet end method MySelectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.MySelectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.javadraw.MySelectionTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		myselectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		myselectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.samples.javadraw.MySelectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/PatternPainterTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/PatternPainterTest.java
deleted file mode 100644
index 28627d609..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/PatternPainterTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import java.awt.Image;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.samples.javadraw.PatternPainter;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.Iconkit;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PatternPainterTest is generated by
- * JUnitDoclet to hold the tests for PatternPainter.
- * @see CH.ifa.draw.samples.javadraw.PatternPainter
- */
-// JUnitDoclet end javadoc_class
-public class PatternPainterTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PatternPainter patternpainter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PatternPainterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PatternPainterTest(String name) {
-		// JUnitDoclet begin method PatternPainterTest
-		super(name);
-		// JUnitDoclet end method PatternPainterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.PatternPainter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Image img = Iconkit.instance().loadImage(DrawApplication.IMAGES + "SEL1.gif", true);
-		return new CH.ifa.draw.samples.javadraw.PatternPainter(img);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		patternpainter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		patternpainter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.samples.javadraw.PatternPainter#draw(java.awt.Graphics, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/URLToolTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/URLToolTest.java
deleted file mode 100644
index 78e612ed2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/URLToolTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.samples.javadraw.URLTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase URLToolTest is generated by
- * JUnitDoclet to hold the tests for URLTool.
- * @see CH.ifa.draw.samples.javadraw.URLTool
- */
-// JUnitDoclet end javadoc_class
-public class URLToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private URLTool urltool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor URLToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public URLToolTest(String name) {
-		// JUnitDoclet begin method URLToolTest
-		super(name);
-		// JUnitDoclet end method URLToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.URLTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.javadraw.URLTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		urltool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		urltool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.samples.javadraw.URLTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.samples.javadraw.URLTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.samples.javadraw.URLTool#deactivate(CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/samples/minimap/AllTests.java
deleted file mode 100644
index 4ab07796c..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/AllTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.minimap;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.samples.minimap");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(MiniMapApplicationTest.class));
-		suite.addTest(new TestSuite(MiniMapDesktopTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapApplicationTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapApplicationTest.java
deleted file mode 100644
index 6105d916b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapApplicationTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.minimap;
-
-import CH.ifa.draw.samples.minimap.MiniMapApplication;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MiniMapApplicationTest is generated by
- * JUnitDoclet to hold the tests for MiniMapApplication.
- * @see CH.ifa.draw.samples.minimap.MiniMapApplication
- */
-// JUnitDoclet end javadoc_class
-public class MiniMapApplicationTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MiniMapApplication minimapapplication;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MiniMapApplicationTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MiniMapApplicationTest(String name) {
-		// JUnitDoclet begin method MiniMapApplicationTest
-		super(name);
-		// JUnitDoclet end method MiniMapApplicationTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.minimap.MiniMapApplication createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.minimap.MiniMapApplication();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		minimapapplication = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		minimapapplication = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.samples.minimap.MiniMapApplication#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapDesktopTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapDesktopTest.java
deleted file mode 100644
index ddb2f8f9f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapDesktopTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.minimap;
-
-import CH.ifa.draw.samples.minimap.MiniMapDesktop;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MiniMapDesktopTest is generated by
- * JUnitDoclet to hold the tests for MiniMapDesktop.
- * @see CH.ifa.draw.samples.minimap.MiniMapDesktop
- */
-// JUnitDoclet end javadoc_class
-public class MiniMapDesktopTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MiniMapDesktop minimapdesktop;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MiniMapDesktopTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MiniMapDesktopTest(String name) {
-		// JUnitDoclet begin method MiniMapDesktopTest
-		super(name);
-		// JUnitDoclet end method MiniMapDesktopTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.minimap.MiniMapDesktop createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.minimap.MiniMapDesktop();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		minimapdesktop = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		minimapdesktop = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MinimapSuite.java b/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MinimapSuite.java
deleted file mode 100644
index a5dc5191b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MinimapSuite.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.minimap;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite MinimapSuite
-*/
-// JUnitDoclet end javadoc_class
-public class MinimapSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.samples.minimap");
-
-		suite.addTestSuite(CH.ifa.draw.test.samples.minimap.MiniMapDesktopTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.minimap.MiniMapApplicationTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/net/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/samples/net/AllTests.java
deleted file mode 100644
index 8a7c325df..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/net/AllTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.net;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.samples.net");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(NetAppTest.class));
-		suite.addTest(new TestSuite(NodeFigureTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/net/NetAppTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/net/NetAppTest.java
deleted file mode 100644
index 48bc22b4c..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/net/NetAppTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.net;
-
-import CH.ifa.draw.samples.net.NetApp;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NetAppTest is generated by
- * JUnitDoclet to hold the tests for NetApp.
- * @see CH.ifa.draw.samples.net.NetApp
- */
-// JUnitDoclet end javadoc_class
-public class NetAppTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NetApp netapp;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NetAppTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NetAppTest(String name) {
-		// JUnitDoclet begin method NetAppTest
-		super(name);
-		// JUnitDoclet end method NetAppTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.net.NetApp createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.net.NetApp();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		netapp = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		netapp = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.samples.net.NetApp#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/net/NetSuite.java b/JHotDraw/src/CH/ifa/draw/test/samples/net/NetSuite.java
deleted file mode 100644
index 5a2ce5fd5..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/net/NetSuite.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)NetSuite
- *
- * Project:     JHotdraw - a GUI framework for technical drawings
- *              http://www.jhotdraw.org
- *              http://jhotdraw.sourceforge.net
- * Copyright:   � by the original author(s) and all contributors
- * License:     Lesser GNU Public License (LGPL)
- *              http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.net;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite NetSuite
-*/
-// JUnitDoclet end javadoc_class
-public class NetSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.samples.net");
-
-		suite.addTestSuite(CH.ifa.draw.test.samples.net.NodeFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.net.NetAppTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/net/NodeFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/net/NodeFigureTest.java
deleted file mode 100644
index 459cbc14b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/net/NodeFigureTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.net;
-
-import CH.ifa.draw.samples.net.NodeFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NodeFigureTest is generated by
- * JUnitDoclet to hold the tests for NodeFigure.
- * @see CH.ifa.draw.samples.net.NodeFigure
- */
-// JUnitDoclet end javadoc_class
-public class NodeFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NodeFigure nodefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NodeFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NodeFigureTest(String name) {
-		// JUnitDoclet begin method NodeFigureTest
-		super(name);
-		// JUnitDoclet end method NodeFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.net.NodeFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.net.NodeFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nodefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nodefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.samples.net.NodeFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.samples.net.NodeFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.samples.net.NodeFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.samples.net.NodeFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method connectorVisibility()
-	/**
-	 * Method testConnectorVisibility is testing connectorVisibility
-	 * @see CH.ifa.draw.samples.net.NodeFigure#connectorVisibility(boolean, CH.ifa.draw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method connectorVisibility()
-	public void testConnectorVisibility() throws Exception {
-		// JUnitDoclet begin method connectorVisibility
-		// JUnitDoclet end method connectorVisibility
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see CH.ifa.draw.samples.net.NodeFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method getRepresentingFigure()
-	/**
-	 * Method testGetRepresentingFigure is testing getRepresentingFigure
-	 * @see CH.ifa.draw.samples.net.NodeFigure#getRepresentingFigure()
-	 */
-	// JUnitDoclet end javadoc_method getRepresentingFigure()
-	public void testGetRepresentingFigure() throws Exception {
-		// JUnitDoclet begin method getRepresentingFigure
-		// JUnitDoclet end method getRepresentingFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/samples/nothing/AllTests.java
deleted file mode 100644
index f4d2195c2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/AllTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.nothing;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.samples.nothing");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(NothingAppTest.class));
-		suite.addTest(new TestSuite(NothingAppletTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppTest.java
deleted file mode 100644
index 0b28456f6..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.nothing;
-
-import CH.ifa.draw.samples.nothing.NothingApp;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NothingAppTest is generated by
- * JUnitDoclet to hold the tests for NothingApp.
- * @see CH.ifa.draw.samples.nothing.NothingApp
- */
-// JUnitDoclet end javadoc_class
-public class NothingAppTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NothingApp nothingapp;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NothingAppTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NothingAppTest(String name) {
-		// JUnitDoclet begin method NothingAppTest
-		super(name);
-		// JUnitDoclet end method NothingAppTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.nothing.NothingApp createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.nothing.NothingApp();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nothingapp = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nothingapp = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.samples.nothing.NothingApp#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppletTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppletTest.java
deleted file mode 100644
index 3c3ba3829..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppletTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.nothing;
-
-import CH.ifa.draw.samples.nothing.NothingApplet;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NothingAppletTest is generated by
- * JUnitDoclet to hold the tests for NothingApplet.
- * @see CH.ifa.draw.samples.nothing.NothingApplet
- */
-// JUnitDoclet end javadoc_class
-public class NothingAppletTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NothingApplet nothingapplet;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NothingAppletTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NothingAppletTest(String name) {
-		// JUnitDoclet begin method NothingAppletTest
-		super(name);
-		// JUnitDoclet end method NothingAppletTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.nothing.NothingApplet createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.nothing.NothingApplet();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nothingapplet = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nothingapplet = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingSuite.java b/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingSuite.java
deleted file mode 100644
index 72688f524..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingSuite.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.nothing;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite NothingSuite
-*/
-// JUnitDoclet end javadoc_class
-public class NothingSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.samples.nothing");
-
-		suite.addTestSuite(CH.ifa.draw.test.samples.nothing.NothingAppletTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.nothing.NothingAppTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/AllTests.java
deleted file mode 100644
index e03d0e0d8..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/AllTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.samples.pert");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(PertAppletTest.class));
-		suite.addTest(new TestSuite(PertApplicationTest.class));
-		suite.addTest(new TestSuite(PertDependencyTest.class));
-		suite.addTest(new TestSuite(PertFigureCreationToolTest.class));
-		suite.addTest(new TestSuite(PertFigureTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertAppletTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertAppletTest.java
deleted file mode 100644
index 163dfd968..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertAppletTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-import CH.ifa.draw.samples.pert.PertApplet;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertAppletTest is generated by
- * JUnitDoclet to hold the tests for PertApplet.
- * @see CH.ifa.draw.samples.pert.PertApplet
- */
-// JUnitDoclet end javadoc_class
-public class PertAppletTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PertApplet pertapplet;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PertAppletTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PertAppletTest(String name) {
-		// JUnitDoclet begin method PertAppletTest
-		super(name);
-		// JUnitDoclet end method PertAppletTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.pert.PertApplet createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.pert.PertApplet();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pertapplet = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pertapplet = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertApplicationTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertApplicationTest.java
deleted file mode 100644
index 34d41e6b0..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertApplicationTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-import CH.ifa.draw.samples.pert.PertApplication;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertApplicationTest is generated by
- * JUnitDoclet to hold the tests for PertApplication.
- * @see CH.ifa.draw.samples.pert.PertApplication
- */
-// JUnitDoclet end javadoc_class
-public class PertApplicationTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PertApplication pertapplication;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PertApplicationTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PertApplicationTest(String name) {
-		// JUnitDoclet begin method PertApplicationTest
-		super(name);
-		// JUnitDoclet end method PertApplicationTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.pert.PertApplication createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.pert.PertApplication();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pertapplication = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pertapplication = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.samples.pert.PertApplication#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertDependencyTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertDependencyTest.java
deleted file mode 100644
index da2af1117..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertDependencyTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-import CH.ifa.draw.samples.pert.PertDependency;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertDependencyTest is generated by
- * JUnitDoclet to hold the tests for PertDependency.
- * @see CH.ifa.draw.samples.pert.PertDependency
- */
-// JUnitDoclet end javadoc_class
-public class PertDependencyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PertDependency pertdependency;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PertDependencyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PertDependencyTest(String name) {
-		// JUnitDoclet begin method PertDependencyTest
-		super(name);
-		// JUnitDoclet end method PertDependencyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.pert.PertDependency createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.pert.PertDependency();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pertdependency = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pertdependency = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method handleConnect()
-	/**
-	 * Method testHandleConnect is testing handleConnect
-	 * @see CH.ifa.draw.samples.pert.PertDependency#handleConnect(CH.ifa.draw.framework.Figure, CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method handleConnect()
-	public void testHandleConnect() throws Exception {
-		// JUnitDoclet begin method handleConnect
-		// JUnitDoclet end method handleConnect
-	}
-
-	// JUnitDoclet begin javadoc_method handleDisconnect()
-	/**
-	 * Method testHandleDisconnect is testing handleDisconnect
-	 * @see CH.ifa.draw.samples.pert.PertDependency#handleDisconnect(CH.ifa.draw.framework.Figure, CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method handleDisconnect()
-	public void testHandleDisconnect() throws Exception {
-		// JUnitDoclet begin method handleDisconnect
-		// JUnitDoclet end method handleDisconnect
-	}
-
-	// JUnitDoclet begin javadoc_method canConnect()
-	/**
-	 * Method testCanConnect is testing canConnect
-	 * @see CH.ifa.draw.samples.pert.PertDependency#canConnect(CH.ifa.draw.framework.Figure, CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method canConnect()
-	public void testCanConnect() throws Exception {
-		// JUnitDoclet begin method canConnect
-		// JUnitDoclet end method canConnect
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.samples.pert.PertDependency#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureCreationToolTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureCreationToolTest.java
deleted file mode 100644
index 483babf2b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureCreationToolTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.samples.pert.PertFigureCreationTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertFigureCreationToolTest is generated by
- * JUnitDoclet to hold the tests for PertFigureCreationTool.
- * @see CH.ifa.draw.samples.pert.PertFigureCreationTool
- */
-// JUnitDoclet end javadoc_class
-public class PertFigureCreationToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PertFigureCreationTool pertfigurecreationtool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PertFigureCreationToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PertFigureCreationToolTest(String name) {
-		// JUnitDoclet begin method PertFigureCreationToolTest
-		super(name);
-		// JUnitDoclet end method PertFigureCreationToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.pert.PertFigureCreationTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.pert.PertFigureCreationTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pertfigurecreationtool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pertfigurecreationtool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureTest.java
deleted file mode 100644
index f07040f04..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureTest.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-import CH.ifa.draw.samples.pert.PertFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertFigureTest is generated by
- * JUnitDoclet to hold the tests for PertFigure.
- * @see CH.ifa.draw.samples.pert.PertFigure
- */
-// JUnitDoclet end javadoc_class
-public class PertFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private PertFigure pertfigure;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor PertFigureTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public PertFigureTest(String name) {
-    // JUnitDoclet begin method PertFigureTest
-    super(name);
-    // JUnitDoclet end method PertFigureTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public CH.ifa.draw.samples.pert.PertFigure createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new CH.ifa.draw.samples.pert.PertFigure();
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    pertfigure = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    pertfigure = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method start()
-  /**
-   * Method testStart is testing start
-   * @see CH.ifa.draw.samples.pert.PertFigure#start()
-   */
-  // JUnitDoclet end javadoc_method start()
-  public void testStart() throws Exception {
-    // JUnitDoclet begin method start
-    // JUnitDoclet end method start
-  }
-  
-  // JUnitDoclet begin javadoc_method end()
-  /**
-   * Method testEnd is testing end
-   * @see CH.ifa.draw.samples.pert.PertFigure#end()
-   */
-  // JUnitDoclet end javadoc_method end()
-  public void testEnd() throws Exception {
-    // JUnitDoclet begin method end
-    // JUnitDoclet end method end
-  }
-  
-  // JUnitDoclet begin javadoc_method duration()
-  /**
-   * Method testDuration is testing duration
-   * @see CH.ifa.draw.samples.pert.PertFigure#duration()
-   */
-  // JUnitDoclet end javadoc_method duration()
-  public void testDuration() throws Exception {
-    // JUnitDoclet begin method duration
-    // JUnitDoclet end method duration
-  }
-  
-  // JUnitDoclet begin javadoc_method setEnd()
-  /**
-   * Method testSetEnd is testing setEnd
-   * @see CH.ifa.draw.samples.pert.PertFigure#setEnd(int)
-   */
-  // JUnitDoclet end javadoc_method setEnd()
-  public void testSetEnd() throws Exception {
-    // JUnitDoclet begin method setEnd
-    // JUnitDoclet end method setEnd
-  }
-  
-  // JUnitDoclet begin javadoc_method addPreTask()
-  /**
-   * Method testAddPreTask is testing addPreTask
-   * @see CH.ifa.draw.samples.pert.PertFigure#addPreTask(CH.ifa.draw.samples.pert.PertFigure)
-   */
-  // JUnitDoclet end javadoc_method addPreTask()
-  public void testAddPreTask() throws Exception {
-    // JUnitDoclet begin method addPreTask
-    // JUnitDoclet end method addPreTask
-  }
-  
-  // JUnitDoclet begin javadoc_method addPostTask()
-  /**
-   * Method testAddPostTask is testing addPostTask
-   * @see CH.ifa.draw.samples.pert.PertFigure#addPostTask(CH.ifa.draw.samples.pert.PertFigure)
-   */
-  // JUnitDoclet end javadoc_method addPostTask()
-  public void testAddPostTask() throws Exception {
-    // JUnitDoclet begin method addPostTask
-    // JUnitDoclet end method addPostTask
-  }
-  
-  // JUnitDoclet begin javadoc_method removePreTask()
-  /**
-   * Method testRemovePreTask is testing removePreTask
-   * @see CH.ifa.draw.samples.pert.PertFigure#removePreTask(CH.ifa.draw.samples.pert.PertFigure)
-   */
-  // JUnitDoclet end javadoc_method removePreTask()
-  public void testRemovePreTask() throws Exception {
-    // JUnitDoclet begin method removePreTask
-    // JUnitDoclet end method removePreTask
-  }
-  
-  // JUnitDoclet begin javadoc_method removePostTask()
-  /**
-   * Method testRemovePostTask is testing removePostTask
-   * @see CH.ifa.draw.samples.pert.PertFigure#removePostTask(CH.ifa.draw.samples.pert.PertFigure)
-   */
-  // JUnitDoclet end javadoc_method removePostTask()
-  public void testRemovePostTask() throws Exception {
-    // JUnitDoclet begin method removePostTask
-    // JUnitDoclet end method removePostTask
-  }
-  
-  // JUnitDoclet begin javadoc_method displayBox()
-  /**
-   * Method testDisplayBox is testing displayBox
-   * @see CH.ifa.draw.samples.pert.PertFigure#displayBox()
-   */
-  // JUnitDoclet end javadoc_method displayBox()
-  public void testDisplayBox() throws Exception {
-    // JUnitDoclet begin method displayBox
-    // JUnitDoclet end method displayBox
-  }
-  
-  // JUnitDoclet begin javadoc_method basicDisplayBox()
-  /**
-   * Method testBasicDisplayBox is testing basicDisplayBox
-   * @see CH.ifa.draw.samples.pert.PertFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-   */
-  // JUnitDoclet end javadoc_method basicDisplayBox()
-  public void testBasicDisplayBox() throws Exception {
-    // JUnitDoclet begin method basicDisplayBox
-    // JUnitDoclet end method basicDisplayBox
-  }
-  
-  // JUnitDoclet begin javadoc_method draw()
-  /**
-   * Method testDraw is testing draw
-   * @see CH.ifa.draw.samples.pert.PertFigure#draw(java.awt.Graphics)
-   */
-  // JUnitDoclet end javadoc_method draw()
-  public void testDraw() throws Exception {
-    // JUnitDoclet begin method draw
-    // JUnitDoclet end method draw
-  }
-  
-  // JUnitDoclet begin javadoc_method handles()
-  /**
-   * Method testHandles is testing handles
-   * @see CH.ifa.draw.samples.pert.PertFigure#handles()
-   */
-  // JUnitDoclet end javadoc_method handles()
-  public void testHandles() throws Exception {
-    // JUnitDoclet begin method handles
-    // JUnitDoclet end method handles
-  }
-  
-  // JUnitDoclet begin javadoc_method update()
-  /**
-   * Method testUpdate is testing update
-   * @see CH.ifa.draw.samples.pert.PertFigure#update(CH.ifa.draw.framework.FigureChangeEvent)
-   */
-  // JUnitDoclet end javadoc_method update()
-  public void testUpdate() throws Exception {
-    // JUnitDoclet begin method update
-    // JUnitDoclet end method update
-  }
-  
-  // JUnitDoclet begin javadoc_method figureChanged()
-  /**
-   * Method testFigureChanged is testing figureChanged
-   * @see CH.ifa.draw.samples.pert.PertFigure#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-   */
-  // JUnitDoclet end javadoc_method figureChanged()
-  public void testFigureChanged() throws Exception {
-    // JUnitDoclet begin method figureChanged
-    // JUnitDoclet end method figureChanged
-  }
-  
-  // JUnitDoclet begin javadoc_method figureRemoved()
-  /**
-   * Method testFigureRemoved is testing figureRemoved
-   * @see CH.ifa.draw.samples.pert.PertFigure#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-   */
-  // JUnitDoclet end javadoc_method figureRemoved()
-  public void testFigureRemoved() throws Exception {
-    // JUnitDoclet begin method figureRemoved
-    // JUnitDoclet end method figureRemoved
-  }
-  
-  // JUnitDoclet begin javadoc_method notifyPostTasks()
-  /**
-   * Method testNotifyPostTasks is testing notifyPostTasks
-   * @see CH.ifa.draw.samples.pert.PertFigure#notifyPostTasks()
-   */
-  // JUnitDoclet end javadoc_method notifyPostTasks()
-  public void testNotifyPostTasks() throws Exception {
-    // JUnitDoclet begin method notifyPostTasks
-    // JUnitDoclet end method notifyPostTasks
-  }
-  
-  // JUnitDoclet begin javadoc_method updateDurations()
-  /**
-   * Method testUpdateDurations is testing updateDurations
-   * @see CH.ifa.draw.samples.pert.PertFigure#updateDurations()
-   */
-  // JUnitDoclet end javadoc_method updateDurations()
-  public void testUpdateDurations() throws Exception {
-    // JUnitDoclet begin method updateDurations
-    // JUnitDoclet end method updateDurations
-  }
-  
-  // JUnitDoclet begin javadoc_method hasCycle()
-  /**
-   * Method testHasCycle is testing hasCycle
-   * @see CH.ifa.draw.samples.pert.PertFigure#hasCycle(CH.ifa.draw.framework.Figure)
-   */
-  // JUnitDoclet end javadoc_method hasCycle()
-  public void testHasCycle() throws Exception {
-    // JUnitDoclet begin method hasCycle
-    // JUnitDoclet end method hasCycle
-  }
-  
-  // JUnitDoclet begin javadoc_method write()
-  /**
-   * Method testWrite is testing write
-   * @see CH.ifa.draw.samples.pert.PertFigure#write(CH.ifa.draw.util.StorableOutput)
-   */
-  // JUnitDoclet end javadoc_method write()
-  public void testWrite() throws Exception {
-    // JUnitDoclet begin method write
-    // JUnitDoclet end method write
-  }
-  
-  // JUnitDoclet begin javadoc_method writeTasks()
-  /**
-   * Method testWriteTasks is testing writeTasks
-   * @see CH.ifa.draw.samples.pert.PertFigure#writeTasks(CH.ifa.draw.util.StorableOutput, java.util.List)
-   */
-  // JUnitDoclet end javadoc_method writeTasks()
-  public void testWriteTasks() throws Exception {
-    // JUnitDoclet begin method writeTasks
-    // JUnitDoclet end method writeTasks
-  }
-  
-  // JUnitDoclet begin javadoc_method read()
-  /**
-   * Method testRead is testing read
-   * @see CH.ifa.draw.samples.pert.PertFigure#read(CH.ifa.draw.util.StorableInput)
-   */
-  // JUnitDoclet end javadoc_method read()
-  public void testRead() throws Exception {
-    // JUnitDoclet begin method read
-    // JUnitDoclet end method read
-  }
-  
-  // JUnitDoclet begin javadoc_method connectionInsets()
-  /**
-   * Method testConnectionInsets is testing connectionInsets
-   * @see CH.ifa.draw.samples.pert.PertFigure#connectionInsets()
-   */
-  // JUnitDoclet end javadoc_method connectionInsets()
-  public void testConnectionInsets() throws Exception {
-    // JUnitDoclet begin method connectionInsets
-    // JUnitDoclet end method connectionInsets
-  }
-  
-  // JUnitDoclet begin javadoc_method readTasks()
-  /**
-   * Method testReadTasks is testing readTasks
-   * @see CH.ifa.draw.samples.pert.PertFigure#readTasks(CH.ifa.draw.util.StorableInput)
-   */
-  // JUnitDoclet end javadoc_method readTasks()
-  public void testReadTasks() throws Exception {
-    // JUnitDoclet begin method readTasks
-    // JUnitDoclet end method readTasks
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertSuite.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertSuite.java
deleted file mode 100644
index 8f753120a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertSuite.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite PertSuite
-*/
-// JUnitDoclet end javadoc_class
-public class PertSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.samples.pert");
-
-		suite.addTestSuite(CH.ifa.draw.test.samples.pert.PertFigureCreationToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.pert.PertFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.pert.PertDependencyTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.pert.PertApplicationTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.pert.PertAppletTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/AlignCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/AlignCommandTest.java
deleted file mode 100644
index 8e732be77..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/AlignCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.AlignCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase AlignCommandTest is generated by
- * JUnitDoclet to hold the tests for AlignCommand.
- * @see CH.ifa.draw.standard.AlignCommand
- */
-// JUnitDoclet end javadoc_class
-public class AlignCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private AlignCommand aligncommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor AlignCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public AlignCommandTest(String name) {
-		// JUnitDoclet begin method AlignCommandTest
-		super(name);
-		// JUnitDoclet end method AlignCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.AlignCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.AlignCommand(AlignCommand.Alignment.TOPS, getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		aligncommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		aligncommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.AlignCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method getAlignment()
-	/**
-	 * Method testGetAlignment is testing getAlignment
-	 * @see CH.ifa.draw.standard.AlignCommand#getAlignment()
-	 */
-	// JUnitDoclet end javadoc_method getAlignment()
-	public void testGetAlignment() throws Exception {
-		// JUnitDoclet begin method getAlignment
-		// JUnitDoclet end method getAlignment
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/standard/AllTests.java
deleted file mode 100644
index 7c27662f4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/AllTests.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.standard");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(AlignCommandTest.class));
-		suite.addTest(new TestSuite(BoxHandleKitTest.class));
-		suite.addTest(new TestSuite(BringToFrontCommandTest.class));
-		suite.addTest(new TestSuite(BufferedUpdateStrategyTest.class));
-		suite.addTest(new TestSuite(ChangeAttributeCommandTest.class));
-		suite.addTest(new TestSuite(ChangeConnectionEndHandleTest.class));
-		suite.addTest(new TestSuite(ChangeConnectionStartHandleTest.class));
-		suite.addTest(new TestSuite(ChopBoxConnectorTest.class));
-		suite.addTest(new TestSuite(ConnectionHandleTest.class));
-		suite.addTest(new TestSuite(ConnectionToolTest.class));
-		suite.addTest(new TestSuite(CopyCommandTest.class));
-		suite.addTest(new TestSuite(CreationToolTest.class));
-		suite.addTest(new TestSuite(CutCommandTest.class));
-		suite.addTest(new TestSuite(DeleteCommandTest.class));
-		suite.addTest(new TestSuite(DeleteFromDrawingVisitorTest.class));
-		suite.addTest(new TestSuite(DragTrackerTest.class));
-		suite.addTest(new TestSuite(DuplicateCommandTest.class));
-		suite.addTest(new TestSuite(FastBufferedUpdateStrategyTest.class));
-		suite.addTest(new TestSuite(FigureAndEnumeratorTest.class));
-		suite.addTest(new TestSuite(FigureChangeAdapterTest.class));
-		suite.addTest(new TestSuite(FigureChangeEventMulticasterTest.class));
-		suite.addTest(new TestSuite(FigureEnumeratorTest.class));
-		suite.addTest(new TestSuite(GridConstrainerTest.class));
-		suite.addTest(new TestSuite(HandleAndEnumeratorTest.class));
-		suite.addTest(new TestSuite(HandleEnumeratorTest.class));
-		suite.addTest(new TestSuite(HandleTrackerTest.class));
-		suite.addTest(new TestSuite(InsertIntoDrawingVisitorTest.class));
-		suite.addTest(new TestSuite(LocatorConnectorTest.class));
-		suite.addTest(new TestSuite(LocatorHandleTest.class));
-		suite.addTest(new TestSuite(NullDrawingViewTest.class));
-		suite.addTest(new TestSuite(NullHandleTest.class));
-		suite.addTest(new TestSuite(NullToolTest.class));
-		suite.addTest(new TestSuite(OffsetLocatorTest.class));
-		suite.addTest(new TestSuite(PasteCommandTest.class));
-		suite.addTest(new TestSuite(PeripheralLocatorTest.class));
-		suite.addTest(new TestSuite(RelativeLocatorTest.class));
-		suite.addTest(new TestSuite(ReverseFigureEnumeratorTest.class));
-		suite.addTest(new TestSuite(SelectAllCommandTest.class));
-		suite.addTest(new TestSuite(SelectAreaTrackerTest.class));
-		suite.addTest(new TestSuite(SelectionToolTest.class));
-		suite.addTest(new TestSuite(SendToBackCommandTest.class));
-		suite.addTest(new TestSuite(SimpleUpdateStrategyTest.class));
-		suite.addTest(new TestSuite(SingleFigureEnumeratorTest.class));
-		suite.addTest(new TestSuite(StandardDrawingTest.class));
-		suite.addTest(new TestSuite(StandardDrawingViewTest.class));
-		suite.addTest(new TestSuite(StandardFigureSelectionTest.class));
-		suite.addTest(new TestSuite(ToggleGridCommandTest.class));
-		suite.addTest(new TestSuite(ToolButtonTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/BoxHandleKitTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/BoxHandleKitTest.java
deleted file mode 100644
index 0e66976ba..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/BoxHandleKitTest.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.BoxHandleKit;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BoxHandleKitTest is generated by
- * JUnitDoclet to hold the tests for BoxHandleKit.
- * @see CH.ifa.draw.standard.BoxHandleKit
- */
-// JUnitDoclet end javadoc_class
-public class BoxHandleKitTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BoxHandleKit boxhandlekit;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BoxHandleKitTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BoxHandleKitTest(String name) {
-		// JUnitDoclet begin method BoxHandleKitTest
-		super(name);
-		// JUnitDoclet end method BoxHandleKitTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.BoxHandleKit createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.BoxHandleKit();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		boxhandlekit = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		boxhandlekit = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addCornerHandles()
-	/**
-	 * Method testAddCornerHandles is testing addCornerHandles
-	 * @see CH.ifa.draw.standard.BoxHandleKit#addCornerHandles(CH.ifa.draw.framework.Figure, java.util.List)
-	 */
-	// JUnitDoclet end javadoc_method addCornerHandles()
-	public void testAddCornerHandles() throws Exception {
-		// JUnitDoclet begin method addCornerHandles
-		// JUnitDoclet end method addCornerHandles
-	}
-
-	// JUnitDoclet begin javadoc_method addHandles()
-	/**
-	 * Method testAddHandles is testing addHandles
-	 * @see CH.ifa.draw.standard.BoxHandleKit#addHandles(CH.ifa.draw.framework.Figure, java.util.List)
-	 */
-	// JUnitDoclet end javadoc_method addHandles()
-	public void testAddHandles() throws Exception {
-		// JUnitDoclet begin method addHandles
-		// JUnitDoclet end method addHandles
-	}
-
-	// JUnitDoclet begin javadoc_method south()
-	/**
-	 * Method testSouth is testing south
-	 * @see CH.ifa.draw.standard.BoxHandleKit#south(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method south()
-	public void testSouth() throws Exception {
-		// JUnitDoclet begin method south
-		// JUnitDoclet end method south
-	}
-
-	// JUnitDoclet begin javadoc_method southEast()
-	/**
-	 * Method testSouthEast is testing southEast
-	 * @see CH.ifa.draw.standard.BoxHandleKit#southEast(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method southEast()
-	public void testSouthEast() throws Exception {
-		// JUnitDoclet begin method southEast
-		// JUnitDoclet end method southEast
-	}
-
-	// JUnitDoclet begin javadoc_method southWest()
-	/**
-	 * Method testSouthWest is testing southWest
-	 * @see CH.ifa.draw.standard.BoxHandleKit#southWest(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method southWest()
-	public void testSouthWest() throws Exception {
-		// JUnitDoclet begin method southWest
-		// JUnitDoclet end method southWest
-	}
-
-	// JUnitDoclet begin javadoc_method north()
-	/**
-	 * Method testNorth is testing north
-	 * @see CH.ifa.draw.standard.BoxHandleKit#north(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method north()
-	public void testNorth() throws Exception {
-		// JUnitDoclet begin method north
-		// JUnitDoclet end method north
-	}
-
-	// JUnitDoclet begin javadoc_method northEast()
-	/**
-	 * Method testNorthEast is testing northEast
-	 * @see CH.ifa.draw.standard.BoxHandleKit#northEast(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method northEast()
-	public void testNorthEast() throws Exception {
-		// JUnitDoclet begin method northEast
-		// JUnitDoclet end method northEast
-	}
-
-	// JUnitDoclet begin javadoc_method northWest()
-	/**
-	 * Method testNorthWest is testing northWest
-	 * @see CH.ifa.draw.standard.BoxHandleKit#northWest(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method northWest()
-	public void testNorthWest() throws Exception {
-		// JUnitDoclet begin method northWest
-		// JUnitDoclet end method northWest
-	}
-
-	// JUnitDoclet begin javadoc_method east()
-	/**
-	 * Method testEast is testing east
-	 * @see CH.ifa.draw.standard.BoxHandleKit#east(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method east()
-	public void testEast() throws Exception {
-		// JUnitDoclet begin method east
-		// JUnitDoclet end method east
-	}
-
-	// JUnitDoclet begin javadoc_method west()
-	/**
-	 * Method testWest is testing west
-	 * @see CH.ifa.draw.standard.BoxHandleKit#west(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method west()
-	public void testWest() throws Exception {
-		// JUnitDoclet begin method west
-		// JUnitDoclet end method west
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/BringToFrontCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/BringToFrontCommandTest.java
deleted file mode 100644
index 1e1b06f1b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/BringToFrontCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.BringToFrontCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BringToFrontCommandTest is generated by
- * JUnitDoclet to hold the tests for BringToFrontCommand.
- * @see CH.ifa.draw.standard.BringToFrontCommand
- */
-// JUnitDoclet end javadoc_class
-public class BringToFrontCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BringToFrontCommand bringtofrontcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BringToFrontCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BringToFrontCommandTest(String name) {
-		// JUnitDoclet begin method BringToFrontCommandTest
-		super(name);
-		// JUnitDoclet end method BringToFrontCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.BringToFrontCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.BringToFrontCommand("TestBringToFront", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bringtofrontcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bringtofrontcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.BringToFrontCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.standard.BringToFrontCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/BufferedUpdateStrategyTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/BufferedUpdateStrategyTest.java
deleted file mode 100644
index a5c90ed89..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/BufferedUpdateStrategyTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.BufferedUpdateStrategy;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BufferedUpdateStrategyTest is generated by
- * JUnitDoclet to hold the tests for BufferedUpdateStrategy.
- * @see CH.ifa.draw.standard.BufferedUpdateStrategy
- */
-// JUnitDoclet end javadoc_class
-public class BufferedUpdateStrategyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BufferedUpdateStrategy bufferedupdatestrategy;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BufferedUpdateStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BufferedUpdateStrategyTest(String name) {
-		// JUnitDoclet begin method BufferedUpdateStrategyTest
-		super(name);
-		// JUnitDoclet end method BufferedUpdateStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.BufferedUpdateStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.BufferedUpdateStrategy();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bufferedupdatestrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bufferedupdatestrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.BufferedUpdateStrategy#draw(java.awt.Graphics, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ChangeAttributeCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ChangeAttributeCommandTest.java
deleted file mode 100644
index 494a5b121..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ChangeAttributeCommandTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Font;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.framework.FigureAttributeConstant;
-import CH.ifa.draw.standard.ChangeAttributeCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChangeAttributeCommandTest is generated by
- * JUnitDoclet to hold the tests for ChangeAttributeCommand.
- * @see CH.ifa.draw.standard.ChangeAttributeCommand
- */
-// JUnitDoclet end javadoc_class
-public class ChangeAttributeCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChangeAttributeCommand changeattributecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChangeAttributeCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChangeAttributeCommandTest(String name) {
-		// JUnitDoclet begin method ChangeAttributeCommandTest
-		super(name);
-		// JUnitDoclet end method ChangeAttributeCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ChangeAttributeCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		FigureAttributeConstant fontStyle = FigureAttributeConstant.FONT_STYLE;
-		return new ChangeAttributeCommand("Bold", fontStyle, new Integer(Font.BOLD), getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		changeattributecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		changeattributecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.ChangeAttributeCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.standard.ChangeAttributeCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionEndHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionEndHandleTest.java
deleted file mode 100644
index 4731bffb8..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionEndHandleTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import junit.framework.TestCase;
-import CH.ifa.draw.figures.LineConnection;
-import CH.ifa.draw.standard.ChangeConnectionEndHandle;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChangeConnectionEndHandleTest is generated by
- * JUnitDoclet to hold the tests for ChangeConnectionEndHandle.
- * @see CH.ifa.draw.standard.ChangeConnectionEndHandle
- */
-// JUnitDoclet end javadoc_class
-public class ChangeConnectionEndHandleTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChangeConnectionEndHandle changeconnectionendhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChangeConnectionEndHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChangeConnectionEndHandleTest(String name) {
-		// JUnitDoclet begin method ChangeConnectionEndHandleTest
-		super(name);
-		// JUnitDoclet end method ChangeConnectionEndHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ChangeConnectionEndHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.ChangeConnectionEndHandle(new LineConnection());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		changeconnectionendhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		changeconnectionendhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.standard.ChangeConnectionEndHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionStartHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionStartHandleTest.java
deleted file mode 100644
index f7a4642f3..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionStartHandleTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import junit.framework.TestCase;
-import CH.ifa.draw.figures.LineConnection;
-import CH.ifa.draw.standard.ChangeConnectionStartHandle;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChangeConnectionStartHandleTest is generated by
- * JUnitDoclet to hold the tests for ChangeConnectionStartHandle.
- * @see CH.ifa.draw.standard.ChangeConnectionStartHandle
- */
-// JUnitDoclet end javadoc_class
-public class ChangeConnectionStartHandleTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChangeConnectionStartHandle changeconnectionstarthandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChangeConnectionStartHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChangeConnectionStartHandleTest(String name) {
-		// JUnitDoclet begin method ChangeConnectionStartHandleTest
-		super(name);
-		// JUnitDoclet end method ChangeConnectionStartHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ChangeConnectionStartHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.ChangeConnectionStartHandle(new LineConnection());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		changeconnectionstarthandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		changeconnectionstarthandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.standard.ChangeConnectionStartHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ChopBoxConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ChopBoxConnectorTest.java
deleted file mode 100644
index 72bcef235..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ChopBoxConnectorTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.ChopBoxConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChopBoxConnectorTest is generated by
- * JUnitDoclet to hold the tests for ChopBoxConnector.
- * @see CH.ifa.draw.standard.ChopBoxConnector
- */
-// JUnitDoclet end javadoc_class
-public class ChopBoxConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChopBoxConnector chopboxconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChopBoxConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChopBoxConnectorTest(String name) {
-		// JUnitDoclet begin method ChopBoxConnectorTest
-		super(name);
-		// JUnitDoclet end method ChopBoxConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ChopBoxConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.ChopBoxConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		chopboxconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		chopboxconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method findStart()
-	/**
-	 * Method testFindStart is testing findStart
-	 * @see CH.ifa.draw.standard.ChopBoxConnector#findStart(CH.ifa.draw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method findStart()
-	public void testFindStart() throws Exception {
-		// JUnitDoclet begin method findStart
-		// JUnitDoclet end method findStart
-	}
-
-	// JUnitDoclet begin javadoc_method findEnd()
-	/**
-	 * Method testFindEnd is testing findEnd
-	 * @see CH.ifa.draw.standard.ChopBoxConnector#findEnd(CH.ifa.draw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method findEnd()
-	public void testFindEnd() throws Exception {
-		// JUnitDoclet begin method findEnd
-		// JUnitDoclet end method findEnd
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ConnectionHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ConnectionHandleTest.java
deleted file mode 100644
index d4bf74916..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ConnectionHandleTest.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.LineConnection;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.ConnectionHandle;
-import CH.ifa.draw.standard.RelativeLocator;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ConnectionHandleTest is generated by
- * JUnitDoclet to hold the tests for ConnectionHandle.
- * @see CH.ifa.draw.standard.ConnectionHandle
- */
-// JUnitDoclet end javadoc_class
-public class ConnectionHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ConnectionHandle connectionhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ConnectionHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ConnectionHandleTest(String name) {
-		// JUnitDoclet begin method ConnectionHandleTest
-		super(name);
-		// JUnitDoclet end method ConnectionHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ConnectionHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.ConnectionHandle(new RectangleFigure(new Point(10, 10), new Point(100, 100)), RelativeLocator.east(), new LineConnection());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		connectionhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		connectionhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see CH.ifa.draw.standard.ConnectionHandle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see CH.ifa.draw.standard.ConnectionHandle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see CH.ifa.draw.standard.ConnectionHandle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.ConnectionHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ConnectionToolTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ConnectionToolTest.java
deleted file mode 100644
index 6a2081228..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ConnectionToolTest.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.LineConnection;
-import CH.ifa.draw.standard.ConnectionTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ConnectionToolTest is generated by
- * JUnitDoclet to hold the tests for ConnectionTool.
- * @see CH.ifa.draw.standard.ConnectionTool
- */
-// JUnitDoclet end javadoc_class
-public class ConnectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ConnectionTool connectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ConnectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ConnectionToolTest(String name) {
-		// JUnitDoclet begin method ConnectionToolTest
-		super(name);
-		// JUnitDoclet end method ConnectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ConnectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		LineConnection lineConn = new LineConnection();
-		// todo: lineConn.connectStart();
-		// todo: lineConn.connectEnd();
-		return new CH.ifa.draw.standard.ConnectionTool(getDrawingEditor(), lineConn);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		connectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		connectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.standard.ConnectionTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.standard.ConnectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.standard.ConnectionTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.standard.ConnectionTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.standard.ConnectionTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/CopyCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/CopyCommandTest.java
deleted file mode 100644
index 9760f35a6..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/CopyCommandTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.CopyCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CopyCommandTest is generated by
- * JUnitDoclet to hold the tests for CopyCommand.
- * @see CH.ifa.draw.standard.CopyCommand
- */
-// JUnitDoclet end javadoc_class
-public class CopyCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CopyCommand copycommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CopyCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CopyCommandTest(String name) {
-		// JUnitDoclet begin method CopyCommandTest
-		super(name);
-		// JUnitDoclet end method CopyCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.CopyCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.CopyCommand("TestCopy", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		copycommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		copycommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.CopyCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/CreationToolTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/CreationToolTest.java
deleted file mode 100644
index 214bbf108..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/CreationToolTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.CreationTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CreationToolTest is generated by
- * JUnitDoclet to hold the tests for CreationTool.
- * @see CH.ifa.draw.standard.CreationTool
- */
-// JUnitDoclet end javadoc_class
-public class CreationToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CreationTool creationtool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CreationToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CreationToolTest(String name) {
-		// JUnitDoclet begin method CreationToolTest
-		super(name);
-		// JUnitDoclet end method CreationToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.CreationTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.CreationTool(getDrawingEditor(), new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		creationtool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		creationtool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.standard.CreationTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.standard.CreationTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.standard.CreationTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.standard.CreationTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/CutCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/CutCommandTest.java
deleted file mode 100644
index 77354fcab..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/CutCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.CutCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CutCommandTest is generated by
- * JUnitDoclet to hold the tests for CutCommand.
- * @see CH.ifa.draw.standard.CutCommand
- */
-// JUnitDoclet end javadoc_class
-public class CutCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CutCommand cutcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CutCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CutCommandTest(String name) {
-		// JUnitDoclet begin method CutCommandTest
-		super(name);
-		// JUnitDoclet end method CutCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.CutCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.CutCommand("TestCut", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		cutcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		cutcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.CutCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.standard.CutCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/DeleteCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/DeleteCommandTest.java
deleted file mode 100644
index 1ae9d186c..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/DeleteCommandTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.DeleteCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DeleteCommandTest is generated by
- * JUnitDoclet to hold the tests for DeleteCommand.
- * @see CH.ifa.draw.standard.DeleteCommand
- */
-// JUnitDoclet end javadoc_class
-public class DeleteCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DeleteCommand deletecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DeleteCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DeleteCommandTest(String name) {
-		// JUnitDoclet begin method DeleteCommandTest
-		super(name);
-		// JUnitDoclet end method DeleteCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.DeleteCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.DeleteCommand("TestDelete", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		deletecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		deletecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.DeleteCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/DeleteFromDrawingVisitorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/DeleteFromDrawingVisitorTest.java
deleted file mode 100644
index 731dab901..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/DeleteFromDrawingVisitorTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.DeleteFromDrawingVisitor;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DeleteFromDrawingVisitorTest is generated by
- * JUnitDoclet to hold the tests for DeleteFromDrawingVisitor.
- * @see CH.ifa.draw.standard.DeleteFromDrawingVisitor
- */
-// JUnitDoclet end javadoc_class
-public class DeleteFromDrawingVisitorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DeleteFromDrawingVisitor deletefromdrawingvisitor;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DeleteFromDrawingVisitorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DeleteFromDrawingVisitorTest(String name) {
-		// JUnitDoclet begin method DeleteFromDrawingVisitorTest
-		super(name);
-		// JUnitDoclet end method DeleteFromDrawingVisitorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.DeleteFromDrawingVisitor createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.DeleteFromDrawingVisitor(getDrawingEditor().view().drawing());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		deletefromdrawingvisitor = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		deletefromdrawingvisitor = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method visitFigure()
-	/**
-	 * Method testVisitFigure is testing visitFigure
-	 * @see CH.ifa.draw.standard.DeleteFromDrawingVisitor#visitFigure(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method visitFigure()
-	public void testVisitFigure() throws Exception {
-		// JUnitDoclet begin method visitFigure
-		// JUnitDoclet end method visitFigure
-	}
-
-	// JUnitDoclet begin javadoc_method visitHandle()
-	/**
-	 * Method testVisitHandle is testing visitHandle
-	 * @see CH.ifa.draw.standard.DeleteFromDrawingVisitor#visitHandle(CH.ifa.draw.framework.Handle)
-	 */
-	// JUnitDoclet end javadoc_method visitHandle()
-	public void testVisitHandle() throws Exception {
-		// JUnitDoclet begin method visitHandle
-		// JUnitDoclet end method visitHandle
-	}
-
-	// JUnitDoclet begin javadoc_method visitFigureChangeListener()
-	/**
-	 * Method testVisitFigureChangeListener is testing visitFigureChangeListener
-	 * @see CH.ifa.draw.standard.DeleteFromDrawingVisitor#visitFigureChangeListener(CH.ifa.draw.framework.FigureChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method visitFigureChangeListener()
-	public void testVisitFigureChangeListener() throws Exception {
-		// JUnitDoclet begin method visitFigureChangeListener
-		// JUnitDoclet end method visitFigureChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method getDeletedFigures()
-	/**
-	 * Method testGetDeletedFigures is testing getDeletedFigures
-	 * @see CH.ifa.draw.standard.DeleteFromDrawingVisitor#getDeletedFigures()
-	 */
-	// JUnitDoclet end javadoc_method getDeletedFigures()
-	public void testGetDeletedFigures() throws Exception {
-		// JUnitDoclet begin method getDeletedFigures
-		// JUnitDoclet end method getDeletedFigures
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/DragTrackerTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/DragTrackerTest.java
deleted file mode 100644
index 1043b1371..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/DragTrackerTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.DragTracker;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DragTrackerTest is generated by
- * JUnitDoclet to hold the tests for DragTracker.
- * @see CH.ifa.draw.standard.DragTracker
- */
-// JUnitDoclet end javadoc_class
-public class DragTrackerTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DragTracker dragtracker;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DragTrackerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DragTrackerTest(String name) {
-		// JUnitDoclet begin method DragTrackerTest
-		super(name);
-		// JUnitDoclet end method DragTrackerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.DragTracker createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.DragTracker(getDrawingEditor(), new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		dragtracker = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		dragtracker = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.standard.DragTracker#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.standard.DragTracker#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.standard.DragTracker#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.standard.DragTracker#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/DuplicateCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/DuplicateCommandTest.java
deleted file mode 100644
index a72fd561c..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/DuplicateCommandTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.DuplicateCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DuplicateCommandTest is generated by
- * JUnitDoclet to hold the tests for DuplicateCommand.
- * @see CH.ifa.draw.standard.DuplicateCommand
- */
-// JUnitDoclet end javadoc_class
-public class DuplicateCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DuplicateCommand duplicatecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DuplicateCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DuplicateCommandTest(String name) {
-		// JUnitDoclet begin method DuplicateCommandTest
-		super(name);
-		// JUnitDoclet end method DuplicateCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.DuplicateCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.DuplicateCommand("TestDuplicate", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		duplicatecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		duplicatecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.DuplicateCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/FastBufferedUpdateStrategyTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/FastBufferedUpdateStrategyTest.java
deleted file mode 100644
index 425e6ec5a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/FastBufferedUpdateStrategyTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.FastBufferedUpdateStrategy;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FastBufferedUpdateStrategyTest is generated by
- * JUnitDoclet to hold the tests for FastBufferedUpdateStrategy.
- * @see CH.ifa.draw.standard.FastBufferedUpdateStrategy
- */
-// JUnitDoclet end javadoc_class
-public class FastBufferedUpdateStrategyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FastBufferedUpdateStrategy fastbufferedupdatestrategy;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FastBufferedUpdateStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FastBufferedUpdateStrategyTest(String name) {
-		// JUnitDoclet begin method FastBufferedUpdateStrategyTest
-		super(name);
-		// JUnitDoclet end method FastBufferedUpdateStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.FastBufferedUpdateStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.FastBufferedUpdateStrategy();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		fastbufferedupdatestrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		fastbufferedupdatestrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.FastBufferedUpdateStrategy#draw(java.awt.Graphics, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/FigureAndEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/FigureAndEnumeratorTest.java
deleted file mode 100644
index 21cdb5c0f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/FigureAndEnumeratorTest.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.PolyLineFigure;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.FigureAndEnumerator;
-import CH.ifa.draw.standard.FigureEnumerator;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureAndEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for FigureAndEnumerator.
- * @see CH.ifa.draw.standard.FigureAndEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class FigureAndEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureAndEnumerator figureandenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureAndEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureAndEnumeratorTest(String name) {
-		// JUnitDoclet begin method FigureAndEnumeratorTest
-		super(name);
-		// JUnitDoclet end method FigureAndEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.FigureAndEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l1 = CollectionsFactory.current().createList();
-		l1.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		l1.add(new PolyLineFigure(20, 20));
-		FigureEnumerator enum1 = new FigureEnumerator(l1);
-
-		List l2 = CollectionsFactory.current().createList();
-		l2.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		l2.add(new PolyLineFigure(20, 20));
-		FigureEnumerator enum2 = new FigureEnumerator(l2);
-		return new CH.ifa.draw.standard.FigureAndEnumerator(enum1, enum2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figureandenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figureandenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method nextFigure()
-	/**
-	 * Method testNextFigure is testing nextFigure
-	 * @see CH.ifa.draw.standard.FigureAndEnumerator#nextFigure()
-	 */
-	// JUnitDoclet end javadoc_method nextFigure()
-	public void testNextFigure() throws Exception {
-		// JUnitDoclet begin method nextFigure
-		// JUnitDoclet end method nextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextFigure()
-	/**
-	 * Method testHasNextFigure is testing hasNextFigure
-	 * @see CH.ifa.draw.standard.FigureAndEnumerator#hasNextFigure()
-	 */
-	// JUnitDoclet end javadoc_method hasNextFigure()
-	public void testHasNextFigure() throws Exception {
-		// JUnitDoclet begin method hasNextFigure
-		// JUnitDoclet end method hasNextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see CH.ifa.draw.standard.FigureAndEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeAdapterTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeAdapterTest.java
deleted file mode 100644
index 5520b8684..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeAdapterTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.FigureChangeAdapter;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureChangeAdapterTest is generated by
- * JUnitDoclet to hold the tests for FigureChangeAdapter.
- * @see CH.ifa.draw.standard.FigureChangeAdapter
- */
-// JUnitDoclet end javadoc_class
-public class FigureChangeAdapterTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureChangeAdapter figurechangeadapter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureChangeAdapterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureChangeAdapterTest(String name) {
-		// JUnitDoclet begin method FigureChangeAdapterTest
-		super(name);
-		// JUnitDoclet end method FigureChangeAdapterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.FigureChangeAdapter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.FigureChangeAdapter();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figurechangeadapter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figurechangeadapter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.standard.FigureChangeAdapter#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see CH.ifa.draw.standard.FigureChangeAdapter#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see CH.ifa.draw.standard.FigureChangeAdapter#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see CH.ifa.draw.standard.FigureChangeAdapter#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see CH.ifa.draw.standard.FigureChangeAdapter#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeEventMulticasterTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeEventMulticasterTest.java
deleted file mode 100644
index 065cc88f7..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeEventMulticasterTest.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.util.EventListener;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.TextFigure;
-import CH.ifa.draw.framework.Drawing;
-import CH.ifa.draw.standard.FigureChangeEventMulticaster;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureChangeEventMulticasterTest is generated by
- * JUnitDoclet to hold the tests for FigureChangeEventMulticaster.
- * @see CH.ifa.draw.standard.FigureChangeEventMulticaster
- */
-// JUnitDoclet end javadoc_class
-public class FigureChangeEventMulticasterTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureChangeEventMulticaster figurechangeeventmulticaster;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureChangeEventMulticasterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureChangeEventMulticasterTest(String name) {
-		// JUnitDoclet begin method FigureChangeEventMulticasterTest
-		super(name);
-		// JUnitDoclet end method FigureChangeEventMulticasterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.FigureChangeEventMulticaster createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		EventListener l1 = new TextFigure();
-		Drawing l2 = getDrawingEditor().view().drawing();
-		return new CH.ifa.draw.standard.FigureChangeEventMulticaster(l1, l2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		figurechangeeventmulticaster = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figurechangeeventmulticaster = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#add(CH.ifa.draw.framework.FigureChangeListener, CH.ifa.draw.framework.FigureChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#remove(CH.ifa.draw.framework.FigureChangeListener, CH.ifa.draw.framework.FigureChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/FigureEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/FigureEnumeratorTest.java
deleted file mode 100644
index 0e84222cf..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/FigureEnumeratorTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.PolyLineFigure;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.FigureEnumerator;
-import CH.ifa.draw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for FigureEnumerator.
- * @see CH.ifa.draw.standard.FigureEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class FigureEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureEnumerator figureenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureEnumeratorTest(String name) {
-		// JUnitDoclet begin method FigureEnumeratorTest
-		super(name);
-		// JUnitDoclet end method FigureEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.FigureEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l = CollectionsFactory.current().createList();
-		l.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		l.add(new PolyLineFigure(20, 20));
-		return new CH.ifa.draw.standard.FigureEnumerator(l);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figureenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figureenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextFigure()
-	/**
-	 * Method testHasNextFigure is testing hasNextFigure
-	 * @see CH.ifa.draw.standard.FigureEnumerator#hasNextFigure()
-	 */
-	// JUnitDoclet end javadoc_method hasNextFigure()
-	public void testHasNextFigure() throws Exception {
-		// JUnitDoclet begin method hasNextFigure
-		// JUnitDoclet end method hasNextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method nextFigure()
-	/**
-	 * Method testNextFigure is testing nextFigure
-	 * @see CH.ifa.draw.standard.FigureEnumerator#nextFigure()
-	 */
-	// JUnitDoclet end javadoc_method nextFigure()
-	public void testNextFigure() throws Exception {
-		// JUnitDoclet begin method nextFigure
-		// JUnitDoclet end method nextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method getEmptyEnumeration()
-	/**
-	 * Method testGetEmptyEnumeration is testing getEmptyEnumeration
-	 * @see CH.ifa.draw.standard.FigureEnumerator#getEmptyEnumeration()
-	 */
-	// JUnitDoclet end javadoc_method getEmptyEnumeration()
-	public void testGetEmptyEnumeration() throws Exception {
-		// JUnitDoclet begin method getEmptyEnumeration
-		// JUnitDoclet end method getEmptyEnumeration
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see CH.ifa.draw.standard.FigureEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/GridConstrainerTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/GridConstrainerTest.java
deleted file mode 100644
index 0305c113e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/GridConstrainerTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.GridConstrainer;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GridConstrainerTest is generated by
- * JUnitDoclet to hold the tests for GridConstrainer.
- * @see CH.ifa.draw.standard.GridConstrainer
- */
-// JUnitDoclet end javadoc_class
-public class GridConstrainerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private GridConstrainer gridconstrainer;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor GridConstrainerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public GridConstrainerTest(String name) {
-		// JUnitDoclet begin method GridConstrainerTest
-		super(name);
-		// JUnitDoclet end method GridConstrainerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.GridConstrainer createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.GridConstrainer(5, 5);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		gridconstrainer = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		gridconstrainer = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method constrainPoint()
-	/**
-	 * Method testConstrainPoint is testing constrainPoint
-	 * @see CH.ifa.draw.standard.GridConstrainer#constrainPoint(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method constrainPoint()
-	public void testConstrainPoint() throws Exception {
-		// JUnitDoclet begin method constrainPoint
-		// JUnitDoclet end method constrainPoint
-	}
-
-	// JUnitDoclet begin javadoc_method getStepX()
-	/**
-	 * Method testGetStepX is testing getStepX
-	 * @see CH.ifa.draw.standard.GridConstrainer#getStepX()
-	 */
-	// JUnitDoclet end javadoc_method getStepX()
-	public void testGetStepX() throws Exception {
-		// JUnitDoclet begin method getStepX
-		// JUnitDoclet end method getStepX
-	}
-
-	// JUnitDoclet begin javadoc_method getStepY()
-	/**
-	 * Method testGetStepY is testing getStepY
-	 * @see CH.ifa.draw.standard.GridConstrainer#getStepY()
-	 */
-	// JUnitDoclet end javadoc_method getStepY()
-	public void testGetStepY() throws Exception {
-		// JUnitDoclet begin method getStepY
-		// JUnitDoclet end method getStepY
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/HandleAndEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/HandleAndEnumeratorTest.java
deleted file mode 100644
index b8df844b4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/HandleAndEnumeratorTest.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.HandleAndEnumerator;
-import CH.ifa.draw.standard.HandleEnumerator;
-import CH.ifa.draw.standard.NullHandle;
-import CH.ifa.draw.standard.RelativeLocator;
-import CH.ifa.draw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase HandleAndEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for HandleAndEnumerator.
- * @see CH.ifa.draw.standard.HandleAndEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class HandleAndEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private HandleAndEnumerator handleandenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor HandleAndEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public HandleAndEnumeratorTest(String name) {
-		// JUnitDoclet begin method HandleAndEnumeratorTest
-		super(name);
-		// JUnitDoclet end method HandleAndEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.HandleAndEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		RectangleFigure figure1 = new RectangleFigure(new Point(15, 15), new Point(20, 20));
-		List l1 = CollectionsFactory.current().createList();
-		l1.add(new NullHandle(figure1, RelativeLocator.north()));
-		l1.add(new NullHandle(figure1, RelativeLocator.north()));
-		HandleEnumerator handleEnum1 = new HandleEnumerator(l1);
-
-		RectangleFigure figure2 = new RectangleFigure(new Point(55, 55), new Point(70, 70));
-		List l2 = CollectionsFactory.current().createList();
-		l2.add(new NullHandle(figure2, RelativeLocator.north()));
-		l2.add(new NullHandle(figure2, RelativeLocator.north()));
-		HandleEnumerator handleEnum2 = new HandleEnumerator(l2);
-		return new CH.ifa.draw.standard.HandleAndEnumerator(handleEnum1, handleEnum2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		handleandenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		handleandenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method nextHandle()
-	/**
-	 * Method testNextHandle is testing nextHandle
-	 * @see CH.ifa.draw.standard.HandleAndEnumerator#nextHandle()
-	 */
-	// JUnitDoclet end javadoc_method nextHandle()
-	public void testNextHandle() throws Exception {
-		// JUnitDoclet begin method nextHandle
-		// JUnitDoclet end method nextHandle
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextHandle()
-	/**
-	 * Method testHasNextHandle is testing hasNextHandle
-	 * @see CH.ifa.draw.standard.HandleAndEnumerator#hasNextHandle()
-	 */
-	// JUnitDoclet end javadoc_method hasNextHandle()
-	public void testHasNextHandle() throws Exception {
-		// JUnitDoclet begin method hasNextHandle
-		// JUnitDoclet end method hasNextHandle
-	}
-
-	// JUnitDoclet begin javadoc_method toList()
-	/**
-	 * Method testToList is testing toList
-	 * @see CH.ifa.draw.standard.HandleAndEnumerator#toList()
-	 */
-	// JUnitDoclet end javadoc_method toList()
-	public void testToList() throws Exception {
-		// JUnitDoclet begin method toList
-		// JUnitDoclet end method toList
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see CH.ifa.draw.standard.HandleAndEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/HandleEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/HandleEnumeratorTest.java
deleted file mode 100644
index 632429247..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/HandleEnumeratorTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.HandleEnumerator;
-import CH.ifa.draw.standard.NullHandle;
-import CH.ifa.draw.standard.RelativeLocator;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase HandleEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for HandleEnumerator.
- * @see CH.ifa.draw.standard.HandleEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class HandleEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private HandleEnumerator handleenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor HandleEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public HandleEnumeratorTest(String name) {
-		// JUnitDoclet begin method HandleEnumeratorTest
-		super(name);
-		// JUnitDoclet end method HandleEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.HandleEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		RectangleFigure figure = new RectangleFigure(new Point(15, 15), new Point(20, 20));
-		List l = CollectionsFactory.current().createList();
-		l.add(new NullHandle(figure, RelativeLocator.north()));
-		l.add(new NullHandle(figure, RelativeLocator.north()));
-		return new CH.ifa.draw.standard.HandleEnumerator(l);
-		//return (HandleEnumerator)figure.handles();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		handleenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		handleenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextHandle()
-	/**
-	 * Method testHasNextHandle is testing hasNextHandle
-	 * @see CH.ifa.draw.standard.HandleEnumerator#hasNextHandle()
-	 */
-	// JUnitDoclet end javadoc_method hasNextHandle()
-	public void testHasNextHandle() throws Exception {
-		// JUnitDoclet begin method hasNextHandle
-		// JUnitDoclet end method hasNextHandle
-	}
-
-	// JUnitDoclet begin javadoc_method nextHandle()
-	/**
-	 * Method testNextHandle is testing nextHandle
-	 * @see CH.ifa.draw.standard.HandleEnumerator#nextHandle()
-	 */
-	// JUnitDoclet end javadoc_method nextHandle()
-	public void testNextHandle() throws Exception {
-		// JUnitDoclet begin method nextHandle
-		// JUnitDoclet end method nextHandle
-	}
-
-	// JUnitDoclet begin javadoc_method toList()
-	/**
-	 * Method testToList is testing toList
-	 * @see CH.ifa.draw.standard.HandleEnumerator#toList()
-	 */
-	// JUnitDoclet end javadoc_method toList()
-	public void testToList() throws Exception {
-		// JUnitDoclet begin method toList
-		// JUnitDoclet end method toList
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see CH.ifa.draw.standard.HandleEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method getEmptyEnumeration()
-	/**
-	 * Method testGetEmptyEnumeration is testing getEmptyEnumeration
-	 * @see CH.ifa.draw.standard.HandleEnumerator#getEmptyEnumeration()
-	 */
-	// JUnitDoclet end javadoc_method getEmptyEnumeration()
-	public void testGetEmptyEnumeration() throws Exception {
-		// JUnitDoclet begin method getEmptyEnumeration
-		// JUnitDoclet end method getEmptyEnumeration
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/HandleTrackerTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/HandleTrackerTest.java
deleted file mode 100644
index b523d8652..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/HandleTrackerTest.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.Handle;
-import CH.ifa.draw.standard.HandleTracker;
-import CH.ifa.draw.standard.NullHandle;
-import CH.ifa.draw.standard.RelativeLocator;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase HandleTrackerTest is generated by
- * JUnitDoclet to hold the tests for HandleTracker.
- * @see CH.ifa.draw.standard.HandleTracker
- */
-// JUnitDoclet end javadoc_class
-public class HandleTrackerTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private HandleTracker handletracker;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor HandleTrackerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public HandleTrackerTest(String name) {
-		// JUnitDoclet begin method HandleTrackerTest
-		super(name);
-		// JUnitDoclet end method HandleTrackerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.HandleTracker createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Handle handle = new NullHandle(new RectangleFigure(new Point(10, 10), new Point(40, 40)), RelativeLocator.north());
-		return new CH.ifa.draw.standard.HandleTracker(getDrawingEditor(), handle);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		handletracker = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		handletracker = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.standard.HandleTracker#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.standard.HandleTracker#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.standard.HandleTracker#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.standard.HandleTracker#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/InsertIntoDrawingVisitorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/InsertIntoDrawingVisitorTest.java
deleted file mode 100644
index c5a24a94c..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/InsertIntoDrawingVisitorTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.InsertIntoDrawingVisitor;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase InsertIntoDrawingVisitorTest is generated by
- * JUnitDoclet to hold the tests for InsertIntoDrawingVisitor.
- * @see CH.ifa.draw.standard.InsertIntoDrawingVisitor
- */
-// JUnitDoclet end javadoc_class
-public class InsertIntoDrawingVisitorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private InsertIntoDrawingVisitor insertintodrawingvisitor;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor InsertIntoDrawingVisitorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public InsertIntoDrawingVisitorTest(String name) {
-		// JUnitDoclet begin method InsertIntoDrawingVisitorTest
-		super(name);
-		// JUnitDoclet end method InsertIntoDrawingVisitorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.InsertIntoDrawingVisitor createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.InsertIntoDrawingVisitor(getDrawingEditor().view().drawing());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		insertintodrawingvisitor = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		insertintodrawingvisitor = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method visitFigure()
-	/**
-	 * Method testVisitFigure is testing visitFigure
-	 * @see CH.ifa.draw.standard.InsertIntoDrawingVisitor#visitFigure(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method visitFigure()
-	public void testVisitFigure() throws Exception {
-		// JUnitDoclet begin method visitFigure
-		// JUnitDoclet end method visitFigure
-	}
-
-	// JUnitDoclet begin javadoc_method visitHandle()
-	/**
-	 * Method testVisitHandle is testing visitHandle
-	 * @see CH.ifa.draw.standard.InsertIntoDrawingVisitor#visitHandle(CH.ifa.draw.framework.Handle)
-	 */
-	// JUnitDoclet end javadoc_method visitHandle()
-	public void testVisitHandle() throws Exception {
-		// JUnitDoclet begin method visitHandle
-		// JUnitDoclet end method visitHandle
-	}
-
-	// JUnitDoclet begin javadoc_method visitFigureChangeListener()
-	/**
-	 * Method testVisitFigureChangeListener is testing visitFigureChangeListener
-	 * @see CH.ifa.draw.standard.InsertIntoDrawingVisitor#visitFigureChangeListener(CH.ifa.draw.framework.FigureChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method visitFigureChangeListener()
-	public void testVisitFigureChangeListener() throws Exception {
-		// JUnitDoclet begin method visitFigureChangeListener
-		// JUnitDoclet end method visitFigureChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method getInsertedFigures()
-	/**
-	 * Method testGetInsertedFigures is testing getInsertedFigures
-	 * @see CH.ifa.draw.standard.InsertIntoDrawingVisitor#getInsertedFigures()
-	 */
-	// JUnitDoclet end javadoc_method getInsertedFigures()
-	public void testGetInsertedFigures() throws Exception {
-		// JUnitDoclet begin method getInsertedFigures
-		// JUnitDoclet end method getInsertedFigures
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/LocatorConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/LocatorConnectorTest.java
deleted file mode 100644
index 348b5bc2a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/LocatorConnectorTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.LocatorConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase LocatorConnectorTest is generated by
- * JUnitDoclet to hold the tests for LocatorConnector.
- * @see CH.ifa.draw.standard.LocatorConnector
- */
-// JUnitDoclet end javadoc_class
-public class LocatorConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private LocatorConnector locatorconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor LocatorConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public LocatorConnectorTest(String name) {
-		// JUnitDoclet begin method LocatorConnectorTest
-		super(name);
-		// JUnitDoclet end method LocatorConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.LocatorConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.LocatorConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		locatorconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		locatorconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.standard.LocatorConnector#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.standard.LocatorConnector#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.LocatorConnector#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.standard.LocatorConnector#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.standard.LocatorConnector#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method getLocator()
-	/**
-	 * Method testGetLocator is testing getLocator
-	 * @see CH.ifa.draw.standard.LocatorConnector#getLocator()
-	 */
-	// JUnitDoclet end javadoc_method getLocator()
-	public void testGetLocator() throws Exception {
-		// JUnitDoclet begin method getLocator
-		// JUnitDoclet end method getLocator
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/LocatorHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/LocatorHandleTest.java
deleted file mode 100644
index 128aa9eb4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/LocatorHandleTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.LocatorHandle;
-import CH.ifa.draw.standard.RelativeLocator;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase LocatorHandleTest is generated by
- * JUnitDoclet to hold the tests for LocatorHandle.
- * @see CH.ifa.draw.standard.LocatorHandle
- */
-// JUnitDoclet end javadoc_class
-public class LocatorHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private LocatorHandle locatorhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor LocatorHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public LocatorHandleTest(String name) {
-		// JUnitDoclet begin method LocatorHandleTest
-		super(name);
-		// JUnitDoclet end method LocatorHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.LocatorHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.LocatorHandle(new RectangleFigure(new Point(), new Point()), new RelativeLocator(1.0, 2.0));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		locatorhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		locatorhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getLocator()
-	/**
-	 * Method testGetLocator is testing getLocator
-	 * @see CH.ifa.draw.standard.LocatorHandle#getLocator()
-	 */
-	// JUnitDoclet end javadoc_method getLocator()
-	public void testGetLocator() throws Exception {
-		// JUnitDoclet begin method getLocator
-		// JUnitDoclet end method getLocator
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.standard.LocatorHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/NullDrawingViewTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/NullDrawingViewTest.java
deleted file mode 100644
index ce208c43b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/NullDrawingViewTest.java
+++ /dev/null
@@ -1,650 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.NullDrawingView;
-import CH.ifa.draw.standard.SimpleUpdateStrategy;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullDrawingViewTest is generated by
- * JUnitDoclet to hold the tests for NullDrawingView.
- * @see CH.ifa.draw.standard.NullDrawingView
- */
-// JUnitDoclet end javadoc_class
-public class NullDrawingViewTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullDrawingView nulldrawingview;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullDrawingViewTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullDrawingViewTest(String name) {
-		// JUnitDoclet begin method NullDrawingViewTest
-		super(name);
-		// JUnitDoclet end method NullDrawingViewTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.NullDrawingView createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return (NullDrawingView)NullDrawingView.getManagedDrawingView(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nulldrawingview = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nulldrawingview = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setEditor()
-	/**
-	 * Method testSetEditor is testing setEditor
-	 * @see CH.ifa.draw.standard.NullDrawingView#setEditor(CH.ifa.draw.framework.DrawingEditor)
-	 */
-	// JUnitDoclet end javadoc_method setEditor()
-	public void testSetEditor() throws Exception {
-		// JUnitDoclet begin method setEditor
-		// JUnitDoclet end method setEditor
-	}
-
-	// JUnitDoclet begin javadoc_method tool()
-	/**
-	 * Method testTool is testing tool
-	 * @see CH.ifa.draw.standard.NullDrawingView#tool()
-	 */
-	// JUnitDoclet end javadoc_method tool()
-	public void testTool() throws Exception {
-		// JUnitDoclet begin method tool
-		// JUnitDoclet end method tool
-	}
-
-	// JUnitDoclet begin javadoc_method drawing()
-	/**
-	 * Method testDrawing is testing drawing
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawing()
-	 */
-	// JUnitDoclet end javadoc_method drawing()
-	public void testDrawing() throws Exception {
-		// JUnitDoclet begin method drawing
-		// JUnitDoclet end method drawing
-	}
-
-	// JUnitDoclet begin javadoc_method setDrawing()
-	/**
-	 * Method testSetDrawing is testing setDrawing
-	 * @see CH.ifa.draw.standard.NullDrawingView#setDrawing(CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method setDrawing()
-	public void testSetDrawing() throws Exception {
-		// JUnitDoclet begin method setDrawing
-		// JUnitDoclet end method setDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method editor()
-	/**
-	 * Method testEditor is testing editor
-	 * @see CH.ifa.draw.standard.NullDrawingView#editor()
-	 */
-	// JUnitDoclet end javadoc_method editor()
-	public void testEditor() throws Exception {
-		// JUnitDoclet begin method editor
-		// JUnitDoclet end method editor
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.standard.NullDrawingView#add(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.standard.NullDrawingView#remove(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method addAll()
-	/**
-	 * Method testAddAll is testing addAll
-	 * @see CH.ifa.draw.standard.NullDrawingView#addAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addAll()
-	public void testAddAll() throws Exception {
-		// JUnitDoclet begin method addAll
-		// JUnitDoclet end method addAll
-	}
-
-	// JUnitDoclet begin javadoc_method getSize()
-	/**
-	 * Method testGetSize is testing getSize
-	 * @see CH.ifa.draw.standard.NullDrawingView#getSize()
-	 */
-	// JUnitDoclet end javadoc_method getSize()
-	public void testGetSize() throws Exception {
-		// JUnitDoclet begin method getSize
-		// JUnitDoclet end method getSize
-	}
-
-	// JUnitDoclet begin javadoc_method getMinimumSize()
-	/**
-	 * Method testGetMinimumSize is testing getMinimumSize
-	 * @see CH.ifa.draw.standard.NullDrawingView#getMinimumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMinimumSize()
-	public void testGetMinimumSize() throws Exception {
-		// JUnitDoclet begin method getMinimumSize
-		// JUnitDoclet end method getMinimumSize
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see CH.ifa.draw.standard.NullDrawingView#getPreferredSize()
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method setDisplayUpdate()
-	/**
-	 * Method testSetGetDisplayUpdate is testing setDisplayUpdate
-	 * and getDisplayUpdate together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.standard.NullDrawingView#setDisplayUpdate(CH.ifa.draw.framework.Painter)
-	 * @see CH.ifa.draw.standard.NullDrawingView#getDisplayUpdate()
-	 */
-	// JUnitDoclet end javadoc_method setDisplayUpdate()
-	public void testSetGetDisplayUpdate() throws Exception {
-		// JUnitDoclet begin method setDisplayUpdate getDisplayUpdate
-		CH.ifa.draw.framework.Painter[] tests = { new SimpleUpdateStrategy(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			nulldrawingview.setDisplayUpdate(tests[i]);
-			assertEquals(tests[i], nulldrawingview.getDisplayUpdate());
-		}
-		// JUnitDoclet end method setDisplayUpdate getDisplayUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method selection()
-	/**
-	 * Method testSelection is testing selection
-	 * @see CH.ifa.draw.standard.NullDrawingView#selection()
-	 */
-	// JUnitDoclet end javadoc_method selection()
-	public void testSelection() throws Exception {
-		// JUnitDoclet begin method selection
-		// JUnitDoclet end method selection
-	}
-
-	// JUnitDoclet begin javadoc_method selectionZOrdered()
-	/**
-	 * Method testSelectionZOrdered is testing selectionZOrdered
-	 * @see CH.ifa.draw.standard.NullDrawingView#selectionZOrdered()
-	 */
-	// JUnitDoclet end javadoc_method selectionZOrdered()
-	public void testSelectionZOrdered() throws Exception {
-		// JUnitDoclet begin method selectionZOrdered
-		// JUnitDoclet end method selectionZOrdered
-	}
-
-	// JUnitDoclet begin javadoc_method selectionCount()
-	/**
-	 * Method testSelectionCount is testing selectionCount
-	 * @see CH.ifa.draw.standard.NullDrawingView#selectionCount()
-	 */
-	// JUnitDoclet end javadoc_method selectionCount()
-	public void testSelectionCount() throws Exception {
-		// JUnitDoclet begin method selectionCount
-		// JUnitDoclet end method selectionCount
-	}
-
-	// JUnitDoclet begin javadoc_method isFigureSelected()
-	/**
-	 * Method testIsFigureSelected is testing isFigureSelected
-	 * @see CH.ifa.draw.standard.NullDrawingView#isFigureSelected(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method isFigureSelected()
-	public void testIsFigureSelected() throws Exception {
-		// JUnitDoclet begin method isFigureSelected
-		// JUnitDoclet end method isFigureSelected
-	}
-
-	// JUnitDoclet begin javadoc_method addToSelection()
-	/**
-	 * Method testAddToSelection is testing addToSelection
-	 * @see CH.ifa.draw.standard.NullDrawingView#addToSelection(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method addToSelection()
-	public void testAddToSelection() throws Exception {
-		// JUnitDoclet begin method addToSelection
-		// JUnitDoclet end method addToSelection
-	}
-
-	// JUnitDoclet begin javadoc_method addToSelectionAll()
-	/**
-	 * Method testAddToSelectionAll is testing addToSelectionAll
-	 * @see CH.ifa.draw.standard.NullDrawingView#addToSelectionAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addToSelectionAll()
-	public void testAddToSelectionAll() throws Exception {
-		// JUnitDoclet begin method addToSelectionAll
-		// JUnitDoclet end method addToSelectionAll
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromSelection()
-	/**
-	 * Method testRemoveFromSelection is testing removeFromSelection
-	 * @see CH.ifa.draw.standard.NullDrawingView#removeFromSelection(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method removeFromSelection()
-	public void testRemoveFromSelection() throws Exception {
-		// JUnitDoclet begin method removeFromSelection
-		// JUnitDoclet end method removeFromSelection
-	}
-
-	// JUnitDoclet begin javadoc_method toggleSelection()
-	/**
-	 * Method testToggleSelection is testing toggleSelection
-	 * @see CH.ifa.draw.standard.NullDrawingView#toggleSelection(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method toggleSelection()
-	public void testToggleSelection() throws Exception {
-		// JUnitDoclet begin method toggleSelection
-		// JUnitDoclet end method toggleSelection
-	}
-
-	// JUnitDoclet begin javadoc_method clearSelection()
-	/**
-	 * Method testClearSelection is testing clearSelection
-	 * @see CH.ifa.draw.standard.NullDrawingView#clearSelection()
-	 */
-	// JUnitDoclet end javadoc_method clearSelection()
-	public void testClearSelection() throws Exception {
-		// JUnitDoclet begin method clearSelection
-		// JUnitDoclet end method clearSelection
-	}
-
-	// JUnitDoclet begin javadoc_method getFigureSelection()
-	/**
-	 * Method testGetFigureSelection is testing getFigureSelection
-	 * @see CH.ifa.draw.standard.NullDrawingView#getFigureSelection()
-	 */
-	// JUnitDoclet end javadoc_method getFigureSelection()
-	public void testGetFigureSelection() throws Exception {
-		// JUnitDoclet begin method getFigureSelection
-		// JUnitDoclet end method getFigureSelection
-	}
-
-	// JUnitDoclet begin javadoc_method findHandle()
-	/**
-	 * Method testFindHandle is testing findHandle
-	 * @see CH.ifa.draw.standard.NullDrawingView#findHandle(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findHandle()
-	public void testFindHandle() throws Exception {
-		// JUnitDoclet begin method findHandle
-		// JUnitDoclet end method findHandle
-	}
-
-	// JUnitDoclet begin javadoc_method lastClick()
-	/**
-	 * Method testLastClick is testing lastClick
-	 * @see CH.ifa.draw.standard.NullDrawingView#lastClick()
-	 */
-	// JUnitDoclet end javadoc_method lastClick()
-	public void testLastClick() throws Exception {
-		// JUnitDoclet begin method lastClick
-		// JUnitDoclet end method lastClick
-	}
-
-	// JUnitDoclet begin javadoc_method setConstrainer()
-	/**
-	 * NullDrawingView.setConstrainer is a no-op.
-	 *   
-	 * @see CH.ifa.draw.standard.NullDrawingView#setConstrainer(CH.ifa.draw.framework.PointConstrainer)
-	 * @see CH.ifa.draw.standard.NullDrawingView#getConstrainer()
-	 */
-	// JUnitDoclet end javadoc_method setConstrainer()
-	public void testSetGetConstrainer() throws Exception {
-		// JUnitDoclet begin method setConstrainer getConstrainer
-		// Do nothing: NullDrawingView.setConstrainer is a no-op.
-		// JUnitDoclet end method setConstrainer getConstrainer
-	}
-
-	// JUnitDoclet begin javadoc_method checkDamage()
-	/**
-	 * Method testCheckDamage is testing checkDamage
-	 * @see CH.ifa.draw.standard.NullDrawingView#checkDamage()
-	 */
-	// JUnitDoclet end javadoc_method checkDamage()
-	public void testCheckDamage() throws Exception {
-		// JUnitDoclet begin method checkDamage
-		// JUnitDoclet end method checkDamage
-	}
-
-	// JUnitDoclet begin javadoc_method repairDamage()
-	/**
-	 * Method testRepairDamage is testing repairDamage
-	 * @see CH.ifa.draw.standard.NullDrawingView#repairDamage()
-	 */
-	// JUnitDoclet end javadoc_method repairDamage()
-	public void testRepairDamage() throws Exception {
-		// JUnitDoclet begin method repairDamage
-		// JUnitDoclet end method repairDamage
-	}
-
-	// JUnitDoclet begin javadoc_method paint()
-	/**
-	 * Method testPaint is testing paint
-	 * @see CH.ifa.draw.standard.NullDrawingView#paint(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method paint()
-	public void testPaint() throws Exception {
-		// JUnitDoclet begin method paint
-		// JUnitDoclet end method paint
-	}
-
-	// JUnitDoclet begin javadoc_method createImage()
-	/**
-	 * Method testCreateImage is testing createImage
-	 * @see CH.ifa.draw.standard.NullDrawingView#createImage(int, int)
-	 */
-	// JUnitDoclet end javadoc_method createImage()
-	public void testCreateImage() throws Exception {
-		// JUnitDoclet begin method createImage
-		// JUnitDoclet end method createImage
-	}
-
-	// JUnitDoclet begin javadoc_method getGraphics()
-	/**
-	 * Method testGetGraphics is testing getGraphics
-	 * @see CH.ifa.draw.standard.NullDrawingView#getGraphics()
-	 */
-	// JUnitDoclet end javadoc_method getGraphics()
-	public void testGetGraphics() throws Exception {
-		// JUnitDoclet begin method getGraphics
-		// JUnitDoclet end method getGraphics
-	}
-
-	// JUnitDoclet begin javadoc_method setBackground()
-	/**
-	 * Method testSetGetBackground is testing setBackground
-	 * and getBackground together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.standard.NullDrawingView#setBackground(java.awt.Color)
-	 * @see CH.ifa.draw.standard.NullDrawingView#getBackground()
-	 */
-	// JUnitDoclet end javadoc_method setBackground()
-	public void testSetGetBackground() throws Exception {
-		// JUnitDoclet begin method setBackground getBackground
-		java.awt.Color[] tests = { java.awt.Color.BLACK, null };
-
-		for (int i = 0; i < tests.length; i++) {
-			nulldrawingview.setBackground(tests[i]);
-			assertEquals(tests[i], nulldrawingview.getBackground());
-		}
-		// JUnitDoclet end method setBackground getBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawAll()
-	/**
-	 * Method testDrawAll is testing drawAll
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawAll(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawAll()
-	public void testDrawAll() throws Exception {
-		// JUnitDoclet begin method drawAll
-		// JUnitDoclet end method drawAll
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.NullDrawingView#draw(java.awt.Graphics, CH.ifa.draw.framework.FigureEnumeration)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method drawHandles()
-	/**
-	 * Method testDrawHandles is testing drawHandles
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawHandles(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawHandles()
-	public void testDrawHandles() throws Exception {
-		// JUnitDoclet begin method drawHandles
-		// JUnitDoclet end method drawHandles
-	}
-
-	// JUnitDoclet begin javadoc_method drawDrawing()
-	/**
-	 * Method testDrawDrawing is testing drawDrawing
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawDrawing(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawDrawing()
-	public void testDrawDrawing() throws Exception {
-		// JUnitDoclet begin method drawDrawing
-		// JUnitDoclet end method drawDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method setCursor()
-	/**
-	 * Method testSetCursor is testing setCursor
-	 * @see CH.ifa.draw.standard.NullDrawingView#setCursor(java.awt.Cursor)
-	 */
-	// JUnitDoclet end javadoc_method setCursor()
-	public void testSetCursor() throws Exception {
-		// JUnitDoclet begin method setCursor
-		// JUnitDoclet end method setCursor
-	}
-
-	// JUnitDoclet begin javadoc_method freezeView()
-	/**
-	 * Method testFreezeView is testing freezeView
-	 * @see CH.ifa.draw.standard.NullDrawingView#freezeView()
-	 */
-	// JUnitDoclet end javadoc_method freezeView()
-	public void testFreezeView() throws Exception {
-		// JUnitDoclet begin method freezeView
-		// JUnitDoclet end method freezeView
-	}
-
-	// JUnitDoclet begin javadoc_method unfreezeView()
-	/**
-	 * Method testUnfreezeView is testing unfreezeView
-	 * @see CH.ifa.draw.standard.NullDrawingView#unfreezeView()
-	 */
-	// JUnitDoclet end javadoc_method unfreezeView()
-	public void testUnfreezeView() throws Exception {
-		// JUnitDoclet begin method unfreezeView
-		// JUnitDoclet end method unfreezeView
-	}
-
-	// JUnitDoclet begin javadoc_method addFigureSelectionListener()
-	/**
-	 * Method testAddFigureSelectionListener is testing addFigureSelectionListener
-	 * @see CH.ifa.draw.standard.NullDrawingView#addFigureSelectionListener(CH.ifa.draw.framework.FigureSelectionListener)
-	 */
-	// JUnitDoclet end javadoc_method addFigureSelectionListener()
-	public void testAddFigureSelectionListener() throws Exception {
-		// JUnitDoclet begin method addFigureSelectionListener
-		// JUnitDoclet end method addFigureSelectionListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeFigureSelectionListener()
-	/**
-	 * Method testRemoveFigureSelectionListener is testing removeFigureSelectionListener
-	 * @see CH.ifa.draw.standard.NullDrawingView#removeFigureSelectionListener(CH.ifa.draw.framework.FigureSelectionListener)
-	 */
-	// JUnitDoclet end javadoc_method removeFigureSelectionListener()
-	public void testRemoveFigureSelectionListener() throws Exception {
-		// JUnitDoclet begin method removeFigureSelectionListener
-		// JUnitDoclet end method removeFigureSelectionListener
-	}
-
-	// JUnitDoclet begin javadoc_method getConnectionFigures()
-	/**
-	 * Method testGetConnectionFigures is testing getConnectionFigures
-	 * @see CH.ifa.draw.standard.NullDrawingView#getConnectionFigures(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method getConnectionFigures()
-	public void testGetConnectionFigures() throws Exception {
-		// JUnitDoclet begin method getConnectionFigures
-		// JUnitDoclet end method getConnectionFigures
-	}
-
-	// JUnitDoclet begin javadoc_method insertFigures()
-	/**
-	 * Method testInsertFigures is testing insertFigures
-	 * @see CH.ifa.draw.standard.NullDrawingView#insertFigures(CH.ifa.draw.framework.FigureEnumeration, int, int, boolean)
-	 */
-	// JUnitDoclet end javadoc_method insertFigures()
-	public void testInsertFigures() throws Exception {
-		// JUnitDoclet begin method insertFigures
-		// JUnitDoclet end method insertFigures
-	}
-
-	// JUnitDoclet begin javadoc_method drawingInvalidated()
-	/**
-	 * Method testDrawingInvalidated is testing drawingInvalidated
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawingInvalidated(CH.ifa.draw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingInvalidated()
-	public void testDrawingInvalidated() throws Exception {
-		// JUnitDoclet begin method drawingInvalidated
-		// JUnitDoclet end method drawingInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method drawingRequestUpdate()
-	/**
-	 * Method testDrawingRequestUpdate is testing drawingRequestUpdate
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawingRequestUpdate(CH.ifa.draw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingRequestUpdate()
-	public void testDrawingRequestUpdate() throws Exception {
-		// JUnitDoclet begin method drawingRequestUpdate
-		// JUnitDoclet end method drawingRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method drawingTitleChanged()
-	/**
-	 * Method testDrawingTitleChanged is testing drawingTitleChanged
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawingTitleChanged(CH.ifa.draw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingTitleChanged()
-	public void testDrawingTitleChanged() throws Exception {
-		// JUnitDoclet begin method drawingTitleChanged
-		// JUnitDoclet end method drawingTitleChanged
-	}
-
-	// JUnitDoclet begin javadoc_method isInteractive()
-	/**
-	 * Method testIsInteractive is testing isInteractive
-	 * @see CH.ifa.draw.standard.NullDrawingView#isInteractive()
-	 */
-	// JUnitDoclet end javadoc_method isInteractive()
-	public void testIsInteractive() throws Exception {
-		// JUnitDoclet begin method isInteractive
-		// JUnitDoclet end method isInteractive
-	}
-
-	// JUnitDoclet begin javadoc_method getManagedDrawingView()
-	/**
-	 * Method testGetManagedDrawingView is testing getManagedDrawingView
-	 * @see CH.ifa.draw.standard.NullDrawingView#getManagedDrawingView(CH.ifa.draw.framework.DrawingEditor)
-	 */
-	// JUnitDoclet end javadoc_method getManagedDrawingView()
-	public void testGetManagedDrawingView() throws Exception {
-		// JUnitDoclet begin method getManagedDrawingView
-		// JUnitDoclet end method getManagedDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/NullHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/NullHandleTest.java
deleted file mode 100644
index 99d104fd7..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/NullHandleTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.NullHandle;
-import CH.ifa.draw.standard.RelativeLocator;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullHandleTest is generated by
- * JUnitDoclet to hold the tests for NullHandle.
- * @see CH.ifa.draw.standard.NullHandle
- */
-// JUnitDoclet end javadoc_class
-public class NullHandleTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullHandle nullhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullHandleTest(String name) {
-		// JUnitDoclet begin method NullHandleTest
-		super(name);
-		// JUnitDoclet end method NullHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.NullHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.NullHandle(new RectangleFigure(new Point(5, 5), new Point(100, 100)), new RelativeLocator());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nullhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nullhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.NullHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/NullToolTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/NullToolTest.java
deleted file mode 100644
index 04cbfd9b3..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/NullToolTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.NullTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullToolTest is generated by
- * JUnitDoclet to hold the tests for NullTool.
- * @see CH.ifa.draw.standard.NullTool
- */
-// JUnitDoclet end javadoc_class
-public class NullToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullTool nulltool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullToolTest(String name) {
-		// JUnitDoclet begin method NullToolTest
-		super(name);
-		// JUnitDoclet end method NullToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.NullTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.NullTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nulltool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nulltool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.standard.NullTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.standard.NullTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/OffsetLocatorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/OffsetLocatorTest.java
deleted file mode 100644
index a3a4eca2d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/OffsetLocatorTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.OffsetLocator;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase OffsetLocatorTest is generated by
- * JUnitDoclet to hold the tests for OffsetLocator.
- * @see CH.ifa.draw.standard.OffsetLocator
- */
-// JUnitDoclet end javadoc_class
-public class OffsetLocatorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private OffsetLocator offsetlocator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor OffsetLocatorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public OffsetLocatorTest(String name) {
-		// JUnitDoclet begin method OffsetLocatorTest
-		super(name);
-		// JUnitDoclet end method OffsetLocatorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.OffsetLocator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.OffsetLocator();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		offsetlocator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		offsetlocator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.standard.OffsetLocator#locate(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method moveBy()
-	/**
-	 * Method testMoveBy is testing moveBy
-	 * @see CH.ifa.draw.standard.OffsetLocator#moveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method moveBy()
-	public void testMoveBy() throws Exception {
-		// JUnitDoclet begin method moveBy
-		// JUnitDoclet end method moveBy
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.standard.OffsetLocator#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.standard.OffsetLocator#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/PasteCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/PasteCommandTest.java
deleted file mode 100644
index 96f12690a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/PasteCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.PasteCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PasteCommandTest is generated by
- * JUnitDoclet to hold the tests for PasteCommand.
- * @see CH.ifa.draw.standard.PasteCommand
- */
-// JUnitDoclet end javadoc_class
-public class PasteCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PasteCommand pastecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PasteCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PasteCommandTest(String name) {
-		// JUnitDoclet begin method PasteCommandTest
-		super(name);
-		// JUnitDoclet end method PasteCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.PasteCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.PasteCommand("TestPaste", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pastecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pastecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.PasteCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.standard.PasteCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/PeripheralLocatorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/PeripheralLocatorTest.java
deleted file mode 100644
index 0fe9ec0e1..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/PeripheralLocatorTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.PeripheralLocator;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PeripheralLocatorTest is generated by
- * JUnitDoclet to hold the tests for PeripheralLocator.
- * @see CH.ifa.draw.standard.PeripheralLocator
- */
-// JUnitDoclet end javadoc_class
-public class PeripheralLocatorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PeripheralLocator peripherallocator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PeripheralLocatorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PeripheralLocatorTest(String name) {
-		// JUnitDoclet begin method PeripheralLocatorTest
-		super(name);
-		// JUnitDoclet end method PeripheralLocatorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.PeripheralLocator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.PeripheralLocator(5, 10);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		peripherallocator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		peripherallocator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.standard.PeripheralLocator#locate(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/RelativeLocatorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/RelativeLocatorTest.java
deleted file mode 100644
index 3b823d8fd..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/RelativeLocatorTest.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.RelativeLocator;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase RelativeLocatorTest is generated by
- * JUnitDoclet to hold the tests for RelativeLocator.
- * @see CH.ifa.draw.standard.RelativeLocator
- */
-// JUnitDoclet end javadoc_class
-public class RelativeLocatorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private RelativeLocator relativelocator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor RelativeLocatorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public RelativeLocatorTest(String name) {
-		// JUnitDoclet begin method RelativeLocatorTest
-		super(name);
-		// JUnitDoclet end method RelativeLocatorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.RelativeLocator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.RelativeLocator();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		relativelocator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		relativelocator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method equals()
-	/**
-	 * Method testEquals is testing equals
-	 * @see CH.ifa.draw.standard.RelativeLocator#equals(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method equals()
-	public void testEquals() throws Exception {
-		// JUnitDoclet begin method equals
-		// JUnitDoclet end method equals
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.standard.RelativeLocator#locate(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.standard.RelativeLocator#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.standard.RelativeLocator#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method east()
-	/**
-	 * Method testEast is testing east
-	 * @see CH.ifa.draw.standard.RelativeLocator#east()
-	 */
-	// JUnitDoclet end javadoc_method east()
-	public void testEast() throws Exception {
-		// JUnitDoclet begin method east
-		// JUnitDoclet end method east
-	}
-
-	// JUnitDoclet begin javadoc_method north()
-	/**
-	 * Method testNorth is testing north
-	 * @see CH.ifa.draw.standard.RelativeLocator#north()
-	 */
-	// JUnitDoclet end javadoc_method north()
-	public void testNorth() throws Exception {
-		// JUnitDoclet begin method north
-		// JUnitDoclet end method north
-	}
-
-	// JUnitDoclet begin javadoc_method west()
-	/**
-	 * Method testWest is testing west
-	 * @see CH.ifa.draw.standard.RelativeLocator#west()
-	 */
-	// JUnitDoclet end javadoc_method west()
-	public void testWest() throws Exception {
-		// JUnitDoclet begin method west
-		// JUnitDoclet end method west
-	}
-
-	// JUnitDoclet begin javadoc_method northEast()
-	/**
-	 * Method testNorthEast is testing northEast
-	 * @see CH.ifa.draw.standard.RelativeLocator#northEast()
-	 */
-	// JUnitDoclet end javadoc_method northEast()
-	public void testNorthEast() throws Exception {
-		// JUnitDoclet begin method northEast
-		// JUnitDoclet end method northEast
-	}
-
-	// JUnitDoclet begin javadoc_method northWest()
-	/**
-	 * Method testNorthWest is testing northWest
-	 * @see CH.ifa.draw.standard.RelativeLocator#northWest()
-	 */
-	// JUnitDoclet end javadoc_method northWest()
-	public void testNorthWest() throws Exception {
-		// JUnitDoclet begin method northWest
-		// JUnitDoclet end method northWest
-	}
-
-	// JUnitDoclet begin javadoc_method south()
-	/**
-	 * Method testSouth is testing south
-	 * @see CH.ifa.draw.standard.RelativeLocator#south()
-	 */
-	// JUnitDoclet end javadoc_method south()
-	public void testSouth() throws Exception {
-		// JUnitDoclet begin method south
-		// JUnitDoclet end method south
-	}
-
-	// JUnitDoclet begin javadoc_method southEast()
-	/**
-	 * Method testSouthEast is testing southEast
-	 * @see CH.ifa.draw.standard.RelativeLocator#southEast()
-	 */
-	// JUnitDoclet end javadoc_method southEast()
-	public void testSouthEast() throws Exception {
-		// JUnitDoclet begin method southEast
-		// JUnitDoclet end method southEast
-	}
-
-	// JUnitDoclet begin javadoc_method southWest()
-	/**
-	 * Method testSouthWest is testing southWest
-	 * @see CH.ifa.draw.standard.RelativeLocator#southWest()
-	 */
-	// JUnitDoclet end javadoc_method southWest()
-	public void testSouthWest() throws Exception {
-		// JUnitDoclet begin method southWest
-		// JUnitDoclet end method southWest
-	}
-
-	// JUnitDoclet begin javadoc_method center()
-	/**
-	 * Method testCenter is testing center
-	 * @see CH.ifa.draw.standard.RelativeLocator#center()
-	 */
-	// JUnitDoclet end javadoc_method center()
-	public void testCenter() throws Exception {
-		// JUnitDoclet begin method center
-		// JUnitDoclet end method center
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ReverseFigureEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ReverseFigureEnumeratorTest.java
deleted file mode 100644
index 35dbdc58d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ReverseFigureEnumeratorTest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.PolyLineFigure;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.ReverseFigureEnumerator;
-import CH.ifa.draw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ReverseFigureEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for ReverseFigureEnumerator.
- * @see CH.ifa.draw.standard.ReverseFigureEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class ReverseFigureEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ReverseFigureEnumerator reversefigureenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ReverseFigureEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ReverseFigureEnumeratorTest(String name) {
-		// JUnitDoclet begin method ReverseFigureEnumeratorTest
-		super(name);
-		// JUnitDoclet end method ReverseFigureEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ReverseFigureEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l = CollectionsFactory.current().createList();
-		l.add(new RectangleFigure(new Point(10, 10), new Point(50, 50)));
-		l.add(new PolyLineFigure());
-		return new CH.ifa.draw.standard.ReverseFigureEnumerator(l);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		reversefigureenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		reversefigureenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextFigure()
-	/**
-	 * Method testHasNextFigure is testing hasNextFigure
-	 * @see CH.ifa.draw.standard.ReverseFigureEnumerator#hasNextFigure()
-	 */
-	// JUnitDoclet end javadoc_method hasNextFigure()
-	public void testHasNextFigure() throws Exception {
-		// JUnitDoclet begin method hasNextFigure
-		// JUnitDoclet end method hasNextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method nextFigure()
-	/**
-	 * Method testNextFigure is testing nextFigure
-	 * @see CH.ifa.draw.standard.ReverseFigureEnumerator#nextFigure()
-	 */
-	// JUnitDoclet end javadoc_method nextFigure()
-	public void testNextFigure() throws Exception {
-		// JUnitDoclet begin method nextFigure
-		// JUnitDoclet end method nextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see CH.ifa.draw.standard.ReverseFigureEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/SelectAllCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/SelectAllCommandTest.java
deleted file mode 100644
index b601eb566..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/SelectAllCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.SelectAllCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SelectAllCommandTest is generated by
- * JUnitDoclet to hold the tests for SelectAllCommand.
- * @see CH.ifa.draw.standard.SelectAllCommand
- */
-// JUnitDoclet end javadoc_class
-public class SelectAllCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SelectAllCommand selectallcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SelectAllCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SelectAllCommandTest(String name) {
-		// JUnitDoclet begin method SelectAllCommandTest
-		super(name);
-		// JUnitDoclet end method SelectAllCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.SelectAllCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.SelectAllCommand("TestSelectAll", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		selectallcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		selectallcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.SelectAllCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.standard.SelectAllCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/SelectAreaTrackerTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/SelectAreaTrackerTest.java
deleted file mode 100644
index 412bef654..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/SelectAreaTrackerTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.SelectAreaTracker;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SelectAreaTrackerTest is generated by
- * JUnitDoclet to hold the tests for SelectAreaTracker.
- * @see CH.ifa.draw.standard.SelectAreaTracker
- */
-// JUnitDoclet end javadoc_class
-public class SelectAreaTrackerTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SelectAreaTracker selectareatracker;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SelectAreaTrackerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SelectAreaTrackerTest(String name) {
-		// JUnitDoclet begin method SelectAreaTrackerTest
-		super(name);
-		// JUnitDoclet end method SelectAreaTrackerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.SelectAreaTracker createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.SelectAreaTracker(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		selectareatracker = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		selectareatracker = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.standard.SelectAreaTracker#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.standard.SelectAreaTracker#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.standard.SelectAreaTracker#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/SelectionToolTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/SelectionToolTest.java
deleted file mode 100644
index cbd639694..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/SelectionToolTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.SelectionTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SelectionToolTest is generated by
- * JUnitDoclet to hold the tests for SelectionTool.
- * @see CH.ifa.draw.standard.SelectionTool
- */
-// JUnitDoclet end javadoc_class
-public class SelectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SelectionTool selectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SelectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SelectionToolTest(String name) {
-		// JUnitDoclet begin method SelectionToolTest
-		super(name);
-		// JUnitDoclet end method SelectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.SelectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.SelectionTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		selectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		selectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.standard.SelectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.standard.SelectionTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.standard.SelectionTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.standard.SelectionTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/SendToBackCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/SendToBackCommandTest.java
deleted file mode 100644
index b871b15fb..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/SendToBackCommandTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.SendToBackCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SendToBackCommandTest is generated by
- * JUnitDoclet to hold the tests for SendToBackCommand.
- * @see CH.ifa.draw.standard.SendToBackCommand
- */
-// JUnitDoclet end javadoc_class
-public class SendToBackCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SendToBackCommand sendtobackcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SendToBackCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SendToBackCommandTest(String name) {
-		// JUnitDoclet begin method SendToBackCommandTest
-		super(name);
-		// JUnitDoclet end method SendToBackCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.SendToBackCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.SendToBackCommand("TestSendToBack", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		sendtobackcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		sendtobackcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.SendToBackCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/SimpleUpdateStrategyTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/SimpleUpdateStrategyTest.java
deleted file mode 100644
index f1a3a6e5e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/SimpleUpdateStrategyTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.SimpleUpdateStrategy;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SimpleUpdateStrategyTest is generated by
- * JUnitDoclet to hold the tests for SimpleUpdateStrategy.
- * @see CH.ifa.draw.standard.SimpleUpdateStrategy
- */
-// JUnitDoclet end javadoc_class
-public class SimpleUpdateStrategyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SimpleUpdateStrategy simpleupdatestrategy;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SimpleUpdateStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SimpleUpdateStrategyTest(String name) {
-		// JUnitDoclet begin method SimpleUpdateStrategyTest
-		super(name);
-		// JUnitDoclet end method SimpleUpdateStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.SimpleUpdateStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.SimpleUpdateStrategy();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		simpleupdatestrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		simpleupdatestrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.SimpleUpdateStrategy#draw(java.awt.Graphics, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/SingleFigureEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/SingleFigureEnumeratorTest.java
deleted file mode 100644
index c6ce4ef83..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/SingleFigureEnumeratorTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SingleFigureEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for SingleFigureEnumerator.
- * @see CH.ifa.draw.standard.SingleFigureEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class SingleFigureEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SingleFigureEnumerator singlefigureenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SingleFigureEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SingleFigureEnumeratorTest(String name) {
-		// JUnitDoclet begin method SingleFigureEnumeratorTest
-		super(name);
-		// JUnitDoclet end method SingleFigureEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.SingleFigureEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.SingleFigureEnumerator(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		singlefigureenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		singlefigureenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextFigure()
-	/**
-	 * Method testHasNextFigure is testing hasNextFigure
-	 * @see CH.ifa.draw.standard.SingleFigureEnumerator#hasNextFigure()
-	 */
-	// JUnitDoclet end javadoc_method hasNextFigure()
-	public void testHasNextFigure() throws Exception {
-		// JUnitDoclet begin method hasNextFigure
-		// JUnitDoclet end method hasNextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method nextFigure()
-	/**
-	 * Method testNextFigure is testing nextFigure
-	 * @see CH.ifa.draw.standard.SingleFigureEnumerator#nextFigure()
-	 */
-	// JUnitDoclet end javadoc_method nextFigure()
-	public void testNextFigure() throws Exception {
-		// JUnitDoclet begin method nextFigure
-		// JUnitDoclet end method nextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see CH.ifa.draw.standard.SingleFigureEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingTest.java
deleted file mode 100644
index 26b9e1407..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingTest.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.StandardDrawing;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardDrawingTest is generated by
- * JUnitDoclet to hold the tests for StandardDrawing.
- * @see CH.ifa.draw.standard.StandardDrawing
- */
-// JUnitDoclet end javadoc_class
-public class StandardDrawingTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardDrawing standarddrawing;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardDrawingTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardDrawingTest(String name) {
-		// JUnitDoclet begin method StandardDrawingTest
-		super(name);
-		// JUnitDoclet end method StandardDrawingTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.StandardDrawing createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.StandardDrawing();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standarddrawing = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standarddrawing = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addDrawingChangeListener()
-	/**
-	 * Method testAddDrawingChangeListener is testing addDrawingChangeListener
-	 * @see CH.ifa.draw.standard.StandardDrawing#addDrawingChangeListener(CH.ifa.draw.framework.DrawingChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method addDrawingChangeListener()
-	public void testAddDrawingChangeListener() throws Exception {
-		// JUnitDoclet begin method addDrawingChangeListener
-		// JUnitDoclet end method addDrawingChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeDrawingChangeListener()
-	/**
-	 * Method testRemoveDrawingChangeListener is testing removeDrawingChangeListener
-	 * @see CH.ifa.draw.standard.StandardDrawing#removeDrawingChangeListener(CH.ifa.draw.framework.DrawingChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method removeDrawingChangeListener()
-	public void testRemoveDrawingChangeListener() throws Exception {
-		// JUnitDoclet begin method removeDrawingChangeListener
-		// JUnitDoclet end method removeDrawingChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method drawingChangeListeners()
-	/**
-	 * Method testDrawingChangeListeners is testing drawingChangeListeners
-	 * @see CH.ifa.draw.standard.StandardDrawing#drawingChangeListeners()
-	 */
-	// JUnitDoclet end javadoc_method drawingChangeListeners()
-	public void testDrawingChangeListeners() throws Exception {
-		// JUnitDoclet begin method drawingChangeListeners
-		// JUnitDoclet end method drawingChangeListeners
-	}
-
-	// JUnitDoclet begin javadoc_method orphan()
-	/**
-	 * Method testOrphan is testing orphan
-	 * @see CH.ifa.draw.standard.StandardDrawing#orphan(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method orphan()
-	public void testOrphan() throws Exception {
-		// JUnitDoclet begin method orphan
-		// JUnitDoclet end method orphan
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.standard.StandardDrawing#add(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.standard.StandardDrawing#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method fireDrawingTitleChanged()
-	/**
-	 * Method testFireDrawingTitleChanged is testing fireDrawingTitleChanged
-	 * @see CH.ifa.draw.standard.StandardDrawing#fireDrawingTitleChanged()
-	 */
-	// JUnitDoclet end javadoc_method fireDrawingTitleChanged()
-	public void testFireDrawingTitleChanged() throws Exception {
-		// JUnitDoclet begin method fireDrawingTitleChanged
-		// JUnitDoclet end method fireDrawingTitleChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see CH.ifa.draw.standard.StandardDrawing#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.standard.StandardDrawing#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.standard.StandardDrawing#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.standard.StandardDrawing#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method lock()
-	/**
-	 * Method testLock is testing lock
-	 * @see CH.ifa.draw.standard.StandardDrawing#lock()
-	 */
-	// JUnitDoclet end javadoc_method lock()
-	public void testLock() throws Exception {
-		// JUnitDoclet begin method lock
-		// JUnitDoclet end method lock
-	}
-
-	// JUnitDoclet begin javadoc_method unlock()
-	/**
-	 * Method testUnlock is testing unlock
-	 * @see CH.ifa.draw.standard.StandardDrawing#unlock()
-	 */
-	// JUnitDoclet end javadoc_method unlock()
-	public void testUnlock() throws Exception {
-		// JUnitDoclet begin method unlock
-		// JUnitDoclet end method unlock
-	}
-
-	// JUnitDoclet begin javadoc_method setTitle()
-	/**
-	 * Method testSetGetTitle is testing setTitle
-	 * and getTitle together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.standard.StandardDrawing#setTitle(java.lang.String)
-	 * @see CH.ifa.draw.standard.StandardDrawing#getTitle()
-	 */
-	// JUnitDoclet end javadoc_method setTitle()
-	public void testSetGetTitle() throws Exception {
-		// JUnitDoclet begin method setTitle getTitle
-		java.lang.String[] tests = { "", " ", "a", "A", "�", "�", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standarddrawing.setTitle(tests[i]);
-			assertEquals(tests[i], standarddrawing.getTitle());
-		}
-		// JUnitDoclet end method setTitle getTitle
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingViewTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingViewTest.java
deleted file mode 100644
index fdb54df0f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingViewTest.java
+++ /dev/null
@@ -1,728 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.standard.GridConstrainer;
-import CH.ifa.draw.standard.SimpleUpdateStrategy;
-import CH.ifa.draw.standard.StandardDrawingView;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardDrawingViewTest is generated by
- * JUnitDoclet to hold the tests for StandardDrawingView.
- * @see CH.ifa.draw.standard.StandardDrawingView
- */
-// JUnitDoclet end javadoc_class
-public class StandardDrawingViewTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardDrawingView standarddrawingview;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardDrawingViewTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardDrawingViewTest(String name) {
-		// JUnitDoclet begin method StandardDrawingViewTest
-		super(name);
-		// JUnitDoclet end method StandardDrawingViewTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.StandardDrawingView createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return (StandardDrawingView)getDrawingEditor().view();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		getDrawingEditor().newWindow(new StandardDrawing());
-		standarddrawingview = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standarddrawingview = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setEditor()
-	/**
-	 * Method testSetEditor is testing setEditor
-	 * @see CH.ifa.draw.standard.StandardDrawingView#setEditor(CH.ifa.draw.framework.DrawingEditor)
-	 */
-	// JUnitDoclet end javadoc_method setEditor()
-	public void testSetEditor() throws Exception {
-		// JUnitDoclet begin method setEditor
-		// JUnitDoclet end method setEditor
-	}
-
-	// JUnitDoclet begin javadoc_method tool()
-	/**
-	 * Method testTool is testing tool
-	 * @see CH.ifa.draw.standard.StandardDrawingView#tool()
-	 */
-	// JUnitDoclet end javadoc_method tool()
-	public void testTool() throws Exception {
-		// JUnitDoclet begin method tool
-		// JUnitDoclet end method tool
-	}
-
-	// JUnitDoclet begin javadoc_method drawing()
-	/**
-	 * Method testDrawing is testing drawing
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawing()
-	 */
-	// JUnitDoclet end javadoc_method drawing()
-	public void testDrawing() throws Exception {
-		// JUnitDoclet begin method drawing
-		// JUnitDoclet end method drawing
-	}
-
-	// JUnitDoclet begin javadoc_method setDrawing()
-	/**
-	 * Method testSetDrawing is testing setDrawing
-	 * @see CH.ifa.draw.standard.StandardDrawingView#setDrawing(CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method setDrawing()
-	public void testSetDrawing() throws Exception {
-		// JUnitDoclet begin method setDrawing
-		// JUnitDoclet end method setDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method editor()
-	/**
-	 * Method testEditor is testing editor
-	 * @see CH.ifa.draw.standard.StandardDrawingView#editor()
-	 */
-	// JUnitDoclet end javadoc_method editor()
-	public void testEditor() throws Exception {
-		// JUnitDoclet begin method editor
-		// JUnitDoclet end method editor
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.standard.StandardDrawingView#add(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.standard.StandardDrawingView#remove(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method addAll()
-	/**
-	 * Method testAddAll is testing addAll
-	 * @see CH.ifa.draw.standard.StandardDrawingView#addAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addAll()
-	public void testAddAll() throws Exception {
-		// JUnitDoclet begin method addAll
-		// JUnitDoclet end method addAll
-	}
-
-	// JUnitDoclet begin javadoc_method figureExists()
-	/**
-	 * Method testFigureExists is testing figureExists
-	 * @see CH.ifa.draw.standard.StandardDrawingView#figureExists(CH.ifa.draw.framework.Figure, CH.ifa.draw.framework.FigureEnumeration)
-	 */
-	// JUnitDoclet end javadoc_method figureExists()
-	public void testFigureExists() throws Exception {
-		// JUnitDoclet begin method figureExists
-		// JUnitDoclet end method figureExists
-	}
-
-	// JUnitDoclet begin javadoc_method insertFigures()
-	/**
-	 * Method testInsertFigures is testing insertFigures
-	 * @see CH.ifa.draw.standard.StandardDrawingView#insertFigures(CH.ifa.draw.framework.FigureEnumeration, int, int, boolean)
-	 */
-	// JUnitDoclet end javadoc_method insertFigures()
-	public void testInsertFigures() throws Exception {
-		// JUnitDoclet begin method insertFigures
-		// JUnitDoclet end method insertFigures
-	}
-
-	// JUnitDoclet begin javadoc_method getConnectionFigures()
-	/**
-	 * Method testGetConnectionFigures is testing getConnectionFigures
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getConnectionFigures(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method getConnectionFigures()
-	public void testGetConnectionFigures() throws Exception {
-		// JUnitDoclet begin method getConnectionFigures
-		// JUnitDoclet end method getConnectionFigures
-	}
-
-	// JUnitDoclet begin javadoc_method getMinimumSize()
-	/**
-	 * Method testGetMinimumSize is testing getMinimumSize
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getMinimumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMinimumSize()
-	public void testGetMinimumSize() throws Exception {
-		// JUnitDoclet begin method getMinimumSize
-		// JUnitDoclet end method getMinimumSize
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getPreferredSize()
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method setDisplayUpdate()
-	/**
-	 * Method testSetGetDisplayUpdate is testing setDisplayUpdate
-	 * and getDisplayUpdate together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.standard.StandardDrawingView#setDisplayUpdate(CH.ifa.draw.framework.Painter)
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getDisplayUpdate()
-	 */
-	// JUnitDoclet end javadoc_method setDisplayUpdate()
-	public void testSetGetDisplayUpdate() throws Exception {
-		// JUnitDoclet begin method setDisplayUpdate getDisplayUpdate
-		CH.ifa.draw.framework.Painter[] tests = { new SimpleUpdateStrategy(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standarddrawingview.setDisplayUpdate(tests[i]);
-			assertEquals(tests[i], standarddrawingview.getDisplayUpdate());
-		}
-		// JUnitDoclet end method setDisplayUpdate getDisplayUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method selection()
-	/**
-	 * Method testSelection is testing selection
-	 * @see CH.ifa.draw.standard.StandardDrawingView#selection()
-	 */
-	// JUnitDoclet end javadoc_method selection()
-	public void testSelection() throws Exception {
-		// JUnitDoclet begin method selection
-		// JUnitDoclet end method selection
-	}
-
-	// JUnitDoclet begin javadoc_method selectionZOrdered()
-	/**
-	 * Method testSelectionZOrdered is testing selectionZOrdered
-	 * @see CH.ifa.draw.standard.StandardDrawingView#selectionZOrdered()
-	 */
-	// JUnitDoclet end javadoc_method selectionZOrdered()
-	public void testSelectionZOrdered() throws Exception {
-		// JUnitDoclet begin method selectionZOrdered
-		// JUnitDoclet end method selectionZOrdered
-	}
-
-	// JUnitDoclet begin javadoc_method selectionCount()
-	/**
-	 * Method testSelectionCount is testing selectionCount
-	 * @see CH.ifa.draw.standard.StandardDrawingView#selectionCount()
-	 */
-	// JUnitDoclet end javadoc_method selectionCount()
-	public void testSelectionCount() throws Exception {
-		// JUnitDoclet begin method selectionCount
-		// JUnitDoclet end method selectionCount
-	}
-
-	// JUnitDoclet begin javadoc_method isFigureSelected()
-	/**
-	 * Method testIsFigureSelected is testing isFigureSelected
-	 * @see CH.ifa.draw.standard.StandardDrawingView#isFigureSelected(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method isFigureSelected()
-	public void testIsFigureSelected() throws Exception {
-		// JUnitDoclet begin method isFigureSelected
-		// JUnitDoclet end method isFigureSelected
-	}
-
-	// JUnitDoclet begin javadoc_method addToSelection()
-	/**
-	 * Method testAddToSelection is testing addToSelection
-	 * @see CH.ifa.draw.standard.StandardDrawingView#addToSelection(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method addToSelection()
-	public void testAddToSelection() throws Exception {
-		// JUnitDoclet begin method addToSelection
-		// JUnitDoclet end method addToSelection
-	}
-
-	// JUnitDoclet begin javadoc_method addToSelectionAll()
-	/**
-	 * Method testAddToSelectionAll is testing addToSelectionAll
-	 * @see CH.ifa.draw.standard.StandardDrawingView#addToSelectionAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addToSelectionAll()
-	public void testAddToSelectionAll() throws Exception {
-		// JUnitDoclet begin method addToSelectionAll
-		// JUnitDoclet end method addToSelectionAll
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromSelection()
-	/**
-	 * Method testRemoveFromSelection is testing removeFromSelection
-	 * @see CH.ifa.draw.standard.StandardDrawingView#removeFromSelection(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method removeFromSelection()
-	public void testRemoveFromSelection() throws Exception {
-		// JUnitDoclet begin method removeFromSelection
-		// JUnitDoclet end method removeFromSelection
-	}
-
-	// JUnitDoclet begin javadoc_method toggleSelection()
-	/**
-	 * Method testToggleSelection is testing toggleSelection
-	 * @see CH.ifa.draw.standard.StandardDrawingView#toggleSelection(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method toggleSelection()
-	public void testToggleSelection() throws Exception {
-		// JUnitDoclet begin method toggleSelection
-		// JUnitDoclet end method toggleSelection
-	}
-
-	// JUnitDoclet begin javadoc_method clearSelection()
-	/**
-	 * Method testClearSelection is testing clearSelection
-	 * @see CH.ifa.draw.standard.StandardDrawingView#clearSelection()
-	 */
-	// JUnitDoclet end javadoc_method clearSelection()
-	public void testClearSelection() throws Exception {
-		// JUnitDoclet begin method clearSelection
-		// JUnitDoclet end method clearSelection
-	}
-
-	// JUnitDoclet begin javadoc_method getFigureSelection()
-	/**
-	 * Method testGetFigureSelection is testing getFigureSelection
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getFigureSelection()
-	 */
-	// JUnitDoclet end javadoc_method getFigureSelection()
-	public void testGetFigureSelection() throws Exception {
-		// JUnitDoclet begin method getFigureSelection
-		// JUnitDoclet end method getFigureSelection
-	}
-
-	// JUnitDoclet begin javadoc_method findHandle()
-	/**
-	 * Method testFindHandle is testing findHandle
-	 * @see CH.ifa.draw.standard.StandardDrawingView#findHandle(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findHandle()
-	public void testFindHandle() throws Exception {
-		// JUnitDoclet begin method findHandle
-		// JUnitDoclet end method findHandle
-	}
-
-	// JUnitDoclet begin javadoc_method lastClick()
-	/**
-	 * Method testLastClick is testing lastClick
-	 * @see CH.ifa.draw.standard.StandardDrawingView#lastClick()
-	 */
-	// JUnitDoclet end javadoc_method lastClick()
-	public void testLastClick() throws Exception {
-		// JUnitDoclet begin method lastClick
-		// JUnitDoclet end method lastClick
-	}
-
-	// JUnitDoclet begin javadoc_method setConstrainer()
-	/**
-	 * Method testSetGetConstrainer is testing setConstrainer
-	 * and getConstrainer together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.standard.StandardDrawingView#setConstrainer(CH.ifa.draw.framework.PointConstrainer)
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getConstrainer()
-	 */
-	// JUnitDoclet end javadoc_method setConstrainer()
-	public void testSetGetConstrainer() throws Exception {
-		// JUnitDoclet begin method setConstrainer getConstrainer
-		CH.ifa.draw.framework.PointConstrainer[] tests = { new GridConstrainer(5, 5), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standarddrawingview.setConstrainer(tests[i]);
-			assertEquals(tests[i], standarddrawingview.getConstrainer());
-		}
-		// JUnitDoclet end method setConstrainer getConstrainer
-	}
-
-	// JUnitDoclet begin javadoc_method checkDamage()
-	/**
-	 * Method testCheckDamage is testing checkDamage
-	 * @see CH.ifa.draw.standard.StandardDrawingView#checkDamage()
-	 */
-	// JUnitDoclet end javadoc_method checkDamage()
-	public void testCheckDamage() throws Exception {
-		// JUnitDoclet begin method checkDamage
-		// JUnitDoclet end method checkDamage
-	}
-
-	// JUnitDoclet begin javadoc_method repairDamage()
-	/**
-	 * Method testRepairDamage is testing repairDamage
-	 * @see CH.ifa.draw.standard.StandardDrawingView#repairDamage()
-	 */
-	// JUnitDoclet end javadoc_method repairDamage()
-	public void testRepairDamage() throws Exception {
-		// JUnitDoclet begin method repairDamage
-		// JUnitDoclet end method repairDamage
-	}
-
-	// JUnitDoclet begin javadoc_method drawingInvalidated()
-	/**
-	 * Method testDrawingInvalidated is testing drawingInvalidated
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawingInvalidated(CH.ifa.draw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingInvalidated()
-	public void testDrawingInvalidated() throws Exception {
-		// JUnitDoclet begin method drawingInvalidated
-		// JUnitDoclet end method drawingInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method drawingRequestUpdate()
-	/**
-	 * Method testDrawingRequestUpdate is testing drawingRequestUpdate
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawingRequestUpdate(CH.ifa.draw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingRequestUpdate()
-	public void testDrawingRequestUpdate() throws Exception {
-		// JUnitDoclet begin method drawingRequestUpdate
-		// JUnitDoclet end method drawingRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method drawingTitleChanged()
-	/**
-	 * Method testDrawingTitleChanged is testing drawingTitleChanged
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawingTitleChanged(CH.ifa.draw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingTitleChanged()
-	public void testDrawingTitleChanged() throws Exception {
-		// JUnitDoclet begin method drawingTitleChanged
-		// JUnitDoclet end method drawingTitleChanged
-	}
-
-	// JUnitDoclet begin javadoc_method drawAll()
-	/**
-	 * Method testDrawAll is testing drawAll
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawAll(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawAll()
-	public void testDrawAll() throws Exception {
-		// JUnitDoclet begin method drawAll
-		// JUnitDoclet end method drawAll
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.StandardDrawingView#draw(java.awt.Graphics, CH.ifa.draw.framework.FigureEnumeration)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method drawHandles()
-	/**
-	 * Method testDrawHandles is testing drawHandles
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawHandles(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawHandles()
-	public void testDrawHandles() throws Exception {
-		// JUnitDoclet begin method drawHandles
-		// JUnitDoclet end method drawHandles
-	}
-
-	// JUnitDoclet begin javadoc_method drawDrawing()
-	/**
-	 * Method testDrawDrawing is testing drawDrawing
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawDrawing(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawDrawing()
-	public void testDrawDrawing() throws Exception {
-		// JUnitDoclet begin method drawDrawing
-		// JUnitDoclet end method drawDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method addBackground()
-	/**
-	 * Method testAddBackground is testing addBackground
-	 * @see CH.ifa.draw.standard.StandardDrawingView#addBackground(CH.ifa.draw.framework.Painter)
-	 */
-	// JUnitDoclet end javadoc_method addBackground()
-	public void testAddBackground() throws Exception {
-		// JUnitDoclet begin method addBackground
-		// JUnitDoclet end method addBackground
-	}
-
-	// JUnitDoclet begin javadoc_method removeBackground()
-	/**
-	 * Method testRemoveBackground is testing removeBackground
-	 * @see CH.ifa.draw.standard.StandardDrawingView#removeBackground(CH.ifa.draw.framework.Painter)
-	 */
-	// JUnitDoclet end javadoc_method removeBackground()
-	public void testRemoveBackground() throws Exception {
-		// JUnitDoclet begin method removeBackground
-		// JUnitDoclet end method removeBackground
-	}
-
-	// JUnitDoclet begin javadoc_method removeForeground()
-	/**
-	 * Method testRemoveForeground is testing removeForeground
-	 * @see CH.ifa.draw.standard.StandardDrawingView#removeForeground(CH.ifa.draw.framework.Painter)
-	 */
-	// JUnitDoclet end javadoc_method removeForeground()
-	public void testRemoveForeground() throws Exception {
-		// JUnitDoclet begin method removeForeground
-		// JUnitDoclet end method removeForeground
-	}
-
-	// JUnitDoclet begin javadoc_method addForeground()
-	/**
-	 * Method testAddForeground is testing addForeground
-	 * @see CH.ifa.draw.standard.StandardDrawingView#addForeground(CH.ifa.draw.framework.Painter)
-	 */
-	// JUnitDoclet end javadoc_method addForeground()
-	public void testAddForeground() throws Exception {
-		// JUnitDoclet begin method addForeground
-		// JUnitDoclet end method addForeground
-	}
-
-	// JUnitDoclet begin javadoc_method freezeView()
-	/**
-	 * Method testFreezeView is testing freezeView
-	 * @see CH.ifa.draw.standard.StandardDrawingView#freezeView()
-	 */
-	// JUnitDoclet end javadoc_method freezeView()
-	public void testFreezeView() throws Exception {
-		// JUnitDoclet begin method freezeView
-		// JUnitDoclet end method freezeView
-	}
-
-	// JUnitDoclet begin javadoc_method unfreezeView()
-	/**
-	 * Method testUnfreezeView is testing unfreezeView
-	 * @see CH.ifa.draw.standard.StandardDrawingView#unfreezeView()
-	 */
-	// JUnitDoclet end javadoc_method unfreezeView()
-	public void testUnfreezeView() throws Exception {
-		// JUnitDoclet begin method unfreezeView
-		// JUnitDoclet end method unfreezeView
-	}
-
-	// JUnitDoclet begin javadoc_method isFocusTraversable()
-	/**
-	 * Method testIsFocusTraversable is testing isFocusTraversable
-	 * @see CH.ifa.draw.standard.StandardDrawingView#isFocusTraversable()
-	 */
-	// JUnitDoclet end javadoc_method isFocusTraversable()
-	public void testIsFocusTraversable() throws Exception {
-		// JUnitDoclet begin method isFocusTraversable
-		// JUnitDoclet end method isFocusTraversable
-	}
-
-	// JUnitDoclet begin javadoc_method isInteractive()
-	/**
-	 * Method testIsInteractive is testing isInteractive
-	 * @see CH.ifa.draw.standard.StandardDrawingView#isInteractive()
-	 */
-	// JUnitDoclet end javadoc_method isInteractive()
-	public void testIsInteractive() throws Exception {
-		// JUnitDoclet begin method isInteractive
-		// JUnitDoclet end method isInteractive
-	}
-
-	// JUnitDoclet begin javadoc_method keyTyped()
-	/**
-	 * Method testKeyTyped is testing keyTyped
-	 * @see CH.ifa.draw.standard.StandardDrawingView#keyTyped(java.awt.event.KeyEvent)
-	 */
-	// JUnitDoclet end javadoc_method keyTyped()
-	public void testKeyTyped() throws Exception {
-		// JUnitDoclet begin method keyTyped
-		// JUnitDoclet end method keyTyped
-	}
-
-	// JUnitDoclet begin javadoc_method keyReleased()
-	/**
-	 * Method testKeyReleased is testing keyReleased
-	 * @see CH.ifa.draw.standard.StandardDrawingView#keyReleased(java.awt.event.KeyEvent)
-	 */
-	// JUnitDoclet end javadoc_method keyReleased()
-	public void testKeyReleased() throws Exception {
-		// JUnitDoclet begin method keyReleased
-		// JUnitDoclet end method keyReleased
-	}
-
-	// JUnitDoclet begin javadoc_method addFigureSelectionListener()
-	/**
-	 * Method testAddFigureSelectionListener is testing addFigureSelectionListener
-	 * @see CH.ifa.draw.standard.StandardDrawingView#addFigureSelectionListener(CH.ifa.draw.framework.FigureSelectionListener)
-	 */
-	// JUnitDoclet end javadoc_method addFigureSelectionListener()
-	public void testAddFigureSelectionListener() throws Exception {
-		// JUnitDoclet begin method addFigureSelectionListener
-		// JUnitDoclet end method addFigureSelectionListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeFigureSelectionListener()
-	/**
-	 * Method testRemoveFigureSelectionListener is testing removeFigureSelectionListener
-	 * @see CH.ifa.draw.standard.StandardDrawingView#removeFigureSelectionListener(CH.ifa.draw.framework.FigureSelectionListener)
-	 */
-	// JUnitDoclet end javadoc_method removeFigureSelectionListener()
-	public void testRemoveFigureSelectionListener() throws Exception {
-		// JUnitDoclet begin method removeFigureSelectionListener
-		// JUnitDoclet end method removeFigureSelectionListener
-	}
-
-	// JUnitDoclet begin javadoc_method getDefaultDNDActions()
-	/**
-	 * Method testGetDefaultDNDActions is testing getDefaultDNDActions
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getDefaultDNDActions()
-	 */
-	// JUnitDoclet end javadoc_method getDefaultDNDActions()
-	public void testGetDefaultDNDActions() throws Exception {
-		// JUnitDoclet begin method getDefaultDNDActions
-		// JUnitDoclet end method getDefaultDNDActions
-	}
-
-	// JUnitDoclet begin javadoc_method autoscroll()
-	/**
-	 * Method testAutoscroll is testing autoscroll
-	 * @see CH.ifa.draw.standard.StandardDrawingView#autoscroll(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method autoscroll()
-	public void testAutoscroll() throws Exception {
-		// JUnitDoclet begin method autoscroll
-		// JUnitDoclet end method autoscroll
-	}
-
-	// JUnitDoclet begin javadoc_method getAutoscrollInsets()
-	/**
-	 * Method testGetAutoscrollInsets is testing getAutoscrollInsets
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getAutoscrollInsets()
-	 */
-	// JUnitDoclet end javadoc_method getAutoscrollInsets()
-	public void testGetAutoscrollInsets() throws Exception {
-		// JUnitDoclet begin method getAutoscrollInsets
-		// JUnitDoclet end method getAutoscrollInsets
-	}
-
-	// JUnitDoclet begin javadoc_method toString()
-	/**
-	 * Method testToString is testing toString
-	 * @see CH.ifa.draw.standard.StandardDrawingView#toString()
-	 */
-	// JUnitDoclet end javadoc_method toString()
-	public void testToString() throws Exception {
-		// JUnitDoclet begin method toString
-		// JUnitDoclet end method toString
-	}
-
-	// JUnitDoclet begin javadoc_method setDragSourceActive()
-	/**
-	 * Method testSetDragSourceActive is testing setDragSourceActive
-	 * @see CH.ifa.draw.standard.StandardDrawingView#setDragSourceActive(boolean)
-	 */
-	// JUnitDoclet end javadoc_method setDragSourceActive()
-	public void testSetDragSourceActive() throws Exception {
-		// JUnitDoclet begin method setDragSourceActive
-		// JUnitDoclet end method setDragSourceActive
-	}
-
-	// JUnitDoclet begin javadoc_method setDropTargetActive()
-	/**
-	 * Method testSetDropTargetActive is testing setDropTargetActive
-	 * @see CH.ifa.draw.standard.StandardDrawingView#setDropTargetActive(boolean)
-	 */
-	// JUnitDoclet end javadoc_method setDropTargetActive()
-	public void testSetDropTargetActive() throws Exception {
-		// JUnitDoclet begin method setDropTargetActive
-		// JUnitDoclet end method setDropTargetActive
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/StandardFigureSelectionTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/StandardFigureSelectionTest.java
deleted file mode 100644
index 7153b9a37..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/StandardFigureSelectionTest.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.PolyLineFigure;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.standard.FigureEnumerator;
-import CH.ifa.draw.standard.StandardFigureSelection;
-import CH.ifa.draw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardFigureSelectionTest is generated by
- * JUnitDoclet to hold the tests for StandardFigureSelection.
- * @see CH.ifa.draw.standard.StandardFigureSelection
- */
-// JUnitDoclet end javadoc_class
-public class StandardFigureSelectionTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardFigureSelection standardfigureselection;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardFigureSelectionTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardFigureSelectionTest(String name) {
-		// JUnitDoclet begin method StandardFigureSelectionTest
-		super(name);
-		// JUnitDoclet end method StandardFigureSelectionTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.StandardFigureSelection createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l = CollectionsFactory.current().createList();
-		l.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		l.add(new PolyLineFigure(20, 20));
-		FigureEnumeration fenum = new FigureEnumerator(l);
-		return new CH.ifa.draw.standard.StandardFigureSelection(fenum, l.size());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standardfigureselection = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standardfigureselection = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getType()
-	/**
-	 * Method testGetType is testing getType
-	 * @see CH.ifa.draw.standard.StandardFigureSelection#getType()
-	 */
-	// JUnitDoclet end javadoc_method getType()
-	public void testGetType() throws Exception {
-		// JUnitDoclet begin method getType
-		// JUnitDoclet end method getType
-	}
-
-	// JUnitDoclet begin javadoc_method getData()
-	/**
-	 * Method testGetData is testing getData
-	 * @see CH.ifa.draw.standard.StandardFigureSelection#getData(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getData()
-	public void testGetData() throws Exception {
-		// JUnitDoclet begin method getData
-		// JUnitDoclet end method getData
-	}
-
-	// JUnitDoclet begin javadoc_method duplicateFigures()
-	/**
-	 * Method testDuplicateFigures is testing duplicateFigures
-	 * @see CH.ifa.draw.standard.StandardFigureSelection#duplicateFigures(CH.ifa.draw.framework.FigureEnumeration, int)
-	 */
-	// JUnitDoclet end javadoc_method duplicateFigures()
-	public void testDuplicateFigures() throws Exception {
-		// JUnitDoclet begin method duplicateFigures
-		// JUnitDoclet end method duplicateFigures
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/StandardSuite.java b/JHotDraw/src/CH/ifa/draw/test/standard/StandardSuite.java
deleted file mode 100644
index de9642151..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/StandardSuite.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite StandardSuite
-*/
-// JUnitDoclet end javadoc_class
-public class StandardSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.standard");
-
-		suite.addTestSuite(CH.ifa.draw.test.standard.PeripheralLocatorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.SingleFigureEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.NullDrawingViewTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.NullToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.HandleAndEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.InsertIntoDrawingVisitorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.DeleteFromDrawingVisitorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.SelectAllCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.FigureAndEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.HandleEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.StandardFigureSelectionTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.FastBufferedUpdateStrategyTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ToolButtonTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ToggleGridCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.StandardDrawingViewTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.StandardDrawingTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.SimpleUpdateStrategyTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.SelectionToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.SelectAreaTrackerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ReverseFigureEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.RelativeLocatorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.PasteCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.OffsetLocatorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.NullHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.LocatorConnectorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.HandleTrackerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.GridConstrainerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.FigureEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.FigureChangeEventMulticasterTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.DuplicateCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.DragTrackerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.DeleteCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.CutCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.CreationToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.CopyCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ConnectionToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ConnectionHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ChopBoxConnectorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ChangeConnectionStartHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ChangeConnectionEndHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ChangeAttributeCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.BufferedUpdateStrategyTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.SendToBackCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.BringToFrontCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.LocatorHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.BoxHandleKitTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.AlignCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.FigureChangeAdapterTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ToggleGridCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ToggleGridCommandTest.java
deleted file mode 100644
index f688fcfa3..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ToggleGridCommandTest.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.ToggleGridCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ToggleGridCommandTest is generated by
- * JUnitDoclet to hold the tests for ToggleGridCommand.
- * @see CH.ifa.draw.standard.ToggleGridCommand
- */
-// JUnitDoclet end javadoc_class
-public class ToggleGridCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ToggleGridCommand togglegridcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ToggleGridCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ToggleGridCommandTest(String name) {
-		// JUnitDoclet begin method ToggleGridCommandTest
-		super(name);
-		// JUnitDoclet end method ToggleGridCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ToggleGridCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.ToggleGridCommand("TestToggle", getDrawingEditor(), new Point(5, 5));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		togglegridcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		togglegridcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.ToggleGridCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ToolButtonTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ToolButtonTest.java
deleted file mode 100644
index 7eacaf69e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ToolButtonTest.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.framework.Tool;
-import CH.ifa.draw.standard.SelectionTool;
-import CH.ifa.draw.standard.ToolButton;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ToolButtonTest is generated by
- * JUnitDoclet to hold the tests for ToolButton.
- * @see CH.ifa.draw.standard.ToolButton
- */
-// JUnitDoclet end javadoc_class
-public class ToolButtonTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ToolButton toolbutton;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ToolButtonTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ToolButtonTest(String name) {
-		// JUnitDoclet begin method ToolButtonTest
-		super(name);
-		// JUnitDoclet end method ToolButtonTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ToolButton createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Tool tool = new SelectionTool(getDrawingEditor());
-		return new CH.ifa.draw.standard.ToolButton(getDrawingEditor(), DrawApplication.IMAGES + "SEL", "Selection Tool", tool);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		toolbutton = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		toolbutton = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method tool()
-	/**
-	 * Method testTool is testing tool
-	 * @see CH.ifa.draw.standard.ToolButton#tool()
-	 */
-	// JUnitDoclet end javadoc_method tool()
-	public void testTool() throws Exception {
-		// JUnitDoclet begin method tool
-		// JUnitDoclet end method tool
-	}
-
-	// JUnitDoclet begin javadoc_method name()
-	/**
-	 * Method testName is testing name
-	 * @see CH.ifa.draw.standard.ToolButton#name()
-	 */
-	// JUnitDoclet end javadoc_method name()
-	public void testName() throws Exception {
-		// JUnitDoclet begin method name
-		// JUnitDoclet end method name
-	}
-
-	// JUnitDoclet begin javadoc_method attributeValue()
-	/**
-	 * Method testAttributeValue is testing attributeValue
-	 * @see CH.ifa.draw.standard.ToolButton#attributeValue()
-	 */
-	// JUnitDoclet end javadoc_method attributeValue()
-	public void testAttributeValue() throws Exception {
-		// JUnitDoclet begin method attributeValue
-		// JUnitDoclet end method attributeValue
-	}
-
-	// JUnitDoclet begin javadoc_method getMinimumSize()
-	/**
-	 * Method testGetMinimumSize is testing getMinimumSize
-	 * @see CH.ifa.draw.standard.ToolButton#getMinimumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMinimumSize()
-	public void testGetMinimumSize() throws Exception {
-		// JUnitDoclet begin method getMinimumSize
-		// JUnitDoclet end method getMinimumSize
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see CH.ifa.draw.standard.ToolButton#getPreferredSize()
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method getMaximumSize()
-	/**
-	 * Method testGetMaximumSize is testing getMaximumSize
-	 * @see CH.ifa.draw.standard.ToolButton#getMaximumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMaximumSize()
-	public void testGetMaximumSize() throws Exception {
-		// JUnitDoclet begin method getMaximumSize
-		// JUnitDoclet end method getMaximumSize
-	}
-
-	// JUnitDoclet begin javadoc_method paintSelected()
-	/**
-	 * Method testPaintSelected is testing paintSelected
-	 * @see CH.ifa.draw.standard.ToolButton#paintSelected(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method paintSelected()
-	public void testPaintSelected() throws Exception {
-		// JUnitDoclet begin method paintSelected
-		// JUnitDoclet end method paintSelected
-	}
-
-	// JUnitDoclet begin javadoc_method paint()
-	/**
-	 * Method testPaint is testing paint
-	 * @see CH.ifa.draw.standard.ToolButton#paint(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method paint()
-	public void testPaint() throws Exception {
-		// JUnitDoclet begin method paint
-		// JUnitDoclet end method paint
-	}
-
-	// JUnitDoclet begin javadoc_method toolUsable()
-	/**
-	 * Method testToolUsable is testing toolUsable
-	 * @see CH.ifa.draw.standard.ToolButton#toolUsable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolUsable()
-	public void testToolUsable() throws Exception {
-		// JUnitDoclet begin method toolUsable
-		// JUnitDoclet end method toolUsable
-	}
-
-	// JUnitDoclet begin javadoc_method toolUnusable()
-	/**
-	 * Method testToolUnusable is testing toolUnusable
-	 * @see CH.ifa.draw.standard.ToolButton#toolUnusable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolUnusable()
-	public void testToolUnusable() throws Exception {
-		// JUnitDoclet begin method toolUnusable
-		// JUnitDoclet end method toolUnusable
-	}
-
-	// JUnitDoclet begin javadoc_method toolActivated()
-	/**
-	 * Method testToolActivated is testing toolActivated
-	 * @see CH.ifa.draw.standard.ToolButton#toolActivated(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolActivated()
-	public void testToolActivated() throws Exception {
-		// JUnitDoclet begin method toolActivated
-		// JUnitDoclet end method toolActivated
-	}
-
-	// JUnitDoclet begin javadoc_method toolDeactivated()
-	/**
-	 * Method testToolDeactivated is testing toolDeactivated
-	 * @see CH.ifa.draw.standard.ToolButton#toolDeactivated(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolDeactivated()
-	public void testToolDeactivated() throws Exception {
-		// JUnitDoclet begin method toolDeactivated
-		// JUnitDoclet end method toolDeactivated
-	}
-
-	// JUnitDoclet begin javadoc_method toolEnabled()
-	/**
-	 * Method testToolEnabled is testing toolEnabled
-	 * @see CH.ifa.draw.standard.ToolButton#toolEnabled(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolEnabled()
-	public void testToolEnabled() throws Exception {
-		// JUnitDoclet begin method toolEnabled
-		// JUnitDoclet end method toolEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method toolDisabled()
-	/**
-	 * Method testToolDisabled is testing toolDisabled
-	 * @see CH.ifa.draw.standard.ToolButton#toolDisabled(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolDisabled()
-	public void testToolDisabled() throws Exception {
-		// JUnitDoclet begin method toolDisabled
-		// JUnitDoclet end method toolDisabled
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/util/AllTests.java
deleted file mode 100644
index 5658b7ff1..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/AllTests.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.util");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(BoundsTest.class));
-		suite.addTest(new TestSuite(ClipboardTest.class));
-		suite.addTest(new TestSuite(ColorMapTest.class));
-		suite.addTest(new TestSuite(CommandButtonTest.class));
-		suite.addTest(new TestSuite(CommandChoiceTest.class));
-		suite.addTest(new TestSuite(CommandMenuTest.class));
-		suite.addTest(new TestSuite(FillerTest.class));
-		suite.addTest(new TestSuite(FloatingTextFieldTest.class));
-		suite.addTest(new TestSuite(GeomTest.class));
-		suite.addTest(new TestSuite(GraphLayoutTest.class));
-		suite.addTest(new TestSuite(IconkitTest.class));
-		suite.addTest(new TestSuite(PaletteIconTest.class));
-		suite.addTest(new TestSuite(PaletteLayoutTest.class));
-		suite.addTest(new TestSuite(RedoCommandTest.class));
-		suite.addTest(new TestSuite(ReverseListEnumeratorTest.class));
-		suite.addTest(new TestSuite(SerializationStorageFormatTest.class));
-		suite.addTest(new TestSuite(StandardStorageFormatTest.class));
-		suite.addTest(new TestSuite(StandardVersionControlStrategyTest.class));
-		suite.addTest(new TestSuite(StorableInputTest.class));
-		suite.addTest(new TestSuite(StorableOutputTest.class));
-		suite.addTest(new TestSuite(StorageFormatManagerTest.class));
-		suite.addTest(new TestSuite(UndoCommandTest.class));
-		suite.addTest(new TestSuite(UndoManagerTest.class));
-		suite.addTest(new TestSuite(UndoRedoActivityTest.class));
-		suite.addTest(new TestSuite(UndoableAdapterTest.class));
-		suite.addTest(new TestSuite(UndoableCommandTest.class));
-		suite.addTest(new TestSuite(UndoableHandleTest.class));
-		suite.addTest(new TestSuite(UndoableToolTest.class));
-		suite.addTest(new TestSuite(VersionManagementTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/BoundsTest.java b/JHotDraw/src/CH/ifa/draw/test/util/BoundsTest.java
deleted file mode 100644
index af4aa819f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/BoundsTest.java
+++ /dev/null
@@ -1,484 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.awt.Dimension;
-import java.awt.geom.Point2D;
-
-import CH.ifa.draw.util.Bounds;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BoundsTest is generated by
- * JUnitDoclet to hold the tests for Bounds.
- * @see CH.ifa.draw.util.Bounds
- */
-// JUnitDoclet end javadoc_class
-public class BoundsTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Bounds bounds;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BoundsTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BoundsTest(String name) {
-		// JUnitDoclet begin method BoundsTest
-		super(name);
-		// JUnitDoclet end method BoundsTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.Bounds createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.Bounds(new Dimension(100, 100));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bounds = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bounds = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getLesserX()
-	/**
-	 * Method testGetLesserX is testing getLesserX
-	 * @see CH.ifa.draw.util.Bounds#getLesserX()
-	 */
-	// JUnitDoclet end javadoc_method getLesserX()
-	public void testGetLesserX() throws Exception {
-		// JUnitDoclet begin method getLesserX
-		// JUnitDoclet end method getLesserX
-	}
-
-	// JUnitDoclet begin javadoc_method getGreaterX()
-	/**
-	 * Method testGetGreaterX is testing getGreaterX
-	 * @see CH.ifa.draw.util.Bounds#getGreaterX()
-	 */
-	// JUnitDoclet end javadoc_method getGreaterX()
-	public void testGetGreaterX() throws Exception {
-		// JUnitDoclet begin method getGreaterX
-		// JUnitDoclet end method getGreaterX
-	}
-
-	// JUnitDoclet begin javadoc_method getLesserY()
-	/**
-	 * Method testGetLesserY is testing getLesserY
-	 * @see CH.ifa.draw.util.Bounds#getLesserY()
-	 */
-	// JUnitDoclet end javadoc_method getLesserY()
-	public void testGetLesserY() throws Exception {
-		// JUnitDoclet begin method getLesserY
-		// JUnitDoclet end method getLesserY
-	}
-
-	// JUnitDoclet begin javadoc_method getGreaterY()
-	/**
-	 * Method testGetGreaterY is testing getGreaterY
-	 * @see CH.ifa.draw.util.Bounds#getGreaterY()
-	 */
-	// JUnitDoclet end javadoc_method getGreaterY()
-	public void testGetGreaterY() throws Exception {
-		// JUnitDoclet begin method getGreaterY
-		// JUnitDoclet end method getGreaterY
-	}
-
-	// JUnitDoclet begin javadoc_method getWest()
-	/**
-	 * Method testGetWest is testing getWest
-	 * @see CH.ifa.draw.util.Bounds#getWest()
-	 */
-	// JUnitDoclet end javadoc_method getWest()
-	public void testGetWest() throws Exception {
-		// JUnitDoclet begin method getWest
-		// JUnitDoclet end method getWest
-	}
-
-	// JUnitDoclet begin javadoc_method getEast()
-	/**
-	 * Method testGetEast is testing getEast
-	 * @see CH.ifa.draw.util.Bounds#getEast()
-	 */
-	// JUnitDoclet end javadoc_method getEast()
-	public void testGetEast() throws Exception {
-		// JUnitDoclet begin method getEast
-		// JUnitDoclet end method getEast
-	}
-
-	// JUnitDoclet begin javadoc_method getSouth()
-	/**
-	 * Method testGetSouth is testing getSouth
-	 * @see CH.ifa.draw.util.Bounds#getSouth()
-	 */
-	// JUnitDoclet end javadoc_method getSouth()
-	public void testGetSouth() throws Exception {
-		// JUnitDoclet begin method getSouth
-		// JUnitDoclet end method getSouth
-	}
-
-	// JUnitDoclet begin javadoc_method getNorth()
-	/**
-	 * Method testGetNorth is testing getNorth
-	 * @see CH.ifa.draw.util.Bounds#getNorth()
-	 */
-	// JUnitDoclet end javadoc_method getNorth()
-	public void testGetNorth() throws Exception {
-		// JUnitDoclet begin method getNorth
-		// JUnitDoclet end method getNorth
-	}
-
-	// JUnitDoclet begin javadoc_method getWidth()
-	/**
-	 * Method testGetWidth is testing getWidth
-	 * @see CH.ifa.draw.util.Bounds#getWidth()
-	 */
-	// JUnitDoclet end javadoc_method getWidth()
-	public void testGetWidth() throws Exception {
-		// JUnitDoclet begin method getWidth
-		// JUnitDoclet end method getWidth
-	}
-
-	// JUnitDoclet begin javadoc_method getHeight()
-	/**
-	 * Method testGetHeight is testing getHeight
-	 * @see CH.ifa.draw.util.Bounds#getHeight()
-	 */
-	// JUnitDoclet end javadoc_method getHeight()
-	public void testGetHeight() throws Exception {
-		// JUnitDoclet begin method getHeight
-		// JUnitDoclet end method getHeight
-	}
-
-	// JUnitDoclet begin javadoc_method asRectangle2D()
-	/**
-	 * Method testAsRectangle2D is testing asRectangle2D
-	 * @see CH.ifa.draw.util.Bounds#asRectangle2D()
-	 */
-	// JUnitDoclet end javadoc_method asRectangle2D()
-	public void testAsRectangle2D() throws Exception {
-		// JUnitDoclet begin method asRectangle2D
-		// JUnitDoclet end method asRectangle2D
-	}
-
-	// JUnitDoclet begin javadoc_method setCenter()
-	/**
-	 * Method testSetGetCenter is testing setCenter
-	 * and getCenter together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.Bounds#setCenter(java.awt.geom.Point2D)
-	 * @see CH.ifa.draw.util.Bounds#getCenter()
-	 */
-	// JUnitDoclet end javadoc_method setCenter()
-	public void testSetGetCenter() throws Exception {
-		// JUnitDoclet begin method setCenter getCenter
-		Point2D[] tests = { new Point2D.Double(2.0, 3.0)};
-
-		for (int i = 0; i < tests.length; i++) {
-			bounds.setCenter(tests[i]);
-			assertEquals(tests[i], bounds.getCenter());
-		}
-		// JUnitDoclet end method setCenter getCenter
-	}
-
-	// JUnitDoclet begin method setNullCenter()
-	/**
-	  * Test a null argument to setCenter.  Expect an IllegalArgumentException
-	  * 
-	  * @see CH.ifa.draw.util.Bounds#setCenter(java.awt.geom.Point2D)
-	  */
-	public void testSetNullCenter() throws Exception {
-		Point2D original = bounds.getCenter();
-
-		try {
-			bounds.setCenter(null);
-			fail("IllegalArgumentException expected");
-		}
-		catch (IllegalArgumentException ok) {
-			assertEquals("setCenter(null) altered property value", original, bounds.getCenter());
-		}
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method zoomBy()
-	/**
-	 * Method testZoomBy is testing zoomBy
-	 * @see CH.ifa.draw.util.Bounds#zoomBy(double)
-	 */
-	// JUnitDoclet end javadoc_method zoomBy()
-	public void testZoomBy() throws Exception {
-		// JUnitDoclet begin method zoomBy
-		// JUnitDoclet end method zoomBy
-	}
-
-	// JUnitDoclet begin javadoc_method shiftBy()
-	/**
-	 * Method testShiftBy is testing shiftBy
-	 * @see CH.ifa.draw.util.Bounds#shiftBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method shiftBy()
-	public void testShiftBy() throws Exception {
-		// JUnitDoclet begin method shiftBy
-		// JUnitDoclet end method shiftBy
-	}
-
-	// JUnitDoclet begin javadoc_method offset()
-	/**
-	 * Method testOffset is testing offset
-	 * @see CH.ifa.draw.util.Bounds#offset(double, double)
-	 */
-	// JUnitDoclet end javadoc_method offset()
-	public void testOffset() throws Exception {
-		// JUnitDoclet begin method offset
-		// JUnitDoclet end method offset
-	}
-
-	// JUnitDoclet begin javadoc_method expandToRatio()
-	/**
-	 * Method testExpandToRatio is testing expandToRatio
-	 * @see CH.ifa.draw.util.Bounds#expandToRatio(double)
-	 */
-	// JUnitDoclet end javadoc_method expandToRatio()
-	public void testExpandToRatio() throws Exception {
-		// JUnitDoclet begin method expandToRatio
-		// JUnitDoclet end method expandToRatio
-	}
-
-	// JUnitDoclet begin javadoc_method includeXCoordinate()
-	/**
-	 * Method testIncludeXCoordinate is testing includeXCoordinate
-	 * @see CH.ifa.draw.util.Bounds#includeXCoordinate(double)
-	 */
-	// JUnitDoclet end javadoc_method includeXCoordinate()
-	public void testIncludeXCoordinate() throws Exception {
-		// JUnitDoclet begin method includeXCoordinate
-		// JUnitDoclet end method includeXCoordinate
-	}
-
-	// JUnitDoclet begin javadoc_method includeYCoordinate()
-	/**
-	 * Method testIncludeYCoordinate is testing includeYCoordinate
-	 * @see CH.ifa.draw.util.Bounds#includeYCoordinate(double)
-	 */
-	// JUnitDoclet end javadoc_method includeYCoordinate()
-	public void testIncludeYCoordinate() throws Exception {
-		// JUnitDoclet begin method includeYCoordinate
-		// JUnitDoclet end method includeYCoordinate
-	}
-
-	// JUnitDoclet begin javadoc_method includePoint()
-	/**
-	 * Method testIncludePoint is testing includePoint
-	 * @see CH.ifa.draw.util.Bounds#includePoint(double, double)
-	 */
-	// JUnitDoclet end javadoc_method includePoint()
-	public void testIncludePoint() throws Exception {
-		// JUnitDoclet begin method includePoint
-		// JUnitDoclet end method includePoint
-	}
-
-	// JUnitDoclet begin javadoc_method includeLine()
-	/**
-	 * Method testIncludeLine is testing includeLine
-	 * @see CH.ifa.draw.util.Bounds#includeLine(double, double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method includeLine()
-	public void testIncludeLine() throws Exception {
-		// JUnitDoclet begin method includeLine
-		// JUnitDoclet end method includeLine
-	}
-
-	// JUnitDoclet begin javadoc_method includeBounds()
-	/**
-	 * Method testIncludeBounds is testing includeBounds
-	 * @see CH.ifa.draw.util.Bounds#includeBounds(CH.ifa.draw.util.Bounds)
-	 */
-	// JUnitDoclet end javadoc_method includeBounds()
-	public void testIncludeBounds() throws Exception {
-		// JUnitDoclet begin method includeBounds
-		// JUnitDoclet end method includeBounds
-	}
-
-	// JUnitDoclet begin javadoc_method includeRectangle2D()
-	/**
-	 * Method testIncludeRectangle2D is testing includeRectangle2D
-	 * @see CH.ifa.draw.util.Bounds#includeRectangle2D(java.awt.geom.Rectangle2D)
-	 */
-	// JUnitDoclet end javadoc_method includeRectangle2D()
-	public void testIncludeRectangle2D() throws Exception {
-		// JUnitDoclet begin method includeRectangle2D
-		// JUnitDoclet end method includeRectangle2D
-	}
-
-	// JUnitDoclet begin javadoc_method intersect()
-	/**
-	 * Method testIntersect is testing intersect
-	 * @see CH.ifa.draw.util.Bounds#intersect(CH.ifa.draw.util.Bounds)
-	 */
-	// JUnitDoclet end javadoc_method intersect()
-	public void testIntersect() throws Exception {
-		// JUnitDoclet begin method intersect
-		// JUnitDoclet end method intersect
-	}
-
-	// JUnitDoclet begin javadoc_method intersectsPoint()
-	/**
-	 * Method testIntersectsPoint is testing intersectsPoint
-	 * @see CH.ifa.draw.util.Bounds#intersectsPoint(double, double)
-	 */
-	// JUnitDoclet end javadoc_method intersectsPoint()
-	public void testIntersectsPoint() throws Exception {
-		// JUnitDoclet begin method intersectsPoint
-		// JUnitDoclet end method intersectsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method intersectsLine()
-	/**
-	 * Method testIntersectsLine is testing intersectsLine
-	 * @see CH.ifa.draw.util.Bounds#intersectsLine(double, double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method intersectsLine()
-	public void testIntersectsLine() throws Exception {
-		// JUnitDoclet begin method intersectsLine
-		// JUnitDoclet end method intersectsLine
-	}
-
-	// JUnitDoclet begin javadoc_method intersectsBounds()
-	/**
-	 * Method testIntersectsBounds is testing intersectsBounds
-	 * @see CH.ifa.draw.util.Bounds#intersectsBounds(CH.ifa.draw.util.Bounds)
-	 */
-	// JUnitDoclet end javadoc_method intersectsBounds()
-	public void testIntersectsBounds() throws Exception {
-		// JUnitDoclet begin method intersectsBounds
-		// JUnitDoclet end method intersectsBounds
-	}
-
-	// JUnitDoclet begin javadoc_method completelyContainsLine()
-	/**
-	 * Method testCompletelyContainsLine is testing completelyContainsLine
-	 * @see CH.ifa.draw.util.Bounds#completelyContainsLine(double, double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method completelyContainsLine()
-	public void testCompletelyContainsLine() throws Exception {
-		// JUnitDoclet begin method completelyContainsLine
-		// JUnitDoclet end method completelyContainsLine
-	}
-
-	// JUnitDoclet begin javadoc_method isCompletelyInside()
-	/**
-	 * Method testIsCompletelyInside is testing isCompletelyInside
-	 * @see CH.ifa.draw.util.Bounds#isCompletelyInside(CH.ifa.draw.util.Bounds)
-	 */
-	// JUnitDoclet end javadoc_method isCompletelyInside()
-	public void testIsCompletelyInside() throws Exception {
-		// JUnitDoclet begin method isCompletelyInside
-		// JUnitDoclet end method isCompletelyInside
-	}
-
-	// JUnitDoclet begin javadoc_method cropLine()
-	/**
-	 * Method testCropLine is testing cropLine
-	 * @see CH.ifa.draw.util.Bounds#cropLine(double, double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method cropLine()
-	public void testCropLine() throws Exception {
-		// JUnitDoclet begin method cropLine
-		// JUnitDoclet end method cropLine
-	}
-
-	// JUnitDoclet begin javadoc_method equals()
-	/**
-	 * Method testEquals is testing equals
-	 * @see CH.ifa.draw.util.Bounds#equals(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method equals()
-	public void testEquals() throws Exception {
-		// JUnitDoclet begin method equals
-		// JUnitDoclet end method equals
-	}
-
-	// JUnitDoclet begin javadoc_method hashCode()
-	/**
-	 * Method testHashCode is testing hashCode
-	 * @see CH.ifa.draw.util.Bounds#hashCode()
-	 */
-	// JUnitDoclet end javadoc_method hashCode()
-	public void testHashCode() throws Exception {
-		// JUnitDoclet begin method hashCode
-		// JUnitDoclet end method hashCode
-	}
-
-	// JUnitDoclet begin javadoc_method toString()
-	/**
-	 * Method testToString is testing toString
-	 * @see CH.ifa.draw.util.Bounds#toString()
-	 */
-	// JUnitDoclet end javadoc_method toString()
-	public void testToString() throws Exception {
-		// JUnitDoclet begin method toString
-		// JUnitDoclet end method toString
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/ClipboardTest.java b/JHotDraw/src/CH/ifa/draw/test/util/ClipboardTest.java
deleted file mode 100644
index 4cdcc7f0d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/ClipboardTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.Clipboard;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ClipboardTest is generated by
- * JUnitDoclet to hold the tests for Clipboard.
- * @see CH.ifa.draw.util.Clipboard
- */
-// JUnitDoclet end javadoc_class
-public class ClipboardTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Clipboard clipboard;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ClipboardTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ClipboardTest(String name) {
-		// JUnitDoclet begin method ClipboardTest
-		super(name);
-		// JUnitDoclet end method ClipboardTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.Clipboard createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return CH.ifa.draw.util.Clipboard.getClipboard();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		clipboard = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		clipboard = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getClipboard()
-	/**
-	 * Method testGetClipboard is testing getClipboard
-	 * @see CH.ifa.draw.util.Clipboard#getClipboard()
-	 */
-	// JUnitDoclet end javadoc_method getClipboard()
-	public void testGetClipboard() throws Exception {
-		// JUnitDoclet begin method getClipboard
-		// JUnitDoclet end method getClipboard
-	}
-
-	// JUnitDoclet begin javadoc_method setContents()
-	/**
-	 * Method testSetGetContents is testing setContents
-	 * and getContents together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.Clipboard#setContents(java.lang.Object)
-	 * @see CH.ifa.draw.util.Clipboard#getContents()
-	 */
-	// JUnitDoclet end javadoc_method setContents()
-	public void testSetGetContents() throws Exception {
-		// JUnitDoclet begin method setContents getContents
-		java.lang.Object[] tests = { new java.lang.Object(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			clipboard.setContents(tests[i]);
-			assertEquals(tests[i], clipboard.getContents());
-		}
-		// JUnitDoclet end method setContents getContents
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/ColorMapTest.java b/JHotDraw/src/CH/ifa/draw/test/util/ColorMapTest.java
deleted file mode 100644
index 67151b4a2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/ColorMapTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.ColorMap;
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ColorMapTest is generated by
- * JUnitDoclet to hold the tests for ColorMap.
- * @see CH.ifa.draw.util.ColorMap
- */
-// JUnitDoclet end javadoc_class
-public class ColorMapTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ColorMap colormap;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ColorMapTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ColorMapTest(String name) {
-		// JUnitDoclet begin method ColorMapTest
-		super(name);
-		// JUnitDoclet end method ColorMapTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.ColorMap createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.ColorMap();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		colormap = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		colormap = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method size()
-	/**
-	 * Method testSize is testing size
-	 * @see CH.ifa.draw.util.ColorMap#size()
-	 */
-	// JUnitDoclet end javadoc_method size()
-	public void testSize() throws Exception {
-		// JUnitDoclet begin method size
-		// JUnitDoclet end method size
-	}
-
-	// JUnitDoclet begin javadoc_method color()
-	/**
-	 * Method testColor is testing color
-	 * @see CH.ifa.draw.util.ColorMap#color(int)
-	 */
-	// JUnitDoclet end javadoc_method color()
-	public void testColor() throws Exception {
-		// JUnitDoclet begin method color
-		// JUnitDoclet end method color
-	}
-
-	// JUnitDoclet begin javadoc_method name()
-	/**
-	 * Method testName is testing name
-	 * @see CH.ifa.draw.util.ColorMap#name(int)
-	 */
-	// JUnitDoclet end javadoc_method name()
-	public void testName() throws Exception {
-		// JUnitDoclet begin method name
-		// JUnitDoclet end method name
-	}
-
-	// JUnitDoclet begin javadoc_method colorIndex()
-	/**
-	 * Method testColorIndex is testing colorIndex
-	 * @see CH.ifa.draw.util.ColorMap#colorIndex(java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method colorIndex()
-	public void testColorIndex() throws Exception {
-		// JUnitDoclet begin method colorIndex
-		// JUnitDoclet end method colorIndex
-	}
-
-	// JUnitDoclet begin javadoc_method isTransparent()
-	/**
-	 * Method testIsTransparent is testing isTransparent
-	 * @see CH.ifa.draw.util.ColorMap#isTransparent(java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method isTransparent()
-	public void testIsTransparent() throws Exception {
-		// JUnitDoclet begin method isTransparent
-		// JUnitDoclet end method isTransparent
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/CommandButtonTest.java b/JHotDraw/src/CH/ifa/draw/test/util/CommandButtonTest.java
deleted file mode 100644
index f80664526..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/CommandButtonTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.DuplicateCommand;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.CommandButton;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandButtonTest is generated by
- * JUnitDoclet to hold the tests for CommandButton.
- * @see CH.ifa.draw.util.CommandButton
- */
-// JUnitDoclet end javadoc_class
-public class CommandButtonTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandButton commandbutton;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandButtonTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandButtonTest(String name) {
-		// JUnitDoclet begin method CommandButtonTest
-		super(name);
-		// JUnitDoclet end method CommandButtonTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.CommandButton createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.CommandButton(new DuplicateCommand("Duplicate", getDrawingEditor()));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandbutton = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandbutton = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method actionPerformed()
-	/**
-	 * Method testActionPerformed is testing actionPerformed
-	 * @see CH.ifa.draw.util.CommandButton#actionPerformed(java.awt.event.ActionEvent)
-	 */
-	// JUnitDoclet end javadoc_method actionPerformed()
-	public void testActionPerformed() throws Exception {
-		// JUnitDoclet begin method actionPerformed
-		// JUnitDoclet end method actionPerformed
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/CommandChoiceTest.java b/JHotDraw/src/CH/ifa/draw/test/util/CommandChoiceTest.java
deleted file mode 100644
index 3ccddfa6e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/CommandChoiceTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.CommandChoice;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandChoiceTest is generated by
- * JUnitDoclet to hold the tests for CommandChoice.
- * @see CH.ifa.draw.util.CommandChoice
- */
-// JUnitDoclet end javadoc_class
-public class CommandChoiceTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandChoice commandchoice;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandChoiceTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandChoiceTest(String name) {
-		// JUnitDoclet begin method CommandChoiceTest
-		super(name);
-		// JUnitDoclet end method CommandChoiceTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.CommandChoice createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.CommandChoice();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandchoice = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandchoice = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addItem()
-	/**
-	 * Method testAddItem is testing addItem
-	 * @see CH.ifa.draw.util.CommandChoice#addItem(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method addItem()
-	public void testAddItem() throws Exception {
-		// JUnitDoclet begin method addItem
-		// JUnitDoclet end method addItem
-	}
-
-	// JUnitDoclet begin javadoc_method itemStateChanged()
-	/**
-	 * Method testItemStateChanged is testing itemStateChanged
-	 * @see CH.ifa.draw.util.CommandChoice#itemStateChanged(java.awt.event.ItemEvent)
-	 */
-	// JUnitDoclet end javadoc_method itemStateChanged()
-	public void testItemStateChanged() throws Exception {
-		// JUnitDoclet begin method itemStateChanged
-		// JUnitDoclet end method itemStateChanged
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/CommandMenuTest.java b/JHotDraw/src/CH/ifa/draw/test/util/CommandMenuTest.java
deleted file mode 100644
index 81344b393..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/CommandMenuTest.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.CommandMenu;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandMenuTest is generated by
- * JUnitDoclet to hold the tests for CommandMenu.
- * @see CH.ifa.draw.util.CommandMenu
- */
-// JUnitDoclet end javadoc_class
-public class CommandMenuTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandMenu commandmenu;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandMenuTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandMenuTest(String name) {
-		// JUnitDoclet begin method CommandMenuTest
-		super(name);
-		// JUnitDoclet end method CommandMenuTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.CommandMenu createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.CommandMenu("TestCommandMenu");
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandmenu = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandmenu = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.util.CommandMenu#add(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method addCheckItem()
-	/**
-	 * Method testAddCheckItem is testing addCheckItem
-	 * @see CH.ifa.draw.util.CommandMenu#addCheckItem(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method addCheckItem()
-	public void testAddCheckItem() throws Exception {
-		// JUnitDoclet begin method addCheckItem
-		// JUnitDoclet end method addCheckItem
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.util.CommandMenu#remove(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method enable()
-	/**
-	 * Method testEnable is testing enable
-	 * @see CH.ifa.draw.util.CommandMenu#enable(java.lang.String, boolean)
-	 */
-	// JUnitDoclet end javadoc_method enable()
-	public void testEnable() throws Exception {
-		// JUnitDoclet begin method enable
-		// JUnitDoclet end method enable
-	}
-
-	// JUnitDoclet begin javadoc_method checkEnabled()
-	/**
-	 * Method testCheckEnabled is testing checkEnabled
-	 * @see CH.ifa.draw.util.CommandMenu#checkEnabled()
-	 */
-	// JUnitDoclet end javadoc_method checkEnabled()
-	public void testCheckEnabled() throws Exception {
-		// JUnitDoclet begin method checkEnabled
-		// JUnitDoclet end method checkEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method actionPerformed()
-	/**
-	 * Method testActionPerformed is testing actionPerformed
-	 * @see CH.ifa.draw.util.CommandMenu#actionPerformed(java.awt.event.ActionEvent)
-	 */
-	// JUnitDoclet end javadoc_method actionPerformed()
-	public void testActionPerformed() throws Exception {
-		// JUnitDoclet begin method actionPerformed
-		// JUnitDoclet end method actionPerformed
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecuted()
-	/**
-	 * Method testCommandExecuted is testing commandExecuted
-	 * @see CH.ifa.draw.util.CommandMenu#commandExecuted(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecuted()
-	public void testCommandExecuted() throws Exception {
-		// JUnitDoclet begin method commandExecuted
-		// JUnitDoclet end method commandExecuted
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecutable()
-	/**
-	 * Method testCommandExecutable is testing commandExecutable
-	 * @see CH.ifa.draw.util.CommandMenu#commandExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecutable()
-	public void testCommandExecutable() throws Exception {
-		// JUnitDoclet begin method commandExecutable
-		// JUnitDoclet end method commandExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method commandNotExecutable()
-	/**
-	 * Method testCommandNotExecutable is testing commandNotExecutable
-	 * @see CH.ifa.draw.util.CommandMenu#commandNotExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandNotExecutable()
-	public void testCommandNotExecutable() throws Exception {
-		// JUnitDoclet begin method commandNotExecutable
-		// JUnitDoclet end method commandNotExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/FillerTest.java b/JHotDraw/src/CH/ifa/draw/test/util/FillerTest.java
deleted file mode 100644
index e5f58e17e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/FillerTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.Filler;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FillerTest is generated by
- * JUnitDoclet to hold the tests for Filler.
- * @see CH.ifa.draw.util.Filler
- */
-// JUnitDoclet end javadoc_class
-public class FillerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Filler filler;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FillerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FillerTest(String name) {
-		// JUnitDoclet begin method FillerTest
-		super(name);
-		// JUnitDoclet end method FillerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.Filler createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.Filler(10, 10);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		filler = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		filler = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getMinimumSize()
-	/**
-	 * Method testGetMinimumSize is testing getMinimumSize
-	 * @see CH.ifa.draw.util.Filler#getMinimumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMinimumSize()
-	public void testGetMinimumSize() throws Exception {
-		// JUnitDoclet begin method getMinimumSize
-		// JUnitDoclet end method getMinimumSize
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see CH.ifa.draw.util.Filler#getPreferredSize()
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method getBackground()
-	/**
-	 * Method testGetBackground is testing getBackground
-	 * @see CH.ifa.draw.util.Filler#getBackground()
-	 */
-	// JUnitDoclet end javadoc_method getBackground()
-	public void testGetBackground() throws Exception {
-		// JUnitDoclet begin method getBackground
-		// JUnitDoclet end method getBackground
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/FloatingTextFieldTest.java b/JHotDraw/src/CH/ifa/draw/test/util/FloatingTextFieldTest.java
deleted file mode 100644
index 3925b386e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/FloatingTextFieldTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.FloatingTextField;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FloatingTextFieldTest is generated by
- * JUnitDoclet to hold the tests for FloatingTextField.
- * @see CH.ifa.draw.util.FloatingTextField
- */
-// JUnitDoclet end javadoc_class
-public class FloatingTextFieldTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FloatingTextField floatingtextfield;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FloatingTextFieldTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FloatingTextFieldTest(String name) {
-		// JUnitDoclet begin method FloatingTextFieldTest
-		super(name);
-		// JUnitDoclet end method FloatingTextFieldTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.FloatingTextField createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.FloatingTextField();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		floatingtextfield = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		floatingtextfield = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createOverlay()
-	/**
-	 * Method testCreateOverlay is testing createOverlay
-	 * @see CH.ifa.draw.util.FloatingTextField#createOverlay(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method createOverlay()
-	public void testCreateOverlay() throws Exception {
-		// JUnitDoclet begin method createOverlay
-		// JUnitDoclet end method createOverlay
-	}
-
-	// JUnitDoclet begin javadoc_method addActionListener()
-	/**
-	 * Method testAddActionListener is testing addActionListener
-	 * @see CH.ifa.draw.util.FloatingTextField#addActionListener(java.awt.event.ActionListener)
-	 */
-	// JUnitDoclet end javadoc_method addActionListener()
-	public void testAddActionListener() throws Exception {
-		// JUnitDoclet begin method addActionListener
-		// JUnitDoclet end method addActionListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeActionListener()
-	/**
-	 * Method testRemoveActionListener is testing removeActionListener
-	 * @see CH.ifa.draw.util.FloatingTextField#removeActionListener(java.awt.event.ActionListener)
-	 */
-	// JUnitDoclet end javadoc_method removeActionListener()
-	public void testRemoveActionListener() throws Exception {
-		// JUnitDoclet begin method removeActionListener
-		// JUnitDoclet end method removeActionListener
-	}
-
-	// JUnitDoclet begin javadoc_method setBounds()
-	/**
-	 * Method testSetBounds is testing setBounds
-	 * @see CH.ifa.draw.util.FloatingTextField#setBounds(java.awt.Rectangle, java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method setBounds()
-	public void testSetBounds() throws Exception {
-		// JUnitDoclet begin method setBounds
-		// JUnitDoclet end method setBounds
-	}
-
-	// JUnitDoclet begin javadoc_method getText()
-	/**
-	 * Method testGetText is testing getText
-	 * @see CH.ifa.draw.util.FloatingTextField#getText()
-	 */
-	// JUnitDoclet end javadoc_method getText()
-	public void testGetText() throws Exception {
-		// JUnitDoclet begin method getText
-		// JUnitDoclet end method getText
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see CH.ifa.draw.util.FloatingTextField#getPreferredSize(int)
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method endOverlay()
-	/**
-	 * Method testEndOverlay is testing endOverlay
-	 * @see CH.ifa.draw.util.FloatingTextField#endOverlay()
-	 */
-	// JUnitDoclet end javadoc_method endOverlay()
-	public void testEndOverlay() throws Exception {
-		// JUnitDoclet begin method endOverlay
-		// JUnitDoclet end method endOverlay
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/GeomTest.java b/JHotDraw/src/CH/ifa/draw/test/util/GeomTest.java
deleted file mode 100644
index 529ce70fd..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/GeomTest.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.Geom;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GeomTest is generated by
- * JUnitDoclet to hold the tests for Geom.
- * @see CH.ifa.draw.util.Geom
- */
-// JUnitDoclet end javadoc_class
-public class GeomTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Geom geom;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor GeomTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public GeomTest(String name) {
-		// JUnitDoclet begin method GeomTest
-		super(name);
-		// JUnitDoclet end method GeomTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.Geom createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		// Geom has static methods and cannot be instantiated.
-		return null;
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		geom = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		geom = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method lineContainsPoint()
-	/**
-	 * Method testLineContainsPoint is testing lineContainsPoint
-	 * @see CH.ifa.draw.util.Geom#lineContainsPoint(int, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method lineContainsPoint()
-	public void testLineContainsPoint() throws Exception {
-		// JUnitDoclet begin method lineContainsPoint
-		// JUnitDoclet end method lineContainsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method direction()
-	/**
-	 * Method testDirection is testing direction
-	 * @see CH.ifa.draw.util.Geom#direction(int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method direction()
-	public void testDirection() throws Exception {
-		// JUnitDoclet begin method direction
-		// JUnitDoclet end method direction
-	}
-
-	// JUnitDoclet begin javadoc_method south()
-	/**
-	 * Method testSouth is testing south
-	 * @see CH.ifa.draw.util.Geom#south(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method south()
-	public void testSouth() throws Exception {
-		// JUnitDoclet begin method south
-		// JUnitDoclet end method south
-	}
-
-	// JUnitDoclet begin javadoc_method center()
-	/**
-	 * Method testCenter is testing center
-	 * @see CH.ifa.draw.util.Geom#center(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method center()
-	public void testCenter() throws Exception {
-		// JUnitDoclet begin method center
-		// JUnitDoclet end method center
-	}
-
-	// JUnitDoclet begin javadoc_method west()
-	/**
-	 * Method testWest is testing west
-	 * @see CH.ifa.draw.util.Geom#west(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method west()
-	public void testWest() throws Exception {
-		// JUnitDoclet begin method west
-		// JUnitDoclet end method west
-	}
-
-	// JUnitDoclet begin javadoc_method east()
-	/**
-	 * Method testEast is testing east
-	 * @see CH.ifa.draw.util.Geom#east(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method east()
-	public void testEast() throws Exception {
-		// JUnitDoclet begin method east
-		// JUnitDoclet end method east
-	}
-
-	// JUnitDoclet begin javadoc_method north()
-	/**
-	 * Method testNorth is testing north
-	 * @see CH.ifa.draw.util.Geom#north(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method north()
-	public void testNorth() throws Exception {
-		// JUnitDoclet begin method north
-		// JUnitDoclet end method north
-	}
-
-	// JUnitDoclet begin javadoc_method corner()
-	/**
-	 * Method testCorner is testing corner
-	 * @see CH.ifa.draw.util.Geom#corner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method corner()
-	public void testCorner() throws Exception {
-		// JUnitDoclet begin method corner
-		// JUnitDoclet end method corner
-	}
-
-	// JUnitDoclet begin javadoc_method topLeftCorner()
-	/**
-	 * Method testTopLeftCorner is testing topLeftCorner
-	 * @see CH.ifa.draw.util.Geom#topLeftCorner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method topLeftCorner()
-	public void testTopLeftCorner() throws Exception {
-		// JUnitDoclet begin method topLeftCorner
-		// JUnitDoclet end method topLeftCorner
-	}
-
-	// JUnitDoclet begin javadoc_method topRightCorner()
-	/**
-	 * Method testTopRightCorner is testing topRightCorner
-	 * @see CH.ifa.draw.util.Geom#topRightCorner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method topRightCorner()
-	public void testTopRightCorner() throws Exception {
-		// JUnitDoclet begin method topRightCorner
-		// JUnitDoclet end method topRightCorner
-	}
-
-	// JUnitDoclet begin javadoc_method bottomLeftCorner()
-	/**
-	 * Method testBottomLeftCorner is testing bottomLeftCorner
-	 * @see CH.ifa.draw.util.Geom#bottomLeftCorner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method bottomLeftCorner()
-	public void testBottomLeftCorner() throws Exception {
-		// JUnitDoclet begin method bottomLeftCorner
-		// JUnitDoclet end method bottomLeftCorner
-	}
-
-	// JUnitDoclet begin javadoc_method bottomRightCorner()
-	/**
-	 * Method testBottomRightCorner is testing bottomRightCorner
-	 * @see CH.ifa.draw.util.Geom#bottomRightCorner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method bottomRightCorner()
-	public void testBottomRightCorner() throws Exception {
-		// JUnitDoclet begin method bottomRightCorner
-		// JUnitDoclet end method bottomRightCorner
-	}
-
-	// JUnitDoclet begin javadoc_method range()
-	/**
-	 * Method testRange is testing range
-	 * @see CH.ifa.draw.util.Geom#range(int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method range()
-	public void testRange() throws Exception {
-		// JUnitDoclet begin method range
-		// JUnitDoclet end method range
-	}
-
-	// JUnitDoclet begin javadoc_method length2()
-	/**
-	 * Method testLength2 is testing length2
-	 * @see CH.ifa.draw.util.Geom#length2(int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method length2()
-	public void testLength2() throws Exception {
-		// JUnitDoclet begin method length2
-		// JUnitDoclet end method length2
-	}
-
-	// JUnitDoclet begin javadoc_method length()
-	/**
-	 * Method testLength is testing length
-	 * @see CH.ifa.draw.util.Geom#length(int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method length()
-	public void testLength() throws Exception {
-		// JUnitDoclet begin method length
-		// JUnitDoclet end method length
-	}
-
-	// JUnitDoclet begin javadoc_method pointToAngle()
-	/**
-	 * Method testPointToAngle is testing pointToAngle
-	 * @see CH.ifa.draw.util.Geom#pointToAngle(java.awt.Rectangle, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method pointToAngle()
-	public void testPointToAngle() throws Exception {
-		// JUnitDoclet begin method pointToAngle
-		// JUnitDoclet end method pointToAngle
-	}
-
-	// JUnitDoclet begin javadoc_method angleToPoint()
-	/**
-	 * Method testAngleToPoint is testing angleToPoint
-	 * @see CH.ifa.draw.util.Geom#angleToPoint(java.awt.Rectangle, double)
-	 */
-	// JUnitDoclet end javadoc_method angleToPoint()
-	public void testAngleToPoint() throws Exception {
-		// JUnitDoclet begin method angleToPoint
-		// JUnitDoclet end method angleToPoint
-	}
-
-	// JUnitDoclet begin javadoc_method polarToPoint()
-	/**
-	 * Method testPolarToPoint is testing polarToPoint
-	 * @see CH.ifa.draw.util.Geom#polarToPoint(double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method polarToPoint()
-	public void testPolarToPoint() throws Exception {
-		// JUnitDoclet begin method polarToPoint
-		// JUnitDoclet end method polarToPoint
-	}
-
-	// JUnitDoclet begin javadoc_method ovalAngleToPoint()
-	/**
-	 * Method testOvalAngleToPoint is testing ovalAngleToPoint
-	 * @see CH.ifa.draw.util.Geom#ovalAngleToPoint(java.awt.Rectangle, double)
-	 */
-	// JUnitDoclet end javadoc_method ovalAngleToPoint()
-	public void testOvalAngleToPoint() throws Exception {
-		// JUnitDoclet begin method ovalAngleToPoint
-		// JUnitDoclet end method ovalAngleToPoint
-	}
-
-	// JUnitDoclet begin javadoc_method intersect()
-	/**
-	 * Method testIntersect is testing intersect
-	 * @see CH.ifa.draw.util.Geom#intersect(int, int, int, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method intersect()
-	public void testIntersect() throws Exception {
-		// JUnitDoclet begin method intersect
-		// JUnitDoclet end method intersect
-	}
-
-	// JUnitDoclet begin javadoc_method distanceFromLine()
-	/**
-	 * Method testDistanceFromLine is testing distanceFromLine
-	 * @see CH.ifa.draw.util.Geom#distanceFromLine(int, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method distanceFromLine()
-	public void testDistanceFromLine() throws Exception {
-		// JUnitDoclet begin method distanceFromLine
-		// JUnitDoclet end method distanceFromLine
-	}
-
-	// JUnitDoclet begin javadoc_method distanceFromLine2D()
-	/**
-	 * Method testDistanceFromLine2D is testing distanceFromLine2D
-	 * @see CH.ifa.draw.util.Geom#distanceFromLine2D(int, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method distanceFromLine2D()
-	public void testDistanceFromLine2D() throws Exception {
-		// JUnitDoclet begin method distanceFromLine2D
-		// JUnitDoclet end method distanceFromLine2D
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/GraphLayoutTest.java b/JHotDraw/src/CH/ifa/draw/test/util/GraphLayoutTest.java
deleted file mode 100644
index d96ee3d40..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/GraphLayoutTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.GraphLayout;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GraphLayoutTest is generated by
- * JUnitDoclet to hold the tests for GraphLayout.
- * @see CH.ifa.draw.util.GraphLayout
- */
-// JUnitDoclet end javadoc_class
-public class GraphLayoutTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private GraphLayout graphlayout;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor GraphLayoutTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public GraphLayoutTest(String name) {
-		// JUnitDoclet begin method GraphLayoutTest
-		super(name);
-		// JUnitDoclet end method GraphLayoutTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.GraphLayout createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.GraphLayout();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		graphlayout = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		graphlayout = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addNode()
-	/**
-	 * Method testAddNode is testing addNode
-	 * @see CH.ifa.draw.util.GraphLayout#addNode(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method addNode()
-	public void testAddNode() throws Exception {
-		// JUnitDoclet begin method addNode
-		// JUnitDoclet end method addNode
-	}
-
-	// JUnitDoclet begin javadoc_method addEdge()
-	/**
-	 * Method testAddEdge is testing addEdge
-	 * @see CH.ifa.draw.util.GraphLayout#addEdge(CH.ifa.draw.framework.ConnectionFigure, int)
-	 */
-	// JUnitDoclet end javadoc_method addEdge()
-	public void testAddEdge() throws Exception {
-		// JUnitDoclet begin method addEdge
-		// JUnitDoclet end method addEdge
-	}
-
-	// JUnitDoclet begin javadoc_method relax()
-	/**
-	 * Method testRelax is testing relax
-	 * @see CH.ifa.draw.util.GraphLayout#relax()
-	 */
-	// JUnitDoclet end javadoc_method relax()
-	public void testRelax() throws Exception {
-		// JUnitDoclet begin method relax
-		// JUnitDoclet end method relax
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see CH.ifa.draw.util.GraphLayout#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.util.GraphLayout#remove()
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/IconkitTest.java b/JHotDraw/src/CH/ifa/draw/test/util/IconkitTest.java
deleted file mode 100644
index ad58f53a9..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/IconkitTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.Iconkit;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase IconkitTest is generated by
- * JUnitDoclet to hold the tests for Iconkit.
- * @see CH.ifa.draw.util.Iconkit
- */
-// JUnitDoclet end javadoc_class
-public class IconkitTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Iconkit iconkit;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor IconkitTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public IconkitTest(String name) {
-		// JUnitDoclet begin method IconkitTest
-		super(name);
-		// JUnitDoclet end method IconkitTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.Iconkit createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.Iconkit(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		iconkit = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		iconkit = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method instance()
-	/**
-	 * Method testInstance is testing instance
-	 * @see CH.ifa.draw.util.Iconkit#instance()
-	 */
-	// JUnitDoclet end javadoc_method instance()
-	public void testInstance() throws Exception {
-		// JUnitDoclet begin method instance
-		// JUnitDoclet end method instance
-	}
-
-	// JUnitDoclet begin javadoc_method loadRegisteredImages()
-	/**
-	 * Method testLoadRegisteredImages is testing loadRegisteredImages
-	 * @see CH.ifa.draw.util.Iconkit#loadRegisteredImages(java.awt.Component)
-	 */
-	// JUnitDoclet end javadoc_method loadRegisteredImages()
-	public void testLoadRegisteredImages() throws Exception {
-		// JUnitDoclet begin method loadRegisteredImages
-		// JUnitDoclet end method loadRegisteredImages
-	}
-
-	// JUnitDoclet begin javadoc_method registerImage()
-	/**
-	 * Method testRegisterImage is testing registerImage
-	 * @see CH.ifa.draw.util.Iconkit#registerImage(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method registerImage()
-	public void testRegisterImage() throws Exception {
-		// JUnitDoclet begin method registerImage
-		// JUnitDoclet end method registerImage
-	}
-
-	// JUnitDoclet begin javadoc_method registerAndLoadImage()
-	/**
-	 * Method testRegisterAndLoadImage is testing registerAndLoadImage
-	 * @see CH.ifa.draw.util.Iconkit#registerAndLoadImage(java.awt.Component, java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method registerAndLoadImage()
-	public void testRegisterAndLoadImage() throws Exception {
-		// JUnitDoclet begin method registerAndLoadImage
-		// JUnitDoclet end method registerAndLoadImage
-	}
-
-	// JUnitDoclet begin javadoc_method loadImage()
-	/**
-	 * Method testLoadImage is testing loadImage
-	 * @see CH.ifa.draw.util.Iconkit#loadImage(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method loadImage()
-	public void testLoadImage() throws Exception {
-		// JUnitDoclet begin method loadImage
-		// JUnitDoclet end method loadImage
-	}
-
-	// JUnitDoclet begin javadoc_method loadImageResource()
-	/**
-	 * Method testLoadImageResource is testing loadImageResource
-	 * @see CH.ifa.draw.util.Iconkit#loadImageResource(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method loadImageResource()
-	public void testLoadImageResource() throws Exception {
-		// JUnitDoclet begin method loadImageResource
-		// JUnitDoclet end method loadImageResource
-	}
-
-	// JUnitDoclet begin javadoc_method getImage()
-	/**
-	 * Method testGetImage is testing getImage
-	 * @see CH.ifa.draw.util.Iconkit#getImage(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getImage()
-	public void testGetImage() throws Exception {
-		// JUnitDoclet begin method getImage
-		// JUnitDoclet end method getImage
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/JDOStorageFormatTest.java b/JHotDraw/src/CH/ifa/draw/test/util/JDOStorageFormatTest.java
deleted file mode 100644
index 692a796b4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/JDOStorageFormatTest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.JDOStorageFormat;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestCase JDOStorageFormatTest is generated by
-* JUnitDoclet to hold the tests for JDOStorageFormat.
-* @see CH.ifa.draw.util.JDOStorageFormat
-*/
-// JUnitDoclet end javadoc_class
-public class JDOStorageFormatTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JDOStorageFormat jdostorageformat;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JDOStorageFormatTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JDOStorageFormatTest(String name) {
-		// JUnitDoclet begin method JDOStorageFormatTest
-		super(name);
-		// JUnitDoclet end method JDOStorageFormatTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.JDOStorageFormat createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.JDOStorageFormat();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		jdostorageformat = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		jdostorageformat = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createFileDescription()
-	/**
-	 * Method testCreateFileDescription is testing createFileDescription
-	 * @see CH.ifa.draw.util.JDOStorageFormat#createFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method createFileDescription()
-	public void testCreateFileDescription() throws Exception {
-		// JUnitDoclet begin method createFileDescription
-		// JUnitDoclet end method createFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method store()
-	/**
-	 * Method testStore is testing store
-	 * @see CH.ifa.draw.util.JDOStorageFormat#store(java.lang.String, CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method store()
-	public void testStore() throws Exception {
-		// JUnitDoclet begin method store
-		// JUnitDoclet end method store
-	}
-
-	// JUnitDoclet begin javadoc_method restore()
-	/**
-	 * Method testRestore is testing restore
-	 * @see CH.ifa.draw.util.JDOStorageFormat#restore(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method restore()
-	public void testRestore() throws Exception {
-		// JUnitDoclet begin method restore
-		// JUnitDoclet end method restore
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.util.JDOStorageFormat#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/PaletteIconTest.java b/JHotDraw/src/CH/ifa/draw/test/util/PaletteIconTest.java
deleted file mode 100644
index b10546310..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/PaletteIconTest.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.PaletteIcon;
-import CH.ifa.draw.util.Iconkit;
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.framework.JHotDrawRuntimeException;
-import CH.ifa.draw.test.JHDTestCase;
-
-import java.awt.*;
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestCase PaletteIconTest is generated by
-* JUnitDoclet to hold the tests for PaletteIcon.
-* @see CH.ifa.draw.util.PaletteIcon
-*/
-// JUnitDoclet end javadoc_class
-public class PaletteIconTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PaletteIcon paletteicon;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PaletteIconTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PaletteIconTest(String name) {
-		// JUnitDoclet begin method PaletteIconTest
-		super(name);
-		// JUnitDoclet end method PaletteIconTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.PaletteIcon createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Iconkit kit = Iconkit.instance();
-		if (kit == null) {
-			throw new JHotDrawRuntimeException("Iconkit instance isn't set");
-		}
-
-		String iconName = DrawApplication.IMAGES + "SEL";
-		Image im[] = new Image[3];
-		im[0] = kit.loadImageResource(iconName + "1.gif");
-		im[1] = kit.loadImageResource(iconName + "2.gif");
-		im[2] = kit.loadImageResource(iconName + "3.gif");
-
-		MediaTracker tracker = new MediaTracker(getDrawingEditor());
-		for (int i = 0; i < 3; i++) {
-			tracker.addImage(im[i], i);
-		}
-		try {
-			tracker.waitForAll();
-		}
-		catch (Exception e) {
-			// ignore exception
-		}
-
-		return new PaletteIcon(new Dimension(24, 24), im[0], im[1], im[2]);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		paletteicon = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		paletteicon = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method normal()
-	/**
-	 * Method testNormal is testing normal
-	 * @see CH.ifa.draw.util.PaletteIcon#normal()
-	 */
-	// JUnitDoclet end javadoc_method normal()
-	public void testNormal() throws Exception {
-		// JUnitDoclet begin method normal
-		// JUnitDoclet end method normal
-	}
-
-	// JUnitDoclet begin javadoc_method pressed()
-	/**
-	 * Method testPressed is testing pressed
-	 * @see CH.ifa.draw.util.PaletteIcon#pressed()
-	 */
-	// JUnitDoclet end javadoc_method pressed()
-	public void testPressed() throws Exception {
-		// JUnitDoclet begin method pressed
-		// JUnitDoclet end method pressed
-	}
-
-	// JUnitDoclet begin javadoc_method selected()
-	/**
-	 * Method testSelected is testing selected
-	 * @see CH.ifa.draw.util.PaletteIcon#selected()
-	 */
-	// JUnitDoclet end javadoc_method selected()
-	public void testSelected() throws Exception {
-		// JUnitDoclet begin method selected
-		// JUnitDoclet end method selected
-	}
-
-	// JUnitDoclet begin javadoc_method getWidth()
-	/**
-	 * Method testGetWidth is testing getWidth
-	 * @see CH.ifa.draw.util.PaletteIcon#getWidth()
-	 */
-	// JUnitDoclet end javadoc_method getWidth()
-	public void testGetWidth() throws Exception {
-		// JUnitDoclet begin method getWidth
-		// JUnitDoclet end method getWidth
-	}
-
-	// JUnitDoclet begin javadoc_method getHeight()
-	/**
-	 * Method testGetHeight is testing getHeight
-	 * @see CH.ifa.draw.util.PaletteIcon#getHeight()
-	 */
-	// JUnitDoclet end javadoc_method getHeight()
-	public void testGetHeight() throws Exception {
-		// JUnitDoclet begin method getHeight
-		// JUnitDoclet end method getHeight
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/PaletteLayoutTest.java b/JHotDraw/src/CH/ifa/draw/test/util/PaletteLayoutTest.java
deleted file mode 100644
index f55d6fe5b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/PaletteLayoutTest.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.awt.Point;
-
-import CH.ifa.draw.util.PaletteLayout;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PaletteLayoutTest is generated by
- * JUnitDoclet to hold the tests for PaletteLayout.
- * @see CH.ifa.draw.util.PaletteLayout
- */
-// JUnitDoclet end javadoc_class
-public class PaletteLayoutTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PaletteLayout palettelayout;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PaletteLayoutTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PaletteLayoutTest(String name) {
-		// JUnitDoclet begin method PaletteLayoutTest
-		super(name);
-		// JUnitDoclet end method PaletteLayoutTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.PaletteLayout createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.PaletteLayout(10, new Point(5, 5));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		palettelayout = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		palettelayout = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addLayoutComponent()
-	/**
-	 * Method testAddLayoutComponent is testing addLayoutComponent
-	 * @see CH.ifa.draw.util.PaletteLayout#addLayoutComponent(java.lang.String, java.awt.Component)
-	 */
-	// JUnitDoclet end javadoc_method addLayoutComponent()
-	public void testAddLayoutComponent() throws Exception {
-		// JUnitDoclet begin method addLayoutComponent
-		// JUnitDoclet end method addLayoutComponent
-	}
-
-	// JUnitDoclet begin javadoc_method removeLayoutComponent()
-	/**
-	 * Method testRemoveLayoutComponent is testing removeLayoutComponent
-	 * @see CH.ifa.draw.util.PaletteLayout#removeLayoutComponent(java.awt.Component)
-	 */
-	// JUnitDoclet end javadoc_method removeLayoutComponent()
-	public void testRemoveLayoutComponent() throws Exception {
-		// JUnitDoclet begin method removeLayoutComponent
-		// JUnitDoclet end method removeLayoutComponent
-	}
-
-	// JUnitDoclet begin javadoc_method preferredLayoutSize()
-	/**
-	 * Method testPreferredLayoutSize is testing preferredLayoutSize
-	 * @see CH.ifa.draw.util.PaletteLayout#preferredLayoutSize(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method preferredLayoutSize()
-	public void testPreferredLayoutSize() throws Exception {
-		// JUnitDoclet begin method preferredLayoutSize
-		// JUnitDoclet end method preferredLayoutSize
-	}
-
-	// JUnitDoclet begin javadoc_method minimumLayoutSize()
-	/**
-	 * Method testMinimumLayoutSize is testing minimumLayoutSize
-	 * @see CH.ifa.draw.util.PaletteLayout#minimumLayoutSize(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method minimumLayoutSize()
-	public void testMinimumLayoutSize() throws Exception {
-		// JUnitDoclet begin method minimumLayoutSize
-		// JUnitDoclet end method minimumLayoutSize
-	}
-
-	// JUnitDoclet begin javadoc_method layoutContainer()
-	/**
-	 * Method testLayoutContainer is testing layoutContainer
-	 * @see CH.ifa.draw.util.PaletteLayout#layoutContainer(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method layoutContainer()
-	public void testLayoutContainer() throws Exception {
-		// JUnitDoclet begin method layoutContainer
-		// JUnitDoclet end method layoutContainer
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/RedoCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/util/RedoCommandTest.java
deleted file mode 100644
index 7913327d7..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/RedoCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.RedoCommand;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase RedoCommandTest is generated by
- * JUnitDoclet to hold the tests for RedoCommand.
- * @see CH.ifa.draw.util.RedoCommand
- */
-// JUnitDoclet end javadoc_class
-public class RedoCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private RedoCommand redocommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor RedoCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public RedoCommandTest(String name) {
-		// JUnitDoclet begin method RedoCommandTest
-		super(name);
-		// JUnitDoclet end method RedoCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.RedoCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.RedoCommand("TestRedo", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		redocommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		redocommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.util.RedoCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.util.RedoCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/ReverseListEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/util/ReverseListEnumeratorTest.java
deleted file mode 100644
index 7bb4b929d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/ReverseListEnumeratorTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.ReverseListEnumerator;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ReverseListEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for ReverseListEnumerator.
- * @see CH.ifa.draw.util.ReverseListEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class ReverseListEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ReverseListEnumerator reverselistenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ReverseListEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ReverseListEnumeratorTest(String name) {
-		// JUnitDoclet begin method ReverseListEnumeratorTest
-		super(name);
-		// JUnitDoclet end method ReverseListEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.ReverseListEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l = CollectionsFactory.current().createList();
-		l.add("TestString1");
-		l.add("TestString2");
-		return new CH.ifa.draw.util.ReverseListEnumerator(l);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		reverselistenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		reverselistenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNext()
-	/**
-	 * Method testHasNext is testing hasNext
-	 * @see CH.ifa.draw.util.ReverseListEnumerator#hasNext()
-	 */
-	// JUnitDoclet end javadoc_method hasNext()
-	public void testHasNext() throws Exception {
-		// JUnitDoclet begin method hasNext
-		// JUnitDoclet end method hasNext
-	}
-
-	// JUnitDoclet begin javadoc_method next()
-	/**
-	 * Method testNext is testing next
-	 * @see CH.ifa.draw.util.ReverseListEnumerator#next()
-	 */
-	// JUnitDoclet end javadoc_method next()
-	public void testNext() throws Exception {
-		// JUnitDoclet begin method next
-		// JUnitDoclet end method next
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.util.ReverseListEnumerator#remove()
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/SerializationStorageFormatTest.java b/JHotDraw/src/CH/ifa/draw/test/util/SerializationStorageFormatTest.java
deleted file mode 100644
index 9cae000db..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/SerializationStorageFormatTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.SerializationStorageFormat;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SerializationStorageFormatTest is generated by
- * JUnitDoclet to hold the tests for SerializationStorageFormat.
- * @see CH.ifa.draw.util.SerializationStorageFormat
- */
-// JUnitDoclet end javadoc_class
-public class SerializationStorageFormatTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SerializationStorageFormat serializationstorageformat;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SerializationStorageFormatTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SerializationStorageFormatTest(String name) {
-		// JUnitDoclet begin method SerializationStorageFormatTest
-		super(name);
-		// JUnitDoclet end method SerializationStorageFormatTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.SerializationStorageFormat createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.SerializationStorageFormat();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		serializationstorageformat = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		serializationstorageformat = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createFileDescription()
-	/**
-	 * Method testCreateFileDescription is testing createFileDescription
-	 * @see CH.ifa.draw.util.SerializationStorageFormat#createFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method createFileDescription()
-	public void testCreateFileDescription() throws Exception {
-		// JUnitDoclet begin method createFileDescription
-		// JUnitDoclet end method createFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method store()
-	/**
-	 * Method testStore is testing store
-	 * @see CH.ifa.draw.util.SerializationStorageFormat#store(java.lang.String, CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method store()
-	public void testStore() throws Exception {
-		// JUnitDoclet begin method store
-		// JUnitDoclet end method store
-	}
-
-	// JUnitDoclet begin javadoc_method restore()
-	/**
-	 * Method testRestore is testing restore
-	 * @see CH.ifa.draw.util.SerializationStorageFormat#restore(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method restore()
-	public void testRestore() throws Exception {
-		// JUnitDoclet begin method restore
-		// JUnitDoclet end method restore
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/StandardStorageFormatTest.java b/JHotDraw/src/CH/ifa/draw/test/util/StandardStorageFormatTest.java
deleted file mode 100644
index 591141cdb..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/StandardStorageFormatTest.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.StandardStorageFormat;
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardStorageFormatTest is generated by
- * JUnitDoclet to hold the tests for StandardStorageFormat.
- * @see CH.ifa.draw.util.StandardStorageFormat
- */
-// JUnitDoclet end javadoc_class
-public class StandardStorageFormatTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardStorageFormat standardstorageformat;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardStorageFormatTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardStorageFormatTest(String name) {
-		// JUnitDoclet begin method StandardStorageFormatTest
-		super(name);
-		// JUnitDoclet end method StandardStorageFormatTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.StandardStorageFormat createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.StandardStorageFormat();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standardstorageformat = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standardstorageformat = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setFileExtension()
-	/**
-	 * Method testSetGetFileExtension is testing setFileExtension
-	 * and getFileExtension together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.StandardStorageFormat#setFileExtension(java.lang.String)
-	 * @see CH.ifa.draw.util.StandardStorageFormat#getFileExtension()
-	 */
-	// JUnitDoclet end javadoc_method setFileExtension()
-	public void testSetGetFileExtension() throws Exception {
-		// JUnitDoclet begin method setFileExtension getFileExtension
-		java.lang.String[] tests = { "", " ", "a", "A", "�", "�", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standardstorageformat.setFileExtension(tests[i]);
-			assertEquals(tests[i], standardstorageformat.getFileExtension());
-		}
-		// JUnitDoclet end method setFileExtension getFileExtension
-	}
-
-	// JUnitDoclet begin javadoc_method createFileDescription()
-	/**
-	 * Method testCreateFileDescription is testing createFileDescription
-	 * @see CH.ifa.draw.util.StandardStorageFormat#createFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method createFileDescription()
-	public void testCreateFileDescription() throws Exception {
-		// JUnitDoclet begin method createFileDescription
-		// JUnitDoclet end method createFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method setFileDescription()
-	/**
-	 * Method testSetGetFileDescription is testing setFileDescription
-	 * and getFileDescription together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.StandardStorageFormat#setFileDescription(java.lang.String)
-	 * @see CH.ifa.draw.util.StandardStorageFormat#getFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method setFileDescription()
-	public void testSetGetFileDescription() throws Exception {
-		// JUnitDoclet begin method setFileDescription getFileDescription
-		java.lang.String[] tests = { "", " ", "a", "A", "�", "�", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standardstorageformat.setFileDescription(tests[i]);
-			assertEquals(tests[i], standardstorageformat.getFileDescription());
-		}
-		// JUnitDoclet end method setFileDescription getFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method setFileFilter()
-	/**
-	 * Method testSetGetFileFilter is testing setFileFilter
-	 * and getFileFilter together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.StandardStorageFormat#setFileFilter(javax.swing.filechooser.FileFilter)
-	 * @see CH.ifa.draw.util.StandardStorageFormat#getFileFilter()
-	 */
-	// JUnitDoclet end javadoc_method setFileFilter()
-	public void testSetGetFileFilter() throws Exception {
-		// JUnitDoclet begin method setFileFilter getFileFilter
-		javax.swing.filechooser.FileFilter[] tests = { null, null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standardstorageformat.setFileFilter(tests[i]);
-			assertEquals(tests[i], standardstorageformat.getFileFilter());
-		}
-		// JUnitDoclet end method setFileFilter getFileFilter
-	}
-
-	// JUnitDoclet begin javadoc_method store()
-	/**
-	 * Method testStore is testing store
-	 * @see CH.ifa.draw.util.StandardStorageFormat#store(java.lang.String, CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method store()
-	public void testStore() throws Exception {
-		// JUnitDoclet begin method store
-		// JUnitDoclet end method store
-	}
-
-	// JUnitDoclet begin javadoc_method restore()
-	/**
-	 * Method testRestore is testing restore
-	 * @see CH.ifa.draw.util.StandardStorageFormat#restore(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method restore()
-	public void testRestore() throws Exception {
-		// JUnitDoclet begin method restore
-		// JUnitDoclet end method restore
-	}
-
-	// JUnitDoclet begin javadoc_method equals()
-	/**
-	 * Method testEquals is testing equals
-	 * @see CH.ifa.draw.util.StandardStorageFormat#equals(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method equals()
-	public void testEquals() throws Exception {
-		// JUnitDoclet begin method equals
-		// JUnitDoclet end method equals
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/StandardVersionControlStrategyTest.java b/JHotDraw/src/CH/ifa/draw/test/util/StandardVersionControlStrategyTest.java
deleted file mode 100644
index 0352cfc34..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/StandardVersionControlStrategyTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.StandardVersionControlStrategy;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardVersionControlStrategyTest is generated by
- * JUnitDoclet to hold the tests for StandardVersionControlStrategy.
- * @see CH.ifa.draw.util.StandardVersionControlStrategy
- */
-// JUnitDoclet end javadoc_class
-public class StandardVersionControlStrategyTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardVersionControlStrategy standardversioncontrolstrategy;
-	// JUnitDoclet end class
-	/**
-	 * Constructor StandardVersionControlStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardVersionControlStrategyTest(String name) {
-		// JUnitDoclet begin method StandardVersionControlStrategyTest
-		super(name);
-		// JUnitDoclet end method StandardVersionControlStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.StandardVersionControlStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.StandardVersionControlStrategy(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standardversioncontrolstrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standardversioncontrolstrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method assertCompatibleVersion()
-	/**
-	 * Method testAssertCompatibleVersion is testing assertCompatibleVersion
-	 * @see CH.ifa.draw.util.StandardVersionControlStrategy#assertCompatibleVersion()
-	 */
-	// JUnitDoclet end javadoc_method assertCompatibleVersion()
-	public void testAssertCompatibleVersion() throws Exception {
-		// JUnitDoclet begin method assertCompatibleVersion
-		// JUnitDoclet end method assertCompatibleVersion
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/StorableInputTest.java b/JHotDraw/src/CH/ifa/draw/test/util/StorableInputTest.java
deleted file mode 100644
index 772b78e4f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/StorableInputTest.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.io.File;
-import java.io.FileInputStream;
-
-import CH.ifa.draw.util.StorableInput;
-
-// JUnitDoclet begin import
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StorableInputTest is generated by
- * JUnitDoclet to hold the tests for StorableInput.
- * @see CH.ifa.draw.util.StorableInput
- */
-// JUnitDoclet end javadoc_class
-public class StorableInputTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StorableInput storableinput;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StorableInputTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StorableInputTest(String name) {
-		// JUnitDoclet begin method StorableInputTest
-		super(name);
-		// JUnitDoclet end method StorableInputTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.StorableInput createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		File tempFile = File.createTempFile("StorableInputTest", "dat");
-		FileInputStream stream = new FileInputStream(tempFile);
-		tempFile.deleteOnExit();
-		return new CH.ifa.draw.util.StorableInput(stream);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		storableinput = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		storableinput = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method readStorable()
-	/**
-	 * Method testReadStorable is testing readStorable
-	 * @see CH.ifa.draw.util.StorableInput#readStorable()
-	 */
-	// JUnitDoclet end javadoc_method readStorable()
-	public void testReadStorable() throws Exception {
-		// JUnitDoclet begin method readStorable
-		// JUnitDoclet end method readStorable
-	}
-
-	// JUnitDoclet begin javadoc_method readString()
-	/**
-	 * Method testReadString is testing readString
-	 * @see CH.ifa.draw.util.StorableInput#readString()
-	 */
-	// JUnitDoclet end javadoc_method readString()
-	public void testReadString() throws Exception {
-		// JUnitDoclet begin method readString
-		// JUnitDoclet end method readString
-	}
-
-	// JUnitDoclet begin javadoc_method readInt()
-	/**
-	 * Method testReadInt is testing readInt
-	 * @see CH.ifa.draw.util.StorableInput#readInt()
-	 */
-	// JUnitDoclet end javadoc_method readInt()
-	public void testReadInt() throws Exception {
-		// JUnitDoclet begin method readInt
-		// JUnitDoclet end method readInt
-	}
-
-	// JUnitDoclet begin javadoc_method readLong()
-	/**
-	 * Method testReadLong is testing readLong
-	 * @see CH.ifa.draw.util.StorableInput#readLong()
-	 */
-	// JUnitDoclet end javadoc_method readLong()
-	public void testReadLong() throws Exception {
-		// JUnitDoclet begin method readLong
-		// JUnitDoclet end method readLong
-	}
-
-	// JUnitDoclet begin javadoc_method readColor()
-	/**
-	 * Method testReadColor is testing readColor
-	 * @see CH.ifa.draw.util.StorableInput#readColor()
-	 */
-	// JUnitDoclet end javadoc_method readColor()
-	public void testReadColor() throws Exception {
-		// JUnitDoclet begin method readColor
-		// JUnitDoclet end method readColor
-	}
-
-	// JUnitDoclet begin javadoc_method readDouble()
-	/**
-	 * Method testReadDouble is testing readDouble
-	 * @see CH.ifa.draw.util.StorableInput#readDouble()
-	 */
-	// JUnitDoclet end javadoc_method readDouble()
-	public void testReadDouble() throws Exception {
-		// JUnitDoclet begin method readDouble
-		// JUnitDoclet end method readDouble
-	}
-
-	// JUnitDoclet begin javadoc_method readBoolean()
-	/**
-	 * Method testReadBoolean is testing readBoolean
-	 * @see CH.ifa.draw.util.StorableInput#readBoolean()
-	 */
-	// JUnitDoclet end javadoc_method readBoolean()
-	public void testReadBoolean() throws Exception {
-		// JUnitDoclet begin method readBoolean
-		// JUnitDoclet end method readBoolean
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/StorableOutputTest.java b/JHotDraw/src/CH/ifa/draw/test/util/StorableOutputTest.java
deleted file mode 100644
index e80317dcd..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/StorableOutputTest.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.io.File;
-import java.io.FileOutputStream;
-
-import CH.ifa.draw.util.StorableOutput;
-
-// JUnitDoclet begin import
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StorableOutputTest is generated by
- * JUnitDoclet to hold the tests for StorableOutput.
- * @see CH.ifa.draw.util.StorableOutput
- */
-// JUnitDoclet end javadoc_class
-public class StorableOutputTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StorableOutput storableoutput;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StorableOutputTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StorableOutputTest(String name) {
-		// JUnitDoclet begin method StorableOutputTest
-		super(name);
-		// JUnitDoclet end method StorableOutputTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.StorableOutput createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		File tempFile = File.createTempFile("StorableOutputTest", "dat");
-		FileOutputStream stream = new FileOutputStream(tempFile);
-		tempFile.deleteOnExit();
-		return new CH.ifa.draw.util.StorableOutput(stream);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		storableoutput = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		storableoutput = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method writeStorable()
-	/**
-	 * Method testWriteStorable is testing writeStorable
-	 * @see CH.ifa.draw.util.StorableOutput#writeStorable(CH.ifa.draw.util.Storable)
-	 */
-	// JUnitDoclet end javadoc_method writeStorable()
-	public void testWriteStorable() throws Exception {
-		// JUnitDoclet begin method writeStorable
-		// JUnitDoclet end method writeStorable
-	}
-
-	// JUnitDoclet begin javadoc_method writeInt()
-	/**
-	 * Method testWriteInt is testing writeInt
-	 * @see CH.ifa.draw.util.StorableOutput#writeInt(int)
-	 */
-	// JUnitDoclet end javadoc_method writeInt()
-	public void testWriteInt() throws Exception {
-		// JUnitDoclet begin method writeInt
-		// JUnitDoclet end method writeInt
-	}
-
-	// JUnitDoclet begin javadoc_method writeLong()
-	/**
-	 * Method testWriteLong is testing writeLong
-	 * @see CH.ifa.draw.util.StorableOutput#writeLong(long)
-	 */
-	// JUnitDoclet end javadoc_method writeLong()
-	public void testWriteLong() throws Exception {
-		// JUnitDoclet begin method writeLong
-		// JUnitDoclet end method writeLong
-	}
-
-	// JUnitDoclet begin javadoc_method writeColor()
-	/**
-	 * Method testWriteColor is testing writeColor
-	 * @see CH.ifa.draw.util.StorableOutput#writeColor(java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method writeColor()
-	public void testWriteColor() throws Exception {
-		// JUnitDoclet begin method writeColor
-		// JUnitDoclet end method writeColor
-	}
-
-	// JUnitDoclet begin javadoc_method writeDouble()
-	/**
-	 * Method testWriteDouble is testing writeDouble
-	 * @see CH.ifa.draw.util.StorableOutput#writeDouble(double)
-	 */
-	// JUnitDoclet end javadoc_method writeDouble()
-	public void testWriteDouble() throws Exception {
-		// JUnitDoclet begin method writeDouble
-		// JUnitDoclet end method writeDouble
-	}
-
-	// JUnitDoclet begin javadoc_method writeBoolean()
-	/**
-	 * Method testWriteBoolean is testing writeBoolean
-	 * @see CH.ifa.draw.util.StorableOutput#writeBoolean(boolean)
-	 */
-	// JUnitDoclet end javadoc_method writeBoolean()
-	public void testWriteBoolean() throws Exception {
-		// JUnitDoclet begin method writeBoolean
-		// JUnitDoclet end method writeBoolean
-	}
-
-	// JUnitDoclet begin javadoc_method writeString()
-	/**
-	 * Method testWriteString is testing writeString
-	 * @see CH.ifa.draw.util.StorableOutput#writeString(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method writeString()
-	public void testWriteString() throws Exception {
-		// JUnitDoclet begin method writeString
-		// JUnitDoclet end method writeString
-	}
-
-	// JUnitDoclet begin javadoc_method close()
-	/**
-	 * Method testClose is testing close
-	 * @see CH.ifa.draw.util.StorableOutput#close()
-	 */
-	// JUnitDoclet end javadoc_method close()
-	public void testClose() throws Exception {
-		// JUnitDoclet begin method close
-		// JUnitDoclet end method close
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/StorageFormatManagerTest.java b/JHotDraw/src/CH/ifa/draw/test/util/StorageFormatManagerTest.java
deleted file mode 100644
index f692f587f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/StorageFormatManagerTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.StandardStorageFormat;
-import CH.ifa.draw.util.StorageFormatManager;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StorageFormatManagerTest is generated by
- * JUnitDoclet to hold the tests for StorageFormatManager.
- * @see CH.ifa.draw.util.StorageFormatManager
- */
-// JUnitDoclet end javadoc_class
-public class StorageFormatManagerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StorageFormatManager storageformatmanager;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StorageFormatManagerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StorageFormatManagerTest(String name) {
-		// JUnitDoclet begin method StorageFormatManagerTest
-		super(name);
-		// JUnitDoclet end method StorageFormatManagerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.StorageFormatManager createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.StorageFormatManager();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		storageformatmanager = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		storageformatmanager = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addStorageFormat()
-	/**
-	 * Method testAddStorageFormat is testing addStorageFormat
-	 * @see CH.ifa.draw.util.StorageFormatManager#addStorageFormat(CH.ifa.draw.util.StorageFormat)
-	 */
-	// JUnitDoclet end javadoc_method addStorageFormat()
-	public void testAddStorageFormat() throws Exception {
-		// JUnitDoclet begin method addStorageFormat
-		// JUnitDoclet end method addStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method removeStorageFormat()
-	/**
-	 * Method testRemoveStorageFormat is testing removeStorageFormat
-	 * @see CH.ifa.draw.util.StorageFormatManager#removeStorageFormat(CH.ifa.draw.util.StorageFormat)
-	 */
-	// JUnitDoclet end javadoc_method removeStorageFormat()
-	public void testRemoveStorageFormat() throws Exception {
-		// JUnitDoclet begin method removeStorageFormat
-		// JUnitDoclet end method removeStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method containsStorageFormat()
-	/**
-	 * Method testContainsStorageFormat is testing containsStorageFormat
-	 * @see CH.ifa.draw.util.StorageFormatManager#containsStorageFormat(CH.ifa.draw.util.StorageFormat)
-	 */
-	// JUnitDoclet end javadoc_method containsStorageFormat()
-	public void testContainsStorageFormat() throws Exception {
-		// JUnitDoclet begin method containsStorageFormat
-		// JUnitDoclet end method containsStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method setDefaultStorageFormat()
-	/**
-	 * Method testSetGetDefaultStorageFormat is testing setDefaultStorageFormat
-	 * and getDefaultStorageFormat together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.StorageFormatManager#setDefaultStorageFormat(CH.ifa.draw.util.StorageFormat)
-	 * @see CH.ifa.draw.util.StorageFormatManager#getDefaultStorageFormat()
-	 */
-	// JUnitDoclet end javadoc_method setDefaultStorageFormat()
-	public void testSetGetDefaultStorageFormat() throws Exception {
-		// JUnitDoclet begin method setDefaultStorageFormat getDefaultStorageFormat
-		CH.ifa.draw.util.StorageFormat[] tests = { new StandardStorageFormat(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			storageformatmanager.setDefaultStorageFormat(tests[i]);
-			assertEquals(tests[i], storageformatmanager.getDefaultStorageFormat());
-		}
-		// JUnitDoclet end method setDefaultStorageFormat getDefaultStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method registerFileFilters()
-	/**
-	 * Method testRegisterFileFilters is testing registerFileFilters
-	 * @see CH.ifa.draw.util.StorageFormatManager#registerFileFilters(javax.swing.JFileChooser)
-	 */
-	// JUnitDoclet end javadoc_method registerFileFilters()
-	public void testRegisterFileFilters() throws Exception {
-		// JUnitDoclet begin method registerFileFilters
-		// JUnitDoclet end method registerFileFilters
-	}
-
-	// JUnitDoclet begin javadoc_method findStorageFormat()
-	/**
-	 * Method testFindStorageFormat is testing findStorageFormat
-	 * @see CH.ifa.draw.util.StorageFormatManager#findStorageFormat(javax.swing.filechooser.FileFilter)
-	 */
-	// JUnitDoclet end javadoc_method findStorageFormat()
-	public void testFindStorageFormat() throws Exception {
-		// JUnitDoclet begin method findStorageFormat
-		// JUnitDoclet end method findStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoCommandTest.java
deleted file mode 100644
index 70e41ccc5..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.UndoCommand;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoCommandTest is generated by
- * JUnitDoclet to hold the tests for UndoCommand.
- * @see CH.ifa.draw.util.UndoCommand
- */
-// JUnitDoclet end javadoc_class
-public class UndoCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoCommand undocommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoCommandTest(String name) {
-		// JUnitDoclet begin method UndoCommandTest
-		super(name);
-		// JUnitDoclet end method UndoCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.UndoCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.UndoCommand("TestUndo", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undocommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undocommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.util.UndoCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.util.UndoCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoManagerTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoManagerTest.java
deleted file mode 100644
index e165cea14..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoManagerTest.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.UndoManager;
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoManagerTest is generated by
- * JUnitDoclet to hold the tests for UndoManager.
- * @see CH.ifa.draw.util.UndoManager
- */
-// JUnitDoclet end javadoc_class
-public class UndoManagerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoManager undomanager;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoManagerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoManagerTest(String name) {
-		// JUnitDoclet begin method UndoManagerTest
-		super(name);
-		// JUnitDoclet end method UndoManagerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.UndoManager createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.UndoManager();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undomanager = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undomanager = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method pushUndo()
-	/**
-	 * Method testPushUndo is testing pushUndo
-	 * @see CH.ifa.draw.util.UndoManager#pushUndo(CH.ifa.draw.util.Undoable)
-	 */
-	// JUnitDoclet end javadoc_method pushUndo()
-	public void testPushUndo() throws Exception {
-		// JUnitDoclet begin method pushUndo
-		// JUnitDoclet end method pushUndo
-	}
-
-	// JUnitDoclet begin javadoc_method pushRedo()
-	/**
-	 * Method testPushRedo is testing pushRedo
-	 * @see CH.ifa.draw.util.UndoManager#pushRedo(CH.ifa.draw.util.Undoable)
-	 */
-	// JUnitDoclet end javadoc_method pushRedo()
-	public void testPushRedo() throws Exception {
-		// JUnitDoclet begin method pushRedo
-		// JUnitDoclet end method pushRedo
-	}
-
-	// JUnitDoclet begin javadoc_method isUndoable()
-	/**
-	 * Method testIsUndoable is testing isUndoable
-	 * @see CH.ifa.draw.util.UndoManager#isUndoable()
-	 */
-	// JUnitDoclet end javadoc_method isUndoable()
-	public void testIsUndoable() throws Exception {
-		// JUnitDoclet begin method isUndoable
-		// JUnitDoclet end method isUndoable
-	}
-
-	// JUnitDoclet begin javadoc_method isRedoable()
-	/**
-	 * Method testIsRedoable is testing isRedoable
-	 * @see CH.ifa.draw.util.UndoManager#isRedoable()
-	 */
-	// JUnitDoclet end javadoc_method isRedoable()
-	public void testIsRedoable() throws Exception {
-		// JUnitDoclet begin method isRedoable
-		// JUnitDoclet end method isRedoable
-	}
-
-	// JUnitDoclet begin javadoc_method getUndoSize()
-	/**
-	 * Method testGetUndoSize is testing getUndoSize
-	 * @see CH.ifa.draw.util.UndoManager#getUndoSize()
-	 */
-	// JUnitDoclet end javadoc_method getUndoSize()
-	public void testGetUndoSize() throws Exception {
-		// JUnitDoclet begin method getUndoSize
-		// JUnitDoclet end method getUndoSize
-	}
-
-	// JUnitDoclet begin javadoc_method getRedoSize()
-	/**
-	 * Method testGetRedoSize is testing getRedoSize
-	 * @see CH.ifa.draw.util.UndoManager#getRedoSize()
-	 */
-	// JUnitDoclet end javadoc_method getRedoSize()
-	public void testGetRedoSize() throws Exception {
-		// JUnitDoclet begin method getRedoSize
-		// JUnitDoclet end method getRedoSize
-	}
-
-	// JUnitDoclet begin javadoc_method popUndo()
-	/**
-	 * Method testPopUndo is testing popUndo
-	 * @see CH.ifa.draw.util.UndoManager#popUndo()
-	 */
-	// JUnitDoclet end javadoc_method popUndo()
-	public void testPopUndo() throws Exception {
-		// JUnitDoclet begin method popUndo
-		// JUnitDoclet end method popUndo
-	}
-
-	// JUnitDoclet begin javadoc_method popRedo()
-	/**
-	 * Method testPopRedo is testing popRedo
-	 * @see CH.ifa.draw.util.UndoManager#popRedo()
-	 */
-	// JUnitDoclet end javadoc_method popRedo()
-	public void testPopRedo() throws Exception {
-		// JUnitDoclet begin method popRedo
-		// JUnitDoclet end method popRedo
-	}
-
-	// JUnitDoclet begin javadoc_method clearUndos()
-	/**
-	 * Method testClearUndos is testing clearUndos
-	 * @see CH.ifa.draw.util.UndoManager#clearUndos()
-	 */
-	// JUnitDoclet end javadoc_method clearUndos()
-	public void testClearUndos() throws Exception {
-		// JUnitDoclet begin method clearUndos
-		// JUnitDoclet end method clearUndos
-	}
-
-	// JUnitDoclet begin javadoc_method clearRedos()
-	/**
-	 * Method testClearRedos is testing clearRedos
-	 * @see CH.ifa.draw.util.UndoManager#clearRedos()
-	 */
-	// JUnitDoclet end javadoc_method clearRedos()
-	public void testClearRedos() throws Exception {
-		// JUnitDoclet begin method clearRedos
-		// JUnitDoclet end method clearRedos
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoRedoActivityTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoRedoActivityTest.java
deleted file mode 100644
index 9faabc515..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoRedoActivityTest.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.awt.Point;
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.standard.PasteCommand;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.UndoRedoActivity;
-import CH.ifa.draw.util.Undoable;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoRedoActivityTest is generated by
- * JUnitDoclet to hold the tests for UndoRedoActivity.
- * @see CH.ifa.draw.util.UndoRedoActivity
- */
-// JUnitDoclet end javadoc_class
-public class UndoRedoActivityTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoRedoActivity undoredoactivity;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoRedoActivityTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoRedoActivityTest(String name) {
-		// JUnitDoclet begin method UndoRedoActivityTest
-		super(name);
-		// JUnitDoclet end method UndoRedoActivityTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.UndoRedoActivity createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Undoable undoActivity = new PasteCommand.UndoActivity(getDrawingEditor().view());
-		undoActivity.setAffectedFigures(new SingleFigureEnumerator(new RectangleFigure(new Point(33, 33), new Point(44, 44))));
-		return (UndoRedoActivity)UndoRedoActivity.createUndoRedoActivity(undoActivity);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoredoactivity = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoredoactivity = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method undo()
-	/**
-	 * Method testUndo is testing undo
-	 * @see CH.ifa.draw.util.UndoRedoActivity#undo()
-	 */
-	// JUnitDoclet end javadoc_method undo()
-	public void testUndo() throws Exception {
-		// JUnitDoclet begin method undo
-		// JUnitDoclet end method undo
-	}
-
-	// JUnitDoclet begin javadoc_method redo()
-	/**
-	 * Method testRedo is testing redo
-	 * @see CH.ifa.draw.util.UndoRedoActivity#redo()
-	 */
-	// JUnitDoclet end javadoc_method redo()
-	public void testRedo() throws Exception {
-		// JUnitDoclet begin method redo
-		// JUnitDoclet end method redo
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoable()
-	/**
-	 * Method testSetIsUndoable is testing setUndoable
-	 * and isUndoable together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoRedoActivity#setUndoable(boolean)
-	 * @see CH.ifa.draw.util.UndoRedoActivity#isUndoable()
-	 */
-	// JUnitDoclet end javadoc_method setUndoable()
-	public void testSetIsUndoable() throws Exception {
-		// JUnitDoclet begin method setUndoable isUndoable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoredoactivity.setUndoable(tests[i]);
-			assertEquals(tests[i], undoredoactivity.isUndoable());
-		}
-		// JUnitDoclet end method setUndoable isUndoable
-	}
-
-	// JUnitDoclet begin javadoc_method setRedoable()
-	/**
-	 * Method testSetIsRedoable is testing setRedoable
-	 * and isRedoable together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoRedoActivity#setRedoable(boolean)
-	 * @see CH.ifa.draw.util.UndoRedoActivity#isRedoable()
-	 */
-	// JUnitDoclet end javadoc_method setRedoable()
-	public void testSetIsRedoable() throws Exception {
-		// JUnitDoclet begin method setRedoable isRedoable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoredoactivity.setRedoable(tests[i]);
-			assertEquals(tests[i], undoredoactivity.isRedoable());
-		}
-		// JUnitDoclet end method setRedoable isRedoable
-	}
-
-	// JUnitDoclet begin javadoc_method setAffectedFigures()
-	/**
-	 * Method testSetGetAffectedFigures is testing setAffectedFigures
-	 * and getAffectedFigures together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoRedoActivity#setAffectedFigures(CH.ifa.draw.framework.FigureEnumeration)
-	 * @see CH.ifa.draw.util.UndoRedoActivity#getAffectedFigures()
-	 */
-	// JUnitDoclet end javadoc_method setAffectedFigures()
-	public void testSetGetAffectedFigures() throws Exception {
-		// JUnitDoclet begin method setAffectedFigures getAffectedFigures
-		FigureEnumeration[] tests = { new SingleFigureEnumerator(new RectangleFigure(new Point(44, 44), new Point(55, 55)))};
-
-		for (int i = 0; i < tests.length; i++) {
-			undoredoactivity.setAffectedFigures(tests[i]);
-			FigureEnumeration returned = undoredoactivity.getAffectedFigures();
-			tests[i].reset();
-			while (returned.hasNextFigure()) {
-				assertTrue(tests[i].hasNextFigure());
-				assertEquals(tests[i].nextFigure(), returned.nextFigure());
-			}
-			assertFalse(tests[i].hasNextFigure());
-		}
-		// JUnitDoclet end method setAffectedFigures getAffectedFigures
-	}
-
-	// JUnitDoclet begin method testSetNullAffectedFigures()
-	/**
-	  * Test a null argument to setAffectedFigures.  Expect an IllegalArgumentException
-	  * 
-	  * @see CH.ifa.draw.util.UndoRedoActivity#setAffectedFigures(CH.ifa.draw.framework.PointConstrainer)
-	  */
-	public void testSetNullAffectedFigures() throws Exception {
-		FigureEnumeration original = undoredoactivity.getAffectedFigures();
-
-		try {
-			undoredoactivity.setAffectedFigures(null);
-			fail("IllegalArgumentException expected");
-		}
-		catch (IllegalArgumentException ok) {
-		}
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method getAffectedFiguresCount()
-	/**
-	 * Method testGetAffectedFiguresCount is testing getAffectedFiguresCount
-	 * @see CH.ifa.draw.util.UndoRedoActivity#getAffectedFiguresCount()
-	 */
-	// JUnitDoclet end javadoc_method getAffectedFiguresCount()
-	public void testGetAffectedFiguresCount() throws Exception {
-		// JUnitDoclet begin method getAffectedFiguresCount
-		// JUnitDoclet end method getAffectedFiguresCount
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingView()
-	/**
-	 * Method testGetDrawingView is testing getDrawingView
-	 * @see CH.ifa.draw.util.UndoRedoActivity#getDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getDrawingView()
-	public void testGetDrawingView() throws Exception {
-		// JUnitDoclet begin method getDrawingView
-		// JUnitDoclet end method getDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see CH.ifa.draw.util.UndoRedoActivity#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method getReversedActivity()
-	/**
-	 * Method testGetReversedActivity is testing getReversedActivity
-	 * @see CH.ifa.draw.util.UndoRedoActivity#getReversedActivity()
-	 */
-	// JUnitDoclet end javadoc_method getReversedActivity()
-	public void testGetReversedActivity() throws Exception {
-		// JUnitDoclet begin method getReversedActivity
-		// JUnitDoclet end method getReversedActivity
-	}
-
-	// JUnitDoclet begin javadoc_method createUndoRedoActivity()
-	/**
-	 * Method testCreateUndoRedoActivity is testing createUndoRedoActivity
-	 * @see CH.ifa.draw.util.UndoRedoActivity#createUndoRedoActivity(CH.ifa.draw.util.Undoable)
-	 */
-	// JUnitDoclet end javadoc_method createUndoRedoActivity()
-	public void testCreateUndoRedoActivity() throws Exception {
-		// JUnitDoclet begin method createUndoRedoActivity
-		// JUnitDoclet end method createUndoRedoActivity
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoableAdapterTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoableAdapterTest.java
deleted file mode 100644
index b91fcbb88..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoableAdapterTest.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.FigureEnumeration;
-
-import java.awt.*;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoableAdapterTest is generated by
- * JUnitDoclet to hold the tests for UndoableAdapter.
- * @see CH.ifa.draw.util.UndoableAdapter
- */
-// JUnitDoclet end javadoc_class
-public class UndoableAdapterTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoableAdapter undoableadapter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoableAdapterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoableAdapterTest(String name) {
-		// JUnitDoclet begin method UndoableAdapterTest
-		super(name);
-		// JUnitDoclet end method UndoableAdapterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.UndoableAdapter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.UndoableAdapter(getDrawingEditor().view());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoableadapter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoableadapter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method undo()
-	/**
-	 * Method testUndo is testing undo
-	 * @see CH.ifa.draw.util.UndoableAdapter#undo()
-	 */
-	// JUnitDoclet end javadoc_method undo()
-	public void testUndo() throws Exception {
-		// JUnitDoclet begin method undo
-		// JUnitDoclet end method undo
-	}
-
-	// JUnitDoclet begin javadoc_method redo()
-	/**
-	 * Method testRedo is testing redo
-	 * @see CH.ifa.draw.util.UndoableAdapter#redo()
-	 */
-	// JUnitDoclet end javadoc_method redo()
-	public void testRedo() throws Exception {
-		// JUnitDoclet begin method redo
-		// JUnitDoclet end method redo
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoable()
-	/**
-	 * Method testSetIsUndoable is testing setUndoable
-	 * and isUndoable together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableAdapter#setUndoable(boolean)
-	 * @see CH.ifa.draw.util.UndoableAdapter#isUndoable()
-	 */
-	// JUnitDoclet end javadoc_method setUndoable()
-	public void testSetIsUndoable() throws Exception {
-		// JUnitDoclet begin method setUndoable isUndoable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoableadapter.setUndoable(tests[i]);
-			assertEquals(tests[i], undoableadapter.isUndoable());
-		}
-		// JUnitDoclet end method setUndoable isUndoable
-	}
-
-	// JUnitDoclet begin javadoc_method setRedoable()
-	/**
-	 * Method testSetIsRedoable is testing setRedoable
-	 * and isRedoable together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableAdapter#setRedoable(boolean)
-	 * @see CH.ifa.draw.util.UndoableAdapter#isRedoable()
-	 */
-	// JUnitDoclet end javadoc_method setRedoable()
-	public void testSetIsRedoable() throws Exception {
-		// JUnitDoclet begin method setRedoable isRedoable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoableadapter.setRedoable(tests[i]);
-			assertEquals(tests[i], undoableadapter.isRedoable());
-		}
-		// JUnitDoclet end method setRedoable isRedoable
-	}
-
-	// JUnitDoclet begin javadoc_method setAffectedFigures()
-	/**
-	 * Method testSetGetAffectedFigures is testing setAffectedFigures
-	 * and getAffectedFigures together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableAdapter#setAffectedFigures(CH.ifa.draw.framework.FigureEnumeration)
-	 * @see CH.ifa.draw.util.UndoableAdapter#getAffectedFigures()
-	 */
-	// JUnitDoclet end javadoc_method setAffectedFigures()
-	public void testSetGetAffectedFigures() throws Exception {
-		// JUnitDoclet begin method setAffectedFigures getAffectedFigures
-		FigureEnumeration[] tests = { new SingleFigureEnumerator(new RectangleFigure(new Point(30, 30), new Point(60, 60)))};
-
-		for (int i = 0; i < tests.length; i++) {
-			undoableadapter.setAffectedFigures(tests[i]);
-			FigureEnumeration returned = undoableadapter.getAffectedFigures();
-			tests[i].reset();
-			while (returned.hasNextFigure()) {
-				assertTrue(tests[i].hasNextFigure());
-				assertEquals(tests[i].nextFigure(), returned.nextFigure());
-			}
-			assertFalse(tests[i].hasNextFigure());
-		}
-		// JUnitDoclet end method setAffectedFigures getAffectedFigures
-	}
-
-	// JUnitDoclet begin method testSetNullAffectedFigures()
-	/**
-		* Test a null argument to setAffectedFigures.  Expect an IllegalArgumentException
-		* 
-		* @see CH.ifa.draw.util.UndoRedoActivity#setAffectedFigures(CH.ifa.draw.framework.PointConstrainer)
-		*/
-	public void testSetNullAffectedFigures() throws Exception {
-		FigureEnumeration original = undoableadapter.getAffectedFigures();
-
-		try {
-			undoableadapter.setAffectedFigures(null);
-			fail("IllegalArgumentException expected");
-		}
-		catch (IllegalArgumentException ok) {
-		}
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method getAffectedFiguresCount()
-	/**
-	 * Method testGetAffectedFiguresCount is testing getAffectedFiguresCount
-	 * @see CH.ifa.draw.util.UndoableAdapter#getAffectedFiguresCount()
-	 */
-	// JUnitDoclet end javadoc_method getAffectedFiguresCount()
-	public void testGetAffectedFiguresCount() throws Exception {
-		// JUnitDoclet begin method getAffectedFiguresCount
-		// JUnitDoclet end method getAffectedFiguresCount
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see CH.ifa.draw.util.UndoableAdapter#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingView()
-	/**
-	 * Method testGetDrawingView is testing getDrawingView
-	 * @see CH.ifa.draw.util.UndoableAdapter#getDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getDrawingView()
-	public void testGetDrawingView() throws Exception {
-		// JUnitDoclet begin method getDrawingView
-		// JUnitDoclet end method getDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoableCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoableCommandTest.java
deleted file mode 100644
index b0d213ab0..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoableCommandTest.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.DeleteCommand;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.UndoableCommand;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoableCommandTest is generated by
- * JUnitDoclet to hold the tests for UndoableCommand.
- * @see CH.ifa.draw.util.UndoableCommand
- */
-// JUnitDoclet end javadoc_class
-public class UndoableCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoableCommand undoablecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoableCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoableCommandTest(String name) {
-		// JUnitDoclet begin method UndoableCommandTest
-		super(name);
-		// JUnitDoclet end method UndoableCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.UndoableCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.UndoableCommand(new DeleteCommand("Delete", getDrawingEditor()));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoablecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoablecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.util.UndoableCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutable()
-	/**
-	 * Method testIsExecutable is testing isExecutable
-	 * @see CH.ifa.draw.util.UndoableCommand#isExecutable()
-	 */
-	// JUnitDoclet end javadoc_method isExecutable()
-	public void testIsExecutable() throws Exception {
-		// JUnitDoclet begin method isExecutable
-		// JUnitDoclet end method isExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method name()
-	/**
-	 * Method testName is testing name
-	 * @see CH.ifa.draw.util.UndoableCommand#name()
-	 */
-	// JUnitDoclet end javadoc_method name()
-	public void testName() throws Exception {
-		// JUnitDoclet begin method name
-		// JUnitDoclet end method name
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingEditor()
-	/**
-	 * Method testGetDrawingEditor is testing getDrawingEditor
-	 * @see CH.ifa.draw.util.UndoableCommand#getDrawingEditor()
-	 */
-	// JUnitDoclet end javadoc_method getDrawingEditor()
-	public void testGetDrawingEditor() throws Exception {
-		// JUnitDoclet begin method getDrawingEditor
-		// JUnitDoclet end method getDrawingEditor
-	}
-
-	// JUnitDoclet begin javadoc_method view()
-	/**
-	 * Method testView is testing view
-	 * @see CH.ifa.draw.util.UndoableCommand#view()
-	 */
-	// JUnitDoclet end javadoc_method view()
-	public void testView() throws Exception {
-		// JUnitDoclet begin method view
-		// JUnitDoclet end method view
-	}
-
-	// JUnitDoclet begin javadoc_method figureSelectionChanged()
-	/**
-	 * Method testFigureSelectionChanged is testing figureSelectionChanged
-	 * @see CH.ifa.draw.util.UndoableCommand#figureSelectionChanged(CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method figureSelectionChanged()
-	public void testFigureSelectionChanged() throws Exception {
-		// JUnitDoclet begin method figureSelectionChanged
-		// JUnitDoclet end method figureSelectionChanged
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoActivity()
-	/**
-	 * Method testSetGetUndoActivity is testing setUndoActivity
-	 * and getUndoActivity together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableCommand#setUndoActivity(CH.ifa.draw.util.Undoable)
-	 * @see CH.ifa.draw.util.UndoableCommand#getUndoActivity()
-	 */
-	// JUnitDoclet end javadoc_method setUndoActivity()
-	public void testSetGetUndoActivity() throws Exception {
-		// JUnitDoclet begin method setUndoActivity getUndoActivity
-		// Do nothing: UndoCommand.setUndoActivity() is a no-op
-		// JUnitDoclet end method setUndoActivity getUndoActivity
-	}
-
-	// JUnitDoclet begin javadoc_method addCommandListener()
-	/**
-	 * Method testAddCommandListener is testing addCommandListener
-	 * @see CH.ifa.draw.util.UndoableCommand#addCommandListener(CH.ifa.draw.util.CommandListener)
-	 */
-	// JUnitDoclet end javadoc_method addCommandListener()
-	public void testAddCommandListener() throws Exception {
-		// JUnitDoclet begin method addCommandListener
-		// JUnitDoclet end method addCommandListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeCommandListener()
-	/**
-	 * Method testRemoveCommandListener is testing removeCommandListener
-	 * @see CH.ifa.draw.util.UndoableCommand#removeCommandListener(CH.ifa.draw.util.CommandListener)
-	 */
-	// JUnitDoclet end javadoc_method removeCommandListener()
-	public void testRemoveCommandListener() throws Exception {
-		// JUnitDoclet begin method removeCommandListener
-		// JUnitDoclet end method removeCommandListener
-	}
-
-	// JUnitDoclet begin javadoc_method createEventDispatcher()
-	/**
-	 * Method testCreateEventDispatcher is testing createEventDispatcher
-	 * @see CH.ifa.draw.util.UndoableCommand#createEventDispatcher()
-	 */
-	// JUnitDoclet end javadoc_method createEventDispatcher()
-	public void testCreateEventDispatcher() throws Exception {
-		// JUnitDoclet begin method createEventDispatcher
-		// JUnitDoclet end method createEventDispatcher
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecuted()
-	/**
-	 * Method testCommandExecuted is testing commandExecuted
-	 * @see CH.ifa.draw.util.UndoableCommand#commandExecuted(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecuted()
-	public void testCommandExecuted() throws Exception {
-		// JUnitDoclet begin method commandExecuted
-		// JUnitDoclet end method commandExecuted
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecutable()
-	/**
-	 * Method testCommandExecutable is testing commandExecutable
-	 * @see CH.ifa.draw.util.UndoableCommand#commandExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecutable()
-	public void testCommandExecutable() throws Exception {
-		// JUnitDoclet begin method commandExecutable
-		// JUnitDoclet end method commandExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method commandNotExecutable()
-	/**
-	 * Method testCommandNotExecutable is testing commandNotExecutable
-	 * @see CH.ifa.draw.util.UndoableCommand#commandNotExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandNotExecutable()
-	public void testCommandNotExecutable() throws Exception {
-		// JUnitDoclet begin method commandNotExecutable
-		// JUnitDoclet end method commandNotExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoableHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoableHandleTest.java
deleted file mode 100644
index fae47d73f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoableHandleTest.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.BoxHandleKit;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.UndoableHandle;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoableHandleTest is generated by
- * JUnitDoclet to hold the tests for UndoableHandle.
- * @see CH.ifa.draw.util.UndoableHandle
- */
-// JUnitDoclet end javadoc_class
-public class UndoableHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoableHandle undoablehandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoableHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoableHandleTest(String name) {
-		// JUnitDoclet begin method UndoableHandleTest
-		super(name);
-		// JUnitDoclet end method UndoableHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public UndoableHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new UndoableHandle(BoxHandleKit.south(new RectangleFigure(new Point(44, 44), new Point(88, 88))));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoablehandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoablehandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.util.UndoableHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see CH.ifa.draw.util.UndoableHandle#invokeStart(int, int, CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see CH.ifa.draw.util.UndoableHandle#invokeStep(int, int, CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see CH.ifa.draw.util.UndoableHandle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method owner()
-	/**
-	 * Method testOwner is testing owner
-	 * @see CH.ifa.draw.util.UndoableHandle#owner()
-	 */
-	// JUnitDoclet end javadoc_method owner()
-	public void testOwner() throws Exception {
-		// JUnitDoclet begin method owner
-		// JUnitDoclet end method owner
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.util.UndoableHandle#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.util.UndoableHandle#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.util.UndoableHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingView()
-	/**
-	 * Method testGetDrawingView is testing getDrawingView
-	 * @see CH.ifa.draw.util.UndoableHandle#getDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getDrawingView()
-	public void testGetDrawingView() throws Exception {
-		// JUnitDoclet begin method getDrawingView
-		// JUnitDoclet end method getDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoActivity()
-	/**
-	 * Method testSetGetUndoActivity is testing setUndoActivity
-	 * and getUndoActivity together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableHandle#setUndoActivity(CH.ifa.draw.util.Undoable)
-	 * @see CH.ifa.draw.util.UndoableHandle#getUndoActivity()
-	 */
-	// JUnitDoclet end javadoc_method setUndoActivity()
-	public void testSetGetUndoActivity() throws Exception {
-		// JUnitDoclet begin method setUndoActivity getUndoActivity
-		// Do nothing: UndoableHandle.setUndoActivity() is a no-op.
-		// JUnitDoclet end method setUndoActivity getUndoActivity
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoableToolTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoableToolTest.java
deleted file mode 100644
index 2f2a79259..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoableToolTest.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.DiamondFigure;
-import CH.ifa.draw.standard.CreationTool;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.UndoableTool;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoableToolTest is generated by
- * JUnitDoclet to hold the tests for UndoableTool.
- * @see CH.ifa.draw.util.UndoableTool
- */
-// JUnitDoclet end javadoc_class
-public class UndoableToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoableTool undoabletool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoableToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoableToolTest(String name) {
-		// JUnitDoclet begin method UndoableToolTest
-		super(name);
-		// JUnitDoclet end method UndoableToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.UndoableTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.UndoableTool(new UndoableTool(new CreationTool(getDrawingEditor(), new DiamondFigure())));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoabletool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoabletool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.util.UndoableTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.util.UndoableTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.util.UndoableTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.util.UndoableTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.util.UndoableTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.util.UndoableTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method keyDown()
-	/**
-	 * Method testKeyDown is testing keyDown
-	 * @see CH.ifa.draw.util.UndoableTool#keyDown(java.awt.event.KeyEvent, int)
-	 */
-	// JUnitDoclet end javadoc_method keyDown()
-	public void testKeyDown() throws Exception {
-		// JUnitDoclet begin method keyDown
-		// JUnitDoclet end method keyDown
-	}
-
-	// JUnitDoclet begin javadoc_method isActive()
-	/**
-	 * Method testIsActive is testing isActive
-	 * @see CH.ifa.draw.util.UndoableTool#isActive()
-	 */
-	// JUnitDoclet end javadoc_method isActive()
-	public void testIsActive() throws Exception {
-		// JUnitDoclet begin method isActive
-		// JUnitDoclet end method isActive
-	}
-
-	// JUnitDoclet begin javadoc_method setUsable()
-	/**
-	 * Method testSetIsUsable is testing setUsable
-	 * and isUsable together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableTool#setUsable(boolean)
-	 * @see CH.ifa.draw.util.UndoableTool#isUsable()
-	 */
-	// JUnitDoclet end javadoc_method setUsable()
-	public void testSetIsUsable() throws Exception {
-		// JUnitDoclet begin method setUsable isUsable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoabletool.setUsable(tests[i]);
-			assertEquals(tests[i], undoabletool.isUsable());
-		}
-		// JUnitDoclet end method setUsable isUsable
-	}
-
-	// JUnitDoclet begin javadoc_method setEnabled()
-	/**
-	 * Method testSetIsEnabled is testing setEnabled
-	 * and isEnabled together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableTool#setEnabled(boolean)
-	 * @see CH.ifa.draw.util.UndoableTool#isEnabled()
-	 */
-	// JUnitDoclet end javadoc_method setEnabled()
-	public void testSetIsEnabled() throws Exception {
-		// JUnitDoclet begin method setEnabled isEnabled
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoabletool.setEnabled(tests[i]);
-			assertEquals(tests[i], undoabletool.isEnabled());
-		}
-		// JUnitDoclet end method setEnabled isEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method editor()
-	/**
-	 * Method testEditor is testing editor
-	 * @see CH.ifa.draw.util.UndoableTool#editor()
-	 */
-	// JUnitDoclet end javadoc_method editor()
-	public void testEditor() throws Exception {
-		// JUnitDoclet begin method editor
-		// JUnitDoclet end method editor
-	}
-
-	// JUnitDoclet begin javadoc_method view()
-	/**
-	 * Method testView is testing view
-	 * @see CH.ifa.draw.util.UndoableTool#view()
-	 */
-	// JUnitDoclet end javadoc_method view()
-	public void testView() throws Exception {
-		// JUnitDoclet begin method view
-		// JUnitDoclet end method view
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoActivity()
-	/**
-	 * @see CH.ifa.draw.util.UndoableTool#setUndoActivity(CH.ifa.draw.util.Undoable)
-	 * @see CH.ifa.draw.util.UndoableTool#getUndoActivity()
-	 */
-	// JUnitDoclet end javadoc_method setUndoActivity()
-	public void testSetGetUndoActivity() throws Exception {
-		// JUnitDoclet begin method setUndoActivity getUndoActivity
-		// Do nothing: UndoableTool.setUndoActivity is a no-op
-		// JUnitDoclet end method setUndoActivity getUndoActivity
-	}
-
-	// JUnitDoclet begin javadoc_method toolUsable()
-	/**
-	 * Method testToolUsable is testing toolUsable
-	 * @see CH.ifa.draw.util.UndoableTool#toolUsable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolUsable()
-	public void testToolUsable() throws Exception {
-		// JUnitDoclet begin method toolUsable
-		// JUnitDoclet end method toolUsable
-	}
-
-	// JUnitDoclet begin javadoc_method toolUnusable()
-	/**
-	 * Method testToolUnusable is testing toolUnusable
-	 * @see CH.ifa.draw.util.UndoableTool#toolUnusable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolUnusable()
-	public void testToolUnusable() throws Exception {
-		// JUnitDoclet begin method toolUnusable
-		// JUnitDoclet end method toolUnusable
-	}
-
-	// JUnitDoclet begin javadoc_method toolActivated()
-	/**
-	 * Method testToolActivated is testing toolActivated
-	 * @see CH.ifa.draw.util.UndoableTool#toolActivated(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolActivated()
-	public void testToolActivated() throws Exception {
-		// JUnitDoclet begin method toolActivated
-		// JUnitDoclet end method toolActivated
-	}
-
-	// JUnitDoclet begin javadoc_method toolDeactivated()
-	/**
-	 * Method testToolDeactivated is testing toolDeactivated
-	 * @see CH.ifa.draw.util.UndoableTool#toolDeactivated(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolDeactivated()
-	public void testToolDeactivated() throws Exception {
-		// JUnitDoclet begin method toolDeactivated
-		// JUnitDoclet end method toolDeactivated
-	}
-
-	// JUnitDoclet begin javadoc_method toolEnabled()
-	/**
-	 * Method testToolEnabled is testing toolEnabled
-	 * @see CH.ifa.draw.util.UndoableTool#toolEnabled(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolEnabled()
-	public void testToolEnabled() throws Exception {
-		// JUnitDoclet begin method toolEnabled
-		// JUnitDoclet end method toolEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method toolDisabled()
-	/**
-	 * Method testToolDisabled is testing toolDisabled
-	 * @see CH.ifa.draw.util.UndoableTool#toolDisabled(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolDisabled()
-	public void testToolDisabled() throws Exception {
-		// JUnitDoclet begin method toolDisabled
-		// JUnitDoclet end method toolDisabled
-	}
-
-	// JUnitDoclet begin javadoc_method addToolListener()
-	/**
-	 * Method testAddToolListener is testing addToolListener
-	 * @see CH.ifa.draw.util.UndoableTool#addToolListener(CH.ifa.draw.framework.ToolListener)
-	 */
-	// JUnitDoclet end javadoc_method addToolListener()
-	public void testAddToolListener() throws Exception {
-		// JUnitDoclet begin method addToolListener
-		// JUnitDoclet end method addToolListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeToolListener()
-	/**
-	 * Method testRemoveToolListener is testing removeToolListener
-	 * @see CH.ifa.draw.util.UndoableTool#removeToolListener(CH.ifa.draw.framework.ToolListener)
-	 */
-	// JUnitDoclet end javadoc_method removeToolListener()
-	public void testRemoveToolListener() throws Exception {
-		// JUnitDoclet begin method removeToolListener
-		// JUnitDoclet end method removeToolListener
-	}
-
-	// JUnitDoclet begin javadoc_method createEventDispatcher()
-	/**
-	 * Method testCreateEventDispatcher is testing createEventDispatcher
-	 * @see CH.ifa.draw.util.UndoableTool#createEventDispatcher()
-	 */
-	// JUnitDoclet end javadoc_method createEventDispatcher()
-	public void testCreateEventDispatcher() throws Exception {
-		// JUnitDoclet begin method createEventDispatcher
-		// JUnitDoclet end method createEventDispatcher
-	}
-
-	// JUnitDoclet begin javadoc_method getActiveView()
-	/**
-	 * Method testGetActiveView is testing getActiveView
-	 * @see CH.ifa.draw.util.UndoableTool#getActiveView()
-	 */
-	// JUnitDoclet end javadoc_method getActiveView()
-	public void testGetActiveView() throws Exception {
-		// JUnitDoclet begin method getActiveView
-		// JUnitDoclet end method getActiveView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UtilSuite.java b/JHotDraw/src/CH/ifa/draw/test/util/UtilSuite.java
deleted file mode 100644
index 99890543b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UtilSuite.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite UtilSuite
-*/
-// JUnitDoclet end javadoc_class
-public class UtilSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.util");
-
-		suite.addTestSuite(CH.ifa.draw.test.util.ReverseListEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.StandardVersionControlStrategyTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.VersionManagementTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoableHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoRedoActivityTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoableAdapterTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoableToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.RedoCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoableCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.GraphLayoutTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.BoundsTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.StorageFormatManagerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.SerializationStorageFormatTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.StandardStorageFormatTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.PaletteLayoutTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.PaletteIconTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.IconkitTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.GeomTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.FloatingTextFieldTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.FillerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.CommandMenuTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.CommandChoiceTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.CommandButtonTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.StorableInputTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.StorableOutputTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoManagerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.ColorMapTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.ClipboardTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/VersionManagementTest.java b/JHotDraw/src/CH/ifa/draw/test/util/VersionManagementTest.java
deleted file mode 100644
index 13adbf9e4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/VersionManagementTest.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.VersionManagement;
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase VersionManagementTest is generated by
- * JUnitDoclet to hold the tests for VersionManagement.
- * @see CH.ifa.draw.util.VersionManagement
- */
-// JUnitDoclet end javadoc_class
-public class VersionManagementTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private VersionManagement versionmanagement;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor VersionManagementTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public VersionManagementTest(String name) {
-		// JUnitDoclet begin method VersionManagementTest
-		super(name);
-		// JUnitDoclet end method VersionManagementTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.VersionManagement createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.VersionManagement();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		versionmanagement = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		versionmanagement = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getJHotDrawVersion()
-	/**
-	 * Method testGetJHotDrawVersion is testing getJHotDrawVersion
-	 * @see CH.ifa.draw.util.VersionManagement#getJHotDrawVersion()
-	 */
-	// JUnitDoclet end javadoc_method getJHotDrawVersion()
-	public void testGetJHotDrawVersion() throws Exception {
-		// JUnitDoclet begin method getJHotDrawVersion
-		// JUnitDoclet end method getJHotDrawVersion
-	}
-
-	// JUnitDoclet begin javadoc_method getPackageVersion()
-	/**
-	 * Method testGetPackageVersion is testing getPackageVersion
-	 * @see CH.ifa.draw.util.VersionManagement#getPackageVersion(java.lang.Package)
-	 */
-	// JUnitDoclet end javadoc_method getPackageVersion()
-	public void testGetPackageVersion() throws Exception {
-		// JUnitDoclet begin method getPackageVersion
-		// JUnitDoclet end method getPackageVersion
-	}
-
-	// JUnitDoclet begin javadoc_method isCompatibleVersion()
-	/**
-	 * Method testIsCompatibleVersion is testing isCompatibleVersion
-	 * @see CH.ifa.draw.util.VersionManagement#isCompatibleVersion(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method isCompatibleVersion()
-	public void testIsCompatibleVersion() throws Exception {
-		// JUnitDoclet begin method isCompatibleVersion
-		// JUnitDoclet end method isCompatibleVersion
-	}
-
-	// JUnitDoclet begin javadoc_method readVersionFromFile()
-	/**
-	 * Method testReadVersionFromFile is testing readVersionFromFile
-	 * @see CH.ifa.draw.util.VersionManagement#readVersionFromFile(java.lang.String, java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method readVersionFromFile()
-	public void testReadVersionFromFile() throws Exception {
-		// JUnitDoclet begin method readVersionFromFile
-		// JUnitDoclet end method readVersionFromFile
-	}
-
-	// JUnitDoclet begin javadoc_method normalizePackageName()
-	/**
-	 * Method testNormalizePackageName is testing normalizePackageName
-	 * @see CH.ifa.draw.util.VersionManagement#normalizePackageName(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method normalizePackageName()
-	public void testNormalizePackageName() throws Exception {
-		// JUnitDoclet begin method normalizePackageName
-		// JUnitDoclet end method normalizePackageName
-	}
-
-	// JUnitDoclet begin javadoc_method extractVersionInfo()
-	/**
-	 * Method testExtractVersionInfo is testing extractVersionInfo
-	 * @see CH.ifa.draw.util.VersionManagement#extractVersionInfo(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method extractVersionInfo()
-	public void testExtractVersionInfo() throws Exception {
-		// JUnitDoclet begin method extractVersionInfo
-		// JUnitDoclet end method extractVersionInfo
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/AllTests.java
deleted file mode 100644
index 61039dd7c..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/AllTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.util.collections.jdk11");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(CollectionsFactoryJDK11Test.class));
-		suite.addTest(new TestSuite(IteratorWrapperTest.class));
-		suite.addTest(new TestSuite(ListWrapperTest.class));
-		suite.addTest(new TestSuite(MapWrapperTest.class));
-		suite.addTest(new TestSuite(SetWrapperTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/CollectionsFactoryJDK11Test.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/CollectionsFactoryJDK11Test.java
deleted file mode 100644
index da8811290..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/CollectionsFactoryJDK11Test.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CollectionsFactoryJDK11Test is generated by
- * JUnitDoclet to hold the tests for CollectionsFactoryJDK11.
- * @see CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11
- */
-// JUnitDoclet end javadoc_class
-public class CollectionsFactoryJDK11Test
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CollectionsFactoryJDK11 collectionsfactoryjdk11;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CollectionsFactoryJDK11Test is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CollectionsFactoryJDK11Test(String name) {
-		// JUnitDoclet begin method CollectionsFactoryJDK11Test
-		super(name);
-		// JUnitDoclet end method CollectionsFactoryJDK11Test
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11 createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		collectionsfactoryjdk11 = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		collectionsfactoryjdk11 = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createList()
-	/**
-	 * Method testCreateList is testing createList
-	 * @see CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11#createList()
-	 */
-	// JUnitDoclet end javadoc_method createList()
-	public void testCreateList() throws Exception {
-		// JUnitDoclet begin method createList
-		// JUnitDoclet end method createList
-	}
-
-	// JUnitDoclet begin javadoc_method createMap()
-	/**
-	 * Method testCreateMap is testing createMap
-	 * @see CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11#createMap()
-	 */
-	// JUnitDoclet end javadoc_method createMap()
-	public void testCreateMap() throws Exception {
-		// JUnitDoclet begin method createMap
-		// JUnitDoclet end method createMap
-	}
-
-	// JUnitDoclet begin javadoc_method createSet()
-	/**
-	 * Method testCreateSet is testing createSet
-	 * @see CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11#createSet()
-	 */
-	// JUnitDoclet end javadoc_method createSet()
-	public void testCreateSet() throws Exception {
-		// JUnitDoclet begin method createSet
-		// JUnitDoclet end method createSet
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/IteratorWrapperTest.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/IteratorWrapperTest.java
deleted file mode 100644
index 90492ef31..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/IteratorWrapperTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.figures.PolyLineFigure;
-import CH.ifa.draw.util.collections.jdk11.IteratorWrapper;
-
-import java.util.Vector;
-import java.awt.*;
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestCase IteratorWrapperTest is generated by
-* JUnitDoclet to hold the tests for IteratorWrapper.
-* @see CH.ifa.draw.util.collections.jdk11.IteratorWrapper
-*/
-// JUnitDoclet end javadoc_class
-public class IteratorWrapperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private IteratorWrapper iteratorwrapper;
-	// JUnitDoclet end class
-
-	/**
-	* Constructor IteratorWrapperTest is
-	* basically calling the inherited constructor to
-	* initiate the TestCase for use by the Framework.
-	*/
-	public IteratorWrapperTest(String name) {
-		// JUnitDoclet begin method IteratorWrapperTest
-		super(name);
-		// JUnitDoclet end method IteratorWrapperTest
-	}
-
-	/**
-	* Factory method for instances of the class to be tested.
-	*/
-	public CH.ifa.draw.util.collections.jdk11.IteratorWrapper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Vector v = new Vector();
-		v.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		v.add(new PolyLineFigure(20, 20));
-		v.add(new RectangleFigure(new Point(100, 10), new Point(150, 100)));
-		return new CH.ifa.draw.util.collections.jdk11.IteratorWrapper(v.elements());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	* Method setUp is overwriting the framework method to
-	* prepare an instance of this TestCase for a single test.
-	* It's called from the JUnit framework only.
-	*/
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		iteratorwrapper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	* Method tearDown is overwriting the framework method to
-	* clean up after each single test of this TestCase.
-	* It's called from the JUnit framework only.
-	*/
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		iteratorwrapper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNext()
-	/**
-	* Method testHasNext is testing hasNext
-	* @see CH.ifa.draw.util.collections.jdk11.IteratorWrapper#hasNext()
-	*/
-	// JUnitDoclet end javadoc_method hasNext()
-	public void testHasNext() throws Exception {
-		// JUnitDoclet begin method hasNext
-		// JUnitDoclet end method hasNext
-	}
-
-	// JUnitDoclet begin javadoc_method next()
-	/**
-	* Method testNext is testing next
-	* @see CH.ifa.draw.util.collections.jdk11.IteratorWrapper#next()
-	*/
-	// JUnitDoclet end javadoc_method next()
-	public void testNext() throws Exception {
-		// JUnitDoclet begin method next
-		// JUnitDoclet end method next
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	* Method testRemove is testing remove
-	* @see CH.ifa.draw.util.collections.jdk11.IteratorWrapper#remove()
-	*/
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	* JUnitDoclet moves marker to this method, if there is not match
-	* for them in the regenerated code and if the marker is not empty.
-	* This way, no test gets lost when regenerating after renaming.
-	* <b>Method testVault is supposed to be empty.</b>
-	*/
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/Jdk11Suite.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/Jdk11Suite.java
deleted file mode 100644
index b08da45e3..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/Jdk11Suite.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite Jdk11Suite
-*/
-// JUnitDoclet end javadoc_class
-public class Jdk11Suite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.util.collections.jdk11");
-
-		suite.addTestSuite(CH.ifa.draw.test.util.collections.jdk11.SetWrapperTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.collections.jdk11.CollectionsFactoryJDK11Test.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.collections.jdk11.MapWrapperTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.collections.jdk11.ListWrapperTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.collections.jdk11.IteratorWrapperTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/ListWrapperTest.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/ListWrapperTest.java
deleted file mode 100644
index 00ba968de..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/ListWrapperTest.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import CH.ifa.draw.util.collections.jdk11.ListWrapper;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ListWrapperTest is generated by
- * JUnitDoclet to hold the tests for ListWrapper.
- * @see CH.ifa.draw.util.collections.jdk11.ListWrapper
- */
-// JUnitDoclet end javadoc_class
-public class ListWrapperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ListWrapper listwrapper;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ListWrapperTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ListWrapperTest(String name) {
-		// JUnitDoclet begin method ListWrapperTest
-		super(name);
-		// JUnitDoclet end method ListWrapperTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.collections.jdk11.ListWrapper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.collections.jdk11.ListWrapper();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		listwrapper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		listwrapper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method size()
-	/**
-	 * Method testSize is testing size
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#size()
-	 */
-	// JUnitDoclet end javadoc_method size()
-	public void testSize() throws Exception {
-		// JUnitDoclet begin method size
-		// JUnitDoclet end method size
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method contains()
-	/**
-	 * Method testContains is testing contains
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#contains(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method contains()
-	public void testContains() throws Exception {
-		// JUnitDoclet begin method contains
-		// JUnitDoclet end method contains
-	}
-
-	// JUnitDoclet begin javadoc_method iterator()
-	/**
-	 * Method testIterator is testing iterator
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#iterator()
-	 */
-	// JUnitDoclet end javadoc_method iterator()
-	public void testIterator() throws Exception {
-		// JUnitDoclet begin method iterator
-		// JUnitDoclet end method iterator
-	}
-
-	// JUnitDoclet begin javadoc_method toArray()
-	/**
-	 * Method testToArray is testing toArray
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#toArray()
-	 */
-	// JUnitDoclet end javadoc_method toArray()
-	public void testToArray() throws Exception {
-		// JUnitDoclet begin method toArray
-		// JUnitDoclet end method toArray
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#add(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#remove(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method containsAll()
-	/**
-	 * Method testContainsAll is testing containsAll
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#containsAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method containsAll()
-	public void testContainsAll() throws Exception {
-		// JUnitDoclet begin method containsAll
-		// JUnitDoclet end method containsAll
-	}
-
-	// JUnitDoclet begin javadoc_method addAll()
-	/**
-	 * Method testAddAll is testing addAll
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#addAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addAll()
-	public void testAddAll() throws Exception {
-		// JUnitDoclet begin method addAll
-		// JUnitDoclet end method addAll
-	}
-
-	// JUnitDoclet begin javadoc_method removeAll()
-	/**
-	 * Method testRemoveAll is testing removeAll
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#removeAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method removeAll()
-	public void testRemoveAll() throws Exception {
-		// JUnitDoclet begin method removeAll
-		// JUnitDoclet end method removeAll
-	}
-
-	// JUnitDoclet begin javadoc_method retainAll()
-	/**
-	 * Method testRetainAll is testing retainAll
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#retainAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method retainAll()
-	public void testRetainAll() throws Exception {
-		// JUnitDoclet begin method retainAll
-		// JUnitDoclet end method retainAll
-	}
-
-	// JUnitDoclet begin javadoc_method clear()
-	/**
-	 * Method testClear is testing clear
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#clear()
-	 */
-	// JUnitDoclet end javadoc_method clear()
-	public void testClear() throws Exception {
-		// JUnitDoclet begin method clear
-		// JUnitDoclet end method clear
-	}
-
-	// JUnitDoclet begin javadoc_method get()
-	/**
-	 * Method testGet is testing get
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#get(int)
-	 */
-	// JUnitDoclet end javadoc_method get()
-	public void testGet() throws Exception {
-		// JUnitDoclet begin method get
-		// JUnitDoclet end method get
-	}
-
-	// JUnitDoclet begin javadoc_method set()
-	/**
-	 * Method testSet is testing set
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#set(int, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method set()
-	public void testSet() throws Exception {
-		// JUnitDoclet begin method set
-		// JUnitDoclet end method set
-	}
-
-	// JUnitDoclet begin javadoc_method indexOf()
-	/**
-	 * Method testIndexOf is testing indexOf
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#indexOf(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method indexOf()
-	public void testIndexOf() throws Exception {
-		// JUnitDoclet begin method indexOf
-		// JUnitDoclet end method indexOf
-	}
-
-	// JUnitDoclet begin javadoc_method lastIndexOf()
-	/**
-	 * Method testLastIndexOf is testing lastIndexOf
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#lastIndexOf(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method lastIndexOf()
-	public void testLastIndexOf() throws Exception {
-		// JUnitDoclet begin method lastIndexOf
-		// JUnitDoclet end method lastIndexOf
-	}
-
-	// JUnitDoclet begin javadoc_method listIterator()
-	/**
-	 * Method testListIterator is testing listIterator
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#listIterator()
-	 */
-	// JUnitDoclet end javadoc_method listIterator()
-	public void testListIterator() throws Exception {
-		// JUnitDoclet begin method listIterator
-		// JUnitDoclet end method listIterator
-	}
-
-	// JUnitDoclet begin javadoc_method subList()
-	/**
-	 * Method testSubList is testing subList
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#subList(int, int)
-	 */
-	// JUnitDoclet end javadoc_method subList()
-	public void testSubList() throws Exception {
-		// JUnitDoclet begin method subList
-		// JUnitDoclet end method subList
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/MapWrapperTest.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/MapWrapperTest.java
deleted file mode 100644
index a71f6f31e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/MapWrapperTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import CH.ifa.draw.util.collections.jdk11.MapWrapper;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MapWrapperTest is generated by
- * JUnitDoclet to hold the tests for MapWrapper.
- * @see CH.ifa.draw.util.collections.jdk11.MapWrapper
- */
-// JUnitDoclet end javadoc_class
-public class MapWrapperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MapWrapper mapwrapper;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MapWrapperTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MapWrapperTest(String name) {
-		// JUnitDoclet begin method MapWrapperTest
-		super(name);
-		// JUnitDoclet end method MapWrapperTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.collections.jdk11.MapWrapper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.collections.jdk11.MapWrapper();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		mapwrapper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		mapwrapper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method size()
-	/**
-	 * Method testSize is testing size
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#size()
-	 */
-	// JUnitDoclet end javadoc_method size()
-	public void testSize() throws Exception {
-		// JUnitDoclet begin method size
-		// JUnitDoclet end method size
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method containsKey()
-	/**
-	 * Method testContainsKey is testing containsKey
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#containsKey(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method containsKey()
-	public void testContainsKey() throws Exception {
-		// JUnitDoclet begin method containsKey
-		// JUnitDoclet end method containsKey
-	}
-
-	// JUnitDoclet begin javadoc_method containsValue()
-	/**
-	 * Method testContainsValue is testing containsValue
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#containsValue(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method containsValue()
-	public void testContainsValue() throws Exception {
-		// JUnitDoclet begin method containsValue
-		// JUnitDoclet end method containsValue
-	}
-
-	// JUnitDoclet begin javadoc_method get()
-	/**
-	 * Method testGet is testing get
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#get(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method get()
-	public void testGet() throws Exception {
-		// JUnitDoclet begin method get
-		// JUnitDoclet end method get
-	}
-
-	// JUnitDoclet begin javadoc_method put()
-	/**
-	 * Method testPut is testing put
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#put(java.lang.Object, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method put()
-	public void testPut() throws Exception {
-		// JUnitDoclet begin method put
-		// JUnitDoclet end method put
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#remove(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method putAll()
-	/**
-	 * Method testPutAll is testing putAll
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#putAll(java.util.Map)
-	 */
-	// JUnitDoclet end javadoc_method putAll()
-	public void testPutAll() throws Exception {
-		// JUnitDoclet begin method putAll
-		// JUnitDoclet end method putAll
-	}
-
-	// JUnitDoclet begin javadoc_method clear()
-	/**
-	 * Method testClear is testing clear
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#clear()
-	 */
-	// JUnitDoclet end javadoc_method clear()
-	public void testClear() throws Exception {
-		// JUnitDoclet begin method clear
-		// JUnitDoclet end method clear
-	}
-
-	// JUnitDoclet begin javadoc_method keySet()
-	/**
-	 * Method testKeySet is testing keySet
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#keySet()
-	 */
-	// JUnitDoclet end javadoc_method keySet()
-	public void testKeySet() throws Exception {
-		// JUnitDoclet begin method keySet
-		// JUnitDoclet end method keySet
-	}
-
-	// JUnitDoclet begin javadoc_method values()
-	/**
-	 * Method testValues is testing values
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#values()
-	 */
-	// JUnitDoclet end javadoc_method values()
-	public void testValues() throws Exception {
-		// JUnitDoclet begin method values
-		// JUnitDoclet end method values
-	}
-
-	// JUnitDoclet begin javadoc_method entrySet()
-	/**
-	 * Method testEntrySet is testing entrySet
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#entrySet()
-	 */
-	// JUnitDoclet end javadoc_method entrySet()
-	public void testEntrySet() throws Exception {
-		// JUnitDoclet begin method entrySet
-		// JUnitDoclet end method entrySet
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/SetWrapperTest.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/SetWrapperTest.java
deleted file mode 100644
index 6dfa75203..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/SetWrapperTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import CH.ifa.draw.util.collections.jdk11.SetWrapper;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SetWrapperTest is generated by
- * JUnitDoclet to hold the tests for SetWrapper.
- * @see CH.ifa.draw.util.collections.jdk11.SetWrapper
- */
-// JUnitDoclet end javadoc_class
-public class SetWrapperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SetWrapper setwrapper;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SetWrapperTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SetWrapperTest(String name) {
-		// JUnitDoclet begin method SetWrapperTest
-		super(name);
-		// JUnitDoclet end method SetWrapperTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.collections.jdk11.SetWrapper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.collections.jdk11.SetWrapper();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		setwrapper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		setwrapper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method size()
-	/**
-	 * Method testSize is testing size
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#size()
-	 */
-	// JUnitDoclet end javadoc_method size()
-	public void testSize() throws Exception {
-		// JUnitDoclet begin method size
-		// JUnitDoclet end method size
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method contains()
-	/**
-	 * Method testContains is testing contains
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#contains(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method contains()
-	public void testContains() throws Exception {
-		// JUnitDoclet begin method contains
-		// JUnitDoclet end method contains
-	}
-
-	// JUnitDoclet begin javadoc_method iterator()
-	/**
-	 * Method testIterator is testing iterator
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#iterator()
-	 */
-	// JUnitDoclet end javadoc_method iterator()
-	public void testIterator() throws Exception {
-		// JUnitDoclet begin method iterator
-		// JUnitDoclet end method iterator
-	}
-
-	// JUnitDoclet begin javadoc_method toArray()
-	/**
-	 * Method testToArray is testing toArray
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#toArray()
-	 */
-	// JUnitDoclet end javadoc_method toArray()
-	public void testToArray() throws Exception {
-		// JUnitDoclet begin method toArray
-		// JUnitDoclet end method toArray
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#add(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#remove(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method containsAll()
-	/**
-	 * Method testContainsAll is testing containsAll
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#containsAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method containsAll()
-	public void testContainsAll() throws Exception {
-		// JUnitDoclet begin method containsAll
-		// JUnitDoclet end method containsAll
-	}
-
-	// JUnitDoclet begin javadoc_method addAll()
-	/**
-	 * Method testAddAll is testing addAll
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#addAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addAll()
-	public void testAddAll() throws Exception {
-		// JUnitDoclet begin method addAll
-		// JUnitDoclet end method addAll
-	}
-
-	// JUnitDoclet begin javadoc_method retainAll()
-	/**
-	 * Method testRetainAll is testing retainAll
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#retainAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method retainAll()
-	public void testRetainAll() throws Exception {
-		// JUnitDoclet begin method retainAll
-		// JUnitDoclet end method retainAll
-	}
-
-	// JUnitDoclet begin javadoc_method removeAll()
-	/**
-	 * Method testRemoveAll is testing removeAll
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#removeAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method removeAll()
-	public void testRemoveAll() throws Exception {
-		// JUnitDoclet begin method removeAll
-		// JUnitDoclet end method removeAll
-	}
-
-	// JUnitDoclet begin javadoc_method clear()
-	/**
-	 * Method testClear is testing clear
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#clear()
-	 */
-	// JUnitDoclet end javadoc_method clear()
-	public void testClear() throws Exception {
-		// JUnitDoclet begin method clear
-		// JUnitDoclet end method clear
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/AllTests.java
deleted file mode 100644
index 1220398a4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/AllTests.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk12;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.util.collections.jdk12");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(CollectionsFactoryJDK12Test.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/CollectionsFactoryJDK12Test.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/CollectionsFactoryJDK12Test.java
deleted file mode 100644
index 1b723004d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/CollectionsFactoryJDK12Test.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk12;
-
-import CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CollectionsFactoryJDK12Test is generated by
- * JUnitDoclet to hold the tests for CollectionsFactoryJDK12.
- * @see CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12
- */
-// JUnitDoclet end javadoc_class
-public class CollectionsFactoryJDK12Test
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CollectionsFactoryJDK12 collectionsfactoryjdk12;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CollectionsFactoryJDK12Test is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CollectionsFactoryJDK12Test(String name) {
-		// JUnitDoclet begin method CollectionsFactoryJDK12Test
-		super(name);
-		// JUnitDoclet end method CollectionsFactoryJDK12Test
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12 createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		collectionsfactoryjdk12 = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		collectionsfactoryjdk12 = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createList()
-	/**
-	 * Method testCreateList is testing createList
-	 * @see CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12#createList()
-	 */
-	// JUnitDoclet end javadoc_method createList()
-	public void testCreateList() throws Exception {
-		// JUnitDoclet begin method createList
-		// JUnitDoclet end method createList
-	}
-
-	// JUnitDoclet begin javadoc_method createMap()
-	/**
-	 * Method testCreateMap is testing createMap
-	 * @see CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12#createMap()
-	 */
-	// JUnitDoclet end javadoc_method createMap()
-	public void testCreateMap() throws Exception {
-		// JUnitDoclet begin method createMap
-		// JUnitDoclet end method createMap
-	}
-
-	// JUnitDoclet begin javadoc_method createSet()
-	/**
-	 * Method testCreateSet is testing createSet
-	 * @see CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12#createSet()
-	 */
-	// JUnitDoclet end javadoc_method createSet()
-	public void testCreateSet() throws Exception {
-		// JUnitDoclet begin method createSet
-		// JUnitDoclet end method createSet
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/Jdk12Suite.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/Jdk12Suite.java
deleted file mode 100644
index 376200076..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/Jdk12Suite.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package CH.ifa.draw.test.util.collections.jdk12;
-
-
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite Jdk12Suite
-*/
-// JUnitDoclet end javadoc_class
-public class Jdk12Suite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // JUnitDoclet end class
-  
-  public static TestSuite suite() {
-    
-    TestSuite suite;
-    
-    suite = new TestSuite("CH.ifa.draw.test.util.collections.jdk12");
-    
-    suite.addTestSuite(CH.ifa.draw.test.util.collections.jdk12.CollectionsFactoryJDK12Test.class);
-    
-    
-    
-    // JUnitDoclet begin method suite()
-    // JUnitDoclet end method suite()
-    
-    return suite;
-  }
-  
-  /**
-  * Method to execute the TestSuite from command line
-  * using JUnit's textui.TestRunner .
-  */
-  public static void main(String[] args) {
-    // JUnitDoclet begin method testsuite.main
-    junit.textui.TestRunner.run(suite());
-    // JUnitDoclet end method testsuite.main
-  }
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Animatable.java b/JHotDraw/src/CH/ifa/draw/util/Animatable.java
deleted file mode 100644
index 0d4b452ad..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Animatable.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * @(#)Animatable.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-/**
- * Animatable defines a simple animation interface
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Animatable {
-	/**
-	 * Perform a step of the animation.
-	 */
-	void animationStep();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Bounds.java b/JHotDraw/src/CH/ifa/draw/util/Bounds.java
deleted file mode 100644
index 0e670bf50..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Bounds.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/*
- * @(#)Bounds.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.awt.Dimension;
-import java.awt.geom.Point2D;
-import java.awt.geom.Rectangle2D;
-import java.io.Serializable;
-
-/** 
- * This class is a rectangle with floating point
- * dimensions and location.  This class provides
- * many convenient geometrical methods related to
- * rectangles.  Basically, this class is like
- * java.awt.geom.Rectangle2D with some extra
- * functionality.
- *
- * @author WMG (28.02.1999)
- * @version <$CURRENT_VERSION$>
- */
-public class Bounds implements Serializable {
-
-	//_________________________________________________________VARIABLES
-
-	protected double   _dX1 = 0;
-	protected double   _dY1 = 0;
-	protected double   _dX2 = 0;
-	protected double   _dY2 = 0;
-
-	//______________________________________________________CONSTRUCTORS
-
-	public Bounds(double x, double y) {
-		_dX1 = x;
-		_dX2 = x;
-		_dY1 = y;
-		_dY2 = y;
-	}
-
-	public Bounds(double x1, double y1, double x2, double y2) {
-		_dX1 = Math.min(x1, x2);
-		_dX2 = Math.max(x1, x2);
-		_dY1 = Math.min(y1, y2);
-		_dY2 = Math.max(y1, y2);
-	}
-
-	public Bounds(Point2D aPoint2D) {
-		this(aPoint2D.getX(), aPoint2D.getY());
-	}
-
-	public Bounds(Point2D firstPoint2D, Point2D secondPoint2D) {
-		this(firstPoint2D.getX(), firstPoint2D.getY(),
-		secondPoint2D.getX(), secondPoint2D.getY());
-	}
-
-	public Bounds(Bounds aBounds) {
-		this(aBounds.getLesserX(), aBounds.getLesserY(),
-		aBounds.getGreaterX(), aBounds.getGreaterY());
-	}
-
-	public Bounds(Rectangle2D aRectangle2D) {
-		_dX1 = aRectangle2D.getMinX();
-		_dX2 = aRectangle2D.getMaxX();
-		_dY1 = aRectangle2D.getMinY();
-		_dY2 = aRectangle2D.getMaxY();
-	}
-
-	public Bounds(Point2D centerPoint2D, double dWidth, double dHeight) {
-		_dX1 = centerPoint2D.getX() - (dWidth / 2.0);
-		_dX2 = centerPoint2D.getX() + (dWidth / 2.0);
-		_dY1 = centerPoint2D.getY() - (dHeight / 2.0);
-		_dY2 = centerPoint2D.getY() + (dHeight / 2.0);
-	}
-
-	public Bounds(Dimension aDimension) {
-		this(0, 0, aDimension.width, aDimension.height);
-	}
-
-	protected Bounds() {
-		// empty constructor
-	}
-
-	//____________________________________________________PUBLIC METHODS
-
-	public double getLesserX() {
-		return _dX1;
-	}
-
-	public double getGreaterX() {
-		return _dX2;
-	}
-
-	public double getLesserY() {
-		return _dY1;
-	}
-
-	public double getGreaterY() {
-		return _dY2;
-	}
-
-	public double getWest() {
-		return _dX1;
-	}
-
-	public double getEast() {
-		return _dX2;
-	}
-
-	public double getSouth() {
-		return _dY1;
-	}
-
-	public double getNorth() {
-		return _dY2;
-	}
-
-	public double getWidth() {
-		return _dX2 - _dX1;
-	}
-
-	public double getHeight() {
-		return _dY2 - _dY1;
-	}
-
-	public Rectangle2D asRectangle2D() {
-		return new Rectangle2D.Double(getLesserX(), getLesserY(),
-		getWidth(), getHeight());
-	}
-
-	public void setCenter(Point2D centerPoint2D) {
-		if(centerPoint2D == null) {
-			throw new IllegalArgumentException();
-		}
-		Point2D currentCenterPoint2D = getCenter();
-		double dDeltaX = centerPoint2D.getX() - currentCenterPoint2D.getX();
-		double dDeltaY = centerPoint2D.getY() - currentCenterPoint2D.getY();
-		offset(dDeltaX, dDeltaY);
-	}
-
-	public Point2D getCenter() {
-		return new Point2D.Double((_dX1 + _dX2) / 2.0, (_dY1 + _dY2) / 2.0);
-	}
-
-	public void zoomBy(double dRatio) {
-		double dWidth = _dX2 - _dX1;
-		double dHeight = _dY2 - _dY1;
-		double dNewWidth = (dWidth * dRatio);
-		double dNewHeight = (dHeight * dRatio);
-		Point2D centerPoint2D = getCenter();
-		_dX1 = centerPoint2D.getX() - (dNewWidth / 2.0);
-		_dY1 = centerPoint2D.getY() - (dNewHeight / 2.0);
-		_dX2 = centerPoint2D.getX() + (dNewWidth / 2.0);
-		_dY2 = centerPoint2D.getY() + (dNewHeight / 2.0);
-	}
-
-	public void shiftBy(int nXPercentage, int nYPercentage) {
-		double dWidth = _dX2 - _dX1;
-		double dHeight = _dY2 - _dY1;
-		double dDeltaX = (dWidth * nXPercentage) / 100.0;
-		double dDeltaY = (dHeight * nYPercentage) / 100.0;
-		offset(dDeltaX, dDeltaY);
-	}
-
-	public void offset(double dDeltaX, double dDeltaY) {
-		_dX1 += dDeltaX;
-		_dX2 += dDeltaX;
-		_dY1 += dDeltaY;
-		_dY2 += dDeltaY;
-	}
-
-	/**
-	 * This will cause the bounds to grow until the given ratio
-	 * is satisfied. The Ration is calculated by
-	 * <code> getWidth() / getHeight() </code>
-	 **/
-	public void expandToRatio(double dRatio) {
-		double dCurrentRatio = getWidth() / getHeight();
-		if (dCurrentRatio < dRatio) {
-			double dNewWidth = dRatio * getHeight();
-			double dCenterX = (_dX1 + _dX2) / 2.0;
-			double dDelta = dNewWidth / 2.0;
-			_dX1 = dCenterX - dDelta;
-			_dX2 = dCenterX + dDelta;
-		}
-		if (dCurrentRatio > dRatio) {
-			double dNewHeight = getWidth() / dRatio;
-			double dCenterY = (_dY1 + _dY2) / 2.0;
-			double dDelta = dNewHeight / 2.0;
-			_dY1 = dCenterY - dDelta;
-			_dY2 = dCenterY + dDelta;
-		}
-	}
-
-	public void includeXCoordinate(double x) {
-		_dX1 = min(_dX1, _dX2, x);
-		_dX2 = max(_dX1, _dX2, x);
-	}
-
-	public void includeYCoordinate(double y) {
-		_dY1 = min(_dY1, _dY2, y);
-		_dY2 = max(_dY1, _dY2, y);
-	}
-
-	public void includePoint(double x, double y) {
-		includeXCoordinate(x);
-		includeYCoordinate(y);
-	}
-
-	public void includePoint(Point2D aPoint2D) {
-		includePoint(aPoint2D.getX(), aPoint2D.getY());
-	}
-
-	public void includeLine(double x1, double y1, double x2, double y2) {
-		includePoint(x1, y1);
-		includePoint(x2, y2);
-	}
-
-	public void includeLine(Point2D onePoint2D, Point2D twoPoint2D) {
-		includeLine(onePoint2D.getX(), onePoint2D.getY(),
-		twoPoint2D.getX(), twoPoint2D.getY());
-	}
-
-	public void includeBounds(Bounds aBounds) {
-		includeXCoordinate(aBounds.getLesserX());
-		includeXCoordinate(aBounds.getGreaterX());
-		includeYCoordinate(aBounds.getLesserY());
-		includeYCoordinate(aBounds.getGreaterY());
-	}
-
-	public void includeRectangle2D(Rectangle2D aRectangle2D) {
-		includeXCoordinate(aRectangle2D.getMinX());
-		includeXCoordinate(aRectangle2D.getMaxX());
-		includeYCoordinate(aRectangle2D.getMinY());
-		includeYCoordinate(aRectangle2D.getMaxY());
-	}
-
-	public void intersect(Bounds aBounds) {
-		_dX1 = Math.max(_dX1, aBounds.getLesserX());
-		_dY1 = Math.max(_dY1, aBounds.getLesserY());
-		_dX2 = Math.min(_dX2, aBounds.getGreaterX());
-		_dY2 = Math.min(_dY2, aBounds.getGreaterY());
-
-		if (_dX1 > _dX2) {
-			_dX1 = _dX2;
-		}
-		if (_dY1 > _dY2) {
-			_dY1 = _dY2;
-		}
-	}
-
-	public boolean intersectsPoint(double x, double y) {
-		return ((_dX1 <= x) && (x <= _dX2) && (_dY1 <= y) && (y <= _dY2));
-	}
-
-	public boolean intersectsPoint(Point2D aPoint2D) {
-		return intersectsPoint(aPoint2D.getX(), aPoint2D.getY());
-	}
-
-
-	public boolean intersectsLine(double x1, double y1, double x2, double y2) {
-		if (intersectsPoint(x1, y1)) {
-			return true;
-		}
-		if (intersectsPoint(x2, y2)) {
-			return true;
-		}
-		if ((x1 < _dX1) && (x2 < _dX1)) {
-			return false;
-		}
-		if ((x1 > _dX2) && (x2 > _dX2)) {
-			return false;
-		}
-		if ((y1 < _dY1) && (y2 < _dY1)) {
-			return false;
-		}
-		if ((y1 > _dY2) && (y2 > _dY2)) {
-			return false;
-		}
-		if (((_dX1 <= x1) && (x1 <= _dX2)) && ((_dX1 <= x2) && (x2 <= _dX2))) {
-			return true;
-		}
-		if (((_dY1 <= y1) && (y1 <= _dY2)) && ((_dY1 <= y2) && (y2 <= _dY2))) {
-			return true;
-		}
-	
-		double dSlope = (y2-y1) / (x2-x1);
-		double _dYIntersectionAtX1 = dSlope * (_dX1 - x1) + y1;
-		double _dYIntersectionAtX2 = dSlope * (_dX2 - x1) + y1;
-		double _dXIntersectionAtY1 = (_dY1 - y1) / dSlope +  x1;
-		double _dXIntersectionAtY2 = (_dY2 - y1) / dSlope +  x1;
-
-		return (intersectsPoint(_dX1, _dYIntersectionAtX1)) ||
-			(intersectsPoint(_dX2, _dYIntersectionAtX2)) ||
-			(intersectsPoint(_dXIntersectionAtY1, _dY1)) ||
-			(intersectsPoint(_dXIntersectionAtY2, _dY2));
-	}
-
-	public boolean intersectsLine(Point2D onePoint2D, Point2D twoPoint2D) {
-		return intersectsLine(onePoint2D.getX(), onePoint2D.getY(),
-			twoPoint2D.getX(), twoPoint2D.getY());
-	}
-
-	//use K-map to simplify
-	public boolean intersectsBounds(Bounds aBounds) {
-		double dLesserX = aBounds.getLesserX();
-		double dGreaterX = aBounds.getGreaterX();
-		double dLesserY = aBounds.getLesserY();
-		double dGreaterY = aBounds.getGreaterY();
-
-		if (dLesserX < _dX1) {
-			if (dLesserY < _dY1) {
-				return ((dGreaterX >= _dX1) && (dGreaterY >= _dY1));
-			}
-			else {
-				return ((dGreaterX >= _dX1) && (dLesserY <= _dY2));
-			}
-		}
-		else {
-			if (dLesserY < _dY1) {
-				return ((dLesserX <= _dX2) && (dGreaterY >= _dY1));
-			}
-			else {
-				return ((dLesserX <= _dX2) && (dLesserY <= _dY2));
-			}
-		}
-	}
-
-	public boolean completelyContainsLine(double x1, double y1, double x2, double y2) {
-		return (_dX1 > Math.min(x1, x2)) &&
-			(_dX2 < Math.max(x1, x2)) &&
-			(_dY1 > Math.min(y1, y2)) &&
-			(_dY2 < Math.max(y1, y2));
-	}
-
-	public boolean isCompletelyInside(Bounds aBounds) {
-		return (_dX1 > aBounds.getLesserX()) &&
-			(_dX2 < aBounds.getGreaterX()) &&
-			(_dY1 > aBounds.getLesserY()) &&
-			(_dY2 < aBounds.getGreaterY());
-	}
-
-	public Point2D[] cropLine(double x1, double y1, double x2, double y2) {
-		if (!intersectsLine(x1, y1, x2, y2)) {
-			return null;
-		}
-
-		Point2D[] resultLine = new Point2D[2];
-		Point2D beginPoint2D = new Point2D.Double(x1, y1);
-		Point2D endPoint2D = new Point2D.Double(x2, y2);
-
-		if (beginPoint2D.getX() == endPoint2D.getX()) {
-			if (beginPoint2D.getY() > _dY2) {
-				beginPoint2D.setLocation(beginPoint2D.getX(), _dY2);
-			}
-			if (endPoint2D.getY() > _dY2) {
-				endPoint2D.setLocation(endPoint2D.getX(), _dY2);
-			}
-			if (beginPoint2D.getY() < _dY1) {
-				beginPoint2D.setLocation(beginPoint2D.getX(), _dY1);
-			}
-			if (endPoint2D.getY() < _dY1) {
-				endPoint2D.setLocation(endPoint2D.getX(), _dY1);
-			}
-		}
-		else if (beginPoint2D.getY() == endPoint2D.getY()) {
-			if (beginPoint2D.getX() > _dX2) {
-				beginPoint2D.setLocation(_dX2, beginPoint2D.getY());
-			}
-			if (endPoint2D.getX() > _dX2) {
-				endPoint2D.setLocation(_dX2, endPoint2D.getY());
-			}
-			if (beginPoint2D.getX() < _dX1) {
-				beginPoint2D.setLocation(_dX1, beginPoint2D.getY());
-			}
-			if (endPoint2D.getX() < _dX1) {
-				endPoint2D.setLocation(_dX1, endPoint2D.getY());
-			}
-		}
-		else {
-			double dSlope = (beginPoint2D.getY() - endPoint2D.getY()) 
-				/ (beginPoint2D.getX() - endPoint2D.getX());
-
-			if (!intersectsPoint(beginPoint2D)) {
-				if (beginPoint2D.getY() > _dY2) {
-					double x = ((_dY2 - beginPoint2D.getY()) / dSlope) + beginPoint2D.getX();
-					if ((x >= _dX1) && (x <= _dX2)) {
-						beginPoint2D.setLocation(x, beginPoint2D.getY());
-						beginPoint2D.setLocation(beginPoint2D.getX(), _dY2);
-					}
-				}
-				if (beginPoint2D.getY() < _dY1) {
-					double x = ((_dY1 - beginPoint2D.getY()) / dSlope) + beginPoint2D.getX();
-					if ((x >= _dX1) && (x <= _dX2)) {
-						beginPoint2D.setLocation(x, beginPoint2D.getY());
-						beginPoint2D.setLocation(beginPoint2D.getX(), _dY1);
-					}
-				}
-				if (beginPoint2D.getX() > _dX2) {
-					double y = dSlope*(_dX2 - beginPoint2D.getX()) + beginPoint2D.getY();
-					if ((y >= _dY1) && (y <= _dY2)) {
-						beginPoint2D.setLocation(_dX2, beginPoint2D.getY());
-						beginPoint2D.setLocation(beginPoint2D.getX(), y);
-					}
-				}
-				if (beginPoint2D.getX() < _dX1) {
-					double y = dSlope*(_dX1 - beginPoint2D.getX()) + beginPoint2D.getY();
-					if ((y >= _dY1) && (y <= _dY2)) {
-						beginPoint2D.setLocation(_dX1, beginPoint2D.getY());
-						beginPoint2D.setLocation(beginPoint2D.getX(), y);
-					}
-				}
-			}
-			if (!intersectsPoint(endPoint2D)) {
-				if (endPoint2D.getY() > _dY2) {
-					double x = ((_dY2 - beginPoint2D.getY()) / dSlope) + beginPoint2D.getX();
-					if ((x >= _dX1) && (x <= _dX2)) {
-						endPoint2D.setLocation(x, endPoint2D.getY());
-						endPoint2D.setLocation(endPoint2D.getX(), _dY2);
-					}
-				}
-				if (endPoint2D.getY() < _dY1) {
-					double x = ((_dY1 - beginPoint2D.getY()) / dSlope) + beginPoint2D.getX();
-					if ((x >= _dX1) && (x <= _dX2)) {
-						endPoint2D.setLocation(x, endPoint2D.getY());
-						endPoint2D.setLocation(endPoint2D.getX(), _dY1);
-					}
-				}
-				if (endPoint2D.getX() > _dX2) {
-					double y = dSlope*(_dX2 - beginPoint2D.getX()) + beginPoint2D.getY();
-					if ((y >= _dY1) && (y <= _dY2)) {
-						endPoint2D.setLocation(_dX2, endPoint2D.getY());
-						endPoint2D.setLocation(endPoint2D.getX(), y);
-					}
-				}
-				if (endPoint2D.getX() < _dX1) {
-					double y = dSlope*(_dX1 - beginPoint2D.getX()) + beginPoint2D.getY();
-					if ((y >= _dY1) && (y <= _dY2)) {
-						endPoint2D.setLocation(_dX1, endPoint2D.getY());
-						endPoint2D.setLocation(endPoint2D.getX(), y);
-					}
-				}
-			}
-		}
-
-		resultLine[0] = beginPoint2D;
-		resultLine[1] = endPoint2D;
-
-		return resultLine;
-	}
-
-	public boolean equals(Object anObject) {
-		if ((anObject == null) || (!(anObject instanceof Bounds))) {
-			return false;
-		}
-		Bounds aBounds = (Bounds) anObject;
-
-		if ((_dX1 == aBounds.getLesserX()) &&
-				(_dX2 == aBounds.getGreaterX()) &&
-				(_dY1 == aBounds.getLesserY()) &&
-				(_dY2 == aBounds.getGreaterY())) {
-			return true;
-		}
-
-		return false;
-	}
-
-	public int hashCode() {
-		double temp = Math.abs(_dX1 + _dX2 +_dY1 + _dY2);
-		while ((temp != 0) && (temp < 1)) {
-			temp *= 4;
-		}
-
-		return (int) temp;
-	}
-
-	public String toString() {
-		return Double.toString(_dX1) + " " + Double.toString(_dY1)
-			+ " " + Double.toString(_dX2) + " " + Double.toString(_dY2);
-	}
-
-	private double min( double x1, double x2, double x3 ) {
-		return Math.min( Math.min( x1, x2 ), x3 );
-	}
-
-	private double max( double x1, double x2, double x3 ) {
-		return Math.max( Math.max( x1, x2 ), x3 );
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Clipboard.java b/JHotDraw/src/CH/ifa/draw/util/Clipboard.java
deleted file mode 100644
index f48b90596..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Clipboard.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * @(#)Clipboard.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-/**
- * A temporary replacement for a global clipboard.
- * It is a singleton that can be used to store and
- * get the contents of the clipboard.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class Clipboard {
-	static Clipboard fgClipboard = new Clipboard();
-
-	/**
-	 * Gets the clipboard.
-	 */
-	static public Clipboard getClipboard() {
-		return fgClipboard;
-	}
-
-	private Object fContents;
-
-	private Clipboard() {
-	}
-
-	/**
-	 * Sets the contents of the clipboard.
-	 */
-	public void setContents(Object contents) {
-		fContents = contents;
-	}
-
-	/**
-	 * Gets the contents of the clipboard.
-	 */
-	public Object getContents() {
-		return fContents;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/CollectionsFactory.java b/JHotDraw/src/CH/ifa/draw/util/CollectionsFactory.java
deleted file mode 100644
index d5b31baf5..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/CollectionsFactory.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * @(#)CollectionsFactory.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.JHotDrawRuntimeException;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public abstract class CollectionsFactory {
-	private static String JAVA_UTIL_LIST = "java.util.List";
-	private static String COLLECTIONS_FACTORY_PACKAGE = "CH.ifa.draw.util.collections.jdk";
-
-	private static final CollectionsFactory factory = determineCollectionsFactory();
-
-	public abstract List createList();
-
-	public abstract List createList(Collection initList);
-
-	public abstract List createList(int initSize);
-
-	public abstract Map createMap();
-
-	public abstract Map createMap(Map initMap);
-
-	public abstract Set createSet();
-
-	public abstract Set createSet(Set initSet);
-
-	public static CollectionsFactory current() {
-		return factory;
-	}
-
-	protected static CollectionsFactory determineCollectionsFactory() {
-		String jdkVersion = null;
-		if (isJDK12()) {
-			jdkVersion = "12";
-		}
-		else {
-			jdkVersion = "11";
-		}
-		return createCollectionsFactory(jdkVersion);
-	}
-
-	protected static boolean isJDK12() {
-		try {
-			Class.forName(JAVA_UTIL_LIST);
-			return true;
-		}
-		catch (ClassNotFoundException e) {
-			// ignore
-		}
-		return false;
-	}
-
-	protected static CollectionsFactory createCollectionsFactory(String jdkVersion) {
-		try {
-			Class factoryClass = Class.forName(COLLECTIONS_FACTORY_PACKAGE + jdkVersion + ".CollectionsFactoryJDK" + jdkVersion);
-			return (CollectionsFactory)factoryClass.newInstance();
-		}
-		catch (ClassNotFoundException e) {
-			throw new JHotDrawRuntimeException(e);
-		}
-		catch (InstantiationException e) {
-			throw new JHotDrawRuntimeException(e);
-		}
-		catch (IllegalAccessException e) {
-			throw new JHotDrawRuntimeException(e);
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/ColorMap.java b/JHotDraw/src/CH/ifa/draw/util/ColorMap.java
deleted file mode 100644
index 31a1db302..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/ColorMap.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * @(#)ColorMap.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.awt.Color;
-
-class ColorEntry {
-	public String 	fName;
-	public Color 	fColor;
-
-	ColorEntry(String name, Color color) {
-		fColor = color;
-		fName = name;
-	}
-}
-
-/**
- * A map that is filled with some standard colors. The colors
- * can be looked up by name or index.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ColorMap {
-
-	static ColorEntry fMap[] = {
-				new ColorEntry("Black",         Color.black),
-				new ColorEntry("Blue",          Color.blue),
-				new ColorEntry("Green",         Color.green),
-				new ColorEntry("Red",           Color.red),
-				new ColorEntry("Pink",          Color.pink),
-				new ColorEntry("Magenta",       Color.magenta),
-				new ColorEntry("Orange",        Color.orange),
-				new ColorEntry("Yellow",        Color.yellow),
-				new ColorEntry("New Tan",       new Color(0xEBC79E)),
-				new ColorEntry("Aquamarine",    new Color(0x70DB93)),
-				new ColorEntry("Sea Green",     new Color(0x238E68)),
-				new ColorEntry("Dark Gray",     Color.darkGray),
-				new ColorEntry("Light Gray",    Color.lightGray),
-				new ColorEntry("White",         Color.white),
-				// there is no support for alpha values so we use a special value
-				// to represent a transparent color
-				new ColorEntry("None",          new Color(0xFFC79E))
-	};
-
-	public static int size() {
-		return fMap.length;
-	}
-
-	public static Color color(int index) {
-		if (index < size() && index >= 0) {
-			return fMap[index].fColor;
-		}
-
-		throw new ArrayIndexOutOfBoundsException("Color index: " + index);
-	}
-
-	public static Color color(String name) {
-		for (int i = 0; i < fMap.length; i++) {
-			if (fMap[i].fName.equals(name)) {
-				return fMap[i].fColor;
-			}
-		}
-
-		return Color.black;
-	}
-
-	public static String name(int index) {
-		if (index < size() && index >= 0) {
-			return fMap[index].fName;
-		}
-
-		throw new ArrayIndexOutOfBoundsException("Color index: " + index);
-	}
-
-	public static int colorIndex(Color color) {
-		for (int i=0; i<fMap.length; i++) {
-			if (fMap[i].fColor.equals(color)) {
-				return i;
-			}
-		}
-		
-		return 0;
-	}
-
-	public static boolean isTransparent(Color color) {
-		return color.equals(color("None"));
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Command.java b/JHotDraw/src/CH/ifa/draw/util/Command.java
deleted file mode 100644
index 3b661b731..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Command.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * @(#)Command.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.DrawingEditor;
-
-/**
- * Commands encapsulate an action to be executed. Commands have
- * a name and can be used in conjunction with <i>Command enabled</i>
- * ui components.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld010.htm>Command</a></b><br>
- * Command is a simple instance of the command pattern without undo
- * support.
- * <hr>
- *
- * @see CommandButton
- * @see CommandMenu
- * @see CommandChoice
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Command {
-
-	/**
-	 * Executes the command.
-	 */
-	public void execute();
-
-	/**
-	 * Tests if the command can be executed.
-	 */
-	public boolean isExecutable();
-
-	/**
-	 * Gets the command name.
-	 */
-	public String name();
-	
-	public DrawingEditor getDrawingEditor();
-
-	public Undoable getUndoActivity();
-
-	public void setUndoActivity(Undoable newUndoableActivity);
-	
-	public void addCommandListener(CommandListener newCommandListener);
-	public void removeCommandListener(CommandListener oldCommandListener);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/CommandButton.java b/JHotDraw/src/CH/ifa/draw/util/CommandButton.java
deleted file mode 100644
index 36659fa57..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/CommandButton.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * @(#)CommandButton.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.*;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-
-/**
- * A Command enabled button. Clicking the button executes the command.
- *
- * @see Command
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class CommandButton
-		extends JButton implements ActionListener {
-
-	private Command   fCommand;
-
-	/**
-	 * Initializes the button with the given command.
-	 * The command's name is used as the label.
-	 */
-	public CommandButton(Command command) {
-		super(command.name());
-		fCommand = command;
-		addActionListener(this);
-	}
-
-	/**
-	 * Executes the command. If the command's name was changed
-	 * as a result of the command the button's label is updated
-	 * accordingly.
-	 */
-	public void actionPerformed(ActionEvent e) {
-		fCommand.execute();
-		if (!getText().equals(fCommand.name()) ) {
-			setText(fCommand.name());
-		}
-	}
-}
-
-
diff --git a/JHotDraw/src/CH/ifa/draw/util/CommandChoice.java b/JHotDraw/src/CH/ifa/draw/util/CommandChoice.java
deleted file mode 100644
index 45eb57f1c..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/CommandChoice.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * @(#)CommandChoice.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.*;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-import java.util.List;
-
-/**
- * A Command enabled choice. Selecting a choice executes the
- * corresponding command.
- *
- * @see Command
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class CommandChoice extends JComboBox implements ItemListener {
-
-	private List   fCommands;
-
-	public CommandChoice() {
-		super();
-		fCommands = CollectionsFactory.current().createList(10);
-		addItemListener(this);
-	}
-
-	/**
-	 * Adds a command to the menu.
-	 */
-	public synchronized void addItem(Command command) {
-		addItem(command.name());
-		fCommands.add(command);
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void itemStateChanged(ItemEvent e) {
-		if ((getSelectedIndex() >= 0) && (getSelectedIndex() < fCommands.size())) {
-			Command command = (Command)fCommands.get(getSelectedIndex());
-            if (command.isExecutable()) {
-				command.execute();
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/CommandListener.java b/JHotDraw/src/CH/ifa/draw/util/CommandListener.java
deleted file mode 100644
index 13205ae43..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/CommandListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * @(#)CommandListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.util.EventObject;
-
-/**
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface CommandListener {
-	public void commandExecuted(EventObject commandEvent);
-	public void commandExecutable(EventObject commandEvent);
-	public void commandNotExecutable(EventObject commandEvent);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/CommandMenu.java b/JHotDraw/src/CH/ifa/draw/util/CommandMenu.java
deleted file mode 100644
index 2e5bf8c59..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/CommandMenu.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * @(#)CommandMenu.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.JHotDrawRuntimeException;
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-import java.util.*;
-
-/**
- * A Command enabled menu. Selecting a menu item
- * executes the corresponding command.
- *
- * @see Command
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class CommandMenu extends JMenu implements ActionListener, CommandListener {
-
-	private HashMap  hm;
-
-	public CommandMenu(String name) {
-		super(name);
-		hm = new HashMap();
-	}
-
-	/**
-	 * Adds a command to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void add(Command command) {
-		addMenuItem(command, new JMenuItem(command.name()));
-	}
-
-	/**
-	 * Adds a command with the given short cut to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void add(Command command, MenuShortcut shortcut) {
-		addMenuItem(command, new JMenuItem(command.name(), shortcut.getKey()));
-	}
-
-	/**
-	 * Adds a command with the given short cut to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void addCheckItem(Command command) {
-		addMenuItem(command, new JCheckBoxMenuItem(command.name()));
-	}
-
-	protected void addMenuItem(Command command, JMenuItem m) {
-		m.setName(command.name());
-		m.addActionListener(this);
-		add(m);
-		command.addCommandListener(this);
-		hm.put(m, command);
-//		checkEnabled();
-	}
-	
-	public synchronized void remove(Command command) {
-		throw new JHotDrawRuntimeException("not implemented");
-	}
-
-	public synchronized void remove(MenuItem item) {
-		throw new JHotDrawRuntimeException("not implemented");
-	}
-
-	/**
-	 * Changes the enabling/disabling state of a named menu item.
-	 */
-	public synchronized void enable(String name, boolean state) {
-		for (int i = 0; i < getItemCount(); i++) {
-			JMenuItem item = getItem(i);
-			if (name.equals(item.getText())) {
-				item.setEnabled(state);
-				return;
-			}
-		}
-	}
-
-	public synchronized void checkEnabled() {
-		// ignore separators (a separator has a hyphen as its label)
-		for (int i = 0; i < getMenuComponentCount(); i++) {
-			Component c = getMenuComponent(i);
-			Command cmd = (Command) hm.get(c);
-			if (cmd != null) {
-				c.setEnabled(cmd.isExecutable());
-			}
-		}
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void actionPerformed(ActionEvent e) {
-		Object source = e.getSource();
-		for (int i = 0; i < getItemCount(); i++) {
-			JMenuItem item = getItem(i);
-			// ignore separators (a separator has a hyphen as its label)
-			if (source == item) {
-				Command cmd = (Command) hm.get(item);
-				if (cmd != null) {
-				    cmd.execute();
-				}
-				break;
-			}
-		}
-	}
-
-	public void commandExecuted(EventObject commandEvent) {
-//		checkEnabled();
-	}
-	
-	public void commandExecutable(EventObject commandEvent) {
-//		checkEnabled();
-	}
-	
-	public void commandNotExecutable(EventObject commandEvent) {
-//		checkEnabled();
-	}
-}
-
-
diff --git a/JHotDraw/src/CH/ifa/draw/util/Filler.java b/JHotDraw/src/CH/ifa/draw/util/Filler.java
deleted file mode 100644
index 2dbbef5e3..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Filler.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * @(#)Filler.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.JPanel;
-import java.awt.*;
-
-/**
- * A component that can be used to reserve white space in a layout.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class Filler
-		extends JPanel {
-
-	private int     fWidth;
-	private int     fHeight;
-	private Color   fBackground;
-
-
-	public Filler(int width, int height) {
-		this(width, height, null);
-	}
-
-	public Filler(int width, int height, Color background) {
-		fWidth = width;
-		fHeight = height;
-		fBackground = background;
-	}
-
-	public Dimension getMinimumSize() {
-		return new Dimension(fWidth, fHeight);
-	}
-
-	public Dimension getPreferredSize() {
-		return getMinimumSize();
-	}
-
-	public Color getBackground() {
-		if (fBackground != null) {
-			return fBackground;
-		}
-		return super.getBackground();
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/util/FloatingTextField.java b/JHotDraw/src/CH/ifa/draw/util/FloatingTextField.java
deleted file mode 100644
index d2c1eb893..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/FloatingTextField.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)FloatingTextField.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * A text field overlay that is used to edit a TextFigure.
- * A FloatingTextField requires a two step initialization:
- * In a first step the overlay is created and in a
- * second step it can be positioned.
- *
- * @see CH.ifa.draw.figures.TextFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class FloatingTextField {
-
-	private JTextField   fEditWidget;
-	private Container   fContainer;
-
-	public FloatingTextField() {
-		fEditWidget = new JTextField(20);
-	}
-
-	/**
-	 * Creates the overlay for the given Component.
-	 */
-	public void createOverlay(Container container) {
-		createOverlay(container, null);
-	}
-
-	/**
-	 * Creates the overlay for the given Container using a
-	 * specific font.
-	 */
-	public void createOverlay(Container container, Font font) {
-		container.add(fEditWidget, 0);
-		if (font != null) {
-			fEditWidget.setFont(font);
-		}
-		fContainer = container;
-	}
-
-	/**
-	 * Adds an action listener
-	 */
-	public void addActionListener(ActionListener listener) {
-		fEditWidget.addActionListener(listener);
-	}
-
-	/**
-	 * Remove an action listener
-	 */
-	public void removeActionListener(ActionListener listener) {
-		fEditWidget.removeActionListener(listener);
-	}
-
-	/**
-	 * Positions the overlay.
-	 */
-	public void setBounds(Rectangle r, String text) {
-		fEditWidget.setText(text);
-		fEditWidget.setLocation(r.x, r.y);
-		fEditWidget.setSize(r.width, r.height);
-		fEditWidget.setVisible(true);
-		fEditWidget.selectAll();
-		fEditWidget.requestFocus();
-	}
-
-	/**
-	 * Gets the text contents of the overlay.
-	 */
-	public String getText() {
-		return fEditWidget.getText();
-	}
-
-	/**
-	 * Gets the preferred size of the overlay.
-	 */
-	public Dimension getPreferredSize(int cols) {
-		fEditWidget.setColumns(cols);
-		return fEditWidget.getPreferredSize();
-	}
-
-	/**
-	 * Removes the overlay.
-	 */
-	public void endOverlay() {
-		fContainer.requestFocus();
-		if (fEditWidget != null) {
-			fEditWidget.setVisible(false);
-			fContainer.remove(fEditWidget);
-
-			Rectangle bounds = fEditWidget.getBounds();
-			fContainer.repaint(bounds.x, bounds.y, bounds.width, bounds.height);
-		}
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/util/Geom.java b/JHotDraw/src/CH/ifa/draw/util/Geom.java
deleted file mode 100644
index 5c3f50488..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Geom.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*
- * @(#)Geom.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.awt.Rectangle;
-import java.awt.Point;
-import java.awt.geom.Line2D;
-
-/**
- * Some geometric utilities.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class Geom {
-
-	private Geom() {} // never instantiated
-
-	/**
-	 * Tests if a point is on a line.
-	 */
-	static public boolean lineContainsPoint(int x1, int y1,
-							int x2, int y2,
-							int px, int py) {
-
-		Rectangle r = new Rectangle(new Point(x1, y1));
-		r.add(x2, y2);
-		r.grow(2, 2);
-		if (! r.contains(px,py)) {
-			return false;
-		}
-
-		double a, b, x, y;
-
-		if (x1 == x2) {
-			return (Math.abs(px - x1) < 3);
-		}
-		if (y1 == y2) {
-			return (Math.abs(py - y1) < 3);
-		}
-
-		a = (y1 - y2) / (x1 - x2);
-		b = y1 - a * x1;
-		x = (py - b) / a;
-		y = a * px + b;
-
-		return (Math.min(Math.abs(x - px), Math.abs(y - py)) < 4);
-	}
-
-	static public final int NORTH = 1;
-	static public final int SOUTH = 2;
-	static public final int WEST = 3;
-	static public final int EAST = 4;
-
-	/**
-	 * Returns the direction NORTH, SOUTH, WEST, EAST from
-	 * one point to another one.
-	 */
-	static public int direction(int x1, int y1, int x2, int y2) {
-		int direction = 0;
-		int vx = x2 - x1;
-		int vy = y2 - y1;
-
-		if (vy < vx && vx > -vy) {
-			direction = EAST;
-		}
-		else if (vy > vx && vy > -vx) {
-			direction = NORTH;
-		}
-		else if (vx < vy && vx < -vy) {
-			direction = WEST;
-		}
-		else {
-			direction = SOUTH;
-		}
-		return direction;
-	}
-
-	static public Point south(Rectangle r) {
-		return new Point(r.x + r.width /2, r.y + r.height);
-	}
-
-	static public Point center(Rectangle r) {
-		return new Point(r.x + r.width /2, r.y + r.height/2);
-	}
-
-	static public Point west(Rectangle r) {
-		return new Point(r.x, r.y + r.height/ 2);
-	}
-
-	static public Point east(Rectangle r) {
-		return new Point(r.x+r.width, r.y + r.height/ 2);
-	}
-
-	static public Point north(Rectangle r) {
-		return new Point(r.x+r.width/2, r.y);
-	}
-
-	/**
-	 * Returns the corner (bottom right) of the rectangle
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point corner(Rectangle r)
-	{
-		return new Point((int)r.getMaxX(), (int)r.getMaxY());
-	}
-
-
-	/**
-	 * Returns the top left corner of the rectangle
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point topLeftCorner(Rectangle r)
-	{
-		return r.getLocation();
-	}
-
-
-	/**
-	 * Returns the top right corner of the rectangle
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point topRightCorner(Rectangle r)
-	{
-		return new Point((int)r.getMaxX(), (int)r.getMinY());
-	}
-
-
-	/**
-	 * Returns the bottom left corner of the rectangle
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point bottomLeftCorner(Rectangle r)
-	{
-		return new Point((int)r.getMinX(), (int)r.getMaxY());
-	}
-
-
-	/**
-	 * Returns the bottom right corner of the rectangle.
-	 * Same as corner, added for naming coherence with the other
-	 * corner extracting methods
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point bottomRightCorner(Rectangle r)
-	{
-		return corner(r);
-	}
-
-	/**
-	 * Constains a value to the given range.
-	 * @return the constrained value
-	 */
-	static public int range(int min, int max, int value) {
-		if (value < min) {
-			value = min;
-		}
-		if (value > max) {
-			value = max;
-		}
-		return value;
-	}
-
-	/**
-	 * Gets the square distance between two points.
-	 */
-	static public long length2(int x1, int y1, int x2, int y2) {
-		return (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1);
-	}
-
-	/**
-	 * Gets the distance between to points
-	 */
-	static public long length(int x1, int y1, int x2, int y2) {
-		return (long)Math.sqrt(length2(x1, y1, x2, y2));
-	}
-
-	/**
-	 * Gets the angle of a point relative to a rectangle.
-	 */
-	static public double pointToAngle(Rectangle r, Point p) {
-		int px = p.x - (r.x + r.width/2);
-		int py = p.y - (r.y + r.height/2);
-		return Math.atan2(py*r.width, px*r.height);
-	}
-
-	/**
-	 * Gets the point on a rectangle that corresponds to the given angle.
-	 */
-	static public Point angleToPoint(Rectangle r, double angle) {
-		double si = Math.sin(angle);
-		double co = Math.cos(angle);
-		double e = 0.0001;
-
-		int x= 0, y= 0;
-		if (Math.abs(si) > e) {
-			x= (int) ((1.0 + co/Math.abs(si))/2.0 * r.width);
-			x= range(0, r.width, x);
-		}
-		else if (co >= 0.0) {
-			x= r.width;
-		}
-		if (Math.abs(co) > e) {
-			y= (int) ((1.0 + si/Math.abs(co))/2.0 * r.height);
-			y= range(0, r.height, y);
-		}
-		else if (si >= 0.0) {
-			y= r.height;
-		}
-		return new Point(r.x + x, r.y + y);
-	}
-
-	/**
-	 * Converts a polar to a point
-	 */
-	static public Point polarToPoint(double angle, double fx, double fy) {
-		double si = Math.sin(angle);
-		double co = Math.cos(angle);
-		return new Point((int)(fx*co+0.5), (int)(fy*si+0.5));
-	}
-
-	/**
-	 * Gets the point on an oval that corresponds to the given angle.
-	 */
-	static public Point ovalAngleToPoint(Rectangle r, double angle) {
-		Point center = Geom.center(r);
-		Point p = Geom.polarToPoint(angle, r.width/2, r.height/2);
-		return new Point(center.x + p.x, center.y + p.y);
-	}
-
-	/**
-	 * Standard line intersection algorithm
-	 * Return the point of intersection if it exists, else null
-	 **/
-	// from Doug Lea's PolygonFigure
-	static public Point intersect(int xa, // line 1 point 1 x
-								int ya, // line 1 point 1 y
-								int xb, // line 1 point 2 x
-								int yb, // line 1 point 2 y
-								int xc, // line 2 point 1 x
-								int yc, // line 2 point 1 y
-								int xd, // line 2 point 2 x
-								int yd) { // line 2 point 2 y
-
-		// source: http://vision.dai.ed.ac.uk/andrewfg/c-g-a-faq.html
-		// eq: for lines AB and CD
-		//     (YA-YC)(XD-XC)-(XA-XC)(YD-YC)
-		// r = -----------------------------  (eqn 1)
-		//     (XB-XA)(YD-YC)-(YB-YA)(XD-XC)
-		//
-		//     (YA-YC)(XB-XA)-(XA-XC)(YB-YA)
-		// s = -----------------------------  (eqn 2)
-		//     (XB-XA)(YD-YC)-(YB-YA)(XD-XC)
-		//  XI = XA + r(XB-XA)
-		//  YI = YA + r(YB-YA)
-	
-		double denom = ((xb - xa) * (yd - yc) - (yb - ya) * (xd - xc));
-	
-		double rnum = ((ya - yc) * (xd - xc) - (xa - xc) * (yd - yc));
-
-		if (denom == 0.0) { // parallel
-			if (rnum == 0.0) { // coincident; pick one end of first line
-				if ((xa < xb && (xb < xc || xb < xd)) ||
-					(xa > xb && (xb > xc || xb > xd))) {
-					return new Point(xb, yb);
-				}
-				else {
-					return new Point(xa, ya);
-				}
-			}
-			else {
-				return null;
-			}
-		}
-
-		double r = rnum / denom;
-		double snum = ((ya - yc) * (xb - xa) - (xa - xc) * (yb - ya));
-		double s = snum / denom;
-
-		if (0.0 <= r && r <= 1.0 && 0.0 <= s && s <= 1.0) {
-			int px = (int)(xa + (xb - xa) * r);
-			int py = (int)(ya + (yb - ya) * r);
-			return new Point(px, py);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * compute distance of point from line segment, or
-	 * Double.MAX_VALUE if perpendicular projection is outside segment; or
-	 * If pts on line are same, return distance from point
-	 **/
-	// from Doug Lea's PolygonFigure
-	public static double distanceFromLine(int xa, int ya,
-										int xb, int yb,
-										int xc, int yc) {
-
-
-		// source:http://vision.dai.ed.ac.uk/andrewfg/c-g-a-faq.html#q7
-		//Let the point be C (XC,YC) and the line be AB (XA,YA) to (XB,YB).
-		//The length of the
-		//      line segment AB is L:
-		//
-		//                    ___________________
-		//                   |        2         2
-		//              L = \| (XB-XA) + (YB-YA)
-		//and
-		//
-		//                  (YA-YC)(YA-YB)-(XA-XC)(XB-XA)
-		//              r = -----------------------------
-		//                              L**2
-		//
-		//                  (YA-YC)(XB-XA)-(XA-XC)(YB-YA)
-		//              s = -----------------------------
-		//                              L**2
-		//
-		//      Let I be the point of perpendicular projection of C onto AB, the
-		//
-		//              XI=XA+r(XB-XA)
-		//              YI=YA+r(YB-YA)
-		//
-		//      Distance from A to I = r*L
-		//      Distance from C to I = s*L
-		//
-		//      If r < 0 I is on backward extension of AB
-		//      If r>1 I is on ahead extension of AB
-		//      If 0<=r<=1 I is on AB
-		//
-		//      If s < 0 C is left of AB (you can just check the numerator)
-		//      If s>0 C is right of AB
-		//      If s=0 C is on AB
-
-		int xdiff = xb - xa;
-		int ydiff = yb - ya;
-		long l2 = xdiff * xdiff + ydiff * ydiff;
-
-		if (l2 == 0) {
-			return Geom.length(xa, ya, xc, yc);
-		}
-
-		double rnum =  (ya - yc) * (ya - yb) - (xa - xc) * (xb - xa);
-		double r = rnum / l2;
-
-		if (r < 0.0 || r > 1.0) {
-			return Double.MAX_VALUE;
-		}
-
-		double xi = xa + r * xdiff;
-		double yi = ya + r * ydiff;
-		double xd = xc - xi;
-		double yd = yc - yi;
-		return Math.sqrt(xd * xd + yd * yd);
-
-		/*
-			for directional version, instead use
-			double snum =  (ya-yc) * (xb-xa) - (xa-xc) * (yb-ya);
-			double s = snum / l2;
-
-			double l = Math.sqrt((double)l2);
-			return = s * l;
-			*/
-	}
-
-	/**
-	 * compute distance of point from line segment.<br>
-	 * Uses AWT Line2D utility methods
-	 */
-	public static double distanceFromLine2D(int xa, int ya,
-										int xb, int yb,
-										int xc, int yc) {
-		Line2D.Double line = new Line2D.Double(xa, xb, ya, yb);
-		return line.ptSegDist(xc, yc);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/GraphLayout.java b/JHotDraw/src/CH/ifa/draw/util/GraphLayout.java
deleted file mode 100644
index 34d8128d4..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/GraphLayout.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * @(#)GraphLayout.java
- *
- * The original file Graph.java (1.5 99/11/29) is
- * Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
- * Adapted by F. Wienberg, 1999
- *
- * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
- * modify and redistribute this software in source and binary code form,
- * provided that i) this copyright notice and license appear on all copies of
- * the software; and ii) Licensee does not utilize the software in a manner
- * which is disparaging to Sun.
- *
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
- * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
- * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
- * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
- * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
- * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
- * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
- * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
- * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * This software is not designed or intended for use in on-line control of
- * aircraft, air traffic, aircraft navigation or aircraft communications; or in
- * the design, construction, operation or maintenance of any nuclear
- * facility. Licensee represents and warrants that it will not use or
- * redistribute the Software for such purposes.
- */
-
-package CH.ifa.draw.util;
-
-import java.util.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import java.awt.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class GraphLayout extends FigureChangeAdapter {
-	public double LENGTH_FACTOR=1.0;
-	public double REPULSION_STRENGTH=0.5;
-	public double REPULSION_LIMIT=200.0;
-	int REPULSION_TYPE=0; // 0: (1-r)/r   1: 1-r   2: (1-r)^2
-	public double SPRING_STRENGTH=0.1;
-	public double TORQUE_STRENGTH=0.25;
-	public double FRICTION_FACTOR=0.75;
-
-	private Hashtable nodes = new Hashtable(),
-				  edges = new Hashtable();
-
-	public GraphLayout() {}
-
-	private GraphNode getGraphNode(Figure node) {
-		  return (GraphNode)nodes.get(node);
-	}
-
-	private double len(Figure edge) {
-		  return ((Double)edges.get(edge)).doubleValue()*LENGTH_FACTOR;
-	}
-
-	public void addNode(Figure node) {
-		  nodes.put(node, new GraphNode(node));
-		  node.addFigureChangeListener(this);
-	}
-
-	public void addEdge(ConnectionFigure edge, int addlen) {
-		  Dimension d1 = edge.getStartConnector().owner().size();
-		  Dimension d2 = edge.getEndConnector().owner().size();
-		  int len = Math.max(d1.width,d1.height)/2 +
-				Math.max(d2.width,d2.height)/2 + addlen;
-		  edges.put(edge, new Double(len));
-	}
-
-	public synchronized void relax() {
-		  if (nodes == null)
-			  return;
-		  Enumeration edgeEnum = edges.keys();
-		  while (edgeEnum.hasMoreElements()) {
-			  ConnectionFigure e = (ConnectionFigure)edgeEnum.nextElement();
-			  double targetlen = len(e);
-			  GraphNode from = getGraphNode(e.getStartConnector().owner());
-			  GraphNode to = getGraphNode(e.getEndConnector().owner());
-			  double vx = to.x - from.x;
-			  double vy = to.y - from.y;
-			  double len = Math.sqrt(vx * vx + vy * vy);
-
-			  if (len>0) {
-				  double f = SPRING_STRENGTH * (targetlen - len) / len;
-					  double dx = f * vx;
-					  double dy = f * vy;
-
-					  double phi=Math.atan2(vx,vy);
-					  double dir=-Math.sin(4*phi);
-					  dx += TORQUE_STRENGTH*vy*dir/len;
-					  dy += -TORQUE_STRENGTH*vx*dir/len;
-
-					  to.dx += dx;
-					  to.dy += dy;
-					  from.dx += -dx;
-					  from.dy += -dy;
-				}
-			}
-
-			Enumeration nodeEnum1 = nodes.elements();
-			while (nodeEnum1.hasMoreElements()) {
-				GraphNode n1 = (GraphNode)nodeEnum1.nextElement();
-				double dx = 0;
-				double dy = 0;
-
-				Enumeration nodeEnum2 = nodes.elements();
-				while (nodeEnum2.hasMoreElements()) {
-					  GraphNode n2 = (GraphNode)nodeEnum2.nextElement();
-					  if (n1 == n2) {
-						  continue;
-					  }
-					  double vx = n1.x - n2.x;
-					  double vy = n1.y - n2.y;
-					  double lensqr = vx * vx + vy * vy;
-					  double len = Math.sqrt(lensqr);
-					  if (len == 0) {
-						  dx += REPULSION_STRENGTH * Math.random();
-						  dy += REPULSION_STRENGTH * Math.random();
-					  }
-					  else if (len < REPULSION_LIMIT) {
-						  // Normalize length.
-						  vx=vx/REPULSION_LIMIT;
-						  vy=vy/REPULSION_LIMIT;
-						  len=len/REPULSION_LIMIT;
-						  // Compute force.
-						  double f=0;
-
-						  switch (REPULSION_TYPE) {
-							  case 0:
-								  f = 0.5 * (1 - len) / len;
-									break;
-							  case 1:
-								  f = 1 - len;
-									break;
-							  case 2:
-								  f = 2 * (1 - len) * (1 - len);
-									break;
-						  }
-
-						f *= REPULSION_STRENGTH;
-						dx += f * vx;
-						dy += f * vy;
-					}
-			  }
-
-			  n1.dx += dx;
-			  n1.dy += dy;
-		  }
-
-		  Enumeration nodeEnum = nodes.keys();
-		  while (nodeEnum.hasMoreElements()) {
-			  Figure node = (Figure)nodeEnum.nextElement();
-			  GraphNode n = getGraphNode(node);
-			  if (!Boolean.TRUE.equals(node.getAttribute(FigureAttributeConstant.LOCATION))) {
-					n.x += Math.max(-5, Math.min(5, n.dx));
-					n.y += Math.max(-5, Math.min(5, n.dy));
-					Point c = node.center();
-					node.moveBy((int)Math.round(n.x)-c.x,
-							(int)Math.round(n.y)-c.y);
-
-					//System.out.println("v= " + n.dx + "," + n.dy);
-					if (n.x < 0) {
-						n.x = 0;
-					}
-					if (n.y < 0) {
-						n.y = 0;
-					}
-			  }
-			  n.dx *= FRICTION_FACTOR;
-			  n.dy *= FRICTION_FACTOR;
-		  }
-	}
-
-	/**
-	 * Sent when a figure changed
-	 */
-	synchronized public void figureChanged(FigureChangeEvent e) {
-		  if (nodes!=null) {
-			  Figure node = e.getFigure();
-			  if (nodes.containsKey(node)) {
-				  getGraphNode(node).update();
-			  }
-		  }
-	}
-
-	public void remove() {
-		  if (nodes!=null) {
-			  Enumeration nodeEnum = nodes.keys();
-			  while (nodeEnum.hasMoreElements()) {
-					Figure node = (Figure)nodeEnum.nextElement();
-					node.removeFigureChangeListener(this);
-			  }
-			  nodes = null;
-			  edges = null;
-		  }
-	}
-}
-
-class GraphNode {
-	double x=0.0, y=0.0;
-	double dx=0.0;
-	double dy=0.0;
-	final Figure node;
-
-	GraphNode(Figure newNode) {
-		  node = newNode;
-		  update();
-	}
-
-	void update() {
-		  Point p = node.center();
-		  if (Math.abs(p.x - Math.round(x))>1 ||
-			  Math.abs(p.y - Math.round(y))>1) {
-			  x = p.x;
-			  y = p.y;
-			  //System.out.println(this+" has new coords: "+x+","+y+"\n");
-		  }
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Iconkit.java b/JHotDraw/src/CH/ifa/draw/util/Iconkit.java
deleted file mode 100644
index 91189ec5f..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Iconkit.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * @(#)Iconkit.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.image.ImageProducer;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Hashtable;
-
-/**
- * The Iconkit class supports the sharing of images. It maintains
- * a map of image names and their corresponding images.
- *
- * Iconkit also supports to load a collection of images in
- * synchronized way.
- * The resolution of a path name to an image is delegated to the DrawingEditor.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld031.htm>Singleton</a></b><br>
- * The Iconkit is a singleton.
- * <hr>
- *
- * @version <$CURRENT_VERSION$>
- */
-public class Iconkit {
-	private Map                 fMap;
-	private List                fRegisteredImages;
-	private Component           fComponent;
-	private final static int    ID = 123;
-	private static Iconkit      fgIconkit = null;
-	private static boolean      fgDebug = false;
-
-	/**
-	 * Constructs an Iconkit that uses the given editor to
-	 * resolve image path names.
-	 */
-	public Iconkit(Component component) {
-		fMap = new Hashtable(53);
-		fRegisteredImages = CollectionsFactory.current().createList(10);
-		fComponent = component;
-		fgIconkit = this;
-	}
-
-	/**
-	 * Gets the single instance
-	 */
-	public static Iconkit instance() {
-		return fgIconkit;
-	}
-
-	/**
-	 * Loads all registered images.
-	 * @see #registerImage
-	 */
-	public void loadRegisteredImages(Component component) {
-		if (fRegisteredImages.size() == 0)
-			return;
-
-		MediaTracker tracker = new MediaTracker(component);
-
-		// register images with MediaTracker
-		Iterator iter = fRegisteredImages.iterator();
-		while (iter.hasNext()) {
-			String fileName = (String)iter.next();
-			if (basicGetImage(fileName) == null) {
-				tracker.addImage(loadImage(fileName), ID);
-			}
-		}
-		fRegisteredImages.clear();
-
-		// block until all images are loaded
-		try {
-			tracker.waitForAll();
-		}
-		catch (Exception e) {
-			// ignore: do nothing
-		}
-	}
-
-	/**
-	 * Registers an image that is then loaded together with
-	 * the other registered images by loadRegisteredImages.
-	 * @see #loadRegisteredImages
-	 */
-	public void registerImage(String fileName) {
-		fRegisteredImages.add(fileName);
-	}
-
-	/**
-	 * Registers and loads an image.
-	 */
-	public Image registerAndLoadImage(Component component, String fileName) {
-		registerImage(fileName);
-		loadRegisteredImages(component);
-		return getImage(fileName);
-	}
-
-	/**
-	 * Loads an image with the given name.
-	 */
-	public Image loadImage(String filename) {
-		if (fMap.containsKey(filename)) {
-			return (Image) fMap.get(filename);
-		}
-		Image image = loadImageResource(filename);
-		if (image != null) {
-			fMap.put(filename, image);
-		}
-		return image;
-	}
-
-	public Image loadImage(String filename, boolean waitForLoad) {
-		Image image = loadImage(filename);
-		if (image!=null && waitForLoad) {
-			ImageIcon icon = new ImageIcon(image);
-			image = icon.getImage(); //this forces the wait to happen
-		}
-		return image;
-	}
-
-	public Image loadImageResource(String resourcename) {
-		Toolkit toolkit = Toolkit.getDefaultToolkit();
-		try {
-			URL url = getClass().getResource(resourcename);
-			if (fgDebug) {
-				System.out.println(resourcename);
-			}
-			return toolkit.createImage((ImageProducer) url.getContent());
-		}
-		catch (Exception ex) {
-			return null;
-		}
-	}
-
-	/**
-	 * Gets the image with the given name. If the image
-	 * can't be found it tries it again after loading
-	 * all the registered images.
-	 */
-	public Image getImage(String filename) {
-		Image image = basicGetImage(filename);
-		if (image != null) {
-			return image;
-		}
-		// load registered images and try again
-		loadRegisteredImages(fComponent);
-		// try again
-		return basicGetImage(filename);
-	}
-
-	private Image basicGetImage(String filename) {
-		if (fMap.containsKey(filename)) {
-			return (Image) fMap.get(filename);
-		}
-		return null;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/JDOStorageFormat.java b/JHotDraw/src/CH/ifa/draw/util/JDOStorageFormat.java
deleted file mode 100644
index 6ed15f1e9..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/JDOStorageFormat.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * @(#)SerializationStorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.StandardDrawing;
-
-import java.io.*;
-import java.util.*;
-import java.util.List;
-import java.awt.*;
-
-import javax.jdo.*;
-import javax.swing.*;
-import javax.swing.event.ListSelectionListener;
-import javax.swing.event.ListSelectionEvent;
-
-
-/**
- * @author Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class JDOStorageFormat extends StandardStorageFormat {
-
-	private Map pms;
-
-	/**
-	 * Create a SerialzationStorageFormat for storing and restoring Drawings.
-	 */
-	public JDOStorageFormat() {
-		super();
-		pms = CollectionsFactory.current().createMap();
-		// close database connection when application exits
-		Runtime.getRuntime().addShutdownHook(new Thread() {
-			public void run() {
-				Iterator iter = pms.values().iterator();
-//				while (iter.hasNext()) {
-//					((PersistenceManager)iter.next()).close();
-//				}
-			}
-		});
-	}
-
-	/**
-	 * Factory method to create the file extension recognized by the FileFilter for this
-	 * SerializationStorageFormat. The SerializationStorageFormat has the file extension "ser"
-	 * (e.g. my_picasso.ser).
-	 *
-	 * @return new file extension
-	 */
-	protected String createFileExtension() {
-		return "j2";
-	}
-
-	/**
-	 * Factory method to create a file description for the file type when displaying the
-	 * associated FileFilter.
-	 *
-	 * @return new file description
-	 */
-	public String createFileDescription() {
-		return "Database (" + getFileExtension() + ")";
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.StorageFormat#isRestoreFormat()
-	 */
-	public boolean isRestoreFormat() {
-		return true;
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.StorageFormat#isStoreFormat()
-	 */
-	public boolean isStoreFormat() {
-		return true;
-	}
-
-	/**
-	 * Store a Drawing under a given name. The name should be valid with regard to the FileFilter
-	 * that means, it should already contain the appropriate file extension.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param storeDrawing drawing to be saved
-	 */
-	public String store(String fileName, Drawing storeDrawing) throws IOException {
-		PersistenceManager pm = getPersistenceManager(fileName);
-		String drawingName = null;
-
-		Drawing txnDrawing = crossTxnBoundaries(storeDrawing);
-		endTransaction(pm, false);
-
-		startTransaction(pm);
-		try {
-			Extent extent = pm.getExtent(StandardDrawing.class, true);
-			DrawingListModel listModel = new DrawingListModel(extent.iterator());
-			drawingName = showStoreDialog(listModel, storeDrawing);
-			if (drawingName != null) {
-				storeDrawing.setTitle(drawingName);
-				txnDrawing.setTitle(drawingName);
-				pm.makePersistent(txnDrawing);
-			}
-		}
-		finally {
-			endTransaction(pm, (drawingName != null));
-		}
-
-		// there must be always a transaction running
-		startTransaction(pm);
-		return drawingName;
-	}
-
-	/**
-	 * Restore a Drawing from a file with a given name. The name must be should with regard to the
-	 * FileFilter that means, it should have the appropriate file extension.
-	 *
-	 * @param fileName of the file in which the Drawing has been saved
-	 * @return restored Drawing
-	 */
-	public synchronized Drawing restore(String fileName) throws IOException {
-		PersistenceManager pm = getPersistenceManager(fileName);
-
-		endTransaction(pm, false);
-		startTransaction(pm);
-		Drawing restoredDrawing  = null;
-
-		try {
-			Extent extent = pm.getExtent(StandardDrawing.class, true);
-			DrawingListModel listModel = new DrawingListModel(extent.iterator());
-			Drawing txnDrawing = showRestoreDialog(listModel);
-			if (txnDrawing != null) {
-//				pm.retrieve(txnDrawing);
-//				retrieveAll(pm, (StandardDrawing)txnDrawing);
-//				restoredDrawing = crossTxnBoundaries(txnDrawing);
-				restoredDrawing = txnDrawing;
-			}
-		}
-		finally {
-			endTransaction(pm, false);
-		}
-
-		// there must be always a transaction running
-		startTransaction(pm);
-		return restoredDrawing;
-	}
-
-	private void retrieveAll(PersistenceManager pm, Figure figure) {
-		pm.retrieve(figure);
-		FigureEnumeration fe = figure.figures();
-		while (fe.hasNextFigure()) {
-			retrieveAll(pm, fe.nextFigure());
-		}
-	}
-
-	private Drawing crossTxnBoundaries(Drawing originalDrawing) {
-		return (Drawing)((StandardDrawing)originalDrawing).clone();
-//		return originalDrawing;
-	}
-
-	private synchronized PersistenceManager getPersistenceManager(String fileName) {
-		PersistenceManager pm = (PersistenceManager)pms.get(fileName);
-		if (pm == null) {
-			pm = createPersistenceManagerFactory(fileName).getPersistenceManager();
-			pms.put(fileName, pm);
-		}
-		return pm;
-	}
-
-	private PersistenceManagerFactory createPersistenceManagerFactory(String dbFileName) {
-		Properties pmfProps = new Properties();
-
-        pmfProps.put(
-            "javax.jdo.PersistenceManagerFactoryClass",
-            "com.poet.jdo.PersistenceManagerFactories" );
-        pmfProps.put(
-            "javax.jdo.option.ConnectionURL",
-            "fastobjects://LOCAL/MyBase.j1" );
-        final PersistenceManagerFactory pmf =
-            JDOHelper.getPersistenceManagerFactory( pmfProps );
-
-		return pmf;
-	}
-
-	private static void startTransaction(PersistenceManager pm) {
-		if (!pm.currentTransaction().isActive()) {
-			pm.currentTransaction().begin();
-		}
-	}
-
-	private static void endTransaction(PersistenceManager pm, boolean doCommit) {
-		if (pm.currentTransaction().isActive()) {
-			if (doCommit) {
-				pm.currentTransaction().commit();
-			}
-			else {
-				pm.currentTransaction().rollback();
-			}
-		}
-	}
-
-	private String showStoreDialog(ListModel listModel, Drawing storeDrawing) {
-		final String msgString = "Specify a name for the drawing";
-
-		final JTextField nameTextField = new JTextField(storeDrawing.getTitle());
-		final JList dataList = new JList(listModel);
-		final JScrollPane dbContentScrollPane = new JScrollPane(dataList);
-		Object[] guiComponents = {msgString, dbContentScrollPane, nameTextField};
-
-		dataList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-		dataList.setValueIsAdjusting(true);
-		dataList.addListSelectionListener(new ListSelectionListener() {
-            public void valueChanged(ListSelectionEvent e) {
-				nameTextField.setText(dataList.getSelectedValue().toString());
-			}
-		});
-
-		final JOptionPane optionPane = new JOptionPane(
-			guiComponents,
-			JOptionPane.PLAIN_MESSAGE,
-			JOptionPane.OK_CANCEL_OPTION);
-
-		final JDialog dialog = optionPane.createDialog(null, "Restore a drawing from the database");
-//		dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
-//		dialog.addWindowListener(new WindowAdapter() {
-//			public void windowClosing(WindowEvent we) {
-//				System.exit(0);
-//			}
-//		});
-		dialog.setVisible(true);
-		if ((optionPane.getValue() != null) && (optionPane.getValue().equals(new Integer(JOptionPane.OK_OPTION)))) {
-			return nameTextField.getText();
-		}
-		else {
-			return null;
-		}
-	}
-
-	private Drawing showRestoreDialog(DrawingListModel listModel) {
-		final String msgString = "Select a drawing";
-
-		final JList dataList = new JList(listModel);
-		final JScrollPane dbContentScrollPane = new JScrollPane(dataList);
-		Object[] guiComponents = {msgString, dbContentScrollPane};
-
-		dataList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-		dataList.setValueIsAdjusting(true);
-
-		final JOptionPane optionPane = new JOptionPane(
-			guiComponents,
-			JOptionPane.PLAIN_MESSAGE,
-			JOptionPane.OK_CANCEL_OPTION);
-
-		final JDialog dialog = optionPane.createDialog(null, "Restore a drawing from the database");
-		dialog.setVisible(true);
-		if ((optionPane.getValue() != null)
-				&& (optionPane.getValue().equals(new Integer(JOptionPane.OK_OPTION)))
-				&& (dataList.getSelectedIndex() >= 0)
-				&& (dataList.getSelectedIndex() < dataList.getModel().getSize())) {
-			return listModel.getDrawingAt(dataList.getSelectedIndex());
-		}
-		else {
-			return null;
-		}
-	}
-
-	static class DrawingListModel extends AbstractListModel {
-		private List myList;
-
-		DrawingListModel(Iterator iter) {
-			myList = CollectionsFactory.current().createList();
-			while (iter.hasNext()) {
-				Object o = iter.next();
-				System.out.println("extent: " + o + " .. " + ((Drawing)o).getTitle());
-				myList.add(o);
-			}
-		}
-
-		public Object getElementAt(int index) {
-			return getDrawingAt(index).getTitle();
-		}
-
-		protected Drawing getDrawingAt(int index) {
-			return ((Drawing)myList.get(index));
-		}
-
-		public int getSize() {
-			return myList.size();
-		}
-	}
-
-	static class DrawingSelector extends JDialog {
-		DrawingSelector() {
-			init();
-		}
-
-		private void init() {
-			setTitle("Select Drawing");
-			getContentPane().setLayout(new BorderLayout());
-			getContentPane().add(new JLabel("Database content"), BorderLayout.NORTH);
-			setSize(200, 200);
-		}
-	}
-
-	public static void main(String[] args) {
-		DrawingSelector frame = new DrawingSelector();
-		try {
-			Drawing newDrawing = new StandardDrawing();
-			newDrawing.setTitle("TestDrawingName" + new Random(System.currentTimeMillis()).nextLong());
-			new JDOStorageFormat().store("base.j2", newDrawing);
-			System.exit(0);
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-		}
-//		frame.setVisible(true);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/PaletteButton.java b/JHotDraw/src/CH/ifa/draw/util/PaletteButton.java
deleted file mode 100644
index eb7281772..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/PaletteButton.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * @(#)PaletteButton.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.*;
-import java.awt.event.*;
-
-/**
- * A palette button is a three state button. The states are normal
- * pressed and selected. It uses to the palette listener interface
- * to notify about state changes.
- *
- * @see PaletteListener
- * @see PaletteLayout
- *
- * @version <$CURRENT_VERSION$>
-*/
-public abstract class PaletteButton
-				extends JButton
-				implements MouseListener, MouseMotionListener {
-
-	protected static final int NORMAL = 1;
-	protected static final int PRESSED = 2;
-	protected static final int SELECTED = 3;
-
-	private int             fState;
-	private int             fOldState;
-
-	private PaletteListener  fListener;
-
-	/**
-	 * Constructs a PaletteButton.
-	 * @param listener the listener to be notified.
-	 */
-	public PaletteButton(PaletteListener listener) {
-		fListener = listener;
-		fState = fOldState = NORMAL;
-		addMouseListener(this);
-		addMouseMotionListener(this);
-	}
-
-	public Object value() {
-		return null;
-	}
-
-	public String name() {
-		return "";
-	}
-
-	public void reset() {
-		if (isEnabled()) {
-			fState = NORMAL;
-			setSelected(false);
-			repaint();
-		}
-	}
-
-	public void select() {
-		if (isEnabled()) {
-			fState = SELECTED;
-			setSelected(true);
-			repaint();
-		}
-	}
-
-	public void mousePressed(MouseEvent e) {
-		if (isEnabled()) {
-			fOldState = fState;
-			fState = PRESSED;
-			repaint();
-		}
-	}
-
-	public void mouseDragged(MouseEvent e) {
-		if (isEnabled()) {
-			if (contains(e.getX(),e.getY())) {
-				fState = PRESSED;
-			}
-			else {
-				fState = fOldState;
-			}
-			repaint();
-		}
-	}
-
-	public void mouseReleased(MouseEvent e) {
-		if (isEnabled()) {
-			fState = fOldState;
-			repaint();
-			if (contains(e.getX(),e.getY())) {
-				fListener.paletteUserSelected(this);
-			}
-		}
-	}
-
-	public void mouseMoved(MouseEvent e) {
-		fListener.paletteUserOver(this, true);
-	}
-
-	public void mouseExited(MouseEvent e) {
-		if (fState == PRESSED) {
-			// JDK1.1 on MS-Windows sometimes looses mouse released
-			mouseDragged(e);
-		}
-		fListener.paletteUserOver(this, false);
-	}
-
-	public void mouseClicked(MouseEvent e) {}
-	public void mouseEntered(MouseEvent e) {}
-
-//  Not necessary anymore in JFC due to the support of Icons in JButton
-/*
-	public abstract void paintBackground(Graphics g);
-	public abstract void paintNormal(Graphics g);
-	public abstract void paintPressed(Graphics g);
-	public abstract void paintSelected(Graphics g);
-
-	public void update(Graphics g) {
-		paint(g);
-	}
-	
-	public void paint(Graphics g) {
-		paintBackground(g);
-
-		switch (fState) {
-		case PRESSED:
-			paintPressed(g);
-			break;
-		case SELECTED:
-			paintSelected(g);
-			break;
-		case NORMAL:
-		default:
-			paintNormal(g);
-			break;
-		}
-	}
-*/
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/PaletteIcon.java b/JHotDraw/src/CH/ifa/draw/util/PaletteIcon.java
deleted file mode 100644
index 90f4e821b..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/PaletteIcon.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * @(#)PaletteIcon.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.awt.*;
-
-/**
- * A three state icon that can be used in Palettes.
- *
- * @see PaletteButton
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class PaletteIcon extends Object {
-
-	Image       fNormal;
-	Image       fPressed;
-	Image       fSelected;
-	Dimension   fSize;
-
-	public PaletteIcon(Dimension size, Image normal, Image pressed, Image selected) {
-		fSize = size;
-		fNormal = normal;
-		fPressed = pressed;
-		fSelected = selected;
-	}
-
-	public Image normal() { return fNormal; }
-	public Image pressed() { return fPressed; }
-	public Image selected() { return fSelected; }
-
-	public int getWidth() { return fSize.width; }
-	public int getHeight() { return fSize.height; }
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/PaletteLayout.java b/JHotDraw/src/CH/ifa/draw/util/PaletteLayout.java
deleted file mode 100644
index 63b1d84cd..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/PaletteLayout.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)PaletteLayout.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.awt.*;
-
-/**
- * A custom layout manager for the palette.
- *
- * @see PaletteButton
- *
- * @version <$CURRENT_VERSION$>
- */
-public class PaletteLayout implements LayoutManager {
-
-	private int         fGap;
-	private Point       fBorder;
-	private boolean     fVerticalLayout;
-
-	/**
-	 * Initializes the palette layout.
-	 * @param gap the gap between palette entries.
-	 */
-	public PaletteLayout(int gap) {
-		this(gap, new Point(0,0), true);
-	}
-
-	public PaletteLayout(int gap, Point border) {
-		this(gap, border, true);
-	}
-
-	public PaletteLayout(int gap, Point border, boolean vertical) {
-		fGap = gap;
-		fBorder = border;
-		fVerticalLayout = vertical;
-	}
-
-	public void addLayoutComponent(String name, Component comp) {
-	}
-
-	public void removeLayoutComponent(Component comp) {
-	}
-
-	public Dimension preferredLayoutSize(Container target) {
-		return minimumLayoutSize(target);
-	}
-
-	public Dimension minimumLayoutSize(Container target) {
-		Dimension dim = new Dimension(0, 0);
-		int nmembers = target.getComponentCount();
-
-		for (int i = 0 ; i < nmembers ; i++) {
-			Component m = target.getComponent(i);
-			if (m.isVisible()) {
-				Dimension d = m.getMinimumSize();
-				if (fVerticalLayout) {
-					dim.width = Math.max(dim.width, d.width);
-					if (i > 0) {
-						dim.height += fGap;
-					}
-					dim.height += d.height;
-				}
-				else {
-					dim.height = Math.max(dim.height, d.height);
-					if (i > 0) {
-						dim.width += fGap;
-					}
-					dim.width += d.width;
-				}
-			}
-		}
-
-		Insets insets = target.getInsets();
-		dim.width += insets.left + insets.right;
-		dim.width += 2 * fBorder.x;
-		dim.height += insets.top + insets.bottom;
-		dim.height += 2 * fBorder.y;
-		return dim;
-	}
-
-	public void layoutContainer(Container target) {
-		Insets insets = target.getInsets();
-		int nmembers = target.getComponentCount();
-		int x = insets.left + fBorder.x;
-		int y = insets.top + fBorder.y;
-
-		for (int i = 0 ; i < nmembers ; i++) {
-			Component m = target.getComponent(i);
-			if (m.isVisible()) {
-				Dimension d = m.getMinimumSize();
-				m.setBounds(x, y, d.width, d.height);
-				if (fVerticalLayout) {
-					y += d.height;
-					y += fGap;
-				}
-				else {
-					x += d.width;
-					x += fGap;
-				}
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/PaletteListener.java b/JHotDraw/src/CH/ifa/draw/util/PaletteListener.java
deleted file mode 100644
index 19274cad4..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/PaletteListener.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * @(#)PaletteListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-/**
- * Interface for handling palette events.
- *
- * @see PaletteButton
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface PaletteListener {
-	/**
-	 * The user selected a palette entry. The selected button is
-	 * passed as an argument.
-	 */
-	public void paletteUserSelected(PaletteButton button);
-
-	/**
-	 * The user moved the mouse over the palette entry.
-	 */
-	public void paletteUserOver(PaletteButton button, boolean inside);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/RedoCommand.java b/JHotDraw/src/CH/ifa/draw/util/RedoCommand.java
deleted file mode 100644
index 6bf082779..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/RedoCommand.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * @(#)RedoCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * Command to redo the latest undone change in the drawing.
- *
- * @version <$CURRENT_VERSION$>
- */ 
-public class RedoCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a properties command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public RedoCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		UndoManager um = getDrawingEditor().getUndoManager();
-		if ((um == null) || !um.isRedoable()) {
-			return;
-		}
-		
-		Undoable lastRedoable = um.popRedo();
-		// Execute redo
-		boolean hasBeenUndone = lastRedoable.redo();
-		// Add to undo stack
-		if (hasBeenUndone && lastRedoable.isUndoable()) {
-			um.pushUndo(lastRedoable);
-		}
-			
-		lastRedoable.getDrawingView().checkDamage();
-
-		getDrawingEditor().figureSelectionChanged(lastRedoable.getDrawingView());
-	}
-  
-	/**
-	 * Used in enabling the redo menu item.
-	 * Redo menu item will be enabled only when there is at least one redoable
-	 * activity in the UndoManager.
-	 */
-	public boolean isExecutableWithView() {
-		UndoManager um = getDrawingEditor().getUndoManager();
-		if ((um != null) && (um.getRedoSize() > 0)) {
-			return true;
-		}
-
-	    return false;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/ReverseListEnumerator.java b/JHotDraw/src/CH/ifa/draw/util/ReverseListEnumerator.java
deleted file mode 100644
index cf17a13df..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/ReverseListEnumerator.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * @(#)ReverseListEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.util.List;
-import java.util.NoSuchElementException;
-import java.util.Iterator;
-
-/**
- * An Enumeration that enumerates a list back (size-1) to front (0).
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ReverseListEnumerator implements Iterator {
-
-	private List myList;
-	private int count;
-
-	public ReverseListEnumerator(List l) {
-		myList = l;
-		count = myList.size() - 1;
-	}
-
-	public boolean hasNext() {
-		return count >= 0;
-	}
-
-	public Object next() {
-		if (count >= 0) {
-			return myList.get(count--);
-		}
-		throw new NoSuchElementException("ReverseListEnumerator");
-	}
-
-	public void remove() {
-		myList.remove(count);
-		count--;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/SerializationStorageFormat.java b/JHotDraw/src/CH/ifa/draw/util/SerializationStorageFormat.java
deleted file mode 100644
index dbc10edc3..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/SerializationStorageFormat.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * @(#)SerializationStorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.io.*;
-import CH.ifa.draw.framework.Drawing;
-
-/**
- * A SerializationStorageFormat is a straight-forward file format to store and restore
- * Drawings. It uses Java's serialization mechanism to store Drawings. The SerializationStorageFormat
- * has the file extension "ser" (e.g. my_picasso.ser).
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class SerializationStorageFormat extends StandardStorageFormat {
-
-	/**
-	 * Create a SerialzationStorageFormat for storing and restoring Drawings.
-	 */
-	public SerializationStorageFormat() {
-		super();
-	}
-
-	/**
-	 * Factory method to create the file extension recognized by the FileFilter for this
-	 * SerializationStorageFormat. The SerializationStorageFormat has the file extension "ser"
-	 * (e.g. my_picasso.ser).
-	 *
-	 * @return new file extension
-	 */
-	protected String createFileExtension() {
-		return "ser";
-	}
-
-	/**
-	 * Factory method to create a file description for the file type when displaying the
-	 * associated FileFilter.
-	 *
-	 * @return new file description
-	 */
-	public String createFileDescription() {
-		return "Serialization (" + getFileExtension() + ")";
-	}
-	
-	/**
-	 * Store a Drawing under a given name. The name should be valid with regard to the FileFilter
-	 * that means, it should already contain the appropriate file extension.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param saveDrawing drawing to be saved
-	 */
-	public String store(String fileName, Drawing saveDrawing) throws IOException {
-		FileOutputStream stream = new FileOutputStream(adjustFileName(fileName));
-		ObjectOutput output = new ObjectOutputStream(stream);
-		output.writeObject(saveDrawing);
-		output.close();
-		return adjustFileName(fileName);
-	}
-
-	/**
-	 * Restore a Drawing from a file with a given name. The name must be should with regard to the
-	 * FileFilter that means, it should have the appropriate file extension.
-	 *
-	 * @param fileName of the file in which the Drawing has been saved
-	 * @return restored Drawing
-	 */
-	public Drawing restore(String fileName) throws IOException {
-		try {
-			FileInputStream stream = new FileInputStream(fileName);
-			ObjectInput input = new ObjectInputStream(stream);
-			return (Drawing)input.readObject();
-		}
-		catch (ClassNotFoundException exception) {
-			throw new IOException("Could not restore drawing '" + fileName +"': class not found!");
-		}
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/StandardStorageFormat.java b/JHotDraw/src/CH/ifa/draw/util/StandardStorageFormat.java
deleted file mode 100644
index 6ffc64deb..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/StandardStorageFormat.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * @(#)StandardStorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.filechooser.FileFilter;
-import java.io.IOException;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.File;
-import CH.ifa.draw.framework.Drawing;
-
-/**
- * A StandardStorageFormat is an internal file format to store and restore
- * Drawings. It uses its own descriptive syntax ands write classes and attributes
- * as plain text in a text file. The StandardStorageFormat has the file extension
- * "draw" (e.g. my_picasso.draw).
- *
- * @author Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class StandardStorageFormat implements StorageFormat {
-
-	/**
-	 * FileFilter for a javax.swing.JFileChooser which recognizes files with the
-	 * extension "draw"
-	 */
-	private FileFilter myFileFilter;
-
-	/**
-	 * File extension
-	 */
-	private String myFileExtension;
-
-	/**
-	 * Description of the file type when displaying the FileFilter
-	 */
-	private String myFileDescription;
-
-	/**
-	 * Create a StandardStorageFormat for storing and restoring Drawings.
-	 */
-	public StandardStorageFormat() {
-		setFileExtension(createFileExtension());
-		setFileDescription(createFileDescription());
-		setFileFilter(createFileFilter());
-	}
-
-	/**
-	 * Factory method to create the file extension recognized by the FileFilter for this
-	 * StandardStorageFormat. The StandardStorageFormat has the file extension "draw"
-	 * (e.g. my_picasso.draw).
-	 *
-	 * @return new file extension
-	 */
-	protected String createFileExtension() {
-		return myFileExtension = "draw";
-	}
-
-	/**
-	 * Set the file extension for the storage format
-	 *
-	 * @param newFileExtension extension
-	 */
-	public void setFileExtension(String newFileExtension) {
-		myFileExtension = newFileExtension;
-	}
-
-	/**
-	 * Return the file extension for the storage format
-	 *
-	 * @return file extension
-	 */
-	public String getFileExtension() {
-		return myFileExtension;
-	}
-
-	/**
-	 * Factory method to create a file description for the file type when displaying the
-	 * associated FileFilter.
-	 *
-	 * @return new file description
-	 */
-	public String createFileDescription() {
-		return "Internal Format (" + getFileExtension() + ")";
-	}
-
-	/**
-	 * Set the file description for the file type of the storage format
-	 *
-	 * @param newFileDescription description of the file type
-	 */
-	public void setFileDescription(String newFileDescription) {
-		myFileDescription = newFileDescription;
-	}
-
-	/**
-	 * Return the file description for the file type of the storage format
-	 *
-	 * @return description of the file type
-	 */
-	public String getFileDescription() {
-		return myFileDescription;
-	}
-
-	/**
-	 * Factory method to create a FileFilter that accepts file with the appropriate
-	 * file exention used by a javax.swing.JFileChooser. Subclasses can override this
-	 * method to provide their own file filters.
-	 *
-	 * @return FileFilter for this StorageFormat
-	 */
-	protected FileFilter createFileFilter() {
-		return new FileFilter() {
-			public boolean accept(File checkFile) {
-				// still display directories for navigation
-				if (checkFile.isDirectory()) {
-					return true;
-				}
-				else {
-					return checkFile.getName().endsWith("." + getFileExtension());
-				}
-			}
-
-			public String getDescription() {
-				return getFileDescription();
-			}
-		};
-	}
-
-	/**
-	 * Set the FileFilter used to identify Drawing files with the correct file
-	 * extension for this StorageFormat.
-	 *
-	 * @param newFileFilter FileFilter for this StorageFormat
-	 */
-	public void setFileFilter(FileFilter newFileFilter) {
-		myFileFilter = newFileFilter;
-	}
-
-	/**
-	 * Return the FileFilter used to identify Drawing files with the correct file
-	 * extension for this StorageFormat.
-	 *
-	 * @return FileFilter for this StorageFormat
-	 */
-	public FileFilter getFileFilter() {
-		return myFileFilter;
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.StorageFormat#isRestoreFormat()
-	 */
-	public boolean isRestoreFormat() {
-		return true;
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.StorageFormat#isStoreFormat()
-	 */
-	public boolean isStoreFormat() {
-		return true;
-	}
-
-	/**
-	 * Store a Drawing under a given name. If the file name does not have the correct
-	 * file extension, then the file extension is added.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param saveDrawing drawing to be saved
-	 * @return file name with correct file extension
-	 */
-	public String store(String fileName, Drawing saveDrawing) throws IOException {
-		FileOutputStream stream = new FileOutputStream(adjustFileName(fileName));
-		StorableOutput output = new StorableOutput(stream);
-		output.writeStorable(saveDrawing);
-		output.close();
-		return adjustFileName(fileName);
-	}
-
-	/**
-	 * Restore a Drawing from a file with a given name.
-	 *
-	 * @param fileName of the file in which the Drawing has been saved
-	 * @return restored Drawing
-	 */
-	public Drawing restore(String fileName) throws IOException {
-		if (!hasCorrectFileExtension(fileName)) {
-			return null;
-		}
-		else {
-			FileInputStream stream = new FileInputStream(fileName);
-			StorableInput input = new StorableInput(stream);
-			return (Drawing)input.readStorable();
-		}
-	}
-
-	/**
-	 * Test, whether two StorageFormats are the same. They are the same if they both support the
-	 * same file extension.
-	 *
-	 * @return true, if both StorageFormats have the same file extension, false otherwise
-	 */
-	public boolean equals(Object compareObject) {
-		if (compareObject instanceof StandardStorageFormat) {
-			return getFileExtension().equals(((StandardStorageFormat)compareObject).getFileExtension());
-		}
-		else {
-			return false;
-		}
-	}
-
-	/**
-	 * Adjust a file name to have the correct file extension.
-	 *
-	 * @param testFileName file name to be tested for a correct file extension
-	 * @return testFileName + file extension if necessary
-	 */
-	protected String adjustFileName(String testFileName) {
-		if (!hasCorrectFileExtension(testFileName)) {
-			return testFileName + "." + getFileExtension();
-		}
-		else {
-			return testFileName;
-		}
-	}
-
-	/**
-	 * Test whether the file name has the correct file extension
-	 *
-	 * @return true, if the file has the correct extension, false otherwise
-	 */
-	protected boolean hasCorrectFileExtension(String testFileName) {
-		return testFileName.endsWith("." + getFileExtension());
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/StandardVersionControlStrategy.java b/JHotDraw/src/CH/ifa/draw/util/StandardVersionControlStrategy.java
deleted file mode 100644
index 3968b3416..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/StandardVersionControlStrategy.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * @(#)StandardVersionControlStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class StandardVersionControlStrategy implements VersionControlStrategy {
-	private VersionRequester myVersionRequester;
-	
-	public StandardVersionControlStrategy(VersionRequester newVersionRequester) {
-		setVersionRequester(newVersionRequester);
-	}
-	
-	/**
-	 * Define a strategy how to select those versions of JHotDraw
-	 * with which they are compatible.
-	 */
-	public void assertCompatibleVersion() {
-		String[] requiredVersions = getVersionRequester().getRequiredVersions();
-		// version is compatible if no version was specified
-		if (requiredVersions.length == 0) {
-			return;
-		}
-		for (int i = 0; i < requiredVersions.length; i++) {
-			if (isCompatibleVersion(requiredVersions[i])) {
-				// a compatible version has been found
-				return;
-			}
-		}
-		// no matching version was found
-		handleIncompatibleVersions();
-	}
-
-	/**
-	 * This method is called in open() if an incompatible version has been
-	 * encountered. Applications can override this method to provide customized
-	 * exception handling for this case. In the default implementation, a
-	 * JHotDrawRuntimeException is thrown.
-	 */
-	protected void handleIncompatibleVersions() {
-		// collect version info
-		String[] requiredVersions = getVersionRequester().getRequiredVersions();
-		StringBuffer expectedVersions = new StringBuffer("[");
-		for (int i = 0; i < requiredVersions.length - 1; i++) {
-			expectedVersions.append(requiredVersions[i] + ", ");
-		}
-		if (requiredVersions.length > 0) {
-			expectedVersions.append(requiredVersions[requiredVersions.length - 1]);
-		}
-		expectedVersions.append("]");
-
-		// no compatible version has been found
-		throw new JHotDrawRuntimeException("Incompatible version of JHotDraw found: "
-			+  VersionManagement.getJHotDrawVersion() 
-			+ " (expected: " + expectedVersions + ")");
-	}
-
-	/**
-	 * Subclasses can override this method to specify an algorithms that determines
-	 * how version strings are compared and which version strings can be regarded
-	 * as compatible. For example, a subclass may choose that all versions 5.x of
-	 * JHotDraw are compatible with the application, so only the first digit in
-	 * the version number is considered significant. In the default implementation,
-	 * all versions that are equal or greater than the expected version are compatible.
-	 *
-	 * @param compareVersionString application version to compare with JHotDraw's version
-	 */
-	protected boolean isCompatibleVersion(String compareVersionString) {
-		return VersionManagement.isCompatibleVersion(compareVersionString);
-	}
-	
-	private void setVersionRequester(VersionRequester newVersionRequester) {
-		myVersionRequester = newVersionRequester;
-	}
-	
-	protected VersionRequester getVersionRequester() {
-		return myVersionRequester;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Storable.java b/JHotDraw/src/CH/ifa/draw/util/Storable.java
deleted file mode 100644
index 3c04ca3df..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Storable.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)Storable.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.io.*;
-
-/**
- * Interface that is used by StorableInput and StorableOutput
- * to flatten and resurrect objects. Objects that implement
- * this interface and that are resurrected by StorableInput
- * have to provide a default constructor with no arguments.
- *
- * @see StorableInput
- * @see StorableOutput
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Storable {
-	/**
-	 * Writes the object to the StorableOutput.
-	 */
-	public void write(StorableOutput dw);
-
-	/**
-	 * Reads the object from the StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException;
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/StorableInput.java b/JHotDraw/src/CH/ifa/draw/util/StorableInput.java
deleted file mode 100644
index 8af25ca61..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/StorableInput.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * @(#)StorableInput.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.io.*;
-import java.awt.Color;
-import java.util.List;
-
-/**
- * An input stream that can be used to resurrect Storable objects.
- * StorableInput preserves the object identity of the stored objects.
- *
- * @see Storable
- * @see StorableOutput
- *
- * @version <$CURRENT_VERSION$>s
- */
-public class StorableInput {
-
-	private StreamTokenizer fTokenizer;
-	private List            fMap;
-
-	/**
-	 * Initializes a Storable input with the given input stream.
-	 */
-	public StorableInput(InputStream stream) {
-		Reader r = new BufferedReader(new InputStreamReader(stream));
-		fTokenizer = new StreamTokenizer(r);
-		// include inner class separate in class names
-		fTokenizer.wordChars('$', '$');
-		fMap = CollectionsFactory.current().createList();
-	}
-
-	/**
-	 * Reads and resurrects a Storable object from the input stream.
-	 */
-	public Storable readStorable() throws IOException {
-		Storable storable;
-		String s = readString();
-
-		if (s.equals("NULL")) {
-			return null;
-		}
-
-		if (s.equals("REF")) {
-			int ref = readInt();
-			return retrieve(ref);
-		}
-
-		storable = (Storable) makeInstance(s);
-		map(storable);
-		storable.read(this);
-		return storable;
-	}
-
-	/**
-	 * Reads a string from the input stream.
-	 */
-	public String readString() throws IOException {
-		int token = fTokenizer.nextToken();
-		if (token == StreamTokenizer.TT_WORD || token == '"') {
-			return fTokenizer.sval;
-		}
-
-		String msg = "String expected in line: " + fTokenizer.lineno();
-		throw new IOException(msg);
-	}
-
-	/**
-	 * Reads an int from the input stream.
-	 */
-	public int readInt() throws IOException {
-		int token = fTokenizer.nextToken();
-		if (token == StreamTokenizer.TT_NUMBER) {
-			return (int) fTokenizer.nval;
-		}
-
-		String msg = "Integer expected in line: " + fTokenizer.lineno();
-		IOException exception =  new IOException(msg);
-		exception.printStackTrace();
-		throw new IOException(msg);
-	}
-
-	/**
-	 * Reads an int from the input stream.
-	 */
-	public long readLong() throws IOException {
-		long token = fTokenizer.nextToken();
-		if (token == StreamTokenizer.TT_NUMBER) {
-			return (long)fTokenizer.nval;
-		}
-		String msg = "Long expected in line: " + fTokenizer.lineno();
-		IOException exception =  new IOException(msg);
-		//exception.printStackTrace();
-		throw exception;
-	}
-
-	/**
-	 * Reads a color from the input stream.
-	 */
-	public Color readColor() throws IOException {
-		return new Color(readInt(), readInt(), readInt());
-	}
-
-	/**
-	 * Reads a double from the input stream.
-	 */
-	public double readDouble() throws IOException {
-		int token = fTokenizer.nextToken();
-		if (token == StreamTokenizer.TT_NUMBER) {
-			return fTokenizer.nval;
-		}
-
-		String msg = "Double expected in line: " + fTokenizer.lineno();
-		throw new IOException(msg);
-	}
-
-	/**
-	 * Reads a boolean from the input stream.
-	 */
-	public boolean readBoolean() throws IOException {
-		int token = fTokenizer.nextToken();
-		if (token == StreamTokenizer.TT_NUMBER) {
-			return ((int) fTokenizer.nval) == 1;
-		}
-
-		String msg = "Integer expected in line: " + fTokenizer.lineno();
-		throw new IOException(msg);
-	}
-
-	private Object makeInstance(String className) throws IOException {
-		try {
-			Class cl = Class.forName(className);
-			return cl.newInstance();
-		}
-		catch (NoSuchMethodError e) {
-			throw new IOException("Class " + className
-				+ " does not seem to have a no-arg constructor");
-		}
-		catch (ClassNotFoundException e) {
-			throw new IOException("No class: " + className);
-		}
-		catch (InstantiationException e) {
-			throw new IOException("Cannot instantiate: " + className);
-		}
-		catch (IllegalAccessException e) {
-			throw new IOException("Class (" + className + ") not accessible");
-		}
-	}
-
-	private void map(Storable storable) {
-		if (!fMap.contains(storable)) {
-			fMap.add(storable);
-		}
-	}
-
-	private Storable retrieve(int ref) {
-		return (Storable)fMap.get(ref);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/StorableOutput.java b/JHotDraw/src/CH/ifa/draw/util/StorableOutput.java
deleted file mode 100644
index 2c1e5c3e6..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/StorableOutput.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * @(#)StorableOutput.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.io.*;
-import java.awt.Color;
-import java.util.List;
-
-/**
- * An output stream that can be used to flatten Storable objects.
- * StorableOutput preserves the object identity of the stored objects.
- *
- * @see Storable
- * @see StorableInput
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class StorableOutput extends Object {
-
-	private PrintWriter     fStream;
-	private List            fMap;
-	private int             fIndent;
-
-	/**
-	 * Initializes the StorableOutput with the given output stream.
-	 */
-	public StorableOutput(OutputStream stream) {
-		fStream = new PrintWriter(stream);
-		fMap = CollectionsFactory.current().createList();
-		fIndent = 0;
-	}
-
-	/**
-	 * Writes a storable object to the output stream.
-	 */
-	public void writeStorable(Storable storable) {
-		if (storable == null) {
-			fStream.print("NULL");
-			space();
-			return;
-		}
-
-		if (mapped(storable)) {
-			writeRef(storable);
-			return;
-		}
-
-		incrementIndent();
-		startNewLine();
-		map(storable);
-		fStream.print(storable.getClass().getName());
-		space();
-		storable.write(this);
-		space();
-		decrementIndent();
-	}
-
-	/**
-	 * Writes an int to the output stream.
-	 */
-	public void writeInt(int i) {
-		fStream.print(i);
-		space();
-	}
-
-	/**
-	 * Writes a long to the output stream.
-	 */
-	public void writeLong(long l) {
-		fStream.print(l);
-		space();
-	}
-
-	public void writeColor(Color c) {
-		writeInt(c.getRed());
-		writeInt(c.getGreen());
-		writeInt(c.getBlue());
-	}
-
-	/**
-	 * Writes an int to the output stream.
-	 */
-	public void writeDouble(double d) {
-		fStream.print(d);
-		space();
-	}
-
-	/**
-	 * Writes an int to the output stream.
-	 */
-	public void writeBoolean(boolean b) {
-		if (b) {
-			fStream.print(1);
-		}
-		else {
-			fStream.print(0);
-		}
-		space();
-	}
-
-	/**
-	 * Writes a string to the output stream. Special characters
-	 * are quoted.
-	 */
-	public void writeString(String s) {
-		fStream.print('"');
-		for(int i = 0; i < s.length(); i++) {
-			char c = s.charAt(i);
-			switch(c) {
-				case '\n': fStream.print('\\'); fStream.print('n'); break;
-				case '"' : fStream.print('\\'); fStream.print('"'); break;
-				case '\\': fStream.print('\\'); fStream.print('\\'); break;
-				case '\t': fStream.print('\\'); fStream.print('\t'); break;
-				default: fStream.print(c);
-			}
-
-		}
-		fStream.print('"');
-		space();
-	}
-
-	/**
-	 * Closes a storable output stream.
-	 */
-	public void close() {
-		fStream.close();
-	}
-
-	private boolean mapped(Storable storable) {
-		return fMap.contains(storable);
-	}
-
-	private void map(Storable storable) {
-		if (!fMap.contains(storable)) {
-			fMap.add(storable);
-		}
-	}
-
-	private void writeRef(Storable storable) {
-		int ref = fMap.indexOf(storable);
-
-		fStream.print("REF");
-		space();
-		fStream.print(ref);
-		space();
-	}
-
-	private void incrementIndent() {
-		fIndent += 4;
-	}
-
-	private void decrementIndent() {
-		fIndent -= 4;
-		if (fIndent < 0) fIndent = 0;
-	}
-
-	private void startNewLine() {
-		fStream.println();
-		for (int i=0; i<fIndent; i++) {
-			space();
-		}
-	}
-
-	private void space() {
-		fStream.print(' ');
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/StorageFormat.java b/JHotDraw/src/CH/ifa/draw/util/StorageFormat.java
deleted file mode 100644
index 1cc1adae3..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/StorageFormat.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * @(#)StorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.filechooser.FileFilter;
-import java.io.IOException;
-import CH.ifa.draw.framework.Drawing;
-
-/**
- * Interface to define a storage format. A StorageFormat is a strategy that knows how to store
- * and restore a Drawing according to a specific encoding. Typically it can be recognized by
- * a file extension. To identify a valid file format for a Drawing an appropriate FileFilter
- * for a javax.swing.JFileChooser component can be requested.
- *
- * @see Drawing
- * @see StorageFormatManager
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface StorageFormat {
-
-	/**
-	 * Return a FileFilter that can be used to identify files which can be stored and restored
-	 * with this Storage Format. Typically, each storage format has its own recognizable file
-	 * extension.
-	 *
-	 * @return FileFilter to be used with a javax.swing.JFileChooser
-	 */
-	public FileFilter getFileFilter();
-	
-	/**
-	 * Every format has to identify itself as able to store and/or restore from
-	 * the format it represents. If the storage format can save to the format, it
-	 * should return true in this method.
-	 * @return boolean <code>true</code> if the format can save
-	 */
-	public boolean isStoreFormat();
-
-	/**
-	 * Every format has to identify itself as able to store and/or restore from
-	 * the format it represents. If the storage format can load from the format,
-	 * it should return true in this method.
-	 * @return boolean <code>true</code> if the format can load
-	 */
-	public boolean isRestoreFormat(); 
-
-	/**
-	 * Store a Drawing under a given name.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param saveDrawing drawing to be saved
-	 * @return file name with correct file extension
-	 */
-	public String store(String fileName, Drawing saveDrawing) throws IOException;
-	
-	/**
-	 * Restore a Drawing from a file with a given name. 
-	 *
-	 * @param fileName of the file in which the Drawing has been saved
-	 * @return restored Drawing
-	 */
-	public Drawing restore(String fileName) throws IOException;
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/StorageFormatManager.java b/JHotDraw/src/CH/ifa/draw/util/StorageFormatManager.java
deleted file mode 100644
index 4ca1441d3..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/StorageFormatManager.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * @(#)StorageFormatManager.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
- 
-package CH.ifa.draw.util;
-
-import javax.swing.JFileChooser;
-import javax.swing.filechooser.FileFilter;
-
-import java.io.File;
-import java.util.List;
-import java.util.Iterator;
-
-/**
- * The StorageFormatManager is a contains StorageFormats.
- * It is not a Singleton because it could be necessary to deal with different
- * format managers, e.g. one for importing Drawings, one for exporting Drawings.
- * If one StorageFormat matches the file extension of the Drawing file, then this
- * StorageFormat can be used to store or restore the Drawing.
- *
- * @see StorageFormat
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class StorageFormatManager {
-
-	/**
-	 * List containing all registered storage formats
-	 */
-	private List myStorageFormats;
-	
-	/**
-	 * Default storage format that should be selected in a javax.swing.JFileChooser
-	 */
-	private StorageFormat myDefaultStorageFormat;
-	
-	/**
-	 * Create a new StorageFormatManager.
-	 */
-	public StorageFormatManager() {
-		myStorageFormats = CollectionsFactory.current().createList();
-	}
-	
-	/**
-	 * Add a StorageFormat that should be supported by this StorageFormatManager.
-	 *
-	 * @param newStorageFormat new StorageFormat to be supported
-	 */
-	public void addStorageFormat(StorageFormat newStorageFormat) {
-		myStorageFormats.add(newStorageFormat);
-	}
-
-	/**
-	 * Remove a StorageFormat that should no longer be supported by this StorageFormatManager.
-	 * The StorageFormat is excluded in when search for a StorageFormat.
-	 *
-	 * @param oldStorageFormat old StorageFormat no longer to be supported
-	 */
-	public void removeStorageFormat(StorageFormat oldStorageFormat) {
-		myStorageFormats.remove(oldStorageFormat);
-	}
-	
-	/**
-	 * Test, whether a StorageFormat is supported by this StorageFormat
-	 */
-	public boolean containsStorageFormat(StorageFormat checkStorageFormat){
-		return myStorageFormats.contains(checkStorageFormat);
-	}
-	
-	/**
-	 * Set a StorageFormat as the default storage format which is selected in a
-	 * javax.swing.JFileChooser. The default storage format must be already
-	 * added with addStorageFormat. Setting the default storage format to null
-	 * does not automatically remove the StorageFormat from the list of
-	 * supported StorageFormats.
-	 *
-	 * @param newDefaultStorageFormat StorageFormat that should be selected in a JFileChooser
-	 */
-	public void setDefaultStorageFormat(StorageFormat newDefaultStorageFormat) {
-		myDefaultStorageFormat = newDefaultStorageFormat;
-	}
-	
-	/**
-	 * Return the StorageFormat which is used as selected file format in a javax.swing.JFileChooser
-	 *
-	 * @return default storage format
-	 */
-	public StorageFormat getDefaultStorageFormat() {
-		return myDefaultStorageFormat;
-	}
-	
-	/**
-	 * Register all FileFilters supported by StorageFormats
-	 *
-	 * @param fileChooser javax.swing.JFileChooser to which FileFilters are added
-	 */
-	public void registerFileFilters(JFileChooser fileChooser) {
-		if (fileChooser.getDialogType() == JFileChooser.OPEN_DIALOG) {
-			// behavior for open dialogs
-			StorageFormat sf;
-			for (Iterator e = myStorageFormats.iterator(); e.hasNext();) {
-				sf = (StorageFormat) e.next();
-				if (sf.isRestoreFormat()) {
-					fileChooser.addChoosableFileFilter(sf.getFileFilter());
-				}
-			}
-
-		// set a current activated file filter if a default storage Format has been defined
-			sf = getDefaultStorageFormat();
-			if (sf != null && sf.isRestoreFormat()) {
-				fileChooser.setFileFilter(sf.getFileFilter());
-			}
-		}
-		else if (fileChooser.getDialogType() == JFileChooser.SAVE_DIALOG) {
-			// behavior for save dialogs
-			StorageFormat sf;
-			for (Iterator e = myStorageFormats.iterator(); e.hasNext();) {
-				sf = (StorageFormat) e.next();
-				if (sf.isStoreFormat()) {
-					fileChooser.addChoosableFileFilter(sf.getFileFilter());
-				}
-			}
-
-			// set a current activated file filter if a default storage Format has been defined
-			sf = getDefaultStorageFormat();
-			if (sf != null && sf.isStoreFormat()) {
-				fileChooser.setFileFilter(sf.getFileFilter());
-			}
-		}
-		else {
-			// old behavior
-			StorageFormat sf;
-			for (Iterator e = myStorageFormats.iterator(); e.hasNext();) {
-				sf = (StorageFormat) e.next();
-				fileChooser.addChoosableFileFilter(sf.getFileFilter());
-			}
-
-			// set a current activated file filter if a default storage Format has been defined
-			sf = getDefaultStorageFormat();
-			if (sf != null) {
-				fileChooser.setFileFilter(sf.getFileFilter());
-			}
-		}
-	}
-
-	/**
-	 * Find a StorageFormat that can be used according to a FileFilter to store a Drawing
-	 * in a file or restore it from a file respectively.
-	 *
-	 * @param findFileFilter FileFilter used to identify a StorageFormat
-	 * @return StorageFormat, if a matching file extension could be found, false otherwise
-	 */
-	public StorageFormat findStorageFormat(FileFilter findFileFilter) {
-		Iterator formatsIterator = myStorageFormats.iterator();
-		StorageFormat currentStorageFormat = null;
-		while (formatsIterator.hasNext()) {
-			currentStorageFormat = (StorageFormat)formatsIterator.next();
-			if (currentStorageFormat.getFileFilter().equals(findFileFilter)) {
-				return currentStorageFormat;
-			}
-		}
-		
-		return null;
-	}
-
-	/**
-	 * Find a StorageFormat that can be used according to a file object to store a
-	 * Drawing in a file or restore it from a file respectively.
-	 *
-	 * @param file a File object to be matched
-	 * @return StorageFormat, if a matching file extension could be found, <code>null</code>
-	 * otherwise
-	 */
-	public StorageFormat findStorageFormat(File file) {
-		Iterator formatsIterator = myStorageFormats.iterator();
-		StorageFormat currentStorageFormat;
-		while (formatsIterator.hasNext()) {
-			currentStorageFormat = (StorageFormat) formatsIterator.next();
-			if (currentStorageFormat.getFileFilter().accept(file)) {
-				return currentStorageFormat;
-			}
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoCommand.java b/JHotDraw/src/CH/ifa/draw/util/UndoCommand.java
deleted file mode 100644
index 315b5f677..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoCommand.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * @(#)UndoCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * Command to undo the latest change in the drawing.
- * Undo activities can be undone only once, therefore they
- * are not added to the undo stack again (redo activities
- * can be added to the redo stack again, because they can
- * be redone several times, every time pushing a corresponding
- * undo activity as well).
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */ 
-public class UndoCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a properties command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public UndoCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		UndoManager um = getDrawingEditor().getUndoManager();
-
-		if ((um == null) || !um.isUndoable()) {
-			return;
-		}
-		
-		Undoable lastUndoable = um.popUndo();
-		// Execute undo
-		boolean hasBeenUndone = lastUndoable.undo();
-
-		// Add to redo stack
-		if (hasBeenUndone && lastUndoable.isRedoable()) {
-			um.pushRedo(lastUndoable);
-		}
-		lastUndoable.getDrawingView().checkDamage();
-		
-		getDrawingEditor().figureSelectionChanged(lastUndoable.getDrawingView());
-	}
-  
-	/**
-	 * Used in enabling the undo menu item.
-	 * Undo menu item will be enabled only when there is atleast one undoable
-	 * activity registered with UndoManager.
-	 */
-	public boolean isExecutableWithView() {
-		UndoManager um = getDrawingEditor().getUndoManager();
-
-		if ((um != null) && (um.getUndoSize() > 0)) {
-			return true;
-		}
-
-		return false;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoManager.java b/JHotDraw/src/CH/ifa/draw/util/UndoManager.java
deleted file mode 100644
index 842f8684a..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoManager.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * @(#)UndoManager.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.DrawingView;
-
-import java.util.List;
-import java.util.Iterator;
-
-/**
- * This class manages all the undoable commands. It keeps track of all
- * the modifications done through user interactions.
- *
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoManager {
-	/**
-	 * Maximum default buffer size for undo and redo stack
-	 */
-	public static final int DEFAULT_BUFFER_SIZE = 20;
-
-	/**
-	 * Collection of undo activities
-	 */
-	private List redoStack;
-
-	/**
-	 * Collection of undo activities
-	 */
-	private List undoStack;
-	private int maxStackCapacity;
-
-	public UndoManager() {
-		this(DEFAULT_BUFFER_SIZE);
-	}
-
-	public UndoManager(int newUndoStackSize) {
-		maxStackCapacity = newUndoStackSize;
-		undoStack = CollectionsFactory.current().createList(maxStackCapacity);
-		redoStack = CollectionsFactory.current().createList(maxStackCapacity);
-	}
-
-	public void pushUndo(Undoable undoActivity) {
-		if (undoActivity.isUndoable()) {
-			removeFirstElementInFullList(undoStack);
-			undoStack.add(undoActivity);
-		}
-		else {
-			// a not undoable activity clears the stack because
-			// the last activity does not correspond with the
-			// last undo activity
-			undoStack = CollectionsFactory.current().createList(maxStackCapacity);
-		}
-	}
-
-	public void pushRedo(Undoable redoActivity) {
-		if (redoActivity.isRedoable()) {
-
-			removeFirstElementInFullList(redoStack);
-
-			// add redo activity only if it is not already the last
-			// one in the buffer
-			if ((getRedoSize() == 0) || (peekRedo() != redoActivity)) {
-				redoStack.add(redoActivity);
-			}
-		}
-		else {
-			// a not undoable activity clears the tack because
-			// the last activity does not correspond with the
-			// last undo activity
-			redoStack = CollectionsFactory.current().createList(maxStackCapacity);
-		}
-	}
-
-	/**
-	 * If buffersize exceeds, remove the oldest command
-	 */
-	private void removeFirstElementInFullList(List l) {
-		if (l.size() >= maxStackCapacity) {
-			Undoable removedActivity = (Undoable)l.remove(0);
-			removedActivity.release();
-		}
-	}
-
-	private Undoable getLastElement(List l) {
-		if (l.size() > 0) {
-			return (Undoable)l.get(l.size() - 1);
-		}
-		else {
-			return null;
-		}
-	}
-	public boolean isUndoable() {
-		if (getUndoSize() > 0) {
-			return getLastElement(undoStack).isUndoable();
-		}
-		else {
-			return false;
-		}
-	}
-
-	public boolean isRedoable() {
-		if (getRedoSize() > 0) {
-			return getLastElement(redoStack).isRedoable();
-		}
-		else {
-			return false;
-		}
-	}
-
-	protected Undoable peekUndo() {
-		if (getUndoSize() > 0) {
-			return getLastElement(undoStack);
-		}
-		else {
-			return null;
-		}
-	}
-
-	protected Undoable peekRedo() {
-		if (getRedoSize() > 0) {
-			return getLastElement(redoStack);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns the current size of undo buffer.
-	 */
-	public int getUndoSize() {
-		return undoStack.size();
-	}
-
-	/**
-	 * Returns the current size of redo buffer.
-	 */
-	public int getRedoSize() {
-		return redoStack.size();
-	}
-
-	/**
-	 * Throw NoSuchElementException if there is none
-	 */
-	public Undoable popUndo() {
-		// Get the last element - throw NoSuchElementException if there is none
-		Undoable lastUndoable = peekUndo();
-
-		// Remove it from undo collection
-		undoStack.remove(getUndoSize() - 1);
-
-		return lastUndoable;
-	}
-
-	/**
-	 * Throw NoSuchElementException if there is none
-	 */
-	public Undoable popRedo() {
-		// Get the last element - throw NoSuchElementException if there is none
-		Undoable lastUndoable = peekRedo();
-
-		// Remove it from undo collection
-		redoStack.remove(getRedoSize() - 1);
-
-		return lastUndoable;
-	}
-
-	public void clearUndos() {
-		clearStack(undoStack);
-	}
-
-	public void clearRedos() {
-		clearStack(redoStack);
-	}
-
-	protected void clearStack(List clearStack) {
-		clearStack.clear();
-	}
-
-	/**
-	 * Removes all undo activities that operate on the given DrawingView.
-	 * @param checkDV DrawingView which is compared undo's DrawingView
-	 */
-	public void clearUndos(DrawingView checkDV) {
-		Iterator iter = undoStack.iterator();
-		while (iter.hasNext()) {
-			Undoable currentUndo = (Undoable)iter.next();
-			if (currentUndo.getDrawingView() == checkDV) {
-				iter.remove();
-			}
-		}
-	}
-
-	/**
-	 * Removes all redo activities that operate on the given DrawingView.
-	 * @param checkDV DrawingView which is compared redo's DrawingView
-	 */
-	public void clearRedos(DrawingView checkDV) {
-		Iterator iter = redoStack.iterator();
-		while (iter.hasNext()) {
-			Undoable currentRedo = (Undoable)iter.next();
-			if (currentRedo.getDrawingView() == checkDV) {
-				iter.remove();
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoRedoActivity.java b/JHotDraw/src/CH/ifa/draw/util/UndoRedoActivity.java
deleted file mode 100644
index a6964468f..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoRedoActivity.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * @(#)DragTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * An UndoRedoActivity can be used to turn a UndoActivity into a RedoActivity.
- * In this case, the redo() method of an encapsulated activity is called when
- * the undo() is executed, and undo() when redo() is executed.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoRedoActivity implements Undoable {
-	private Undoable myReversedActivity;
-	
-	protected UndoRedoActivity(Undoable newReversedActivity) {
-		setReversedActivity(newReversedActivity);
-	}
-
-	/**
-	 * Undo the activity
-	 * @return true if the activity could be undone, false otherwise
-	 */
-	public boolean undo() {
-		if (isRedoable()) {
-			return getReversedActivity().redo();
-		}
-		
-		return false;
-	}
-
-	/*
-	 * Redo the activity
-	 * @return true if the activity could be redone, false otherwise
-	 */
-	public boolean redo() {
-		if (isUndoable()) {
-			return getReversedActivity().undo();
-		}
-		
-		return false;
-	}
-
-	/**
-	 * Dispatch to isRedoable of the activity to be reversed.
-	 */
-	public boolean isUndoable() {
-		return getReversedActivity().isRedoable();
-	}
-
-	/**
-	 * Dispatch to setRedoable of the activity to be reversed.
-	 */
-	public void setUndoable(boolean newIsUndoable) {
-		getReversedActivity().setRedoable(newIsUndoable);
-	}
-
-	/**
-	 * Dispatch to isUndoable of the activity to be reversed.
-	 */
-	public boolean isRedoable() {
-		return getReversedActivity().isUndoable();
-	}
-	
-	/**
-	 * Dispatch to setUndoable of the activity to be reversed.
-	 */
-	public void setRedoable(boolean newIsRedoable) {
-		getReversedActivity().setUndoable(newIsRedoable);
-	}
-	
-	public void setAffectedFigures(FigureEnumeration newAffectedFigures) {
-		getReversedActivity().setAffectedFigures(newAffectedFigures);
-	}
-
-	public FigureEnumeration getAffectedFigures() {
-		return getReversedActivity().getAffectedFigures();
-	}
-	
-	public int getAffectedFiguresCount() {
-		return getReversedActivity().getAffectedFiguresCount();
-	}
-
-	public DrawingView getDrawingView() {
-		return getReversedActivity().getDrawingView();
-	}
-	
-	public void release() {
-		getReversedActivity().release();
-	}
-			
-	protected void setReversedActivity(Undoable newReversedActivity) {
-		myReversedActivity = newReversedActivity;
-	}
-	
-	public Undoable getReversedActivity() {
-		return myReversedActivity;
-	}
-	
-	public static Undoable createUndoRedoActivity(Undoable toBeReversed) {
-		// instead of reversing the reversed activity just return the original activity
-		if (toBeReversed instanceof UndoRedoActivity) {
-			return ((UndoRedoActivity)toBeReversed).getReversedActivity();
-		}
-		else {
-			return new UndoRedoActivity(toBeReversed);
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Undoable.java b/JHotDraw/src/CH/ifa/draw/util/Undoable.java
deleted file mode 100644
index 13c6f1700..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Undoable.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * @(#)Undoable.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.framework.DrawingView;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface Undoable {
-	/**
-	 * Undo the activity
-	 * @return true if the activity could be undone, false otherwise
-	 */
-	public boolean undo();
-
-	/*
-	 * Redo the activity
-	 * @return true if the activity could be redone, false otherwise
-	 */
-	public boolean redo();
-	
-	public boolean isUndoable();
-	
-	public void setUndoable(boolean newIsUndoable);
-	
-	public boolean isRedoable();
-	
-	public void setRedoable(boolean newIsRedoable);
-	
-	/**
-	 * Releases all resources related to an undoable activity
-	 */
-	public void release();
-
-	public DrawingView getDrawingView();
-	
-	public void setAffectedFigures(FigureEnumeration newAffectedFigures);
-	
-	public FigureEnumeration getAffectedFigures();
-	
-	public int getAffectedFiguresCount();
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoableAdapter.java b/JHotDraw/src/CH/ifa/draw/util/UndoableAdapter.java
deleted file mode 100644
index 1f283fe03..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoableAdapter.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * @(#)UndoableAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	? by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.FigureEnumerator;
-import CH.ifa.draw.standard.ReverseFigureEnumerator;
-import CH.ifa.draw.standard.StandardFigureSelection;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * Most basic implementation for an Undoable activity. Subclasses should override
- * methods to provide specialized behaviour when necessary.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoableAdapter implements Undoable {
-
-	private List   myAffectedFigures;
-	private boolean myIsUndoable;
-	private boolean myIsRedoable;
-	private DrawingView myDrawingView;
-
-	public UndoableAdapter(DrawingView newDrawingView) {
-		setDrawingView(newDrawingView);
-	}
-
-	/**
-	 * Undo the activity
-	 * @return true if the activity could be undone, false otherwise
-	 */
-	public boolean undo() {
-		return isUndoable();
-	}
-
-	/**
-	 * Redo the activity
-	 * @return true if the activity could be redone, false otherwise
-	 */
-	public boolean redo() {
-		return isRedoable();
-	}
-
-	public boolean isUndoable() {
-		return myIsUndoable;
-	}
-
-	public void setUndoable(boolean newIsUndoable) {
-		myIsUndoable = newIsUndoable;
-	}
-
-	public boolean isRedoable() {
-		return myIsRedoable;
-	}
-
-	public void setRedoable(boolean newIsRedoable) {
-		myIsRedoable = newIsRedoable;
-	}
-
-	public void setAffectedFigures(FigureEnumeration newAffectedFigures) {
-		// the enumeration is not reusable therefore a copy is made
-		// to be able to undo-redo the command several time
-		if(newAffectedFigures == null) {
-			throw new IllegalArgumentException();
-		}
-		rememberFigures(newAffectedFigures);
-	}
-
-	public FigureEnumeration getAffectedFigures() {
-		if(myAffectedFigures == null) {
-			return new FigureEnumerator(Collections.EMPTY_LIST);
-		}
-		else {
-			return new FigureEnumerator(CollectionsFactory.current().createList(myAffectedFigures));
-		}
-	}
-
-	public FigureEnumeration getAffectedFiguresReversed() {
-		return new ReverseFigureEnumerator(CollectionsFactory.current().createList(myAffectedFigures));
-	}
-
-	public int getAffectedFiguresCount() {
-		return myAffectedFigures.size();
-	}
-
-	protected void rememberFigures(FigureEnumeration toBeRemembered) {
-		myAffectedFigures = CollectionsFactory.current().createList();
-		while (toBeRemembered.hasNextFigure()) {
-			myAffectedFigures.add(toBeRemembered.nextFigure());
-		}
-	}
-
-	/**
-	 * Releases all resources related to an undoable activity
-	 */
-	public void release() {
-		FigureEnumeration fe = getAffectedFigures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().release();
-		}
-		setAffectedFigures(FigureEnumerator.getEmptyEnumeration());
-	}
-
-	/**
-	 * Create new set of affected figures for redo operation because
-	 * deleting figures in an undo operation makes them unusable
-	 * Especially contained figures have been removed from their
-	 * observing container like CompositeFigure or DecoratorFigure.
-	 * Duplicating these figures re-establishes the dependencies.
-	 */
-	protected void duplicateAffectedFigures() {
-		setAffectedFigures(StandardFigureSelection.duplicateFigures(
-			getAffectedFigures(), getAffectedFiguresCount()));
-	}
-
-	public DrawingView getDrawingView() {
-		return myDrawingView;
-	}
-
-	protected void setDrawingView(DrawingView newDrawingView) {
-		myDrawingView = newDrawingView;
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoableCommand.java b/JHotDraw/src/CH/ifa/draw/util/UndoableCommand.java
deleted file mode 100644
index f579321f3..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoableCommand.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * @(#)UndoableCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.AbstractCommand;
-import java.util.EventObject;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoableCommand implements Command, FigureSelectionListener, CommandListener {
-
-	private Command myWrappedCommand;
-	private boolean hasSelectionChanged;
-	private AbstractCommand.EventDispatcher myEventDispatcher;
-
-	public UndoableCommand(Command newWrappedCommand) {
-		setWrappedCommand(newWrappedCommand);
-		getWrappedCommand().addCommandListener(this);
-		setEventDispatcher(createEventDispatcher());
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void execute() {
-		hasSelectionChanged = false;
-		// listen for selection change events during executing the wrapped command
-		view().addFigureSelectionListener(this);
-
-		getWrappedCommand().execute();
-
-		Undoable undoableCommand = getWrappedCommand().getUndoActivity();
-		if ((undoableCommand != null) && (undoableCommand.isUndoable())) {
-			getDrawingEditor().getUndoManager().pushUndo(undoableCommand);
-			getDrawingEditor().getUndoManager().clearRedos();
-		}
-
-		// initiate manual update of undo/redo menu states if it has not
-		// been done automatically during executing the wrapped command
-		if (!hasSelectionChanged || (getDrawingEditor().getUndoManager().getUndoSize() == 1)) {
-			getDrawingEditor().figureSelectionChanged(view());
-		}
-
-		// remove because not all commands are listeners that have to be notified
-		// all the time (bug-id 595461)
-		view().removeFigureSelectionListener(this);
-	}
-
-	/**
-	 * Tests if the command can be executed.
-	 */
-	public boolean isExecutable() {
-		return getWrappedCommand().isExecutable();
-	}
-
-	protected void setWrappedCommand(Command newWrappedCommand) {
-		myWrappedCommand = newWrappedCommand;
-	}
-
-	protected Command getWrappedCommand() {
-		return myWrappedCommand;
-	}
-
-	/**
-	 * Gets the command name.
-	 */
-	public String name() {
-		return getWrappedCommand().name();
-	}
-
-	public DrawingEditor getDrawingEditor() {
-		return getWrappedCommand().getDrawingEditor();
-	}
-
-	public DrawingView view() {
-		return getDrawingEditor().view();
-	}
-
-	public void figureSelectionChanged(DrawingView view) {
-		hasSelectionChanged = true;
-	}
-
-	public Undoable getUndoActivity() {
-		return new UndoableAdapter(view());
-	}
-
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		// do nothing: always return default UndoableAdapter
-	}
-
-	public void addCommandListener(CommandListener newCommandListener) {
-		getEventDispatcher().addCommandListener(newCommandListener);
-	}
-
-	public void removeCommandListener(CommandListener oldCommandListener) {
-		getEventDispatcher().removeCommandListener(oldCommandListener);
-	}
-
-	private void setEventDispatcher(AbstractCommand.EventDispatcher newEventDispatcher) {
-		myEventDispatcher = newEventDispatcher;
-	}
-
-	protected AbstractCommand.EventDispatcher getEventDispatcher() {
-		return myEventDispatcher;
-	}
-
-	public AbstractCommand.EventDispatcher createEventDispatcher() {
-		return new AbstractCommand.EventDispatcher(this);
-	}
-
-	public void commandExecuted(EventObject commandEvent) {
-		getEventDispatcher().fireCommandExecutedEvent();
-	}
-
-	public void commandExecutable(EventObject commandEvent) {
-		getEventDispatcher().fireCommandExecutableEvent();
-	}
-
-	public void commandNotExecutable(EventObject commandEvent) {
-		getEventDispatcher().fireCommandNotExecutableEvent();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoableHandle.java b/JHotDraw/src/CH/ifa/draw/util/UndoableHandle.java
deleted file mode 100644
index 84cf89ab8..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoableHandle.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * @(#)UndoableHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.framework.Drawing;
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.Handle;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoableHandle implements Handle {
-
-	private Handle myWrappedHandle;
-	private DrawingView myDrawingView;
-
-	/**
-	 * Constructor for <code>UndoableHandle</code>.
-	 * @param newWrappedHandle
-	 */
-	public UndoableHandle(Handle newWrappedHandle) {
-		setWrappedHandle(newWrappedHandle);
-	}
-
-	/**
-	 * Constructor for <code>UndoableHandle</code>.
-	 * @param newWrappedHandle
-	 * @param newDrawingView
-	 * @deprecated use the constructor without the DrawingView instead
-	 */
-	public UndoableHandle(Handle newWrappedHandle, DrawingView newDrawingView) {
-		setWrappedHandle(newWrappedHandle);
-		setDrawingView(newDrawingView);
-	}
-	
-	/**
-	 * Locates the handle on the figure. The handle is drawn
-	 * centered around the returned point.
-	 * @see CH.ifa.draw.framework.Handle#locate()
-	 */
-	public Point locate() {
-		return getWrappedHandle().locate();
-	}
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 * @see CH.ifa.draw.framework.Handle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void invokeStart(int x, int y, DrawingView view) {
-		getWrappedHandle().invokeStart(x, y, view);
-	}
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @see CH.ifa.draw.framework.Handle#invokeStart(int, int, CH.ifa.draw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeStart(x, y, drawingView)
-	 */
-	public void invokeStart(int x, int y, Drawing drawing) {
-		getWrappedHandle().invokeStart(x, y, drawing);
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 * @see CH.ifa.draw.framework.Handle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		getWrappedHandle().invokeStep(x, y, anchorX, anchorY, view);
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param dx x delta of this step
-	 * @param dy y delta of this step
-	 * @see CH.ifa.draw.framework.Handle#invokeStep(int, int, CH.ifa.draw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeStep(x, y, anchorX, anchorY, drawingView)
-	 */
-	public void invokeStep(int dx, int dy, Drawing drawing) {
-		getWrappedHandle().invokeStep(dx, dy, drawing);
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 * @see CH.ifa.draw.framework.Handle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		getWrappedHandle().invokeEnd(x, y, anchorX, anchorY, view);
-
-		Undoable undoableActivity = getWrappedHandle().getUndoActivity();
-		if ((undoableActivity != null) && (undoableActivity.isUndoable())) {
-			view.editor().getUndoManager().pushUndo(undoableActivity);
-			view.editor().getUndoManager().clearRedos();
-		}
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @see CH.ifa.draw.framework.Handle#invokeEnd(int, int, CH.ifa.draw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeEnd(x, y, anchorX, anchorY, drawingView).
-	 */
-	public void invokeEnd(int dx, int dy, Drawing drawing) {
-		getWrappedHandle().invokeEnd(dx, dy, drawing);
-	}
-
-	/**
-	 * Gets the handle's owner.
-	 * @see CH.ifa.draw.framework.Handle#owner()
-	 */
-	public Figure owner() {
-		return getWrappedHandle().owner();
-	}
-
-	/**
-	 * Gets the display box of the handle.
-	 * @see CH.ifa.draw.framework.Handle#displayBox()
-	 */
-	public Rectangle displayBox() {
-		return getWrappedHandle().displayBox();
-	}
-
-	/**
-	 * Tests if a point is contained in the handle.
-	 * @see CH.ifa.draw.framework.Handle#containsPoint(int, int)
-	 */
-	public boolean containsPoint(int x, int y) {
-		return getWrappedHandle().containsPoint(x, y);
-	}
-
-	/**
-	 * Draws this handle.
-	 * @see CH.ifa.draw.framework.Handle#draw(java.awt.Graphics)
-	 */
-	public void draw(Graphics g) {
-		getWrappedHandle().draw(g);
-	}
-
-	protected void setWrappedHandle(Handle newWrappedHandle) {
-		myWrappedHandle = newWrappedHandle;
-	}
-	
-	protected Handle getWrappedHandle() {
-		return myWrappedHandle;
-	}
-
-	/**
-	 * @deprecated attribute not required anymore
-	 */
-	public DrawingView getDrawingView() {
-		return myDrawingView;
-	}
-	
-	/**
-	 * @deprecated attribute not required anymore
-	 */
-	protected void setDrawingView(DrawingView newDrawingView) {
-		myDrawingView = newDrawingView;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#getUndoActivity()
-	 */
-	public Undoable getUndoActivity() {
-		return new UndoableAdapter(getDrawingView());
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#setUndoActivity(CH.ifa.draw.util.Undoable)
-	 */
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		// do nothing: always return default UndoableAdapter
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#getCursor()
-	 */
-	public Cursor getCursor() {
-		return getWrappedHandle().getCursor();
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoableTool.java b/JHotDraw/src/CH/ifa/draw/util/UndoableTool.java
deleted file mode 100644
index 1075dbce6..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoableTool.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * @(#)UndoableTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.AbstractTool;
-import java.awt.event.MouseEvent;
-import java.awt.event.KeyEvent;
-import java.util.EventObject;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoableTool implements Tool, ToolListener {
-
-	private Tool myWrappedTool;
-	private AbstractTool.EventDispatcher myEventDispatcher;
-
-	public UndoableTool(Tool newWrappedTool) {
-		setEventDispatcher(createEventDispatcher());
-		setWrappedTool(newWrappedTool);
-		getWrappedTool().addToolListener(this);
-	}
-
-	/**
-	 * Activates the tool for the given view. This method is called
-	 * whenever the user switches to this tool. Use this method to
-	 * reinitialize a tool.
-	 */
-	public void activate() {
-		getWrappedTool().activate();
-	}
-
-	/**
-	 * Deactivates the tool. This method is called whenever the user
-	 * switches to another tool. Use this method to do some clean-up
-	 * when the tool is switched. Subclassers should always call
-	 * super.deactivate.
-	 */
-	public void deactivate() {
-		getWrappedTool().deactivate();
-		Undoable undoActivity = getWrappedTool().getUndoActivity();
-		if ((undoActivity != null) && (undoActivity.isUndoable())) {
-			editor().getUndoManager().pushUndo(undoActivity);
-			editor().getUndoManager().clearRedos();
-			// update menus
-			editor().figureSelectionChanged(getActiveView());
-		}
-	}
-
-	/**
-	 * Handles mouse down events in the drawing view.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		getWrappedTool().mouseDown(e, x, y);
-	}
-
-	/**
-	 * Handles mouse drag events in the drawing view.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		getWrappedTool().mouseDrag(e, x, y);
-	}
-
-	/**
-	 * Handles mouse up in the drawing view. After the mouse button
-	 * has been released, the associated tool activity can be undone
-	 * if the associated tool supports the undo operation from the Undoable interface.
-	 *
-	 * @see CH.ifa.draw.util.Undoable
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		getWrappedTool().mouseUp(e, x, y);
-	}
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y) {
-		getWrappedTool().mouseMove(evt, x, y);
-	}
-
-	/**
-	 * Handles key down events in the drawing view.
-	 */
-	public void keyDown(KeyEvent evt, int key) {
-		getWrappedTool().keyDown(evt, key);
-	}
-
-	public boolean isUsable() {
-		return getWrappedTool().isUsable();
-	}
-
-	public boolean isActive() {
-		// do not delegate but test whether this undoable tool is active
-		return editor().tool() == this;
-	}
-
-	public boolean isEnabled() {
-		return getWrappedTool().isEnabled();
-	}
-
-	public void setUsable(boolean newIsUsable) {
-		getWrappedTool().setUsable(newIsUsable);
-	}
-
-	public void setEnabled(boolean newIsEnabled) {
-		getWrappedTool().setEnabled(newIsEnabled);
-	}
-
-	protected void setWrappedTool(Tool newWrappedTool) {
-		myWrappedTool = newWrappedTool;
-	}
-
-	protected Tool getWrappedTool() {
-		return myWrappedTool;
-	}
-
-	public DrawingEditor editor() {
-		return getWrappedTool().editor();
-	}
-
-	public DrawingView view() {
-		return editor().view();
-	}
-
-	public Undoable getUndoActivity() {
-		return new UndoableAdapter(view());
-	}
-
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		// do nothing: always return default UndoableAdapter
-	}
-
-	public void toolUsable(EventObject toolEvent) {
-		getEventDispatcher().fireToolUsableEvent();
-	}
-
-	public void toolUnusable(EventObject toolEvent) {
-		getEventDispatcher().fireToolUnusableEvent();
-	}
-
-	public void toolActivated(EventObject toolEvent) {
-		getEventDispatcher().fireToolActivatedEvent();
-	}
-
-	public void toolDeactivated(EventObject toolEvent) {
-		getEventDispatcher().fireToolDeactivatedEvent();
-	}
-
-	public void toolEnabled(EventObject toolEvent) {
-		getEventDispatcher().fireToolEnabledEvent();
-	}
-
-	public void toolDisabled(EventObject toolEvent) {
-		getEventDispatcher().fireToolDisabledEvent();
-	}
-
-	public void addToolListener(ToolListener newToolListener) {
-		getEventDispatcher().addToolListener(newToolListener);
-	}
-
-	public void removeToolListener(ToolListener oldToolListener) {
-		getEventDispatcher().removeToolListener(oldToolListener);
-	}
-
-	private void setEventDispatcher(AbstractTool.EventDispatcher newEventDispatcher) {
-		myEventDispatcher = newEventDispatcher;
-	}
-
-	protected AbstractTool.EventDispatcher getEventDispatcher() {
-		return myEventDispatcher;
-	}
-
-	public AbstractTool.EventDispatcher createEventDispatcher() {
-		return new AbstractTool.EventDispatcher(this);
-	}
-
-	public DrawingView getActiveView() {
-		return editor().view();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/VersionControlStrategy.java b/JHotDraw/src/CH/ifa/draw/util/VersionControlStrategy.java
deleted file mode 100644
index e59852c1e..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/VersionControlStrategy.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * @(#)VersionControlStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface VersionControlStrategy {
-	/**
-	 * Define a strategy how to select those versions of JHotDraw
-	 * with which they are compatible.
-	 */
-	public void assertCompatibleVersion();
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/VersionManagement.java b/JHotDraw/src/CH/ifa/draw/util/VersionManagement.java
deleted file mode 100644
index 65853c46d..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/VersionManagement.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * @(#)VersionManagement.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.*;
-
-/**
- * Collection of utility methods that are useful for dealing with version information
- * retrieved from reading jar files or package loaded by the class manager. Some
- * methods also help comparing version information. The method getJHotDrawVersion()
- * can be used to retrieve the current version of JHotDraw as loaded by the class manager.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class VersionManagement {
-	public static String JHOTDRAW_COMPONENT = "CH.ifa.draw/";
-	public static String JHOTDRAW_JAR = "jhotdraw.jar";
-	
-	public static Package[] packages = {
-			Package.getPackage("CH.ifa.draw.applet"),
-			Package.getPackage("CH.ifa.draw.application"),
-			Package.getPackage("CH.ifa.draw.contrib"),
-			Package.getPackage("CH.ifa.draw.figures"),
-			Package.getPackage("CH.ifa.draw.framework"),
-			Package.getPackage("CH.ifa.draw.standard"),
-			Package.getPackage("CH.ifa.draw.util")
-		};
-
-	/**
-	 * Return the version of the main package of the framework. A version number is
-	 * available if there is a corresponding version entry in the JHotDraw jar file
-	 * for the framework package.
-	 */	
-	public static String getJHotDrawVersion() {
-		// look for the framework main package
-		Package pack = packages[4];
-		return pack.getSpecificationVersion();
-	}
-
-	/**
-	 *
-	 */
-	public static String getPackageVersion(final Package lookupPackage) {
-		if (lookupPackage == null) {
-			return null;
-		}
-		
-		String specVersion = lookupPackage.getSpecificationVersion();
-		if (specVersion != null) {
-			return specVersion;
-		}
-		else {
-			// search in parent package
-			String normalizedPackageName = normalizePackageName(lookupPackage.getName());
-			String nextPackageName = getNextPackage(normalizedPackageName);
-			return getPackageVersion(Package.getPackage(nextPackageName));
-		}
-	}
-
-	/**
-	 * Check whether a given application version is compatible with the version
-	 * of JHotDraw currently loaded in the Java VM. A version number is
-	 * available if there is a corresponding version entry in the JHotDraw jar file
-	 * for the framework package.
-	 */	
-	public static boolean isCompatibleVersion(String compareVersionString) {
-//		Package pack = VersionManagement.class.getPackage();
-		Package pack = packages[4];
-		if (compareVersionString == null) {
-			return pack.getSpecificationVersion() == null;
-		}
-		else {
-			return pack.isCompatibleWith(compareVersionString);
-		}
-	}
-
-	/**
-	 * Read the version information from a file with a given file name. The file
-	 * must be a jar manifest file and all its entries are searched for package names
-	 * and their specification version information. All information is collected
-	 * in a map for later lookup of package names and their versions.
-	 *
-	 * @param versionFileName name of the jar file containing version information
-	 */
-	public static String readVersionFromFile(String applicationName, String versionFileName) {
-		try {
-			FileInputStream fileInput = new FileInputStream(versionFileName);
-			Manifest manifest = new Manifest();
-			manifest.read(fileInput);
-
-			Map entries = manifest.getEntries();
-			// Now write out the pre-entry attributes
-			Iterator entryIterator = entries.entrySet().iterator();
-			while (entryIterator.hasNext()) {
-				Map.Entry currentEntry = (Map.Entry)entryIterator.next();
-				String packageName = currentEntry.getKey().toString();
-				packageName = normalizePackageName(packageName);
-				Attributes attributes = (Attributes)currentEntry.getValue();
-				String packageSpecVersion = attributes.getValue(Attributes.Name.SPECIFICATION_VERSION);
-				packageSpecVersion = extractVersionInfo(packageSpecVersion);
-				return packageSpecVersion;
-			}
-		}
-		catch (IOException exception) {
-			exception.printStackTrace();
-		}
-		
-		// no version found
-		return null;
-	}
-
-	/**
-	 * Get the super package of a package specifier. The super package is the package
-	 * specifier without the latest package name, e.g. the next package for "org.jhotdraw.tools"
-	 * would be "org.jhotdraw".
-	 *
-	 * @param searchPackage package specifier
-	 * @return next package if one is available, null otherwise
-	 */
-	protected static String getNextPackage(String searchPackage) {
-		if (searchPackage == null) {
-			return null;
-		}
-	
-		int foundNextPackage = searchPackage.lastIndexOf('.');
-		if (foundNextPackage > 0) {
-			return searchPackage.substring(0, foundNextPackage);
-		}
-		else {
-			return null;
-		}
-	}
-	
-	/**
-	 * A package name is normalized by replacing all path delimiters by "." to retrieve
-	 * a valid standardized package specifier used in package declarations in Java source
-	 * files.
-	 *
-	 * @param toBeNormalized package name to be normalized
-	 * @return normalized package name
-	 */
-	public static String normalizePackageName(String toBeNormalized) {
-		// first, replace the standard package delimiter used in jars
-		String replaced = toBeNormalized.replace('/', '.');
-		// then, replace the default path separator in case this one was used as well
-		replaced = replaced.replace(File.pathSeparatorChar, '.');
-		if (replaced.endsWith(".")) {
-			int lastSeparator = replaced.lastIndexOf('.');
-			return replaced.substring(0, lastSeparator);
-		}
-		else {
-			return replaced;
-		}
-	}
-
-	/**
-	 * Get the version information specified in a jar manifest file without
-	 * any leading or trailing "\"".
-	 *
-	 * @param versionString a version string with possibly leading or trailing "\""
-	 * @return stripped version information
-	 */
-	public static String extractVersionInfo(String versionString) {
-		// guarding conditions
-		if (versionString == null) {
-			return null;
-		}
-		if (versionString.length() == 0) {
-			return "";
-		}
-		
-		int startIndex = versionString.indexOf("\"");
-		if (startIndex < 0) {
-			startIndex = 0;
-		}
-		else {
-			// start from next character
-			startIndex++;
-		}
-		
-		int endIndex = versionString.lastIndexOf("\"");
-		if (endIndex < 0) {
-			endIndex = versionString.length();
-		}
-		
-		return versionString.substring(startIndex, endIndex);
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/VersionRequester.java b/JHotDraw/src/CH/ifa/draw/util/VersionRequester.java
deleted file mode 100644
index 9b6a737b0..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/VersionRequester.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * @(#)VersionRequester.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface VersionRequester {
-	/**
-	 * Subclasses should override this method to specify to which versions of
-	 * JHotDraw they are compatible. A string array is returned so it is possible
-	 * to specify several version numbers of JHotDraw to which the application
-	 * is compatible with.
-	 *
-	 * @return all versions number of JHotDraw the application is compatible with.
-	 */
-	public abstract String[] getRequiredVersions();
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/CollectionsFactoryJDK11.java b/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/CollectionsFactoryJDK11.java
deleted file mode 100644
index e6d5d6b6a..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/CollectionsFactoryJDK11.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * @(#)CollectionsFactoryJDK11.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.util.collections.jdk11;
-
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class CollectionsFactoryJDK11 extends CollectionsFactory {
-	public CollectionsFactoryJDK11() {
-		// required in order to create instances of this class via reflection
-	}
-
-	public List createList() {
-		return new ListWrapper();
-	}
-
-	public List createList(Collection initList) {
-		return new ListWrapper(initList);
-	}
-
-	public List createList(int initSize) {
-		return new ListWrapper(initSize);
-	}
-
-	public Map createMap() {
-		return new MapWrapper();
-	}
-
-	public Map createMap(Map initMap) {
-		return new MapWrapper(initMap);
-	}
-
-	public Set createSet() {
-		return new SetWrapper();
-	}
-
-	public Set createSet(Set initSet) {
-		return new SetWrapper(initSet);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/IteratorWrapper.java b/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/IteratorWrapper.java
deleted file mode 100644
index 1ba77d67d..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/IteratorWrapper.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)IteratorWrapper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util.collections.jdk11;
-
-import java.util.Iterator;
-import java.util.Enumeration;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class IteratorWrapper implements Iterator {
-	private Enumeration myEnumeration;
-	public IteratorWrapper(Enumeration enumeration) {
-		myEnumeration = enumeration;
-	}
-
-	public boolean hasNext() {
-		return myEnumeration.hasMoreElements();
-	}
-
-	public Object next() {
-		return myEnumeration.nextElement();
-	}
-
-	public void remove() {
-		// do nothing or throw exception
-		//throw new UnsupportedOperationException();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/ListWrapper.java b/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/ListWrapper.java
deleted file mode 100644
index 8c3ca086c..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/ListWrapper.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)ListWrapper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util.collections.jdk11;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class ListWrapper implements List {
-	private Vector myDelegee;
-
-	public ListWrapper() {
-		myDelegee = new Vector();
-	}
-
-	public ListWrapper(int initialSize) {
-		myDelegee = new Vector(initialSize);
-	}
-
-	public ListWrapper(Collection copyCollection) {
-		myDelegee = new Vector(copyCollection);
-	}
-
-	public int size() {
-		return myDelegee.size();
-	}
-
-	public boolean isEmpty() {
-		return myDelegee.isEmpty();
-	}
-
-	public boolean contains(Object o) {
-		return myDelegee.contains(o);
-	}
-
-	public Iterator iterator() {
-		return new IteratorWrapper(myDelegee.elements());
-	}
-
-	public Object[] toArray() {
-		return myDelegee.toArray();
-	}
-
-	public Object[] toArray(Object a[]) {
-		return myDelegee.toArray(a);
-	}
-
-	public boolean add(Object o) {
-		return myDelegee.add(o);
-	}
-
-	public boolean remove(Object o) {
-		return myDelegee.removeElement(o);
-	}
-
-	public boolean containsAll(Collection c) {
-		return myDelegee.containsAll(c);
-	}
-
-	public boolean addAll(Collection c) {
-		return myDelegee.addAll(c);
-	}
-
-	public boolean addAll(int index, Collection c) {
-		return myDelegee.addAll(index, c);
-	}
-
-	public boolean removeAll(Collection c) {
-		return myDelegee.removeAll(c);
-	}
-
-	public boolean retainAll(Collection c) {
-		return myDelegee.retainAll(c);
-	}
-
-	public void clear() {
-		myDelegee.clear();
-	}
-
-	public Object get(int index) {
-		return myDelegee.elementAt(index);
-	}
-
-	public Object set(int index, Object element) {
-		return myDelegee.set(index, element) ;
-	}
-
-	public void add(int index, Object element) {
-		myDelegee.add(index, element);
-	}
-
-	public Object remove(int index) {
-		return myDelegee.remove(index);
-	}
-
-	public int indexOf(Object o) {
-		return myDelegee.indexOf(o);
-	}
-
-	public int lastIndexOf(Object o) {
-		return myDelegee.lastIndexOf(o);
-	}
-
-	public ListIterator listIterator() {
-		return myDelegee.listIterator();
-	}
-
-	public ListIterator listIterator(int index) {
-		return myDelegee.listIterator(index);
-	}
-
-	public List subList(int fromIndex, int toIndex) {
-		return null;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/MapWrapper.java b/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/MapWrapper.java
deleted file mode 100644
index 0aa4022c3..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/MapWrapper.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * @(#)MapWrapper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util.collections.jdk11;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MapWrapper implements Map {
-	private Map myDelegee;
-
-	public MapWrapper() {
-		myDelegee = new Hashtable();
-	}
-
-	public MapWrapper(Map copyMap) {
-		myDelegee = new Hashtable(copyMap);
-	}
-
-	public int size() {
-		return myDelegee.size();
-	}
-
-	public boolean isEmpty() {
-		return myDelegee.isEmpty();
-	}
-
-	public boolean containsKey(Object key) {
-		return myDelegee.containsKey(key);
-	}
-
-	public boolean containsValue(Object value) {
-		return myDelegee.containsKey(value);
-	}
-
-	public Object get(Object key) {
-		return myDelegee.get(key);
-	}
-
-	public Object put(Object key, Object value) {
-		return myDelegee.put(key, value);
-	}
-
-	public Object remove(Object key) {
-		return myDelegee.remove(key);
-	}
-
-	public void putAll(Map t) {
-		myDelegee.putAll(t);
-	}
-
-	public void clear() {
-		myDelegee.clear();
-	}
-
-	public Set keySet() {
-		return myDelegee.keySet();
-	}
-
-	public Collection values() {
-		return myDelegee.values();
-	}
-
-	public Set entrySet() {
-		return myDelegee.entrySet();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/SetWrapper.java b/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/SetWrapper.java
deleted file mode 100644
index a2bbbb6c6..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/SetWrapper.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * @(#)SetWrapper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.util.collections.jdk11;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class SetWrapper implements Set {
-	private Hashtable myDelegee;
-
-	public SetWrapper() {
-		myDelegee = new Hashtable();
-	}
-
-	public SetWrapper(Set initSet) {
-		myDelegee = new Hashtable();
-		Iterator iter = initSet.iterator();
-		while (iter.hasNext()) {
-			add(iter.next());
-		}
-	}
-
-	public int size() {
-		return myDelegee.size();
-	}
-
-	public boolean isEmpty() {
-		return myDelegee.isEmpty();
-	}
-
-	public boolean contains(Object o) {
-		return myDelegee.containsKey(o);
-	}
-
-	public Iterator iterator() {
-		return new IteratorWrapper(myDelegee.elements());
-	}
-
-	public Object[] toArray() {
-		return new Object[0];
-	}
-
-	public Object[] toArray(Object a[]) {
-		return new Object[0];
-	}
-
-	public boolean add(Object o) {
-		return myDelegee.put(o, o) == null;
-	}
-
-	public boolean remove(Object o) {
-		return myDelegee.remove(o) != null;
-	}
-
-	public boolean containsAll(Collection c) {
-		return false;
-	}
-
-	public boolean addAll(Collection c) {
-		return false;
-	}
-
-	public boolean retainAll(Collection c) {
-		return false;
-	}
-
-	public boolean removeAll(Collection c) {
-		return false;
-	}
-
-	public void clear() {
-		myDelegee.clear();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/collections/jdk12/CollectionsFactoryJDK12.java b/JHotDraw/src/CH/ifa/draw/util/collections/jdk12/CollectionsFactoryJDK12.java
deleted file mode 100644
index e29d84ab6..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/collections/jdk12/CollectionsFactoryJDK12.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * @(#)CollectionsFactoryJDK12.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.util.collections.jdk12;
-
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class CollectionsFactoryJDK12 extends CollectionsFactory {
-	public CollectionsFactoryJDK12() {
-		// required in order to create instances of this class via reflection
-	}
-
-	public List createList() {
-		return new ArrayList();
-	}
-
-	public List createList(Collection initList) {
-		return new ArrayList(initList);
-	}
-
-	public List createList(int initSize) {
-		return new ArrayList(initSize);
-	}
-
-	public Map createMap() {
-		return new Hashtable();
-	}
-
-	public Map createMap(Map initMap) {
-		return new Hashtable(initMap);
-	}
-
-	public Set createSet() {
-		return new HashSet();
-	}
-
-	public Set createSet(Set initSet) {
-		return new HashSet(initSet);
-	}
-}
-- 
GitLab