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 zcmca`Uhu)fjZzO8(10BSGsD0CoD6J8;!F$-42&?o00ToTl>hJl|Nk)IItB)Y|D#~Y zguvhb|NqxAFfcGPFfgz%Ffgz(Fo5Hnoq>UYgMop8lYxPOi-CcGn}LCWhk=2Cmw|zS zkAZ=KpMilvfPsNQkb!|gh=GAYn1O*ogn@xUl!1XkjDdkcoPmKsf`NfSl7WFiih+Sa znt_2qhJk@WmVtpmj)8$eo`Hcufq{WRk%56hiGhJZnSp^pg@J)Vm4Sglje&tdoq>Tt zgMooTlYxOji-Cbbn}LBrhk=1Xmw|ynkAZ<fpMinFfPsO*kb!~0h=GB@n1O-8gn@y< zl!1Z4jDdl{oPmMCf`Ng-l7WH2ih+T_nt_4AhJk^>mVtr6j)8%}o`HeEfq{X+k%581 ziGhK^nSp`9g@J*=m4Si5je&u|oq>VDgMop;lYxQ3i-Cc`n}LDBhk=2?mw|!7kAZ=~ zpMilPfPsM_kb!|Ah=GA2n1O*Ign@w}l!1XEjDdk6oPmKMf`Ne{l7WFCih+S4nt_2K zhJk?rlvhBwoq>TNfq{V`k%56BiGhJ3nSp^Jg@J(~m4SgFje&t7oq>TNgMon|lYxOD zi-Cb5n}LBLhk=11mw|yHkAZ<9pMim)fPsObkb!}rh=GBjn1O+zgn@yfl!1YvjDdln zoPmL%f`Ngdl7WGtih+Tlnt_3#2FZR<yf=W|p3jiaP{N?V;L4E4P{L3I)&a}SglRDb zR(O5~l??^!s$W_EJ}bDAnPC+}Am3tS6BdM<^C<7!#~8=Jz;FOmn1I7DpP`%~m7$0s zfFYkD6YK^B1{a2WhGd3PhFpeJun4j#sB8@eCPq-21sMm*bf~h}c_6h@w?O0qz;+ii zWHJ;plt66@W+-9EXDDJwWJqU7WdOM*lc9(ql_41_4hmC<ZcrLyVg%(Ikli2*6DLH2 z(jZ6;D?>2YpScW);IQ{($YV$Y+YS;bVaR022gf%^EjA4DKgeDf#-;{cEFP3LKp6s> z??I(^D>OV_FoVi(28LKD|0Oe|Tma=gkU0%v3=9th7#J1^Ffe3*GB^VxL(Y9622Cl> z0EYXJ`T-OlpfckV)T|#8kaFQQJH+e`Xqj;XRERJzFo5C%WHtlCLr}2;VS-6?6?`Zv zK<N!#1wV=kkjdyO1W;6f%Dof(5O;yf4^Vw~3F<CTyn@OgkW+R+)qvO_ab!Nozt^CC z1C?o@vhNX^Ptbj~0cxHA6QrDc3gv^!5Kx)B8R`a*n?QEn01*rf3|AN#7!(*87%ng| zFgP$VFnnNUU`SwQU=UzsU}#{0l;aOT0mHz+@C<4OR4c=2G(NhU2)O}f4#<8G2H6k7 zAp1cWWIqUl!jv30fSgUN8!{Lf7(f^l4j^p7!oUE+3s@N#K$u)NfKm)0H%taOlmT}f z7_d?129VpYLemo{eSqrFZP4@qs)Io3V>>i1L3J7|UXbYtP&b0IT1aMYYO#V}YPmvC zer_VD_CQw2z;Fs`7EBa9T~J`Rl4DV3BB<VinT<~4vm4|EeEA3zSERaa4@eWl5fr%% z6i1}m4T=+JLs^KDI02PEu=D})3aEYc9$Maj<Us8xkoXg58UnFF?I;!&NIB;u2x(KX zf)qpBcOW&4AOK=$U4f>E8=xqFme4FVMvTIDgupE~W(Fp3tFIBH8Wa>D8jP91tu!!` z8C0);Szr@jH3+z=2@_^OR?h-zP(fv|i~s)*iM|gYcR_<v55xxP`a6{YBoAsufw;&R zQ;d;;;T{760~S3X<3Jdzp8eSMfLw)B&k5{$K*5Gn56JOY+y;s;TzZ&5{`s%Y2nqv` zb{Gcf0kL%%AvG<iwgT}%bv1fCgTz7c%nXfZkPc9*A0&?G`hj>%;NAd;#lVOf&xF;Z z#xp`aLLB6WKcGMbSpbb^kUv0v#};QGWgrZSGf*!C#D-u-21Zc0{GEo8Ho#^<TiqCX z@WeC7T&(th;~CQ)P(0(*1CqcI&mbvm_M8X#=RXJ7KOi;87!=2#aDo;FP$@<R^mqpO zeXzvyH6{iI4p1EbXJFuj#W~33Si%J)48ovr0ret5YzW4mpFwJ{>LDVYG3)`yGiF(X z9M2efKn}p-A5dI@q_DZ|E;yb+B{mbo2S!A|fWqkR-T(jZGBGd^if53UkmH$=feGCE z2HA<6pHamT`59FltP4z_iX-wZE^$zPW<2o!KWIdO;Xh=A0pxekXaNJ`RB-(O3Inj= zNCZd>ls7>=W{5B&gD5Cmu;>A$X^<MMdO-1vMGq`gvFZWEGZsCdFvV#PNCJx<kY7Pk z*zCy$`R6|*o{hNH{sXCl;pBV<hP)C6hQv$;hCI;F09XPuKZE?iYGcHRTyBFqXCU>k zfB~@?n82elU?y6*O;|l5o<a2jLOntp6wfffg5nt^ePT)fV0S>vU>F-h6PKSMYGEWJ z0|O|YvDgC&ACM|g_=9K!W@KOh#WNN?$nlI&4`M+B6pJ31-?7>Qj^_#B`We*v1DOQE z<q8Z8LHP^}xrvaG9h2j*{D&FOpk6+MjS(Zm9nhE?B+Y<E+rakz2i541(Kt{%z{CFk z|No^$3=FBM5cQz^1RB8u#Sh4SCPs)jhz;(F|7QsR)gvH2$Q-cQU=B+Fj13Y8wZXt` ziT{uhJ%oL14j}noOrX9rNFx+8K}HflJec_)7cT*ai!c*N4?>)Q0mKHy0nAR2eIUIc zJshBT{?7)k17Y$YIhY$@Z3j>}2@(hCVFAVSe@?JH(kydfNrGV-BV=R}r0zEp1H%pY zXf`yS|A%CP+y?49fz*I7DD-bW|Ns9TXqXKo0LP3BtYH7>f#Vr23>ry=*~kPLWktvl z7tbK|pfG{O8;A{Z7syy}82tbLA4G#NNF1ad9A==p6*}q)60c!oU|>7|8m5Qj+h0u3 z_=m;Mf0h7{nV`4@sRz*@vq1KiF(TrS;XeyF{23U)wt$s@2z79J`u`sm7a%ck_=CfR z38IGy-s%I7I_EMnFf=nUFcdN}FqDBT2Wx`n=l>!QJzz0Z0@M=*iKxMo8Z<xu*9C_^ zGuU*H3Q&m!86AP}7#K9*PJqR;aRA7_R-mD7m?9``z{9|B6v~EB(DDgdZbQTfk;KO{ z*d%DYf!H8-foL#>r%!0SfdxVF31gs(L*f}Ei)s!oaga(ROrjsb{VG!Rfb%n&yOErL z$%Mr-iF!Z=k?J;Zx+TpX^!7HkavS6nFs3k`;c4?fuK2_y4z?XZ&>>vF^)spVfXi*t z!XNA@Qtcrlo{w;Y+{M5k#sr!5Itnd2;6)h2L8u6992qq40(Kn^0wmAKP|dKH8&qb3 z<`+;DLW(K~36cO6_Kg2Qd?v_z7-&umBmu(<q2q=njF4J-0d!;sG<OG51DYEH&B+~5 z=Li6e?ks|;cLABnz`(E=svb6`1hNpM4>aG$&;V<xfJ6{@D^w3mEhsb|K+SyvRrVOF z1~k46n!jVXgME|)svJBw24h2LMutaFGe9j-(EJ~$j0ep-faRg?2eIEFRYjor!8g!x zF;EzQ<`I$QL40I+P<SHCgZRkup!r8+c@Tds)LkIELHGjHzVKSeT<S%rdtl)Ma_T$i zT#0clWM1_>sObZpg9VuZ?X5MuWrm~+ke@-~2fqCOKjHiT{|?*?3<VqzIgojvc>z%D zTwsCBseXi-2eT7o9=cf@zW@J!=JWsm0UQhrCOixbjG&eR0|UcNXxxG3LqT@lg8C2K zn}e<a01X`?&xwHMXp#A#a7E^W!to2#&!98_nyZA3VZzcH$b493H*MN9kkt$fXJ#@O z8=qk~bLKz8rcIj|4nT7tXf6{pzl<-xq5BVHASk~vFw|k>H)x>@3Q7hBM$oDTkZLf- z%y0KV?Ln{{!w#r>BA6lb;fJ7n8Aiw)`C({z0P-71hcI{?l>v7-0h(9)_5c5dumAsp zCgwN%1H~!>1IXQsjF|2QnF);&25`9m5dcLy)ZJC!d2>+sGu%bE8&*z$=C44b7lg`* zb<i{cnllH@<*$dP2~eJbScytrgQ^GhK0q=Dpz1*m1MxxW5gt}d*u#pCK?tM_Z&+RU z`Tu{x|Ns9%b1(tW!T=mr1mc*Sup(5Z9#Q8A0QJZTm8qce5fl#KED9}Cxqkis-~0dn z|8J}e48~jx4CrMlC}9#TQ*RS4Q$cYJ4u3F#y-Y=KD1($Dmw5wGrhbQ(gD|&&ic}aI zR$hVDXn@>`QC@)pkAaa9xje#GUV+R8<(IJ3qT<Z_JaUSyyLaz0oIZV;;nk~GBo|xg zMLft$pd?L;Vrxqoq}VzJEw(^QM?h8macHpx%if@5>B!E&;L5?k;K0tnupcT9O3EPj zF|gokz+lg8LWqKifq|h`3{;&nFc5Ny`@jGH1=$%GcCa!qaAR=^3r5inb|0js#8E_& z=Msy5|NmcNW?)#rz`y{asUId#mlF&V8<0y_7#Nm-T*5+&*df*>A^-mW?_y(M*viVl z0HSFZCa}sQ9!KTDL#U!<U|^W}_5c5XAOHVP;ACKM_=!}}l2v&yFoFsV5Qc>oh=x_P z+ZpjU$U&6{a)Z1bTxel7$U$a;Di2UDg*C`8fBpYI_s9SLVVn#M%0K`AN3T3UxfE7; z=tIqg73iRac%TB^BfrEeu`JQ0D6w2YSHZC;IU}<qHMyj;C{@9~EVZaCGqoJn4hF43 z0JZO6Mu28|L41%=$Zd2E<7x)j%rV$jW<>h~W)^7894N?OW`WwAAU?<}<URw)ERfd; z%?5(izzIeMm_4BW7^tldvj^0k2Ju1mJVa`nfb0SF-qG9iuy&_5G`ZnycmDYQfBNtL z|6l(7|9|t}|Nkc<x8Df&^FT2Ray@8#3)+6e-_M&(AX$O>dB|;&Y;Z(iCM%G|p!Jc+ zZIYY6|NrOv_y2$4-~az}{^3tn!ccQz;R~umLCFe~o-*^&VbOpq>420YC!GalpaqOf z;H9Xb@L*shKIwqWLQXmmvv4<!KrY8NfDdysuA~F92RZ40?7^3Gw1`ML(cl072Q5*( z{p0`tyI_w)oBlLNI<rVjI$5BA!ZAdEo^<AZ|NkGftaav(|NnO|U^ZuwOC%wvxv-=I zO8cOs<B^z`l9LLH1zafyq#8Np6jYI)azJJwryPh`)K57edyrEO$R0{l4ye!prJOB) zhjz*V6*{1lQ}mbol;f6}URp$Q%K1=7y_5qni}oo8WDmZSqd`QO<NX~{U0we1|9>lu ztE(9#mN}p$pP*t8+pr{hnbZ3nQe92_@&A7Uf$B;Ct;_*cf1olaBtJigP>BOli(KLy zXd*w|fXqTJaUf<<Kiz=rK`wDX_FzjlJE8qRJLvG$E@(dwq#qOyH@jE^U_)L~jF4?1 zgnDd(KmPyU{OkXJ5dHu6|Nj_$0*ZTVAeVtKtdRy990awG(Hm)?NH+lOE@5C`xc2@3 zfAin}|NH*<|G(uoqU{gbI)Se*%fM&`Teb)a6l{$&kToFZFwi12yZ`+EzwOum{~(&_ z&tM77fIt8LTmAn3|M;K(|J!L4ny}c_BUGko*D?J6_W%Fe-~azR|NQ@d?jJ<#k}%Z* zs-&T@Ta6g0kmH2KJ_D?0H;=?JEf1PLh$+(?zyJR)^ymM7#-IQHSNy@>1Q&yv3u{M# zMngem8mI{#o|%`DPp|_A(t%vE$xI->WCNLnT(UvTqJGH+vIn_j1KESEWP_z1O(If{ z{rCU>Re$~ezyHVo{|A4Om3lz=pQzL`lf=}M35{i9QcvUe|Np&y{r_M4<NyCTzwoCX zL8!T~)B{=u0!lq@MTxltn^GXf$O-4eWbzXZ$SmZ912K#G2?t~ka>4=GgD>Ie6OnL= ze?y9$?SKFOpGo6lXFiDuCm$NY#3Y=pzahm=>EHkVO9&J@;!ty82?x|-03{qyv6GpX z9!A8#5l9Pi@;Net{Nw{N3px2f%%Xns0oj9`d_eZ#OFqPuJKKN%|8M&1|9|tp|Nmbc z!sX7--~azd{rdm^>!1Js*N|E61SICA5^Rct@-TA3nK6g_gaa}QIpILeqJF{w*@K*L zK=xouIE0$j%YOd<U-sw!|A^lZ8lzcFU`hrQQlMH2ykrhqRUwTvYS)4HE`wAMa!K&- z|NkZb{QsZ$6GBtpB_LOTFd>&z{`voZ?VtbuLG<OnSQ^I^hY83PAWX<5vOoU+fAi=6 ze-M3tKwVP*=l}nQ|Nj36(V$Kd^<zhdA2Pc}C`_7v|NlRofq~%<XpEeJ^l2)>Db^D@ zB@Aoq=@L<AgVM=`-~az7|Ns9#i$I-?yh`Lh){Y=jR{;_zpu__2D$FHNXJ15HK>%7O z3o-y(ojnn{o7)uXX5N30wuk2b|Nngn)Y+nFbv9^SEvU{ePR&V8F3HT#BQypA(tuL% zE(S#odE@mUvrr0NuvxeZUQmFLGhPp}2c_U$Tn#?Tfb6Lr?K+0ZKmY#+Eus1S>;L~< zAcujR{r~@eZ2e416Az)O9`wY6Z>k5Dcv_)uKKt|kf6!4Gpx(}00^{|#rg}2K<MqXa zk`8Fv1Uc#CEGIwdfXqTpIuNr!ae%pB3+hv>D+^(6CU&X^WDmAF8&>XA5K->@{PzF< zkw1_L=zV|jcQPqWIxk2pcXmL_2Yls@Ce+Qw-~a!A_~-wBu^<2cFZ_$YlbHZD7uHt* z71yA0C%Lq!C^fHyw}gn{SCAg$^kcJ{aQXo)(E!aV!|a^^JxvC*Di1mRK+M9Oen8V! z*oq#|NFX)LA(Re5en&3CK<>qs4o^UbagRVx>NyGOtw2xM0p$Zwo#+1N|Nra%{{IIR z0iYF`kN*7sZvj1R0^}ctZ=|=M;Oizq24J=+kv5auhPqG*dPWcn_%t7w8(=i()CrK= zKr}3G;Tqfpg#*ZMAe;e8j|>b9Q$fR$AOTR6f|r&Oz0w+#QlUQh{~wfgKp1Kim?FhJ zoBsa)4?3j>)DoNp)(x4~B|O*+RSaoMP|ZEpL4)3)_QTKr|5re*fGjbiUic7d4T7qg zHB1Z)Ao?hlg<K2-rUf7+CiEC9XviS-U!cAMQLvaYAXF+dFfg?I{QsYWiGkta@BjZ7 zfwDU^<&amQqof>AiUK(Y-Wps$VyRpJH346#oC|gHzMud9t1>Y#EdTxge=8II33v&p zxv<g^RLX!#W$<DkB8PB5dXP(Hhs}gbWn622KxQGArVz705kcKr9b^x3X$rCjREpqg z5E2~10i6~07m|Kz|It4E5E?p0ZxG@eI)*g}Vd<yiFC_gqgK7u@=?B-)aUwCZsi5Hy z<b-o%JNXF*WEOJ5ftW@8gafh%IpKip!Ip3c6@l9S{{IIRfgt)2U5Y@0%h#Ys#(|2! zT1Ey2S{H$|=+nTGum$LNK_&(UXGR7FLPa31K20KVi;zJ55adKGvxodd3^EHj5kt(P zej*0hgPe##_FzlIu-cR0{09RA!y^_322j$mXQzGAAvFJiUi#si|3EMOWLOy(K(!|; zJK>~*YyJaVdlEPA3TmArC!aU_$xl8YvyhVy#4PG3ACNuB$p>T)zT`tp<#~)9l6<~$ z&_4N4v+}$MYD$9+>x4GGKqsk!lFx1q!pVoKmFI!O<R=_ZrG}hvAZAfN;ehNxPB<WY zuq7NqmFIQ_1_n^&38HD+e<0+N+pG|mfar5Ht;PwtB$fl>5)gfwrY?ci3Is>kLFe86 z`2YVj69YrmumAs3nZaEk$bLpFi<$|Kbm8w)QFDYHmaPq-Zl3ew|Nj@Deb>MK|My_V z->1Sg!k(L7TAb>VUrzD}yT(cKvo>ht8#!x3%%XnQ2HAt0wL$h^%i5$Sp3BS(4DP@F z|IY;tD}kI%_6R%u6A$Q+Qc#iyB_7ZwZQfu1|AWre!M8^Tf8r@hB)FXd6cNY`ia%$l zmv|s%fntHWy>XD6krNNd9(;+1n66CHkN^LlvoJ7l{`&vF5mfPjoK2&|L(Q%XtmN^5 zx*3#sSXdbt&j0-XKZO;4$%Csa11@<&3t&Ucxb{<kx&_Ed=fVZ@lMcu%<Z=gM7AOv= zn{+_-ASWG=J@}Fi!4;$o3=Dn${{N3<fgHyEoyO%3p%tX)T^W2UNMT9m5Y){l{{8=7 z#R3@^y~Tn*>EK#HnweLYpPd?9l1ec3fL3E7r=A5@$WJ{Wvyf8{#4PHk9*{lAsRv{a zzSKiZM;MfPqM0Gb^nZmmA3y`_v=~OFW=9y7dJaI{3`#u}%#dppZV+hl;OYp&Qcq%0 z38BIV)Tu;HJ|#EEPd*^CkdqI@Eb1p8kUhxB2V@Vv<U>r08I*h~Ss^#B2!j@)gPcvH zdW#k<=6le33zU4Ou|jV9039JfPNN5sd|dNV2qhj+0|Ghmc-$dB@qo-iPCO8^K(RpG znhRtPa^eBmgD>$I5iy13_3!_GaW)2qc?=8;8)=+)7LhoGRRo=C!Zw8kD|>37Zf^Pa z|Gx<v<eHQzpfd%KwrPV})S$r@*sgZaUL=qhYzhl>;3a4Zt2nj9B{eOvG^d1^xd@Oh z<P>z~0r@EiWEOG?f|y196a=ydIR%02!Iy%FY5Uw|W?-1X#=tO@m4U$s)VKmUn?}VC zE!sYRp(#il)ZSrZV2EaAU=U>|ukDkPnwVUYS(aEra1#Wm9f6#BmOLRp^?=MmPCXE_ zK+!<m@&{xOa_RxugD>^y5K;aFu`w|0W@BL3&(6RQO5@Zshs5$H2T%C}8i@rpdlaB< z?qOqKxWUH2(8|uhU_l`Dh(OJSl|P_`MWFJB*t7#ukDPWYUXY)5KxQGQ9f(=fPdgxc zkkbyx9&Bj`whOX@7jn!Owmqe=BlA*tA$v;EkIVzv1sgRoW`Z1<hrYWL)V>DQ0U#{Q z%)s#L&;S3$Yzz#GpbOPN@}OwKzq=E@gb7rJK$n$p1b`O*fH1Zr)D{y+gXl+a6oVXr z;~WLhd1s(B2s_y&l$n7+{_p?)hHMNBwFDN|Nkh$rr9n`22}*;$pdm-kypq(S#N?9v zB0|k5kT&F`C}U23QUsZWoD?Bu;ZBMmA7EQw2Xiy7^_d`hkdq?F9&AYwmV`jfDA3VX z_>$0L(9LlF{{MGoW?*=SvMt^$fZ9ojP%{cW3E^u-p(i0#Mh1rLfB*k8GBYroB(N<W zS2N0`C^4P*6a;FLAg7=Q8RVxRkXgtn2x1oXQxM1=<P-$52VV*@A)*jk%*?>x_V53H zP!EpQDQF3ag%Id0Lr_79ts#z{f}S!%QqV<K!YK%J?j^`vSRn+;WuQU`vW|lIGz8Lz zoQ8Jfke`M?W+A5`h*{K6Lm+#Q(-6oWd}+vnh&0s921!HZoU|{6R*;y6DnP|Gkrmld zHb@#W<s_VjK&yR`(-7zkQBWER2JcRBEJ{rzJ{^JdBB!GX1>~nAkXgv-2x1oX(-FuX z<a7kG2U|LVt@1tty_*$%mG^H(1_rKw|Nl#KK+;gf&;S3YFfuUA`2YX^7e?r<1fYgG zXb1~@CkrUlK^R~C_MZ_Hf*@5mb`C<WdjTtet?~w)xdA$Lnw0_M2GIQhAR6SBDgPmE z0?{Bh!Q6&C(+$d3=m%0>W`Q*9Ks0E;17lYkfz`uc=Ya^&FgdiD2N@&>H}gO;Pz-A` zfYzOZT!P+a0A&K$p(1Np7#L3d{r~?b3nb)0Mu3`~3=BlK8F0A=WDUqT_zB3CM3f$x ztPBilfByg1;$&dB4BaONat|XG_n^+a!<)eb-2*!YV<myo1AP*s66zytH4v;T2HQiw zn3aLS`Op9VA2=8owh`FdrU*3`Rs(_V972>HnfZC3ksyWQ(t?6~!UNJE&B(=v$D3*f z76!;=XrS>YQqH9VnT1?@fXo8ND3*(5z~VSA$|2Mk2HAsLe1Po1R(v35G0?_P^endM z$N&F+%nS_6enDuAEJk26E$EtQus@KJ5GSH1r43JF1kX1Gxdb$44sr>I9$1$|utLHF zMAObCuwsYcbb)pqgT?Rv|FxMJ7##lo|9=$ReS~Z;A#b*+7IE4QWZMZi5@Fe#n$rca zY(4?%=Az$_g*9w{|Nmb>V73YW8VNEM*c|u>s@JHqg%x5J?v?>4M9JyrqE8oq?7^0` zNliS)EDQ{?fB*kK3(Be>XOlhHOTWYu$OyULX9m>Gpu__z93KDq|9=B$;1@I~0Nox0 z3U5$x4Vx~&pLobvU^C?_^%4)nEKn>^cdQpZ@qp~Xmv{&+uz{95?yL+9_d$mYKqvhm z4GheUWT*`cY^SK<PdwCIU;|4$YoKlhB_7binx%jK|35<C1vVK!$xk|<k!s{71;i}s zCmoPI$W026J=l^Cp(e$iU;qEF1KlwH4?<I;`b28AlhCBt2fAZ}g@J+XAEdMxIF}sw z_5VNUFnf-F5Sn%_fz=A2o(!nLhu)I`Wn556$)H`wu;SPM{|?Ly4EKKh|IY?3VIlIE z85^tz)>OcHDhBq9O^SO!O+OzN28KJo{{I((X4-*t&yrvN|AQKUH-7#9-v!DZpiD>9 z4rAgAK2pL5bWZmIW(EeAfB*ld4TAUryN3npo<R^_0-&vStPBixpbH96;;RPlNCEca zKC!1~LZu%lZr*|R3NSD*fat-I(|55lFf_0+FnnfZVCbY#$dHnfL060@vokPMa4;~m z4FdNpVqjo6%gn%VgMono)V>6jc94>XdMSsL@L9^hz;Kd<fdO>c4{Uw#K)dHIE5tns zph;7BNl3l$A(XQ~=S3X*`~N?PUXSfiT+E>g$S4t*{LhGOr~-St0v1yqgcd?**D>t> z^Z)<1KmY$P`S<_-1e8f=%#fk9aSS@K1$4I)u6w-DN8dWYKF59!1gvo!4R!O+KmY#= z|NZ|z>)-$X#W*IRuS0uVpow}=4gu+L{`>zwtjC4xjDfuTlFYQs<V0c)odWIGM;?qj zz*YkuwFWI>0oh5)U>wLS<d!qUEKt&=Zl?=m4|2;HWDhwl=cj-E{|Ch{h+g=Q^pjag zPvJg9r0~Ok{{LtH|Nnm?Xnq+S1+al9>ZkBMB#tll5Rt-jz%4cghQELQ|5y3{|G)ab z|No!-$A5;A3DjKJ_%dit05raw2EKHFJ2^kEBr!8DmEbxHkUr$pEW=HHY6h8woSGqK zk)N6!7#J8px8uP42$~ZC@j=xwa%u+I14_;4Lklo*TqkKb6Op!@m>3w?nHU&WF*7hM z1P$JRyaOJWqJG-iOk&z<hNb~*a~H7EGY9JC8YTt?6($CT0%it=791yOpqHK?wINIl z46xD@*Pfn4;%>SCMH_Nb`@lzjQUjTVoYWv@f#Qa`1t-WJ<fI0&2b9#%lN6z*fjct; z!wMz_1`vIUj4iRG7o5a&uXUIi7@n{&FeEcGFeIXMk1!KAv|NQGIWoG}1n(Wvu4Axe zWMHUZVPH7G#K3^uy=G*<bPuIX6+-t8p*L0V-8%%!Y<Hnu-f~6;hN&zJ3~fvd3||Qh z0^_=OC^x?>)u|FT%Z6*89H^y>oTp}pke{bOW+CS(h*{LnQy_bg^AyM)a`Mze1_p*V zEDQ{y%n+J(9a-2C2V4i)x&8eAKj_c@|0{p~|3CfD|Nja<|No!!=l}nzpO8ZdLCFG? zaWGtnx6}V0aRD$$Gjw@C9rC;wG*dD#z?L{54zdHe;lQ8&|NW5M0^@@YN+jf`uiqhe zR=9w+n-3E|-T(3b|GYo{|Lgty|NrF>^V1$2hbVIV{Qv*;pa1_efB*mg5OnMp8Xr2T zN%CE(@Og1?;sxKG%7j1dNkI=$WM+W52}FDUMYxSnnhX2$|NrEF|Nn#LKkoe-8u<ve zX8aTn0|RIU6Z)EQP}cncy>fgR4`j{wduXJ<x~U8d44~?o0sU%p^gDRLSEJt(VnDvK z+#GscJG2kMfa}U~Y<d_N{)5gQ2A3kBgAD)AWME+U|DWMMgE80~Y<m9x2QBnsU}$Jy zV3;}6n8A3aF~sr4XBhsUNyF<lOG`_zU7$OO+uGU~e0_bvcN1f`2U5e&pFbb02V^$L zy=NHCFdR5=0IxkDvq73b_AsPD{KGJl0k0ldxEas<&oJ{p$d)tUJCo6`d<MlQBNH13 zsAV_^uY9KDrh4?`1`0yRm>%Yh?~up=t<eSD`wlNGKw6*`71GERmYeFkIU!d*!!FQ` zf%e7FZ>nb`bb+oEX8?6C(8YgK{T4>zF3^1fy?MR`lwPo`P6Y)NNDedu2HR#q$_2VQ zP;+5@W6<&6p#HyePG)kpLP@?tYD#8_f^TARNotWoNoGk-szPx|CE<%KLFOPgC^yK} zz;DlO1UZ_7+jBu?AvY*NW`T^L_U*YKdypHHAbYSiC}C+0H1`V%cl5Nz#2^Gt&^Tu# zr8om-ef|Ic%TLH<%?+S30MtGPj|bq-Bj5@Y?0Mw%s`%3y8#Cdw2D()jme#I8`}*kP z0idJ;N^9U+rvX&ZGca8F`v1S+FUV!h$ym0Pft(8K_t!zqg{8G11_lP)X)U#)1d`N> zd4p4v^Yc;^a#G7ub9h5CGK*krxBSwgk_@PXTV@)JO{lvAvKcvbPUwKFS^$l2f?SMk z>=m>=95iwSb3N!XM-X3;fq?-zb%M+Sg%qLG30fBowhK%!GVtOwXBxx*|4b++y@Sn% zE~rE|2jmB0-2;sfu-WM5km4S2iooF>P-BKz_kh}npx^+lCPQ}*EKYIlngYcsa_$Ai z1HRmQ97j#T#wf%93Kx92ch%Sb{}-_{FxdS1|33xV`U2H(jAUK4jz9OxGvUv@pxso+ zSFOK?CJyx63kur?=tY>Yn&QdV|NlW7TbX|S|L@L$e@pRnsJXE84~lb8?$uJzf<?^~ z1_lPu)#)%LEl@s4CvtXM(hJFMppXMMSds3-#-|pPG?23<KDFrP!rX}Km}Zc7kdrCI zji6GQypceVJ)l8mSXg*K2cbc3Moy+6dqBwzn>Z->ViO021F0j2phj82&;S4JxfvKh zG^t|<AUnYrl#Vc)X3#1Oq+%De$pT{cFfcHH&Itom7HRwp4C)LF3?D&3jkJ^z)N4WS zv26JM|NoiK|NjSYFff?#Fff37EZUp_u$D3?G(qOyLYt@qg%%?tBO|gK^cWZzkolk# zip&QU;$NUWE70-$6%42?e2_h$luD>)1e;6+r92r11_qo32m=EHy8l3SfC>->0tE;I zVk`%w1v4J7G?Cx&qBfCjaTI)<OpsgYak^WIGvL7Y|Nk$1{{R2MzyJR~d;!HOY>JG+ zW($(LVQaIe;%Fj+DmakmkDy&IlnRP`EKOukf<<q(oPqk|3e+F?j&k9JnhVRxATGGz zgB2;b230`{k&C?(-gV&Z7N8m4CXf%1ianTFpkf1*AYqn)5;}+vG7GtQ0+|Ief>0|1 ztOianGQjM?Rf~e`K`x#^_JG9DiyK%Q7*}FqV-jKj<#T+A3A8f~l$abi7#N0fVgmJ{ zK>jd+`hzZsDS@AQi3wyDIE~=gy9279Kut2R8aP3EVuIO&D>1!+j!mL>s91>TP%(g( zz<&MzpMi~mVFS_zcTkCme*+-gL!g2JTB0H~$&gB>b<mp4g@J)Vo`Hd3J+$@#O<2QC zL1J8ks)sdY4?xv}EP^U)fMq0Hok>;(!p+eOKmY$P`2YXE0UHBD0H|~UHCw3BnMCqC ztW>5}XA+dAjzBj(z?!36zyAO4{r~?z=x{A#F3jdAs302roym|8&@dKcR~<N(u@v*f zb|xWafua+CD-^Vt25c9Y!0b%oGY1r^AZ?%=j&2U9u0^hP@R<XOQC#MrcP8<f1FAM~ znS<V$#AgmHmtpf4p=uDlGYPT>)EdWCa^b25IhcgN<23lHK~S4YfSZ8<)TS~31vn_W zX_R}3X;UfR5n@;bExGWusX)0`85B{_p&(G33giz^n+oI)x>SQdlBib=g3JQ>ht_Q> zkUgNxLTX}SXA)unt**eAm_ThRP$YobRG>%z`3Kaopm<~gOI1M2!~|+nf&2k#Q-S<J zm&BxzPQAngG7A*=xDpd60f0&-uo^f)dYcMl52(aMPfW1+L_S6a22i1bKA#Bcu>Xhl zdO__Oa2tjNvhM}d+l4y`srL*r2c$1P%*io6Ajsd#)j0&YCk?uo@E6p~X$%YuTR`{k zFhk4)`4?m+Bf~3p@Z=zP{Q*eiH^}+W*+&o`R3AP1`u{(=I7qIGoq^#m)I?BU9V7+{ zMSQqVkbyymi-CdT>;L~f;Fe)E0}~6x4Jyz<%g0bRfm&**3=9k}LEeOpQRskXrWhC) zUP0XnvJ-@%4K2|17$7cq$R9$0xuXQ_L*U<k(8xGs=PanY2bGSXWkI0W10`aRJPd=X z?@>IwLV%s&7+R(T6&^4Q%FF@z<*7vh`I&ho3NHD{rManjB}jSHBfrEeu?&2-k%F#* zV^MNOW=U#tNoi54f`3_RQCVhcIWMnEQDS*!UOF!?<kTl#UdS?4US81A8xU#8#Ynuo zZbgZ?sSqLPO@q9=0f~93IlR2^%cyyIp;rs@@*-ap%gYOP23#BXx;b86=#^biS(rUg zN$?@~F8Sqoyu1)*QDQoj8Ct;03pr~TbkI41omf-?<GALffSiSVq%1El;($<IUf6Mu zyu4_K?ty)Xbc7l#Xb=Y(@$zCj-Uud&c5DgM$+$g&ysd(l7inqwzyF|1SYcHQqPzj6 zfCsJfKmGL25Li8tgF#z;^G(nwnuj%{G6czIfOlIkFcd(G`8m)k2(&<olYxQZ4g&*t z&A<x=1_n@3&%p>;m;*W-6I2m`T3VoP4XC98>eqvAn-yeWU~ph$0M8$R7Q}+OQ=lq_ zh;+sPQVTll#MRy1)i2oDBiz%+HAo@E!{662800fz<UyIi&=@jb1TxDvGr1_gI6tjK z0g(?tW`S13PYBs513D)T#J*r~{xI{x-Hc#%+okqj3n1(Xiz`-lF4_$`Y>xp{4Z4Fg zTY;+1|Dd)50|!Hsp|mQfg6CvlVE!QkTB`vX4P{^eg@hU#KZ68lVbFija;1b{|No!( z{r~?g&@sHATPzqD7(gmGz$!p-2x@|WM8v=%EDU@MA$|b?><kuxwgE@kD{q5h0VK}_ z76*m$2WC)Afy5xDfcy`N3y_EiSQQHc4>-SrVjSdnPz}M&bmDiyFA$4|DT~938&p&L zVqyiW1E~SkB)W_Y44_)%4-?q8&@`gU$OvwMb25P{9*_wvjG#0CQYp=1#j=PMWHM;* z|2NYE=+c%6Fsp?^GILXl75q}m6@v0}6Z06d>)w_h2!CH*%FMMIl*S<TGJ$Q-W0YWk zoN2`c3L3B&Cy2!avQ-4c0*f($W=6p2)QF3l<<l>aOTto%iZk=`7{nR)8MqjD88{gP z7zCiIK^jSQUnn!zDunx(!6qTQWx-L1OCfFn#R$kP5ugLR7!;T}!0MS8$+5YVnQINg zW)`qX$TrIyTk!xC9uS*BYcW7JC;SG*sG+Hzfu)|M8OZM(;1Gb25cMF}fLIXIAR!Nn zaae>wL|MTd_z#SX43KaW0H+HEhCLu77#NwDl!7aZOHy+g%6*vA*0M8nfzBxdjY2ZO z*bs9V!Q<g_VBKOYYz`|}84o1<0=e`T6C2nLP=N$d%LewT2-A)~ao}_+%(UarB36hT zsKjGn&}D?V3!+z@@&A8xc~EXZ*eAlmc;Gh^e)|?O{|2WoVWtJlJS^zuf%qR75%z)7 z8Yq8&@(j#X5SK$j6;w*9FtaeQvaDm~WLe0}$})vnnPmYpX1Ie)M)nb^%bzeY9<cn6 z-{qammj6NK3Ny7a-vPDm89+H0-CPhK6jH>x-0^=6v+e&*X2<{2n3ex`lI(Iv2F3$2 z1YG`-Q3~qvmyFinbU+Q48!>!iG-G(lXvA=bF@WJEBPeVju>uMMY&M{VxibUf0XYIL z&t#H;x;&G~mTE3HVJKs=V8~=LVTfT0V#oxiM^apVhKccj76F&LGHXCx?#g_OYN=%} zQxNk(CRgUYOcu<ynOvD6<;4zYJpd^$7#J9o9E&m&a~K#HN}0JfC)K?zN2&)lBT74V za2Y_T9ss!?6t|EP5LEXXaaI0#`3p2KM@*~3gh7Wvf<XfcO&DYtG#D%xL>MF(L>M4E z9WYOWL6bp(L7PFAL4!er!2+xvq*es19^wK}frveqa)3)cP+9Tn)hl>i$_Y+0pb`b7 zpOfj;t5-~*oGH!X`Ty3xFaJ*eg@oV@Xb2LnNgJ8DybvJ>DT@e&AZi@~ngTcC(*Do$ z59AVP)1N_>ftNvuL6(7=L4-jB950ai4Bg!Y40(SP8P@(L)!n7cTw4(C<^tP5$lWE! zCBW(+F%N1x8F7U(T>cH}|3Z2yvJ66C_i{5p#tm_~`Sw3W2C~B18{uYduv^G;v)n(B zn<2d_F$Ny6n?d0X3SI1OcK)CB=gYsP<b?B9gqwNDa5Jd22TC6ge}l?VP!CWN>|Tif zA+80rfIux!NShQ?JA!<IuMFdW<^)KN0JSoaOJnwbYz~os84qwUFfd@Y6(H>^5vK6J z9DhLe2s1JM<M;z|9cC#Hu?JKG;xY@A>OuMR?%lgc`4nU>C)3@#cbPzKa1~}|2ChGI z|Gxcw@UQBhgMU%|3u--~ijWop$Uf)%$L0`C(C3kVUH^exD9ptC&-EXzeeV8m{$H(s zhyEu0JA}pOu<%1J=Xl|<3vwlLIp_ax(VuUB>q$<>p(yQQPNLE=C~QFXL&^&=1_lNr zF5Q3ge}iHaRL()h7GNcv8nmnvVUPuz4oTTC-$9l_K|-1j>N{SrI!Mn5q)wV8@o&N( zp}+G<_FW@0mk%PBLd+$tWC8U7jkrAjp7{;(F?dvlL5zWqL5M+~K@jXtRR18y7C+QK zd|-9RvE}>k&cAPecamHyg)(!kMfe9|E@}P&^#wt(b@MN10u&Tm&~c*Gu=s-1OrRPH zR8N6?jp{?>7!!c{kRR$pP+t}jW0`;F{FC~7n`9q0GIRMNd<Zd@G#^4@EbuQsI46V0 z%oxPL^_LI>a@h*<88Ia(#E<ADDVxLGzl;Yi|G`!IflL=+vi^4wT9R7-oBkJ)%3=K* zSg#9Fl7d1GRAPckIhZO)nGA6!tQXYx*W=%$zt;cy{_6c(^Vb^ePlyU!HXxUTYz`a$ zG9EZaz~wyuR{sV0L70i>-w}d!0I@DV_vioLQ-65=o%<vCZ^IuR5?y}lADctiKSH%v z$Uhsfxx!3W{@D;L!-;jd{=d`zZ2q19=Lx1?f^8r^%pd$?b0{O|@{)gi(A0A4A0O4i zobk`ae|&$g{*wmN?@4s|@BeHL1^)?!dES3}u(`raU;o=vEzFJnz4>qd@56r|Fb!$T z5+CMl4k!OI9+*NPo%=8xhNg2LhDlTl^ErR)8D{+PVVLtLlA-R84|KeTq~1peq7;OT zxDhG^LGB0TSV*l58nZRxlKRK?AJl?^PZ=->Fn~%yK`;p^=^=VRJuWi(8oLm#gw%$F zT#4G(fb@}^8J_(C<wNLf27?H=v=(6i^)?_i0Hg*Y)qRc3T%ic}L3%FaxNpk8nZH5q zgHEy(f%-zc415fN3?dAWmOpv!D`n=|jc}hZxDF-FeULuHk$-2weTb6${2WM}BG+@+ zYbX(L%?%nU1Jx?3%q$Eq|0(~={tv>=4FCT*L*?<+L+t;}7?}S%GqC>;V0a1F0qNC3 z@+m0PBv|Aay#H}Cn1D+NWN|-+5C5zgZeoasGBo{hV#o%Ug%I`F>otfUJ}^RRQ1lx5 zH8Yz-7$c#QD}*rtn*X0NClIWmNlk&J%v^gBF$}583B@qT9gsW;>i<ZBTi51{_y2(6 z33*}<)H(z8Z9y$H&{zV928luRl9QhsnYqFdu7$)SA=jejXGq)2obd=aPQi1F3_{=$ zAk>_KEk4oX?<L;&69wlM5vCAEQRw*FV`fo|achu09~ec!X&Ka4B{lvUnYkhnAp)_J zP>6us0f_@p{6R`Mb4D5PxD|8`7CZt3Dn%e=97HuaF;>dVwGZJwF>sg=avy4pLHYyc zjD1X?{s1_ALAq~XH$u`E_8uG=VHt&Rt2h~Mg{3YA(3S5Dl%+2Gr2}L<43xTJ!0r@g zddeIFPDPj_ArfG5Q0fAuHe`9^R`+|nsTpD4JMbvAFw;xscQ{6qiL>t=k@o3>!%~>( z1+zYmSsH|WWW;zJBE}(pB$PTq?ttV6Q0{@WVrDS<{Q<RNAS)B{%k!A!!6Rj$wu~%; z2!jmDNGhqWEM?}}k8q_VIKBzF5;YG&Tq(nZ?8>6VbVg)Xf^rh1L?y4S(8$ack8q_F z8LotsM9Y}`z-=vXScVobAiI$g_mwhp9YDBGnhf_r#*q@4QvQR+kq|3RAT1hD4JX7P z25u8l;?729t^|ZTWyo+Rq{Mu{nDQS~V#3^+SX2TZ=K{4~Aui=Z8F3&ZWgbMh6*788 zPRe}GlmhMrK-}t@mxAI_$fz?U&yiCHH8OK0B3vm)Mu>vK#fZy}+37!M6$$Fq)Sx`h z%^=Gl2ybt5L)#O`ZCsEEznO^dUzIX*9YVNSo(wlbQfoak4|p6KvDOI`_d@XAl^_ET z$|xbJ?rdb{N<z3(fed#-Rx(Urc4G$h17Pd05H1Au1|dBoNVx<mXHjPyK>9G}3KYTZ z8PI4I@`$Gr*oDX=otOSuGuQs>VkFh)q0C(C5I$E1n@d{S2d#24;@bT09wVsT;EQ_M zD}xHS2H|HAV&Db$;vne@6dEE7ka1N=c!2T+vVSW6FJ@H!UqnuiJ{jR36{7rOa9p7P zWIv=w4+=peuE_sW7(lrM_2yB?*e%HApcW<Ze&J?T{(p&_xLJ?ziz*p@0d08$`Q;fS zXtohD$B0<+hdkQ|iXG560I2?i#13Q>A6M+`Wl{d`1f4G@zC37T=1M{MNR131se=1y zk^du^L2E^^Em;JOL4$k(@&zQmAZZUIhTV6N_9QDfzEzo78U8US{r|_n`k#jdgq8pE zu_)u{@hF1Zq#qcSz%+W#O7}mT!$q8<k&0m7i!h!4mj!K$s{hZz(H4c+18VycDkYF- z0b!*C@+@FB)AN6kOf3Ivm{|UUQu=SE^YFQPC<EWBw<CzyQwO`BP+0-;6C!Vc4ihlq z^7(g(3DlN@#2(txQU(bIF$P`+Q83BNAi*HPAPpvY8F(0k!7PxNFavV>L@iB0En1MB z_{KCKA&M*J*c@E`G9C!TF{TNNx#f)h;IR{7rsa%wIL0&}_JCpzG)4m|$B}0pASOZF z2^x0*t-Uh+yM@v6?{Y@dzq1&F|1KxE4oDGgl^QWF*I<IVT!V?4E;nVe{Hwua`d6AM z_^$>yRYUv+$ziZDF4&9=IWAuVcljEsx_l>-<=-_-rhn%%1^->c1j!l1muscWTqh7Y z1Cs9u<qVMfL8%l{>wxlu5!VUEo!}X2aIXQhx*DzDKv@s0k(nzU;Ytmn@-Ma?m=6=O zD~l4-QTmCXGM18_Ln$-YNrWpk$#5m42X>8V=U-5s1BWG^9vCPN@TXEp>P24-`uQK@ zfw;f8%43kJB23pAW1yp+*BRg9n6Dwdgn07r3FC`@*BPJuJH^QK|2oMf#Fu}J2jU61 zJc20}>hcJtcT{uv(|@T<FaJd_J^km+#QZ;k<PzfRKgI(I1YCZHDGuuLJ52AX=JIF% zUNXJ<cZccOzw=Bi|L@>fm8%7Bts~dN+Thl~2S!+F52}wrDN~w-g{k200>%)qdpW_Y zbs*whO!<G+n1V6Hk1^-|UBeWFA#TE?{Qm+YJ9vZ^*_<s*%KrnHFvX8CEBwF4!~s>0 zSjCK9LTf=?u8mg5xHB*wP{Ofd6XHt|rteG&VDp8UzB4(3%|RZs1LY}Dh=6EPYDWtO z7G@iU?@Sg9ub9FZzEde4jxqmca$vp-O^=B9Il^qqGKpCkJa&g1u9{4_49^(@!DSP& z_;RLvhE%3t3~@u|e1`XMaZ<zk^*=U;+<%M*Kxu=R7DWEPr~it<_~F0&e-FWP1dtLA z*2c*HclBQ}7+?IC|L-DJ6-WOS{{!KJ|MLGG#HwQJzv6!&yzyWDzl~T`Ed5vf4}=%~ z%m23!tBR@rivNM|#DDq!CSq05`mgvO2si%A|JR6BMd`ode;{1=FaKX5k_u4TqDGpl z`&as}@L%D-6fhnBkBrvA1w@Ue1x_7=S_hy!1FAzHtpmvH)Y^YF|3EQ_ytxWAUdPSA z%>Wt!6Jh|3gFwddAbLULOdu8{_VI-Wdf!Eyfz2Te=XwNK9v5UN0*ALSQ_BA$s+G0% z|MLD9{mc5F3Z?^~{S=Z~W0w%&txZ&TgWL}aDM)yOddo&!+y2*q*SSKruYp1s6xyKn z4MZg<bV*GMjm%sb2)F4F<u+_>uxJ14{(*Wu@atZf5%XN26aeb;lJCk=X0FQ!SL%}C zN=O^bjM0t}RBA!*31NVYEQ3N3G^>wrABaVI8hy*m<`9B&<{6eogBX{9TS&r8&zYAn z;>!b|dI(p04&)0^*^6AS>w&`sx%}V6w3)GpX&NILsUi~*-uhs336&5a-+;mmImPBP z?E&v&f?Od1nR5_gkVcue0qG$e)*l%4pmjESySIjs@jxMX3q7{cN|5OyOl3^@U_S^m zl`)kO40Bl666zV}GBz_6GL|vrGG;P$GnV0~`(f^81s|dS>QOKLWBqT>AI*PPz_d5G z3<Zh*`knNT?~ngKr9U9L1TLQcC;4CVAOC;T!F1_A&^(DMGc!ZWpVEIVf0q86_xBZA zSqDjLkWdAc&>+*N{QdTC_TN|kX8pbMZ_D2gP#u`A)BYFx-~ON1{~$1({~t7p3K|(k z?1qGd3xovad5|n*r8;P&1AB^w*aK=|fo4Y`dItl^%HYC~&ydVe%8<*D%8<uU!VnB* z=Q1QR6fsmXcrxTMq%q_(6fuBAN*FR3@)`2LXVXLW!CNpef%lq1c-TpFf7XKp1i-sO z|A#Q7GE^{>FvK%BgH0}hx&k7L-8^JbDF!BR8y^&^$l}Oskafry6ic@lAvQQOlrj`C z6hUoOU<hR>W=LfyLh>Q9NtkSq{g|StBFJ`w*q}56Dvv>`JQz|L5*boRvJ<2ahWQwn z7(r~%{tpn14TJ1N#-RKII{qJ|7Icz0=p@Bv1_lPuVY96a3=D0cLr4Dq{|`F%0i<RW z4_|<9|3A~!vsdTnNefJ#&cUFq^K%_&|9=g14?idmB``qF4FR1404nuB$F_pfVFv?b zAMga|c>psQ7#Kil9(1@3Xzq9g186rp1H%Re2Jo5PI~X8m3P_^u`v;Z0{&~8^$wjHD zc?!W9`Q;G%TDL%G(C9TN--FzOOoP%o$R1=`P5{!E2DuNidl1y7MBh&ive6|qEwMDG zM8PGsI5Rzuf!M<bcmx>0RXu3>4P?1neqKqjLTGVn3b?NhYMX+jK(<0mRtQPWEyzhM zNd?P;`~Z>%t!xa=$xKOA2mxIcPz;v@d1e%khQMeDjE2By2#kinXb6mkz-S1JhQMeD zjE2By2#kgRnIQnanx2;zIw1f$M-X(`F)uGKs3S^*nV>b9;rTgfMTxlz-ievTsi2`V uBJ{zOAkNp*2+~A4V^0CZh3v>FR!{&B@quo^i9ay$F{rBy(>_X57y<xY3?sq- 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 -> ConnectionFigure, LineConnectionFigure -->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><JHOTDRAW_DIR></code>\build directory)<br> -<br> -<code>java -classpath "%CLASSPATH%;<ANT_DIR>\lib\ant.jar;<ANT_DIR>\lib\jaxp.jar;<ANT_DIR>\lib\parser.jar" --Djava.home="<JAVA_DIR>" -Dant.home="<ANT_DIR>" org.apache.tools.ant.Main -all -Ddest.dir="<JHOTDRAW_DIR>" -buildfile build.xml</code><br> -<br> -where <code><JHOTDRAW_DIR></code> is the directory path to the JHotDraw -package,<code><ANT_DIR></code> is the directory path to the Ant installation, -<code><JAVA_DIR></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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®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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 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 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> - * <html><br> - * <table border='0' width='area.width' height='area.height' - * cellpadding='0' cellspacing='0' bgcolor='&FillColor;'><br> - * <tr><br> - * <td width='100%'><br> - * <font face='&FontName;' color='&TextColor;' size='&FontSize;'><br> - * <!-- add italic and bold attributes if required--><br> - * <i><br> - * <b><br> - * ============>> User's contents go here <============<br> - * <!-- close italic and bold attributes if required --><br> - * </b><br> - * </i><br> - * </font><br> - * </td><br> - * </tr><br> - * </table><br> - * </html><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>>font face='&FontName;' color='&FillColor;'<</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%evPFd)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 zcmZ?wbhEHbG-q&O_|Cxa|Ns9VKR*2U@#4pi2R}Z%`0?Svj{`4$<Sh6R(euNi;)g}S z4~vW+1{q%rVm|!%@!`XZ4<8<Uc=6!FiyI&Ay!qf!@xh_xgGRucA1_{fc<|!GjTbK- zym)cr#fu9s9^82G;KB<9hX)UCJa};7!Ho+KE}VFv;P61f;>L{&7jB%m00Ku&TsUyz z%!Lymu;;{q11ENDIH6N;0L0pG00ed%II!Wsjspj_tk|*R&JGaRuw%i34Lf#h*s%c& zmTXutW5bLkE7q)7v0%mu4UZ)YRxFt@W5JRc3+7B%Fk`_24Tl*Z&@*Ggj2ROq%usNc z($O<v!GsA@W=xpSGohnlLPx~}4Ue9TnvRa1hL)ZN5U6NqC}^nYXsD=Ys3>SC$f-$5 zsHn)PD5$6?D5xmNsK_X&$jB(EsVFGu00|Tn6cl6>WE2!+WE5m16eJ`R82IEwgk*p~ zLPkPDMnnRLN{C2^NJxl?NQekX2#81s2#AP?hzN*?2ndMq2#E0Th;Z--2=EB-@Cfj5 z2yk%l@Nn^P@bGYO@Nls3uyFCPu<%gPfeJV{I9RwiSXek1m^kQYSXfwC7#LV+Xjmv{ zSjZ?C7-$%1m>6hi7-%RMD3};1Xc#Cc7)a=7D1d>4go1>Cf`EjAfPjRAfP{#Ign)nq zhX4q0a0oDrIH35Gg^_{5m_Y~Rb5NdO;P}sw&LQKmVZp&>4q>gB69tLN-pr9#E?(TQ z$h9dWY$}toz~q&I;?8DELcFfbl8iR#b5h)->J+ltXXZ@7RUs<_^oqq&rmngoA!{4X zddah-O?yV}g&Q%dDaR%S&F$(c*{T(~(B91d?1#XtD_Xii`n$BYc3n~1)RXZoWvj{> z*G&c98!t7nPxbZ7OJ9<DBV+3QrCB+*-b^YFy3$$~aWkiM)fA<J?Vrwdgk)Vh=)GF) z>4`^LS67Beu|A&CbE0@jQ(Vq0t=8uuq1T(jO()tM_Rnx;+0LQ&^=JNz;OQCH`C`5J z9leg2E(^MP<C*-!(vHPU)&kuRj?E9{RP)*0m#}+9k-&c+CUcGV^V}AEcVV>>UC~ry zl9lsj=M}DpC3gB-J6Alof6r`h`~3L*6Q8m=HXbpVA792{-Yot9Z5x-Pjn0l)4Tshy zauqJJQ0mf@IA`GIZ~O4+1D@=bV;npp8V-%3OTPq8h&?#hf?3jb=|*QJJ*@=|qAQn} z3&^iKllE9@sfy4+7SWIi4E<aoN}i5Ox1=gdFK;nyWE2f>VC?5U@{v`B<!Z)aiRB>$ z2N*ea%wS;U$uK&kV92wjvzKY-Lk`why$cPjsu2qs)Rg`t%yH;{@N<EhjS)izXQR+X zcXsIy7n>Z69=(+9mUocS;G8d`*vR6#L-9i6tWyg+nHr)FFbFQ3@!znCMXF_k2bYe= z!WD8RCW|-)y=)$Gs3q(XU}TYYU~ttay|ExeUhYnTt8y>HBUb_Q5{82t1zIk2&NTa` z=*X^rr{OKHeu;o1qd?AVM#&XB8lDTax)`kDQ0`GUw2Ou3!+~wmTMmfLoA)R1z(Edq z9S6q0P7@kgwnbGg(#}W;IB<x?!QsFm{+I)KEYcMlSjEir9(D-}@LYI*h-rll1Irt$ zJqP(yZv0?ZbI7o1V9*tQu<@9^`+-KThB+O_d2;Ve_;g78{hFdvZ<Tg4=JA~~be7cR zDJZ;bqrYYo!&|lAtw$<d&79@czU(f%F8=vX!~PRa3@q}8WZgJenAV*6d@Hv3|6W}d z^#r9kowXnK6yLXDe^9nt%A>$h`B2~?C;o(zwH5cLXaCJ-lNR~Fb~Ewi#ui~eg*>bC z75UnZY=I4WqGEL?E*?JD6`yBun_XGEk>~uyX(v^*BKme*wu!%>cS2D_DMn+4j%>r* z!|&%9Zc;d*I7hpYqrdXB_-~odY|?iW^W!YnG_k&Aa=5>B|55RVMi%KDM`^kBUl!E< zsueFdc+4<+1EbJ7<x_1w7tH>A&CM0R9e>4)p@req64AaJ2kr@!Z<rsekYBKQI-kWO zF`G4q_yumnUtjjUVa7)7d@h$TUJH$>%a<f^d27er2x@52GFZqeR_$>5pDLr&l!Ln7 z6{om&%5B)#o2$)Q@qtC<&VzQpDUA7UH4bc11#NqD77FUzxOw{)Ym4uhCl*l*(#I7p zFd02%6<`rLuwTKU)sy9ekZHi;e<vc2?vY?(=9<DFE;Mn1DgzU9K{EqygoK!*1w)Sb z1E-53K^(Fhw3E#prbcryHr9tG3h)RXk~Vl?%)xW8(Xx|;!@z;{sVR$qNkt^v6ZM(S tK8`$HJ5DH>1T^ryX*9E$;3DVb)MkE#fqy~B6vt-_oe5l<H5eHgtO2_{1xWw^ 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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	xA^$3Hj z+`2}_j13HVT2?}OzkV!GwQ=DRn87UbZ&Aw*t=N@*NgcD<!!ESggq)M8Qtog%!^mqi zv(N8O1)KekLaWO&`&d^e$7&}PwF|sS7FvFzQFn&{XZjZ>*@GNxOdkw5XR#>B-TvUn z*1<GIafP$!Duz&PHN#%hJ6inPC0b0k6xs4TXq>w_>ahB$%5JfQ1o3YQ+;$&Nij`P6 zas|y`X1TO+dfJR8q3IRV5<CKUPX)NeZlBP==Xas4)9(x0{F6uY{EGX<SOj!W9XQ51 zt6;Wd+*2*z4c9|YMD*%BcqqYg*;Onjfw}A46}HP!EwY~$a2qBp=KJ!inWz79OSPlA z*g?ncs=ALyoEnk@#Vwqqv!p_$CoB-EJi%hP?4Mz8)QvON0dE*JQnaqkEL*_0Um#L! z>y9R;Hy@a+W@u`Dn$WKw@Q5XO>8sXR+ghw*4rJYNU{)$w(5zf=mT5Z2TmhXF1u;dR zWfB%{5-ZfM3D+#n^U=A@_2vSjSjJV^vc0c4*EuMQu65w@b2|3Wtunyf#7|f*g2T{c zH|N%ihh!#PmgWvIQ4{;4B>LzBhlGhEOCf`@==ldv^}iiauRC#&^-912J2}zj7=_DX zMGx3T7C1Bqha|Fboj5Alm8dEHLqRUP<B0jf1zZXYi6NIKbXl%V=yA-**N$3vL~6$& zzjvOkx|b6YB1MAj;!Tgq`gt^n_)KiF{E;L#MWZp1wfTQ9@0O=>oOfE~FC=W`-L5S7 z_C<k}-+~@>9}`Z`1sNf}j=^_sI53-4u=uLKYL`x76uLaiNm^y&L)m%@!Hx`PwMm<| z)V*AkWRT-jdBnI!?ZqPI?hg!dT!uYPHxBR{-Pm~b(8q^mOBVBrGt7`UmnQ$4=P=uY z1DiPQWco_aDBFM2Jklt1g;_f0X4YGUqpY_A(pN9N$?|f;%Q(?bt^3ptIZsMBB3M#z zTqxqO;G7GSy3c&<4OMVv3pZobR48n*&9;;&C`g`eW8hqSqd{cOzFBPt4{`{_gh?)A zU8=GC%k-bFOe)6{8reTFS_;d)oI1PVj#gTwO0CNy$tsIH%bwHTzW+LuMJN7v>N)RV zx4<7x`L-MGdO3kDN;ejX2XL^7oMY6?iZ~=`mvG?2j|IJ{IS!%$A4FF8ZDjQLGF|uG z2KTT#Gw;8-DbBCk@!s~%N6zXqPv_+*p4NS{uz=Iz5xZZ-4&hm@T)#Nk_?r@Wtae>s zv#wt8_|6TZxJwh+cq?w4i_qKYySt!BhrfwM;>Y1*wr>jgYa{gSt{q@)OO#ox6xik# z>ms~Ncuw|<Gq&%3H1S@#_^|BEpT{R&Z8>q*antjfgDYQtFu0s~k1xejN#^B+0}53R zo0uyX2xNX(-G0rn(>VREb0sG`-+_&M(lv+eOU_wI%{s_&P_9v=PvfAm#>6H^m;Yif zUr(?!e>bDWq&!A{D%)?Nu)q$!m<Oli-&tJV-e)SK!2IUdj617mPmGFO|4k@Cz}<0H zL9g$OWT^`sv%4ZD+&&Rr#Q7`2Lq+O=;C-Xph5K^98Aq7+rGGi3&L!cb2U;^8lE`j7 z;V^sFg1eF~hlCVvuzjml=&2G=Wqupy^|@gK<61j6t!e|eW9e7(|E}6Uw{ioMmC@q! zHSbPw-Pm-<CMcju{>)>J#UBE=JRH|Na8!voBv;aSDmLzNVqCjpgZ>GJ+h=30&1}$| zb6~3Og4+|DtOJ;CB|bPllflB_fZ!YkHV3D}HtdIG+&OG{4#&8&``k2{aNug{-T$5n zQY#{@{wpv~nb4qpg^^#8`O(#c;|m?*mN2utSil=|LhA;@<HExlJxo#tO_~kO!c{VY zZO$A<hh%OX5c<LNsL(lqcUr<(XOjs{S2G&eCNbQ$eE2`tSE`~zz>CS^Orz$F0}2%l zEN2$53oVpya2C4qP~k?S-JV$w70xO9-1)QRnihwn+=c_sTn;%sxb{|%h1=nr(}n{E z9S7eDGHz~cd0g}8)dXkek`@^a2L*{{rU<6ex6PjogUeVCTWUC{D9DSaG%V%lH#I!K zwxvm{#p&~gLl%yQLMAw<Brw>ewth`;sJkluH=@ycg>Ui|`9BYZfA%!ZO}(qTW3K)L zrw)hHsymqZPTUdx&-L*5)Z|SHhh#jO*e}Ic9O!TVd5~#av)Gx#HY|y}+Ya*zEsXPE zdhW@ndB$0|qNyb3g3^+n5|e`hQ$^)0m^5Q#Wv(T}EjSn#vrxW5)@aEAn+b=wCh#bU zNJ;+-jr-9!f2p%o2BVeQLBSgivN;^rLKn&(aO~J}Q25+Ld5<RfCCo}QRAjF$<SFTB zPw`#!QC4$}^R=IkWlA2zdos%{Z1nbGQp#{J{^7(m<B-jUC(i$-%3n#b`f<=o!O2*G z$@UC$sN0d%3#TbQ3N*2B+L(Dr>!grbz=79_oHOs-Q<>IlDR9?3fI+YzX>%jXd&_gL zOc*SA=D%$@pdxW-t7be$h@<HLis-VVNpD&hcz!T^(>-h^!^FYk^eN<k<r;B;4q=rA zhmXAxw%dAnRStt{O8?PLR~3&2Q4N{DzK?YmH2++{e5-fyWzR!0e^^x`_*pJI_`lUT z&V#8?Y`Mx3W<CWcp^A=acM~jk#ol2Jdp6U-&S>s@#b)s{heKyE6qYS5S8}p4VK!1| z)>Ls|`oLWh;9l#(ek#PtuB6{E<`An#L;P8la-~C72O8_%smnY`H@?6e8q{RX(I{5& z<o{1e8IR^By%+Wunkz0nv|&&*tMagtIVflmAzk2Xb)ZpP#<9KX;Ju5@;%6M)l;R}1 z9ttiw80^I?BM`!*a5&VfN&H1ab7hD8|3A%(mL60-bC7e2y6O+6%V(FUWH@xaTA_H3 zQFhjIg@6VTof{qVmi~!oP`+|9?INSui)PiQ(<}{+Y%p}`@|njTz+e{9oL_k8{m-zO zuQ=y#a8kK(h@I!4-3gY`P{z+E9m`s83moCok2oZia=?tmN#Q_4po^2p9tN=lMu8SC zl|P5rVh-3YXf}y!_?E$HUCR3R!NHUrtdSwiOP&Rr-f(8JeBxuYJg%jgub?*}#z{!x z1-p>CXVdb+Nh+1=oUL}eDx9RU?pZ=dLHfFHSsfORqD7JwN{8$foQ)r(gg;7e{>v(t z(kSrvpurNK;Hk$=?=Yz(Fmr~?a}Ux`dh=W`gSY<wtK}vWG~{BP+_%MU|99Bl<FLIA zr;$u!(<=tsA55K24efUh{olK!Rqmh+kCU}Yb8Fp-_9~4@Z5~V~7|drlTvM2pV7lh; zHx11N2YsH!9=?`w&4%;XGRB>14!3_cvOUS@w`-c{=h;xyYiROva*y29CljYig!3mH z?mWWlob%FQ4U_YRd)jN|&TMi}S<-aAY>`?`%i|X(=WSrJ|G=b@(aiLLCHa=qr?<}f zdmPH9I{F^zQ$4`2fRB;qzySrD2GtfPb&W$}M{ZB;;g9s-KeTnebs~el%OU-SS1~pR zZJ%DYZP5C&u(_{tPQkQQad!fbJY-}Mk#Z4Jms!G~sS~kQOx^GQG6q$TM*S`43*GYg z%x<VgFf`ff$vj#0&?ly?=y2g9b>$zA?Z2rjJy4Gjn<5-@$i(DKfGztGpX2g2jVp8x ziMJ#_F4dOFVDRx`RGq-2(fV5U=|$BVMVS?^?PVM*9|>wMIoR}yVbZx~{X6gWMZMrG zNo{|(TAX9e=X1>OPc^6<XuOue+r<_3!-!k;kG#~H!}mhp2rhB%OIvg7oHG-T({V+n zV@BRg0ZvS3m>)TGHcN`giF8k1@kUlQ#6%=oD}mYM#bLEOYu@TQO002WHvXXPdywhE zL8fjNk1tCtWW)_jX3v_(V(-EvzJlTH6DPqZPTSr(B;U)F{J^CDz)xijBhUYw15zwb z92O1=CmdM=9My9ewOhQtemS*HMkd;W;oAz~zdH^Kzj3saopVU@SX9KpW2twqsd9@g zXH;FXPI8-UxsbY%#f-zY>k6%wHp||SanM_5*4z=IH(5r)R*i9;*cJW*i=XppD=RD# zHkk49QF_Fw^QtEt4;~RX;_zDjisOlx26c}Ww@sVh9b&ZT*r@zxvUtmDGp07piY1&T z%^&|YOGGya7cAz}dGT4U@wwRhFHtKr6`Hid7id<j_||qpOr61eR+DB&{^4&cbp2(_ zD{=y?-q`#&`0LR7$rd-HnZ%CGYjAXR<_u`kT=7Ox?ZACkr^#80CX1I&ZE)0bV1B*S zL-oI#+%t|N)13NdCVY4{quK7qn|#i<=k0Fm3o;hBGL*L-__VTs>v%(Qo3!+YCYct7 zg%O7Y9vqgkIl!F5tgqoD(xF@38=o<&HRML)-@8rL8-!iAUtaUZOR(IbUQs4eCd6Jb zePz<dm6M#9Vh-h-&3iQKkm{cXWf>j5DTT&!9GIp!Ff}l*d8B0#vnkQin{$f8?+Hsx z&Ky?Vv#_lxJ=`k7<c|ZBgM)ne(x9M291LyNF^A<9p5*^ISe7$E{muc_e^Zs4o9nD* zC`UMOb}ZFzd95fHB9tP#Q7YfjvdOf^fm7v%jDbd|l(vzFv)19)AK#@h+1#<Wb87Ee zc+iUJNZ_G|{}*I@U^>P><B-*o#=}g;GCAut54=}C)2y5_gDquEbL3%Zi-S$EpB;M- zsEVAH$;kPyloVyfr_xY-r=^iyN78Uj6Z-)($Cin9EsWC+eRIxWGO%&hzH+iq_PRyK zql9ft(hr<JZ)Eg|k=`Ea$War$<07B_21gE;Lke>o9jy<uWpD{NFn(5fW#M~RcL(dw z4_;y>$K-Y}b1E#(iaQXqK({KLDRRfrs1KJLf95%~mc;*QRaUrXC#0@)q~G)p153kU z@BJlfm72Vw9fW=`S$xT|@=%p~*tpq(k>v%e=dAVZ4;;cDsTfT-#IN!-Rw4W4I_I)o zAE!=m5Z<zmE3aK!M^gEJa&Mg(v&@&di+d07o4k|>`Be9A*&`7tsRs_~zgr(kOcOrC zJW21xjy4ZBt)E}{)`-g_UH8bGbiR>~$87(<);|^p`4yVQ)~!$YIhXZ>si*zt$sIdC zXX#uIG5a&=kU~I?k+EOYyNzP=QssINsOU>%tq$Xi;Pm*@G;NbZ*P26G5{J7x8tv9J z+0_`U27Pe2@=ZU1xj<grL*%<fkCMH{0qYP(X$=RC3&tD|oIgGNY}wPN_~npYO0H-G z)BJe{*%-D5>6nD%e7PBQP$}iKTlAK%Q@A1p=GeaI5-mA!Fw~hZq2ch%<(e|5FSj=L z{A(4dNU@$`xcSfBgV$bp3%}#EXk`7rfnVv)tJSlZ-d{R@FiVne!V*o3gH|d!6^~M^ z47eBTZuM2q4nO4h$0JkWv%=(9*TV^><u@E2)ZO`RwW&^Q3Twn+$BUngKR=h1EIa#h z`7SBG$0kunmO2Q%k)8biRlIiP0lqZ>{~6RLY<+O{-~qlcIqzali>8e|E0TWS<xnxz zc)ec3UZ*#%$#}lmF*~PN*05t@A&X0`jV?4RO8uN4yg61OGfR4dX+e|4jEi}`i|izt zXMAzEX;{VLy<y>cC;kP-&MvmBCJqJ4x93f8w%pPr6CiG?k*js9Y1__6$?q~(_gIO~ zVPv*x;Gc3`|ApfXW=HK6T$Rdq?%X>h7t?U?ZKK{lg^gc591dy59GcjwCtw#DaZK-y zvsuWx!>Wu*4_L3aHjC$Mlr&P`THYI^ykqliEl1fa_Px({KGssoN&ffAi7SS;qHTwA z&7BQOtG)Vnh$t{OnU{7=E>($Ww%);fM8mmW<Vo3-oB7+C<!@N1WH$t9^-Z;qiT!=Z z{)PI4$%on>uKUPUYU08y7r~q%-Y0IbGrsv#X8E5fzhf7#{nGT)Nh)LK#M9@ypM8~C zVX5ib%=)H2a<)^7wZ6lIT~Cfo(R9lc;QI2IHPJbE$|Bd|DNHk`TV~3o*0`MV>=YCZ zK9gwTp6nLH>E*Kd80Q&%G4F(ZDIbM|Op1LYaxQIeah0gG{r5FDD(RdIH~+J`rCwjx z%#l%ge9Tnhy4Iw%wQXiI79Mjuw=ZVf69>W52PesRPfI!yz3t3g1No0~JU>4y3e{HN zz2<Yf;oK?V>g{V5R42J!m(vc@3f-jMc!c$E`}Z5W+t<x{==Ggx@`mL)21|rggHCXm zTg~Y#m{d|Q<<h#jnV#!aml{7k(z%$$NN8@~U#W{WUSdK^8ZPL>z9~6g>#69f$=Fh` zwqJR1%Bt8LmzUR;W}BU#$m$*>&>7dxaj~Lm^WOMhhPf9-!n^y9R@vuVY*p!uSk8Q% z$FE*?N?pN|N#1J;l^8Xhez_mC)X;34^6FP`fMesH--#_OlN{7!^_RR1_&3Y)ndbpc znM)s^b_nmac%+!EGHG#($}<PIcI7mmzy%o%&TLHjax)8$nXpJboRqHfLs3d|!c6CO z)tNDdj6u(49-ksSZ8m#fo0QNAL3amlcD_j_UT-H&QF07WF))7RzF>-sr|abSX%VTy zb30}UtJR)a$SPD^cImlBM$N3ubH3|tuuNLAp)pOS=-9y}a|&<VNN09d>QtN_XP3}C z-TP?MqMq8ildV$5avjH66Yo?xNO)h#bQP_emzX*!Q{m;K4F~vkKb@wocjM^>`wJV7 za~)Xoqh)>KT7hd_wqhIE=i2_OU^3SJFhPm4z|HvWmV!MGG&)OSntg>*o=I-LRZ?K_ zkGK7LK?a+xde8^g!;fE-eqVC?1NU=_V7-}#S!6ct=9`$8z5B_wl0%yPdrJ3cnA=(^ ztUNN;)h5z~C*0xZWB%VM1_xPO9z5`8wvaOt;`g)odGJ8xvy7R7T!k6zDHbYonx`=M zHa3`EHv6*SaOIpGEk`T^Yz}n`GxR(Y@)hb3oM^JgBd~pXefKiUlu0QqC$H=(ej@3o z<M4rF;<jrK6}i0@=rVeFcuG%f-r({}s8hr9;OTC!Pr8e|&&Y5p_nz{7DP(ZuXX?4o zuukE^+AobM!ck_8X`S<JE~xWl*nBuSXW^j_4XnpYjo4OQ{5jEicC83Uqm=iGKnF(W zQ?I_vQ7rn;so0`8&CpaXJ;7q}48@S23QW5rZaS<_D%>l&S^dt$1^TH|3b)NVJVo)_ zHT4S@kIuE-wEhX_o6R1Ioqej3Yim5?*m#>B9htiJpuAARTG_kTuD)L=`0CsQi>k|x zDSVo*rs?I$unWpK9;^E`-Qj-3V|M;WZJa6_4L(&QnmO%iQGOE8spIg7NrL&Pp+jJY zu*yTrNiX`@zAa|l%i1A)tzhCU55dDM8&;V9S$MO_<6%eXmS$;NnWGG~-!`*Vo^)}o z_Tb!c#N?sEA$Jq2L$ek=WZ^JaB<WR@lr`tU+;p2{mPgW_H|JG2a*J^0PCpQTdc&6v z);vz8WsT0BMnV=-zr1Dnr+Sg`!VQ(akR2`>g||HCoY~lwDUqyEtmPG0q|{~?nJ1hm zpkk7-kiRG)De$odyR_4SUIC2<TH9V9RkL5vm%#E^=GuY70xKMOC2Sg|YHc`beI|i3 z^ukj~hYVH~KSSOF3m%JAuVB;fT*{rS^GI&j36_L4=6n5X9)+D0T9&lQU`9$Lcl6C$ zVqy<f*I%D;p!Ss}BY*Xe^>;lE#qNI?E%fB5{gWdGtUn$;Ys(YUPvPK^*;jak-)lpk z9A7}<<4g%vw}2+^69=WH&Tx`daBOm|N#x=^E6MlI)JQrj!AvXimhqDY|C(iMt>;W& zI`qrgIP;G)yZVjio`*m7D|j6?7yEaB(c+l`?_$ZdDdJn&wqClx<L1%pmd)hXwr`24 z8tX~HITx7sXcSG{q??{^;WS%$K}uJ*$`Z4_3TC5kD;X{FSd_e8OV9GTv>?Ofkz{Lf zqXd_v2>+Tz8f{SxhG#Z*9%+53+V$mtTG}H^u_IsC&R(!2<k&&}xQxYIp$&IKc^2*x z__B~`sm5W;s)JK`cRc2~U2)u~X2Q*i2qrGU1*!sO4UL{MufujZ9k>0L)cWg1(~KI$ zwYEXk-B}^cGsAWqU@a+Zw)OC?k-dHGXTudi%`?g>#Tp!{n_h63{Q1!MXw$iyJZAhH zXM*Q;cra=P1stmFJ;`}vYS0v^6vpf=iSyMm{vWG2VQlb)!-H?mfg1+@9GH?DnpifT zXcD=V5mzwBAjN_Ef<yfUr|bxYZr4|RZ7K^DCY}o6R&!|P{39T3u_k2M)2?HM9ceB$ z93st{0)0IdRmTngPU&*VR&t-R&GmxHLxt4CO5MAX8JDiqVf61(RMmLck+COH;J3@! zu%{7fAD1$&$T=?G&_ybN<;hG~~XTcWy{#Nzc6PM_4OyChs(u|UALVF|kp18>F@ zX5k*LH8Nb$t+gU$XRTK_y<QN|$feLA?tFuR$L}FuxlMxPs-kXHB?i{e6-r^t8;+RF zTDdw}CP9DQR(CUx2Ym6or^7c~4VC-!fG^GOncP$b#zp@wHul|H_j>!CM;wh;+mhA) zG+fQNp)OToe6A?!fl%q<6Qw`GT{V9+nMPgUyRc@W8MA7FK;)lBR-b@-U;2*E=iB{& z-{j)Fwx~0*mscDySi`z-LX$JIQkYcZt=ShD`wM&gD$dp|-S}W)*$WQk(3f8RQx3~N zV32h65oDECS&&|_Ln&Z#RMxI8MGltIZ1Yzugx8n~E#%v(ob1bbDyC&ypT)u~t%HZ{ zZZBwFTO{g!e<G9eB$nf*QybP)PvMLW59qMjV_NuYg0KnOOpD@{#&wmsO|r`Zr<@b* zVh?QOvN!0o@-8qE&$+imL%V>FbweXBSH}^lZ#q0XI3AZ5FXYy4__tts@DnYA8S~u4 zrj+u(30<`HIMXv-gI@O72*$0u_qvPeE#TSsJ<NRnRKDC@mnRDKOcY-7fUQ_j!qM}J zzt95<N3qLov1?XtcKQ6FmGf5N9Q8br+~ab|%+qf>d-kyNy_mZ|Qz(JaCZ<WaDC0%7 zgCT43nR3BL%7QWuX@~0=&RXlGEO^T)mGI-_ffmJ30~v{lg7E@Bl~fdq+#Fa0)nB-? zYZ}dRHH%@gc_Zy+v}@7LV=Vhc3?B8`U1~J(i@g$}VB@UE_xPSkqmge$(;c~&eO@O{ z^P1Sa6?8S*<o-i!68}^d4*^X^vm+0EZ4~@$o<9?7;7e$F_Mz)k%OkEoEzkb<EaJ3E zkP>@PShr|mRbENd!BQQ@vLZ(LE<N$Cb>b%$GBq_aI~@?<X`H+uPx9VDMy7@5+ZbMl z9Mp?a)L*ucwdg5B-a{Uf#rm^W8cjLMwT%7krw3wp6yIG?tl~Q?S9V&i?4g+3+nN$) zNeib1di+-}J$PUB!sNg~kqHk?yB5cub8}ddaD7F0{e(uPXX)`pXQmv>c<=RqecObc zzuHr38gHIjoTzt@smO;<FHs^%@#}-te6JEDmK}&nVPOB&eB0@n{3%z517}+|9F!<H z&on8aHpj#1-$O+YN6S2&wr7nZY!8oRH46(puzGVgL*mIi4MkBKo+k^Qb$!r~(ohr@ zUH9PsvuE?3Fg#2;a`ea(W2J`=O&BFC8viazd_PH$InGzgr%9wM$Fhe-`dmQVqCy|9 z15(${7s#v>c%#6-pplQKvnY&F>emqsGsZJ*2l><rq#_hF4n5%NNh*<8Dr)djcEv;H zcW=(FIH+x~l&y)8u}eYR;efyjMS*RJ<!2O_^Bg3c4)7{1V2Wel2xtg1dm#4j5l4Q4 zl!fw@2~Q1{J*_f$D`v)F{EpE$uTlR9pUP2o$!o1#7oT5o(--=7PGrXf=~c>Ri=L?V zKIT4qQcA;->zM=FxAwS6N4Re_x>O}!WyxA_?1UQQd%mR)gnp&VnmqXI#Lq9&D8439 z@Wo^P2iaU=5BdKKO;p-*r0szN^ET$49)5Rx^tqJ|wnpf3u2XeVagj<(c3@+9pS4)u zJ*UrPNk<x2<{SkngM|Anhq<Rc>H3k%*W4_4?AY%E=Q-^T2_9gGo8({^%X4&!+h3E1 z+1K=y<|zEzage`>|AF6v6E(`Jd0HwuPEQn)ypJp_xUq`;%>$_~jZ6%z{?iUj6gV!k z?!d&JCf2lrd{qiE<(G>#<cKb43OvQgb>jhZ+c|+92hMV3v*#=nw^}OlVIfyhqP&v= z+qWFaGY4c}IZCWh<Z?>95Y;GJ#3{5(@5&v=cOI+tza22}@V+=HmAUM7#GC-hlElh2 z3F6B>)SPNhU}2H|!8Yg6%RB$&ngk0PKAhm(#m3}#$#ZTEqfCmL?3xYPN{!-bO^!Pg zKRX;Vf3~n*rK9QB1fc`E+$9G^**5YeIqIAiVoFm>apL;IRlFePgv7E02?xhJ2EvkW zf}G?Q9Z2EHoiy=|+W{uG2H_lMwtLGmbd-+EJWN@m>XvrVUFvdHOR`Evi>FSHkVb>> z34b@U%m0-YN(8b=TsrTg_+ZHkecn?~g;sI&F}Zu3Ny+)J#nI!OZyn>Al0=QHB)>0- ztUBr%S5_5AB#1^lkou4%b>^afn1Y<VI<vcasYru34<ifrX)(2jB3mZQoM_Yu3SiVp z)RjBH{>w*Vn<Jx^0@D>o(TGIuWs3U$OP(5BI4G;8Ec}aU>pv#rHi5U3mU1t9sM7jW zxWzQ`#=GjO><@L^rt1p6e0aQs$zQ0CW6?2B>t_p;|GgG|%6k39QSk#ud7lS3tWo52 z5plhq*m!_3;nZTu1B^mvGZ#Ej;O6<rpY)L5VIim3K~aH}+Jce<U&e+DQx}LaiWs!9 z+<NWPIYrodqVDk%E7hjmnRJCogGq+P*i~Xlg3YVLvohS6*e!w-c=u`eobPv?<Dt z^wG5S{M(;M^c((7FcggQW!|K6+(Yq+SCZw8Cp_gWYnm=f$v6sg9cP}hkoiZ7)Ca8z z63d_UG-*^l;##+m{Y#_Riw3brhCC&Qifj@}bXJP~zmUV~oFIQqN4!iyyh}l7L4%Bq z>qaLAmZIe$_YSd6YYYuZ3~O9au`E&Of?kBjg0NWz5eeD`39t1p@EN>g6uRSR)RHQ` z%F)P3QJC+$oXAJjWZv#N2L5-<OA`)@7o8B<;L6j@EO>4iOT|MWyTJM@ofb)lV}D(c z;#e~G04MK_sg7B1W2gJ>t!v)PmBr=2C~|C)-5q5MqZSY6RrWb-J3llmxV9iE#!>Rq z0g0-MQ5&AM^-Qr`_eGM4Csk(wqYgt(5L=GXM|p+fWvjLr7(Ph8%y1;5MNnel(mx-( zPrCU$e<q}K(5GBCD@Nx;-$(IfjHwyh+b=jsNik*09F#J1G5xQ2$XcL9u%@wbvLJ)y zLvgDG%=;2Jdm5RvmYYjHmwl>LEOU}sFG76*qjbi>Vw>k&Tf*e!T1zS#<=YiDu5e_@ zeHiq^QRm!2AtgnjQ)SZEl;j>IN;gPUSgqFE#=vaGAoS?~*RqG=9uDD?mlphQ(l0yB z@tuLcE>SQ~QHAv|SB+`plBZ&8See+)JE$t|@M;iR75X_L+4{<1@uFn&uEkwd(;aqk z&wbV!C(!6}DbZ;Al54kq%sus3Uc;qiwUFRCAxSCY2~Qhzju#2eO1KsFKzKQ~<b_H0 z?>t;I4z?~^$j9X<&bNTmgh5h>k?GM=4^fs9X%^|a2iX=6vpH6^7Ns5jZ+FJ!U2cwn zg6f9_rtQgw56$b2YFH>J7#$XQaOttpM{da%3v+(?D|x*4ZD9~Ha4<R4sVI=7tha(i zAo0J+qW>jl9&0i6HBEf7Eko#ygZ#2arWXr}f+SA&Eh;{6M&09wR7T?5yM}VjlMBB% z3fM3NcQU*%;GAypLHkme_0dHlZ47MR7RswPa(7fn&q<VLY7|dfsn@{3!N)74!qBx= zqPpd%zJYQPuX5pLM(G3ZIG^xsUBX(q#zArh=UWlOYv<Y%ydJRRY~w!K>d5pY_WTZu z9b4ln7qYZzJ0A(1+voA6Zb5OO(L~?rLJLG>gcjDDG~E2K)}x|CLclONU_EEaLAL)s zikuG^Dko1*nbs^cYrDX|1)O;gnF^ZQZ#5`sJ<|K{*qhZOl(w@q%A>2|1j{9bHIpC6 z&v}2(s*L5DxZ|D$lC$2|J~n@_jbGBIESu@Lpavt;r*@Cu+gG=3Y`W>ySINQqg3((p z$y+GF{)3xxO_-9v5+#)gCA(s&BMj0n64ak9Df)5qslyI|u!RCv3Np(TEtES8BYtGA zf6%(HNpyxEV}e3n<Z`aE1@fW^*2xLM({HfrXp1K#@ZL}ox^Y=gOGs!#BD2V2&TkA` z6L#sJ_^r~c8h+=YxLqRul!N-yj&i<d+;{r7!J-RXX|t{*FnicJvmNMMmUvxoj)M7@ z)DL~k%l@C?^jzSjp~xU3vA+I?>J2ug1JxYXV#}g;c=Oou3x=>bs4?;B9kgxwuKh5Z z-$Nl`?}9Z`!z~NmupgLYAfUM1eIf55t1OWv&i@|ToU@u0%OSyar~T0_ktn0-!7T=@ zPm<a53~N<{Jj2#hKbdj;2&d9}!D*6wW}i<in#rfvz@l&<&6gov+G+NE1*r|s{Hn_i z=NNKMXpuYcDm9o%dY&V{5~H*jgMZ5*^?B3gOMA|<PGA&LRd2d|N<m%jt0J>zCUdm9 zINw8&ydTzA*NDG!X!mzyy_vv#;<8v*1GiDbc_#)|Cr0j!Qf@y*A-#uEZxRiZ$~oqy zb|rS}FFPo^YT?rVPu~?dZYr9YDZawcB;%JU$1$c=TV=O6#LRk_CUYd&@3BSPbVnTr zp<9ZaX@{fqLgud7kg!IP@xx+X)egB^&z4<Us&#&~q{L1~6A>mq1#T@yomj?-V0~d8 zHI;SS*W9&n@nB>Ya}=M_*qeP_yyLX^9);t!EG|hMBA>pq-+FzTbBE*$MHM3!qvD%s zGL9Zm!kZVf)%71R?_r5cDSWs=fBuezysyrSN3F?;%3AZUTy%-H;4^>r4J?mxKU(Zs z>wkTR)dUvFZCYEs`<QwTsvk<=RLWFqF)nVf<C&EpHN#Au$JQcSkB3E(C*z^!f=8N9 z5`=Ub#mydwd|+e=>J(qWxbWY?2QuFlwg+xKFL6LO#9>ils9;t>e*HsnvxLYWOw|W= z%+zr1d8^1BQxe(oRpoF*)E}m8-x9<{xEx)Y)#D#`@*GJk4vN{Zf@Ra(zSlDx`x>P4 z8t?lu#_)H1%we0qLBu{MJmFaKXIXoDm5xL?rqy|ltNa!;9})T*b5O!VLF4eO-w}7j zxsv2A9bgMPC?ce|{363?eR;Qkchi3z6j_uaC%15g*6!ZM`68D@voCz-Si$n&MoV~O zjoX9oeMeq7u<4yTdWAD*LHjjF4PzH$)!$81(xj(5SSWDJ7Ce+w^ujvsu;kBt%RlRm zB|q`@a`Nq4lW{b08)MStNuh~fUVc8H^uOnjD%;nM35huemub)bBI+a27B)k>$*4-f zsPDLi(w`?S0SkQlm{_Noy?G(p#5-l?^9tUZ)478TosPEr{IXCfh^16NYU8a<iHA+J zzrV5Enx5J(YP~%#vNG$vXK?lRS#~#D-`$(+6S_F>?$y%%DJn*X9!_8pU#B1BCp5$3 z%Ddbc&l5otCLQUGj`MuUvE18y`fc63my>49QdVU(N@>?NH!jt@)$eUTX$Hr2zKd2D zI|M3cx@*NI2rn_6;+E2NX+_{2fu$awGcGRDtasQM6~b|40gI;3&reM1JB#%9Jv-yc zs3&;uz}EkUv)o^9oL+xvSNZ$&RXfsOzFo20x+rDd<c$Bt6AoHFV*NMKa*0gujwxE7 zQuKR%7<>75nu=LWbgIsL(V)<D<L5zMsp1(%{rUobCMPuAm@43_!kh8ww5X=aL_Vd= z9*;+yOH>>@6DHXlO6u-EQpS?I<V>@Vaq*5HCt4-@l+WpJnIU{ki*M~FCt*36%A-O$ zGafriIGAk-l;B+Zsg>Q<M6<(Asn=M@KBvXNQ*XIMk_X3?h$IjFoGFIEl8P4?n{>5) zxGXoYJF>aoN^s8tFKq`O<C7*Y-h2#+@V`=cRrh<$RZ%N{gVsKy7|B&Ws=HGTg@%38 z_<Tfo{*nnyEDztXP8TmxW$05`{I1nGQ?0;xHfOt}8YkbE8A=gW|4*E0PD<Gq5Ef}w zaN+3*)j1nOvpW_mGWi*QdBC7;ZlTldVf@<U@oAeo8_d|traTZlEfUNVd|ae^$0I+c zBbLi!c7L(pX54bcaM~T2DN__$i|<sb_lkeH(9FZ9Hbs0b=Or1z*`|IfhBIqE&fIZN zmBpxsqsje6!N*o*pED<v#nmNlZ;N};Agg&ibj5?c7iV~I$~HSZzo)Fyx8iW}6~!jy z?k}bm@|w#I6fW*w5|GrWtbXS6VSSw!n>*QAHY%{F=!g_8agtC?32>DXEn!u0sVX?? z7E|OI#40bb>AZF5n+?vQzXOsvBo0nl=%=~Ur^rh%=Eo8@L))JUJ}Rqf1Q_lAIc!*T zMe1rqAa97jMX0-3z|F+g<zWjBzmRK=n%EgK-(}xvy|M+#=jD=Zr6eu#CR$Awp5n0J zS6r*0+XhaHhRJ+<t+H(=R<~dL?rbteq=QFk&+_Da&e@uO65lPcy}vslYEAH;t=BFm zGfACM%Rj4n?2n-L&UHJCST!nC6pq@w*)}`oqlJLaY?V_Ji#l1SObAlgfA`>WSBuYP z9{tT1^`-tBG^+f1YVgbAAxnQ|J7>y-K9eKv>^(d9R5cje)1I8>E>3W1eKvv5{y?MP z#+^sbKWNxA>+X3L=InOfJAyO6oybYs(bz2SbAd;8jzWgTr^AABg-l*^7&0uncr{tX z_@w{&JeFX+$nL0<#FHVjgx$8F!*!aN*@j3Jo`mj2c3}lewR2W_#~ZP5ta`9bV1ZyS z*N(%MO@)2DB8uWWJKFEpd}`p~SS+zKqg89c0xpFG3__PJSc4_L?l=|epuIhy&1lgk zi{&Bb<gVU0Dkrv;U8v*~*RF~sdYgiH15PrqS9Nlq^qSD1;-FBz<kIOCPA2Rw63dJV zJddYpd}MZCpdWIUBP^#bf!EzdNh)YUfR&r`+KV6f1PcsYKMFjQ$~Igbbz`H0iJoG+ zPRBydeKVPU_5_OmIr~ulO|T!w_EzVo3C9Gl9k_1eQ`k~l**>Q(gI$VeN8jJX<5EjH zt{!|OEdTt%|HT#$8m?+wN;KqGIwP_pyQf%gq7!e$gp}zD2e;XUEtK^-)S%|Trs=U^ zo%BTkbGg?ylxwCLvpANx-Dz+>C%1U_p#UakIg1V_vqV#Up(UAIH$8kK7pSzxBxVLJ zVRbSS6xuX(F+Ueaqw2SdW?2D`bM+e!$!aw;D0ZymC`)m$dG<xvd&?q?+FzHYrWN(u zzH!oyzIasi{lr$kWm~2CPj|hvJ9w=+<?$qcg@fw<CWP%-mpWz1B$wA6kM{+g%PZfo z@Zy@Luhv0R9tibmF#f9xof#Xuh~?;{!~8X&doSr^Z}~FgxJ?N|UuKgt^Vx)J`mz^q zX8J6Q*(kxLaYog!RP;H=KPe4$8Iuis-x7}ty6$e-b!aj3-^%6NKe0?O{U9J=Vsbc< zuQ*JI>lCkG-<l@TD~vKP8t1UgP~t4M2;h=T)Hg{97kak#g7TgKDczLpWkDydH)qT+ z{<Ts+UB_yc{J(?o{hrK%4;(L=Xl&Y|yDo_{enG3_f{mQ)`n{~O3tew4DPe8yaFpND zz-Hp0Bs8hPkuhgMo6NUFPLn`o7Da}`vKgBg_Z&UIS}N4Wogu?nx5DZ8c?PGR<sUm& zM?BPOc_qTR>4Ipg#Vg?;!&tSpIh`J*UXsU7925Swpxe)Ir_{ugv6>GLaqOCsAjjj( zwlb~UI{)XPiY;9_>Fa(*8i~I*$o!{plwa*MxBG`C3(X&*UnZP9QyJ4F<mup-8ME2e zE9Q`t@_}a4Ck32_Gq^>zuVvQgF;q~Wz*PV4WA5&<r7r{v7Df22=*~Q@>Hl{jyF=fD zBUV|(20ss|+kJR>T#(`Oynix{yYJK<X`VA--|-~{cH&d+A9u4-a(nR1@%wHT&8FCU zf={Ol^%>~aE0(ZKVvAt!KXL8CosBGx91lI13^`PKHnK!L_`)TZA=Q5HT5##>$J{~> zKd3o0y-zopDivzM+37r?TPwhs(RihU<}xpL>r0#khbkIWl^9wBwj9#vJl&!vu{_mN z>#%I;hbhX|OGT?gnu?cI-+8Q+*rQ|PC_Z(^|4qx4CU+E^(bHSInc<fYBjYI%F}@W) z8-<T?v!Bp1n0`#EBxMi7ni~aX=ZiG1oqhhG^-AA0lb{1n&-Y$lvu1Wv-O<=BGMggV zy_*;DJz+kYRy(gja;B5iynpPqPPR?&whF)fQGLcfsJ5l~ruLO7Gx}LdAF%RGn|}S9 zRg_ej?IP)^)0<T8l-#<1^B|Yp3l`3TGWN`6%+EFKZYdw~i`Dp8d8I(k+)73&N4OwM z{OB{oTi>>7`Y~L*k$+22T%^Nk#<9FwokYfC9R)343tPD_Hz~*_I(|54#+$)2RmM~G zkg?Ln_i-knzotDXSE)z{HNRNMKH)<nx7-8s^;XT|q8$v{|DzVR+xsRl$Gn`QvUb4= z+dl_o->qm_YN0yqa%>U*_5(7LHz)9jPvD*Up)iY4*2rD!TT%MbwyJZ1%8E?vb&cN4 zO;xN#EGHhY)&<&&B{24haZVF;c37OTGlh3z0cYj0hNFpG9>;xTLMmk<m=2U>y=aw{ zKEbJ;!E2ep6aRoKrCjf@0nf1y%wht~52x65PtQGPX!13gx9R~$#R1Nu1V-nGmf6ef z&NasI8=1U5$f+#AyELpcXhWuRv7>Wv>FlMMndWU-7Hv}mc%_qD-cMn3cedx6T=xBO zg?Nk7_hLu!5T^VF#*7H@B#uh{MRHftc;h>iW~XsQyXUTR=FHmB{(tthc5#;Iz6Qq2 z0&KGtR8~J=lzyhdU68jWp+-uu=GlY9#v&Ct2kuwf7%n?-Cm&{ZxxgiVAS6SG^N(6+ z;U(^X0Oo)KzPw=8oes%%6Bunb@}4W;+T$SdY5~{z28+uZMEWmjW=>^IPvAK$z<sKK z@tp!==>ndhi5?|iEnZAuzxu#qegS{C1JkYo#)m&x47OVpHrjlD#KCRRv5Zx5!Ezg> zNtv%Uwfh}tobw@O;)L{LOZCpX<@!k|Tsu(mV};(bR;dN%6M|1Pa0>XHN@i4kz;WXP zbNq4c^QD>H3|xB+?Sc(>oli8{g^TCxXjKiEIQ_xIq63`g1#DzIT6iqlqB|!4XUWu2 zU0~z)VY1NXNY`{<CZXoZt}VxurbtQpOg-9A!%=l{LWhe)vuk*y>vNVlTc=+9z;;xL zPx(M&^v?F$9dg$`uw4}3wT#SK`ivt>lGj0V%Jd%{Tc%51WQdj!;9dE^guReedjkJ{ zcfmd4iCYvnW;5_ka9}@bz&)XWYxV^G9R)SB4R~Dyk`z8NP7~nRwt;!Ff&0!4%&rVf zTmg*wWqkgn=Eq+!-`>F7xPdJufvso(*Jeo%2L{gl44hXB_~&on4l7`ukicGff$^9D z>+@%P+c`y3HnN}Q6x}|7{rUsG{u0l389WsZDH9b9jMeScAF#NTryIO1cD*s#s50F` zviZN(PRWW588=i6LvGAHDmtlBY|?&%R)du`k2)t$Uog*L=6q?()?<e_Co=f-x3RZ8 z@jZM&x^;szQ&s;T&z6Tj=lxqb{~802eZb_R4;jH7leKqFm7XzQVnVaju8B`2r%w)L zO5%*xJ~^>)=d}Dz#fq01e=6sfn=zSs#mGb~cGx*hKTCdkz~YKZ&RGjMR~j%mYfKCK zIjx|x)BM%^IZvnNXZmJEMiz2LPf=Yu;{@l*1DquSDsmTCDjB+2HnM~Z2$nc-J8j^c z%)ohk0{?^wGbSjo3vA<(DP-O8fla|s=*a;#LkD-)17;a5{DuK6*V}7T18T2M=YIEr zLF>SZ7y<s%37r4uF5nVfz~x@Zb$J8Z%nKIZ7jRFQz+P6s+iJkWa)ZVB1N+T}@PI(e z7XiG_GFU4X6n)>o{XwHXf2-KbhK9n6JS7_?rz<S5<ZRZCESZqTYj4n^wQ~LxQO*fz zO*c|}wO7uYxFB8i#RPGO`OX>>q;IXBIANjmsYWBu$XN{wC8Q?3`@p(IRd3%%_QMbO zuN~mL6}8ynRO8Vm_CANn@;`Y3e@r}DHQ9c`V(HFBMmMwO2(<D^t+&`YO}et*{N;S! z?hV~;8?<k3xZc8kqhZ4}m1)_QOcG8l*^<0B95&24z<J=qx<4;l3o1D!4)`hkUgI@u zlRnpU!`0Iax)~oY;C!UOH}Qb$f8Ps?mv(UK9O(LBCMd_i`||+H<^oo^XUi@KaGsi; zDCWj8O>(R1L!O-m%#72y=bSWiy}<qS1K0WhHs=jVzZ=|^7qET(V6G>?DZhYk?S<sE z4UBy&Q@&kb+*rUXyMSBz1GjVn&(sSn?>?|cJ`<TOGN-bD`|^cC`R^imS2fKiuy{`3 z*tS{x%fZM8TIFI3*exuX{C;FqZOb^&viSQ6?o(AwmtRe|_9VlCBXhMitICA*d%Gsi zv0i(mYE3YQPvDP?qqCYPJ7gZ7u&&#H=eoe0V++<F-L){Oa*3G1x;Y68XHD2G@hd}X z<xYmz>rG#-Gl`rm_F>)oUp!SGc!D*ivCLjCrl9bD&I0z?(&bN9?+yIHbN}`H{1X#T zd2d*>Y~T3}I~@#|&I|C)*|5LReZxwHB}%{7$*h<bH>1P+H0LY^9{XR5-f{8d-)Q|C zz4*`R{aKoPkyV=yD6o|!u&>`?5`9@k@LHZ;0LSJH3?&YXB@XP%8F(E(a9>v7XgVMm zc$#_hj*#C8+}X(-)(f^SxXJzG1J?lwrp!(JX$9)HH}Ga};Ne%`alXLyXM?(1A(z)h zrtcHj(=RYuDzFtL@T4!`mQ3JjE#Q$}z+G}wv)Vzd@<O=E2KG6JJm)Rqj!d&Mo50et zQEO`o*WE}awG+qp{n{!2a<zOXZ=FwM<+0<3Om<mz_|DZ{aQf7||Gw;*mjgI=HLw>6 zOk$bo?UR1;+p7t4*X%xOweE(<e2IkUZUOEoVUrecaqSo2WZ~R<AZ3lE#k!+Xtt{Rf z`om6JO0-J++H0D5n$c%+(StoEou}97?0clW>7dVsQ$2gXYb{yHa3EG=)8#koIBm{8 z`_1Dlb@n<BkCOMM8wCdsT-f)M`z)u=CMT;+j~<*oP;l_=Z=RJ7EEe26ch7J>I&kh= z&t`LNzVimW+78?$3a(8XSOSY!UtKf3{D6_$fsuOygNHOH!(Pr>1HpspTQ^(q<rwsY z2CzuqHQU+1AJbjC{s7~i4U91XtZg6o&IPdEc1X5M<b1lEL!W`A;56&ygx+HUR{yJ` zQzLCyB0sQCJg}p?i7(}$=Kc@txj9x!+vh|nYL>_pm+NpQKI8BU&^dPL_>BoCjx9Q| zSbOcB3&-2`%v)@|F1Ud`>Fm5aSxtKa*ym1R-XSw7{`$$d<MaBrW#r4YF5}*N<R#Yv zhL$}Gd3G~!&HKO|e_-uA*6Ta7uear%KA5xcUBC^ARh;rK_lRYk-O{u0_o*{mb51Mn zzA-EI^r1Ni6lbqrc=qP*nzJ`%uaD9?5a_W<#d_14IqPrES$d&n^Sw3a_-r=KnsByi z!P%7s=NWX)i_AJN`KKmvLXGgl>CzJun=T|yE?_O$z_7!Bdvn2zLN4Bf2V24&4hKf_ zN$`eRGtA1Evh}~U18+Px>(T|GJ13Z(OJLIr;O;GO|NViftAW++AlKvu#>oZT>;aq; z6pCgAu%D~s_7C9RZ@@b70bjR**oW!t-vcz?9oV7QekE$5=mc)5avtgLn<Q&x)*frR z+IVJd`rZt+8@6mOkH;UMcesGD>yE92)~UV;sg)Brk3CpdmG)R6bC;s#sa@XdEPq_P z`9*r)L$0|~*r%znO;BK2(7=08X76U3byMaZIBLV&9l(C4>*j(#r|0+X-hSuI?7#a@ z%iMBWb!PTo=7fOB`*P1-x7n27H+iEjUq;`#b+%`fq}e7;Sbu&F*ENIZg>mQa%{g$B z=j^wb+dq5GJ7t|W{dw-$f=;)os{exynaU|}On$(4Ux1V6?7_+j?0Xq_e;nX{q;UAw z-n)-4u;&J|gf{S7?lH@~yfxqh*Yg6-k`k_xBdq)fjvNi(KKkKOS3#Y_gXHBOxZ7s) zF5kd??89sJgf}zpUGCe<I46kLXdioT1Fv{M(bWfGdtQe1wQxK!lqlG!{XOF9rLG61 z500N*_59eR6Ta&6mCwz49l7T60-kOLP78@gFZ51k*|3T?@baBJc|_{ei*xUfym|80 zj%QuLsqJ4mD?hN8Iy_E#Ano-oa_8?oyP{A3>{`fp>O;H&%bi~t{&KA+YxYi@d;0q6 zJvXYKsnnl+vFG%81@^^rxy0X`zQ*(U<eSq<uWyU@ocpg{f9{#Xo|V2V3+LW?!E<13 z?~5oczK?6pHLhFwy=QaPy?s%uF8sRiVm8OuB`5Ao3^?T5{W5Ys*98M!U4M2F+wMDO z*(?HC3z=r+95&ngfieCxqhT6%n*(p-2A--f=5`+nrf6OMF1vmE0`6lQ7=ssZ?@xHs z9M3cB!hL&&)nN%cB0n4w-w>9$k^Oo@-;7V3xdyUL3&me5WE@;PFHAPme*&xezLTHd z{Z#W<v*>@R^apnLSk6AR`Dt(Yw<oZ#?wM^e@5IN<^|tpOUD&<r$*kXYzIKlmaaVre zoY26#KY^#TK=0}28#8>@#r^wG^no==fZLXX>yFi@cTu-b{b61wyI}2|oB#Fq-?*W@ zE@9tIb@>HLYd@Q69=O%>@9q1)a}0RO7&tG)oa6HO%(!OhSDViV99XU~2&_E9_*lg+ zMk|4dRj%e*fQ+Eh<#jKTA1a=iYLI9X^HJf+Dg9(QHAkxn%T<IEN|YFd#XT>GcGy(x zQB-%oy|4Disy8RD79a16Ti-J6=JJN#r2?n*3^c;>XKcvj64_gDn2TdI?*xUp2g8m> zv}GSNlTpZazbqg$Q7Kkw;`3>{<EKust=!~3Q!lpqMcS?6_il?^?y$5^4!I$s>h7l( z8)bdumTK&&qL|$&zJ5==rz=}N5<PjVm3x-{$5lGdH<>2y`uFGLq*Uf~_j%g8eY15= zPtp9R@+9JM>e=%5XZkA>e}8S>p6Y)5X@QX$>y*zCr#`)~`nsBL#q*8puCFvb`y<ct zzGbiZ+uKnphNZ7|Xt8MRHS{}ex%ASP!(aM;Ogru_^y%p4KR=%c7uYa8R?fHa4SMJz z%yhPs#gR=}<-^R7pp9vczA9%X2satkq|M^9nZYLAbR_bEi|>(%6PP@dGChQq1cELq zOyddq;Fe&LsUfO#uj2`q*r5y0xuU+D^q8Q0IN&66jMB^{%+~83JhYKKD(E86p&->R zA6I0k(xOzh%E@Oz%cI8TxHgF-cH=pX2j^DFRVc`buIPNwTD)z?t0|dEGnci-#@v1? z<zZsT#-gBf(D`5AR=vh2^WqhLE?K8O<>Kl~wk1DZrtiv`uu%4(kA{y>yvEKWOzs~d z)?D=XcH=Og(1x8ohEb-)Pk2)QDLmYG`qXX}y{rEYte&K!@KDz>?#|1ES@Fvv)=si7 zvhFoGUG_RxFvrZ`*rvx-o7wo2H%PnPQ7<`|HY+jdpl?jL7~@gV@PC_m_NSNqJ~u1= z-+{bVD=tg6DPNNgF78j~*>l0cPiM2=Ue%aC3lDMlMjIqrN^Nr!?mWKO;5e(Yp?im@ zoXZ9WzdM~R9XySJGavH=pEH>1F;C#h9Z@N>6$?a6Hy&FMe<&h#sz=3<n+v9~Xk{oY z39eK-Xx>n$xmeNGVbZi-gG2vLFuN_x+%%`?K*E%!xHXE0q^uH@oYdrwO*}l!u>MwN zyW#2=t?Ub%3|abliyj{0$t{X}#waeQk=7ixpu%x#Sj10PzMOA2Qv1E?9)`^1{qTU5 z-{#!nsgu{~Y@M=h*OyyQg?H=tJ_^qBIk0eprN_=E?Cu$NeRNM~HNNf_`_+=Gn|){E zYN0(PjVhn-9$>9AeNwuT<<^<@)hyB;Vx8Z%X_jQ>&bsHL%{$vmX(R7;-jt_hlQhL7 zk4;S!>r9>Tu0L}-U-?F6Rk47of^d%VJ(q86f2#B|RU#>d-FjWbK`sWhw#1$n;y)+e z$ouoXmEoErPtu3uCMF-bdD13CO17|QwEWx9$eR=(Q*uIqZF<0F)tZH_k9P{3QE+5T zc39LRHRqxJj8s041ZJt#5lxmE7Z*vcJke@rd|dojilgGcBvG9NG0xl{+(Jg(Og9uB zs;zq<*eAp38Llu%VTBuG!U;y9%MAPmRTH}kBbrrRX1GqPaA+*jI3T9D!pZMLV)y(9 z6Q$Nq;AGcv<n@kF5~%NP*G)Lk%D&^UP;>yR{k(%*YZ?rs7ZkHgRDA6Ikek3fQGr)( z!@(JjPn4x6&+2}hm)NRq<0tw3#1Y{jg=QB4H=&M<yDI}sS#Ij8#Ye7i7Mr%6`>Eq0 z*>@+7Y-lO%-96>K#HG_tMjxAelK(kMswg<>90~Y;_W6Tjkwu)>M3z15^IY>x;<!Si zwu9i>vWIHn8$YyIUbJj2oV399wd4KWC5Ek^c?-DK%~-&*d?RD{3iSntFSN3+Q*J9y zbmw_yaLn+?13TVhi#Xp29u|7#-t)!aij1%b(*dp*U2+U-_|$cdaB&?BNS=|rIQ~I~ zY+GOlr(Q_g1c4?)v&0@by~cL?Xh&hLjVudhC5y_wR5Z!S>XWN#XiqX=W3%1BGQTuM zcy<Gu$(M~S%U?ZCmwUm;J#9h1Z$?U1$X2bZdo)bfDS3MQdU4P@!|`f&V<TVD3s%7& zj6H=iOPsFFaGQ3IVPc$xvrmQ2A^#7IB3nWggcKLJakOpdIq>f&GfQKMgZzdAUAkMC zI2;%rvb}ShUd_{N=*-bCGjHQGkD4OgUhSo^^AcLEG#*cxa_cbfqzO%x3e0>b4366P zvF<*zHY@bqhnSQe>6zI!iGsTm-o^G=>*Tq0&+ZO5W*V}1k3GZr$nJ))E$=GNCpU?k zAI@;vBF4Dh^-VFCZ-k5Rr$YalSKND_g@o_=_Oso}#8KS0A-w)O=LSZp53%bkj@8Y6 zFz2htqIj-<On)t+Iud0TbJ}XSD0U<sV5)QE5dP!T&b=_P;p>6rYPt&~>|%^3tbM@E zdZ$3K%Aj>pU81OHY@<Y0&SQOsQc+t2H^m>jSqwQ6kJ(?|=vK1oifGIKCG55vIs~Rz zg($97QjYt2ldErIidy;+r6{`~{)~x&>e9(4opxOEURT2E*dQp8;K3>(bV;CH;R&zt z$so%o7q%UG$Ix%XctkEWsJXW0qyX2A<JR{!@=E9=OP&j0;B{(bJ<IfPe*LE7wmPkh zHz&4*Z3((+y6R&~^^RA1ry`CB8*Stc32S1xxS>H<NTIdT;vxIRhS;=<gOX7nmBJ@7 z#_gQKXp=f2D&oKy(ejU<bROvPN3EK+%xKnv9?gLMhzmjUzGyYhPX6=o=4!^Hl}pRd zUA0i(`$F0A>$lVX;YSXM2746jdbQx4)sMxNz7lMCM;>&(X8B@yLr_7(qru_drr#3( zUafRy;C6JF7<XL4=|Fnx>jweMb&gB;*B)+r?QmIj{Q*&r)R%{I|0H(oPiM82IK~yW zv9s$|#bQmiPtMa9q^MOptgyPfQlidHaJ`iCNx2Ot)WQm{YIx6Nb&G0M=vm0W&g<=3 zH=&k^Mnx0#b1q73iTEU1b--0`UkanIGlx?cn_+^$LUEA?j4uDOI<;mfiZAatsPbUi z@tr51i2mNt!XzTV#J)#a;C;hEvuz*y1a>%bPS|&fP0g^kdcrxm`3J&MuNkfOU4K;e z>8~T|Yc{lJy?DeFdEvC~s=!|VH49nnH5@s03VzAQF!5*qJeankw9`k``o>g^yBj<j zrpKl{lG^ug&$rTz+%~aCl(?T>JG$US?`-=kyM<nMiTzFr<QAGxF7EqaeHoWv_t&FL zhu);V7yt9{arTDty4Dkiyk{pQC7CozZ2jQ1|IY76lbQ|*FVJXltWHSsXEBJeJ9qrA zwH6z{#saBm#-taGOuKeiePDRS+?sq~RcM3ePwRyWtC@>;FnBOHq$U^{CamP$va|hD z1FuL^p%I(di^iHCn(ajz)1q3Hj5dZ!XnH6(vc6%I^IF&?p;er~Sp1=3;bo20*-Z1I z7x_w9$t5+03N-cnV5)6kF%dS@ciyb;yjgo8tI1=fs2RJoPqZ5!w$fX~%ynXt{-4!4 zot@?a&Pp3L$8<Ex{?}m2m6)tFqebb3@s^FV1%529z0oL8ptJurTl$M;E{8ed8LT1` z79PI5r2dvlm8F2+4@S0|{k#VnJP)XN{%OrQxq$aaE4$_1%h5e&W=v>O6!@>X(EG@O zz#}R-5=~NGN2P+MgsAjM6}jektmP?k^_p{3i0kN;BG><leX%XBj}EZKvAFTva`pM+ z>a*lXYzTK^&(S22V^Jw?ac5jLejSZiqLkFbV%2dp=7?L|8MmAzM{>5frKB9o(K#M* z=2)i5@w6q(#XQH$Slse`bjxavS1wsplyW?4&GG6x$1BgcalJTRIj60mg=3TT>?WDR z%_>ZrCO1o5V4HiOU8&>5wr<8v|7Xt*PteJ_!JdAj&G|;V!;9Uy2F)G;tf3r7R{v19 zOkh<FVA6{4oSx%3y~lIr9M4%Lo;nhYzE_%O)-cX|(=zLir>X$!f+b7~dpzg!cm)cu z&eu6L)#uc7k=AKGUdu(iR{3}>;yE>Qir1<fuO&xLEqdaqs=&Pdi`UvYUh9vvEKp%y zC~{gnz<Z-g^LC!o8;-CTWq5CN@iubs-W9^MC&zo&67L;nPVfA4de0G-y(T_B84O2a ze2%%CIdp`jNP@lSKue*)nNxdwPWAX4&1oonapuIIGldV%oSSmy;+`|-Y-SgFNGo~x zUX^LT+S7T(M%vh9_skW(Tt8OtuUag(u)(0Eqv(G}i^Phin2N&^9Ve7J8YLF6%~WWT z%2?xZqP4fAO_qbj<+ZhUMI)ERoFkU3eg~MQ*D%g_;`w2U=LVKj?^`@S_jrDJa_UQt zzv_dNOP6@AoWi<L=lqf>tV>k97U`VcIOWvFp7Wb@yf)uCHFb;kRu`}TJQp_E1O%?| z-k1}xgXi?NCtin3y!Smh&B5y9<8kWnnhOWk1RT@x+1GOBn9jwME@v+AoIR=1&NkzW zSZ&}Lle6cZoH_Bu=hBvomvnY-$vk`YO5m2tvzw%y_b)OwRI%Pv-K_t_*Wd}GWk6%h z2389bzfKluIS#I@juu4=R?&`j!wKigZ!qc=FnX_Ou)erPw}Nfje;xnNElb1$PR<Ak zp4D=B))&vRipv(Y=Vwj1JVWHvk0+ipd`>OZIqxUH`fJJg)l0nC-uh3!<7MX>u(`&c z>FBBLJpuo&c)7P;U=}^SCFcU$RPQx8r`fKao+=W0u;uh&9UsA?r;odw;nocd-|BO0 ziqAQpGs3=S&ddqD>@)k)ozS?o7iT#5UX3|t7;{cxuCe*7v-@B9wuYRz{YFr!gGJAx z)pG`mMr(_whM(o1&AWfLDm`dQ`oNfOu*LZnTil6r92eFweLXiT<odzGOd<hHQ$sv; z9(am4FqVHk_vuK}X(vW=)>Gmu&cE;RoVq2vjyIz5=w(}3?~1qKYf}8@iFj2OoV5F| zdtrf%*T*fv%Y9C}F1@jR&IR_Z-aZdb`qV}=+&wj6sW&t4X+PdGyQhR4;5oycdXqoa zQzIdiH}<N4tB+V|XjsM7b0$9Gseucho)P;SdGSf;64$63HnSCMrI+&tC5i^^FA7^F zdf4d6**i~KYcEK9WLS&NxTbWVJ+5Q-&f5*a7OfQ;Z9E?sjc+ujcC_bqw21GREY8q; zCW*C<p(*S}^uD{%XR=z2Yuom*GTA1u+TMshcva`X)!PTI-rjpP`gm>3*+=XiUNQ%t zwuc>vIhosfBs6Bv)#!t%tw$c-cK3=ozBJ~nZ_FOiyJuu$S9{Dk#d<ePf?ah(%vr72 zqeokg9K6%^KO**2E!&x+(GRZb_#BA2#~XY1>>c-8(WiW6d<5>^uU%5uaIdXE<!Ni& zp3)_+=El7}d#^3wUSUQn+l71S8th>l_jNNn3M<;a&b@nzC2naYo00<ix3%|+B-jmJ z_<W1Ke=f!Nx=j0T*Tsb%twj!tLmspnvpisYHu35cLAJC9MHOcad8}9dUA@c5dG%Y? zJ35C`T`#5b9=^?!cuyozX~*W6ADtSutsPrf?H@N9MeLUNAf5Pu(XNEeRXDh`qLH7Y zm1D<b4h7FiIjjozqK{l`K2ybJThXSF#%!C=eBf!!k=92V|L$q<J<=^`)+lHW;Ajow zU^TLxQ#>_EQSR~Hw-5LI&+RyKY7K|NWv&8d77G~#z9V4^y5z1sD(+=4FJm@8_ejH` z(Q4l#vv<h{=H3pdXbcEwHSJ?^?PzeWV{{H{)zwIGo_G6jqRJ$llu&`Yla4&v8Ombr z#$bExu|@}zR7X=lN0W8qlSz9f>l!?9Q#-kG!ENyaO}aC#ht)M|6g+X-CtSOfOXnSn z&atMLc_}&^t$s7EJMpo)2Bf5wJ&`-c<QmWtr}xCq;;Em-v*2S-1H)SU92ni_rDn)I z&8pktcj9T$x-{2o$t(;{i@v4k$fc&qJq_w>DmwPG_`st8w+5Yg=`07Bv=%%U&q#Oe zdsg+1CAW^z>_B@t$7EY=CL1P3uKxmE;SEi}0lSrMu!#$_>E4}PVZiL&&}9Aak==~O ziUwAJ2ds+c*6dAHQAl7uSj%Q6@aS;wBl)mam9iL*v^z&aSufnpbiVf3S?!VYHR0p7 zm%}bJAFh3ASQfL?O(wK}+2&f3VqJ<}UDk?siEGw16n8Ks9($B3mf`#^(a7{^0LN1~ zzqB>;Zl}*nmJe%nwMz-Dc&eMQq_Va#b>C$FW63srtWpeFS~H$TrnOGuVRhT|T4P3b zn8lNTgjNoXG@XFf<LjQD_Il&m$Kcw>kXP2swIDtCT55sbv;1}0aob+6mrIR(ms<Px z_0GL%u6oZk7BJPmO<lL{S@yT|w0T@r?^yEwo28mBYpg77&bE7=y^Jwn8KbL4s??0< z0UE643GeomF-uKgeKGI(?PqUd#L{nsv3NJIW}R(y?g)C!(rCL%+U5qkL<gguKpT$$ zn{fyGj#9R`7m1-a*yTSoS{O8?D6mv~V2gOc>8#bXIrQa`*34yW%z87fNjz(kNU+v> zz~s>pw$JeWx!hK{Ys{e%uXlv8X4HO|SWuuR;U|z$AZXt5P~_v@jjYiTyJa`*=6}#? z+R?anZIfpQi&;Q}hXI#!LbJe*-S&&vvKSg`PdIyXeA2gE6Qf|_e4|~<pvB_`d)5oq zev$VAFIoi*SmfQi)Yda)typ|)5u0;EQO$);t4&46{%>Lt_`%xK!{YpdVfXJzaRCkb zJ9m4Wm_1M6+-6%=XNe}>1MQo2n|K)t9$xw6VR3sNN0G++PFeY)<Ci`;tzSH+plD9O zCo87Lm<4P*I$5#~w8tD^_dd~T{f5)``WG#RMngtMtNUN(F?^M<XPtB7i`A;)hi6)C zkF#6uuojTm;=%qYki9Yb|6;2*pK2Kxopyh;4`PV>@W~;#fxn}r(d}uPeO}c$*4zeG zryFhCRx*j)H?EO*-zjI39N%m_BT@WBgWlREffvl_FW5@O*#tkZ<vXxeG_e0|E6*2b ztgvrg^MFaQZFATIrizB|DFxsEerrp~_+HUp9@5b)8PF&e!0h@zDckY~tHg#P_7999 zCm0*lSwb9I`Cj~}IL}z|f}!twTiy!x9`_%;?d*at+9YQ%rfaY{HMDXXFbU3JaGt@C zp1?4zoGn*?Eh3;iLgPnD!cS)bHYX1@I{`K|1(v4v@(PQVyo5Fj3FZh1W;>6zh5swr zZ?sj-s9NLC7SX`^r?1(9qiRikxu8b1Jj3ri1Eze5=DZ1&&NCXzU$j+p{9d5mVqwuz zaiL;)dwHLGE9Z;`u@7z81;6+jSOpW9lm)7tF68GMFe!I5r)2z*yum0xqajhD`fp!z z+5f6d=kwJX*iVTw?k%sG`kn2(`Hy=0imBp^)#@yE2F-2-wNv}QZ~3=B|HS_MlizEW zsk5lfV6aPII#}M2x}yAsIO9U~>SyY|H|YP~#9qB*er1HhUuOdrc?A~1AB*ie((J+- zDkA=-NHkk;G}T(L<~B%s{qJ0`Vs`C~2H6iEO$!?LGs^7Gp1l9@?h1}_@ehsM0&EQ$ zYG+#ed6@Xcw4beySX;GGLPcbn<Dv~wc5KIr6?Ntr_nupkt59)}QQzBu$<pHKp_!X= z-<=aV{Xl7<!wdt}OFl0SCA4)4mmiZ}yq1f{*f7b$;7Il(9@c3(tv3=gPh2iHm{w?L zTynNgvQ200!%aHPT<K}sZf<(DX2sf=ZD$H9-F3rx((`v(%zm;)Ph4-pnH#G%{r4|e zS00-4_QcaO8_c}hoFrC#np(gkYW;+zi6v7~MNjLOQ_(@yEKxnfGc)c6rXJr{YkhB? zRqis5Bt2KT;AWFf4V9bumsk1KRIz_l$}65ZQ{-{TCy7(Z1v5qduDIxFy)SP<-Ipn! zJhv?qxBP1szRvShw@=rfI|5q;@_P4&#irIxjp+<mmy?<yb>hg*u7JzO1@7H+pOf`F zAoxhYTh$K#q$7dO@}_$~95}399^n)x`d+7Os^t3_fm4iSGB=+wk`jIFWNX5CImu94 zY}2D|-ltO<`89q`xX7#<SF)H}X68m88<mp7rv-Xh7acN7+fl#~n0`fRf)CHpFAWZd zo;>L{_^;(~=@GL`>XRn!(;31}^1+VJ{A?txHZ!;H)mXqFT@<nCfZYkp;P}cInN9tf zF*-YYBW|5wSIRO-*~-k5y<@{!zS@VZ8bxU<3Z!b+-@KGI@3+me21Vy5Of#dG*QB|L zGXGi{nO-~dVl>CBgRGrgtv8dn?F=}=;(6w-RFGBqWGL<|dgZ`^rtI9UOCxF@{&jzy z@O#cDzNE<|YIjxUTYi7OzU|8)*PP{FOg&e-&lEpg?|LC@UGe5)+YYPjln}aU_l&Dd zp>}m+!Hk+JFEJ;TD-9bMn*`^1->JD`Q^D0B81``P!BrpK6<eP-c*$j1H+<-u-CFq2 z&+uc;=fwv6Z$yNr{kObmk?hPHTC#~hR_t(leEg~j6ZvoJY@TM#BFS_{>UMx}i*=J; zu`}E9UCB$i`M+$rWNqeR5_m<iTQki~GUstm{4EKg<*KS5H?<k>EJ*a=iQAayDe9P% zddyBS=feTB)NfNi$Ijn)>XPPfi>+t)t|%P5x;XU4(N<mer<)dTxqnc!Ijb}Hu&HUE z?9TpU3ub=2Ds`{1`bwZR$M380k8W)%7oFf*bSn1Z&#oKRw;CME5>5!FU$1Vx71Z*| z`Rewv%F0&hcSX+vPrK^<Nn9`|LE0revtrxb@cCOmxQa689-3FQCwS)rXSt?tyw(x5 z??ob5IVM}EE>u0D*d|}td^U8x?!QO=i+mqFo6XO}DzY!=6kF$8W;WZ-<BIn__60jA z$vK?5sriVpv-`~w*Qg|qDI$;ht1hf)iil#F)}qMPC6S_Fr@<}GWXPhIa8jV?z)W2k z0~QaP1CkpJnIl}3rS*<HmTlYMs9P{;LdBIc#vdKdme+~!Z!|fjzr4XwfNx=ggU(@j zNsS(+JIqH?R~+Es%JF8}YAE6Ow$&$Buz!<<>zcHke%+BKz7=O2j=a}VX3L+byv&GI z;_wY6md1psX*}jTdEanGUohmYzjk3}tgjNw+J_+uGn}W}S3a{pcaxWAk8^Lz&ZE7b zEc*gaIM0(!;g@&Y*qXOUc;0iKpgzM4e}#W`m0Y<l-ums67r(ubI_I!&lAim*-hCeg znX*DAN^$&J`eT&<hw}$M!;X`!W;UXnKYUZ|j`qlKd{XxL*K)woSz?-!BLfpx<O-%k zXGHlLZ!B||qsr{u(|$#)>7d5iH|<&$&TMP82#9^uV3x9pWbdD-bR+YKn=SWgzN&+5 zsX2!wybnwBY<t+?vF8Y@mccctEs5QX+dQ(HUU56xDKFXVkffx=a8PQJ68lEYPoWDf zm9nCYtX%>R3m9y0Jr|**J&j3Cx1h3n$E`1Yv6X2$pEVC1J;A2=v?n(wwBW$4IB~_q zd#OG}ENA%awlwq3SyW)y(XM#oK%41{b^2`?yr$p&W$f4}`))=3Cf7Yan|WAWl9(GT zyN*3e-q>xcq5G_A$#aFH$E?H-u3Nv*JC@m5X7Qig$dX9E-**;UnM<BXXe#9AQCiJw zd1ob8%cS#mvm#x+4`@0cjyk(nrFz2*zJ=L-Kf^hG9B0;;qh!rxeOhp?VRQMKhpOgW z4_UJ}Zn}R;L-FeyPZt#@Bkj@+>gvKCeP)xoQ*9X3-c}y4ejwIw{KG-#^ohp;yLLCG z?n#!H{xMTgp;3U9Y1tgRTb<l%p7+?EQfZiA;lgo4fMbOOYd}MgW0b`b=kI%z1=bk8 znsmfS`p6B|n0W_hr$-1ei=Q|Z=z8K-xD~tRO^4$=)*4KOK~4YXuQ^d*mUi<>jZ(14 zwHyYP14o!+wir%dbLKctpU>*&b0*8&4pFq8FvENIBW2&+RYiSUou+5*IBZpPGBEkS zq4T2!Pj~QU=dk~XSXNuK(4ge+^MYkc{W8qLYpwXWXN2w%HcnpU@!eBc=%Z8*lU}64 zc9mxWXJn>j@qAowadKrB*9&KTy)RsRQ`m(fw?^9J9cgzyurx3|B9OoKw~|(@rlL{Q zI;WVHrB0iJl`Kzj_&o|#GhU;}tQW^zeQv{I<!MiqJ9l&O_!V{~@+xviY?>(XXW@Z0 zl7SvvYa~05Z0dDBlFEK|%le&X9yIXoNS5?T>q~gB=%HlEvesW`Uq&*xy6pHj!`0Z? z$2;BVf!mIhry7wTyEEq8y(A&Qv?+VD>y}HKwmsx%t0@rU3BJq7xje^M+(6*kOQkLO z=J$?9O}J&~d0u$lmKS;Jw=l~8^b>B@NMCQ>tP@*u>-)Bi+uTf-GsI>#WO4udb8Om9 z>p59#rt6iT)o1yYb#{Xs^Hgij*@=Qp*ZBHg&e96mIIDBv*|z7xbNb8QPVavyC2gm$ z+?s`%Yw3zZYl{{tcY5@ynZIZ=vst#(>ck4M?`s~|+N&+==+NBxXV1mF*k?Ss77t{_ z3kpS_nY5Uu9J{QjaWc5=!n_^1%tGcn9So0b=w+X>luMEMk%UObk6U(XLN8*v741GS z#)<qtCfRnvr$shYo>4qaJ}J6K{A9XV!Qy8I%NZxeUppbRLna`!>s0jWDQiWqduX2u zOEaonBO|+gWp2pDk3A`SPR)O#Tg=YaFfC<5@cbhO5<(|zm~RpqKI6!fb5&)&V%bM> zWgkl`Mch`LSNNv+?B&w+T&o@*ia8}b!`gPa?v~8%@-Hs4qxl-wq_EDAd3=RCu4d`k z%kjq5D+D>cKeQ`0FeE+cHV+NnC(+aV;7;%s_IY;?%I-O&J;gEU0rN@^&mz(AlRZ6G z0;2pxnx}>Yuw|SziaF4i^I+Lk;Vz99{u;ULmIJ(3oOw=k$}}(pu9VdO&}3li#t||p z{l+1cH!a39Izs>R^ct@aw*Gq}U86JdOKZvzZs|EKPnP=1>^;nL;fh%SM_~s?!j;o} zTRIcoFo#tf+p)1LP(>=P<@owH&DVagdS78*)G$Ljb%rEM(-xlN)?eC`ZRZ%Kp3izA zoxsxcZcCT$5l(%X3CAW#7Aho}{=CC~>eM=i_-vhN;%YMbFF7agJeqZ7QkF^kSC00Q zFI`-7&LwPUQ@yfa>d8P+pXTqO2lW=7&WxB@dgQ#_3%{fz-YI{0>-U^}a>RQMhip>_ zV?)D%fDP_@8W<EFFe~hcFk)g-kZCfy<Y*jp*f@(>sHE3atHD&Mk;&$P>=dUQi{r+7 z9Mm-qa?eOsFFC|LMVWU&vig4wCMzvR%Vo-z=aQ{gDO+kaDk(5nZ+UFJC|RV$Ns>Xu zc2lzY4oA%$2kqP(HK#B!TwoC0qRhMJfaQi{kqZsd8<K6hoUFT=lwwje6&S3wnv^sg z)m<DVHJI$<Qmp2w@Lq5bQBh$^Q1K93;u*9=TEj_X&S6UzN0Evp(g#%hwGLUHSYrL{ zv4>Ks^`gZ}Cz_?VJht4T>{Z4TvS_i@3Fe?zPyB+Oa!+Zr{-olyuR&=_qj%Y%(5_VV z70%(Onr$>1t#%x=)No>5pc>w_RB1(X%&O+leGa^P7}S2G#$R)YTg4pAwJd?nIZkew z6^nC{R+>SGL!6W2rM(Oy2}~j%m_`04q@_)APGxiEbzroda5&lNpv45|6emYkmcy1I z4rxvYwG)<Q?_;vu6PC7XS?iuK%ROn?bq8ASIA%w2<U1v>vOLe<cPRf8gP?+A>jwrQ z0Y<@w%SBG<tu6_LN(Z$S4l=tXm``)s(QwdW+7fH7C9b;|t$UKKnVxV594vQAsnklX z+{aMaq~cP>WUsf>|Jf67t)+hR(w(eStQk_g_*C7#Df0?EtypxRT&vMx*<y_Z71uZw z-aX1ei&T7+7(CQe+$N>k&r1<eXz&+$;cu2<zew3%Dz#--a!c7#YatE4u8dB-rPiyM zE2NeR#VoZsk`ZdRG`OqDX3EmuQ_WUghq(W<Xi7FL5$a$H5lV}_^^|)>v&IKiwHeAH z1}kIsrD_H=#<Dd>L_Lj~)|j-<!JtNSvQuNys>3sa)Y8J9&D`{C#x(}Zp2HRiOwQAs zSl2vDpZ084lA7g_w9H*<mNp6*pAJ~;NXvFxP^k4h--(e$?s>kGLYdIPl6_A40Ukwq z>P1TGtQzS>Vb5g)9EyS(N~O}v{<T|dOZNQsq^)mx^|xfZP0ZFEha9w0*XXGRZaVC| z?Q!&@blY#q;aZG=ZA)sNJ&D-1B1rB@^Cbt5B8_!vDV~RxHh+8Kcq(PnDHYxii|v(E zou(aX=6mYFwK{O#imghjK|xRIwGKHhdhB*gV|&r-&i{*^c=TmNPE+lDwzQXTnNo>L z=&=|5%T%M-R$9(uww8Fghih5Hx~J3Er5;@Nw4d#8^fX7-InLp$m}Bgg+4QVbYI&Iy zr!#X}X6iD{)Jca^7HOs?IXT#=Wo4;lY)Z?V^laXyXE}9gEPaP%BRB+GUM&=R-WqaZ zu~_<wUpLRa(^)2_#UH>><n(-rn^sZNs%2r%wL={ACS+9}dR6=BiKW)kz0*=E?=4?* zY4O&5s+%6ITH~bamZaf3Yf00wR~~#z>=!9}C^_8TrNXO`aYZb}Ju2h&u3Vp8jXDe} zja})EN~$gEmUOjg$C#~f<x35l_rzLBh4;gY&|NFGe|oX)(9@t#t0r{+%ZPMJ-D{U> z)u+tc;S@dZu*)>2{l8u$n7xeBVvIk<9KS3zW?G|kNJD>^gS(kdj9l7uJ+&Eb&r<Z% zX0oZx`lTvzqWSPD=LDgrbLKf~b~Gg~%QTqsZ0<6h45#<A__Rd!T+2SFmLs<+_uZP@ nD2}vG4(3VeIk(=Nm0Nz~hT8uCj%DAN1Q~MY-*t3gV6X-Nvy^gI 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 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 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- z1sY3Lo?TY?`g5wub=EVvk(ZNYKJ*^&Ih>JqXxrA)ufmU7oLKiNV729ew|r*W%JNK& z#!0809x&|QY{(|JWe%5de>O+gT;{Yl3-14wU_GJzdeT45Ew)eJ&S0-h7vFbeYfHn+ zj3_&ooV@}&4b10E<Z}OIDSeZp)GFv<Xw4EP)rAYXTs6I#8+)GU^)6V-+IQ>LtRPkQ zvXciz!&0U`__nm?%v&X1POXV94#Hi3N|dUq7fXCD+rDs#VNVD5Nq3P04Tny)_`0$( zdetadF5GrSqu;5kt4B$6a}1xx#3`ZtmPe<FbiI4*{cZ_o!E>cP;kQN2PoFf#wQ2Ks zI50KXin3XhER6lCQ?cIWOhnneh?J+3qrOQe99s2x=Fd6a&9@fDZJ)xfzm)&i`71VC zOupC1{}$LA-JjQ&DO7v*V$Zf2Pr0r4aILU^n{!~=k<8}}0v5UqQ~zy#@x%GWtl!Qt zJ&xDyWtI7urUv`JIpS_B%Tm+yAuk{%J7EF4tmJW<Z3<jH+ZXg)S9mNRqPTBD5z`7M z?sr<dE=o!L{+zH|KO{=!qiF2X5X)a(p?+PWie{c24jZMGNa<L$a&#W#XX~1JX0GeJ zG?!d~jgwqtlq`&IM*Et7ob;fL-`pbd$UTL&ORjcFNoL1>FAtb1EGu|m0^1Z8mT=bp zkAxJaC?54?ikR&1b7R;)ucZeVh2~#roXPRzbm&>v+^MoJb5p0B)(q2DJEEv!z*yLt zI>*I7YFm-e1jXn!C*B(kR_$qBS0mOHGxZ&me>Jge%Td1rrn+B^9K?!CB@;6L#hBZ@ zFV^>Smr}Nn+i<mXp`-M@gZ4da_Qw>X>)Qf)#nL;U$%<aKc~>ZV_EP%njWSD?Wv*r` ze=^a2*2eOFMZ+a&juqjN<=@jJXT)w$Yn5P5?=jDQ*vh!Mtc=w(n{{giw`<%N6QjQA zigHU7wUV_<HdbywT-ab3zRg)ctH9Z0vXb)BD*G!;=fuQTF3*v;CgRkVAkb*~<+#YS zqCCT;0&YTr5ll4^N`mYkh07i@@Fa9<8rEi~m^VMl<2J0xP*Tekayz!%Jn2dZ^TH(7 zMxl~TLieY;6@Ox|4XojNAnasn`T3bfdZXzlag`aHQx-ReDNpy1KNL16$fQtFMf1@= zqb<$aDhE<qM8);PnXY6o8K;ZKu|<e~O5GA9W@Vmcy`AZ$qT#>IjXB#}{;-sPTP(}a z)U=w_{`Da#<sTW!9KIKurN1q)5nG&@w>&DKz3hf@RK#+>3r}pGFEn^C*}i6Zx$_IZ zJ0DB03F=oYv%T}spM6Pr$@8>D*J9SUIjlKW{+p#W%p-tZ)u`{dVcd)Wxyh5_Iwna3 zF!F2)$aJ&%r=C)>(K4q|`_oaewMs!&CC)3_mCrxR(O4QZk6qbI({#6bHP7~Lqpee7 znL7D5cD_hcxvy4p>UyHNS&iI8SEs<Pr7yZFCM5=J70PK+%`g%WyqN!?%<aQ6VLK<` ztSN4M{|u6=mN4*tU~pz)tmYKqbx<)V6??_jGnq+*H!ObI6;Y2yMx7-lj+?Z~Qni;b z_ikC78qv(ipCG=Yi1C_)vG6COB}){Rd@-sB6yL)vky4gsTW;KQQG(@?UqD9W^CR*u z7Fq9#e7`^Ld&%s(II#cJ6yIrL_Ukq_?|RZ4$L{NzE`MXO{;x?H&z++e94xzfsV_p^ zcE-|{i=wvIUHldtE0H}ZpS!(WXp#Zf7K7}vl1b*0989ejpJvHBJKj~C+><^@E|^i; zfl=*d#n+V;&z=@ZFfi^+t}I+S)2FS-{hP?*%N}-WrgOqgyo-WXi@W4Ltn%VC^I~=l zTCC#t$U~P^^B>nSmr$p?_8W<O3tf^Pb=V~d9u-$hJ!H<yIBi0bM#7ew_>&eUrvxj4 z^K*l1?LG-|6ecCP2zN6J2~V8XEhN~e$yE1JgQqQlcbe(G9}JCOi{?D)_DGzpe!X6P zk*H^5#I$CusA-jqRt?LWv;-6w^~8<%b~Gp+Zjfr~UB}{GGOIY@VT6@>^drTrQ%QXj zHZmUA>L<_Pvt(K63^Cn(2W`)%WU9Zg*|SjU;uG0d9xcl!O6i}Fer4o4uT}ny@Wffm z{5~<uo;YIQc3ht~Iaca&On#dr!`6w?JIh~IO#1s#^4rQ5jzv26xBCAMS>3rjpijN+ zuViKW^$NZA`Ee4Hv$*~(NV;WQ?^v{1xOa`QXI5fh+mr=1I~O`Bo2aR}m>Vh2ePo&t zm>2p;#Z|;S@Ylkb#(9xjOb>=H3T8=6d2DvdTqIzTs(V*{*=4nNVT%)7@{J!R>YE8< zs;GT^X7*J~o#DG%{u1F0Gc=R~7@RI@@GhuRP_T3^GHurgQ<<==-BM-pr@%NZ(aA0X z^JW_VOBZM8s53a;tzXWVwQHu@1r0s#rMEJ~xo<Q`T$tHBRl9{zLg7$xs+)~=fTGxp z#)u62y-VjV`sP>FR%*8*{n(S)Mc4FyH>F<+l%DWQr%+r<EIDS5s+4QFH>0!uQ|Fk| zH~ns;_|0iEd>%a8TU*Y}-SO8ymew6D>5(h^y{jD<n{>B&1#~Un-g(@=PP%R9tJvQ1 zxVGI2;vZJ)J+EjeT_dD0S#P?w43h|B#bk*|OM`>sy%#FE2PUj4uUdJ0t+ZDHOPh-O zN|nANQziy8DX#L^)o#{tvcvMJDgU?Xw`EI0cZU3am6&`<FkU2Ne|G0~jXJ@^t{+_a zHIwsQZgo~25olOkz&}BN_kc#Y@Qj8hOL`Y=>b<n&rTEf|9UVD>Dtebv42vxrMI&0S zZqmEGX$}jcqO-rAwDGB1p6rJ_^SV+so@}<;UA(x+xN{?ujskOgp^?Fi?Ymp%UUZcc z+qp&mM9IM^EmLp#O_|8}>0#;qCHAY2&i;3exy9+Y!@temM^;MSRI$4zEc@?aMo#;- z?r9}lGb7868+<$H@1&u~Guhzviq#u-`TcMS_}^l9In`eCkD(|-<u0q(dhIoJzgKf9 zwdr$K>UA=9-`;UT%joA!MT6<q8<pcXI+;kcixs*Sin6CLJoE5rsxoO3^(hklm#QqK zHFYt&vbTuly=g*EqFg06x?V5K-Qk@$cgFEAzoxoA&CgTXu<(YO*Hgjl5DOPp4J)gf zk7ednpVc&uB}JwRbzWjn4BV@rz{s<p&ZV*L>gnm*IRtAZdtSINoorMTc{xS7U1USB z^^U{S^^Z?~>wWqyck$#;o47l)X02?KauUy5)vLDTpLj-@@rfLX9!DLc3ry+(0qPUV zE<g3>vN>{L=k^D}er0CO^B(G3cSxQoWQ^%vafmhgim}}9#XgcTy3J-yU2M`1_Si2; zn|QX!{`aGPg^sxjJkeiS^dAMyuHRlR#&YOC&+0dfv3!{qc3dluI5GdZq;B);imxjj zH8~?RXHI(UX`~-{QA_jaFV5niJprm)ROYP|bN-m^omlTZ$thQLQ^wIL+uD`WdqkIg zZ?BOtvtbo+dZ^N|)0LmSGq5<(K1sB!N3c3(mz`0rMuTAB<;9^l)#S=LWtXX42=8ht z7Ib|o#M{uR!ss^NV>*lWhDkAQ%Qy;D1BJF$bYI>rRJU__*uTfuq<3$uIl1KJ_oDL^ zmU63SrZv{hZPD8Cc&7gHW%}X^R!lnGV0yza`#O`<g2GeF<{b$?>XYU$`^>t`w9bw4 zY6*>3mKvT*nzTz~_0><huYVj2IqiK@$?t=Q{)AKhJT{r^kNaG=H_M(V+1uj1b#3ES z;g*L}WOwCm_uL`#XHB}&9q;d#44<8x_`Pxa>zk4vId@E*YFNGd!f%y;z>FQbnE}#s z=lk!ObZf6dR@cS!74t;}c24Gw(DP;#Sg>P}WPBE*S%mVYf7eAdodj54h=_zQ^xIf< zzD<;M*_4^emItR_e%Pjx=9K5jYj%B_N?79+^{Fb`b|25)d?opC{yuFBbHk8-c1eq6 z!@4HPTx|-{xG-DowEIclQZ>ni>x+^!bPSnT6of8IZ@heZ$*b=Sf)5z<%e$4YU)$0X z7QXqk{`4Dtk2WeV-}Kh|MkrUYhsl1!*&;iP6_pk+GVkcQwL&cJS%ao?+WIF}sb)Gy zl)RTorpZ5$i+|z3b@t|$Key&r$rf^NeX>Po&&h*(PnNw^(mN|C`}twty~F1Z9a(vX zIl3)MFF{%^akovZxg&Gz+}Di(o#zh!Z_E-{qjR=4fSoz}*_Vlv*jw{f%XBPv6x%XM zD&WY3=ktGg`s@AN(dW(hq<8+W${ow}7=PVl_^Em0)U3^{7G6u3Pan8p{58DL<Z}14 z)yGzs|2uY0&CLI@%F%Zk^*cp)+*N&TMVt~<{iGhAOWPg$_*k{g+v{yA%m<IBPdR?7 z+dcQuiMbgM8y;B%>UKLy&6xhe&C@l%yjlJFcLt6FN!63w*e@_d|9zzQPWbBSB}?91 z;}BcmqxIPF-t;or8$t|>c6v8B^Y8VnUG{-HVq4F$G{^nY7oJ2nYOQGUD!G__;M3*} zCK44=-cl2EZYnCWm}V>R?BI)Br5hn9aORMt%*wrnGI}=AYk1qZerCL3Id|a7!P<Z2 zM=Rx)?wWnh(dT7_;q8ZW#ZRvCz5m5tXHL!cgF5eJFTc5C6;sM~)^PJl`BwLr-R{|) z+jq?Gdv(3{;!R&hv3~^@<!aZ&y?FI(?~bf2#+SXX#2vmr+dFxhyOsV{mD!P+A9Xiv zc;g}Q>X`i2YN=QEigZN&+|#(dZAr(D<b&c%)vX@JZhotLfXOpyis_-_E_07xo%fI{ zF(g(=#Qb1QsAfo9?V=JB;h$V5D~tp;c_dd{w$KY(qPvgbr=5_q(W$((bwUTG^G{f| zJ>vAgxYN}$Zyc;Q<?PoMn1A|U{ymQU`|RHd8!Q&7nW{Zcq@hUk(=ngrNsd}a4oS?E zjT66dcx9WzN<n$2a>sv*`=h?w95^B)z;p2Hr(567&z+Iha%R%mAIt)>79}qh9BgK5 zmax$X>A28*fREoYLBgZpp#v|oVbMR2ii?Ncc?G5QVrE=aaq5$i<#MU`^uTkfc;LJ_ zl9y7vcx25k<aBOU_2HGMTePP^fSHZU$@GoMtq{#i3#9whrWP=+3|SJqRPAh*qedHd z;^eNo4vtK%ykcj(ayL9|isTVE6s0@ykPD|^x#|<uL?@O`K_#;%qKZnaar;%>rX=i< zIQmFLS!KC^;!Kv#T`K?VIQCp`>|kHuYR@6Nt004Ysp}iowUQ+rg7Z}m^D$PlbRFMO zcz@sDA7z{(nmN~}#q9j{@%(XD3kF4{mX2qNGDqYBt9LcuQWDFEKWAgf@p_}P0msFf zUrmB99FN2uxMS1A${S?u;TyHDnN3N-qd?(bV`B^359POvoLo8+OoUV#9yD@un0z?M z%suBd6X*A$)mogsE3%k{4(-Zj7WQ}$V8G*ZV*!hRZ-C=bk&q3qkBTLSB)W-*Ml5XQ zUvld}vv5gJmL{)`$4fPCuSX2a6)lrG7q|0hbu5{{*Y(1qH=@c&ozKSNlFBrnUmdD5 zxn^-FskH`aE}N$G%H!lzmY@tzbx)yS6}7D<8mBEJlQyX@4SDp^XR?GB$I>Pvq2ddC zeUCa9&0>0+xniNkua6fOEXeY_xTMVLRM46WPOo%VHa+oLvr^@PSM&BYURs*#H(8y& z!g1ix0j7-_O9Yykf^Re!9cI&Bc=)PIf{($`me8J!$Ns&NQZza#6`iwXKbJ7C35SF7 z+6`<@r}?)WShqH8Oa9zqJ<D@WJJwj;E|P9!ExkI`C-z29G2dN*3$yuloqD%4eCOMB z!uop!MJBA<$)4cMZ~KD5PQg}SnYDxU7Zx}D7AC2L2aLZA=B>A5k}ObYVz6g3F#XTs zbHR~K`H4RhyWx`pdrt3;?n5l94A)w?KWRN|+HD}vn9h^J7HA+G7qXC5GBoGlQIR*Z zHnIvY>Z@wz^LevCgU6|~BhX%b)yoBjr)7jx7j7}JzBt{0$y#aRAr%c(tJF!J%Izok zHlI?I*Yfl>*q=5<r7bS&Q~tsiUnVWGWfa}LTrbsWML_e3c`KLvJFdPpQ_)yama9lX z{rt<-^QUNW1-a_;p3?AdX1dzswchFVTCd3YUZJ<bk4|NZIve!$>Sl!*l7|-<UNGIT z@Uxer@$8RUK1~Pu;=gSa2{3qb{Xoy#X)TvF=sTLuZk@aB)`c1WyPsY<rT@nGrj~Rg z%dNiMy0P~HI2_HZ3bX%PzT|SgZh33j=5>1tmo7KDxHA0EhRqGn)~MUC%N#r`5;o&4 ziw+Bu^?44q26>K@H;kW7E?`l*ApfT!z=6Mmp}~hkfl07~rLb{Aqg9CF&HxWbagP9A zZV@HEk8kv4in`lsG8XL;S(~9771fipL`n4G3l=pa$0sIRh1V~A=_7H1;d<V`plwd7 zE4|C5uDEL{ZL{P}$(z_6Gt;g}u%kk=C`Bmvr5L;0p0g>+oF{{(ZE+DaDt(gAwo!P- zyeTVY+i2zYZJr}j|7iIvg-wCF9}m0`T6*F#tE+15s*t5S4vB1V`J~--OT=l%C($h} zLOKg|xFhZviSoD{&{}qBZlqSg)PS(oFaeL#EeUC>gg7SZ3mF__jyXJQ_lq9G<JnSQ zW-XNvUh_V3?Z>5=KAXj_<*YZj`YY_mnx*p@I~D9VM)K{t7cO(_%`)@Pk9i9#g6F;} zF>X3(*q8Fg)F4mRr{T=O=?58h%(?Z&yYY@o!oO>u4JuCwv#@WN!K^Sr_fk(migL39 z+xNr&9GN-=oK$rda(Zr1V7AQA6F3waQ&1r}FV(|9NoZnMh3A<?b4y%}vI2#?uQUp0 zterUPb`%?n<cVo13aVyLJA9wAnH&E*>)Uy{!^z>((GxFoRob+KCEHn+&obfj_OXq* z$JKs9<I==_Ud3dOZ(BgaY3|NSGJZcpR=7K9sZCjusiJvQcvjP=5^G2A04L5RyN#Zf z%zkxh`KC=LL*@oCiB_DB40$^3&RMVWeaTM~;!7F1Lyl^>c&F)qp0t@oa<$%}qBEP+ znwyRlm>D!&<cXX0()L=;vsqVV;yLDcN(uaUZY=S*Cnw|c*-ulR$G%m1zAvMBJsZaa ziz5g5{&QS&_?NqFxh)Ix`H};{1|^LN)(ROj${3dUKPgH}WEW<1xIOvc?+fhq44)zz zqy!fHzp{LxhE72JHSR+qRvD&7TO`{wwkYt19-S_vaj;Eq)`Hz1dY0@KO419KGF^Vv zBTKX4CEJE30rv8D{snVSu90gE(_J)iVheMp%eJ&7dTB3xCtJrT9Di|jk(SVkV4>BD z>P>>Cd|j)Gq&Y=2YaaEr9O?4kdeZm!v`{C;pyCC;J*U?^3cIYjvulnG*J~ZgRciJ} zwM9Bkg)UgMBAD%(&b&jip?;auIF4)x6A>tG%&7G47xRs%6THYLUfg(8VfBoQ(PEo@ zyd|%TxK*z!Oxy6msp-$ZmNu3b!MxidzRmpeMSJdxKWbLOX7=TGr(Jx#@?2?__RN=W z&L=$b^gVp!H3LiB^0<wW{I=>h&b~HT(|B`g0_*nK^O!9f7$ujSceLz~pCD;s%IErm z`P=6JR@E)`y4eeP9$(tj{cL)=^oP`Q1!kA#f1Hr6njq!X8@5GsrGhKpG0FJ9T~>Ru z8ko|Bf+of5Oi-G7b=hQXk=~!*CT!|;$th2n{eY=_$;3Am*`B*RcfVY*tWn`zSAzG) zg#w%wHWPmwwe;I4b(6(&>#2!>QN33px^G?ESols|v|+<hZO;_06<i*(UAm(T0vi3M zrmmmQWw|<Mxk5;!Dsw1fcNAB)wvqF{GJCNJ-l1M6ij9}EIt$%6z$u_SWB%W#MhgnV zQo1B%Uas{wzL8v&(RX#Gpu^>@)hCy2Ij~&!!VxjXO>@N(5)Rvy@O`&9(z#{H(bje6 zWf)BV7%wlqvho#MgF^JJl7<6v3$i{mJb15oV)q(<T_zS0H^%z(b1Vm&W54h`SirTS zbeq$RwavetFIe*OJiG0WjfvJ84s5UZPjiJBiyk`DcE-$cYsJro6<@=hWo~tEUMc%q zBu3#o$FXhOd@np$oUy9ZaaV|<^2{Yg-PMPkqskRH-BqnFy<J{vG>3iFjrY1UZxlpY zUAgD7=(rVEmU5+uk#E5!0d3b+53^?f=wE+hEAQu%|B4%AX0xrc7xemfqR6W-IJnJ5 zbLXQSD>U{kY|!y<oV(xySBPWRwA)=LK8Z{Y?%q6O=Al`loG0e8DNJ3pKy}p%*^N66 z+^d|Bxtn{>g9%bz0!JqFl&|Ez|6uA_hMvo>rsX;I?wq~*tbkd*q`*%D-Y*a5ZwWs5 zhJ)w($=-*DO!5!S|IE4I_M+YwC;G1>G~@)XyHU}=I)RVfq2c@rr*}VgH!yB}xnPgL z1nYyz3?Ci(-&XDUy<yMiL;b%CG=4qkpP(r4S!;q&mWE(a!wI1Y*NP`}ud+?sy^!x^ z_jT@xt2kWZy#z%#mG14{CSt)TdO~W=PT7SExSj^@<6W_cM?&`ZX|9%k8s<f_JG55W zpE_w^SR~}YXehOMQnP|Z%V`d^lZ)JMZq#^W-mrSM<4I{}Eu)6ZlXP!RG7RGS(!5{! zu%UaVi2Y8EL>(1-P1#G1OICUqtu5?QnSE?^0hgY4cR<scYo1g0M|B6UYPjjB%2l8m zvvcR6Du<m5L_>Em+`rlX`;<nUlEM3*n@zcSp3dw!v13=|AMWeiVwn$*KV{g>s>u7{ zp>=MTE}K9j|D_pEJq|tkpzB#YKcA`p;Vf~EqP}k@<o|FUdLF<~C&bvlkbm!Dy+fDP z|5!@ASzx1cW%suiChr&M9TQ%#Us;1S!ui(?$Jo{U9Z82LZsh-_B>C^hR`!)M#a6BV zw^u;$2KTh<*_)Ymckhl^si>uSzj(u%NQdj1-0G)QT6Wl7`M7_VlF-SQoc?cw6g|zI zjV6EA*51gpYSpI6TMw<`EuOP`=Op7mp`DUi!kd+LFH|{fD7(XR)$?Kwl}eEf2c;Gp z*l|g3a<=l(>ORV~+bBp$R^8jdn`@FU=gu`8JEv{n($3zwdPf7t4I@sT<2fyBLMC>H zepHB<G~v)Eh08jM7joP=D;szxFzo)pz5j)3bqw#Gf_X1i@*KO+lh-&c<KgDEEBu)= ztvNb$bDYlo<nZ{HaiSz@_rnF&TW8PzCOExvV{b_m-{%E<?z8*Y6!vH?>7RCGLEFbI zYz_;WP5dLh|Mhl!JoL1Rf#t_;tu=?fN;KrG^!%{vr1_r()<-0)YxEP9_qJrMw=>y0 zEz?%u<plnll9R0VPB7wGerD-oO)2iVvlc(_nSEGxiNK`1KU1~`an8=#7hqz)c*80` zmt&3D9NU&iPia{E{ju`$D2o{llYen*9o@NO)ufFvZwyr*ZlBK}?f>QC-km!(d0K38 zT%whA=4i^XIZ8&y?(E;OYs%}{n=(Q;5C5^?Hs)e=QN1at8k#tFr-I$VM@A7p1K4!B zH~g3~JGfh-DfmRtgg!1~9>vW&4v0>Z)QneZeEf52;!T~S2YMbc@Fbp`=d8-}rgGZe z=m`x=*6zJAE$fnm%i?~O8oq*mM$2zzs6S%h&-Yr+awsJ8r_+DO89F&0FCQ%XdPQQd zw&&-R(4briwh8OLn)pvU(zj>#x;DiXpR+uB9`^SL>Yo$V7p^*d$(#3l@Y!!hwtp2) zU0c2Wpo7&M%bD|6+8%z<9nZK(agr4KX0GiSmb-6tuGz9*H<$C;&LB@m(RE8^2bcuz zZ8>fD%2j0cqUBjfcSf3Tn5orKz5ipimc-&Yhj%J}J*=r*Xun~Rrsv7oZ(a-aezre( zC;ap4$>}m&3@Q%GcW_N!yvgNa*9766^Dj)9bldCP8Lqr1o31BL4LLZM>xj<=gEiYv z%w;;cbHjwQOeYV_el5$r<nTOWfrB?LA1vUtIn4cU;ot7$i#>mp=4U3(i?{6kw9u(B zXU6{3)2>`lTlIF?p2^c6E)ajb!0+y&b6cwU{tEK%tY%=p#dnC=wCy3^!QF@aKb!2G z9r|%q=${V~Y#b+}T^Br!+S)pk@9z<bZp-!mdRFlMvSG^9h?hPwHB++F=#;qD#J?7| z_MVVhw&mK2hwG25xWMhIB)qZ9P*rs+M{wZ7Bfe`4w6{+2d!y<4aAoJ|m6KN}9dGoW z9I@T}k<jK_QZlWa8n!YgZYni@m025fv6fjxa<i7lD*LvKeJV38ye5gTx)>>3p5s$< z%(GGHW~3;KOt^}(>>5ojmNj0d_V@%_S{m|RTsgz2V2bFf184NS|1AyHQZ$$yJY#DE z*M<fjo`aUXzE|E@&J*_9-x0Q2`pS_R#}7z6NS9n2mwn>qFYe-vA)FSsKm6qR@Y0dx z+c`&O|L>7bYeN_KdWZV0J#n*Z?T;N2dT$PHeyew``t}qS)1E**(QjL(xisuL8vU!l zhSlPP!IlO4Tb=$?G)(woV)19sEYpQ4yc15W(%`6E$fCN9sWBjDuOjcu?mY?z6|$tn zXG#U^oN|6H$61x|pjSpyH@jS$d8Sx*mAogHrI-2RvmHuzy~VY)<~b!tKWTXK`smYI z!=)A%g{+q-PhK3Uv-s&*j`>Va_MADbsJUGzRl6?Q;?&Nd1rl5hzSoU3&HXM#{QdXa zKIEsDK<T9yf4h8^7_GLLyXMT9yMpdIrk0!=w2vkQo9FK2oFaNKNM~n(`vsi|kxh}; z=UiUWFf-c7Hcm>+Ec(`yCC9~8&aJOrcKHR*r#oUl85pCA&&mDadCsBt#^I3s6#4HP z{rb+FtGGG8@)F;%)$2Ypc<!*3zm$*|@Oj2G7loe@4ZBMH-~Two$u;Adhs`sE+h3>f zYiv2m#t`uHh9e{6wfbYrm}5OyG8bMoFrKzjabBj`*%Oj;XBuZ~&r*FQa>w!M+ARhP ze{3@K?c(9MX*biScxv)QvsmH1FBAk{)^4_UoR(}-6nlVk^4^D9^SbVy349rlGUc~* z?AAvzioKcto@MVpzO&OXvctTOqb7B=%I!r*Ltbuw<TcqYQ_Jf>%U@1oJG)1dk6qE_ zTE6T|KlkM|N6uV(dB$+9+vz8pydq`8w#99JuyguZOU^a-BN`c^60@TwT`m*xn!8xQ zsCj0&49}^AUUmnu2P#olgRGYIo@<TiU9;HgLdTU%sR{d;w<Org=bhr)YVCA-nctfQ z;%n#fuC0||*=O>hpf6Ik@xiAP?JL(cc|9!7d;2}6VSl#X%PfUoJkC8ldjz&g$Zng_ zy2&*8>arx>M+^&BB%XH83QCe{5|Corz^)-U+fvX}c#&Jltd)V>IY&<EMT-VX&gEaa z$;al*<a;ibcA3k=It}vvaozN_o7$&jGw)3Ij7+`{nq3jDWv&}rH1bW{mMEQl`C;Gt zi(BnBSKYm~)ph2HhJB4k+qm<EOoe}zaZFg&`9AHKY21<{f8KSUdl8v<@6qB-Yb7F= zSfpOil+}9Va{K4KRr8GWzn&>P;ue&+le=VR_{$qpz8;wU+KBVyeQur!yO&Ls**<l{ zjR}bp#ZnlrtbDA$iu=u*mDB!Ai0U~gc5y=Qp9lPVvu`!HB)np{t+eIY%^iM)2SZ-X znf`LkyqBkTueLquRcj+P#b1Ap!m|apCH6T@W9dJ{Jmcu<b<K(^YNnairXBV-4oi&o z_++W*xShdn$udzZTk%!;D%)lr?l{F=JMrwl+)afwks;T7u4SI-GK*!?*)CdsX|>qP zO-oYLd-G@YsVr}MER*`GGvVmcTV8YhI4#^b{YAQzrY4`87`q{8qf@5c@lN~M5p%xA z<qP!2&il|{@J)(ad3#{VS7)Y7^<-IBp)Q{-1x2;1J$2^3;+^WhZYRs1ZDA*U3|i;r z-<@J$=HMCfRA=_4t4HSkN!1B`6>xHr>V-L?O51L7B)pcCvYnMHkiMJy`V6c0h9OUX zPF>mj=8}iMh|&asgra@S3lm&T_AxVlyLsZ<P4V+(TW&2lu~pbf<w{PGo8J31JUd?> zN}ZS3zeM3>7T>Aap}XcPlzfvAX!!Y7;PBH)>)!23|G+fiAKQ!b%}n|XXSWJ9=?l*| ze9`(^^S!5CkFup#t)F8#@x@N=-4bfT5lX=?173ggaSP)XjTfD*WjV#}+h@D7WqRJc z=Z`*_T*jpxxJ)hUxA*L?&sN69+ih60@^a(X)czea(_-h%%6wA#VcsU8eg4PhXXJlW zTfD;V?sAU&tnh-U?^5f|yyRFOF>BIXmL&{*hrRU5<}Q7}bv9?y;Wu2jUtZw<AGSAa zjiz_@;a^kO_Z*N)KU*quyyVN=(wg$k0Tbq~{>6P~r^G3ZxthBV1;{-K%(=)A*0M)~ z$uKw6w)g6T#N4i^miD)t_fGil%{imi_jXUh`r5uAXT2|qGp1fq`;^h&l=W}M$1~P% z51j~IY*V%_de_qasX6>QF3)eQn^8UQ_6M$oQICtG7WeZrNeVM{u<@yQWH?+nbg)rK zL~Dve(}TkuLM}5j92dE832Pe6l9(8Hv~_~GLBIlsNh++|f*x@f8Wfq?xJArntm%BH z!pf^>9FXxcsF{^d%4o}$1;)+i7I?NE3gMdkGJq$*cF&c}(B<q)!dIq!Sm3y#jn8T2 zE0I%-nn8R?`=c6mnq;;waW|~7J>{5rbA`-{CfncFn%I}7^-p8<DSy$rJ8bK{HQr*c zeV4Sq-nEtMn|j=`_Rgr>H9xd6xF<$m+H3iFX(p#-={*(C&(H4eU9EoE^rg|WGxH?$ zzWjT0HhS3^UZc?WW}Gpm`B#NfoOU!!cv5ih(&Xrd21cfX&p4DV^6$x7S8ysGO`g!; zc%)5)-(^j`#Ud9@!H+k)C)`i4ZDHq=^WeDX;KHonvqiq)tEEB{v%&<02^@bN8JwB~ z*F8VLp%fy~#G#nc@sLBY=fc8vxipSNZ7NLx4?C5UUNE#Vv<WD-=-V+YWERodAkV?% zxPyUNQRcus4tuK$j~V%O9x(J<w;gb3a_4(_zmHF3g99_KLBLYxurN-?X}kq58OkEv z0s^K988pnD&gz&T;K;i3<TK~1TVGya%?(Ov;#BFF5XdDtb%7w8T8wy*@1><7!CnqK zr$~FbE&SIaktdyS%+b$s=hNwniY#5HCphM&MK1S=HM<hw(J2}p)sU$g5!+nr8XlFi zmunVVjIUVe+NjvD$XJKKqX*YlHkL_l+;L4+BFpXQF{yy+NYN>QZfB3`B&$vQBD}WJ z^Yx0{35TY<NL%Y!J=y2zRJRbH4&GF`ol+Lz!bKJ*U1V85E;|ytcTZ%x<6P59cSe>! zZ6<0?jMd-siysxTHx`^V6%cY_-zdpg#`1S&lQaK>4f8mvHkseA=f7jF%)+tldwjEg z*M#_9z6k{h_3TO~?l~!~UX$3S(6ZxmyY#+@qz;ib2B$W=-**-^DywKX^>MJx{L-ta zap3@y@wJR46P5pIFg#^4(egB%#O)EQJeghLB?A+WPJzSJ(72ms4Y}n%mpaC}H9Wm5 z*bsT)F1KgE#(TNfH1AaiOe{F~us+VmiA&`{<{>t<j_~|N2d1{f_;)*n3+2x~e&ir) zo@DBr9F46{roD*jv<r`S4t!>n7?9aEbzQ(#uGOhq7hTiwiP~uw7Fw5TpcS{^ua@qL z`Lbm*6WeURUR_mgD|TaZ;nSyL%Xj}eqVs*CsoA>4OB?y6(%0-fb}4jSX2QJO4VSJ~ zX5M(E!njK(GCPR%*{f%>7cL4sH@l$jvgJFT<yK0JGqPp~Pk!>^wB_kQ-ZGcu15J(_ zECqcoKhXKsV3V1XtnwkD`NhA_4T5G3ELyW~a&Rw^XIT2d&e(dw8NMwI|2h&FWu0!d zHl!&EG(KRIO`3Soz{F(f-#0FfH4`t*IJQWliNPsOTIiz4g3S!98jb;%qBz6?Oyw5# z=43G+6f16F;1WFGWh%rmZB@#$MxG~Lf)>Kl6c%hZy?Bu+(@WUtmDonZttV4+t4^@l zcPtl*QDAKp@~req+UcZwNp)Iv=fZ%)mR=iK)UJ0;Tcom6c;y2vjah*_Y8Qpp9sR;p zy3@Nm>cS(dO%|%<;Xi#gcbTtx{!>+B@9U|bUwoR8_S98(x6;$M1us|Kc$gYfZ0Yl{ zO5DoL^+Dv^i`_p9OeHrsY>Ix#6~D0R^FO<Y-Xm(Zoag@eI8QFOWLGzA<YUk@Uw{8W ze$jr%bF3Q2*5@k)FtOw~_{eNyto}4PDOW1E{9oBz)712UQm&AyYsP|oKQAb~`MH2w z_R)kXx=ZZTj3->pnxf1RX~Lo=BY3H1nUYZMiVP>6iGtBAixyoy?yQn@i-}>$W@f=& zrvz!ChAm}g9EK~i5|&)(-w@FtRXCB+$4IL`j>T>B*4$pUg+k2lwk<WO^7M)O6m*a0 zP{XS)xe8?}9gaLsOdK-j6!{NcW;48Iaq{i6ST>sw79I7;vl4`&95!D0UiN7+k4M9F zvzcK}bJ(rjr@Dr(IeF*nfutF)3tNq{4|ct4_`c@f4VTk8AFZ#guVME}j6FKZbD~#N zmAdHd&TTroyXU@Mvs~m!p_y7_W)E9YlGwQ^YU&eAric18>G|G$Hly`m*si?A(uLdf zV{H>3c*aZ?Dw&p2+;S^^=a2H3-)DvAv6zTFTf@xw;Yw!$gR@8J>g3~&H!oX>FwdF& zCPLjHv`2yeMnlc3#}k+<*CZ>wxl!e0AjqQWk;WEyv+0J#1mUU>7mLF)1&x;^$lfYA z==5h{d&e@xMMu9Z6*d#-J+{J_^~9GPH(8;;(v&N5np16E7YT}&e@QejGxP{q_3HM$ zX{sDCo!+^(g=D1_u9}8wu70_8h9ifU`Vrd}rPl{N7U(GLeEUyjx%rWoy-M#-Nqc`x z3#|B>wnfNviu1`Q)7BWNzFx3YBH&lw^n}WJi;_~sxFh_lT3hF>*_ULS=$2}l-?=pP z<(eszH$1I4*0e0??<1WX7roAw-;C8}|GRsI!sgApC1sZ<o!(nG_oj)J;JHN4#dorg zikZ)jTjv?JNTV+DK;UN?&z&)c{G3bqia)>N+{bZL=BdH)#=kwwi$7S(@GyupzS8yg z5ZV?SWv^o+cBb!v!Y0R`*V>ciWB9jdt8DJvljFoTD^is8$$Y81XPk7O26(m}TO|19 zgOh7?CZD;BBG*lUPF1S_vH8cAu<5LHH&1d9sXVo0i(=;y##w=4k8=+z)&8?M>ghXy zpFKfUGJd6Zlu_30B~_tv;wr0{9D~EBKW;eC+u5J7l*3iV{KR3;btj9TevNr9<$3?a z5~d{=a~E%!<Eg3M$|SnOB>v;B6}&d<D`ubaWMB2kYQ4)-%~M*xlEtGXUoX|t&Y9`8 z{z=lQgA-EAHf~bMZnxZ>@O2e)>NTEOb5E|xmHigBkn_u;RXw`a`9U>jl(%Hh2|DMT z+py!`YhCZG#aVwEHy7_rRJiM!JnJ0q^Bq6EJm+%B%c{vgXF9v``jZXK4#(LAtiS)6 z{rK|kIqkJq`vhgamC7*P|F)yY?qhAgD~E_N^VJuNG*0(BM6n&77L;*N?Cpee`_?8b ztGxX$-AXv=oR`#xqUj|pqIQ$6SBV6#>UB`Cv08O&!W7qKlK;QQI#0M!QL;oy)gwKL znK3wD=ii1;5yy?)k{$1CTei2=G@s?=?E4B%xyK`q6pHV3m}l@|gWq?zr>YnIZUy$K z%w_R!Ip^nbA+41wDW$<jChVeR>z0mbNk5M09t}#ilu9hPmb3TVqLr+hV;00ZUd}C; zq}4eo!sA$IPM79UF3z+EA9%Vm5>98;wgo1fPdy+OctdolZrhF*F3%MDmusB5%^Su0 z?W+Hkwk0Q6^CTX6o;e-f!ngB@?BWYo{RED$_MORa@O0q}mNH5911z`Mj$AHsV0g5* z+d(j3pF+$1mpA?~pY&vYGVw@5=z%|HnRlL)e;8gXGP5?+qxHqfrXK>e3(wRGc=#kn zf1Z2x%o6Epp0jN;Zu36m5xjY?^>5FmkVPB{4z*iu?~;_Szk1?wgD?Nrkp7w*9i{Vm z6BqSo_@1+9xTzv~wLnm7-PuF7qEfs^u53Bmbi(&1XG?$P)O%OXI<fSz^0>^E>EmEI z^>^h|mM5I6HG|eHWqDR`b78^F*sBYED_nb_6YTv!)Mt)g$x82CE>g=^DtPX=qhmXF zxz6cDD=#Ii;7eW5rcrooUT9lv=e18M-0SWr*xB_b?mV@EgWFPW+7cJ3bOG0yuCno- z0%<(nCXH;lJ#$0n@R_rUZ@=@8C9|df{~6))sSB4ow*TGI=KJQ><C)y$b6Sc#l36W} zmxWySoYd|k!Ez))?%7e%2Nv_@9C>)3<qR`V^n{BGEB^E<%#=H2<4}`vrt!!<<`=!K zKg1hkRBL5YuZM{2$>b35RQfPgq$MOtfb*<ppsFCFVE2^??SDEra?W0RaJ#NRuzSYD zz`Y*Paq>cu6Gd1#J{g|$_q@+o!f|^GZ%C$R|IgIWzfa@u@y>V=@q44^pQHC5wzNDB zaA}peG=GNsWW_j7nXarOR~K%WoUaj-_r>jEs8`NU7S@{X-8b5V<xYJM;Yzw0Hs|Ey zpbcW1wsg((?0)+rId%*8_a*+{b_87vJofS*!>wfxX1>02N}X}C#>&Nimdw28IydHn z*p@RaYcr0`b9|U3@x)_?TJ}l*!jiVk8GiX84gXsf=G9zVZkk+pA+%^=+RiVrY16!! z1YOEmF0hJ77e}zKapalxA*$>G%j`3X<y$%@+*PS~v&8??MPDz5<8Q84g>-O6gw&n! zIBRfVt8CI~mWbdkpVzHEO4sgrZS81Q<h(2q(Y;5yL#5-AhlJ45D~%zKdLw+@mhyh# zJ=xxS@lppb6UUsrnkRczI+(tk=;>)V6xe$^qw{d@ec8~f(@#uHoaOl^H|DIzlnRlV zoDbxyd{#b@IWi-FA+7HE6vvy-DlSi+E0eyDZ99kfyD9zuW~2srddzz7aqOK&+Xctq z%#&WMLT(#e_-$5o=d>=E@zlle<E86M7X<jU&H8#tbFSE&ja<&t#B%jic;_Ac9&$Ig z$a`vJ&|<-97P4$Ph3fpPR<d1*Ey#HFpw;`oZFk`Y7E95tk}2LQjp|P$#Miy`pRC#b zxOQQNfxv#735Wl<9rBr1(Ya81)%1f6S0#R>%xXFA&lc3I^n%?qy7|R%r!8kV*2?k3 zo@Ks~8obRX?9gqsdD8U{<Jyi)@MMf{+IXVhBf@84M$9J>p}QUXPM-MO81bd_{^bYv z-hT`c-`K&FagjsBLD=yG<Chh`Oz-IL^Nlc#xgBt)ckM)(x5r(6sJNK?>!=7hV${{( zq0{cAGGVRRgh#&0rM{1q&mP-;MRbRcqJApZ9o+>X2mBec_}5Pex?%c!W~~1bSJ`-* zyJxrc3EVrimF3v;2SIT=`mc%}wVUL><Bscvr(qdc=LFuh+}hcnUU+Ng3jbIiMPCcy zUnyMMd6tM=o4dp|>VNCGRsZfTpLzMX)F}(m<BXna)90$}%{YGefz-kZckxHF<`jq@ zQ{!QLnY+>M%(L9^M>FsLKKW$M6rX0N+h;;T?lv%-Hd)%V;!N$9Gp8a#-lTfQSoJo| zl>YE{!np}2b}SW97Md6~&0}}wqK}bhx5;+;b@F!D%17OjZd#DEN3`?Ch1<O{p8X1Q z&ixZ{n7Zf2)E|1Gk)4x%sZQ6>oH3=-vFGF|j}Vs~J&#<@`LoTI{puF;kUK4DnOBNh z)-;xVGbWooofCZK$o4<S0tIqU3%*VFI>n!suxx_bvW@T6JRdkZwOK8?IY)>!E^xB? z$~W6>mZa_ETfd-t`JNn|qetIZTuP8JShy=TfFX9to0Xn1x#!Lv%~{eCup!K%$y<$A z?%F1{?Fo|#8&j-~#tNqe7aTbM|H|n-H92La$4fbUd>#bv+cDKPlzshP?mKKEK9iy* z+|4Zw;bCnNl{I_gxWltTCI8q?PX)yc4#U*D7kDP~xG<|+4BR&H$+bmq5|eh+Wo)i| zdNyVTzpTW&xhwviugSZ}Ao_l$Mu-sa=g^DYb9j4|<Xa`>#Tt{YFX+9p<k77=kGi*> zohgxX=+TWkOYTd5oP2m4PyHMBiHS$%=`3beY?*dQYF~s}dRqP|#Zz7iUH3~he_3!@ zdv<4)70sIH_CM|BvX$L&4naD)Uim?j->>lE?h{)4vV}3~)>)|~SLVeQ>m9u=IXTtg zZ7OFNgMXV#(y3^Hh1+#pLpeTd&0+hy;#NxS+bo_XyDc6H2F+Z)<NVJ%{AqWttv)EW z@}_^$kz3}{N7uMH?CscmR+oLB&hZ01;ni1XRoKK;99d%TIKlT;aHYuWXT1-@1w&YR zJU>|-2!Hw{{Nr)IO~<Qx&IG^u$KI%r`ueMTgHDS>&jq2z8E<?&ge-Z(SNZUJ-cTy@ z@ZmixIoU)=^layb6JO89ao8}Z%{$S#m*dmPj6R7wlRYMKh<M7BUwpl2^%R>qy+<Vy z)YjZx5E!ATxv}f&92*y|n1-YOmP|`x=L^rb$$Y7#dSP0f%CyQgGo-rGx!ip%f)=%G zeSO1)(JL|`QE1(g)}=olq=@)$Zt!D!ckbJsWl2wu%}br-+~k^k@?3Ttf8v8yt;H*y zr=2g=GhS$Qd;!x3redkw+{f7(o7oqynSGBfS12r>k#+vvW0Mo3%;!$dU8(DJ<9xQn zJj>0itX8u5?hxMZa9rY;OUaH6T=j~FOJdgj3q4>H?o(be-Bxwpdati#e~mXS^$fb4 z=)bSicJ9eJ7A_|ru)A5BbG~hNGwtx58yGdKr-e_+-B)$@*)tzwXSer!VV+^qmG)GH zPcZUO^iEMu^<M&h;l2~joM`_VEpmGT@89Sah0cj4oZV+R-hW%#Q+o3DpGSB1^!9$_ zHQ+LwoN-3p_sCQ`fdd(uR_r`6Cj|@c_}avNQm<ZP?mIKAe_LLq@c+VwU(1$%-?cU8 z;;Af`1n)Zusc(x+yvt$>r!9{#NR(Kz=13c39M{4~*6Rnq&c4de8uQ_HAy@XP^KV2Z zZ+@eebSKMG>FACN$0p5|wa|XMbmClw>J4TKvm&m`#+}akx6F&Jic8^nz^6O9>~ZJc zddx{VwBq6ZAD^Ew-Yze^J|n}u%wodY#_1Jz-r77?c@Wa`e5L2?D`)S1U~h`LUH9R* zvq9&{6qBuK8LrVHd)D4Nqae6<t;VeujZi&R^+~fYSCmBfJ!;g5SDo~<e}~CsgS@Xd zIRX{$d_KDR#vAQPSGM>mHdH_7&_3roO=M-lvB34;d!;y8T!mSfZQeLdxbuAFhXW}V z<qu9vn=#mC>RX+kDry$48qIg{*WKez%b)eAcdUMy7B4*e*Ae@5Maw@K@v}`2=V+a~ zkZ<Ropg%ergxr=d+A}T5#%=a8{=~IzNgj8Xv1#Qtd|Iy6ZK<!~*RYC}`QO78rs67v zZ2R}GS+?o?QqFMmi!J{*T(->Q>;CMW>F2jXuxpK`&*YzT|KIuW%)yl9!&T;m3+J9M zJ8)!e)l!yL_Hse?k9QY&+KA5f{lxD7%J=?)PM>`XC+nHZJ07X$Inm;<`i<pNo{79} z=Xu=Kd&`R-?aDRW^ES>`FmT7)GcAUT)c<+3CRPc>>eYA)*4lI4xREOSHe^~uL#$SV zw>roBBF?EPosHF;3i+I$&PCkU_<nE4nTXyC&MEHGuBkuu+2j+VpO)2b@@xL|pv7Cm zBd5eZoMrT2w?yTMe{U8k^c$U(x$^H>%F735%$|QX5sME!wm?%j@odH7Y5L2bo?D<f zP2k_5iW`DQXHKl%c4mRoB0uw!4`%H3VxIQ$`yXY`FQHQt8;*XC^me&q85?ZT^ewk$ zTb4RkJfpy$GpDUGg&+RpK5~V#O!R-@-w!1xic3A$JE-4#*6Yr)@V~(Sl;S&^t2!T^ zXO0xSUimDy{k}knKa;Yf499T>78XHXrwJJb7aEy4d4#MSek^c2%&sKUQxGw6QHOwp ztB!!;qlRP5{0=!Rj)g~<x|IYrTzT<9rK8KhIpWTaOO7Weh}v#@Vwtr346BiBOTYsL z$3RvEiKYyOqztD;+)f57UNszS?BJ6sv3+qhyQM>5S68WmSQ86-%1N_;-wsTjTZ&Y# z>}7c9#KJB3PvOm1Z$>6oPC-2eu^h*OguM-h0S-M8OsrhJ+~(VS7H&x9?J)KE)^oEs z^`w}E$+ZGUXEq)wv+dgs%rbd>WsPongYN9DS$sPRS0CFOy)F0JZrvHv{ziSvy0N=4 z`+<X^MHcU=;N%AlHrrnDT$=e=ZLJLRr?YY^E{mPN^Q++61=E}veu>S`uAZ8hyy1M^ zuiRT}->zOZXSY3P&EbUI-|x&mx9^zNguGpk%nrZVfBlW~8>WjI&OFUO3`90;;L_cZ zuz}0*@acVAhgVN9IHcFWvtE>uIk0Jq!T|*)PMr(}mwjPJPBTd+Z!y$WC|<MLZC}!n z1G?O=ioDmTCU0?2RG*x~@UKZ>b`FCcr`(N6EuCya4;$NL8alK)55;7hF*4>-Tx`}| zl%d)!G)tp}J*Viz;(jY3#uYt&LJybBad@@je2-4n%Vi7AlsvUM#0nk+wuvQhT=EjH zXjrv)Q4-h6Ib0qbr<)}*8X5z|Kb^X=aYYPA6Nf~G=_0wSN(=RN%AL?&t8`RrjmME+ zLOz@JDRms!m{i-!bK`@}ZXKgj2Eo3YPU|fea5@vUS@+QQfWzyyUa>loyY=k??)=TK zPqFe_-LGN(VD-r$dtG#PVRi4lOZRd=+<kQ8b%Vo)caw9??<X-E?D$l&IoF&?l4nPJ z)n3;#wnax*uZv=`e$8vcIkon^-RXetfB8;*g0tW3<JB<PU|6faz$c2uF<7jbD@Vn0 z(+?%#jm|ur(w0V?T${69=c{HgG|vm&^1zMf!={NZmWIy>@>IxQvs!;y<CegMTb9)< zIL@vVkg-<cZdXRe);b&QQ}U^zjo13GFcqKCJ*wiVD{!T#p{3idNQ0%{>Ba2xGtHbl z)FyrNdAVf2cGW8dffTKkizcKn8DE&9v48XVIVSRnD`)o|GFix~H`hdQvCyI~fgav( zqqWyNyj`VxJ+WLiOl$wYs?$1;XI;%Y@J*}dcw%YIneWo}EM<lXy|Qa>oSEXT({$CZ zt?X9n?z0S5SC+Ku-Tldxqhr_gc{N|c^StU@>)#FkjL-eK)H0j*;mtQ+uUX&w@OW)Z z)6wp=@lP!>*4eSV4lnSVJohh;PU7>|J>O)+4zT=9w-bswUl+zEKPmEp>zYV`A3`A; zpH*g?ir$&GDa>r)$rEcL%ntLkMwHFs`pRP@`b+YoN&usrrl)61Vo(2~Ysvx-CuDjl zU+TZ}X!FXcy!ytEF804FI-)dft*6nds2gFeyLTN(Rf_vGi6!EYtD)|b+;~Pt&b&tg z`UhY7N_w8+;AomObB(5Yxzee7zf2}}X*^I<tYlzvV%RzLO=fX~p_k{pO@dQ37HG~~ zBob0owDP#)E5@kCjyG}aV(T-`>f}|1-emi{ZCA$vJ(pis6RMv4lSm3ZX~@gK(?8+5 zBG&^BlPgt`Tc%x~aU$UKR57Mr?TN*V8HH^zD<?J_S+i7%)A4xi!98K6Tp?1$neLWM zyZthKlIP#&Xt(-$$^Tc3u?%;~f!S}1{i^;b%RM~O#>{%j-^6>eJbP$*0>i8uKPEjk zI_uDF_9&|VAXoCHzf1gEjyKOdZFWsAU30a?8747D=U^i)+b;$OX3gxVF`Kzq($HhB z4^PK0qr=Lqn(ew#v(~H=TP%C`l$%1;Qo-ZLPOkRt?Mf~7o;oe$$kq(qDfxy6U3MMW zwue{6Co}8B^ane(Pv3JyX~ORgrhum7b0gj{=BzsLV3L)9**DH2tBu05&60%vP5#iL z!n?qW`Nj{6pvH!kehWpGsHtjthMv+?_%TKGrPRbtYnE!qWD13!Iu^eD!CNL31;^G8 zlNLn;EeJm<y)^F2rG|-t9{T%#-TYLbIWt-<d-~=j*HgE#&Mu5x<G_0B{*PCt8>YWy zcVO1Jzw4g4H0!Q!QBM`;*S#~J`)tqp*jC4Y{5od6l5^iIHgEJXJH2(&_mbcQ-c!p9 zg{7n>Jxxp1emsAx){PjJ#`P9olKR`tE*nk=ec=2+TOqw&(wpD+S=#Z>k%?cH8lCYm z%MAT2>vnavOW&;*?n<SBQB@{Ei`K5%pkMo_OUB`npPHwl>z{0mnJw23x~%jJpTa%k zz!&#`f2u5sdEAXGY~Qz={p`&*c<JHP_eh|r#YH*RSH!hT$x=Xhs=C6<%Th~~Ryf(U zPB2PjkXF2Ee$McchGK?8P)ZYnXW_ci^;*Ia5w5E0{JA<Ao(1veT~>F_P;fhR>U3OD zsm{I!tOm<jiZ?P$ZakQvX7I-LO{(B6o9Ew78}8mX?XcdmH6Q+FyI%OZ=G(Hz@;RRC zXMf>Ivzd5V@7ICsxYyPZ`Cc~;q@L5>!SMTBq4fg2=2nAxF$MnIH9O~42I<dI?K-#V z$=CU>x1|~Fip@KArdfY-Wg7Fn)e}zN$oBrRfycyXcit+)1*a38)Rs1_RJbrj<&F45 zbA4+r|ENz%%JS#_d4$Oq1=c(6S{!hX!_DhcVD}ogAXZ_`ocPxZn~pYF%a?v~i@qdu zTkTMy{v^(Oja8iC&N(6db3Q8NT;b?by&yF8jLXXY(~I2NoCHrOo>CH<>ERJ%Bsg`+ zJI1iYA0EeEiCkK^H8@Z))~`?L`qn93Cl_;7MmvO>vCX)XQ^L5Ea|4e`l4*nfiKf&9 zx!>B!FE@DU?Rs;<X!DHIyLKAp*}c`VW;W~)eQh?~QNV6`wa<h?e`Zkw`9CX|=akOm z-gV}uU(s)#7f+^aHf9$}&rAF5+otG~c<XEK_FY$HKP^4IgV#v>$A{p1OP1$sSJ~6M zXN~B(x<l=6%eE~z^~+dZJk;Qy<=%G^sc99n&X~PUcQw}Epk#mZ#0T??@1<`p*p!@} zsd@I+bn!{;KV~11f9sQNeQ8@yfrN?-@3D=>tqj+bvUYD>^OVuT*3x%#$YOsk73Ip{ z?=${o9q*rV(ZAYiRo}x|0(0hE>}Rb%wIFEGcH6(X%DROyPv@LkA<tduqZH6EciJSO zbB*&ggELiP+7~r=@AG?7#>&mI!^rH{^49gqT&f!Dd4rPX?$lr4-u{ex<Ah_IN;HhG z=v1BQj;eTf_RgCMt-~)(9-As`n7c!@Ht4P6q31i~QcTY*y%2GD`kqv4m+V(A6HMH= zZB<^>JX?3}le=w0a;<>w#|!O_92s^|$_ZEgDci2$w4SAGv%)#a&pEm*+o)rL`Gr)w z3)~-sv@9R!E%ZBL_-m!HO_~wM`_zaRO%BhTO^%)MYiWsl;kxUCLE5uVbt`U^J=ybP zb-GKw+p&P$qNV!Nmi@o->{gdX`yC~3mc<?W+9t1H(K~m@Q_g4Ek5^^?xc+b8&~woI zQ|F~<=HzR1NHM^ve}a~Z64Rf3DoR{^S^+ugFEV^qomV-NuXaX1(632LZ220qbWJIz zk`GIimpxkRz)*6btJp-HG4Fk-jwh4Yfpu+ap>a#^TuAd)I-roDx?CdLpel7rTua0^ zCWeK}8QY&5mT)-Fc)n3%bwrwriN#@iwa2v%%JzT!%>VUqnx<v4?B6&mgxfx6vBM9a zcMG&xcRQP(aF<nYvwOAD<jhO6Jnfh@nlm0O-onRW|0mPZ$~W=Ga@)Ru_?8RjES!_K zZK#)VYe`r;{gV3bcZ-{}l6QExMV`uzlHiX>dVB4J>qn1eH|+dB)vZlW@{NyjX|sCu zHEYS2xQs6)eBpWw?(^8(yw-1+@*>k`)#NE0OJ;E#T%k6lYsqB4_v;h5mPcuMDXh_Z z)TZ=C<<Fu1H5;DvpV0EZ$8p%MX^mQ;ikFg4Lsrp?6rZl1U!Qb~R-8XNE$hBax|)rW z`W&a?Uunh1K27j)3N%yIzng#3%Wut!7VWaavXoc43sQbOS)^Wk;$KD96ITK5jWM1E zex5EJ>I{k>HW(d_T=y}JFFWN}q4lRXDM>4%eSBvdOfp+@{Pi5>TAugphu<an<z7C} z`u2d|P9|Q5S)Mah&c2%B9QP=2&N^lJ^x}kTtve<tGv7VzxZ-Ji)yuuV-o?vYGTfs# z<G|wci&i&#b<FTE;wU_uwkf-n&+Ajn5~eEO8*GnNeA&)uaqTPdyYVa_%<24%82-hx zPITCLwaq&5WtG~kj7bMRyzcZ^b>Pf0H?A|wIyAmtVe%3=#P57G=U$TFMwK6YPQ7(r zC-OEPdbLT>qTT;R5sMm=x1W*@uinE&N%=DGCaNv>lVkN!@>4tWKF~=)C2CQ~nt!hX z^;#LHbg6t>5wf94MMquTL#Z^1U1y)#`ZufoCG@S!bN`>^s?gDLT1s2LZK=DQvcZ$r zhHBY-#?Jd1o`1M=W@?&>(XQ?arMAkFPGhUnCLXz_XBWTk+tA=AY;SiV`qoPeA&&VU zIxTMS)o*#}c*{9iNR8!dk9pn)^R;^0J{+IH#b&yN*)*kK`=-?|o;{8)J8P{u!Cocf zqt~ZvDoYeAPX=#QcU<J|=&<bCmsDn#6D|?UjB4Ce&S$$WS?$u|%T?Xx9(ANWC3SJl zQ@w%}H=hY;I_tMTD#)CXdwWfq`tR<~6F9o&EOAR)wZ2F-hh^izRW9WkZx}ruC~wOU zy7<ET9~=7=8zrR<CXH<@6M9bdd~@la<rJ{tQgM^dnh2#;UpNAHT=IJ{Nt2C9D@o+| zI}KH<js611)l(KR=yd8FN%|M&dh!I5?}vT^3r(+IO`hj?o*#JQ=JWCs&xdk@WWxhK z?ltZvI{lT8l#Tn=C9W&@V4yMWiO*S|YnOFSn9TBy|IltL#l{vK!2WU#+i~@TC8q<T zb<I~M$4&`m`Xn;XK<)e&=7yYLW}5_=!^(+HXD`R7ZJj3IxAd{8SI6ZQoF6Wwr-iGe z`aE{<deSJM)nuT-@%5<NJ7=btBCg7lMp|69%X=4Ttx7)-a;xc?bJh}f2YpwkC(g4@ zI487hC^)L;q4h8P)8+3yK^;?;bU1kNzx@!oxKyk6QceP24ws<!iX4H*Onz<-8`LiP z-bpEXa3r6PDc0D~Uye`p(-E!Jmt33=trlBeAoq0Dj4n6ErMmME9SM1KOfGYR%K@#1 z?eV&YV%-%OPBE4J$vSysk@kfp2Mg4_T@*a(Qu(S?pD7$TGa>ESp6}^W+(soCX(xJ8 zEQ4cujz;<=R~L0Adz?<4^^_y=S?ZL&m{s4bzB_L#+EBA0&!VSu7ME@c(~6p;$8$G4 z-?guq&A-_6UAmLX)*Vi-<?o)f(Frwb2-{i3nUvyf(;v3$Re2205oPU!P+Mi?&}k~Z zYK|v9oMU-q?CYYCdZMN4-?Hl|9DCDF80M*E7#z0k*KKP!uD66El4bf72Ij@*-g>Ql zw$Gw-nZ<c8i<ce0xD0j0yN(^p-gKtu?+1s)M&(7zz1<R6c1=CxwcYQ_v7U8a#T@G0 zeo0DCdNnpU1%xaTa(DXEbLhbdu6~h*UWo+fn=^{*-b`pKasL>hR^!ueIZ>;FN7Lm& zg1)Ct(9trFqX!f6Lf)+x*qoBZ#QZFZwaaMQGapTTt;+@zRBr}xR$b|-$XH=DH#^%m zVzbTZi&9676gDYuO^=j0W?|7BzsuF>%2FRsXN!pLn1<%y>rY=_;$v$+98{idIVpKw z$prJ13-zD+IDVGTQOn(75t=w>=H`F9PG|k~ak=q**S=tG;U!HzVhZ6N(Ff9%b5Dj| z<*~gVwn*dDwOe5ZRcCEg`M;!vMh3mtvwEMO*>!Wu6TL1q-3*rf4(k`!aM(|M;qJiV zx-QqVsz_@$o4xk818L{^{qr(JF7toZKdogx<<$}vFNc!-U;B@g3VlAN#<8d{PN^)M z>E{k3Wv`GjMpo5j?=@vQwYTYu$}ac+$2+MdNp$X`KmWe=S620FB~`9mqMNW(Poinv z5~-d=;fm{ixQBI~p0LcLXq{1QA47iTvt_(S_UAX~y`I+Ox7%R#EG2`@i}bD~9F7dh zWnSQF^+Y7;&^o_t=9o8IGLATJTcvFK?}|;w;(v4PHrQ-<+*D#VhwDk*kE0vZXS|t` zsi4}Cp6Z;#>fhq?i7WGMVg~Q-PkJq>XI-Qw@$9^o^Vuh{KyA;fZ!UcPZMVJKc3lXy zEek82(LOPCL2>A9hNz55x#|BbGkRJId{;%3FXPSLlvR|M`R7Bs(W?%H@{AAXJq1GU zuGqSMUt00Ov>$I={M8;Uxp}Nd($%Fh=g0{c4UYv6SkiTVTIe?Ol)Ce*UUFy^SLaHl z;}3=OR8}yRf3`R=?NMQi&bnDjC)^GN>uKt2V9_(m%wT(zeT&Jr#64o0d3eFoXI5F# zg={8eev1SyY*Rk9)^}S}TyD<OYa#y2m_n;lfAZKe`Zn$QH@)fetj+Ab^STyi?L5hL zd*#-wJJAO|Ha=&y4(#5cP&!ZLM7`+(=3gOZ2Rttr`NkPMQ8~L!d8dHmzdq~T*&m~H zmCScEUzo}GdU}|yM3_1=Q&_0-;$WAIC+RjS^U_Ptmh!1tpUPkDyTdSSpO%(xkA(f# zJNrJYUh?5}#6*?l%h=kNOkE-uQ$E9`IQG?gxjUZxB^f)~a=P^Oyc}494k+%JdZ><T z%9kTcGX-OnorGM!s3u%LBC>o9$5QR^q+e(9bvz$UZ2FadM!(<M^&!VeWxk)siymqI z+aVggTvue<L7zT@uUt7wK8k%SHu~%gFK{`1qMS!jSl=svw^r0UwDRn~E8iXELUZ&x zjE}BXJlL(Ax^uJk1k<G69LB4%D?hI*{=EH5a?L$;n-k6H@+-DYDmYj1Ghp#e|JQ*t zmq*U5|6saoTO+^99uHlW=iv(Jkz4Z9US22;H9gi6;gRa)k>>rZNlj(m$pD+o9Tpm^ z3N+6fMrh`@_VNUKxt`i}W@1~%|8F<`)Ktup==kRCz?ofmH)+S@*do<m%O=@ME>5|z z^a=lRX{A3Gat^fZZuE~n`a|oxuAZUmA3dhN$EW;Cekms{dgb`w+H00V2KInsTKxx} z<TqR|THtlSI!8ykb)sC~pC?-j1P=V2VLr)IRoBmNGT)XTN{6y#O1v&MB}E_A58?cG zTR`AeFMIXWWf5xxO>C6+c0Ju>=A13A@gn4H^HrW*3QtVsldt==RQzzZ%4$Ae5NZ5j z`OM12TV*&lOy;vv^IhjJTz@Tn+md!>JNuMtdK|6Y_svZ&__bYL!?{IvNi$E^0xy}f z;`=zu-!@;pIsM4B%Zs`{MeS@hYMF9ByFKyiW6Avd!WZ+JeZ$#*IiD!W3eYc<ot4iy zYeUVlEW557Jx1<JOm#E*J7<~RUAH}F(T>igr5Q(*1g<`El<fJ>c<3Orkbuh+fyNJv zhnkdSItqR)P;_ckmTD+?5TI~~jnBzM;NXL#!);3ZHaQYWj2-P9;w~`;hn_YG@QZXX zd}Ltp`NwYP-onwS(9$%;Jb7No%a2MN-P|%UJ}*m-G_tcxMdS)R)M8;5*yJ^#;VPp$ zC!bPH>4(s!RyGN#hy@Iex-8rR56<N}JbZhHTSVncZvx|nXs(*S`=$yke1Chpv_^u$ zobS5#Pxi?NUn^j2ezLt^JUAoAk-3d$ro8pPGvUn{JW@tBd4D3dzT#b&z5UpMUuNt# z*H~uUTl>pAoBKfX>aw@Dzdb*{u5$Ca+TWG0&xjbvAD4|P`S50w^W<yyVt#+-zU9n6 z{jKz_FAo;4^fzD6xR3SpT-WpK_gj@@?vpl|f6riM>Kohk=+yp|OC{NA9;zK=ZGAXx zX7lgJfE%nrGAkmQ{|UxyNR010`c#31Pl)YcqexeWL<irhs|>k?N54*OEjYR(F+sc` zqcKLpqd}=(<C%welIE$eSEKkpbUa~>Jm_&PoOj972G)#5SJkA{Sj~gX{7+6eOwMps zm@th^b;<-c{(>WyJo!u;g4`5Z76|(BD?Si$<I2pO;^gkB+T@wzXL=~0^wE(9W{wVq z%S`5$tt)~Q_S~EjBB-e_iK$WRD+9Bo<^=|3frzIoLt_)aE(tG_vrLT=JTvubl!%GI z^;Nu+G8*H=Z|o9lpFH#F!<debQ(q^m26;HfO?VllliuUVCY`)q(CmKE7D2bj#tpgC z=ht2h-QLJ{wD<YjlKX3y&HR^hi!ppQ`-Pj&XYbt6877;zaiiP4=-X?v^9t5^vddTh zTa_+XzVWNNbmsl3(gu6D?b7vkUVD|kcF+8$)2F9xUsNW4gf-~d+~&`UKcZ^HnO7*3 zP7eKXvqt=~>ch2sN#PQ$4xhdzH=Ep#T9U-OW`|af(!H)lt?JKY!uvdgB$vc1n0ZWV z^;3$>nz(YB)KZ7SSWd=O36oN%O;2m=47(vzBDrmbih@cLOF`EGLD!5=PXag^>QpAq z=4*9nnw|As^AK~pQdGH<rSB`j`Ic)_E_+xTez@SJZFp+(BK|X1t}NEF{Q7J*S4gSo znnlOHE{RU=b)Ci$S^xJ*RIy{gmsbTF_xyYHx{ddk)rPd2UW^IHn06<`$^3GaEd3mG z{AT8Xu<%<+pU<UBf4(~L+nPP!WXlik_~`5ZpmP7)ZR@|jOPelRa=%hN>g%6pxBu=E zE4lD4>%?<uDfXMa(*M35Q;oQtCwS|8eB4LhJ94K(daUn6PDuZyEcr2DxqZvQo=tg6 z6)HtD+<O&oba;gsWqfsYS}%C(=oB&KX__aTZ5B=F*%!2Ut|l+DW3YF##*#ylo-fj! zb_u3;9aH9>>Dp?rD==yfoARy=?>yX;xqIfdNQl1M;JM0a(bOp-+t!9~hD8~5-(dN4 zWS?w`66em22#qA+jtx&3vzu=-vuv8g=5j>IhBMh!>CrzCi@lm!!8<veaxU#KQ+ujj z)O}LM@xbzV2c9rAo#_npnY6M)rXhH)uxNx0`!e<%R^4U4gG4rOTBX3M=4zijv$tUR z7MYU;&Ze`tIc-xUPfBPz?lGR0IIY<5-=DUK%TkGr52o7YNUkZrF2r9{aasS-hqjn! zv*PnVv7V_>eKBpNqJUB4<i>)#X;nux`*z=JJyWeYIq~{!-hZ3Y<v#7<p8f6hIga0- zB{=om9gU<Xa$b&P<jKqqlbgN3LiO<`!IiFt{}%S1)nQn$&wxWuu3EscxI}sR#y73{ zDl3k6u>^`nYRq@D&Uk%^Nkvi7(@QU9QdCgtQQgp&I_`UJMY?bW{nH70=^3A-H0{J9 zRc^~CIlMb3Pjgsc)@Sohv7$-Z<KGIw*)4&JIcpv}UrU)X(LyCq$-v8t%lyPXM!ll4 z9xs`f8dDwILe*<u#e`Xzt_mo9+LfL-yZ>EL<J_&UvI`h_)?b;W{lL+CExXdvw6bTr zlV47?s`%Ptec4j#&5bs@BMbYJmj&B?+M&iQ#Nn6rY4W*iF)tE0f_<5}-R2c>X~evi zlFxtCI`=_MTEg|m=l=d_m8%gAp8kCG*&`;>kzYP8ulZ2f%ix}N`<8%NY6ELd!>1y} z<2!uPgpMpYDpS1h@R#EY#3vmnQV!X4C?~*BJz8VJw?|Gvc_A*fnHRbvjvNyDSG$zS z{#N7#wW=-AmVy~R&WdjLPcK=kXz0FjQPA}@FP13jee?|4GilPSBbPj!1Y4Ky5*D{z zwA5Hgv`@)GWKNM1Q@@W(AYaBQNkgT?MP({Qx{95_TF0l%vg`5{lVntwC}i&V?a7hW zFUek9CwH#yXbmxWCg^_Ph}o76C8c$R-r?7jmdIXmEuDA9TP^yh_JdbfBNo}*+^F+8 z`g6~PlrxbE35k^pO47DD9K7mKx~^P1|7w`&*VD_G?WJY1CoS7>LS{|YrR3Q!JFi)> z2Fq6%b;~s>8r$rw<omKLIlW!hEcL18^e-DOpTBpk+et#jC&Sk47OT>BCgshddp(%% z^2Pq+u--FQ@58F@&C~9_abvuCF+8QiSe)s63ukDcVDGg}JB)M}yKf5U>~mSN<x56p z*cZtuHFL$(>&|*J{L6naqatV8q*mn}e8Ev(&jnU`Woee#gt*-(n{4g*<RI@$j?Tm+ z;bR|<DAjTwd@RR)d`?8mZI79pPr?>y6t^oJnqahXv7D+$#r{r)-V}#TzF&{5O%&8E z_naueJMZKHnYIP1yRV(M3DG^Fv07hr!E?uG$+f9Jml{v-T%J7Tx&w#n>p8og@-+68 z-+1{l()zt(ab?)!qL;R1v)&~6r#f`6eeW53>Xgp&efM&n<xcayAfYhhFVk)x%lNW6 zQ#XcR{3yPF&+6Ady9Yf9#)>oczA##r+BR>+N%OOgt2YPFH(q>ggOl#&VCO3tmPXzJ zt}6G|AGrIvxPRh=o^PfLUIyqHbP27C{~OoKCAZ(r`O%aQ-A7fqT9%$&x2Ugh?-38L zhFng+*)A#*%vbJOt7P)BtmW~vi6zw&a}8cj36f#*n9Q=NPk?dzovKw96IHy9uFRhk z$aB<Olz%~RRO8fe57SkXgWh^<ND_=laurWL%H=lkq2BwF?Gmw!r}c|?-z~S_xBIfp ziIn|kd!|_1&FRYgP|?fytm%>R`k!b2oWC%;-=zKV*~d@*RPEH<y!(*N9J}Pn&vn$( zF1%%zx%PzdB8$(X$F(}g(*&RB|2wCYdND|fhuQJy5rgd|^7pnY2n8@Qw)*j8$gd2M zoGO-i<x{|%L<!zSk_y2A=gea)O~fO&IjSFW@|zs%lPqSTtYj(FoVPs7b8&!86Qlbj z)1v2b2@g#iU$`hgb!q#a6D^!FZHn@7HI?>ot%)L@K}}jw&Z<d4VHcNa*qExPEOGnD zW?orT&3lkxeYl|CLILlm0>O#u7KRpemqXMZ3QQ`}uzu*?Ak3t8O(VNFsc&+==0+jb z0?~L=tr;#_N1o-BKex;_Oj)BWVRE^kdZR?;bnW~?>-C=tCYTj!Z!VmyC@HhtE7+`b z{llmQ7o)!(&phND_3L>NyG6;TB!l;t{u!P#DY^Tk=xIt+keXrSa@#A-bx&LxE`3RR z)GT+zMgOo#&l^FzT~7<2F8AXRG5UN+;RsXNn<=ShF8hbDE3zrsoNSHxt{Cv9Me0PW z<o^;!aUn(lqq0lxF~*0=w3`B|-D_Vxbutc85t^#3bjV5Pi?e`eO9^9TdAM`AxN4}- z1Ow5Q^Uqw8J_k;^qLQFgc_vLYz^O)kscM{(TIM2k`GaPnjltKxO_UB3yvwFu5)>S~ zRJG@`pv1)xt_I7ZV&Ttif{jXo*&RY!2ZfqSL<H0FY(FMhSypo&u#9||Ki^1e-|_hH zW~;zSqHjXAWQ4@)8zmYqirRj*zVOLwSxUjYe;!WSk0oAPlzws7c{HV7@^PVfio*Gg zGKSyN8I4O=uB1O*QY^4Ydi7QP_nV|Y7W*!p>SMD#;?b8P{)+Bnj3qx8>8-lR=ybjK zNsDjWvib>`8FwV23RY%F7pF=wD17@E(Xp&oq+D@L2czirm@`eKV$3S4hcl#8lv)}4 zye3Qf9FE)etlufv_~Q#h6OnMI$<DiuDH$wk7H}2&BI=~|Rn)<v#b=6(e5shDn`--X z)lehVrH69Dwm4h035EzUg-<qPHLScSmYc1TDAed-?V2bwv9e%Mh=!#|&Jj0xPxDSD z&Dsn>)r&&S%uK7)r|5}^{=S)Kc+qnHBg-Y9s)abM{%JpTTG~{z=yAtP6^T$z@wpen zzeh~H<XXGDP=ZNBSN3{}LzCB?pooi?B!o6u|M*<^a!X+kV=>!`h^LQyH}3E?cCUXH zq+fEfM?0%)%|YGAB95;L?RQI*$R4nh+Aw2x;u47mzBcTOTP5x8Z}h(7;&WQbMtno# z>6Dl?OL}|Vq}hWQL)80vj%CF>GkTfgG}&#@*;K=&4+E-?XI<M7plqR|zePb~QS;W7 z&O%A$s$X*c&*)$E$;2?JV*6tSzDSoQbJg7G6^Tlf=PSjuM9mTwuV6MWcy}}?`G`>I zCbLIsg2gRncB~$DPlI2*RO4sNs}<5%bW3>3A>ocE?Ouu^3Y!1gwtsK0`J!gHvEAjS z$AZh%?HaCsOjY6!YwZiS&e*DTYpI0WGVP?7+NLWqQ!6D76h*Tw2|r+*dM?A}lcM3b zPYwT>^*N?^J)LA@a9!5KtNUO^#`P&h95cFiwCFBm^=-N-bzG70!e{CBn~k5?OPsQN z9n+)!F1OtlYA3kFP%PQ|!q=I9Kd*hzE-kv<=BR3)L`Q~5c$T11f9ft}F^?Fn$F=$v zO=gdc^j|bTI@)jj$(X-2?oFz(|4XN9qE1p%13w;hnYdiBde(&C%`JS96VH~3$*8J& zFPWefIyd2=Ky+Z`y_JHj3)KaenMnmslAfj(%dx7XNnn$BqS`_=(S;gW|E9QkZWQV$ zaZ@-rU&+i;q0*voig1mHs1BR3)kTlFpFR4wh?X*Hhk2%C9kt5ZsN(#rqkOvOIm;B! zZT_)_+C{9>7H1kNzs~5~ZPfZORei_e2jX2!K}9kGX{#^VFHn?jahuMV618!Kt=Fr% z+M5lVF3yZMD`q;}cfCd5&TENm0uzhH5~&2H?oOXO%-!27X8m4N-#NS2;Ij^!^ak5i zy;{PKzRMM)6yo%Qr>**FbVfBm#At{3Y56M;H_D`B-*d0sqS)_q+0%Yfm}1dJPvdN@ z6ce9M0r#KA+F4Xozgk|u%hYklgq2NVx#AU{U&n`M#0Lk7r4&|lb>*CWDG=$z^v|+% zWsHf2<U#eUOOw4+x0-Y2Cx2O)RUud?5y~UrG0`}8^)AiEBH;#R;b&s*pV&NhKhHNY zThQ4d>cEy#zPo14V=a9lt8W=oZ?Q_;z3pXv*vO~MP(-AQDb(<7qyO?LHhWZ!=VV56 zEBmc?UBBC<bOP&!>n6oEUAFJVBlwCJKg}v$l{l@>Q*Uu-^jSsQM_FlV3G44|((6AN z`QTOUmx*;xJ{i4w60@eH_yLEp{${_0mGW~|?q&7XKhqr(maZ6_Rw^A5@FXJOh^Vod zv6Jg(m5tA4F&M=deTr>-6Zl(0oL`~YvB}tH$MQVGmakV$Wn6RS`)oEiYMQ7Nv}{ku zskDEd2CBh-tSguC1W%nl$?j;dhGQPr!g<z?!j3mX3Yu3LC~kdh=H4|$n8`75({<sF z63q+|_mgXqj2S()s+;$!hzUN>Y~#>gbJ*(8D`nM^9LGmtr!&1WT=y?-)4o#e^_!)u zvQ*;Zl3K}G)6AF4O`W)?GSvTH@SYomidTv==5xwE`55tqIm*>N?fs@y_wU8$3NK9H z%=l+B^IenVQ!l@^${AaBOK<T$`ut%1JFgNRlZzqGkG7n&`SZhRnM5B`c0iVuc38Mg z!to5l&yLP#_6Qxy;yv0wH|6pQx7o_SMOV#q=6vdOTYFCBE+xmcS-P|5d{sSl_Giw8 z%sF*h0-P%YFZ{cy8gf}BtYg7>PNu@bt11iJ;u){Gq#h9bCRlJuFuO%qJW;U7qHRXk z0l(R5GGXf4mD^OmCFaQ{PX8>Vw18pqr1t5}`ImZxex9t(jqX_VshXXuQ~%MSKc*=j zCg-$lBxd~3KL0B7$|i}NK;_G(O1G?yB}3NAf02{x@Z&T(J~6Fp&qjSY<){sT7ujVm zosp0}sd6+y%{Jp?(Hu7;rp1P0z8ANP+<vxc{U+&*zl(NXjF`z*vS&~0t+GEc_rEk+ zY}PsSso}R_OrM~Cq0io{)s2Q0ir1#6UP*V_?6ycvwmG1@IYnGa-Nc#ot2Tq@1n!&r z+?a!0-!5PIdAZjMC$rOY{wXD>>^N4j%;rJH#EIWmt0*owwNb__q4!i!t46_+5L4Aj zIZr0>P7rz0mSi(?vfWAnOHPsW7GaH(YK6h`mfxBuX(RO6ZMF8d$vq*5)aHmLF>Y^P zF{MvJbum*)-q#y4kCLS}oprt@ZXVHpBuRThSpS|){t_n)g|;6)&RS;3oGQJ=_~s+2 zJwIwI%pw*(mARzom=IGRd(LLjM7eFLx|*BUa#{FA-l?A}dF=nEdY4%<Zl-k4yxP!l zZ1KzMi?=N~ab!{IZT8qrPmXghF^UfN7hSYb;JBY0x8hmtqE&9?E6tYiEEN;nq_oIP z`?+bhr|o|0;wwwfoP6W0yohiAn{Kh0IsYDrdgdINxu5Bui-rnQe6qUr6f+0w%7u?} zGL9%`DzA!@xZeAD;<QC>QBLaSUj=6>3FJjQ^86}XF~dSOQ8;8`b=M+`!W7MOXVf=~ zPqDW=%Uy6I%rH6ZV<^ijv6zi2Zc|*AKVH3LiizeDWq$S@mr{!^tDe99Tw7jx_Nmpi z@h=-5bvQh}(fem(W}2SD(WUy)Z+e6|9Q2<b`S2*>X;<m9hZ+3F3U3mhw`m&kO*V{; zJN9$Y#oC{?+m_zlv2p1(lUWQ&ay_DUza2Ns>og8~bxB*vQNW~0Lge!DlN;Y;G@9+* zbXPUbI;nS;(T=L=lF~{qO@*>vYQLObXYGEY`HOW<-M=bpzrQAd$~S9f%~38DTmOcE zg|TI;UzkusaANaoF2w}q>kKT0r}zD<6uy|N>6t5GCTgk3Sn^4r_4D=l)77(M^CG1~ zvow-kFVk4HeO1k7k)kJ$>=`{WteKbv-aX_~i#B}R)ZJlL7nW`+zAmXigQa|ZQEcXR z3Dr&aBws03J(TxVa}aYEw>J79_$Wj9(5HESe-+83P0NfBzI!a8Px|+#)Lb8hhsEBT zH_G+a`S0Cv`?Z$T!@>r>$qN6>ZR^u6K76!G=xzO{MSBFf4db$QN_;t{!~2<OYoYWJ z<q145V%h&qKBn-~WZ7N+rc==`e;xT{eE74P_UA=rCVHQpg<AXnNs8te?byWd(4nb? zT}Y2ZM&rUEhc+Q4iyadtBsjMTY6ZDyEM(+lXO)e(qruqZ+^8aDGev>P$#F8PX<5w& zha;zFNGo<^2wYz5C1@o5MdYD_OMswai<yCz@e$t{F2#JY3QY%_1$iB87#=3HFbgQH z>x*CrTXSIpmy^Z^tw#)3Sz`~o^;$YHcC1$D$>W_Uexzeht+PzVfdvO2aPTS!@Y#HN zlF-X9+TX%((CNvc3F_TfG!he8c(~oO_Aop=#LA`Q8GRt&)*@D}#hOc|F-SAFajy~Y z+g8xH?cJ^Q#naPlZ-0MtWvlyTv30w@zUG!n%Px2q_5JhB6?5Z{^UdAC_K*AATH*S2 zd#%2_I})9}Vy@Jmsw)x;y3ZT@wJLpcdt!JwzwNf-5AXkGKYwrkX;E?h-e*5%`)<Dx z;JkMGv!ZVOgD<1J*Khu!cSd*bC6B`nO}s^ybr#)ny0g}VM{7pkb`j6+6AO5IPZw+v z<ee3`r8Vx%g$0coKYWba(nK~cyqy%|;UO<8wc<o~KvKr$#u-~Q7I%4E;9(L9t2&^> z$x^l8C`a0>6^**FLdB<b<qxe?(NSJdbcUVfmk?9qsTeMeRV}-`wQUQz4z3aqGkB@R zvf~k#_L46qr*yYJIh3ihp=r_T#<g<2uh$A*JN4?~2ALDys|9!6@?I?<z>%}DpCviR z@bEt_;~c}Ia<h1v4zURpUpuXGc?~0%+G<~;>os>K7|U62DOh+vMmTrN4X?)^BQDu3 zNoY<D?lHS{x9hTkU9->|9{aSN-U55`;+4(zoV#~e!H(Br#(UF$CCcv|UflSaXU%fj z+c$>S%;Ce`-@g{0wPN9pIdA{r!QcG7e?Bn_>_4~2cjMl?*4eqtuR6L{?Bc3)es96u zudHh(TD<$L3wP|6h-0l*+=9o&+*vG-2|A|aD%?rg6X_<G_$KIPoc@bR&r~$6K6x(E zciMEcEubh<jq{etWL3lUGAC3!*%n3l=*f3^vY2hHbMToOv*=P|l=F?C6%*IhEKr@f z?a0a%wyle1Yy7iOecPciw}#1UHR}c|trd%nLK`lwSafUE3U<C7Thw>SJO~L|owVu7 zd;g!eUa#HbA)8|m5*d4jiCrXGXEU4H<_9Y5LDSciOsJC8Y?^5H`mEbUl^dom+<8wX zL^db&C_HJ%&s)2P{a|uI`132Qg<E(`q|H+w-Ks8obWcaEKk>cIyLWrpIKwIuYV`F4 z_T{Rp1?=Dzm^Nd_k6FR?F--?q%OC#y?LDKWM{`MU(-&K@>st-N6do^WPtgh%%uCq3 z@A`!f=Zza9&l$9B{->+qd2Hvjo(aZM(hqx5Oio=)<yy4n_LP@q9=~N>x40~R@YBOv z)-%X0?1hTOSx;l*mlH4EO8KX%ovN1a({(Z}AwtM_rLO`{gY*-X0}XqgKJlsk+~M<S z+IE2xOSCILafLMnP4!W1)ymGi67@t$Y>UUl?sUP%2pv&THjk%TN*XcIt1`sd{w!5j zJRuV=_dtAK%L0bE%u5p8!e?HVJXW&uw$Dq2$&%b6Ze`OQWBZe)uer_g-dt~y3QLFR zrt2*HmIsx4)vTAy;oah9yXN8fy0pz}QVUPp>~K6^zDsoRr6X#le^y=p^PqHp$-&bR zY_H_^pLo8Xan|vqYe6?ECas+Rp+?<F=0@M~H}0~Xh3biKU(atf^DyLW&~}zon$DOg z?DeE$jS0_|r|WGxWF{XxVWFlR#?t%rz`xrH8yd7{tDkFHa$f1-v!;Jb)F<UEQ&AN2 z&Gi30aZ*p4>BIof65c{7rxj`f>=Pas@w^mtYAFirvTDiYUwFwQfvHK!Yk{Bg$6G;3 zOiWYmrKrkCas~D<O*xY3T2#h;YVNij4JR@$E-QICIrdPK<|d0(I@1qz1uAV9UFVY( zT)8nM=&jJogART^+!j4Eq!PBBF>nZLyRs_G^pMp=i8MuC4&PT6F9ckIGK?0>sAro< z%81tnr}LeRJR4!MF3)m>lgi=#qI;IIU2|U~zP>EEWm)jN#=!OsExOlrV{h92icPQC zlKJM~uGV=!UEJ+%NuRID>0JNKgk#eJ-hkxdl?LhmUM{mf_3=Wt+O-3`t9)i(34X9a zMPu>(w`xjTN)t4sot$KOHI+UeS-q(y<+|k6&EZx-dK{h0E(kw+;UO;~Seh$#X|b(t zY1*uHm)p!H%zR*=s?^!(zTM08!#WpV&cx_j9+M``2`N!6i1xhGVKjN&ix7?Ijo$7% zICk1UY+;Oic{1>m%l1_{OM7G9a7CH1PP1KC(o^*1GNX%tsLiU6MY3&K3bx@AAt$*y zR|yL<r-gcK5}On@e<R1bD_R#W$V{IcDz!Ab{Axq;qjkr$vKiQP7WqHz*)(_E#NJMY z9gfegXj{DYzEGqlapu?6_v_DRp3f?`od1cD$4YdQ++U8gweMK}`B>a!ys(eS#Fr(r zpyq{?M7_pp!@NlD#_u}=7*%gym+(As=D^f6X2Fc8dp!OwH&s75^6M&jJ<^M`;1<kp zw~3QA&0H|WO)6hs=)UIKBP_0qMO|;H9Gb9+W$BEAvu50yrmdowVw^C^!`oxk#A!L5 zOEms+P785*{ktwDhqY4r?vfquwyN*cE0etaHSP!-`t^0onQ<>u6LsGm(W)KxlIyX_ znxpIn4mwiXrUV={V%ng?Fu^BBG@Ny@;QBtkHNAqX74407pGbJNd(lK5)#e!QxXep) z`obQ(%c)`X-sNLz&m5WMVtiWZaGNQQN>0J5%{twM-p-1rH>Isrm1{bA{NJooCH}|W zKKAOG8DvwWHb2|0Wc|N6Vl_8XZXD^dEbdcoca#kI)MX-Z;QiH~=Po8qU@|<i@Ybry z+vT3TU7Y)J@nfgy+kfW#a$ObuQaMx8jdQ8V!HFq?E53HH1g3X5xEM$Z?O;)~%?WZ{ zowAi(ho#N`(WT1$W`bSUe(g2j+&X*5FX44hL)7$iJG^d~iOhUb5;W(~WXX%0uI}H< z*~d}Wz?5X9ae{x{!K9v3ca4ruvyPR}Y0b)tZfa^+bj7e(QGoIJwp%-oRcsAiTXn|$ z)Dx}t4o#!kfjk*?<<`~jeI{q*USQ8xY2>=WvzF!f*|w}U#-;H^=?@gIGjZ1{E?9pl z`Cs?m)b|Dl^fU9WRdu^gui6m4@7ybYYkvM5!@twL{+3GCJ>XZE{&c$jiAO~<XR@kU zyZ=1Pb?aO5onO5&mlrIWZTIlwgyx6K8%`Ns)=&`bRFM9?Ox|!sjnpiKK#kdwoX?Cq zM5ClSIINczc8cws8+dxR(nG5?Cp9{L^-K`5X-k;>W7DkOQ=Q8u3eVB#SkJj_%7cXo z-s@+~*uAb$f8Wc_9S%0ePIFd#5T02vSzyKDIbE~aes?k}i=_V6+*Yv4Q&72JvB;%l zr(G4oYfgw*F51BNTRFs0^oW4A=<7M_fAw676uqoD`R2+=5uTH3lJ`kvPl#H@E5|J< zxlu*v)Aq*?M7RI@wBTu#!u45lWl<BJZCLBAw6ybNFR#{G)~X%pipz=v)htizoG?=T zZ7?t8(u`LZCv<JL2zaye`(zi!EQu^9mzmrWA6Lk6dJ5jZq#kv|_&(Dbo8L1Y?4J3) zP`7^9%tu0;w+ePONNTthFL=Gngma1E+Ra;{b}m@FvBOh(R#VZzt(FTfBy_eJaJENv z>L1i-&suTbK!3&#$L?R8XB>`yk`n$Cr8HT9W9p`Zdjwa0-qiW!QJ3LE&RF5Dzpswh zFL9c4qH9M01DkNyQBSSa9Lfh2_vWqMwno8r_9<c0P23&_oz`!VVT@K5{IPhI6pv-2 z`9Teyo7~bBlP8}l;A!uWb^F!xFM6fnR2hA*TZg~?Ty}e+;Kc`mRh!iBuUz`Pc|p9R z`i@;o_#HR#YPz01<ih1-e<o?o2a5^CoC-$8Gaj#y&$*>Kn_0eL;?8dq`(JzS^ti)2 zBisJT0sC+z0j1siGiT16!+6X~+adFp?1Y<Q0ZN-5WKFc*;yqh)9ZQLovSHuSom&(l z-5M7i>xfX?#_4D#+1dO_L)d3)>!qF@$@(9&Cii7cnpv<YSEf_0WpaGCQq32R-;3O( zRk|ila6b_2^!L!@x*o1YJG!o|S-I4SdyB;$-eQ?W4;JaZ>e#h_D|<JW<{X<9I}R=W zCB5^9@Vbt!GmJgPZ)6T8ENYK1beEDXkKSl(`ERbHk>ZRg8x@+}F5GawDRFF~#=IKs zBZ`%iq`1BBWytyN+8iIke`ld5#{y3SZN8vMUMIcm5`T#Ye_7)++w!x-f@4a%CRU3x zG|o@CwVH|3?ktzW|1)+hj?4B1%@8e=h&!@bw9`dt^30l~buO1LxC$RQdS)Gmm*S(W z1592Ep9-y5%D7uHsl!Nc#rne<Em9qFksK=u51x!LozlgjeKD|^W2IT+MbV|Rz8sR; zuG|r7yfs$Z`jgZ8&IMAF4OYtbEQ&7{{`HA-jY3EC>J@tmo#xK+*!1G;dIxTUUru^& zY<NF!+kV5~vC1klQG<0FT?-!VanICx5~6(W^EO5X73S*BHUF4GUfj`gT)TJ57aq%p zQ>E5UQd_t^<)EzS)+JAO$v%7Cb5w?-HF+O@;;wuyqq`S%E?X@>zDU7w$%L?+{uj*N zKM%Wnx76i*Wmi+U_DiLBrWId@ByasmuR~HZB3t(HHEznWl0UI(lkbsJ4{xd!Svov? zvG&j>f$E?I4{lAH?J2N3Nzx<w^wuRD&$GOJA0L?hF)T6W;vVjB)r*s!E6rLN7*ZXr zvGuefH^)k`jZ%eM^d}4K`OS4{>J6W7O@=3Qlr)!K|06Uz?)KLCKRCB?b}1>X+`oFo zd<p3}LEEmGoY1P8vXX&uPa~J#OX2kl8@z5BEZot>mCXI*N!NacImZ|`_*^vjXR6h; zNyETEhSAP-`#HwBd!rXk4A^*QwrFpL^F_waYb(u9C|K02?Okw?hi{Rm?9B<WFK5oZ z*b`r662$8jzV+%$L6`cfiQ*5{|Gzo9dW!1_E2~$HGyc}}g?-ticl&(R%AL_i>?3}i zuYbAkC9^B@%^819*5>Zo$I>;^^>e^?8xyD9o_p@zURJy=g=fV@1xJOM6Gb06WW~hn zby1XAdhurGrP&YM0;^Z#ep#_~BFEeejx)X;RlJv$FN~RYp`-SVlx&W>!Oi2#J&*S} zNUJKHoqa=V{*RahX|9HnIY%nBR=wald6R3+ht72h-6l=l0hLn%es<YTlySW1@$m26 z^%2TlTmH!~8Au;<FfXgNz1-+GNn!4-+mos$3pFbEpV8=<enk7c!l}7C)t4WZv}<vw zJ!EM6*nX<FLdxGzuBG!Bi>~$sD=bMl@<A{<ZPo=wy)7|4YT<jmz8;wodv^bEEwzm$ zsuhvTIi(!9?n>~iO4zz*LPqJe<x7w5-McI0&2kw*pYt#DR69Akg~BsZk3H>Lzkc_M zlBer(cy~9R;`pdE%PeQIu+46br5p)|c{U1b8ZaITnBA$J8KL8tq);M#wYKZmrQ<Q& zGMZk>3ntuX-g5a^phxc+rRTbF4Ay%NEAKVa<=(y{!a}QSr-#S}4ri~Ei&+_X94Fm8 z@T246MUHE~Pt1FJGvJ@_>Z=R3FZ|gv^W@1#RZ$LU2P%^UzRC8AB~5(%Ai**C{61ZE z^WwD$s=Ih(9fFH2WmoTbr@XUy;*6|YydNDUcK&r;zciHnoPvS3#iYkkn`4&oc%2Tg zdCIaeh0kmY6N@*0?`fW&59B2;ir89JN<DkrlsNm(meso%x<6T^KG7525EyzmF!iC; z#8qcv7YAOHot@*hV)lefp~A81rdvBR4z^l6lA0QHDR<Vjzq|J@4sVKxotF@_L-TH^ z@?FhiXCEG2dE}z+-9JjIGQrE0;<${H&Hhd{(A#G5%jU7}6z!(&$E<Mz4>Ut2GR(8` zd@Z`#YMQ9EpQpv2V|^VD17<Hjn&bH|fz5^Q(CGtLE-Ys~R;wg5;b#1*)=buiyw3sz zXMWrKu3CJ<nM@|B2fs5e{JFcV;Ngr&ABDfVYKyPkx)r2)c2Pjm*Hi06t+=KgwOg&b zDlaqn39r=42_D97FO&jTtv2btv_*RDmaQ)Xx5u~%ioCuZI7zb1vF(-OmeY#WDIBX0 zDxP>dX`7>Ut%`N^+}FAbrOsSAXfC;@%H+n@nX~>x&HmFQt<WQFGE-yY;n`PwIxST1 zE#zoC;%T;j<5@MKRo0b@&ls;V`IN)Jy?3L;iL<M_wYSXam0@IB@Hl9qaH;T;c7Y|v zm4<h(tvY{#W2;q9fcI;yOu^|jCw+wO$iKe5c=O5J-hT-{rn*LNxxH}NgX326XHK2+ zck^PonzwOk)`GJB71!>E{mV0+y=m3f+kd~Fe{d@`a-A!?Tqu{4+io8d-h0s-^cE;i z4ix${bK^ImHlvq!6&&;WUK>f~gd__qU)<ZXV-nl?J2I+LB`!&U((9}59^Z8N*`K6? z>;{eVf9$Th`mFk0Cu>6N0)f~`RwouNh*@|*fB$37HecUWHx?gx$yN6(XRgzWxu@Rr zghW25ozlx{;L#{!Fzxc;j~mXWEf&;hcy(7xZT{rFyM;EN+<P<GbVsr&pUb2>)qxwh zQv`4J-Z<f4aNT?U%_vv1zSd|9DZ!b~b_V<`3t-&!a`7|)rjKhryqm%CPtG!6Nr3(5 zwSR7(pMC5J|F@%y<s`$;DLiL7@O|6SC=tm|e#;NE%EevVvi6<&j6{v4nY;dmNlB(U zEO$<9?OL}ZEo4Dr+Ul2S7e#|YraP#e+^r$Vx%^||Db)_Mmu_7QcUL)<PPz43<?aX0 z`|hI4g-$%1&EL;Cqe%0YmVRG_wAQ;>+cftGPAJTH&y~tOHAULPZRPBlT%XQ4?=gSH zmH+vTuVLI4iwx!a9%~F%6=i?AT3odH(yG2ykDC~zU)MCqIj%ml!u&u?uR>%myHCi} zX$O>Es{cwmeb6;9=GX(alIT})PglCU3S;}SHZSzkyB&7>v(~#h%-Q+*rU4_1-wwu@ z)PI4z`A;Vmch7&vdrQppc~-ag0`?rmi3g7!Ix4AUX|?Um`xKu<Q}s&DhG$}p&*qEs zE;ue#cl^uSOA}=uy_SDwvSOi+h|TltmY7o_(rpc2cP^W>DRc7ng<nI8rONklsy$T{ zeqK6V%4wd4%?`miiT{P#bU!Li;k<OMaFxT}L(Wq!tK}X!tu*!Q?<YQU*sF8B5=A=q zo#o@^*1g4j#hQUVf#KkU$s)}%H!nt(FYdgXclb<3kHjGk%P$W4JIhy}<Q3fd<)56< zQ>KZA>=X5`|NMTf!f3wT{;B!1tN%{aKWf!pJbC(U`}f7{M}OFUf5-H+B1&|DS$}c2 z`-3@d-u>x+Xa4*5!20p4nQdFvJO7&#F7~2cvPDSH@BTXJ)Y@0`OQi}mUf2uGGLMlo zOUsKncp)HBv?PeB{KMD$55dlkD+(L<^sNi#6|BhouUaQvS~n|AU%#P2;ZS1-H@}O_ z6o;mkW_A@9jwuX*EiO&$oKZd<1&=$Lm0da#8VXq41eG0fcrFS&Wu7YQZuO#L($fxB zj!dlzhfR+?Cm7}$-SC{C(lJX}et}A5u}dQx-yExi2M<;TbMPtoOnne?D0HpRKC=g0 zVNNY<{Ku-cDmcCkXOCBP*zqBB-7W4M{RdmM8Q;h4u6Y`FU_$u@*1eU_Kh?e#U!QPH zf+cyvhaVpv?CF<|Pg|4t?^Em9>BiA%IZ6h}#}~-wt4)+FN;tPxHhSNlg(htm*GkXc z@n&Xe@}<eu-_>FxD_-0_+|AGDS6&eRsLNa5&L;fl{ZqByC#hbP*_g63e|<K4{N7)8 z)<3*I>BGARdz?6gd<6bvDe1VbdwzIQ!vy>NPCK5<zEW>=ezs6Nu%7*!_`NzNwHpks zUwKzN2<PW2k#oKERGo>F&rQV1Mapf8fFl#9$wgOo*)0?O43DZbc`Lkp^2kxCRfWmR zacjpFcaNDO!u>{yB2B&;H&rhCxpXE>_O;Sg2<C8A{Ho%??sByuILz+pwNQW00}j)} zc0O;2N=$q@FCw}1YivaN#IK==Piy~)9xTs`Q@>kW`f}^F(i^7F=gzst+7_F!?jh&g z>?1SVrn7BHd=Qzl+VR`W<i)O8cNR{(wyklAbU@YZ<ejkzP0Kdds;$i1ezPoNMWb%i ztla9k%cM%Da$cLh>O$}J=kpG}eK~i*;Y{`Lio&JrHxgdT&X~@6Vph6N+`(_^Z^|#M z3%x&wgKNivdak$6<0`}>JQB7&%9<_ECYUK6Uwtd{#yn2pL$e<;OKttG;QH}y_Ifu- zp(*bj>=y30Sj95YK)*-r<BG}dEGwTR^?OOCPV!J}Nl2Mw-Y60>(d=qQijV8gCCZb% z3<E?QT^Fh>Weo6b6%CJwwakx*Y&HGNoVM%hr)bMBr!|+eS{}bCHmCU7(e!!uHZHwU ze(v1M*O!hmU0c3+$-%D3qFzlFne2J9rp;Wu;8)n}{4IN}rPozF{dR+Gc4yV>l$mv> zzU9xHDm!CY=Iu7|m5sgI7_UrU`s+q@jkm37{tm8h>xw6ahUr{6ZhHL9mD|4BadV$m zP7mM6r@^-_>5XBv+}26meR4Z<1CK0gVb?PeZ+oiyqpIm^TtJfxm+cM#w)9+<NiO?t z&$Dje5RGv<$S<{LqKo(nj$}?gr4oV9;z=bo&g|JME^{ba#9aDjCYO4JgC}IpCyx8G kS%UnzK5q#=>TdO+ZldSblDfaHJ8#qlC@2aDFfdpH0AkZI!T<mO 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