From 8f94fb3647dd78d0c4a34d217a3469d3261d6b63 Mon Sep 17 00:00:00 2001 From: cvs2svn Date: Tue, 15 Oct 2002 11:47:43 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'v2112b'. Sprout from master 2002-10-15 11:47:41 UTC Grant Gayed '*** empty log message ***' Cherrypick from master 2002-09-03 16:51:27 UTC Veronika Irvine 'Adding missing public API. Implementation still needs to be provided.': bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java Delete: examples/org.eclipse.swt.examples.controls/.classpath examples/org.eclipse.swt.examples.controls/.cvsignore examples/org.eclipse.swt.examples.controls/.project examples/org.eclipse.swt.examples.controls/about.html examples/org.eclipse.swt.examples.controls/build.properties examples/org.eclipse.swt.examples.controls/doc-html/hglegal2002.htm examples/org.eclipse.swt.examples.controls/doc-html/ngibmcpy2002.gif examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html examples/org.eclipse.swt.examples.controls/icons/controls_example.gif examples/org.eclipse.swt.examples.controls/plugin.properties examples/org.eclipse.swt.examples.controls/plugin.xml examples/org.eclipse.swt.examples.controls/src/import.properties examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlPlugin.java examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlView.java examples/org.eclipse.swt.examples.launcher/.classpath examples/org.eclipse.swt.examples.launcher/.cvsignore examples/org.eclipse.swt.examples.launcher/.project examples/org.eclipse.swt.examples.launcher/about.html examples/org.eclipse.swt.examples.launcher/build.properties examples/org.eclipse.swt.examples.launcher/doc-html/hglegal2002.htm examples/org.eclipse.swt.examples.launcher/doc-html/ngibmcpy2002.gif examples/org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html examples/org.eclipse.swt.examples.launcher/doc/org.eclipse.swt.examples.launcher.launchItems.html examples/org.eclipse.swt.examples.launcher/icons/closedFolder.gif examples/org.eclipse.swt.examples.launcher/icons/generic_example.gif examples/org.eclipse.swt.examples.launcher/icons/launcher_example.gif examples/org.eclipse.swt.examples.launcher/icons/openFolder.gif examples/org.eclipse.swt.examples.launcher/plugin.properties examples/org.eclipse.swt.examples.launcher/plugin.xml examples/org.eclipse.swt.examples.launcher/schema/org.eclipse.swt.examples.launcher.launchItems.exsd examples/org.eclipse.swt.examples.launcher/src/import.properties examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemDescriptor.java examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemTreeNode.java examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherPlugin.java examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherView.java examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/SplitLayout.java examples/org.eclipse.swt.examples.layouts/.classpath examples/org.eclipse.swt.examples.layouts/.cvsignore examples/org.eclipse.swt.examples.layouts/.project examples/org.eclipse.swt.examples.layouts/about.html examples/org.eclipse.swt.examples.layouts/build.properties examples/org.eclipse.swt.examples.layouts/doc-html/hglegal2002.htm examples/org.eclipse.swt.examples.layouts/doc-html/ngibmcpy2002.gif examples/org.eclipse.swt.examples.layouts/doc-html/swt_layout_ex.html examples/org.eclipse.swt.examples.layouts/icons/layouts_example.gif examples/org.eclipse.swt.examples.layouts/plugin.properties examples/org.eclipse.swt.examples.layouts/plugin.xml examples/org.eclipse.swt.examples.layouts/src/import.properties examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutPlugin.java examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutView.java examples/org.eclipse.swt.examples.ole.win32/.classpath examples/org.eclipse.swt.examples.ole.win32/.cvsignore examples/org.eclipse.swt.examples.ole.win32/.project examples/org.eclipse.swt.examples.ole.win32/about.html examples/org.eclipse.swt.examples.ole.win32/build.properties examples/org.eclipse.swt.examples.ole.win32/doc-html/hglegal2002.htm examples/org.eclipse.swt.examples.ole.win32/doc-html/ngibmcpy2002.gif examples/org.eclipse.swt.examples.ole.win32/doc-html/swt_ole_ex.html examples/org.eclipse.swt.examples.ole.win32/icons/backward_nav.gif examples/org.eclipse.swt.examples.ole.win32/icons/forward_nav.gif examples/org.eclipse.swt.examples.ole.win32/icons/home_nav.gif examples/org.eclipse.swt.examples.ole.win32/icons/refresh_nav.gif examples/org.eclipse.swt.examples.ole.win32/icons/search_nav.gif examples/org.eclipse.swt.examples.ole.win32/icons/stop_nav.gif examples/org.eclipse.swt.examples.ole.win32/icons/webbrowser_example.gif examples/org.eclipse.swt.examples.ole.win32/plugin.properties examples/org.eclipse.swt.examples.ole.win32/plugin.xml examples/org.eclipse.swt.examples.ole.win32/src/import.properties examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OlePlugin.java examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleWebBrowser.java examples/org.eclipse.swt.examples.paint/.classpath examples/org.eclipse.swt.examples.paint/.cvsignore examples/org.eclipse.swt.examples.paint/.project examples/org.eclipse.swt.examples.paint/about.html examples/org.eclipse.swt.examples.paint/build.properties examples/org.eclipse.swt.examples.paint/doc-html/hglegal2002.htm examples/org.eclipse.swt.examples.paint/doc-html/ngibmcpy2002.gif examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html examples/org.eclipse.swt.examples.paint/icons/fill_none.gif examples/org.eclipse.swt.examples.paint/icons/fill_outline.gif examples/org.eclipse.swt.examples.paint/icons/fill_solid.gif examples/org.eclipse.swt.examples.paint/icons/linestyle_dash.gif examples/org.eclipse.swt.examples.paint/icons/linestyle_dashdot.gif examples/org.eclipse.swt.examples.paint/icons/linestyle_dot.gif examples/org.eclipse.swt.examples.paint/icons/linestyle_solid.gif examples/org.eclipse.swt.examples.paint/icons/options_font.gif examples/org.eclipse.swt.examples.paint/icons/paint_example.gif examples/org.eclipse.swt.examples.paint/icons/tool_airbrush.gif examples/org.eclipse.swt.examples.paint/icons/tool_ellipse.gif examples/org.eclipse.swt.examples.paint/icons/tool_line.gif examples/org.eclipse.swt.examples.paint/icons/tool_pencil.gif examples/org.eclipse.swt.examples.paint/icons/tool_polyline.gif examples/org.eclipse.swt.examples.paint/icons/tool_rectangle.gif examples/org.eclipse.swt.examples.paint/icons/tool_roundedrectangle.gif examples/org.eclipse.swt.examples.paint/icons/tool_text.gif examples/org.eclipse.swt.examples.paint/plugin.properties examples/org.eclipse.swt.examples.paint/plugin.xml examples/org.eclipse.swt.examples.paint/src/import.properties examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/AirbrushTool.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/Figure.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineFigure.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineTool.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PointFigure.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextFigure.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextTool.java examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java examples/org.eclipse.swt.examples/.classpath examples/org.eclipse.swt.examples/.cvsignore examples/org.eclipse.swt.examples/.project examples/org.eclipse.swt.examples/about.html examples/org.eclipse.swt.examples/build.properties examples/org.eclipse.swt.examples/doc-html/hglegal2002.htm examples/org.eclipse.swt.examples/doc-html/ngibmcpy2002.gif examples/org.eclipse.swt.examples/doc-html/swt_addressbook_ex.html examples/org.eclipse.swt.examples/doc-html/swt_controls_ex.html examples/org.eclipse.swt.examples/doc-html/swt_fileviewer_ex.html examples/org.eclipse.swt.examples/doc-html/swt_helloworld_ex.html examples/org.eclipse.swt.examples/doc-html/swt_hoverhelp_ex.html examples/org.eclipse.swt.examples/doc-html/swt_imageanalyzer_ex.html examples/org.eclipse.swt.examples/doc-html/swt_javaviewer_ex.html examples/org.eclipse.swt.examples/doc-html/swt_launcher_ex.html examples/org.eclipse.swt.examples/doc-html/swt_layout_ex.html examples/org.eclipse.swt.examples/doc-html/swt_manual_setup.html examples/org.eclipse.swt.examples/doc-html/swt_texteditor_ex.html examples/org.eclipse.swt.examples/plugin.properties examples/org.eclipse.swt.examples/plugin.xml examples/org.eclipse.swt.examples/src/examples_addressbook.properties examples/org.eclipse.swt.examples/src/examples_control.properties examples/org.eclipse.swt.examples/src/examples_fileviewer.properties examples/org.eclipse.swt.examples/src/examples_helloworld.properties examples/org.eclipse.swt.examples/src/examples_hoverhelp.properties examples/org.eclipse.swt.examples/src/examples_images.properties examples/org.eclipse.swt.examples/src/examples_javaviewer.properties examples/org.eclipse.swt.examples/src/examples_layout.properties examples/org.eclipse.swt.examples/src/examples_texteditor.properties examples/org.eclipse.swt.examples/src/import.properties examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/AddressBook.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/DataEntryDialog.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/FindListener.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/addressbook/SearchDialog.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/AlignableTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ButtonTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ComboTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CoolBarTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DialogTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LabelTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ListTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ProgressBarTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/RangeTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScrollableTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ShellTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SliderTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TableTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TextTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolBarTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TreeTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/bold.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/bold_mask.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/closedFolder.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/openFolder.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/red.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/red_mask.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/target.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/yellow.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/yellow_mask.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/FileViewer.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Copy.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Cut.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Delete.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Parent.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Paste.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Print.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Refresh.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Rename.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/cmd_Search.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/generic_example.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_ClosedDrive.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_ClosedFolder.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_File.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_OpenDrive.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/icon_OpenFolder.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld1.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld2.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld3.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld4.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld5.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/HoverHelp.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/information.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/hoverhelp/warning.gif examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaLineStyler.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaViewer.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FillLayoutTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FormLayoutTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/GridLayoutTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/LayoutExample.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/RowLayoutTab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/Tab.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/Images.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/TextEditor.java examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/blue.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/blue_mask.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/bold.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/bold_mask.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/erase.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/erase_mask.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/green.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/green_mask.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/red.bmp examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/texteditor/red_mask.bmp tests/org.eclipse.swt.tests/.classpath tests/org.eclipse.swt.tests/.cvsignore tests/org.eclipse.swt.tests/.project tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllGraphicsTests.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllTests.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllWidgetTests.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/EmulatedWidgetsTests.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/StyledTextContentSpec.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/SwtJunit.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/SwtTestCase.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_SWT.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_SWTError.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_SWTException.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_AnimatedProgress.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_BidiSegmentEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_BidiSegmentListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_BusyIndicator.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_CCombo.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_CLabel.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_CTabFolder.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_CTabFolderAdapter.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_CTabFolderEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_CTabFolderListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_CTabItem.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_ControlEditor.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_ExtendedModifyEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_ExtendedModifyListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_LineBackgroundEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_LineBackgroundListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_LineStyleEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_LineStyleListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_PopupList.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_ST.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_SashForm.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_ScrolledComposite.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_StackLayout.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_StyleRange.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_StyledText.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_StyledTextContent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_TableEditor.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_TableTree.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_TableTreeEditor.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_TableTreeItem.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_TextChangeListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_TextChangedEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_TextChangingEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_TreeEditor.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_VerifyKeyListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_custom_ViewForm.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_ByteArrayTransfer.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_Clipboard.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_DND.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_DragSource.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_DragSourceAdapter.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_DragSourceEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_DragSourceListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_DropTarget.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_DropTargetAdapter.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_DropTargetEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_DropTargetListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_FileTransfer.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_RTFTransfer.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_TextTransfer.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_Transfer.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_dnd_TransferData.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_ArmEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_ArmListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_ControlAdapter.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_ControlEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_ControlListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_DisposeEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_DisposeListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_FocusAdapter.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_FocusEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_FocusListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_HelpEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_HelpListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_KeyAdapter.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_KeyEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_KeyListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_MenuAdapter.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_MenuEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_MenuListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_ModifyEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_ModifyListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_MouseAdapter.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_MouseEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_MouseListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_MouseMoveListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_MouseTrackAdapter.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_MouseTrackListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_PaintEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_PaintListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_SelectionAdapter.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_SelectionEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_SelectionListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_ShellAdapter.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_ShellEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_ShellListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_TraverseEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_TraverseListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_TreeAdapter.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_TreeEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_TreeListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_TypedEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_VerifyEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_events_VerifyListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Color.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Cursor.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Device.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_DeviceData.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Drawable.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Font.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_FontData.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_FontMetrics.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_GC.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_GCData.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Image.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_ImageData.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_ImageLoader.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_ImageLoaderEvent.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_ImageLoaderListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_PaletteData.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Point.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_RGB.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Rectangle.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Region.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_layout_FillLayout.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_layout_GridData.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_layout_GridLayout.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_layout_RowData.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_layout_RowLayout.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_printing_PrintDialog.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_printing_Printer.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_printing_PrinterData.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_program_Program.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Button.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Canvas.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Caret.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_ColorDialog.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Combo.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Composite.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Control.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_CoolBar.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_CoolItem.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Decorations.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Dialog.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_DirectoryDialog.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Display.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Event.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_FileDialog.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_FontDialog.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Group.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Item.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Label.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Layout.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_List.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Listener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Menu.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_MenuItem.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_MessageBox.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_ProgressBar.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Sash.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Scale.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_ScrollBar.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Scrollable.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Shell.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Slider.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Synchronizer.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_TabFolder.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_TabItem.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Table.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_TableColumn.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_TableItem.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Text.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_ToolBar.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_ToolItem.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Tracker.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Tree.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_TreeItem.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_TypedListener.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Widget.java tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/check.bmp tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/dot.gif tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/folder.bmp tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/folderOpen.bmp tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/push.bmp tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/radio.bmp tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/target.bmp tests/org.eclipse.swt.tests/about.html tests/org.eclipse.swt.tests/build.properties tests/org.eclipse.swt.tests/plugin.properties tests/org.eclipse.swt.tests/plugin.xml tests/org.eclipse.swt.tests/test.xml --- .../src/import.properties | 4 - .../eclipse/swt/examples/paint/AirbrushTool.java | 74 --- .../swt/examples/paint/BasicPaintSession.java | 12 - .../swt/examples/paint/ContainerFigure.java | 89 ---- .../swt/examples/paint/ContinuousPaintSession.java | 228 ---------- .../swt/examples/paint/DragPaintSession.java | 131 ------ .../eclipse/swt/examples/paint/EllipseFigure.java | 48 -- .../eclipse/swt/examples/paint/EllipseTool.java | 59 --- .../src/org/eclipse/swt/examples/paint/Figure.java | 34 -- .../swt/examples/paint/FigureDrawContext.java | 36 -- .../org/eclipse/swt/examples/paint/LineFigure.java | 48 -- .../org/eclipse/swt/examples/paint/LineTool.java | 54 --- .../eclipse/swt/examples/paint/PaintPlugin.java | 80 ---- .../eclipse/swt/examples/paint/PaintSession.java | 54 --- .../eclipse/swt/examples/paint/PaintSurface.java | 31 -- .../org/eclipse/swt/examples/paint/PaintTool.java | 15 - .../org/eclipse/swt/examples/paint/PaintView.java | 496 --------------------- .../org/eclipse/swt/examples/paint/PencilTool.java | 54 --- .../eclipse/swt/examples/paint/PointFigure.java | 36 -- .../eclipse/swt/examples/paint/PolyLineTool.java | 71 --- .../swt/examples/paint/RectangleFigure.java | 47 -- .../eclipse/swt/examples/paint/RectangleTool.java | 67 --- .../swt/examples/paint/RoundedRectangleFigure.java | 49 -- .../swt/examples/paint/RoundedRectangleTool.java | 60 --- .../swt/examples/paint/SegmentedPaintSession.java | 155 ------- .../swt/examples/paint/SolidEllipseFigure.java | 40 -- .../swt/examples/paint/SolidPolygonFigure.java | 55 --- .../swt/examples/paint/SolidRectangleFigure.java | 39 -- .../paint/SolidRoundedRectangleFigure.java | 41 -- .../org/eclipse/swt/examples/paint/TextFigure.java | 45 -- .../org/eclipse/swt/examples/paint/TextTool.java | 124 ------ .../eclipse/swt/examples/paint/ToolSettings.java | 29 -- 32 files changed, 2405 deletions(-) delete mode 100644 examples/org.eclipse.swt.examples.paint/src/import.properties delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/AirbrushTool.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/Figure.java delete mode 100644 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineFigure.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineTool.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java delete mode 100644 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PointFigure.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextFigure.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextTool.java delete mode 100755 examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java (limited to 'examples/org.eclipse.swt.examples.paint/src') diff --git a/examples/org.eclipse.swt.examples.paint/src/import.properties b/examples/org.eclipse.swt.examples.paint/src/import.properties deleted file mode 100644 index 265131a99c..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/import.properties +++ /dev/null @@ -1,4 +0,0 @@ -# Persist project settings for later import -natures = org.eclipse.jdt.core.javanature; org.eclipse.pde.PluginNature -builders = org.eclipse.jdt.core.javabuilder; org.eclipse.pde.ManifestBuilder; org.eclipse.pde.SchemaBuilder -var.ECLIPSE_PLUGINS = <> diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/AirbrushTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/AirbrushTool.java deleted file mode 100755 index b6884de51a..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/AirbrushTool.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import java.util.Random; import org.eclipse.swt.graphics.*; - -/** - * An airbrush tool. - */ -public class AirbrushTool extends ContinuousPaintSession implements PaintTool { - private ToolSettings settings; - private Random random; - private int cachedRadiusSquared; - private int cachedNumPoints; - - /** - * Constructs a Tool. - * - * @param toolSettings the new tool settings - * @param paintSurface the PaintSurface we will render on. - */ - public AirbrushTool(ToolSettings toolSettings, PaintSurface paintSurface) { - super(paintSurface); - random = new Random(); - setRetriggerTimer(10); - set(toolSettings); - } - - /** - * Sets the tool's settings. - * - * @param toolSettings the new tool settings - */ - public void set(ToolSettings toolSettings) { - // compute things we need to know for drawing - settings = toolSettings; - cachedRadiusSquared = settings.airbrushRadius * settings.airbrushRadius; - cachedNumPoints = 314 * settings.airbrushIntensity * cachedRadiusSquared / 250000; - if (cachedNumPoints == 0 && settings.airbrushIntensity != 0) - cachedNumPoints = 1; - } - - /** - * Returns the name associated with this tool. - * - * @return the localized name of this tool - */ - public String getDisplayName() { - return PaintPlugin.getResourceString("tool.Airbrush.label"); - } - - /* - * Template method for drawing - */ - protected void render(Point point) { - // Draws a bunch (cachedNumPoints) of random pixels within a specified circle (cachedRadiusSquared). - ContainerFigure cfig = new ContainerFigure(); - - for (int i = 0; i < cachedNumPoints; ++i) { - int randX, randY; - do { - randX = (int) ((random.nextDouble() - 0.5) * settings.airbrushRadius * 2.0); - randY = (int) ((random.nextDouble() - 0.5) * settings.airbrushRadius * 2.0); - } while (randX * randX + randY * randY > cachedRadiusSquared); - cfig.add(new PointFigure(settings.commonForegroundColor, point.x + randX, point.y + randY)); - } - getPaintSurface().drawFigure(cfig); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java deleted file mode 100755 index 1a7e3942b6..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -public abstract class BasicPaintSession implements PaintSession { - /** * The paint surface */ private PaintSurface paintSurface; /** * Constructs a PaintSession. * * @param paintSurface the drawing surface to use */ protected BasicPaintSession(PaintSurface paintSurface) { this.paintSurface = paintSurface; } /** - * Returns the paint surface associated with this paint session. * * @return the associated PaintSurface */ public PaintSurface getPaintSurface() { return paintSurface; } } diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java deleted file mode 100755 index 8416429f6a..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -/** - * Container for Figure objects with stacking preview mechanism. - */ -public class ContainerFigure extends Figure { - private static final int INITIAL_ARRAY_SIZE = 16; - - Figure[] objectStack = null; - int nextIndex = 0; - - /** - * Constructs an empty Container - */ - public ContainerFigure() { - } - /** - * Adds an object to the container for later drawing. - * - * @param object the object to add to the drawing list - */ - public void add(Figure object) { - if (objectStack == null) { - objectStack = new Figure[INITIAL_ARRAY_SIZE]; - } else if (objectStack.length <= nextIndex) { - Figure[] newObjectStack = new Figure[objectStack.length * 2]; - System.arraycopy(objectStack, 0, newObjectStack, 0, objectStack.length); - objectStack = newObjectStack; - } - objectStack[nextIndex] = object; - ++nextIndex; - } - /** - * Determines if the container is empty. - * @return true if the container is empty - */ - public boolean isEmpty() { - return nextIndex == 0; - } - /** - * Adds an object to the container and draws its preview then updates the supplied preview state. - * - * @param object the object to add to the drawing list - * @param gc the GC to draw on - * @param offset the offset to add to virtual coordinates to get display coordinates - * @param rememberedState the state returned by a previous drawPreview() or addAndPreview() - * using this Container, may be null if there was no such previous call - * @return object state that must be passed to erasePreview() later to erase this object - */ -// public Object addAndPreview(Figure object, GC gc, Point offset, Object rememberedState) { -// Object[] stateStack = (Object[]) rememberedState; -// if (stateStack == null) { -// stateStack = new Object[INITIAL_ARRAY_SIZE]; -// } else if (stateStack.length <= nextIndex) { -// Object[] newStateStack = new Object[stateStack.length * 2]; -// System.arraycopy(stateStack, 0, newStateStack, 0, stateStack.length); -// stateStack = newStateStack; -// } -// add(object); -// stateStack[nextIndex - 1] = object.drawPreview(gc, offset); -// return stateStack; -// } - /** - * Clears the container. - *

- * Note that erasePreview() cannot be called after this point to erase any previous - * drawPreview()'s. - *

- */ - public void clear() { - while (--nextIndex > 0) objectStack[nextIndex] = null; - nextIndex = 0; - } - public void draw(FigureDrawContext fdc) { - for (int i = 0; i < nextIndex; ++i) objectStack[i].draw(fdc); - } - public void addDamagedRegion(FigureDrawContext fdc, Region region) { - for (int i = 0; i < nextIndex; ++i) objectStack[i].addDamagedRegion(fdc, region); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java deleted file mode 100755 index f5efcb789d..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java +++ /dev/null @@ -1,228 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.events.*; import org.eclipse.swt.graphics.*; import org.eclipse.swt.widgets.*; - -/** - * The superclass for paint tools that draw continuously along the path - * traced by the mouse's movement while the button is depressed - */ -public abstract class ContinuousPaintSession extends BasicPaintSession { - /** - * True if a click-drag is in progress. - */ - private boolean dragInProgress = false; - - /** - * A cached Point array for drawing. - */ - private Point[] points = new Point[] { new Point(-1, -1), new Point(-1, -1) }; - - /** - * The time to wait between retriggers in milliseconds. - */ - private int retriggerInterval = 0; - - /** - * The currently valid RetriggerHandler - */ - protected Runnable retriggerHandler = null; - - /** - * Constructs a ContinuousPaintSession. - * - * @param paintSurface the drawing surface to use - */ - protected ContinuousPaintSession(PaintSurface paintSurface) { - super(paintSurface); - } - - /** - * Sets the retrigger timer. - *

- * After the timer elapses, if the mouse is still hovering over the same point with the - * drag button pressed, a new render order is issued and the timer is restarted. - *

- * @param interval the time in milliseconds to wait between retriggers, 0 to disable - */ - public void setRetriggerTimer(int interval) { - retriggerInterval = interval; - } - - /** - * Activates the tool. - */ - public void beginSession() { - getPaintSurface(). - setStatusMessage(PaintPlugin.getResourceString("session.ContinuousPaint.message")); - dragInProgress = false; - } - - /** - * Deactivates the tool. - */ - public void endSession() { - abortRetrigger(); - } - - /** - * Aborts the current operation. - */ - public void resetSession() { - abortRetrigger(); - } - - /** - * Handles a mouseDown event. - * - * @param event the mouse event detail information - */ - public final void mouseDown(MouseEvent event) { - if (event.button != 1) return; - if (dragInProgress) return; // spurious event - dragInProgress = true; - - points[0].x = event.x; - points[0].y = event.y; - render(points[0]); - prepareRetrigger(); - } - - /** - * Handles a mouseDoubleClick event. - * - * @param event the mouse event detail information - */ - public final void mouseDoubleClick(MouseEvent event) { - } - - /** - * Handles a mouseUp event. - * - * @param event the mouse event detail information - */ - public final void mouseUp(MouseEvent event) { - if (event.button != 1) return; - if (! dragInProgress) return; // spurious event - abortRetrigger(); - mouseSegmentFinished(event); - dragInProgress = false; - } - - /** - * Handles a mouseMove event. - * - * @param event the mouse event detail information - */ - public final void mouseMove(MouseEvent event) { - final PaintSurface ps = getPaintSurface(); - ps.setStatusCoord(ps.getCurrentPosition()); - if (! dragInProgress) return; - mouseSegmentFinished(event); - prepareRetrigger(); - } - - /** - * Handle a rendering segment - * - * @param event the mouse event detail information - */ - private final void mouseSegmentFinished(MouseEvent event) { - if (points[0].x == -1) return; // spurious event - if (points[0].x != event.x || points[0].y != event.y) { - // draw new segment - points[1].x = event.x; - points[1].y = event.y; - renderContinuousSegment(); - } - } - - /** - * Draws a continuous segment from points[0] to points[1]. - * Assumes points[0] has been drawn already. - * - * @post points[0] will refer to the same point as points[1] - */ - protected void renderContinuousSegment() { - /* A lazy but effective line drawing algorithm */ - final int dX = points[1].x - points[0].x; - final int dY = points[1].y - points[0].y; - int absdX = Math.abs(dX); - int absdY = Math.abs(dY); - - if ((dX == 0) && (dY == 0)) return; - - if (absdY > absdX) { - final int incfpX = (dX << 16) / absdY; - final int incY = (dY > 0) ? 1 : -1; - int fpX = points[0].x << 16; // X in fixedpoint format - - while (--absdY >= 0) { - points[0].y += incY; - points[0].x = (fpX += incfpX) >> 16; - render(points[0]); - } - if (points[0].x == points[1].x) return; - points[0].x = points[1].x; - } else { - final int incfpY = (dY << 16) / absdX; - final int incX = (dX > 0) ? 1 : -1; - int fpY = points[0].y << 16; // Y in fixedpoint format - - while (--absdX >= 0) { - points[0].x += incX; - points[0].y = (fpY += incfpY) >> 16; - render(points[0]); - } - if (points[0].y == points[1].y) return; - points[0].y = points[1].y; - } - render(points[0]); - } - - /** - * Prepare the retrigger timer - */ - private final void prepareRetrigger() { - if (retriggerInterval > 0) { - /* - * timerExec() provides a lightweight mechanism for running code at intervals from within - * the event loop when timing accuracy is not important. - * - * Since it is not possible to cancel a timerExec(), we remember the Runnable that is - * active in order to distinguish the valid one from the stale ones. In practice, - * if the interval is 1/100th of a second, then creating a few hundred new RetriggerHandlers - * each second will not cause a significant performance hit. - */ - Display display = getPaintSurface().getDisplay(); - retriggerHandler = new Runnable() { - public void run() { - if (retriggerHandler == this) { - render(points[0]); - prepareRetrigger(); - } - } - }; - display.timerExec(retriggerInterval, retriggerHandler); - } - } - - /** - * Aborts the retrigger timer - */ - private final void abortRetrigger() { - retriggerHandler = null; - } - - /** - * Template method: Renders a point. - * @param point, the point to render - */ - protected abstract void render(Point point); -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java deleted file mode 100755 index 728f1707a1..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.graphics.*; - -/** - * The superclass for paint tools that use click-drag-release motions to - * draw objects. - */ -public abstract class DragPaintSession extends BasicPaintSession { - /** - * True if a click-drag is in progress - */ - private boolean dragInProgress = false; - - /** - * The position of the first click in a click-drag - */ - private Point anchorPosition = new Point(-1, -1); - - /** - * A temporary point - */ - private Point tempPosition = new Point(-1, -1); - - /** - * Constructs a PaintSession. - * - * @param getPaintSurface() the drawing surface to use - */ - protected DragPaintSession(PaintSurface paintSurface) { - super(paintSurface); - } - - /** - * Activates the tool. - */ - public void beginSession() { - getPaintSurface(). - setStatusMessage(PaintPlugin.getResourceString("session.DragInteractivePaint.message")); - anchorPosition.x = -1; - dragInProgress = false; - } - - /** - * Deactivates the tool. - */ - public void endSession() { - } - - /** - * Resets the tool. - * Aborts any operation in progress. - */ - public void resetSession() { - getPaintSurface().clearRubberbandSelection(); - anchorPosition.x = -1; - dragInProgress = false; - } - - /** - * Handles a mouseDown event. - * - * @param event the mouse event detail information - */ - public void mouseDown(MouseEvent event) { - if (event.button != 1) return; - if (dragInProgress) return; // spurious event - dragInProgress = true; - - anchorPosition.x = event.x; - anchorPosition.y = event.y; - } - - /** - * Handles a mouseDoubleClick event. - * - * @param event the mouse event detail information - */ - public void mouseDoubleClick(MouseEvent event) { - } - - /** - * Handles a mouseUp event. - * - * @param event the mouse event detail information - */ - public void mouseUp(MouseEvent event) { - if (event.button != 1) { - resetSession(); // abort if right or middle mouse button pressed - return; - } - if (! dragInProgress) return; // spurious event - dragInProgress = false; - if (anchorPosition.x == -1) return; // spurious event - - getPaintSurface().commitRubberbandSelection(); - } - - /** - * Handles a mouseMove event. - * - * @param event the mouse event detail information - */ - public void mouseMove(MouseEvent event) { - final PaintSurface ps = getPaintSurface(); - if (! dragInProgress) { - ps.setStatusCoord(ps.getCurrentPosition()); - return; - } - ps.setStatusCoordRange(anchorPosition, ps.getCurrentPosition()); - ps.clearRubberbandSelection(); - tempPosition.x = event.x; - tempPosition.y = event.y; - ps.addRubberbandSelection(createFigure(anchorPosition, tempPosition)); - } - - /** - * Template Method: Creates a Figure for drawing rubberband entities and the final product - * - * @param anchor the anchor point - * @param cursor the point marking the current pointer location - */ - protected abstract Figure createFigure(Point anchor, Point cursor); -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java deleted file mode 100755 index 27eedb39b5..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; - -/** - * 2D Ellipse object - */ -public class EllipseFigure extends Figure { - private Color foregroundColor, backgroundColor; - private int lineStyle, x1, y1, x2, y2; - /** - * Constructs an Ellipse - * These objects are defined by any two diametrically opposing corners of a box - * bounding the ellipse. - * - * @param color the color for this object - * @param lineStyle the line style for this object - * @param x1 the virtual X coordinate of the first corner - * @param y1 the virtual Y coordinate of the first corner - * @param x2 the virtual X coordinate of the second corner - * @param y2 the virtual Y coordinate of the second corner - */ - public EllipseFigure(Color foregroundColor, Color backgroundColor, int lineStyle, int x1, int y1, int x2, int y2) { - this.foregroundColor = foregroundColor; - this.backgroundColor = backgroundColor; - this.lineStyle = lineStyle; - this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; - } - public void draw(FigureDrawContext fdc) { - Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2); - fdc.gc.setForeground(foregroundColor); - fdc.gc.setBackground(backgroundColor); - fdc.gc.setLineStyle(lineStyle); - fdc.gc.drawOval(r.x, r.y, r.width - 1, r.height - 1); - fdc.gc.setLineStyle(SWT.LINE_SOLID); - } - public void addDamagedRegion(FigureDrawContext fdc, Region region) { - region.add(fdc.toClientRectangle(x1, y1, x2, y2)); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java deleted file mode 100755 index 3b3f11f2d9..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -/** - * A drawing tool. - */ -public class EllipseTool extends DragPaintSession implements PaintTool { - private ToolSettings settings; - - /** - * Constructs a EllipseTool. - * - * @param toolSettings the new tool settings - * @param paintSurface the PaintSurface we will render on. - */ - public EllipseTool(ToolSettings toolSettings, PaintSurface paintSurface) { - super(paintSurface); - set(toolSettings); - } - - /** - * Sets the tool's settings. - * - * @param toolSettings the new tool settings - */ - public void set(ToolSettings toolSettings) { - settings = toolSettings; - } - - /** - * Returns name associated with this tool. - * - * @return the localized name of this tool - */ - public String getDisplayName() { - return PaintPlugin.getResourceString("tool.Ellipse.label"); - } - - /* - * Template methods for drawing - */ - protected Figure createFigure(Point a, Point b) { - ContainerFigure container = new ContainerFigure(); - if (settings.commonFillType != ToolSettings.ftNone) - container.add(new SolidEllipseFigure(settings.commonBackgroundColor, a.x, a.y, b.x, b.y)); - if (settings.commonFillType != ToolSettings.ftSolid) - container.add(new EllipseFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle, - a.x, a.y, b.x, b.y)); - return container; - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/Figure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/Figure.java deleted file mode 100755 index be049d1700..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/Figure.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -/** - * Superinterface for all drawing objects. - * All drawing objects know how to render themselved to the screen and can draw a - * temporary version of themselves for previewing the general appearance of the - * object onscreen before it gets committed. - */ -public abstract class Figure { - /** - * Draws this object. - * - * @param fdc a parameter block specifying drawing-related information - */ - public abstract void draw(FigureDrawContext fdc); - - /** - * Computes the damaged screen region caused by drawing this object (imprecise), then - * appends it to the supplied region. - * - * @param fdc a parameter block specifying drawing-related information - * @param region a region to which additional damage areas will be added - */ - public abstract void addDamagedRegion(FigureDrawContext fdc, Region region); -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java deleted file mode 100644 index 4c08aa86cd..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -public class FigureDrawContext { - /* - *

- * The GC must be set up as follows - * (it will be returned to this state upon completion of drawing operations) - *

    - *
  • setXORMode(false) - *
- *

- */ - public GC gc = null; - public int xOffset = 0, yOffset = 0; // substract to get GC coords - public int xScale = 1, yScale = 1; - - public Rectangle toClientRectangle(int x1, int y1, int x2, int y2) { - return new Rectangle( - Math.min(x1, x2) * xScale - xOffset, - Math.min(y1, y2) * yScale - yOffset, - (Math.abs(x2 - x1) + 1) * xScale, - (Math.abs(y2 - y1) + 1) * yScale); - } - public Point toClientPoint(int x, int y) { - return new Point(x * xScale - xOffset, y * yScale - yOffset); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineFigure.java deleted file mode 100755 index f7b0605cb0..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineFigure.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; - -/** - * 2D Line object - */ -public class LineFigure extends Figure { - private Color foregroundColor, backgroundColor; - private int lineStyle, x1, y1, x2, y2; - /** - * Constructs a Line - * These objects are defined by their two end-points. - * - * @param color the color for this object - * @param lineStyle the line style for this object - * @param x1 the virtual X coordinate of the first end-point - * @param y1 the virtual Y coordinate of the first end-point - * @param x2 the virtual X coordinate of the second end-point - * @param y2 the virtual Y coordinate of the second end-point - */ - public LineFigure(Color foregroundColor, Color backgroundColor, int lineStyle, int x1, int y1, int x2, int y2) { - this.foregroundColor = foregroundColor; - this.backgroundColor = backgroundColor; - this.lineStyle = lineStyle; - this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; - } - public void draw(FigureDrawContext fdc) { - Point p1 = fdc.toClientPoint(x1, y1); - Point p2 = fdc.toClientPoint(x2, y2); - fdc.gc.setForeground(foregroundColor); - fdc.gc.setBackground(backgroundColor); - fdc.gc.setLineStyle(lineStyle); - fdc.gc.drawLine(p1.x, p1.y, p2.x, p2.y); - fdc.gc.setLineStyle(SWT.LINE_SOLID); - } - public void addDamagedRegion(FigureDrawContext fdc, Region region) { - region.add(fdc.toClientRectangle(x1, y1, x2, y2)); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineTool.java deleted file mode 100755 index f919965c86..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineTool.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -/** - * A line drawing tool - */ -public class LineTool extends DragPaintSession implements PaintTool { - private ToolSettings settings; - - /** - * Constructs a LineTool. - * - * @param toolSettings the new tool settings - * @param paintSurface the PaintSurface we will render on. - */ - public LineTool(ToolSettings toolSettings, PaintSurface paintSurface) { - super(paintSurface); - set(toolSettings); - } - - /** - * Sets the tool's settings. - * - * @param toolSettings the new tool settings - */ - public void set(ToolSettings toolSettings) { - settings = toolSettings; - } - - /** - * Returns name associated with this tool. - * - * @return the localized name of this tool - */ - public String getDisplayName() { - return PaintPlugin.getResourceString("tool.Line.label"); - } - - /* - * Template methods for drawing - */ - protected Figure createFigure(Point a, Point b) { - return new LineFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle, - a.x, a.y, b.x, b.y); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java deleted file mode 100755 index e4da0cf02f..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.core.runtime.*; -import org.eclipse.ui.plugin.*; - -import java.text.*; -import java.util.*; - -/** - * The main plugin class to be used in the desktop. - */ -public class PaintPlugin extends AbstractUIPlugin { - //The shared instance. - private static PaintPlugin plugin; - private static ResourceBundle resourceBundle; - - /** - * Constructs the Paint plugin. - */ - public PaintPlugin(IPluginDescriptor descriptor) { - super(descriptor); - plugin = this; - resourceBundle = descriptor.getResourceBundle(); - } - - /** - * Returns the shared instance. - */ - public static PaintPlugin getDefault() { - return plugin; - } - - /** - * Log an error to the ILog for this plugin - * - * @param message the localized error message text - * @param exception the associated exception, or null - */ - public static void logError(String message, Throwable exception) { - plugin.getLog().log(new Status(IStatus.ERROR, plugin.getDescriptor().getUniqueIdentifier(), - 0, message, exception)); - } - - /** - * Returns a string from the resource bundle. - * We don't want to crash because of a missing String. - * Returns the key if not found. - */ - public static String getResourceString(String key) { - try { - return resourceBundle.getString(key); - } catch (MissingResourceException e) { - return key; - } catch (NullPointerException e) { - return "!" + key + "!"; - } - } - - /** - * Returns a string from the resource bundle and binds it - * with the given arguments. If the key is not found, - * return the key. - */ - public static String getResourceString(String key, Object[] args) { - try { - return MessageFormat.format(getResourceString(key), args); - } catch (MissingResourceException e) { - return key; - } catch (NullPointerException e) { - return "!" + key + "!"; - } - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java deleted file mode 100755 index a5a43d03cc..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.events.*; - -/** - * Manages an interactive paint session. - * Note that the coordinates received via the listener interfaces are virtualized to zero-origin - * relative to the painting surface. - */ -public interface PaintSession extends MouseListener, MouseMoveListener { - /** - * Returns the paint surface associated with this paint session - * - * @return the associated PaintSurface - */ - public PaintSurface getPaintSurface(); - - /** - * Activates the session. - * - * Note: When overriding this method, call super.beginSession() at method start. - */ - public abstract void beginSession(); - - /** - * Deactivates the session. - * - * Note: When overriding this method, call super.endSession() at method exit. - */ - public abstract void endSession(); - - /** - * Resets the session. - * Aborts any operation in progress. - * - * Note: When overriding this method, call super.resetSession() at method exit. - */ - public abstract void resetSession(); - - - /** - * Returns the name associated with this tool. - * - * @return the localized name of this tool - */ - public String getDisplayName(); -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java deleted file mode 100755 index f9fd2064a2..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.eclipse.swt.examples.paint; -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - import org.eclipse.swt.events.*; import org.eclipse.swt.graphics.*; import org.eclipse.swt.widgets.*; - /** * Manages a simple drawing surface. */ -public class PaintSurface { private Point currentPosition = new Point(0, 0); - private Canvas paintCanvas; private PaintSession paintSession; private Image image; private Image paintImage; // buffer for refresh blits private int imageWidth, imageHeight; private int visibleWidth, visibleHeight; private FigureDrawContext displayFDC = new FigureDrawContext(); private FigureDrawContext imageFDC = new FigureDrawContext(); private FigureDrawContext paintFDC = new FigureDrawContext(); /* Rubberband */ private ContainerFigure rubberband = new ContainerFigure(); // the active rubberband selection private int rubberbandHiddenNestingCount = 0; // always >= 0, if > 0 rubberband has been hidden /* Status */ private Text statusText; private String statusActionInfo, statusMessageInfo, statusCoordInfo; /** * Constructs a PaintSurface. *

* paintCanvas must have SWT.NO_REDRAW_RESIZE and SWT.NO_BACKGROUND styles, * and may have SWT.V_SCROLL and/or SWT.H_SCROLL. *

* @param paintCanvas the Canvas object in which to render * @param paintStatus the PaintStatus object to use for providing user feedback * @param fillColor the color to fill the canvas with initially */ - public PaintSurface(Canvas paintCanvas, Text statusText, Color fillColor) { this.paintCanvas = paintCanvas; this.statusText = statusText; clearStatus(); /* Set up the drawing surface */ Rectangle displayRect = paintCanvas.getDisplay().getClientArea(); imageWidth = displayRect.width; imageHeight = displayRect.height; image = new Image(paintCanvas.getDisplay(), imageWidth, imageHeight); imageFDC.gc = new GC(image); imageFDC.gc.setBackground(fillColor); imageFDC.gc.fillRectangle(0, 0, imageWidth, imageHeight); displayFDC.gc = new GC(paintCanvas); /* Initialize the session */ setPaintSession(null); /* Add our listeners */ paintCanvas.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { displayFDC.gc.dispose(); } }); paintCanvas.addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent event) { processMouseEventCoordinates(event); if (paintSession != null) paintSession.mouseDown(event); } public void mouseUp(MouseEvent event) { processMouseEventCoordinates(event); if (paintSession != null) paintSession.mouseUp(event); } public void mouseDoubleClick(MouseEvent event) { processMouseEventCoordinates(event); if (paintSession != null) paintSession.mouseDoubleClick(event); } }); paintCanvas.addMouseMoveListener(new MouseMoveListener() { public void mouseMove(MouseEvent event) { processMouseEventCoordinates(event); if (paintSession != null) paintSession.mouseMove(event); } }); paintCanvas.addPaintListener(new PaintListener() { public void paintControl(PaintEvent event) { if (rubberband.isEmpty()) { // Nothing to merge, so we just refresh event.gc.drawImage(image, displayFDC.xOffset + event.x, displayFDC.yOffset + event.y, event.width, event.height, event.x, event.y, event.width, event.height); } else { /* * Avoid flicker when merging overlayed objects by constructing the image on * a backbuffer first, then blitting it to the screen. */ // Check that the backbuffer is large enough if (paintImage != null) { Rectangle rect = paintImage.getBounds(); if ((event.width + event.x > rect.width) || (event.height + event.y > rect.height)) { paintFDC.gc.dispose(); paintImage.dispose(); paintImage = null; } } if (paintImage == null) { Display display = getDisplay(); Rectangle rect = display.getClientArea(); paintImage = new Image(display, Math.max(rect.width, event.width + event.x), Math.max(rect.height, event.height + event.y)); paintFDC.gc = new GC(paintImage); } // Setup clipping and the FDC Region clipRegion = new Region(); event.gc.getClipping(clipRegion); paintFDC.gc.setClipping(clipRegion); clipRegion.dispose(); paintFDC.xOffset = displayFDC.xOffset; paintFDC.yOffset = displayFDC.yOffset; paintFDC.xScale = displayFDC.xScale; paintFDC.yScale = displayFDC.yScale; // Merge the overlayed objects into the image, then blit paintFDC.gc.drawImage(image, displayFDC.xOffset + event.x, displayFDC.yOffset + event.y, event.width, event.height, event.x, event.y, event.width, event.height); rubberband.draw(paintFDC); event.gc.drawImage(paintImage, event.x, event.y, event.width, event.height, event.x, event.y, event.width, event.height); } } }); paintCanvas.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent event) { handleResize(); } }); /* Set up the paint canvas scroll bars */ ScrollBar horizontal = paintCanvas.getHorizontalBar(); horizontal.setVisible(true); horizontal.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { scrollHorizontally((ScrollBar)event.widget); } }); ScrollBar vertical = paintCanvas.getVerticalBar(); vertical.setVisible(true); vertical.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { scrollVertically((ScrollBar)event.widget); } }); handleResize(); } /** * Disposes of the PaintSurface's resources. */ public void dispose() { imageFDC.gc.dispose(); image.dispose(); if (paintImage != null) { paintImage.dispose(); paintFDC.gc.dispose(); } currentPosition = null; paintCanvas = null; paintSession = null; image = null; paintImage = null; displayFDC = null; imageFDC = null; paintFDC = null; rubberband = null; statusText = null; statusActionInfo = null; statusMessageInfo = null; statusCoordInfo = null; } /** * Called when we must grab focus. */ public void setFocus() { paintCanvas.setFocus(); } /** * Returns the Display on which the PaintSurface resides. * @return the Display */ public Display getDisplay() { return paintCanvas.getDisplay(); } /** * Returns the Shell in which the PaintSurface resides. * @return the Shell */ public Shell getShell() { return paintCanvas.getShell(); } /** - * Sets the current paint session. *

- * If oldPaintSession != paintSession calls oldPaintSession.end() * and paintSession.begin() *

* - * @param paintSession the paint session to activate; null to disable all sessions - */ - public void setPaintSession(PaintSession paintSession) { - if (this.paintSession != null) { if (this.paintSession == paintSession) return; - this.paintSession.endSession(); } - this.paintSession = paintSession; - clearStatus(); if (paintSession != null) { setStatusAction(paintSession.getDisplayName()); paintSession.beginSession(); } else { setStatusAction(PaintPlugin.getResourceString("tool.Null.label")); setStatusMessage(PaintPlugin.getResourceString("session.Null.message")); } } - - /** - * Returns the current paint session. - * - * @return the current paint session, null if none is active - */ - public PaintSession getPaintSession() { - return paintSession; - } - /** * Returns the current paint tool. * * @return the current paint tool, null if none is active (though some other session * might be) */ public PaintTool getPaintTool() { return (paintSession != null && paintSession instanceof PaintTool) ? (PaintTool)paintSession : null; } /** * Returns the current position in an interactive operation. * * @return the last known position of the pointer */ public Point getCurrentPosition() { return currentPosition; } /** * Draws a Figure object to the screen and to the backing store permanently. * * @param object the object to draw onscreen */ public void drawFigure(Figure object) { object.draw(imageFDC); object.draw(displayFDC); } /** * Adds a Figure object to the active rubberband selection. *

* This object will be drawn to the screen as a preview and refreshed appropriately * until the selection is either cleared or committed. *

* * @param object the object to add to the selection */ public void addRubberbandSelection(Figure object) { rubberband.add(object); if (! isRubberbandHidden()) object.draw(displayFDC); } /** * Clears the active rubberband selection. *

* Erases any rubberband objects on the screen then clears the selection. *

*/ public void clearRubberbandSelection() { if (! isRubberbandHidden()) { Region region = new Region(); rubberband.addDamagedRegion(displayFDC, region); Rectangle r = region.getBounds(); paintCanvas.redraw(r.x, r.y, r.width, r.height, true); region.dispose(); } rubberband.clear(); } /** * Commits the active rubberband selection. *

* Redraws any rubberband objects on the screen as permanent objects then clears the selection. *

*/ public void commitRubberbandSelection() { rubberband.draw(imageFDC); if (isRubberbandHidden()) rubberband.draw(displayFDC); rubberband.clear(); } /** * Hides the rubberband (but does not eliminate it). *

* Increments by one the rubberband "hide" nesting count. The rubberband * is hidden from view (but remains active) if it wasn't already hidden. *

*/ public void hideRubberband() { if (rubberbandHiddenNestingCount++ <= 0) { Region region = new Region(); rubberband.addDamagedRegion(displayFDC, region); Rectangle r = region.getBounds(); paintCanvas.redraw(r.x, r.y, r.width, r.height, true); region.dispose(); } } /** * Shows (un-hides) the rubberband. *

* Decrements by one the rubberband "hide" nesting count. The rubberband * is only made visible when showRubberband() has been called once for each * previous hideRubberband(). It is not permitted to call showRubberband() if * the rubber band is not presently hidden. *

*/ public void showRubberband() { if (rubberbandHiddenNestingCount <= 0) throw new IllegalStateException("rubberbandHiddenNestingCount > 0"); if (--rubberbandHiddenNestingCount == 0) { rubberband.draw(displayFDC); } } /** * Determines if the rubberband is hidden. * * @return true iff the rubber is hidden */ public boolean isRubberbandHidden() { return rubberbandHiddenNestingCount > 0; } /** * Handles a horizontal scroll event * * @param scrollbar the horizontal scroll bar that posted this event */ public void scrollHorizontally(ScrollBar scrollBar) { if (image == null) return; if (imageWidth > visibleWidth) { final int oldOffset = displayFDC.xOffset; final int newOffset = Math.min(scrollBar.getSelection(), imageWidth - visibleWidth); if (oldOffset != newOffset) { paintCanvas.update(); displayFDC.xOffset = newOffset; paintCanvas.scroll(Math.max(oldOffset - newOffset, 0), 0, Math.max(newOffset - oldOffset, 0), 0, visibleWidth, visibleHeight, false); } } } /** * Handles a vertical scroll event * * @param scrollbar the vertical scroll bar that posted this event */ public void scrollVertically(ScrollBar scrollBar) { if (image == null) return; if (imageHeight > visibleHeight) { final int oldOffset = displayFDC.yOffset; final int newOffset = Math.min(scrollBar.getSelection(), imageHeight - visibleHeight); if (oldOffset != newOffset) { paintCanvas.update(); displayFDC.yOffset = newOffset; paintCanvas.scroll(0, Math.max(oldOffset - newOffset, 0), 0, Math.max(newOffset - oldOffset, 0), visibleWidth, visibleHeight, false); } } } /** * Handles resize events */ private void handleResize() { paintCanvas.update(); Rectangle visibleRect = paintCanvas.getClientArea(); visibleWidth = visibleRect.width; visibleHeight = visibleRect.height; ScrollBar horizontal = paintCanvas.getHorizontalBar(); if (horizontal != null) { displayFDC.xOffset = Math.min(horizontal.getSelection(), imageWidth - visibleWidth); if (imageWidth <= visibleWidth) { horizontal.setEnabled(false); horizontal.setSelection(0); } else { final int max = imageWidth - visibleWidth; horizontal.setEnabled(true); horizontal.setValues(displayFDC.xOffset, 0, imageWidth, visibleWidth, 8, visibleWidth); } } ScrollBar vertical = paintCanvas.getVerticalBar(); if (vertical != null) { displayFDC.yOffset = Math.min(vertical.getSelection(), imageHeight - visibleHeight); if (imageHeight <= visibleHeight) { vertical.setEnabled(false); vertical.setSelection(0); } else { final int max = imageHeight - visibleHeight; vertical.setEnabled(true); vertical.setValues(displayFDC.yOffset, 0, imageHeight, visibleHeight, 8, visibleHeight); } } } /** * Virtualizes MouseEvent coordinates and stores the current position. */ private void processMouseEventCoordinates(MouseEvent event) { currentPosition.x = event.x = Math.min(Math.max(event.x, 0), visibleWidth - 1) + displayFDC.xOffset; currentPosition.y = event.y = Math.min(Math.max(event.y, 0), visibleHeight - 1) + displayFDC.yOffset; } /** * Clears the status bar. */ public void clearStatus() { statusActionInfo = ""; statusMessageInfo = ""; statusCoordInfo = ""; updateStatus(); } /** * Sets the status bar action text. * * @param action the action in progress, null to clear */ public void setStatusAction(String action) { statusActionInfo = (action != null) ? action : ""; updateStatus(); } /** * Sets the status bar message text. * * @param message the message to display, null to clear */ public void setStatusMessage(String message) { statusMessageInfo = (message != null) ? message : ""; updateStatus(); } /** * Sets the coordinates in the status bar. * * @param coord the coordinates to display, null to clear */ public void setStatusCoord(Point coord) { statusCoordInfo = (coord != null) ? PaintPlugin.getResourceString("status.Coord.format", new Object[] { new Integer(coord.x), new Integer(coord.y)}) : ""; updateStatus(); } /** * Sets the coordinate range in the status bar. * * @param a the "from" coordinate, must not be null * @param b the "to" coordinate, must not be null */ public void setStatusCoordRange(Point a, Point b) { statusCoordInfo = PaintPlugin.getResourceString("status.CoordRange.format", new Object[] { new Integer(a.x), new Integer(a.y), new Integer(b.x), new Integer(b.y)}); updateStatus(); } /** * Updates the display. */ private void updateStatus() { statusText.setText( PaintPlugin.getResourceString("status.Bar.format", new Object[] { statusActionInfo, statusMessageInfo, statusCoordInfo })); } } diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java deleted file mode 100755 index da27e96033..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.eclipse.swt.examples.paint; -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - public interface PaintTool extends PaintSession { - /** - * Sets the tool's settings. - * - * @param toolSettings the new tool settings - */ - public void set(ToolSettings toolSettings); -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java deleted file mode 100755 index 174de42e8d..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java +++ /dev/null @@ -1,496 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.jface.action.*; -import org.eclipse.jface.resource.*; -import org.eclipse.swt.*; -import org.eclipse.swt.events.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.ui.*; -import org.eclipse.ui.part.*; - -import java.net.*; -import java.util.*; - -/** - * The view for the paint application. - * All rendering happens inside the area created by createPartControl(). - * - * @see ViewPart - */ -public class PaintView extends ViewPart { - private Display workbenchDisplay; - - // current active settings - private ToolSettings toolSettings; - - // paint surface for drawing - private PaintSurface paintSurface; - - // map action ids to useful data - private HashMap /* of String to PaintTool */ paintToolMap; - private HashMap /* of String to Integer */ paintFillTypeMap; - private HashMap /* of String to Integer */ paintLineStyleMap; - - /** UI data **/ - // handle of currently active tool IAction on the UI - private IAction activeToolAction; - // handle of currently active filltype IAction on the UI - private IAction activeFillTypeAction; - // handle of currently active linetype IAction on the UI - private IAction activeLineStyleAction; - - // handle of active foreground color box Canvas widget - private Canvas activeForegroundColorCanvas; - // handle of active background color box Canvas widget - private Canvas activeBackgroundColorCanvas; - - private static final int numPaletteRows = 3; - private static final int numPaletteCols = 50; - - // shared data - private Color paintColorBlack, paintColorWhite; // alias for paintColors[0] and [1] - private Color[] paintColors; - private Font paintDefaultFont; // do not free - - /** - * Constructs a Paint view. - */ - public PaintView() { - } - - /** - * Cleanup - */ - public void dispose() { - if (paintSurface != null) paintSurface.dispose(); - if (paintColors != null) { - for (int i = 0; i < paintColors.length; ++i) { - final Color color = paintColors[i]; - if (color != null) color.dispose(); - } - } - paintDefaultFont = null; - paintColors = null; - paintSurface = null; - super.dispose(); - } - - /** - * Called when we must grab focus. - * - * @see org.eclipse.ui.part.ViewPart#setFocus - */ - public void setFocus() { - paintSurface.setFocus(); - } - - /** - * Creates the example. - * - * @see ViewPart#createPartControl - */ - public void createPartControl(Composite parent) { - /*** Initialize shared data ***/ - workbenchDisplay = parent.getDisplay(); - - paintColorWhite = new Color(workbenchDisplay, 255, 255, 255); - paintColorBlack = new Color(workbenchDisplay, 0, 0, 0); - - paintDefaultFont = workbenchDisplay.getSystemFont(); - - paintColors = new Color[numPaletteCols * numPaletteRows]; - paintColors[0] = paintColorBlack; - paintColors[1] = paintColorWhite; - for (int i = 2; i < paintColors.length; i++) { - paintColors[i] = new Color(workbenchDisplay, - ((i*7)%255),((i*23)%255), ((i*51)%255)); - } - - toolSettings = new ToolSettings(); - toolSettings.commonForegroundColor = paintColorBlack; - toolSettings.commonBackgroundColor = paintColorWhite; - toolSettings.commonFont = paintDefaultFont; - - /*** Add toolbar contributions ***/ - final IActionBars actionBars = getViewSite().getActionBars(); - IToolBarManager toolbarManager = actionBars.getToolBarManager(); - - toolbarManager.add(new GroupMarker("group.tools")); - toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Pencil")); - toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Airbrush")); - toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Line")); - toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.PolyLine")); - toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Rectangle")); - toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.RoundedRectangle")); - toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Ellipse")); - toolbarManager.appendToGroup("group.tools", new SelectPaintToolAction("tool.Text")); - toolbarManager.add(new Separator()); - toolbarManager.add(new GroupMarker("group.options.fill")); - toolbarManager.appendToGroup("group.options.fill", new SelectFillTypeAction("fill.None")); - toolbarManager.appendToGroup("group.options.fill", new SelectFillTypeAction("fill.Outline")); - toolbarManager.appendToGroup("group.options.fill", new SelectFillTypeAction("fill.Solid")); - toolbarManager.add(new Separator()); - toolbarManager.add(new GroupMarker("group.options.linestyle")); - toolbarManager.appendToGroup("group.options.linestyle", new SelectLineStyleAction("linestyle.Solid")); - toolbarManager.appendToGroup("group.options.linestyle", new SelectLineStyleAction("linestyle.Dash")); - toolbarManager.appendToGroup("group.options.linestyle", new SelectLineStyleAction("linestyle.Dot")); - toolbarManager.appendToGroup("group.options.linestyle", new SelectLineStyleAction("linestyle.DashDot")); - toolbarManager.add(new Separator()); - toolbarManager.add(new GroupMarker("group.options")); - toolbarManager.appendToGroup("group.options", new SelectFontAction("options.Font")); - actionBars.updateActionBars(); - - /*** Build GUI ***/ - createGUI(parent); - - /*** Set defaults ***/ - setPaintToolByID("tool.Pencil"); - setFillTypeByID("fill.None"); - setLineStyleByID("linestyle.Solid"); - setForegroundColor(paintColorBlack); - setBackgroundColor(paintColorWhite); - } - - /** - * Creates the GUI. - */ - private void createGUI(Composite parent) { - GridLayout gridLayout; - GridData gridData; - - /*** Create principal GUI layout elements ***/ - Composite displayArea = new Composite(parent, SWT.NONE); - gridLayout = new GridLayout(); - gridLayout.numColumns = 1; - displayArea.setLayout(gridLayout); - - // Creating these elements here avoids the need to instantiate the GUI elements - // in strict layout order. The natural layout ordering is an artifact of using - // SWT layouts, but unfortunately it is not the same order as that required to - // instantiate all of the non-GUI application elements to satisfy referential - // dependencies. It is possible to reorder the initialization to some extent, but - // this can be very tedious. - - // paint canvas - final Canvas paintCanvas = new Canvas(displayArea, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | - SWT.NO_REDRAW_RESIZE | SWT.NO_BACKGROUND); - gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); - paintCanvas.setLayoutData(gridData); - paintCanvas.setBackground(paintColorWhite); - - // color selector frame - final Composite colorFrame = new Composite(displayArea, SWT.NONE); - gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - colorFrame.setLayoutData(gridData); - - // tool settings frame - final Composite toolSettingsFrame = new Composite(displayArea, SWT.NONE); - gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - toolSettingsFrame.setLayoutData(gridData); - - // status text - final Text statusText = new Text(displayArea, SWT.BORDER | SWT.SINGLE | SWT.READ_ONLY); - gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - statusText.setLayoutData(gridData); - - /*** Create the remaining application elements inside the principal GUI layout elements ***/ - // paintSurface - paintSurface = new PaintSurface(paintCanvas, statusText, paintColorWhite); - - // paintToolMap - paintToolMap = new HashMap(); - paintToolMap.put("tool.Pencil", new PencilTool(toolSettings, paintSurface)); - paintToolMap.put("tool.Airbrush", new AirbrushTool(toolSettings, paintSurface)); - paintToolMap.put("tool.Line", new LineTool(toolSettings, paintSurface)); - paintToolMap.put("tool.PolyLine", new PolyLineTool(toolSettings, paintSurface)); - paintToolMap.put("tool.Rectangle", new RectangleTool(toolSettings, paintSurface)); - paintToolMap.put("tool.RoundedRectangle", new RoundedRectangleTool(toolSettings, paintSurface)); - paintToolMap.put("tool.Ellipse", new EllipseTool(toolSettings, paintSurface)); - paintToolMap.put("tool.Text", new TextTool(toolSettings, paintSurface)); - paintToolMap.put("tool.Null", null); - - // paintFillTypeMap - paintFillTypeMap = new HashMap(); - paintFillTypeMap.put("fill.None", new Integer(ToolSettings.ftNone)); - paintFillTypeMap.put("fill.Outline", new Integer(ToolSettings.ftOutline)); - paintFillTypeMap.put("fill.Solid", new Integer(ToolSettings.ftSolid)); - - // paintLineStyleMap - paintLineStyleMap = new HashMap(); - paintLineStyleMap.put("linestyle.Solid", new Integer(SWT.LINE_SOLID)); - paintLineStyleMap.put("linestyle.Dash", new Integer(SWT.LINE_DASH)); - paintLineStyleMap.put("linestyle.Dot", new Integer(SWT.LINE_DOT)); - paintLineStyleMap.put("linestyle.DashDot", new Integer(SWT.LINE_DASHDOT)); - - // colorFrame - gridLayout = new GridLayout(); - gridLayout.numColumns = 3; - gridLayout.marginHeight = 0; - gridLayout.marginWidth = 0; - colorFrame.setLayout(gridLayout); - - // activeForegroundColorCanvas, activeBackgroundColorCanvas - activeForegroundColorCanvas = new Canvas(colorFrame, SWT.BORDER); - gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - gridData.heightHint = 24; - gridData.widthHint = 24; - activeForegroundColorCanvas.setLayoutData(gridData); - - activeBackgroundColorCanvas = new Canvas(colorFrame, SWT.BORDER); - gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - gridData.heightHint = 24; - gridData.widthHint = 24; - activeBackgroundColorCanvas.setLayoutData(gridData); - - // paletteCanvas - final Canvas paletteCanvas = new Canvas(colorFrame, SWT.BORDER | SWT.NO_BACKGROUND); - gridData = new GridData(GridData.FILL_HORIZONTAL); - gridData.heightHint = 24; - paletteCanvas.setLayoutData(gridData); - paletteCanvas.addListener(SWT.MouseDown, new Listener() { - public void handleEvent(Event e) { - Rectangle bounds = paletteCanvas.getClientArea(); - Color color = getColorAt(bounds, e.x, e.y); - - if (e.button == 1) setForegroundColor(color); - else setBackgroundColor(color); - } - private Color getColorAt(Rectangle bounds, int x, int y) { - if (bounds.height <= 1 && bounds.width <= 1) return paintColorWhite; - final int row = (y - bounds.y) * numPaletteRows / bounds.height; - final int col = (x - bounds.x) * numPaletteCols / bounds.width; - return paintColors[Math.min(Math.max(row * numPaletteCols + col, 0), paintColors.length - 1)]; - } - }); - Listener refreshListener = new Listener() { - public void handleEvent(Event e) { - if (e.gc == null) return; - Rectangle bounds = paletteCanvas.getClientArea(); - for (int row = 0; row < numPaletteRows; ++row) { - for (int col = 0; col < numPaletteCols; ++col) { - final int x = bounds.width * col / numPaletteCols; - final int y = bounds.height * row / numPaletteRows; - final int width = Math.max(bounds.width * (col + 1) / numPaletteCols - x, 1); - final int height = Math.max(bounds.height * (row + 1) / numPaletteRows - y, 1); - e.gc.setBackground(paintColors[row * numPaletteCols + col]); - e.gc.fillRectangle(bounds.x + x, bounds.y + y, width, height); - } - } - } - }; - paletteCanvas.addListener(SWT.Resize, refreshListener); - paletteCanvas.addListener(SWT.Paint, refreshListener); - //paletteCanvas.redraw(); - - // toolSettingsFrame - gridLayout = new GridLayout(); - gridLayout.numColumns = 4; - gridLayout.marginHeight = 0; - gridLayout.marginWidth = 0; - toolSettingsFrame.setLayout(gridLayout); - - Label label = new Label(toolSettingsFrame, SWT.NONE); - label.setText(PaintPlugin.getResourceString("settings.AirbrushRadius.text")); - - final Scale airbrushRadiusScale = new Scale(toolSettingsFrame, SWT.HORIZONTAL); - airbrushRadiusScale.setMinimum(5); - airbrushRadiusScale.setMaximum(50); - airbrushRadiusScale.setSelection(toolSettings.airbrushRadius); - airbrushRadiusScale.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - airbrushRadiusScale.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - toolSettings.airbrushRadius = airbrushRadiusScale.getSelection(); - updateToolSettings(); - } - }); - - label = new Label(toolSettingsFrame, SWT.NONE); - label.setText(PaintPlugin.getResourceString("settings.AirbrushIntensity.text")); - - final Scale airbrushIntensityScale = new Scale(toolSettingsFrame, SWT.HORIZONTAL); - airbrushIntensityScale.setMinimum(1); - airbrushIntensityScale.setMaximum(100); - airbrushIntensityScale.setSelection(toolSettings.airbrushIntensity); - airbrushIntensityScale.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL)); - airbrushIntensityScale.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - toolSettings.airbrushIntensity = airbrushIntensityScale.getSelection(); - updateToolSettings(); - } - }); - } - - /** - * Notifies the tool that its settings have changed. - */ - private void updateToolSettings() { - final PaintTool activePaintTool = paintSurface.getPaintTool(); - if (activePaintTool == null) return; - - activePaintTool.endSession(); - activePaintTool.set(toolSettings); - activePaintTool.beginSession(); - } - - /** - * Sets the tool foreground color. - * - * @param color the new color to use - */ - public void setForegroundColor(Color color) { - if (activeForegroundColorCanvas != null) - activeForegroundColorCanvas.setBackground(color); - toolSettings.commonForegroundColor = color; - updateToolSettings(); - } - - /** - * Set the tool background color. - * - * @param color the new color to use - */ - public void setBackgroundColor(Color color) { - if (activeBackgroundColorCanvas != null) - activeBackgroundColorCanvas.setBackground(color); - toolSettings.commonBackgroundColor = color; - updateToolSettings(); - } - - /** - * Selects a tool given its ID. - */ - public void setPaintToolByID(String id) { - activeToolAction = handleRadioAction(activeToolAction, id); - - final PaintTool paintTool = (PaintTool) paintToolMap.get(id); - paintSurface.setPaintSession(paintTool); - updateToolSettings(); - } - - /** - * Selects a filltype given its ID. - */ - public void setFillTypeByID(String id) { - activeFillTypeAction = handleRadioAction(activeFillTypeAction, id); - - final Integer fillType = (Integer) paintFillTypeMap.get(id); - toolSettings.commonFillType = fillType.intValue(); - updateToolSettings(); - } - - /** - * Selects line type given its ID. - */ - public void setLineStyleByID(String id) { - activeLineStyleAction = handleRadioAction(activeLineStyleAction, id); - - final Integer lineType = (Integer) paintLineStyleMap.get(id); - toolSettings.commonLineStyle = lineType.intValue(); - updateToolSettings(); - } - - /** - * Gets the IAction for an ID belonging to a set of mutually exclusive actions, and - * toggles the old action off if necessary. - */ - private IAction handleRadioAction(IAction oldAction, String id) { - IAction action = getActionByID(id); - if (action != null) { - if (oldAction != null) oldAction.setChecked(false); - if (! action.isChecked()) action.setChecked(true); - return action; - } - return oldAction; - } - - /** - * Gets the IAction representing the UI toolbar button with the specified ID. - */ - private IAction getActionByID(String id) { - final IActionBars actionBars = getViewSite().getActionBars(); - IToolBarManager toolbarManager = actionBars.getToolBarManager(); - ActionContributionItem contributionItem = (ActionContributionItem) toolbarManager.find(id); - if (contributionItem == null) return null; - return contributionItem.getAction(); - } - - /** - * Returns the Display. - * - * @return the display we're using - */ - public Display getDisplay() { - return workbenchDisplay; - } - - /** - * Action set glue. - */ - abstract class PaintAction extends Action { - public PaintAction(String id) { - super(); - setId(id); - - try { - final URL installUrl = PaintPlugin.getDefault().getDescriptor().getInstallURL(); - final URL imageUrl = new URL(installUrl, PaintPlugin.getResourceString(id + ".image")); - setImageDescriptor(ImageDescriptor.createFromURL(imageUrl)); - } catch (MalformedURLException e) { - PaintPlugin.logError("", e); - } - - setText(PaintPlugin.getResourceString(id + ".label")); - setToolTipText(PaintPlugin.getResourceString(id + ".tooltip")); - setDescription(PaintPlugin.getResourceString(id + ".description")); - } - } - class SelectPaintToolAction extends PaintAction { - public SelectPaintToolAction(String id) { super(id); } - public int getStyle() { return IAction.AS_CHECK_BOX; } - public void run() { setPaintToolByID(getId()); } - - } - class SelectFillTypeAction extends PaintAction { - public SelectFillTypeAction(String id) { super(id); } - public int getStyle() { return IAction.AS_CHECK_BOX; } - public void run() { setFillTypeByID(getId()); } - } - class SelectLineStyleAction extends PaintAction { - public SelectLineStyleAction(String id) { super(id); } - public int getStyle() { return IAction.AS_CHECK_BOX; } - public void run() { setLineStyleByID(getId()); } - } - class SelectFontAction extends PaintAction { - public SelectFontAction(String id) { super(id); } - public int getStyle() { return IAction.AS_PUSH_BUTTON; } - public void run() { - FontDialog fontDialog = new FontDialog(paintSurface.getShell(), SWT.PRIMARY_MODAL); - FontData[] fontDatum = toolSettings.commonFont.getFontData(); - if (fontDatum != null && fontDatum.length > 0) { - fontDialog.setFontData(fontDatum[0]); - } - fontDialog.setText(PaintPlugin.getResourceString("options.Font.dialog.title")); - - paintSurface.hideRubberband(); - FontData fontData = fontDialog.open(); - paintSurface.showRubberband(); - if (fontData != null) { - try { - Font font = new Font(workbenchDisplay, fontData); - toolSettings.commonFont = font; - updateToolSettings(); - } catch (SWTException e) { - } - } - } - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java deleted file mode 100755 index 4f8ee2fd3b..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import java.util.Random; import org.eclipse.swt.graphics.*; - -/** - * A pencil tool. - */ -public class PencilTool extends ContinuousPaintSession implements PaintTool { - private ToolSettings settings; - - /** - * Constructs a pencil tool. - * - * @param toolSettings the new tool settings - * @param getPaintSurface() the PaintSurface we will render on. - */ - public PencilTool(ToolSettings toolSettings, PaintSurface paintSurface) { - super(paintSurface); - set(toolSettings); - } - - /** - * Sets the tool's settings. - * - * @param toolSettings the new tool settings - */ - public void set(ToolSettings toolSettings) { - settings = toolSettings; - } - - /** - * Returns the name associated with this tool. - * - * @return the localized name of this tool - */ - public String getDisplayName() { - return PaintPlugin.getResourceString("tool.Pencil.label"); - } - - /* - * Template method for drawing - */ - public void render(final Point point) { - final PaintSurface ps = getPaintSurface(); - ps.drawFigure(new PointFigure(settings.commonForegroundColor, point.x, point.y)); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PointFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PointFigure.java deleted file mode 100644 index 07fedbd352..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PointFigure.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -/** - * 2D Point object - */ -public class PointFigure extends Figure { - private Color color; - private int x, y; - /** - * Constructs a Point - * - * @param color the color for this object - * @param x the virtual X coordinate of the first end-point - * @param y the virtual Y coordinate of the first end-point - */ - public PointFigure(Color color, int x, int y) { - this.color = color; this.x = x; this.y = y; - } - public void draw(FigureDrawContext fdc) { - Point p = fdc.toClientPoint(x, y); - fdc.gc.setBackground(color); - fdc.gc.fillRectangle(p.x, p.y, 1, 1); - } - public void addDamagedRegion(FigureDrawContext fdc, Region region) { - region.add(fdc.toClientRectangle(x, y, x, y)); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java deleted file mode 100755 index f2db962fd0..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -/** - * A polyline drawing tool. - */ -public class PolyLineTool extends SegmentedPaintSession implements PaintTool { - private ToolSettings settings; - - /** - * Constructs a PolyLineTool. - * - * @param toolSettings the new tool settings - * @param paintSurface the PaintSurface we will render on. - */ - public PolyLineTool(ToolSettings toolSettings, PaintSurface paintSurface) { - super(paintSurface); - set(toolSettings); - } - - /** - * Sets the tool's settings. - * - * @param toolSettings the new tool settings - */ - public void set(ToolSettings toolSettings) { - settings = toolSettings; - } - - /** - * Returns the name associated with this tool. - * - * @return the localized name of this tool - */ - public String getDisplayName() { - return PaintPlugin.getResourceString("tool.PolyLine.label"); - } - - /* - * Template methods for drawing - */ - protected Figure createFigure(Point[] points, int numPoints, boolean closed) { - ContainerFigure container = new ContainerFigure(); - if (closed && settings.commonFillType != ToolSettings.ftNone && numPoints >= 3) { - container.add(new SolidPolygonFigure(settings.commonBackgroundColor, points, numPoints)); - } - if (! closed || settings.commonFillType != ToolSettings.ftSolid || numPoints < 3) { - for (int i = 0; i < numPoints - 1; ++i) { - final Point a = points[i]; - final Point b = points[i + 1]; - container.add(new LineFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle, - a.x, a.y, b.x, b.y)); - } - if (closed) { - final Point a = points[points.length - 1]; - final Point b = points[0]; - container.add(new LineFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle, - a.x, a.y, b.x, b.y)); - } - } - return container; - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java deleted file mode 100755 index a2b4625fe6..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; - -/** - * 2D Rectangle object - */ -public class RectangleFigure extends Figure { - private Color foregroundColor, backgroundColor; - private int lineStyle, x1, y1, x2, y2; - /** - * Constructs a Rectangle - * These objects are defined by any two diametrically opposing corners. - * - * @param color the color for this object - * @param lineStyle the line style for this object - * @param x1 the virtual X coordinate of the first corner - * @param y1 the virtual Y coordinate of the first corner - * @param x2 the virtual X coordinate of the second corner - * @param y2 the virtual Y coordinate of the second corner - */ - public RectangleFigure(Color foregroundColor, Color backgroundColor, int lineStyle, int x1, int y1, int x2, int y2) { - this.foregroundColor = foregroundColor; - this.backgroundColor = backgroundColor; - this.lineStyle = lineStyle; - this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; - } - public void draw(FigureDrawContext fdc) { - Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2); - fdc.gc.setForeground(foregroundColor); - fdc.gc.setBackground(backgroundColor); - fdc.gc.setLineStyle(lineStyle); - fdc.gc.drawRectangle(r.x, r.y, r.width - 1, r.height - 1); - fdc.gc.setLineStyle(SWT.LINE_SOLID); - } - public void addDamagedRegion(FigureDrawContext fdc, Region region) { - region.add(fdc.toClientRectangle(x1, y1, x2, y2)); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java deleted file mode 100755 index 2da6fa3296..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -/** - * A drawing tool. - */ -public class RectangleTool extends DragPaintSession implements PaintTool { - private ToolSettings settings; - - /** - * Constructs a RectangleTool. - * - * @param toolSettings the new tool settings - * @param paintSurface the PaintSurface we will render on. - */ - public RectangleTool(ToolSettings toolSettings, PaintSurface paintSurface) { - super(paintSurface); - set(toolSettings); - } - - /** - * Sets the tool's settings. - * - * @param toolSettings the new tool settings - */ - public void set(ToolSettings toolSettings) { - settings = toolSettings; - } - - /** - * Returns name associated with this tool. - * - * @return the localized name of this tool - */ - public String getDisplayName() { - return PaintPlugin.getResourceString("tool.Rectangle.label"); - } - - /* - * Template method for drawing - */ - protected Figure createFigure(Point a, Point b) { - switch (settings.commonFillType) { - default: - case ToolSettings.ftNone: - return new RectangleFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle, - a.x, a.y, b.x, b.y); - case ToolSettings.ftSolid: - return new SolidRectangleFigure(settings.commonBackgroundColor, a.x, a.y, b.x, b.y); - case ToolSettings.ftOutline: { - ContainerFigure container = new ContainerFigure(); - container.add(new SolidRectangleFigure(settings.commonBackgroundColor, a.x, a.y, b.x, b.y)); - container.add(new RectangleFigure(settings.commonForegroundColor, settings.commonBackgroundColor, settings.commonLineStyle, - a.x, a.y, b.x, b.y)); - return container; - } - } - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java deleted file mode 100755 index 2dd0bfd29c..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; - -/** - * 2D Rectangle object - */ -public class RoundedRectangleFigure extends Figure { - private Color foregroundColor, backgroundColor; - private int lineStyle, x1, y1, x2, y2, diameter; - /** - * Constructs a Rectangle - * These objects are defined by any two diametrically opposing corners. - * - * @param color the color for this object - * @param lineStyle the line style for this object - * @param x1 the virtual X coordinate of the first corner - * @param y1 the virtual Y coordinate of the first corner - * @param x2 the virtual X coordinate of the second corner - * @param y2 the virtual Y coordinate of the second corner - * @param diameter the diameter of curvature of all four corners - */ - public RoundedRectangleFigure(Color foregroundColor, Color backgroundColor, int lineStyle, int x1, int y1, int x2, int y2, int diameter) { - this.foregroundColor = foregroundColor; - this.backgroundColor = backgroundColor; - this.lineStyle = lineStyle; - this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; - this.diameter = diameter; - } - public void draw(FigureDrawContext fdc) { - Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2); - fdc.gc.setForeground(foregroundColor); - fdc.gc.setBackground(backgroundColor); - fdc.gc.setLineStyle(lineStyle); - fdc.gc.drawRoundRectangle(r.x, r.y, r.width - 1, r.height - 1, diameter, diameter); - fdc.gc.setLineStyle(SWT.LINE_SOLID); - } - public void addDamagedRegion(FigureDrawContext fdc, Region region) { - region.add(fdc.toClientRectangle(x1, y1, x2, y2)); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java deleted file mode 100755 index beec38ec56..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -/** - * A drawing tool. - */ -public class RoundedRectangleTool extends DragPaintSession implements PaintTool { - private ToolSettings settings; - - /** - * Constructs a RoundedRectangleTool. - * - * @param toolSettings the new tool settings - * @param paintSurface the PaintSurface we will render on. - */ - public RoundedRectangleTool(ToolSettings toolSettings, PaintSurface paintSurface) { - super(paintSurface); - set(toolSettings); - } - - /** - * Sets the tool's settings. - * - * @param toolSettings the new tool settings - */ - public void set(ToolSettings toolSettings) { - settings = toolSettings; - } - - /** - * Returns name associated with this tool. - * - * @return the localized name of this tool - */ - public String getDisplayName() { - return PaintPlugin.getResourceString("tool.RoundedRectangle.label"); - } - - /* - * Template methods for drawing - */ - protected Figure createFigure(Point a, Point b) { - ContainerFigure container = new ContainerFigure(); - if (settings.commonFillType != ToolSettings.ftNone) - container.add(new SolidRoundedRectangleFigure(settings.commonBackgroundColor, - a.x, a.y, b.x, b.y, settings.roundedRectangleCornerDiameter)); - if (settings.commonFillType != ToolSettings.ftSolid) - container.add(new RoundedRectangleFigure(settings.commonForegroundColor, settings.commonBackgroundColor, - settings.commonLineStyle, a.x, a.y, b.x, b.y, settings.roundedRectangleCornerDiameter)); - return container; - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java deleted file mode 100755 index d1697eb2eb..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java +++ /dev/null @@ -1,155 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.events.*; -import org.eclipse.swt.graphics.*; - -import java.util.*; - -/** - * The superclass for paint tools that contruct objects from individually - * picked segments. - */ -public abstract class SegmentedPaintSession extends BasicPaintSession { - /** - * The set of control points making up the segmented selection - */ - private Vector /* of Point */ controlPoints = new Vector(); - - /** - * The previous figure (so that we can abort with right-button) - */ - private Figure previousFigure = null; - - /** - * The current figure (so that we can abort with right-button) - */ - private Figure currentFigure = null; - - /** - * Constructs a PaintSession. - * - * @param paintSurface the drawing surface to use - */ - protected SegmentedPaintSession(PaintSurface paintSurface) { - super(paintSurface); - } - - /** - * Activates the tool. - */ - public void beginSession() { - getPaintSurface().setStatusMessage(PaintPlugin.getResourceString( - "session.SegmentedInteractivePaint.message.anchorMode")); - previousFigure = null; - currentFigure = null; - controlPoints.clear(); - } - - /** - * Deactivates the tool. - */ - public void endSession() { - getPaintSurface().clearRubberbandSelection(); - if (previousFigure != null) getPaintSurface().drawFigure(previousFigure); - } - - /** - * Resets the tool. - * Aborts any operation in progress. - */ - public void resetSession() { - getPaintSurface().clearRubberbandSelection(); - if (previousFigure != null) getPaintSurface().drawFigure(previousFigure); - - getPaintSurface().setStatusMessage(PaintPlugin.getResourceString( - "session.SegmentedInteractivePaint.message.anchorMode")); - previousFigure = null; - currentFigure = null; - controlPoints.clear(); - } - - /** - * Handles a mouseDown event. - * - * @param event the mouse event detail information - */ - public void mouseDown(MouseEvent event) { - if (event.button != 1) return; - - getPaintSurface().setStatusMessage(PaintPlugin.getResourceString( - "session.SegmentedInteractivePaint.message.interactiveMode")); - previousFigure = currentFigure; - - if (controlPoints.size() > 0) { - final Point lastPoint = (Point) controlPoints.elementAt(controlPoints.size() - 1); - if (lastPoint.x == event.x || lastPoint.y == event.y) return; // spurious event - } - controlPoints.add(new Point(event.x, event.y)); - } - - /** - * Handles a mouseDoubleClick event. - * - * @param event the mouse event detail information - */ - public void mouseDoubleClick(MouseEvent event) { - if (event.button != 1) return; - if (controlPoints.size() >= 2) { - getPaintSurface().clearRubberbandSelection(); - previousFigure = createFigure( - (Point[]) controlPoints.toArray(new Point[controlPoints.size()]), - controlPoints.size(), true); - } - resetSession(); - } - - /** - * Handles a mouseUp event. - * - * @param event the mouse event detail information - */ - public void mouseUp(MouseEvent event) { - if (event.button != 1) { - resetSession(); // abort if right or middle mouse button pressed - return; - } - } - - /** - * Handles a mouseMove event. - * - * @param event the mouse event detail information - */ - public void mouseMove(MouseEvent event) { - final PaintSurface ps = getPaintSurface(); - if (controlPoints.size() == 0) { - ps.setStatusCoord(ps.getCurrentPosition()); - return; // spurious event - } else { - ps.setStatusCoordRange((Point) controlPoints.elementAt(controlPoints.size() - 1), - ps.getCurrentPosition()); - } - - ps.clearRubberbandSelection(); - Point[] points = (Point[]) controlPoints.toArray(new Point[controlPoints.size() + 1]); - points[controlPoints.size()] = ps.getCurrentPosition(); - currentFigure = createFigure(points, points.length, false); - ps.addRubberbandSelection(currentFigure); - } - - /** - * Template Method: Creates a Figure for drawing rubberband entities and the final product - * - * @param points the array of control points - * @param numPoints the number of valid points in the array (n >= 2) - * @param closed true if the user double-clicked on the final control point - */ - protected abstract Figure createFigure(Point[] points, int numPoints, boolean closed); -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java deleted file mode 100755 index 123417fd5e..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -/** - * 2D Solid Ellipse object - */ -public class SolidEllipseFigure extends Figure { - private Color color; - private int x1, y1, x2, y2; - /** - * Constructs a SolidEllipse - * These objects are defined by any two diametrically opposing corners of a box - * bounding the ellipse. - * - * @param color the color for this object - * @param x1 the virtual X coordinate of the first corner - * @param y1 the virtual Y coordinate of the first corner - * @param x2 the virtual X coordinate of the second corner - * @param y2 the virtual Y coordinate of the second corner - */ - public SolidEllipseFigure(Color color, int x1, int y1, int x2, int y2) { - this.color = color; this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; - } - public void draw(FigureDrawContext fdc) { - Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2); - fdc.gc.setBackground(color); - fdc.gc.fillOval(r.x, r.y, r.width, r.height); - } - public void addDamagedRegion(FigureDrawContext fdc, Region region) { - region.add(fdc.toClientRectangle(x1, y1, x2, y2)); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java deleted file mode 100755 index 30b47100b4..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -/** - * 2D Line object - */ -public class SolidPolygonFigure extends Figure { - private Color color; - private int[] points; - /** - * Constructs a SolidPolygon - * These objects are defined by a sequence of vertices. - * - * @param color the color for this object - * @param vertices the array of vertices making up the polygon - * @param numPoint the number of valid points in the array (n >= 3) - */ - public SolidPolygonFigure(Color color, Point[] vertices, int numPoints) { - this.color = color; - this.points = new int[numPoints * 2]; - for (int i = 0; i < numPoints; ++i) { - points[i * 2] = vertices[i].x; - points[i * 2 + 1] = vertices[i].y; - } - } - public void draw(FigureDrawContext fdc) { - int[] drawPoints = new int[points.length]; - for (int i = 0; i < points.length; i += 2) { - drawPoints[i] = points[i] * fdc.xScale - fdc.xOffset; - drawPoints[i + 1] = points[i + 1] * fdc.yScale - fdc.yOffset; - } - fdc.gc.setBackground(color); - fdc.gc.fillPolygon(drawPoints); - } - public void addDamagedRegion(FigureDrawContext fdc, Region region) { - int xmin = Integer.MAX_VALUE, ymin = Integer.MAX_VALUE; - int xmax = Integer.MIN_VALUE, ymax = Integer.MIN_VALUE; - - for (int i = 0; i < points.length; i += 2) { - if (points[i] < xmin) xmin = points[i]; - if (points[i] > xmax) xmax = points[i]; - if (points[i+1] < ymin) ymin = points[i+1]; - if (points[i+1] > ymax) ymax = points[i+1]; - } - region.add(fdc.toClientRectangle(xmin, ymin, xmax, ymax)); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java deleted file mode 100755 index 9f2d7b64a3..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -/** - * 2D SolidRectangle object - */ -public class SolidRectangleFigure extends Figure { - private Color color; - private int x1, y1, x2, y2; - /** - * Constructs a SolidRectangle - * These objects are defined by any two diametrically opposing corners. - * - * @param color the color for this object - * @param x1 the virtual X coordinate of the first corner - * @param y1 the virtual Y coordinate of the first corner - * @param x2 the virtual X coordinate of the second corner - * @param y2 the virtual Y coordinate of the second corner - */ - public SolidRectangleFigure(Color color, int x1, int y1, int x2, int y2) { - this.color = color; this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; - } - public void draw(FigureDrawContext fdc) { - Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2); - fdc.gc.setBackground(color); - fdc.gc.fillRectangle(r.x, r.y, r.width, r.height); - } - public void addDamagedRegion(FigureDrawContext fdc, Region region) { - region.add(fdc.toClientRectangle(x1, y1, x2, y2)); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java deleted file mode 100755 index de07824310..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -/** - * 2D SolidRectangle object - */ -public class SolidRoundedRectangleFigure extends Figure { - private Color color; - private int x1, y1, x2, y2, diameter; - /** - * Constructs a SolidRectangle - * These objects are defined by any two diametrically opposing corners. - * - * @param color the color for this object - * @param x1 the virtual X coordinate of the first corner - * @param y1 the virtual Y coordinate of the first corner - * @param x2 the virtual X coordinate of the second corner - * @param y2 the virtual Y coordinate of the second corner - * @param diameter the diameter of curvature of all four corners - */ - public SolidRoundedRectangleFigure(Color color, int x1, int y1, int x2, int y2, int diameter) { - this.color = color; this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; - this.diameter = diameter; - } - public void draw(FigureDrawContext fdc) { - Rectangle r = fdc.toClientRectangle(x1, y1, x2, y2); - fdc.gc.setBackground(color); - fdc.gc.fillRoundRectangle(r.x, r.y, r.width, r.height, diameter, diameter); - } - public void addDamagedRegion(FigureDrawContext fdc, Region region) { - region.add(fdc.toClientRectangle(x1, y1, x2, y2)); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextFigure.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextFigure.java deleted file mode 100755 index 9317772e94..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextFigure.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.swt.graphics.*; - -/** - * 2D Rectangle object - */ -public class TextFigure extends Figure { - private Color color; - private Font font; - private String text; - private int x, y; - /** - * Constructs a TextFigure - * - * @param color the color for this object - * @param font the font for this object - * @param text the text to draw, tab and new-line expansion is performed - * @param x the virtual X coordinate of the top-left corner of the text bounding box - * @param y the virtual Y coordinate of the top-left corner of the text bounding box - */ - public TextFigure(Color color, Font font, String text, int x, int y) { - this.color = color; this.font = font; this.text = text; this.x = x; this.y = y; - } - public void draw(FigureDrawContext fdc) { - Point p = fdc.toClientPoint(x, y); - fdc.gc.setFont(font); - fdc.gc.setForeground(color); - fdc.gc.drawText(text, p.x, p.y, true); - } - public void addDamagedRegion(FigureDrawContext fdc, Region region) { - Font oldFont = fdc.gc.getFont(); - fdc.gc.setFont(font); - Point textExtent = fdc.gc.textExtent(text); - fdc.gc.setFont(oldFont); - region.add(fdc.toClientRectangle(x, y, x + textExtent.x, y + textExtent.y)); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextTool.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextTool.java deleted file mode 100755 index 1b7c8b171e..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextTool.java +++ /dev/null @@ -1,124 +0,0 @@ -package org.eclipse.swt.examples.paint; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - -import org.eclipse.jface.dialogs.*; -import org.eclipse.swt.events.*; -import org.eclipse.swt.graphics.*; - -/** - * A text drawing tool. - */ -public class TextTool extends BasicPaintSession implements PaintTool { - private ToolSettings settings; - private String drawText = PaintPlugin.getResourceString("tool.Text.settings.defaulttext"); - - /** - * Constructs a PaintTool. - * - * @param toolSettings the new tool settings - * @param paintSurface the PaintSurface we will render on. - */ - public TextTool(ToolSettings toolSettings, PaintSurface paintSurface) { - super(paintSurface); - set(toolSettings); - } - - /** - * Sets the tool's settings. - * - * @param toolSettings the new tool settings - */ - public void set(ToolSettings toolSettings) { - settings = toolSettings; - } - - /** - * Returns name associated with this tool. - * - * @return the localized name of this tool - */ - public String getDisplayName() { - return PaintPlugin.getResourceString("tool.Text.label"); - } - - /** - * Activates the tool. - */ - public void beginSession() { - getPaintSurface().setStatusMessage(PaintPlugin.getResourceString( - "session.Text.message")); - } - - /** - * Deactivates the tool. - */ - public void endSession() { - getPaintSurface().clearRubberbandSelection(); - } - - /** - * Aborts the current operation. - */ - public void resetSession() { - getPaintSurface().clearRubberbandSelection(); - } - - /** - * Handles a mouseDown event. - * - * @param event the mouse event detail information - */ - public void mouseDown(MouseEvent event) { - if (event.button == 1) { - // draw with left mouse button - getPaintSurface().commitRubberbandSelection(); - } else { - // set text with right mouse button - getPaintSurface().clearRubberbandSelection(); - InputDialog inputDialog = new InputDialog(getPaintSurface().getShell(), - PaintPlugin.getResourceString("tool.Text.dialog.title"), - PaintPlugin.getResourceString("tool.Text.dialog.message"), - drawText, null); - inputDialog.setBlockOnOpen(true); - inputDialog.open(); - if (inputDialog.getReturnCode() == InputDialog.OK) drawText = inputDialog.getValue(); - inputDialog.close(); - } - } - - /** - * Handles a mouseDoubleClick event. - * - * @param event the mouse event detail information - */ - public void mouseDoubleClick(MouseEvent event) { - } - - /** - * Handles a mouseUp event. - * - * @param event the mouse event detail information - */ - public void mouseUp(MouseEvent event) { - } - - /** - * Handles a mouseMove event. - * - * @param event the mouse event detail information - */ - public void mouseMove(MouseEvent event) { - final PaintSurface ps = getPaintSurface(); - ps.setStatusCoord(ps.getCurrentPosition()); - ps.clearRubberbandSelection(); - ps.addRubberbandSelection( - new TextFigure(settings.commonForegroundColor, settings.commonFont, - drawText, event.x, event.y)); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java b/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java deleted file mode 100755 index 6c5aee8e72..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.eclipse.swt.examples.paint; -/* - * (c) Copyright IBM Corp. 2000, 2002. - * This file is made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - */ - import org.eclipse.swt.*; import org.eclipse.swt.graphics.*; - /** * Tool Settings objects group tool-related configuration information. */ -public class ToolSettings { - public static final int ftNone = 0, ftOutline = 1, ftSolid = 2; /** - * commonForegroundColor: current tool foreground colour - */ - public Color commonForegroundColor; - - /** - * commonBackgroundColor: current tool background colour - */ - public Color commonBackgroundColor; - /** * commonFont: current font */ public Font commonFont; /** * commonFillType: current fill type *

One of ftNone, ftOutline, ftSolid.

*/ public int commonFillType = ftNone; /** * commonLineStyle: current line type */ public int commonLineStyle = SWT.LINE_SOLID; - /** - * airbrushRadius: coverage radius in pixels - */ - public int airbrushRadius = 10; - - /** - * airbrushIntensity: average surface area coverage in region defined by radius per "jot" - */ - public int airbrushIntensity = 30; /** * roundedRectangleCornerDiameter: the diameter of curvature of corners in a rounded rectangle */ public int roundedRectangleCornerDiameter = 16; } -- cgit