diff options
author | cvs2svn <platform-releng-dev@eclipse.org> | 2004-04-20 22:09:58 +0000 |
---|---|---|
committer | cvs2svn <platform-releng-dev@eclipse.org> | 2004-04-20 22:09:58 +0000 |
commit | 05b81719fa04effaadb72ef477232d87cb121e31 (patch) | |
tree | d18485bf5ac7be0beb3bdf6bb32f05f67010059b /examples | |
parent | 751399cd435ff7ae4f611108a25dd9577f78e768 (diff) | |
download | eclipse.platform.swt-3044d.tar.gz eclipse.platform.swt-3044d.tar.xz eclipse.platform.swt-3044d.zip |
This commit was manufactured by cvs2svn to create tag 'v3044d'.v3044d
Sprout from master 2004-03-25 22:27:09 UTC Carolyn MacLeod <carolyn> 'fix for 53274'
Cherrypick from master 2004-04-20 22:09:57 UTC Christophe Cornu <ccornu> 'remove the update test on Linux that currently causes a GP until this is worked around':
tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllBrowserTests.java
Delete:
bundles/org.eclipse.swt.opengl/.classpath_gtk
bundles/org.eclipse.swt.opengl/.classpath_motif
bundles/org.eclipse.swt.opengl/.classpath_win32
bundles/org.eclipse.swt.opengl/.cvsignore
bundles/org.eclipse.swt.opengl/.project
bundles/org.eclipse.swt.opengl/about.html
bundles/org.eclipse.swt.opengl/common/gl_library/gl.c
bundles/org.eclipse.swt.opengl/common/gl_library/glu.c
bundles/org.eclipse.swt.opengl/common/gl_library/swt.h
bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GL.java
bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLU.java
bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLYPHMETRICSFLOAT.java
bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/ImageDataUtil.java
bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/Library.java
bundles/org.eclipse.swt.opengl/gtk/gl_library/build.sh
bundles/org.eclipse.swt.opengl/gtk/gl_library/glx.c
bundles/org.eclipse.swt.opengl/gtk/gl_library/make_gtk.mak
bundles/org.eclipse.swt.opengl/gtk/gl_library/structs.c
bundles/org.eclipse.swt.opengl/gtk/gl_library/structs.h
bundles/org.eclipse.swt.opengl/gtk/gl_library/xgtk.c
bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/GLContext.java
bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XGL.java
bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XGTK.java
bundles/org.eclipse.swt.opengl/gtk/org/eclipse/swt/opengl/internal/gtk/XVisualInfo.java
bundles/org.eclipse.swt.opengl/motif/gl_library/build.csh
bundles/org.eclipse.swt.opengl/motif/gl_library/glx.c
bundles/org.eclipse.swt.opengl/motif/gl_library/make_aix.mak
bundles/org.eclipse.swt.opengl/motif/gl_library/make_hpux.mak
bundles/org.eclipse.swt.opengl/motif/gl_library/make_linux.mak
bundles/org.eclipse.swt.opengl/motif/gl_library/make_solaris.mak
bundles/org.eclipse.swt.opengl/motif/gl_library/structs.c
bundles/org.eclipse.swt.opengl/motif/gl_library/structs.h
bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/GLContext.java
bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XGL.java
bundles/org.eclipse.swt.opengl/motif/org/eclipse/swt/opengl/internal/motif/XVisualInfo.java
bundles/org.eclipse.swt.opengl/plugin.properties
bundles/org.eclipse.swt.opengl/plugin.xml
bundles/org.eclipse.swt.opengl/win32/gl_library/build.bat
bundles/org.eclipse.swt.opengl/win32/gl_library/glw.c
bundles/org.eclipse.swt.opengl/win32/gl_library/make_win32.mak
bundles/org.eclipse.swt.opengl/win32/gl_library/structs.c
bundles/org.eclipse.swt.opengl/win32/gl_library/structs.h
bundles/org.eclipse.swt.opengl/win32/gl_library/swt.rc
bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/GLContext.java
bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/LAYERPLANEDESCRIPTOR.java
bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/PIXELFORMATDESCRIPTOR.java
bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/POINTFLOAT.java
bundles/org.eclipse.swt.opengl/win32/org/eclipse/swt/opengl/internal/win32/WGL.java
bundles/org.eclipse.swt.tools/.classpath
bundles/org.eclipse.swt.tools/.cvsignore
bundles/org.eclipse.swt.tools/.project
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ClassData.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/CleanupClass.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/CleanupConstants.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/CleanupNatives.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ConstantsGenerator.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/FieldData.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ItemData.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGenerator.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorApp.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorAppUI.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/MetaData.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/MetaDataGenerator.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/MethodData.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ParameterData.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/SizeofGenerator.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructsGenerator.java
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.accessibility.gtk.ATK.properties
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.accessibility.gtk.properties
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.carbon.OS.properties
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.gnome.GNOME.properties
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.gtk.GTK.properties
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.gtk.OS.properties
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.gtk.properties
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.motif.OS.properties
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.ole.win32.COM.properties
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.photon.OS.properties
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.properties
bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.win32.OS.properties
bundles/org.eclipse.swt.tools/Preprocessor/org/eclipse/swt/tools/internal/SwtJniGen.java
bundles/org.eclipse.swt.tools/Preprocessor/org/eclipse/swt/tools/internal/SwtReplace.java
bundles/org.eclipse.swt.tools/Preprocessor/preprocess.xml
bundles/org.eclipse.swt.tools/about.html
bundles/org.eclipse.swt.tools/build.properties
bundles/org.eclipse.swt.tools/plugin.properties
bundles/org.eclipse.swt.tools/plugin.xml
examples/org.eclipse.swt.examples.browser/.classpath
examples/org.eclipse.swt.examples.browser/.cvsignore
examples/org.eclipse.swt.examples.browser/.project
examples/org.eclipse.swt.examples.browser/about.html
examples/org.eclipse.swt.examples.browser/build.properties
examples/org.eclipse.swt.examples.browser/doc-html/hglegal.htm
examples/org.eclipse.swt.examples.browser/doc-html/ngibmcpy.gif
examples/org.eclipse.swt.examples.browser/doc-html/swt_browser_ex.html
examples/org.eclipse.swt.examples.browser/icons/browser_example.gif
examples/org.eclipse.swt.examples.browser/plugin.properties
examples/org.eclipse.swt.examples.browser/plugin.xml
examples/org.eclipse.swt.examples.browser/src/import.properties
examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserPlugin.java
examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserView.java
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/hglegal.htm
examples/org.eclipse.swt.examples.controls/doc-html/ngibmcpy.gif
examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html
examples/org.eclipse.swt.examples.controls/doc-html/swt_customcontrols_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.controls/src/org/eclipse/swt/examples/controls/CustomControlView.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/hglegal.htm
examples/org.eclipse.swt.examples.launcher/doc-html/ngibmcpy.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/hglegal.htm
examples/org.eclipse.swt.examples.layouts/doc-html/ngibmcpy.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/hglegal.htm
examples/org.eclipse.swt.examples.ole.win32/doc-html/ngibmcpy.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/hglegal.htm
examples/org.eclipse.swt.examples.paint/doc-html/ngibmcpy.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.opengl.examples/.classpath
examples/org.eclipse.swt.opengl.examples/.project
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AntialiasingTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AreaTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BezierTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BitmapTextTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/FogTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/GradientTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/IColorSelectionListener.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LightTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/NurbTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ObjectsTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLExample.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OutlineTextTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ReflectionTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/SelectionTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/StencilTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TextureTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Ball.jpg
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Box.bmp
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Floor.jpg
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/splash.bmp
examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/untitled.jpg
Diffstat (limited to 'examples')
172 files changed, 0 insertions, 11590 deletions
diff --git a/examples/org.eclipse.swt.examples.browser/.classpath b/examples/org.eclipse.swt.examples.browser/.classpath deleted file mode 100644 index 7b14e15a15..0000000000 --- a/examples/org.eclipse.swt.examples.browser/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="output" path="bin"/> -</classpath>
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.browser/.cvsignore b/examples/org.eclipse.swt.examples.browser/.cvsignore deleted file mode 100644 index c5e82d7458..0000000000 --- a/examples/org.eclipse.swt.examples.browser/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.browser/.project b/examples/org.eclipse.swt.examples.browser/.project deleted file mode 100644 index 25919d4052..0000000000 --- a/examples/org.eclipse.swt.examples.browser/.project +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.swt.examples.browser</name> - <comment></comment> - <projects> - <project>org.eclipse.core.runtime</project> - <project>org.eclipse.swt</project> - <project>org.eclipse.swt.examples</project> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> diff --git a/examples/org.eclipse.swt.examples.browser/about.html b/examples/org.eclipse.swt.examples.browser/about.html deleted file mode 100644 index 9db411aab9..0000000000 --- a/examples/org.eclipse.swt.examples.browser/about.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>20th June, 2002</p> -<h3>License</h3> -<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>. -For purposes of the CPL, "Program" will mean the Content.</p> - -<h3>Contributions</h3> - -<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise -made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such -Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p> - -<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or -other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the -host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available -to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also -providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of -the CPL.</p> - -</body> -</html>
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.browser/build.properties b/examples/org.eclipse.swt.examples.browser/build.properties deleted file mode 100644 index 818e48379c..0000000000 --- a/examples/org.eclipse.swt.examples.browser/build.properties +++ /dev/null @@ -1,20 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = doc-html/,\ - icons/,\ - plugin.properties,\ - plugin.xml,\ - about.html,\ - *.jar - -src.includes = about.html - -source.browserexample.jar = src/ diff --git a/examples/org.eclipse.swt.examples.browser/doc-html/hglegal.htm b/examples/org.eclipse.swt.examples.browser/doc-html/hglegal.htm deleted file mode 100644 index f5871b79e0..0000000000 --- a/examples/org.eclipse.swt.examples.browser/doc-html/hglegal.htm +++ /dev/null @@ -1,14 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <LINK REL="stylesheet" HREF="../../../book.css" CHARSET="ISO-8859-1" TYPE="text/css"> - <title>Legal Notices</title> -</head> -<body> - -<h3> -<a NAME="Notices"></a>Notices</h3> -(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved. -</body> -</html> diff --git a/examples/org.eclipse.swt.examples.browser/doc-html/ngibmcpy.gif b/examples/org.eclipse.swt.examples.browser/doc-html/ngibmcpy.gif Binary files differdeleted file mode 100644 index c786e43e1f..0000000000 --- a/examples/org.eclipse.swt.examples.browser/doc-html/ngibmcpy.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.browser/doc-html/swt_browser_ex.html b/examples/org.eclipse.swt.examples.browser/doc-html/swt_browser_ex.html deleted file mode 100644 index 7b01f2fcd5..0000000000 --- a/examples/org.eclipse.swt.examples.browser/doc-html/swt_browser_ex.html +++ /dev/null @@ -1,33 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <title>SWT - Controls Overview</title> -</head> -<body> - -<h2>SWT example - Browser</h2> - -<p> -The Browser Example is a simple demonstration of the SWT Browser widget. -It consists of a composite containing a Browser widget to render HTML and some -additional widgets to implement actions commonly found on browsers (toolbar -with back, forward, refresh and stop buttons, status bar etc.). -</p> - -<h3>Running the example</h3> -<p> -Follow the <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a> -instructions to install and run the example from your workspace. -</p> -<p> -The "Main" class is <code>org.eclipse.swt.examples.browserexample.BrowserExample</code>. -</p> -<p> -This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>. -Select the <strong>Browser</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>. -</p> - -<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003. All Rights Reserved." BORDER=0 height=14 width=324></a></p> -</body> -</html> diff --git a/examples/org.eclipse.swt.examples.browser/icons/browser_example.gif b/examples/org.eclipse.swt.examples.browser/icons/browser_example.gif Binary files differdeleted file mode 100644 index cbdee97066..0000000000 --- a/examples/org.eclipse.swt.examples.browser/icons/browser_example.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.browser/plugin.properties b/examples/org.eclipse.swt.examples.browser/plugin.properties deleted file mode 100644 index 971bb84434..0000000000 --- a/examples/org.eclipse.swt.examples.browser/plugin.properties +++ /dev/null @@ -1,26 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -providerName = Eclipse.org -plugin.SWTBrowserExample.name = SWT Browser Example Plugin -category.SWTExamples.name = SWT Examples -view.BrowserExample.name = SWT Browser - -launchcategory.SWTViewExamples.name = Workbench Views -launchcategory.SWTViewExamples.description = \ - A collection of Standard Widget Toolkit examples that run as Views inside the Workbench. \ - These examples will create a new View in the current Perspective. - -launchitem.BrowserExample.name = Browser -launchitem.BrowserExample.description = \ - This example is a simple demonstration of the SWT Browser widget.\n\n\ - It consists of a composite containing a Browser widget to render HTML. \ - Additional widgets allow the user to perform typical browser actions (for example, navigate to a particular URL, go back, forward, refresh and stop). - diff --git a/examples/org.eclipse.swt.examples.browser/plugin.xml b/examples/org.eclipse.swt.examples.browser/plugin.xml deleted file mode 100644 index 89e3bb04a8..0000000000 --- a/examples/org.eclipse.swt.examples.browser/plugin.xml +++ /dev/null @@ -1,55 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<plugin - id="org.eclipse.swt.examples.browser" - name="%plugin.SWTBrowserExample.name" - version="3.0.0" - provider-name="%providerName" - class="org.eclipse.swt.examples.browserexample.BrowserPlugin"> - -<!-- Runtime --> - <runtime> - <library name="browserexample.jar"> - <packages prefixes="org.eclipse.swt.examples.browserexample"/> - </library> - </runtime> -<!-- Required plugins --> - <requires> - <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.ui"/> - <import plugin="org.eclipse.swt"/> - <import plugin="org.eclipse.swt.examples"/> - </requires> - - -<!-- Extension points --> -<!-- Extensions --> - <extension - point="org.eclipse.ui.views"> - <view - name="%view.BrowserExample.name" - icon="icons/browser_example.gif" - category="org.eclipse.swt.examples.category" - class="org.eclipse.swt.examples.browserexample.BrowserView" - id="org.eclipse.swt.examples.browserexample.view"> - </view> - </extension> - <extension - point="org.eclipse.swt.examples.launcher.launchItems"> - <category - name="%launchcategory.SWTViewExamples.name" - description="%launchcategory.SWTViewExamples.description" - id="org.eclipse.swt.examples.launchViewCategory"> - </category> - <item - name="%launchitem.BrowserExample.name" - icon="icons/browser_example.gif" - category="org.eclipse.swt.examples.launchViewCategory" - description="%launchitem.BrowserExample.description" - id="org.eclipse.swt.examples.browserexample.viewlauncher"> - <view - viewId="org.eclipse.swt.examples.browserexample.view"> - </view> - </item> - </extension> - -</plugin> diff --git a/examples/org.eclipse.swt.examples.browser/src/import.properties b/examples/org.eclipse.swt.examples.browser/src/import.properties deleted file mode 100644 index 58344f0d3e..0000000000 --- a/examples/org.eclipse.swt.examples.browser/src/import.properties +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# 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 = <<ECLIPSE_PLUGINS>> diff --git a/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserPlugin.java b/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserPlugin.java deleted file mode 100644 index 5e8245566c..0000000000 --- a/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserPlugin.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.browserexample; - - -import org.eclipse.core.runtime.*; -import org.eclipse.ui.plugin.*; - -/** - * The main plugin class to be used in the desktop. - */ -public class BrowserPlugin extends AbstractUIPlugin { - /** - * The constructor. - */ - public BrowserPlugin(IPluginDescriptor descriptor) { - super(descriptor); - } - - /** - * Clean up - */ - public void shutdown() throws CoreException { - super.shutdown(); - } -} diff --git a/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserView.java b/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserView.java deleted file mode 100644 index 84337cb847..0000000000 --- a/examples/org.eclipse.swt.examples.browser/src/org/eclipse/swt/examples/browserexample/BrowserView.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.browserexample; - -import org.eclipse.swt.widgets.*; -import org.eclipse.ui.part.*; - -/** - * <code>BrowserView</code> is a simple demonstration - * of the SWT Browser widget. It consists of a workbench - * view and tab folder where each tab in the folder allows the - * user to interact with a control. - * - * @see ViewPart - */ -public class BrowserView extends ViewPart { - BrowserExample instance = null; - - /** - * Create the example - * - * @see ViewPart#createPartControl - */ - public void createPartControl(Composite frame) { - instance = new BrowserExample(frame); - } - - /** - * Called when we must grab focus. - * - * @see org.eclipse.ui.part.ViewPart#setFocus - */ - public void setFocus() { - instance.setFocus(); - } - - /** - * Called when the View is to be disposed - */ - public void dispose() { - instance.dispose(); - instance = null; - super.dispose(); - } -} diff --git a/examples/org.eclipse.swt.examples.controls/.classpath b/examples/org.eclipse.swt.examples.controls/.classpath deleted file mode 100755 index 065ac06e19..0000000000 --- a/examples/org.eclipse.swt.examples.controls/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/examples/org.eclipse.swt.examples.controls/.cvsignore b/examples/org.eclipse.swt.examples.controls/.cvsignore deleted file mode 100755 index c5e82d7458..0000000000 --- a/examples/org.eclipse.swt.examples.controls/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.controls/.project b/examples/org.eclipse.swt.examples.controls/.project deleted file mode 100644 index 6dd25a0fdf..0000000000 --- a/examples/org.eclipse.swt.examples.controls/.project +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.swt.examples.controls</name> - <comment></comment> - <projects> - <project>org.eclipse.swt</project> - <project>org.eclipse.swt.examples</project> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/examples/org.eclipse.swt.examples.controls/about.html b/examples/org.eclipse.swt.examples.controls/about.html deleted file mode 100644 index 9db411aab9..0000000000 --- a/examples/org.eclipse.swt.examples.controls/about.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>20th June, 2002</p> -<h3>License</h3> -<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>. -For purposes of the CPL, "Program" will mean the Content.</p> - -<h3>Contributions</h3> - -<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise -made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such -Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p> - -<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or -other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the -host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available -to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also -providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of -the CPL.</p> - -</body> -</html>
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.controls/build.properties b/examples/org.eclipse.swt.examples.controls/build.properties deleted file mode 100755 index ca7f7ae865..0000000000 --- a/examples/org.eclipse.swt.examples.controls/build.properties +++ /dev/null @@ -1,20 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = doc-html/,\ - icons/,\ - plugin.properties,\ - plugin.xml,\ - about.html,\ - *.jar - -src.includes = about.html - -source.controls.jar = src/ diff --git a/examples/org.eclipse.swt.examples.controls/doc-html/hglegal.htm b/examples/org.eclipse.swt.examples.controls/doc-html/hglegal.htm deleted file mode 100755 index f5871b79e0..0000000000 --- a/examples/org.eclipse.swt.examples.controls/doc-html/hglegal.htm +++ /dev/null @@ -1,14 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <LINK REL="stylesheet" HREF="../../../book.css" CHARSET="ISO-8859-1" TYPE="text/css"> - <title>Legal Notices</title> -</head> -<body> - -<h3> -<a NAME="Notices"></a>Notices</h3> -(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved. -</body> -</html> diff --git a/examples/org.eclipse.swt.examples.controls/doc-html/ngibmcpy.gif b/examples/org.eclipse.swt.examples.controls/doc-html/ngibmcpy.gif Binary files differdeleted file mode 100755 index c786e43e1f..0000000000 --- a/examples/org.eclipse.swt.examples.controls/doc-html/ngibmcpy.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html b/examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html deleted file mode 100755 index 1d0347cc89..0000000000 --- a/examples/org.eclipse.swt.examples.controls/doc-html/swt_controls_ex.html +++ /dev/null @@ -1,33 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <title>SWT - Controls Overview</title> -</head> -<body> - -<h2>SWT example - Controls</h2> - -<p> -The Controls Example is a simple demonstration of common SWT controls. -It consists of a tab folder where each tab in the folder allows the user -to interact with a different control. -The user can change styles and settings and view how this affects each control. -</p> - -<h3>Running the example</h3> -<p> -Follow the <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a> -instructions to install and run the example from your workspace. -</p> -<p> -The "Main" class is <code>org.eclipse.swt.examples.controlexample.ControlExample</code>. -</p> -<p> -This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>. -Select the <strong>Controls</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>. -</p> - -<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003. All Rights Reserved." BORDER=0 height=14 width=324></a></p> -</body> -</html> diff --git a/examples/org.eclipse.swt.examples.controls/doc-html/swt_customcontrols_ex.html b/examples/org.eclipse.swt.examples.controls/doc-html/swt_customcontrols_ex.html deleted file mode 100644 index ba717a278a..0000000000 --- a/examples/org.eclipse.swt.examples.controls/doc-html/swt_customcontrols_ex.html +++ /dev/null @@ -1,33 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <title>SWT - Controls Overview</title> -</head> -<body> - -<h2>SWT example - Custom Controls</h2> - -<p> -The Custom Controls example is a simple demonstration of emulated SWT controls. -It consists of a tab folder where each tab in the folder allows the user -to interact with a different emulated control. -The user can change styles and settings and view how this affects each control. -</p> - -<h3>Running the example</h3> -<p> -Follow the <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a> -instructions to install and run the example from your workspace. -</p> -<p> -The "Main" class is <code>org.eclipse.swt.examples.controlexample.CustomControlExample</code>. -</p> -<p> -This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>. -Select the <strong>Custom Controls</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>. -</p> - -<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003. All Rights Reserved." BORDER=0 height=14 width=324></a></p> -</body> -</html> diff --git a/examples/org.eclipse.swt.examples.controls/icons/controls_example.gif b/examples/org.eclipse.swt.examples.controls/icons/controls_example.gif Binary files differdeleted file mode 100755 index cbdee97066..0000000000 --- a/examples/org.eclipse.swt.examples.controls/icons/controls_example.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.controls/plugin.properties b/examples/org.eclipse.swt.examples.controls/plugin.properties deleted file mode 100755 index ee2fea23ad..0000000000 --- a/examples/org.eclipse.swt.examples.controls/plugin.properties +++ /dev/null @@ -1,34 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -providerName = Eclipse.org -plugin.SWTControlsExample.name = SWT Controls Example Plugin -category.SWTExamples.name = SWT Examples -view.ControlsExample.name = SWT Controls -view.CustomControlsExample.name = SWT Custom Controls - -launchcategory.SWTViewExamples.name = Workbench Views -launchcategory.SWTViewExamples.description = \ - A collection of Standard Widget Toolkit examples that run as Views inside the Workbench. \ - These examples will create a new View in the current Perspective. - -launchitem.ControlsExample.name = Controls -launchitem.ControlsExample.description = \ - This example is a simple demonstration of native SWT controls.\n\n\ - It consists of a tab folder where each tab allows the user \ - to interact with a different SWT control. \ - The user can change styles and settings and view how this affects the control. - -launchitem.CustomControlsExample.name = Custom Controls -launchitem.CustomControlsExample.description = \ - This example is a simple demonstration of custom SWT controls.\n\n\ - It consists of a tab folder where each tab allows the user \ - to interact with a different SWT custom control. \ - The user can change styles and settings and view how this affects the control. diff --git a/examples/org.eclipse.swt.examples.controls/plugin.xml b/examples/org.eclipse.swt.examples.controls/plugin.xml deleted file mode 100755 index 532ea8a3d3..0000000000 --- a/examples/org.eclipse.swt.examples.controls/plugin.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<plugin - id="org.eclipse.swt.examples.controls" - name="%plugin.SWTControlsExample.name" - version="3.0.0" - provider-name="%providerName" - class="org.eclipse.swt.examples.controls.ControlPlugin"> - -<!-- Runtime --> -<!-- Runtime --> - <runtime> - <library name="controls.jar"> - <packages prefixes="org.eclipse.swt.examples.controls"/> - </library> - </runtime> -<!-- Required plugins --> - <requires> - <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.ui"/> - <import plugin="org.eclipse.swt"/> - <import plugin="org.eclipse.swt.examples"/> - </requires> - - -<!-- Extension points --> -<!-- Extensions --> - <extension - point="org.eclipse.ui.views"> - <view - name="%view.ControlsExample.name" - icon="icons/controls_example.gif" - category="org.eclipse.swt.examples.category" - class="org.eclipse.swt.examples.controls.ControlView" - id="org.eclipse.swt.examples.controls.view"> - </view> - <view - name="%view.CustomControlsExample.name" - icon="icons/controls_example.gif" - category="org.eclipse.swt.examples.category" - class="org.eclipse.swt.examples.controls.CustomControlView" - id="org.eclipse.swt.examples.customcontrols.view"> - </view> - </extension> - <extension - point="org.eclipse.swt.examples.launcher.launchItems"> - <category - name="%launchcategory.SWTViewExamples.name" - description="%launchcategory.SWTViewExamples.description" - id="org.eclipse.swt.examples.launchViewCategory"> - </category> - <item - name="%launchitem.ControlsExample.name" - icon="icons/controls_example.gif" - description="%launchitem.ControlsExample.description" - category="org.eclipse.swt.examples.launchViewCategory" - id="org.eclipse.swt.examples.controls.viewlauncher"> - <view - viewId="org.eclipse.swt.examples.controls.view"> - </view> - </item> - <item - name="%launchitem.CustomControlsExample.name" - icon="icons/controls_example.gif" - description="%launchitem.CustomControlsExample.description" - category="org.eclipse.swt.examples.launchViewCategory" - id="org.eclipse.swt.examples.customcontrols.viewlauncher"> - <view - viewId="org.eclipse.swt.examples.customcontrols.view"> - </view> - </item> - </extension> - -</plugin> diff --git a/examples/org.eclipse.swt.examples.controls/src/import.properties b/examples/org.eclipse.swt.examples.controls/src/import.properties deleted file mode 100644 index 58344f0d3e..0000000000 --- a/examples/org.eclipse.swt.examples.controls/src/import.properties +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# 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 = <<ECLIPSE_PLUGINS>> diff --git a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlPlugin.java b/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlPlugin.java deleted file mode 100755 index 11469ba3ab..0000000000 --- a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlPlugin.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.controls; - - -import org.eclipse.core.runtime.*; -import org.eclipse.ui.plugin.*; - -/** - * The main plugin class to be used in the desktop. - */ -public class ControlPlugin extends AbstractUIPlugin { - /** - * The constructor. - */ - public ControlPlugin(IPluginDescriptor descriptor) { - super(descriptor); - } - - /** - * Clean up - */ - public void shutdown() throws CoreException { - super.shutdown(); - } -} diff --git a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlView.java b/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlView.java deleted file mode 100755 index 502464174f..0000000000 --- a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/ControlView.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.controls; - - -import org.eclipse.swt.examples.controlexample.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.ui.part.*; - -/** - * <code>Controls</code> is a simple demonstration - * of the native controls defined by SWT. It consists of a workbench - * view and tab folder where each tab in the folder allows the - * user to interact with a control. - * - * @see ViewPart - */ -public class ControlView extends ViewPart { - ControlExample instance = null; - - /** - * Create the example - * - * @see ViewPart#createPartControl - */ - public void createPartControl(Composite frame) { - instance = new ControlExample(frame); - } - - /** - * Called when we must grab focus. - * - * @see org.eclipse.ui.part.ViewPart#setFocus - */ - public void setFocus() { - instance.setFocus(); - } - - /** - * Called when the View is to be disposed - */ - public void dispose() { - instance.dispose(); - instance = null; - super.dispose(); - } -} diff --git a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/CustomControlView.java b/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/CustomControlView.java deleted file mode 100644 index ec66fd4686..0000000000 --- a/examples/org.eclipse.swt.examples.controls/src/org/eclipse/swt/examples/controls/CustomControlView.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.controls; - - -import org.eclipse.swt.examples.controlexample.*; -import org.eclipse.swt.widgets.*; - -/** - * <code>CustomControls</code> is a simple demonstration - * of the custom controls defined by SWT. It consists of a workbench - * view and tab folder where each tab in the folder allows the - * user to interact with a control. - * - * @see ViewPart - */ -public class CustomControlView extends ControlView { - - /** - * Create the example - * - * @see ViewPart#createPartControl - */ - public void createPartControl(Composite frame) { - instance = new CustomControlExample(frame); - } -} diff --git a/examples/org.eclipse.swt.examples.launcher/.classpath b/examples/org.eclipse.swt.examples.launcher/.classpath deleted file mode 100755 index 065ac06e19..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/examples/org.eclipse.swt.examples.launcher/.cvsignore b/examples/org.eclipse.swt.examples.launcher/.cvsignore deleted file mode 100755 index c5e82d7458..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.launcher/.project b/examples/org.eclipse.swt.examples.launcher/.project deleted file mode 100644 index bcb6941eaa..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/.project +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.swt.examples.launcher</name> - <comment></comment> - <projects> - <project>org.eclipse.swt</project> - <project>org.eclipse.swt.examples</project> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/examples/org.eclipse.swt.examples.launcher/about.html b/examples/org.eclipse.swt.examples.launcher/about.html deleted file mode 100644 index 9db411aab9..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/about.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>20th June, 2002</p> -<h3>License</h3> -<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>. -For purposes of the CPL, "Program" will mean the Content.</p> - -<h3>Contributions</h3> - -<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise -made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such -Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p> - -<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or -other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the -host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available -to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also -providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of -the CPL.</p> - -</body> -</html>
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.launcher/build.properties b/examples/org.eclipse.swt.examples.launcher/build.properties deleted file mode 100755 index 2ca3829db3..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/build.properties +++ /dev/null @@ -1,22 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = doc/,\ - doc-html/,\ - icons/,\ - schema/,\ - plugin.properties,\ - plugin.xml,\ - about.html,\ - *.jar - -src.includes = about.html - -source.launcher.jar = src/ diff --git a/examples/org.eclipse.swt.examples.launcher/doc-html/hglegal.htm b/examples/org.eclipse.swt.examples.launcher/doc-html/hglegal.htm deleted file mode 100755 index f5871b79e0..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/doc-html/hglegal.htm +++ /dev/null @@ -1,14 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <LINK REL="stylesheet" HREF="../../../book.css" CHARSET="ISO-8859-1" TYPE="text/css"> - <title>Legal Notices</title> -</head> -<body> - -<h3> -<a NAME="Notices"></a>Notices</h3> -(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved. -</body> -</html> diff --git a/examples/org.eclipse.swt.examples.launcher/doc-html/ngibmcpy.gif b/examples/org.eclipse.swt.examples.launcher/doc-html/ngibmcpy.gif Binary files differdeleted file mode 100755 index c786e43e1f..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/doc-html/ngibmcpy.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html b/examples/org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html deleted file mode 100755 index 99697ac922..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html +++ /dev/null @@ -1,44 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <title>SWT - Example Launcher</title> -</head> -<body> - -<h2>SWT Example Launcher</h2> - -<p> -The Example Launcher is used to launch SWT examples, which can either be Workbench views -or standalone applications. -</p> - -<ul> -<li>Workbench views are examples that are integrated into Eclipse. When the launcher -starts a Workbench view, it is opened in the currently active perspective. -<li>Standalone applications are launched in a separate window. -</ul> - -<p> -For information on how to run the standalone examples without the SWT Example Launcher, -refer to <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a>. -</p> -<p> -The SWT Workbench view examples can also be launched directly without using the SWT Example -Launcher. SWT Workbench view examples can be found under the <strong>SWT Examples</strong> category of the -<strong>Show Views</strong> dialog. -</p> - -<h3>Running the Example Launcher</h3> - -<p> -From Eclipse's <strong>Window</strong> menu, select <strong>Show View > Other</strong>. -In the <strong>Show View</strong> dialog, expand <strong>SWT Examples</strong> and select the <strong>SWT Example Launcher</strong> view. -A view containing a list of examples will appear in your current perspective. -When you select an example from the list a brief description of the example is displayed. -Click on the <strong>Run</strong> button to launch the example. -</p> - -<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003. All Rights Reserved." BORDER=0 height=14 width=324></a></p> -</body> -</html> diff --git a/examples/org.eclipse.swt.examples.launcher/doc/org.eclipse.swt.examples.launcher.launchItems.html b/examples/org.eclipse.swt.examples.launcher/doc/org.eclipse.swt.examples.launcher.launchItems.html deleted file mode 100755 index 3edf91876a..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/doc/org.eclipse.swt.examples.launcher.launchItems.html +++ /dev/null @@ -1,60 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<HEAD> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<HTML> -<BODY> -<H1><CENTER>Launch Items</CENTER></H1> -<H2>Identifier</H2> -org.eclipse.swt.examples.launcher.launchItems<H2>Description</H2> -This extension point is used to add 'standalone program' and -'Workbench view' -launch items to the Launcher, optionally grouping them into -categories so as to form a multi-tiered hierarchy. -Standalone programs are executed using the platform's event loop. -Workbench views are created within the active Workbench Perspective.<H2>Markup</H2> -<p><samp> <!ELEMENT extension EMPTY></samp> -<br><samp> <!ATTLIST extension</samp> -<br><samp> point CDATA #REQUIRED</samp> -<br><samp> id CDATA #IMPLIED</samp> -<br><samp> name CDATA #IMPLIED</samp> -<br><samp> ></samp> -<ul> -<li><b>point</b> - </li><li><b>id</b> - </li><li><b>name</b> - </li></ul> -<p><samp> <!ELEMENT program EMPTY></samp> -<br><samp> <!ATTLIST program</samp> -<br><samp> mainClass CDATA #REQUIRED</samp> -<br><samp> pluginId CDATA #REQUIRED</samp> -<br><samp> ></samp> -<ul> -<li><b>mainClass</b> - The fully-qualified name of the class whose main() method is to be launched.</li><li><b>pluginId</b> - The unique id of the Eclipse Platform plugin containing the program.</li></ul> -<p><samp> <!ELEMENT view EMPTY></samp> -<br><samp> <!ATTLIST view</samp> -<br><samp> viewId CDATA #REQUIRED</samp> -<br><samp> ></samp> -<ul> -<li><b>viewId</b> - The unique id of the Workbench View to be activated when the item is launched.</li></ul> -<p><samp> <!ELEMENT category EMPTY></samp> -<br><samp> <!ATTLIST category</samp> -<br><samp> name CDATA #REQUIRED</samp> -<br><samp> id CDATA #REQUIRED</samp> -<br><samp> category CDATA #IMPLIED</samp> -<br><samp> ></samp> -<ul> -<li><b>name</b> - The localized name of this category.</li><li><b>id</b> - The unique id of this category. Categories with duplicate id's will be discarded.</li><li><b>category</b> - The unique id of the parent category.</li></ul> -<p><samp> <!ELEMENT item EMPTY></samp> -<br><samp> <!ATTLIST item</samp> -<br><samp> name CDATA #REQUIRED</samp> -<br><samp> id CDATA #REQUIRED</samp> -<br><samp> category CDATA #IMPLIED</samp> -<br><samp> icon CDATA #IMPLIED</samp> -<br><samp> enabled (true | false) "false""true"</samp> -<br><samp> description CDATA #IMPLIED</samp> -<br><samp> ></samp> -<ul> -<li><b>name</b> - The localized name of this launch item.</li><li><b>id</b> - The unique id of this launch item. Launch items with duplicate id's will be discarded.</li><li><b>category</b> - The unique id of the category this launch item belongs to.</li><li><b>icon</b> - The declaring plugin relative path of an icon to display with this launch item in the Launcher.</li><li><b>enabled</b> - Set to "false" to disable this launch item, or to "true" to enable it (default).</li><li><b>description</b> - The localized plain-text description of this launch item.</li></ul> -<H2>Example</H2> -<H2>API Information</H2> -<H2>Supplied Implementation</H2> -</BODY> -</HTML> diff --git a/examples/org.eclipse.swt.examples.launcher/icons/closedFolder.gif b/examples/org.eclipse.swt.examples.launcher/icons/closedFolder.gif Binary files differdeleted file mode 100755 index beb6ed134c..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/icons/closedFolder.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.launcher/icons/generic_example.gif b/examples/org.eclipse.swt.examples.launcher/icons/generic_example.gif Binary files differdeleted file mode 100755 index f9fb6b0cab..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/icons/generic_example.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.launcher/icons/launcher_example.gif b/examples/org.eclipse.swt.examples.launcher/icons/launcher_example.gif Binary files differdeleted file mode 100755 index 3ab4d32c05..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/icons/launcher_example.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.launcher/icons/openFolder.gif b/examples/org.eclipse.swt.examples.launcher/icons/openFolder.gif Binary files differdeleted file mode 100755 index a9c777343c..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/icons/openFolder.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.launcher/plugin.properties b/examples/org.eclipse.swt.examples.launcher/plugin.properties deleted file mode 100755 index 7b0f95c5de..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/plugin.properties +++ /dev/null @@ -1,49 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -providerName = Eclipse.org -plugin.SWTLauncherExample.name = SWT Launcher Example Plugin -category.SWTExamples.name = SWT Examples -view.LauncherExample.name = SWT Example Launcher - -extension-point.launchItems.name = Launch Items - -launchcategory.SWTViewExamples.name = Workbench Views -launchcategory.SWTViewExamples.description = \ - A collection of Standard Widget Toolkit examples that run as Views inside the Workbench. \ - These examples will create a new View in the current Perspective. - -launchitem.LauncherExample.name = Launcher -launchitem.LauncherExample.description = \ - The Example Launcher is used to launch SWT examples which can either be \ - Workbench Views, or Standalone applications.\n\n\ - Workbench Views are examples that are integrated into Eclipse. When the Launcher \ - starts a Workbench View, it is opened in the currently active perspective.\n\n\ - Standalone applications are launched in a separate window. - -error.CouldNotLoadResources = Unable to load resources -error.CouldNotFindRegisteredExtensions = Could Not Find Registered Extensions -error.IncompleteProgramLaunchItem = Incomplete XML ProgramLaunchItem definition, id = {0} -error.IncompleteViewLaunchItem = Incomplete XML ViewLaunchItem definition, id = {0} -error.IncompleteLaunchItem = Incomplete or unrecognized XML LaunchItem definition, id = {0} - -launchitem.Null.description = <<no item selected>> - -launchitem.Missing.name = <<unnamed>> -launchitem.Missing.description = <<no description available>> - -view.launchGroup.text = Examples -view.launchButton.text = Run -view.descriptionGroup.text = Description - -run.error.Invocation = A fatal error occurred while launching the program. -run.error.DoesNotImplementMethod = The class does not implement the open() method. -run.error.CouldNotFindClass = Could not find the class to run. -run.error.CouldNotInstantiateClass = Could not instantiate the class to run. diff --git a/examples/org.eclipse.swt.examples.launcher/plugin.xml b/examples/org.eclipse.swt.examples.launcher/plugin.xml deleted file mode 100755 index 2c9f43690b..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/plugin.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<plugin - id="org.eclipse.swt.examples.launcher" - name="%plugin.SWTLauncherExample.name" - version="3.0.0" - provider-name="%providerName" - class="org.eclipse.swt.examples.launcher.LauncherPlugin"> - -<!-- Runtime --> -<!-- Runtime --> -<!-- Runtime --> -<!-- Runtime --> - <runtime> - <library name="launcher.jar"> - <packages prefixes="org.eclipse.swt.examples.launcher"/> - </library> - </runtime> -<!-- Required plugins --> - <requires> - <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.core.resources"/> - <import plugin="org.eclipse.ui"/> - <import plugin="org.eclipse.swt"/> - <import plugin="org.eclipse.jdt.launching"/> - <import plugin="org.eclipse.debug.core"/> - <import plugin="org.eclipse.core.boot"/> - <import plugin="org.eclipse.jdt.core"/> - </requires> - - -<!-- Extension points --> - <extension-point id="launchItems" name="%extension-point.launchItems.name" schema="schema/org.eclipse.swt.examples.launcher.launchItems.exsd"/> - -<!-- Extensions --> - <extension - id="application" - point="org.eclipse.core.runtime.applications"> - </extension> - <extension - point="org.eclipse.ui.views"> - <category - name="%category.SWTExamples.name" - id="org.eclipse.swt.examples.category"> - </category> - <view - name="%view.LauncherExample.name" - icon="icons/launcher_example.gif" - category="org.eclipse.swt.examples.category" - class="org.eclipse.swt.examples.launcher.LauncherView" - id="org.eclipse.swt.examples.launcher.view"> - </view> - </extension> - <extension - point="org.eclipse.swt.examples.launcher.launchItems"> - <category - name="%launchcategory.SWTViewExamples.name" - description="%launchcategory.SWTViewExamples.description" - id="org.eclipse.swt.examples.launchViewCategory"> - </category> - <item - name="%launchitem.LauncherExample.name" - enabled="false" - icon="icons/launcher_example.gif" - description="%launchitem.LauncherExample.description" - category="org.eclipse.swt.examples.launchViewCategory" - id="org.eclipse.swt.examples.launcher.viewlauncher"> - <view - viewId="org.eclipse.swt.examples.launcher.view"> - </view> - </item> - </extension> - -</plugin> diff --git a/examples/org.eclipse.swt.examples.launcher/schema/org.eclipse.swt.examples.launcher.launchItems.exsd b/examples/org.eclipse.swt.examples.launcher/schema/org.eclipse.swt.examples.launcher.launchItems.exsd deleted file mode 100644 index 3813c9d3fe..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/schema/org.eclipse.swt.examples.launcher.launchItems.exsd +++ /dev/null @@ -1,210 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.eclipse.swt.examples.launcher"> -<annotation> - <appInfo> - <meta.schema plugin="org.eclipse.swt.examples.launcher" id="launchItems" name="Launch Items"/> - </appInfo> - <documentation> - This extension point is used to add 'standalone program' and -'Workbench view' -launch items to the Launcher, optionally grouping them into -categories so as to form a multi-tiered hierarchy. -Standalone programs are executed using the platform's event loop. -Workbench views are created within the active Workbench Perspective. - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="category"/> - <element ref="item"/> - </choice> - <attribute name="point" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="id" type="string"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="name" type="string"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <element name="program"> - <annotation> - <documentation> - Specifies a "Standalone Program" for a launch item to run. - </documentation> - </annotation> - <complexType> - <attribute name="mainClass" type="string" use="required"> - <annotation> - <documentation> - The fully-qualified name of the class whose main() method is to be launched. - </documentation> - </annotation> - </attribute> - <attribute name="pluginId" type="string" use="required"> - <annotation> - <documentation> - The unique id of the Eclipse Platform plugin containing the program. - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <element name="view"> - <annotation> - <documentation> - Specifies a "Workbench View" for a launch item to activate. - </documentation> - </annotation> - <complexType> - <attribute name="viewId" type="string" use="required"> - <annotation> - <documentation> - The unique id of the Workbench View to be activated when the item is launched. - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <element name="category"> - <annotation> - <documentation> - Specifies a launch item category heading. - </documentation> - </annotation> - <complexType> - <attribute name="name" type="string" use="required"> - <annotation> - <documentation> - The localized name of this category. - </documentation> - </annotation> - </attribute> - <attribute name="id" type="string" use="required"> - <annotation> - <documentation> - The unique id of this category. Categories with duplicate id's will be discarded. - </documentation> - </annotation> - </attribute> - <attribute name="category" type="string"> - <annotation> - <documentation> - The unique id of the parent category. - </documentation> - </annotation> - </attribute> - <attribute name="description" type="string"> - <annotation> - <documentation> - Specifies a launch item category description. - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <element name="item"> - <annotation> - <documentation> - Specifies a launch item. - </documentation> - </annotation> - <complexType> - <choice> - <element ref="view"/> - <element ref="program"/> - </choice> - <attribute name="name" type="string" use="required"> - <annotation> - <documentation> - The localized name of this launch item. - </documentation> - </annotation> - </attribute> - <attribute name="id" type="string" use="required"> - <annotation> - <documentation> - The unique id of this launch item. Launch items with duplicate id's will be discarded. - </documentation> - </annotation> - </attribute> - <attribute name="category" type="string"> - <annotation> - <documentation> - The unique id of the category this launch item belongs to. - </documentation> - </annotation> - </attribute> - <attribute name="icon" type="string"> - <annotation> - <documentation> - The declaring plugin relative path of an icon to display with this launch item in the Launcher. - </documentation> - </annotation> - </attribute> - <attribute name="enabled" type="boolean" use="default" value="true"> - <annotation> - <documentation> - Set to "false" to disable this launch item, or to "true" to enable it (default). - </documentation> - </annotation> - </attribute> - <attribute name="description" type="string"> - <annotation> - <documentation> - The localized plain-text description of this launch item. - </documentation> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="apiInfo"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - -</schema> diff --git a/examples/org.eclipse.swt.examples.launcher/src/import.properties b/examples/org.eclipse.swt.examples.launcher/src/import.properties deleted file mode 100644 index 58344f0d3e..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/src/import.properties +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# 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 = <<ECLIPSE_PLUGINS>> diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemDescriptor.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemDescriptor.java deleted file mode 100755 index 7ec10195b8..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemDescriptor.java +++ /dev/null @@ -1,145 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.launcher; - - -import org.eclipse.swt.graphics.*; - -/** - * ItemDescriptor collects information about a launch item. - */ -class ItemDescriptor { - private String id; - private String name; - private String description; - private Image icon; - private String view; - private String mainType; - private String pluginId; - - - /** - * Constructs an ItemDescriptor. - * - * @param id the id - * @param name the name - * @param description the description - * @param icon the icon - * @param view the host view may be null if it is a standalone application - * @param mainType the fully qualified class name to run may be null if it is a view - * @param pluginId the name of the plugin which contains the main class - */ - public ItemDescriptor(String id, String name, String description, - Image icon, String view, String mainType, String pluginId) { - this.id = id; - this.name = name; - this.description = description; - this.icon = icon; - this.view = view; - this.mainType = mainType; - this.pluginId = pluginId; - } - - /** - * Returns the ID for this program. - * - * @return the user-specified ID for this program - */ - public String getId() { - return id; - } - - /** - * Returns the translated name for the program. - * - * @return the name of the program - */ - public String getName() { - return name; - } - - /** - * Returns a short description for the program. - * - * @return a newline-delimited string describing the program, null if no description is available - */ - public String getDescription() { - return description; - } - - /** - * Returns an icon for this descriptor - * - * @returns an icon, null if the item is a folder - */ - public Image getIcon() { - return icon; - } - - /** - * Returns the host view for the program. - * - * @return the host view, null if the item is a standalone program. - */ - public String getView () { - return view; - } - - /** - * Returns the fully qualified class to run - * for the program. - * - * @return the class to run for the program. - */ - public String getMainType () { - return mainType; - } - - /** - * Returns the name of the plugin that contains the program. - * - * @return the name of the plugin that contains the program. - */ - public String getPluginId () { - return pluginId; - } - - /** - * Determines if an item is a folder. - * - * @return true if the item is a folder - */ - public boolean isFolder() { - return (mainType == null && view == null); - } - - /** - * Determines the equality of descriptors. - * - * @return true if this.getId().equalsIgnoreCase(other.getId()) - */ - public boolean equals(Object other) { - if (other instanceof ItemDescriptor) { - ItemDescriptor otherDescriptor = (ItemDescriptor) other; - return getId().equalsIgnoreCase(otherDescriptor.getId()); - } - return false; - } - - /** - * Produces a hashcode. - * - * @return the hashcode - */ - public int hashCode() { - return id.toUpperCase().hashCode(); - } -} diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemTreeNode.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemTreeNode.java deleted file mode 100755 index 6088090e96..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/ItemTreeNode.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.launcher; - - -/** - * Internal class used to store tree structures of ItemDescriptors - */ -class ItemTreeNode { - private ItemTreeNode nextSibling; - private ItemTreeNode firstChild; - private ItemDescriptor descriptor; - - /** - * Constructs a leaf ItemTreeNode with a given descriptor. - * - * @param descriptor the descriptor - */ - public ItemTreeNode(ItemDescriptor descriptor) { - this.descriptor = descriptor; - } - - /** - * Adds a node to the Tree in sorted order by name. - * - * @param node the node to add. Note that node.nextSibling must be null - */ - public void addSortedNode(ItemTreeNode node) { - if (firstChild == null) { - firstChild = node; - } else if (firstChild.descriptor.getName().compareTo(node.descriptor.getName()) > 0) { - node.nextSibling = firstChild; - firstChild = node; - } else { - ItemTreeNode cursor; - for (cursor = firstChild; cursor.nextSibling != null; cursor = cursor.nextSibling) { - ItemTreeNode sibling = cursor.nextSibling; - if (sibling.descriptor.getName().compareTo(node.descriptor.getName()) > 0) break; - } - node.nextSibling = cursor.nextSibling; - cursor.nextSibling = node; - } - } - - /** - * Returns the descriptor for this node. - * - * @return the descriptor - */ - public ItemDescriptor getDescriptor() { - return descriptor; - } - - /** - * Returns the next sibling of this node. - * - * @return the next sibling, or null if none - */ - public ItemTreeNode getNextSibling() { - return nextSibling; - } - - /** - * Returns the first child of this node. - * - * @return the first child, or null if none - */ - public ItemTreeNode getFirstChild() { - return firstChild; - } -} diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherPlugin.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherPlugin.java deleted file mode 100755 index 2d6abb35f5..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherPlugin.java +++ /dev/null @@ -1,390 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.launcher; - - -import java.io.*; -import java.net.*; -import java.text.*; -import java.util.*; - -import org.eclipse.core.runtime.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.ui.plugin.*; - -/** - * The main plugin class to be used in the desktop. - */ -public class LauncherPlugin extends AbstractUIPlugin { - //The shared instance. - private static LauncherPlugin plugin; - private static ResourceBundle resourceBundle; - - private static final String - LAUNCH_ITEMS_POINT_ID = "org.eclipse.swt.examples.launcher.launchItems", - LAUNCH_ITEMS_XML_CATEGORY = "category", - LAUNCH_ITEMS_XML_ITEM = "item", - LAUNCH_ITEMS_XML_ITEM_ICON = "icon", - LAUNCH_ITEMS_XML_ITEM_DESCRIPTION = "description", - LAUNCH_ITEMS_XML_PROGRAM = "program", - LAUNCH_ITEMS_XML_PROGRAM_PLUGIN = "pluginId", - LAUNCH_ITEMS_XML_PROGRAM_CLASS = "mainClass", - LAUNCH_ITEMS_XML_VIEW = "view", - LAUNCH_ITEMS_XML_VIEW_VIEWID = "viewId", - LAUNCH_ITEMS_XML_ATTRIB_ID = "id", - LAUNCH_ITEMS_XML_ATTRIB_NAME = "name", - LAUNCH_ITEMS_XML_ATTRIB_ENABLED = "enabled", - LAUNCH_ITEMS_XML_ATTRIB_CATEGORY = "category", - LAUNCH_ITEMS_XML_VALUE_TRUE = "true", - LAUNCH_ITEMS_XML_VALUE_FALSE = "false"; - - static final int - liClosedFolder = 0, - liOpenFolder = 1, - liGenericExample = 2; - static final String[] imageLocations = { - "icons/closedFolder.gif", - "icons/openFolder.gif", - "icons/generic_example.gif" }; - static Image images[]; - - /** - * Constructs the LauncherPlugin. - */ - public LauncherPlugin(IPluginDescriptor descriptor) { - super(descriptor); - plugin = this; - resourceBundle = descriptor.getResourceBundle(); - } - - /** - * Clean up - */ - public void shutdown() throws CoreException { - super.shutdown(); - freeResources(); - } - - /** - * Returns the shared instance. - */ - public static LauncherPlugin getDefault() { - return plugin; - } - - /** - * Loads the resources - */ - public static void initResources() { - if (images == null) { - images = new Image[imageLocations.length]; - - for (int i = 0; i < imageLocations.length; ++i) { - images[i] = getImageFromPlugin(plugin.getDescriptor(), imageLocations[i]); - if (images[i] == null) { - freeResources(); - logError(getResourceString("error.CouldNotLoadResources"), null); - throw new IllegalStateException(); - } - } - } - } - - /** - * Frees the resources - */ - public static void freeResources() { - if (images != null) { - for (int i = 0; i < images.length; ++i) { - final Image image = images[i]; - if (image != null) image.dispose(); - } - images = null; - } - } - - /** - * 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 + "!"; - } - } - - /** - * Constructs a list of available programs from registered extensions. - * - * @return an ItemTreeNode representing the root of a tree of items (the root is not to be displayed) - */ - public static ItemTreeNode getLaunchItemTree() { - ItemTreeNode categoryTree = - new ItemTreeNode(new ItemDescriptor("<<Root>>", "<<Root>>", null, null, null, null, null)); - - // get the platform's public plugin registry - IPluginRegistry pluginRegistry = Platform.getPluginRegistry(); - // retrieve all configuration elements registered at our launchItems extension-point - IConfigurationElement[] configurationElements = - pluginRegistry.getConfigurationElementsFor(LAUNCH_ITEMS_POINT_ID); - - if (configurationElements == null || configurationElements.length == 0) { - logError(getResourceString("error.CouldNotFindRegisteredExtensions"), null); - return categoryTree; - } - - /* Collect all launch categories -- coalesce those with same ID */ - HashMap idMap = new HashMap(); - for (int i = 0; i < configurationElements.length; ++i) { - final IConfigurationElement ce = configurationElements[i]; - final String ceName = ce.getName(); - final String attribId = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_ID, null); - - if (idMap.containsKey(attribId)) continue; - if (ceName.equalsIgnoreCase(LAUNCH_ITEMS_XML_CATEGORY)) { - final String attribName = getItemName(ce); - ItemDescriptor theDescriptor = new ItemDescriptor(attribId, attribName, - getItemDescription(ce), null, null, null, null); - idMap.put(attribId, new ItemTreeNode(theDescriptor)); - } - } - - /* Generate launch category hierarchy */ - Set tempIdSet = new HashSet(); // used to prevent duplicates from being entered into the tree - for (int i = 0; i < configurationElements.length; ++i) { - final IConfigurationElement ce = configurationElements[i]; - final String ceName = ce.getName(); - final String attribId = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_ID, null); - - if (tempIdSet.contains(attribId)) continue; - if (ceName.equalsIgnoreCase(LAUNCH_ITEMS_XML_CATEGORY)) { - final ItemTreeNode theNode = (ItemTreeNode) idMap.get(attribId); - addItemByCategory(ce, categoryTree, theNode, idMap); - tempIdSet.add(attribId); - } - } - - /* Generate program tree */ - for (int i = 0; i < configurationElements.length; ++i) { - final IConfigurationElement ce = configurationElements[i]; - final String ceName = ce.getName(); - final String attribId = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_ID, null); - - if (idMap.containsKey(attribId)) continue; - if (ceName.equalsIgnoreCase(LAUNCH_ITEMS_XML_CATEGORY)) { - // ignore - } else if (ceName.equalsIgnoreCase(LAUNCH_ITEMS_XML_ITEM)) { - final String enabled = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_ENABLED, - LAUNCH_ITEMS_XML_VALUE_TRUE); - if (enabled.equalsIgnoreCase(LAUNCH_ITEMS_XML_VALUE_FALSE)) continue; - ItemDescriptor theDescriptor = createItemDescriptor(ce, attribId); - - if (theDescriptor != null) { - final ItemTreeNode theNode = new ItemTreeNode(theDescriptor); - addItemByCategory(ce, categoryTree, theNode, idMap); - idMap.put(attribId, theNode); - } - } - } - return categoryTree; - } - - - /** - * Adds an item to the category tree. - */ - private static void addItemByCategory(IConfigurationElement ce, ItemTreeNode root, - ItemTreeNode theNode, HashMap idMap) { - final String attribCategory = getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_CATEGORY, null); - - // locate the parent node - ItemTreeNode parentNode = null; - if (attribCategory != null) { - parentNode = (ItemTreeNode) idMap.get(attribCategory); - } - if (parentNode == null) parentNode = root; - - // add the item - parentNode.addSortedNode(theNode); - } - - /** - * Creates an ItemDescriptor from an XML definition. - * - * @param ce the IConfigurationElement describing the item - * @param attribId the attribute id - * @return a new ItemDescriptor, or null if an error occurs - */ - private static ItemDescriptor createItemDescriptor(IConfigurationElement ce, String attribId) { - final String attribName = getItemName(ce); - final Image attribIcon = getItemIcon(ce); - final String attribDescription = getItemDescription(ce); - - IConfigurationElement viewCE = getItemElement(ce, LAUNCH_ITEMS_XML_VIEW); - if (viewCE != null) { - //Item is a view - final String attribView = getItemAttribute(viewCE, LAUNCH_ITEMS_XML_VIEW_VIEWID, null); - if (attribView == null) { - logError(getResourceString("error.IncompleteViewLaunchItem", - new Object[] { attribId } ), null); - return null; - } - return new ItemDescriptor(attribId, attribName, attribDescription, - attribIcon, attribView, null, null); - } else { - //Item is a standalone - IConfigurationElement programCE = getItemElement(ce, LAUNCH_ITEMS_XML_PROGRAM); - if (programCE != null) { - final String attribPluginId = getItemAttribute(programCE, LAUNCH_ITEMS_XML_PROGRAM_PLUGIN, null); - final String attribClass = getItemAttribute(programCE, LAUNCH_ITEMS_XML_PROGRAM_CLASS, null); - if (attribClass == null || attribPluginId == null) { - logError(getResourceString("error.IncompleteProgramLaunchItem", - new Object[] { attribId } ), null); - return null; - } - return new ItemDescriptor(attribId, attribName, attribDescription, - attribIcon, null, attribClass, attribPluginId); - } else { - logError(getResourceString("error.IncompleteLaunchItem", - new Object[] { attribId } ), null); - return null; - } - } - } - - /** - * Returns the first instance of a particular child XML element. - * - * @param ce the IConfigurationElement parent - * @param element the name of the element to fetch - * @return the element's IConfigurationElement, or null if not found - */ - private static IConfigurationElement getItemElement(IConfigurationElement ce, String element) { - IConfigurationElement[] elementCEs = ce.getChildren(element); - return (elementCEs != null && elementCEs.length != 0) ? elementCEs[0] : null; - } - - /** - * Returns the value of an XML attribute for an item. - * - * @param ce the IConfigurationElement describing the item - * @param attribute the attribute to fetch - * @param defaultValue the value to return if the attribute is not found - * @return the attribute value - */ - private static String getItemAttribute(IConfigurationElement ce, String attribute, String defaultValue) { - String value = ce.getAttribute(attribute); - return (value != null) ? value : defaultValue; - } - - /** - * Returns the description string given the IConfigurationElement for an item. - * - * @param ce the IConfigurationElement describing the item - * @return a newline-delimited string that describes this item, or null if none - */ - private static String getItemDescription(IConfigurationElement ce) { - String description = getItemAttribute(ce, LAUNCH_ITEMS_XML_ITEM_DESCRIPTION, ""); - return (description.length() == 0) ? null : description; - } - - /** - * Returns the name of an item. - * - * @param ce the IConfigurationElement describing the item - * @return the attribute value - */ - private static String getItemName(IConfigurationElement ce) { - return getItemAttribute(ce, LAUNCH_ITEMS_XML_ATTRIB_NAME, - getResourceString("launchitem.Missing.name")); - } - - - /** - * Returns the icon for an item. - * - * @param ce the IConfigurationElement describing the item - * @return an icon - */ - private static Image getItemIcon(IConfigurationElement ce) { - String iconPath = getItemAttribute(ce, LAUNCH_ITEMS_XML_ITEM_ICON, ""); - if (iconPath.length() != 0) { - Image icon = getImageFromPlugin(ce.getDeclaringExtension().getDeclaringPluginDescriptor(), - iconPath); - if (icon != null) { - Image[] newImages = new Image[images.length + 1]; - System.arraycopy(images, 0, newImages, 0, images.length); - newImages[images.length] = icon; - images = newImages; - return icon; - } - } - return images[liGenericExample]; - } - - /** - * Gets an image from a path relative to the plugin install directory. - * - * @param pd the plugin descriptor for the plugin with the image - * @param iconPath the path relative to the install directory - * @return the image, or null if not found - */ - private static Image getImageFromPlugin(IPluginDescriptor pd, String iconPath) { - InputStream is = null; - try { - URL installUrl = pd.getInstallURL(); - URL url = new URL(installUrl, iconPath); - is = url.openConnection().getInputStream(); - ImageData source = new ImageData(is); - ImageData mask = source.getTransparencyMask(); - Image image = new Image(null, source, mask); - return image; - } catch (Throwable ex) { - return null; - } finally { - try { - if (is != null) is.close(); - } catch (IOException e) { - } - } - } -} diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherView.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherView.java deleted file mode 100755 index 663dfd6415..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/LauncherView.java +++ /dev/null @@ -1,233 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.launcher; - - -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.ui.*; -import org.eclipse.ui.part.*; -import java.lang.reflect.*; - -/** - * Launcher uses <code>org.eclipse.swt</code> - * to launch the other registered examples. - * - * @see ViewPart - */ -public class LauncherView extends ViewPart { - private Shell workbenchShell; - - private Tree launchTree; - private Text descriptionText; - private Button runButton; - - /** - * Constructs a LauncherView. - */ - public LauncherView() { - LauncherPlugin.initResources(); - } - - /** - * Creates the example. - * - * @see ViewPart#createPartControl - */ - public void createPartControl(Composite parent) { - workbenchShell = getSite().getShell(); - parent.setLayout(new SplitLayout()); - - Group launchGroup = new Group(parent, SWT.NULL); - launchGroup.setText(LauncherPlugin.getResourceString("view.launchGroup.text")); - - GridLayout gridLayout = new GridLayout(); - gridLayout.numColumns = 2; - launchGroup.setLayout(gridLayout); - - launchTree = new Tree(launchGroup, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); - GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); - gridData.horizontalSpan = 2; - launchTree.setLayoutData(gridData); - launchTree.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent event) { - final ItemDescriptor item = getSelectedItem(); - setDescriptionByItem(item); - } - public void widgetDefaultSelected(SelectionEvent event) { - final ItemDescriptor item = getSelectedItem(); - setDescriptionByItem(item); - launchItem(getSelectedItem()); - } - }); - launchTree.addTreeListener(new TreeListener() { - public void treeCollapsed(TreeEvent event) { - final TreeItem item = (TreeItem) event.item; - if (item == null) return; - item.setImage(LauncherPlugin.images[LauncherPlugin.liClosedFolder]); - } - public void treeExpanded(TreeEvent event) { - final TreeItem item = (TreeItem) event.item; - if (item == null) return; - item.setImage(LauncherPlugin.images[LauncherPlugin.liOpenFolder]); - } - }); - - runButton = new Button(launchGroup, SWT.PUSH); - runButton.setText(LauncherPlugin.getResourceString("view.launchButton.text")); - runButton.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent event) { - launchItem(getSelectedItem()); - } - public void widgetDefaultSelected(SelectionEvent event) { - } - }); - - Group descriptionGroup = new Group(parent, SWT.NULL); - descriptionGroup.setText(LauncherPlugin.getResourceString("view.descriptionGroup.text")); - descriptionGroup.setLayout(new FillLayout()); - - descriptionText = new Text(descriptionGroup, SWT.MULTI | SWT.BORDER | - SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY); - - setDescriptionByItem(null); - setItemDescriptors(LauncherPlugin.getLaunchItemTree()); - } - - /** - * Called when we must grab focus. - * - * @see org.eclipse.ui.part.ViewPart#setFocus - */ - public void setFocus() { - launchTree.setFocus(); - runButton.getShell().setDefaultButton(runButton); - } - - /** - * Called when the View is to be disposed - */ - public void dispose() { - workbenchShell = null; - launchTree = null; - descriptionText = null; - runButton = null; - super.dispose(); - } - - /** - * Installs a new launch list. - * - * @param newRoot the new tree of launch items for the UI - */ - public void setItemDescriptors(final ItemTreeNode newRoot) { - if (workbenchShell == null) return; - workbenchShell.getDisplay().syncExec(new Runnable() { - public void run() { - if ((launchTree == null) || (launchTree.isDisposed())) return; - launchTree.removeAll(); - - for (ItemTreeNode node = newRoot.getFirstChild(); node != null; - node = node.getNextSibling()) { - doNode(node, new TreeItem(launchTree, SWT.NONE)); // top-level TreeItem - } - } - private void addGroup(TreeItem parent, ItemTreeNode node) { - for (;node != null; node = node.getNextSibling()) { - doNode(node, new TreeItem(parent, SWT.NONE)); // TreeItem at depth > 0 - } - } - private void doNode(ItemTreeNode node, TreeItem treeItem) { - final ItemDescriptor item = node.getDescriptor(); - treeItem.setText(item.getName()); - treeItem.setData(item); - if (node.getDescriptor().isFolder()) { - treeItem.setExpanded(false); - treeItem.setImage(LauncherPlugin.images[LauncherPlugin.liClosedFolder]); - } else { - treeItem.setImage(node.getDescriptor().getIcon()); - } - addGroup(treeItem, node.getFirstChild()); - } - }); - } - - /** - * Runs the specified launch item. - * - * @param itemDescriptor the launch item to execute - */ - private void launchItem(ItemDescriptor itemDescriptor) { - /* Case 1: The launch item is a view */ - String pluginViewId = itemDescriptor.getView (); - if (pluginViewId != null) { - final IWorkbenchPart workbenchPart = this; - final IWorkbenchPartSite workbenchPartSite = workbenchPart.getSite(); - final IWorkbenchPage workbenchPage = workbenchPartSite.getPage(); - try { - workbenchPage.showView(pluginViewId); - } catch (PartInitException e) { - LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.Invocation"), e); - } - return; - } - /* Case 2: The launch item is a standalone program */ - if (workbenchShell == null) return; - try { - Class cl = Class.forName(itemDescriptor.getMainType()); - Display display = workbenchShell.getDisplay(); - Object exampleInstance = cl.newInstance(); - Method openMethod = cl.getDeclaredMethod("open", new Class[] {Display.class}); - openMethod.invoke(exampleInstance, new Object[] {display}); - } catch (NoSuchMethodException e) { - LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.DoesNotImplementMethod"), null); - } catch (ClassNotFoundException e) { - LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.CouldNotFindClass"), e); - } catch (Exception e) { - LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.CouldNotInstantiateClass"), e); - } - } - - /** - * Obtains the selected launch item. - * - * @return the currently selected ItemDescriptor - */ - private ItemDescriptor getSelectedItem() { - final TreeItem[] selections = launchTree.getSelection(); - if (selections.length == 0) return null; - final ItemDescriptor itemDescriptor = (ItemDescriptor) selections[0].getData(); - return itemDescriptor; - } - - /** - * Sets the currently visible description text to reflect that of a particular ItemDescriptor. - * - * @param itemDescriptor the launch item whose description is to be displayed, or null if none - */ - private void setDescriptionByItem(ItemDescriptor itemDescriptor) { - String description; - if (itemDescriptor == null) { - description = LauncherPlugin.getResourceString("launchitem.Null.description"); - if (runButton != null) runButton.setEnabled(false); - } else { - description = itemDescriptor.getDescription(); - if (description == null) - description = LauncherPlugin.getResourceString("launchitem.Missing.description"); - if (runButton != null) { - runButton.setEnabled(itemDescriptor.getView() != null || itemDescriptor.getMainType() != null); - } - } - descriptionText.setText(description); - } -} diff --git a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/SplitLayout.java b/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/SplitLayout.java deleted file mode 100755 index 47dbfddd89..0000000000 --- a/examples/org.eclipse.swt.examples.launcher/src/org/eclipse/swt/examples/launcher/SplitLayout.java +++ /dev/null @@ -1,139 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.launcher; - - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.widgets.*; - -/** - * A Layout class that automatically switches from a horizontal split to a vertical - * split layout to accomodate changing size conditions. - * - * Later on we might improve this class to take into account the "preferred" size of - * the widgets. - */ -public class SplitLayout extends Layout { - private static final int - splitHorizontally = 0, - splitVertically = 1; - private int splitDirection = splitHorizontally; - - public int spacing = 3; - public int marginTop = 3; - public int marginLeft = 3; - public int marginRight = 3; - public int marginBottom = 3; - - /** - * Creates a new layout - */ - public SplitLayout() { - } - - /** - * @see Layout#computeSize(Composite, int, int, boolean) - */ - protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) { - if (wHint == SWT.DEFAULT) { - if (hHint == SWT.DEFAULT) { - Point hSplitSize = computeHSplitSize(composite, wHint, hHint, flushCache); - Point vSplitSize = computeVSplitSize(composite, wHint, hHint, false); - int hSplitArea = hSplitSize.x * hSplitSize.y; - int vSplitArea = vSplitSize.x * vSplitSize.y; - // Choose direction consuming least area - if (hSplitArea < vSplitArea) { - splitDirection = splitHorizontally; - return hSplitSize; - } else { - splitDirection = splitVertically; - return vSplitSize; - } - } else { - // Constrained in height: split vertically - splitDirection = splitVertically; - return computeVSplitSize(composite, wHint, hHint, flushCache); - } - } else { - if (hHint == SWT.DEFAULT) { - // Constrained in width: split horizontally - splitDirection = splitHorizontally; - return computeHSplitSize(composite, wHint, hHint, flushCache); - } else { - if (hHint < wHint) { - splitDirection = splitVertically; - return computeVSplitSize(composite, wHint, hHint, flushCache); - } else { - splitDirection = splitHorizontally; - return computeHSplitSize(composite, wHint, hHint, flushCache); - } - } - } - } - /** - * @see Layout#layout(Composite, boolean) - */ - protected void layout(Composite composite, boolean flushCache) { - Rectangle clientArea = composite.getClientArea(); - computeSize(composite, clientArea.width, clientArea.height, false); - - Control[] children = composite.getChildren(); - clientArea.x += marginLeft; - clientArea.y += marginTop; - clientArea.width -= marginRight + marginLeft; - clientArea.height -= marginBottom + marginTop; - Point position = new Point(clientArea.x, clientArea.y); - - for (int i = 0; i < children.length; ++i) { - final Control child = children[i]; - final Rectangle bounds; - if (splitDirection == splitHorizontally) { - int height = clientArea.height / children.length; - bounds = new Rectangle(position.x, position.y, clientArea.width, height); - position.y += height + spacing; - } else { - int width = clientArea.width / children.length; - bounds = new Rectangle(position.x, position.y, width, clientArea.height); - position.x += width + spacing; - } - bounds.width = Math.max(bounds.width, 0); - bounds.height = Math.max(bounds.height, 0); - child.setBounds(bounds); - } - } - - private Point computeHSplitSize(Composite composite, int wHint, int hHint, boolean flushCache) { - Point size = new Point(marginLeft + marginRight, marginTop + marginBottom); - Control[] children = composite.getChildren(); - for (int i = 0; i < children.length; ++i) { - final Control child = children[i]; - - Point childSize = child.computeSize(wHint, hHint, flushCache); - size.x = Math.max(size.x, childSize.x); - size.y += childSize.y + spacing; - } - return size; - } - - private Point computeVSplitSize(Composite composite, int wHint, int hHint, boolean flushCache) { - Point size = new Point(marginLeft + marginRight, marginTop + marginBottom); - Control[] children = composite.getChildren(); - for (int i = 0; i < children.length; ++i) { - final Control child = children[i]; - - Point childSize = child.computeSize(wHint, hHint, flushCache); - size.x += childSize.x + spacing; - size.y = Math.max(size.y, childSize.y); - } - return size; - } -} diff --git a/examples/org.eclipse.swt.examples.layouts/.classpath b/examples/org.eclipse.swt.examples.layouts/.classpath deleted file mode 100644 index 065ac06e19..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/examples/org.eclipse.swt.examples.layouts/.cvsignore b/examples/org.eclipse.swt.examples.layouts/.cvsignore deleted file mode 100644 index c5e82d7458..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.layouts/.project b/examples/org.eclipse.swt.examples.layouts/.project deleted file mode 100644 index e5d7079d5d..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/.project +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.swt.examples.layouts</name> - <comment></comment> - <projects> - <project>org.eclipse.swt</project> - <project>org.eclipse.swt.examples</project> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/examples/org.eclipse.swt.examples.layouts/about.html b/examples/org.eclipse.swt.examples.layouts/about.html deleted file mode 100644 index 9db411aab9..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/about.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>20th June, 2002</p> -<h3>License</h3> -<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>. -For purposes of the CPL, "Program" will mean the Content.</p> - -<h3>Contributions</h3> - -<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise -made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such -Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p> - -<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or -other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the -host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available -to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also -providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of -the CPL.</p> - -</body> -</html>
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.layouts/build.properties b/examples/org.eclipse.swt.examples.layouts/build.properties deleted file mode 100644 index 1c236e8ba2..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/build.properties +++ /dev/null @@ -1,20 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = doc-html/,\ - icons/,\ - plugin.properties,\ - plugin.xml,\ - about.html,\ - *.jar - -src.includes = about.html - -source.layouts.jar = src/ diff --git a/examples/org.eclipse.swt.examples.layouts/doc-html/hglegal.htm b/examples/org.eclipse.swt.examples.layouts/doc-html/hglegal.htm deleted file mode 100644 index f5871b79e0..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/doc-html/hglegal.htm +++ /dev/null @@ -1,14 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <LINK REL="stylesheet" HREF="../../../book.css" CHARSET="ISO-8859-1" TYPE="text/css"> - <title>Legal Notices</title> -</head> -<body> - -<h3> -<a NAME="Notices"></a>Notices</h3> -(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved. -</body> -</html> diff --git a/examples/org.eclipse.swt.examples.layouts/doc-html/ngibmcpy.gif b/examples/org.eclipse.swt.examples.layouts/doc-html/ngibmcpy.gif Binary files differdeleted file mode 100644 index c786e43e1f..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/doc-html/ngibmcpy.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.layouts/doc-html/swt_layout_ex.html b/examples/org.eclipse.swt.examples.layouts/doc-html/swt_layout_ex.html deleted file mode 100644 index 2eb39e4c99..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/doc-html/swt_layout_ex.html +++ /dev/null @@ -1,35 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <title>SWT - Layout Example</title> -</head> -<body> - -<h2>SWT example - Layouts</h2> - -<p> -This example is a simple demonstration of common SWT layouts. -It consists of a tab folder where each tab in the folder allows the -user to interact with a different SWT layout. -The user can insert widgets into a layout and set the values of the layout data -using a property sheet. When the user has a suitable arrangement, the underlying -code can be generated by clicking on the <strong>Code</strong> button. -</p> - -<h3>Running the example</h3> -<p> -Follow the <a href="../../org.eclipse.swt.examples/doc-html/swt_manual_setup.html">SWT standalone examples setup</a> -instructions to install and run the example from your workspace. -</p> -<p> -The "Main" class is <code>org.eclipse.swt.examples.layoutexample.LayoutExample</code>. -</p> -<p> -This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>. -Select the <strong>Layouts</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>. -</p> - -<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003. All Rights Reserved." BORDER=0 height=14 width=324></a></p> -</body> -</html>
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.layouts/icons/layouts_example.gif b/examples/org.eclipse.swt.examples.layouts/icons/layouts_example.gif Binary files differdeleted file mode 100644 index d945dde53b..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/icons/layouts_example.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.layouts/plugin.properties b/examples/org.eclipse.swt.examples.layouts/plugin.properties deleted file mode 100644 index 59ffc928d5..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/plugin.properties +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -providerName = Eclipse.org -plugin.SWTLayoutExample.name = SWT Layout Example Plugin -category.SWTExamples.name = SWT Examples -view.LayoutExample.name = SWT Layouts - -launchcategory.SWTViewExamples.name = Workbench Views -launchcategory.SWTViewExamples.description = \ - A collection of Standard Widget Toolkit examples that run as Views inside the Workbench. \ - These examples will create a new View in the current Perspective. - -launchitem.LayoutExample.name = Layouts -launchitem.LayoutExample.description = \ - This example is a simple demonstration of common SWT layouts. \n\n\ - It consists of a tab folder where each tab allows the \ - user to interact with a different SWT layout.\ - The user can insert widgets into a layout and set the values of the layout data \ - using a property sheet. When the user has a suitable arrangement, code can be \ - generated by clicking on the Code button. diff --git a/examples/org.eclipse.swt.examples.layouts/plugin.xml b/examples/org.eclipse.swt.examples.layouts/plugin.xml deleted file mode 100644 index 5f300c51bb..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/plugin.xml +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<plugin - id="org.eclipse.swt.examples.layouts" - name="%plugin.SWTLayoutExample.name" - version="3.0.0" - provider-name="%providerName" - class="org.eclipse.swt.examples.layouts.LayoutPlugin"> - -<!-- Runtime --> -<!-- Runtime --> - <runtime> - <library name="layouts.jar"> - <packages prefixes="org.eclipse.swt.examples.layouts"/> - </library> - </runtime> -<!-- Required plugins --> - <requires> - <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.ui"/> - <import plugin="org.eclipse.swt"/> - <import plugin="org.eclipse.swt.examples"/> - </requires> - - -<!-- Extension points --> -<!-- Extensions --> - <extension - point="org.eclipse.ui.views"> - <view - name="%view.LayoutExample.name" - icon="icons/layouts_example.gif" - category="org.eclipse.swt.examples.category" - class="org.eclipse.swt.examples.layouts.LayoutView" - id="org.eclipse.swt.examples.layouts.view"> - </view> - </extension> - <extension - point="org.eclipse.swt.examples.launcher.launchItems"> - <category - name="%launchcategory.SWTViewExamples.name" - description="%launchcategory.SWTViewExamples.description" - id="org.eclipse.swt.examples.launchViewCategory"> - </category> - <item - name="%launchitem.LayoutExample.name" - icon="icons/layouts_example.gif" - description="%launchitem.LayoutExample.description" - category="org.eclipse.swt.examples.launchViewCategory" - id="org.eclipse.swt.examples.layouts.viewlauncher"> - <view - viewId="org.eclipse.swt.examples.layouts.view"> - </view> - </item> - </extension> - -</plugin> diff --git a/examples/org.eclipse.swt.examples.layouts/src/import.properties b/examples/org.eclipse.swt.examples.layouts/src/import.properties deleted file mode 100644 index 58344f0d3e..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/src/import.properties +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# 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 = <<ECLIPSE_PLUGINS>> diff --git a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutPlugin.java b/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutPlugin.java deleted file mode 100644 index d207dfdfc0..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutPlugin.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.layouts; - - -import org.eclipse.core.runtime.*; -import org.eclipse.ui.plugin.*; - -/** - * The main plugin class to be used in the desktop. - */ -public class LayoutPlugin extends AbstractUIPlugin { - /** - * The constructor. - */ - public LayoutPlugin(IPluginDescriptor descriptor) { - super(descriptor); - } - - /** - * Clean up - */ - public void shutdown() throws CoreException { - super.shutdown(); - } -} diff --git a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutView.java b/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutView.java deleted file mode 100644 index a765800c3e..0000000000 --- a/examples/org.eclipse.swt.examples.layouts/src/org/eclipse/swt/examples/layouts/LayoutView.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.layouts; - - -import org.eclipse.swt.examples.layoutexample.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.ui.part.*; - -/** - * <code>Layouts</code> is a simple demonstration - * of the layouts defined by SWT. It consists of a workbench - * view and tab folder where each tab in the folder allows the - * user to interact with a layout. - * - * @see ViewPart - */ -public class LayoutView extends ViewPart { - LayoutExample instance = null; - - /** - * Create the example - * - * @see ViewPart#createPartControl - */ - public void createPartControl(Composite frame) { - instance = new LayoutExample(frame); - } - - /** - * Called when we must grab focus. - * - * @see org.eclipse.ui.part.ViewPart#setFocus - */ - public void setFocus() { - instance.setFocus(); - } - - /** - * Called when the View is to be disposed - */ - public void dispose() { - instance.dispose(); - instance = null; - super.dispose(); - } -} diff --git a/examples/org.eclipse.swt.examples.ole.win32/.classpath b/examples/org.eclipse.swt.examples.ole.win32/.classpath deleted file mode 100755 index 065ac06e19..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/examples/org.eclipse.swt.examples.ole.win32/.cvsignore b/examples/org.eclipse.swt.examples.ole.win32/.cvsignore deleted file mode 100755 index c5e82d7458..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.ole.win32/.project b/examples/org.eclipse.swt.examples.ole.win32/.project deleted file mode 100644 index 9ea059d7d5..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/.project +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.swt.examples.ole.win32</name> - <comment></comment> - <projects> - <project>org.eclipse.swt</project> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/examples/org.eclipse.swt.examples.ole.win32/about.html b/examples/org.eclipse.swt.examples.ole.win32/about.html deleted file mode 100644 index 9db411aab9..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/about.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>20th June, 2002</p> -<h3>License</h3> -<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>. -For purposes of the CPL, "Program" will mean the Content.</p> - -<h3>Contributions</h3> - -<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise -made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such -Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p> - -<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or -other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the -host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available -to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also -providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of -the CPL.</p> - -</body> -</html>
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.ole.win32/build.properties b/examples/org.eclipse.swt.examples.ole.win32/build.properties deleted file mode 100755 index c30cc18464..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/build.properties +++ /dev/null @@ -1,20 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = doc-html/,\ - icons/,\ - plugin.properties,\ - plugin.xml,\ - about.html,\ - *.jar - -src.includes = about.html - -source.olewin32.jar = src/ diff --git a/examples/org.eclipse.swt.examples.ole.win32/doc-html/hglegal.htm b/examples/org.eclipse.swt.examples.ole.win32/doc-html/hglegal.htm deleted file mode 100755 index f5871b79e0..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/doc-html/hglegal.htm +++ /dev/null @@ -1,14 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <LINK REL="stylesheet" HREF="../../../book.css" CHARSET="ISO-8859-1" TYPE="text/css"> - <title>Legal Notices</title> -</head> -<body> - -<h3> -<a NAME="Notices"></a>Notices</h3> -(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved. -</body> -</html> diff --git a/examples/org.eclipse.swt.examples.ole.win32/doc-html/ngibmcpy.gif b/examples/org.eclipse.swt.examples.ole.win32/doc-html/ngibmcpy.gif Binary files differdeleted file mode 100755 index c786e43e1f..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/doc-html/ngibmcpy.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.ole.win32/doc-html/swt_ole_ex.html b/examples/org.eclipse.swt.examples.ole.win32/doc-html/swt_ole_ex.html deleted file mode 100755 index 834035cb29..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/doc-html/swt_ole_ex.html +++ /dev/null @@ -1,37 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <title>SWT - OLE Web Browser</title> -</head> -<body> - -<h2>SWT example - OLE Web Browser</h2> - -<p> -This example shows how to embed an Active X control into an SWT application or an Eclipse view. -<p> -</p> -When the view is opened, it will create an instance of the Windows Internet Explorer -control. The OLE web browser has -<strong>Back</strong> and <strong>Forward</strong> buttons to take you to recently visited pages. The browser also contains -a <strong>Home</strong> button to take you to the web browser's home page, a <strong>Stop</strong> button which stops the -current transfer, a <strong>Search</strong> button which will search for text typed in the <strong>Address</strong> text field, and -a <strong>Refresh</strong> button which re-draws the contents of the currently displayed page. There is also a -<strong>Go</strong> button which, when clicked, will attempt to load the page specified in the <strong>Address</strong> field. -</p> - -<h3>Running the example</h3> - -<p> -From Eclipse's <strong>Window</strong> menu select <strong>Show View</strong> > <strong>Other</strong>. -In the <strong>Show View</strong> dialog, expand <strong>SWT Examples</strong> and select -the view named <strong>OLE Web Browser (win32)</strong>. A view containing a web browser will appear. -</p> -<p> -This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>. -Select the <strong>OLE Web Browser</strong> item from the <strong>Win32 only</strong> category and click <strong>Run</strong>. -</p> -<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003. All Rights Reserved." BORDER=0 height=14 width=324></a></p> -</body> -</html> diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/backward_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/backward_nav.gif Binary files differdeleted file mode 100755 index 5fcf41b783..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/icons/backward_nav.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/forward_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/forward_nav.gif Binary files differdeleted file mode 100755 index 3b9b6af9b1..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/icons/forward_nav.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/home_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/home_nav.gif Binary files differdeleted file mode 100755 index 77a2306ed2..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/icons/home_nav.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/refresh_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/refresh_nav.gif Binary files differdeleted file mode 100755 index e270e18bde..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/icons/refresh_nav.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/search_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/search_nav.gif Binary files differdeleted file mode 100755 index 73ac91bddb..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/icons/search_nav.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/stop_nav.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/stop_nav.gif Binary files differdeleted file mode 100755 index 653d347b57..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/icons/stop_nav.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.ole.win32/icons/webbrowser_example.gif b/examples/org.eclipse.swt.examples.ole.win32/icons/webbrowser_example.gif Binary files differdeleted file mode 100755 index 895e22110d..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/icons/webbrowser_example.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.ole.win32/plugin.properties b/examples/org.eclipse.swt.examples.ole.win32/plugin.properties deleted file mode 100755 index f7fa735f62..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/plugin.properties +++ /dev/null @@ -1,60 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -providerName = Eclipse.org -plugin.SWTOLEExample.name = SWT OLE Example Plugin (Win32) -category.SWTExamples.name = SWT Examples -view.OLEWebBrowserExample.name = OLE Web Browser (Win32) - -launchcategory.SWTWin32OnlyExamples.name = Win32 only -launchcategory.SWTWin32OnlyExamples.description = \ - A collection of Standard Widget Toolkit examples for Windows systems only. - -launchitem.OLEWebBrowserExample.name = OLE Web Browser -launchitem.OLEWebBrowserExample.description = \ - This example demonstrates how to embed an Active X control into an SWT application or an Eclipse view.\n\n\ - When the view is opened, it will create an instance of the Windows Internet Explorer \ - control. The OLE Web Browser has \ - Back and Forward buttons to take you to recently visited pages. The browser also contains \ - a Home button to take you to the web browser's home page, a Stop button which stops the \ - current transfer, a Search button which will search for text typed in the Address text field, and \ - a Refresh button which re-draws the contents of the currently displayed page. There is also a \ - Go button which, when clicked, will attempt to load the page specified in the Address field. - -browser.Back.text = Backward -browser.Back.tooltip = Go to previous Web site in the history list - -browser.Forward.text = Forward -browser.Forward.tooltip = Go to next Web site in the history list - -browser.Home.text = Home -browser.Home.tooltip = Go to home Web site - -browser.Stop.text = Stop -browser.Stop.tooltip = Stop loading current Web site - -browser.Refresh.text = Refresh -browser.Refresh.tooltip = Refresh current Web site - -browser.Search.text = Search -browser.Search.tooltip = Search the Web - -browser.Address.label = Address : - -browser.Go.text = Go - -browser.State.Uninitialized.text = Not ready. -browser.State.Loading.text = Loading Web site... -browser.State.Loaded.text = Ready. -browser.State.Interactive.text = Loading Web site... -browser.State.Complete.text = Done. - -error.CouldNotLoadResources = Unable to load resources -error.CouldNotCreateBrowserControl = Unable to create <<Browser Control>> diff --git a/examples/org.eclipse.swt.examples.ole.win32/plugin.xml b/examples/org.eclipse.swt.examples.ole.win32/plugin.xml deleted file mode 100755 index 81f70a1157..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/plugin.xml +++ /dev/null @@ -1,55 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- File written by PDE 1.0 --> -<plugin - id="org.eclipse.swt.examples.ole.win32" - name="%plugin.SWTOLEExample.name" - version="3.0.0" - provider-name="%providerName" - class="org.eclipse.swt.examples.ole.win32.OlePlugin"> -<!-- Required plugins --> -<requires> - <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.core.resources"/> - <import plugin="org.eclipse.ui"/> - <import plugin="org.eclipse.swt"/> -</requires> - -<!-- Runtime --> -<!-- Runtime --> -<runtime> - <library name="olewin32.jar"> - <packages prefixes="org.eclipse.swt.examples.ole"/> - </library> -</runtime> - -<!-- Extensions --> -<!-- Extension points --> -<extension - point="org.eclipse.ui.views"> - <view - name="%view.OLEWebBrowserExample.name" - icon="icons/webbrowser_example.gif" - category="org.eclipse.swt.examples.category" - class="org.eclipse.swt.examples.ole.win32.OleBrowserView" - id="org.eclipse.swt.examples.ole.win32.browserView"> - </view> -</extension> -<extension - point="org.eclipse.swt.examples.launcher.launchItems"> - <category - name="%launchcategory.SWTWin32OnlyExamples.name" - description="%launchcategory.SWTWin32OnlyExamples.description" - id="org.eclipse.swt.examples.launchWin32OnlyCategory"> - </category> - <item - name="%launchitem.OLEWebBrowserExample.name" - icon="icons/webbrowser_example.gif" - description="%launchitem.OLEWebBrowserExample.description" - category="org.eclipse.swt.examples.launchWin32OnlyCategory" - id="org.eclipse.swt.examples.ole.win32.viewlauncher"> - <view - viewId="org.eclipse.swt.examples.ole.win32.browserView"> - </view> - </item> -</extension> -</plugin> diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/import.properties b/examples/org.eclipse.swt.examples.ole.win32/src/import.properties deleted file mode 100644 index 58344f0d3e..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/src/import.properties +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# 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 = <<ECLIPSE_PLUGINS>> diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java deleted file mode 100755 index 84323f84e6..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleBrowserView.java +++ /dev/null @@ -1,370 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.ole.win32; - - -import org.eclipse.swt.*; -import org.eclipse.swt.events.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.ole.win32.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.ui.part.*; - -/** - * Ole uses <code>org.eclipse.swt</code> to demonstrate Win32 OLE / ActiveX - * integration. - * - * @see ViewPart - */ -public class OleBrowserView extends ViewPart { - - private Composite displayArea; - - private OleFrame webFrame; - private OleWebBrowser webBrowser; - private Text webUrl; - private OleControlSite webControlSite; - private ProgressBar webProgress; - private Label webStatus; - private Button webNavigateButton; - - private ToolItem webCommandBackward; - private ToolItem webCommandForward; - private ToolItem webCommandHome; - private ToolItem webCommandStop; - private ToolItem webCommandRefresh; - private ToolItem webCommandSearch; - - private boolean activated = false; - - private static final int DISPID_AMBIENT_DLCONTROL = -5512; - private static final int DLCTL_NO_SCRIPTS = 0x80; - - /** - * Constructs the OLE browser view. - */ - public OleBrowserView() { - OlePlugin.initResources(); - } - - /** - * Creates the example. - * - * @see ViewPart#createPartControl - */ - public void createPartControl(Composite parent) { - displayArea = new Composite(parent, SWT.NONE); - - GridLayout gridLayout = new GridLayout(); - gridLayout.numColumns = 3; - displayArea.setLayout(gridLayout); - - createToolbar(); - createBrowserFrame(); - createStatusArea(); - createBrowserControl(); - } - - /** - * Cleanup - */ - public void dispose() { - if (activated) { - webControlSite.deactivateInPlaceClient(); - activated = false; - } - if (webBrowser != null) webBrowser.dispose(); - webBrowser = null; - super.dispose(); - } - - /** - * Called when we must grab focus. - * - * @see org.eclipse.ui.part.ViewPart#setFocus - */ - public void setFocus() { - webUrl.setFocus(); - } - - /** - * Creates the Web browser toolbar. - */ - private void createToolbar() { - // Add a toolbar - ToolBar bar = new ToolBar(displayArea, SWT.NONE); - GridData gridData = new GridData(GridData.FILL_HORIZONTAL); - gridData.horizontalSpan = 3; - bar.setLayoutData(gridData); - - // Add a button to navigate backwards through previously visited web sites - webCommandBackward = new ToolItem(bar, SWT.NONE); - webCommandBackward.setToolTipText(OlePlugin.getResourceString("browser.Back.tooltip")); - webCommandBackward.setText(OlePlugin.getResourceString("browser.Back.text")); - webCommandBackward.setImage(OlePlugin.images[OlePlugin.biBack]); - webCommandBackward.setEnabled(false); - webCommandBackward.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - if (webBrowser == null) return; - webBrowser.GoBack(); - } - }); - - // Add a button to navigate forward through previously visited web sites - webCommandForward = new ToolItem(bar, SWT.NONE); - webCommandForward.setToolTipText(OlePlugin.getResourceString("browser.Forward.tooltip")); - webCommandForward.setText(OlePlugin.getResourceString("browser.Forward.text")); - webCommandForward.setImage(OlePlugin.images[OlePlugin.biForward]); - webCommandForward.setEnabled(false); - webCommandForward.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - if (webBrowser == null) return; - webBrowser.GoForward(); - } - }); - - // Add a separator - new ToolItem(bar, SWT.SEPARATOR); - - // Add a button to navigate to the Home page - webCommandHome = new ToolItem(bar, SWT.NONE); - webCommandHome.setToolTipText(OlePlugin.getResourceString("browser.Home.tooltip")); - webCommandHome.setText(OlePlugin.getResourceString("browser.Home.text")); - webCommandHome.setImage(OlePlugin.images[OlePlugin.biHome]); - webCommandHome.setEnabled(false); - webCommandHome.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - if (webBrowser == null) return; - webBrowser.GoHome(); - } - }); - - // Add a button to abort web page loading - webCommandStop = new ToolItem(bar, SWT.NONE); - webCommandStop.setToolTipText(OlePlugin.getResourceString("browser.Stop.tooltip")); - webCommandStop.setText(OlePlugin.getResourceString("browser.Stop.text")); - webCommandStop.setImage(OlePlugin.images[OlePlugin.biStop]); - webCommandStop.setEnabled(false); - webCommandStop.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - if (webBrowser == null) return; - webBrowser.Stop(); - } - }); - - // Add a button to refresh the current web page - webCommandRefresh = new ToolItem(bar, SWT.NONE); - webCommandRefresh.setToolTipText(OlePlugin.getResourceString("browser.Refresh.tooltip")); - webCommandRefresh.setText(OlePlugin.getResourceString("browser.Refresh.text")); - webCommandRefresh.setImage(OlePlugin.images[OlePlugin.biRefresh]); - webCommandRefresh.setEnabled(false); - webCommandRefresh.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - if (webBrowser == null) return; - webBrowser.Refresh(); - } - }); - - // Add a separator - new ToolItem(bar, SWT.SEPARATOR); - - // Add a button to search the web - webCommandSearch = new ToolItem(bar, SWT.NONE); - webCommandSearch.setToolTipText(OlePlugin.getResourceString("browser.Search.tooltip")); - webCommandSearch.setText(OlePlugin.getResourceString("browser.Search.text")); - webCommandSearch.setImage(OlePlugin.images[OlePlugin.biSearch]); - webCommandSearch.setEnabled(false); - webCommandSearch.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - if (webBrowser == null) return; - webBrowser.GoSearch(); - } - }); - - // Add a text area for Users to enter a url - Composite addressBar = new Composite(displayArea, SWT.NONE); - gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - gridData.horizontalSpan = 3; - addressBar.setLayoutData(gridData); - GridLayout gridLayout = new GridLayout(); - gridLayout.numColumns = 3; - addressBar.setLayout(gridLayout); - - Label addressLabel = new Label(addressBar, SWT.NONE); - gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL); - addressLabel.setLayoutData(gridData); - addressLabel.setText(OlePlugin.getResourceString("browser.Address.label")); - addressLabel.setFont(OlePlugin.browserFont); - - webUrl = new Text(addressBar, SWT.SINGLE | SWT.BORDER); - webUrl.setFont(OlePlugin.browserFont); - gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - webUrl.setLayoutData(gridData); - webUrl.addFocusListener(new FocusAdapter() { - public void focusGained(FocusEvent e) { - webNavigateButton.getShell().setDefaultButton(webNavigateButton); - } - }); - - // Add a button to navigate to the web site specified in the Text area defined above - webNavigateButton = new Button(addressBar, SWT.PUSH); - gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL); - webNavigateButton.setLayoutData(gridData); - webNavigateButton.setText(OlePlugin.getResourceString("browser.Go.text")); - webNavigateButton.setFont(OlePlugin.browserFont); - webNavigateButton.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event event) { - if (webBrowser == null) return; - webBrowser.Navigate(webUrl.getText()); - } - }); - } - - /** - * Creates the Web browser OleFrame. - */ - private void createBrowserFrame() { - // Every control must have an associated OleFrame: - webFrame = new OleFrame(displayArea, SWT.NONE); - GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); - gridData.horizontalSpan = 3; - webFrame.setLayoutData(gridData); - } - - /** - * Creates the Web browser status area. - */ - private void createStatusArea() { - // Add a progress bar to display downloading progress information - webProgress = new ProgressBar(displayArea, SWT.BORDER); - GridData gridData = new GridData(); - gridData.horizontalAlignment = GridData.BEGINNING; - gridData.verticalAlignment = GridData.FILL; - webProgress.setLayoutData(gridData); - - // Add a label for displaying status messages as they are received from the control - webStatus = new Label(displayArea, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER); - gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL); - gridData.horizontalSpan = 2; - webStatus.setLayoutData(gridData); - webStatus.setFont(OlePlugin.browserFont); - } - - /** - * Creates Web browser control. - */ - private void createBrowserControl() { - try { - // Create an Automation object for access to extended capabilities - webControlSite = new OleControlSite(webFrame, SWT.NONE, "Shell.Explorer"); - Variant download = new Variant(DLCTL_NO_SCRIPTS); - webControlSite.setSiteProperty(DISPID_AMBIENT_DLCONTROL, download); - OleAutomation oleAutomation = new OleAutomation(webControlSite); - webBrowser = new OleWebBrowser(oleAutomation); - } catch (SWTException ex) { - // Creation may have failed because control is not installed on machine - Label label = new Label(webFrame, SWT.BORDER); - OlePlugin.logError(OlePlugin.getResourceString("error.CouldNotCreateBrowserControl"), ex); - label.setText(OlePlugin.getResourceString("error.CouldNotCreateBrowserControl")); - return; - } - - // Respond to ProgressChange events by updating the Progress bar - webControlSite.addEventListener(OleWebBrowser.ProgressChange, new OleListener() { - public void handleEvent(OleEvent event) { - Variant progress = event.arguments[0]; - Variant maxProgress = event.arguments[1]; - if (progress == null || maxProgress == null) - return; - webProgress.setMaximum(maxProgress.getInt()); - webProgress.setSelection(progress.getInt()); - } - }); - - // Respond to StatusTextChange events by updating the Status Text label - webControlSite.addEventListener(OleWebBrowser.StatusTextChange, new OleListener() { - public void handleEvent(OleEvent event) { - Variant statusText = event.arguments[0]; - if (statusText == null) return; - String text = statusText.getString(); - if (text != null) - webStatus.setText(text); - } - }); - - // Listen for changes to the ready state and print out the current state - webControlSite.addPropertyListener(OleWebBrowser.DISPID_READYSTATE, new OleListener() { - public void handleEvent(OleEvent event) { - if (event.detail == OLE.PROPERTY_CHANGING) return; - int state = webBrowser.getReadyState(); - switch (state) { - case OleWebBrowser.READYSTATE_UNINITIALIZED: - webStatus.setText( - OlePlugin.getResourceString("browser.State.Uninitialized.text")); - webCommandBackward.setEnabled(false); - webCommandForward.setEnabled(false); - webCommandHome.setEnabled(false); - webCommandRefresh.setEnabled(false); - webCommandStop.setEnabled(false); - webCommandSearch.setEnabled(false); - break; - case OleWebBrowser.READYSTATE_LOADING: - webStatus.setText( - OlePlugin.getResourceString("browser.State.Loading.text")); - webCommandHome.setEnabled(true); - webCommandRefresh.setEnabled(true); - webCommandStop.setEnabled(true); - webCommandSearch.setEnabled(true); - break; - case OleWebBrowser.READYSTATE_LOADED: - webStatus.setText( - OlePlugin.getResourceString("browser.State.Loaded.text")); - webCommandStop.setEnabled(true); - break; - case OleWebBrowser.READYSTATE_INTERACTIVE: - webStatus.setText( - OlePlugin.getResourceString("browser.State.Interactive.text")); - webCommandStop.setEnabled(true); - break; - case OleWebBrowser.READYSTATE_COMPLETE: - webStatus.setText( - OlePlugin.getResourceString("browser.State.Complete.text")); - webCommandStop.setEnabled(false); - break; - } - } - }); - - // Listen for changes to the active command states - webControlSite.addEventListener(OleWebBrowser.CommandStateChange, new OleListener() { - public void handleEvent(OleEvent event) { - if (event.type != OleWebBrowser.CommandStateChange) return; - final int commandID = - (event.arguments[0] != null) ? event.arguments[0].getInt() : 0; - final boolean commandEnabled = - (event.arguments[1] != null) ? event.arguments[1].getBoolean() : false; - - switch (commandID) { - case OleWebBrowser.CSC_NAVIGATEBACK: - webCommandBackward.setEnabled(commandEnabled); - break; - case OleWebBrowser.CSC_NAVIGATEFORWARD: - webCommandForward.setEnabled(commandEnabled); - break; - } - } - }); - - // in place activate the ActiveX control - activated = (webControlSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE) == OLE.S_OK); - if (activated) webBrowser.GoHome(); - } -} diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OlePlugin.java b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OlePlugin.java deleted file mode 100755 index e70dc54d00..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OlePlugin.java +++ /dev/null @@ -1,184 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.ole.win32; - - -import java.io.*; -import java.net.*; -import java.text.*; -import java.util.*; - -import org.eclipse.core.runtime.*; -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.ui.plugin.*; - -/** - * The main plugin class to be used in the desktop. - */ -public class OlePlugin extends AbstractUIPlugin { - //The shared instance. - private static OlePlugin plugin; - private static ResourceBundle resourceBundle; - - static final int - biBack = 0, - biForward = 1, - biHome = 2, - biStop = 3, - biRefresh = 4, - biSearch = 5; - static final String[] imageLocations = { - "icons/backward_nav.gif", - "icons/forward_nav.gif", - "icons/home_nav.gif", - "icons/stop_nav.gif", - "icons/refresh_nav.gif", - "icons/search_nav.gif" }; - static Image images[]; - static Font browserFont; - - /** - * Constructs an OLE plugin. - */ - public OlePlugin(IPluginDescriptor descriptor) { - super(descriptor); - plugin = this; - resourceBundle = descriptor.getResourceBundle(); - } - - /** - * Clean up - */ - public void shutdown() throws CoreException { - super.shutdown(); - freeResources(); - } - - /** - * Returns the shared instance. - */ - public static OlePlugin getDefault() { - return plugin; - } - - /** - * 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 + "!"; - } - } - - /** - * 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)); - } - - /** - * Loads the resources. - */ - public static void initResources() { - if (images == null) { - images = new Image[imageLocations.length]; - - for (int i = 0; i < imageLocations.length; ++i) { - images[i] = getImageFromPlugin(plugin.getDescriptor(), imageLocations[i]); - if (images[i] == null) { - freeResources(); - logError(getResourceString("error.CouldNotLoadResources"), null); - throw new IllegalStateException(); - } - } - } - if (browserFont == null) { - try { - browserFont = new Font (null, "MS Sans Serif", 8, SWT.NULL); - } catch (Throwable ex) { - } - } - if (images == null || browserFont == null) { - freeResources(); - logError(getResourceString("error.CouldNotLoadResources"), null); - throw new IllegalStateException(); - } - } - - /** - * Frees the resources - */ - public static void freeResources() { - if (images != null) { - for (int i = 0; i < images.length; ++i) { - final Image image = images[i]; - if (image != null) image.dispose(); - } - images = null; - } - if (browserFont != null) browserFont.dispose (); - browserFont = null; - } - - /** - * Gets an image from a path relative to the plugin install directory. - * - * @param pd the plugin descriptor for the plugin with the image - * @param iconPath the path relative to the install directory - * @return the image, or null if not found - */ - private static Image getImageFromPlugin(IPluginDescriptor pd, String iconPath) { - InputStream is = null; - try { - URL installUrl = pd.getInstallURL(); - URL url = new URL(installUrl, iconPath); - is = url.openConnection().getInputStream(); - ImageData source = new ImageData(is); - ImageData mask = source.getTransparencyMask(); - Image image = new Image(null, source, mask); - return image; - } catch (Throwable ex) { - return null; - } finally { - try { - if (is != null) is.close(); - } catch (IOException e) { - } - } - } -} diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleWebBrowser.java b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleWebBrowser.java deleted file mode 100755 index 38d3534e6b..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OleWebBrowser.java +++ /dev/null @@ -1,228 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.ole.win32; - - -import org.eclipse.swt.ole.win32.*; - -/** - * Wrapper for an OleAutomation object used to send commands - * to a Win32 "Shell.Explorer" OLE control. - * - * Instances of this class manage the setup, typical use and teardown of - * a simple web browser. - */ -class OleWebBrowser { - /* See the Windows Platform SDK documentation for more information about the - * OLE control used here and its usage. - */ - // Generated from typelib filename: shdocvw.dll - - // Constants for WebBrowser CommandStateChange - public static final int CSC_UPDATECOMMANDS = -1; - public static final int CSC_NAVIGATEFORWARD = 1; - public static final int CSC_NAVIGATEBACK = 2; - - // COnstants for Web Browser ReadyState - public static final int READYSTATE_UNINITIALIZED = 0; - public static final int READYSTATE_LOADING = 1; - public static final int READYSTATE_LOADED = 2; - public static final int READYSTATE_INTERACTIVE = 3; - public static final int READYSTATE_COMPLETE = 4; - - // Web Browser Control Events - public static final int BeforeNavigate = 100; // Fired when a new hyperlink is being navigated to. - public static final int NavigateComplete = 101; // Fired when the document being navigated to becomes visible and enters the navigation stack. - public static final int StatusTextChange = 102; // Statusbar text changed. - public static final int ProgressChange = 108; // Fired when download progress is updated. - public static final int DownloadComplete = 104; // Download of page complete. - public static final int CommandStateChange = 105; // The enabled state of a command changed - public static final int DownloadBegin = 106; // Download of a page started. - public static final int NewWindow = 107; // Fired when a new window should be created. - public static final int TitleChange = 113; // Document title changed. - public static final int FrameBeforeNavigate = 200; // Fired when a new hyperlink is being navigated to in a frame. - public static final int FrameNavigateComplete = 201; // Fired when a new hyperlink is being navigated to in a frame. - public static final int FrameNewWindow = 204; // Fired when a new window should be created. - public static final int Quit = 103; // Fired when application is quiting. - public static final int WindowMove = 109; // Fired when window has been moved. - public static final int WindowResize = 110; // Fired when window has been sized. - public static final int WindowActivate = 111; // Fired when window has been activated. - public static final int PropertyChange = 112; // Fired when the PutProperty method has been called. - - // Web Browser properties - public static final int DISPID_READYSTATE = -525; - - private OleAutomation oleAutomation; - - /** - * Creates a Web browser control. - * <p> - * Typical use:<br> - * <code> - * OleControlSite oleControlSite = new OleControlSite(oleFrame, style, "Shell.Explorer");<br> - * OleAutomation oleAutomation = new OleAutomation(oleControlSite);<br> - * OleWebBrowser webBrowser = new OleWebBrowser(oleControlSite, oleAutomation);<br> - * </code> - * - * @param oleAutomation the OleAutomation object for this control. - * @param oleControlSite the OleControlSite object for this control. - */ - public OleWebBrowser(OleAutomation oleAutomation) { - this.oleAutomation = oleAutomation; - } - - - /** - * Disposes of the Web browser control. - */ - public void dispose() { - if (oleAutomation != null) oleAutomation.dispose(); - oleAutomation = null; - } - - /* - * Interact with the Control via OLE Automation - * - * Note: You can hard code the DISPIDs if you know them beforehand - * this is of course the fastest way, but you increase coupling - * to the control. - */ - - /** - * Returns the current web page title. - * - * @return the current web page title String - */ - public String getLocationName() { - // dispid=210, type=PROPGET, name="LocationName" - int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"LocationName"}); - int dispIdMember = rgdispid[0]; - Variant pVarResult = oleAutomation.getProperty(dispIdMember); - if (pVarResult == null || pVarResult.getType() != OLE.VT_BSTR) return null; - return pVarResult.getString(); - } - - /** - * Returns the current URL. - * - * @return the current URL String - */ - public String getLocationURL() { - // dispid=211, type=PROPGET, name="LocationURL" - int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"LocationURL"}); - int dispIdMember = rgdispid[0]; - - Variant pVarResult = oleAutomation.getProperty(dispIdMember); - if (pVarResult == null || pVarResult.getType() != OLE.VT_BSTR) return null; - return pVarResult.getString(); - } - - /** - * Returns the current state of the control. - * - * @return the current state of the control, one of: - * READYSTATE_UNINITIALIZED; - * READYSTATE_LOADING; - * READYSTATE_LOADED; - * READYSTATE_INTERACTIVE; - * READYSTATE_COMPLETE. - */ - public int getReadyState() { - // dispid=4294966771, type=PROPGET, name="ReadyState" - int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"ReadyState"}); - int dispIdMember = rgdispid[0]; - - Variant pVarResult = oleAutomation.getProperty(dispIdMember); - if (pVarResult == null || pVarResult.getType() != OLE.VT_I4) return -1; - return pVarResult.getInt(); - } - - /** - * Navigates backwards through previously visited web sites. - */ - public void GoBack() { - - // dispid=100, type=METHOD, name="GoBack" - int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"GoBack"}); - int dispIdMember = rgdispid[0]; - oleAutomation.invoke(dispIdMember); - } - - /** - * Navigates backwards through previously visited web sites. - */ - public void GoForward() { - - // dispid=101, type=METHOD, name="GoForward" - int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"GoForward"}); - int dispIdMember = rgdispid[0]; - oleAutomation.invoke(dispIdMember); - } - - /** - * Navigates to home page. - */ - public void GoHome() { - // dispid=102, type=METHOD, name="GoHome" - int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"GoHome"}); - int dispIdMember = rgdispid[0]; - oleAutomation.invoke(dispIdMember); - } - - /** - * Navigates to user-specified Web search gateway. - */ - public void GoSearch() { - // dispid=103, type=METHOD, name="GoSearch" - int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"GoSearch"}); - int dispIdMember = rgdispid[0]; - oleAutomation.invoke(dispIdMember); - } - - /** - * Navigates to a particular URL. - */ - public void Navigate(String url) { - // dispid=104, type=METHOD, name="Navigate" - int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"Navigate", "URL"}); - int dispIdMember = rgdispid[0]; - - Variant[] rgvarg = new Variant[1]; - rgvarg[0] = new Variant(url); - int[] rgdispidNamedArgs = new int[1]; - rgdispidNamedArgs[0] = rgdispid[1]; // identifier of argument - oleAutomation.invoke(dispIdMember, rgvarg, rgdispidNamedArgs); - } - - /** - * Refreshes the currently viewed page. - * - * @return the platform-defined result code for the "Refresh" method invocation - */ - public void Refresh(){ - // dispid= 4294966746, type=METHOD, name="Refresh" - int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"Refresh"}); - int dispIdMember = rgdispid[0]; - oleAutomation.invokeNoReply(dispIdMember); - } - - /** - * Aborts loading of the currnet page. - * - * @return the platform-defined result code for the "Stop" method invocation - */ - public void Stop() { - // dispid=106, type=METHOD, name="Stop" - int[] rgdispid = oleAutomation.getIDsOfNames(new String[]{"Stop"}); - int dispIdMember = rgdispid[0]; - oleAutomation.invoke(dispIdMember); - } -} diff --git a/examples/org.eclipse.swt.examples.paint/.classpath b/examples/org.eclipse.swt.examples.paint/.classpath deleted file mode 100755 index 065ac06e19..0000000000 --- a/examples/org.eclipse.swt.examples.paint/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/examples/org.eclipse.swt.examples.paint/.cvsignore b/examples/org.eclipse.swt.examples.paint/.cvsignore deleted file mode 100755 index c5e82d7458..0000000000 --- a/examples/org.eclipse.swt.examples.paint/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.paint/.project b/examples/org.eclipse.swt.examples.paint/.project deleted file mode 100644 index be659d3d57..0000000000 --- a/examples/org.eclipse.swt.examples.paint/.project +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.swt.examples.paint</name> - <comment></comment> - <projects> - <project>org.eclipse.swt</project> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/examples/org.eclipse.swt.examples.paint/about.html b/examples/org.eclipse.swt.examples.paint/about.html deleted file mode 100644 index 9db411aab9..0000000000 --- a/examples/org.eclipse.swt.examples.paint/about.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>20th June, 2002</p> -<h3>License</h3> -<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>. -For purposes of the CPL, "Program" will mean the Content.</p> - -<h3>Contributions</h3> - -<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise -made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such -Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p> - -<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or -other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the -host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available -to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also -providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of -the CPL.</p> - -</body> -</html>
\ No newline at end of file diff --git a/examples/org.eclipse.swt.examples.paint/build.properties b/examples/org.eclipse.swt.examples.paint/build.properties deleted file mode 100755 index c899ccc30a..0000000000 --- a/examples/org.eclipse.swt.examples.paint/build.properties +++ /dev/null @@ -1,20 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = doc-html/,\ - icons/,\ - plugin.properties,\ - plugin.xml,\ - about.html,\ - *.jar - -src.includes = about.html - -source.paint.jar = src/ diff --git a/examples/org.eclipse.swt.examples.paint/doc-html/hglegal.htm b/examples/org.eclipse.swt.examples.paint/doc-html/hglegal.htm deleted file mode 100755 index f5871b79e0..0000000000 --- a/examples/org.eclipse.swt.examples.paint/doc-html/hglegal.htm +++ /dev/null @@ -1,14 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <LINK REL="stylesheet" HREF="../../../book.css" CHARSET="ISO-8859-1" TYPE="text/css"> - <title>Legal Notices</title> -</head> -<body> - -<h3> -<a NAME="Notices"></a>Notices</h3> -(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved. -</body> -</html> diff --git a/examples/org.eclipse.swt.examples.paint/doc-html/ngibmcpy.gif b/examples/org.eclipse.swt.examples.paint/doc-html/ngibmcpy.gif Binary files differdeleted file mode 100755 index c786e43e1f..0000000000 --- a/examples/org.eclipse.swt.examples.paint/doc-html/ngibmcpy.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html b/examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html deleted file mode 100755 index ea6311b8d8..0000000000 --- a/examples/org.eclipse.swt.examples.paint/doc-html/swt_paint_ex.html +++ /dev/null @@ -1,38 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <title>SWT - Paint Tool</title> -</head> -<body> - -<h2>SWT example - Paint Tool</h2> - -<p> -This example demonstrates the use of SWT graphics operations in the form of a -rudimentary bitmap painting program. The Paint Tool implementation also -demonstrates a mechanism for managing timed GUI operations in the background -that are triggered by user input. -</p> -<p> -Select a tool with which to draw in the drawing area. There are a number of tools -to choose from on the toolbar. To change the color selection, click on a color in the -palette below the drawing area; left-click to set the foreground color, right-click to set the -background color. -</p> - -<h3>Running the example</h3> - -<p> -From Eclipse's <strong>Window</strong> menu select <strong>Show View</strong> > <strong>Other</strong>. -In the <strong>Show View</strong> dialog, expand <strong>SWT Examples</strong> and select -the view named <strong>Paint</strong>. A view containing the paint program will appear. -</p> -<p> -This example can also be run using the <a href="../../org.eclipse.swt.examples.launcher/doc-html/swt_launcher_ex.html">Example Launcher</a>. -Select the <strong>Paint</strong> item from the <strong>Workbench Views</strong> category and click <strong>Run</strong>. -</p> - -<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corporation and others 2000, 2003. All Rights Reserved." BORDER=0 height=14 width=324></a></p> -</body> -</html> diff --git a/examples/org.eclipse.swt.examples.paint/icons/fill_none.gif b/examples/org.eclipse.swt.examples.paint/icons/fill_none.gif Binary files differdeleted file mode 100755 index d26dd584e7..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/fill_none.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/fill_outline.gif b/examples/org.eclipse.swt.examples.paint/icons/fill_outline.gif Binary files differdeleted file mode 100755 index c6ccfee10e..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/fill_outline.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/fill_solid.gif b/examples/org.eclipse.swt.examples.paint/icons/fill_solid.gif Binary files differdeleted file mode 100755 index cb34e64a30..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/fill_solid.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dash.gif b/examples/org.eclipse.swt.examples.paint/icons/linestyle_dash.gif Binary files differdeleted file mode 100644 index fb57bb38b7..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dash.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dashdot.gif b/examples/org.eclipse.swt.examples.paint/icons/linestyle_dashdot.gif Binary files differdeleted file mode 100644 index 322968c30b..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dashdot.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dot.gif b/examples/org.eclipse.swt.examples.paint/icons/linestyle_dot.gif Binary files differdeleted file mode 100644 index 4937ccb06d..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/linestyle_dot.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/linestyle_solid.gif b/examples/org.eclipse.swt.examples.paint/icons/linestyle_solid.gif Binary files differdeleted file mode 100644 index 70a57ce2c4..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/linestyle_solid.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/options_font.gif b/examples/org.eclipse.swt.examples.paint/icons/options_font.gif Binary files differdeleted file mode 100755 index 965fe08560..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/options_font.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/paint_example.gif b/examples/org.eclipse.swt.examples.paint/icons/paint_example.gif Binary files differdeleted file mode 100755 index c48d9a9567..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/paint_example.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_airbrush.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_airbrush.gif Binary files differdeleted file mode 100755 index a310edddb2..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/tool_airbrush.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_ellipse.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_ellipse.gif Binary files differdeleted file mode 100755 index dc2142f8e2..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/tool_ellipse.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_line.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_line.gif Binary files differdeleted file mode 100755 index 2ff819f129..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/tool_line.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_pencil.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_pencil.gif Binary files differdeleted file mode 100755 index f16a234c13..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/tool_pencil.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_polyline.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_polyline.gif Binary files differdeleted file mode 100755 index aa384e9b30..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/tool_polyline.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_rectangle.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_rectangle.gif Binary files differdeleted file mode 100755 index d26dd584e7..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/tool_rectangle.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_roundedrectangle.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_roundedrectangle.gif Binary files differdeleted file mode 100755 index bf845d7602..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/tool_roundedrectangle.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/icons/tool_text.gif b/examples/org.eclipse.swt.examples.paint/icons/tool_text.gif Binary files differdeleted file mode 100755 index 0d7457ffa3..0000000000 --- a/examples/org.eclipse.swt.examples.paint/icons/tool_text.gif +++ /dev/null diff --git a/examples/org.eclipse.swt.examples.paint/plugin.properties b/examples/org.eclipse.swt.examples.paint/plugin.properties deleted file mode 100755 index 4e0a80b60f..0000000000 --- a/examples/org.eclipse.swt.examples.paint/plugin.properties +++ /dev/null @@ -1,134 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -providerName = Eclipse.org -plugin.SWTPaintExample.name = SWT Paint Example Plugin -category.SWTExamples.name = SWT Examples -view.PaintExample.name = Paint - -launchcategory.SWTViewExamples.name = Workbench Views -launchcategory.SWTViewExamples.description = \ - A collection of Standard Widget Toolkit examples that run as Views inside the Workbench. \ - These examples will create a new View in the current Perspective. - -launchitem.PaintExample.name = Paint -launchitem.PaintExample.description = \ - This example demonstrates the use of SWT graphics operations in the form of a \ - rudimentary bitmap painting program. The Airbrush Tool implementation also \ - demonstrates a mechanism for managing timed GUI operations in the background \ - that are triggered by user input.\n\n\ - Select a tool with which to draw in the drawing area. There are a number of tools \ - to choose from on the toolbar. To change the color selection, click on a color in the \ - palette below the drawing area: left-click for the foreground color, right-click for the \ - background color.\n\n\ - Uses SWT's GC and FontDialog, and JFace's InputDialog and action set support. - -menu.Tools.label = Tools -menu.Options.label = Options - -tool.Pencil.label = Pencil -tool.Pencil.tooltip = Pencil tool -tool.Pencil.image = icons/tool_pencil.gif -tool.Pencil.description = Selects the Pencil tool. - -tool.Airbrush.label = Airbrush -tool.Airbrush.tooltip = Airbrush tool -tool.Airbrush.image = icons/tool_airbrush.gif -tool.Airbrush.description = Selects the Airbrush tool. - -tool.Line.label = Line -tool.Line.tooltip = Line tool -tool.Line.image = icons/tool_line.gif -tool.Line.description = Selects the Line tool. - -tool.PolyLine.label = Polygon -tool.PolyLine.tooltip = Polygon tool -tool.PolyLine.image = icons/tool_polyline.gif -tool.PolyLine.description = Selects the PolyLine tool. - -tool.Rectangle.label = Rectangle -tool.Rectangle.tooltip = Rectangle tool -tool.Rectangle.image = icons/tool_rectangle.gif -tool.Rectangle.description = Selects the Rectangle tool. - -tool.Ellipse.label = Ellipse -tool.Ellipse.tooltip = Ellipse tool -tool.Ellipse.image = icons/tool_ellipse.gif -tool.Ellipse.description = Selects the Ellipse tool. - -tool.RoundedRectangle.label = Rounded Rectangle -tool.RoundedRectangle.tooltip = Rounded Rectangle -tool.RoundedRectangle.image = icons/tool_roundedrectangle.gif -tool.RoundedRectangle.description = Selects the Rounded Rectangle tool. - -tool.Text.label = Text -tool.Text.tooltip = Text tool -tool.Text.image = icons/tool_text.gif -tool.Text.description = Selects the Text tool. -tool.Text.settings.defaulttext = Hello! -tool.Text.dialog.title = Text Tool Settings -tool.Text.dialog.message = Please enter the new text string to be painted. - -tool.Null.label = <none> - -fill.None.label = No Fill -fill.None.tooltip = No fill mode -fill.None.image = icons/fill_none.gif -fill.None.description = Selects No Fill mode. - -fill.Outline.label = Outline Fill -fill.Outline.tooltip = Outline fill mode -fill.Outline.image = icons/fill_outline.gif -fill.Outline.description = Selects Outline Fill mode. - -fill.Solid.label = Solid Fill -fill.Solid.tooltip = Solid fill mode -fill.Solid.image = icons/fill_solid.gif -fill.Solid.description = Selects Solid Fill mode. - -linestyle.Solid.label = Solid Line -linestyle.Solid.tooltip = Solid line style -linestyle.Solid.image = icons/linestyle_solid.gif -linestyle.Solid.description = Select Solid Line style. - -linestyle.Dot.label = Dotted Line -linestyle.Dot.tooltip = Dotted line style -linestyle.Dot.image = icons/linestyle_dot.gif -linestyle.Dot.description = Select Dotted Line style. - -linestyle.Dash.label = Dashed Line -linestyle.Dash.tooltip = Dashed line style -linestyle.Dash.image = icons/linestyle_dash.gif -linestyle.Dash.description = Select Dashed Line style. - -linestyle.DashDot.label = Dash-Dot Line -linestyle.DashDot.tooltip = Dash-Dot line style -linestyle.DashDot.image = icons/linestyle_dashdot.gif -linestyle.DashDot.description = Select Dash-Dot Line style. - -options.Font.label = Text Tool Font -options.Font.tooltip = Select Text Tool font -options.Font.image = icons/options_font.gif -options.Font.description = Selects Text Tool font. -options.Font.dialog.title = Text Tool Font - -settings.AirbrushRadius.text = Airbrush Radius -settings.AirbrushIntensity.text = Airbrush Intensity - -session.Null.message = Select a tool... -session.ContinuousPaint.message = Click and drag to draw... -session.DragInteractivePaint.message = Click and drag to preview, release to draw, right-click to cancel... -session.SegmentedInteractivePaint.message.anchorMode = Click to set anchor... -session.SegmentedInteractivePaint.message.interactiveMode = Click to draw, double-click to close figure, right-click to cancel... -session.Text.message = Click to draw text, right-click to edit text... - -status.Coord.format = ({0}, {1}) -status.CoordRange.format = ({0}, {1}) - ({2}, {3}) -status.Bar.format = {0} : {1} {2} diff --git a/examples/org.eclipse.swt.examples.paint/plugin.xml b/examples/org.eclipse.swt.examples.paint/plugin.xml deleted file mode 100755 index eac5ebcf32..0000000000 --- a/examples/org.eclipse.swt.examples.paint/plugin.xml +++ /dev/null @@ -1,55 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<plugin - id="org.eclipse.swt.examples.paint" - name="%plugin.SWTPaintExample.name" - version="3.0.0" - provider-name="%providerName" - class="org.eclipse.swt.examples.paint.PaintPlugin"> - -<!-- Runtime --> - <runtime> - <library name="paint.jar"> - <packages prefixes="org.eclipse.swt.examples.paint"/> - </library> - </runtime> -<!-- Required plugins --> - <requires> - <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.core.resources"/> - <import plugin="org.eclipse.ui"/> - <import plugin="org.eclipse.swt"/> - </requires> - - -<!-- Extension points --> -<!-- Extensions --> - <extension - point="org.eclipse.ui.views"> - <view - name="%view.PaintExample.name" - icon="icons/paint_example.gif" - category="org.eclipse.swt.examples.category" - class="org.eclipse.swt.examples.paint.PaintView" - id="org.eclipse.swt.examples.paint.view"> - </view> - </extension> - <extension - point="org.eclipse.swt.examples.launcher.launchItems"> - <category - name="%launchcategory.SWTViewExamples.name" - description="%launchcategory.SWTViewExamples.description" - id="org.eclipse.swt.examples.launchViewCategory"> - </category> - <item - name="%launchitem.PaintExample.name" - icon="icons/paint_example.gif" - description="%launchitem.PaintExample.description" - category="org.eclipse.swt.examples.launchViewCategory" - id="org.eclipse.swt.examples.paint.viewlauncher"> - <view - viewId="org.eclipse.swt.examples.paint.view"> - </view> - </item> - </extension> - -</plugin> 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 58344f0d3e..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/import.properties +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are 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 -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -# 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 = <<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 5730b4dc13..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/AirbrushTool.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 9732189930..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/BasicPaintSession.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 135067cf4b..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContainerFigure.java +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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. - * <p> - * Note that erasePreview() cannot be called after this point to erase any previous - * drawPreview()'s. - * </p> - */ - 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 49a724ca02..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java +++ /dev/null @@ -1,234 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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. - * <p> - * 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. - * </p> - * @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 539c3b567c..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/DragPaintSession.java +++ /dev/null @@ -1,136 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 e6a5907b8d..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseFigure.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 785879cdeb..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/EllipseTool.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 6eb305b77f..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/Figure.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 b020ff4902..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/FigureDrawContext.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -import org.eclipse.swt.graphics.*; - -public class FigureDrawContext { - /* - * <p> - * The GC must be set up as follows - * (it will be returned to this state upon completion of drawing operations) - * <ul> - * <li>setXORMode(false) - * </ul> - * </p> - */ - 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 ab07a8a676..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineFigure.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 32d0399d51..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/LineTool.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 d2f314ef74..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintPlugin.java +++ /dev/null @@ -1,84 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 1d6eda21bf..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSession.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 a58af26f9f..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintSurface.java +++ /dev/null @@ -1,523 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - -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. - * <p> - * paintCanvas must have SWT.NO_REDRAW_RESIZE and SWT.NO_BACKGROUND styles, - * and may have SWT.V_SCROLL and/or SWT.H_SCROLL. - * </p> - * @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. - * <p> - * If oldPaintSession != paintSession calls oldPaintSession.end() - * and paintSession.begin() - * </p> - * - * @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. - * <p> - * This object will be drawn to the screen as a preview and refreshed appropriately - * until the selection is either cleared or committed. - * </p> - * - * @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. - * <p> - * Erases any rubberband objects on the screen then clears the selection. - * </p> - */ - 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. - * <p> - * Redraws any rubberband objects on the screen as permanent objects then clears the selection. - * </p> - */ - public void commitRubberbandSelection() { - rubberband.draw(imageFDC); - if (isRubberbandHidden()) rubberband.draw(displayFDC); - rubberband.clear(); - } - - /** - * Hides the rubberband (but does not eliminate it). - * <p> - * Increments by one the rubberband "hide" nesting count. The rubberband - * is hidden from view (but remains active) if it wasn't already hidden. - * </p> - */ - 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. - * <p> - * 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. - * </p> - */ - 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 7ec50d9dbe..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintTool.java +++ /dev/null @@ -1,20 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - -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 5fb8970b6f..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PaintView.java +++ /dev/null @@ -1,500 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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.setFontList(fontDatum); - } - 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 08d1dab9e3..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PencilTool.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 4b853693d2..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PointFigure.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 03d1583e43..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/PolyLineTool.java +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 1f416f8094..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleFigure.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 d9d6329eff..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RectangleTool.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 8b62e49e13..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 052bbb67a6..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 342edb134c..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java +++ /dev/null @@ -1,159 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 e23263de4d..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 a5aca3dd11..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 608a58c4ed..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 7b4146a342..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 cdb8929ac3..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextFigure.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -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 b5807969fe..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/TextTool.java +++ /dev/null @@ -1,127 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - - -import org.eclipse.jface.dialogs.*; -import org.eclipse.swt.events.*; - -/** - * 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 02fb877693..0000000000 --- a/examples/org.eclipse.swt.examples.paint/src/org/eclipse/swt/examples/paint/ToolSettings.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.paint; - -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 - * <p>One of ftNone, ftOutline, ftSolid.</p> - */ - 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; -} diff --git a/examples/org.eclipse.swt.opengl.examples/.classpath b/examples/org.eclipse.swt.opengl.examples/.classpath deleted file mode 100644 index 8437e3bb55..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/.classpath +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="src" path="/org.eclipse.swt.opengl"/> - <classpathentry kind="src" path="/org.eclipse.swt"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/examples/org.eclipse.swt.opengl.examples/.project b/examples/org.eclipse.swt.opengl.examples/.project deleted file mode 100644 index 9112e8e738..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/.project +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.swt.opengl.examples</name> - <comment></comment> - <projects> - <project>org.eclipse.swt</project> - <project>org.eclipse.swt.opengl</project> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AntialiasingTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AntialiasingTab.java deleted file mode 100644 index 78a1fbb4a9..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AntialiasingTab.java +++ /dev/null @@ -1,152 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.RGB; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class AntialiasingTab extends OpenGLTab { - private Button antiAliasButton; - private float xPos = 0.0f, yPos = 0.0f, zPos = -6.0f; - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(Composite composite) { - Group movementGroup = new Group(composite, SWT.NONE); - movementGroup.setText("Translation"); - movementGroup.setLayout(new GridLayout(2, false)); - - new Label(movementGroup, SWT.NONE).setText("X:"); - final Slider xMove = new Slider(movementGroup, SWT.NONE); - xMove.setIncrement(1); - xMove.setMaximum(12); - xMove.setMinimum(0); - xMove.setThumb(2); - xMove.setPageIncrement(2); - xMove.setSelection(5); - xMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - xPos = xMove.getSelection() - 5; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Y:"); - final Slider yMove = new Slider(movementGroup, SWT.NONE); - yMove.setIncrement(1); - yMove.setMaximum(12); - yMove.setMinimum(0); - yMove.setThumb(2); - yMove.setPageIncrement(2); - yMove.setSelection(5); - yMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - yPos = yMove.getSelection() - 5; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Z:"); - final Slider zMove = new Slider(movementGroup, SWT.NONE); - zMove.setIncrement(1); - zMove.setMaximum(12); - zMove.setMinimum(0); - zMove.setThumb(2); - zMove.setPageIncrement(2); - zMove.setSelection(5); - zMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - zPos = zMove.getSelection() - 11; - } - }); - - antiAliasButton = new Button(composite, SWT.CHECK); - antiAliasButton.setText("Anti-Aliasing"); - antiAliasButton.setSelection(true); - antiAliasButton.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - if (antiAliasButton.getSelection()) { - GL.glEnable(GL.GL_LINE_SMOOTH); - } else { - GL.glDisable(GL.GL_LINE_SMOOTH); - } - } - }); - - ColorSelectionGroup colorGroup = - new ColorSelectionGroup(composite, SWT.NONE); - colorGroup.setText("Foreground color"); - colorGroup.addColorSelectionListener(new IColorSelectionListener() { - public void handleColorSelection(RGB rgb) { - GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue); - } - }); - } - - /** - * @see OpenGLTab#dispose() - */ - void dispose() { - super.dispose(); - GL.glDeleteLists(1, 1); - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Anti-aliasing"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - GL.glColor3f(1.0f, 0.0f, 0.0f); - final float[] BEZIER_POINTS = { - -1.5f, -1.5f, 4.0f, -0.5f, -1.5f, 2.0f, 0.5f, -1.5f, - -1.0f, 1.5f, -1.5f, 2.0f, -1.5f, -0.5f, 1.0f, -0.5f, - -0.5f, 3.0f, 0.5f, -0.5f, 0.0f, 1.5f, -0.5f, -1.0f, - -1.5f, 0.5f, 4.0f, -0.5f, 0.5f, 0.0f, 0.5f, 0.5f, - 3.0f, 1.5f, 0.5f, 4.0f, -1.5f, 1.5f, -2.0f, -0.5f, - 1.5f, -2.0f, 0.5f, 1.5f, 0.0f, 1.5f, 1.5f, -1.0f, - }; - GL.glHint(GL.GL_LINE_SMOOTH_HINT, GL.GL_NICEST); - GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - GL.glMap2f(GL.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, BEZIER_POINTS); - GL.glMapGrid2f(30, 0.0f, 1.0f, 30, 0.0f, 1.0f); - - GL.glEnable(GL.GL_AUTO_NORMAL); - GL.glEnable(GL.GL_LINE_SMOOTH); - GL.glEnable(GL.GL_LINE_STIPPLE); - GL.glEnable(GL.GL_BLEND); - GL.glEnable(GL.GL_MAP2_VERTEX_3); - - // create display lists - GL.glNewList(1, GL.GL_COMPILE); - GL.glEvalMesh2(GL.GL_LINE, 0, 30, 0, 30); - GL.glEndList(); - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT); - GL.glLoadIdentity(); - GL.glTranslatef(xPos, yPos, zPos); - GL.glCallList(1); // draw the beizer surface - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AreaTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AreaTab.java deleted file mode 100644 index 5c6ffab751..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/AreaTab.java +++ /dev/null @@ -1,434 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class AreaTab extends OpenGLTab { - abstract class Shape { - abstract void draw(); - } - class State { - private String name; - private int index; - /** - * Constructor. - * - * @param name the display name of this state - * @param index the display list index corresponding to this state - */ - State (String name, int index) { - super(); - this.index = index; - this.name = name; - } - void display() { - GL.glCallList(index); - } - void dispose() { - GL.glDeleteLists(index, 1); - } - String getName() { - return name; - } - } - - private State[] states; - private State currentState; - private float xPos = 0.0f, yPos = 0.0f, zPos = -30.0f; - private float xRot = 90.0f, yRot = 0.0f, zRot = 0.0f; - private int quadratic, disk; - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(Composite composite) { - Group movementGroup = new Group(composite, SWT.NONE); - movementGroup.setText("Translation"); - movementGroup.setLayout(new GridLayout(2, false)); - - new Label(movementGroup, SWT.NONE).setText("X:"); - final Slider xMove = new Slider(movementGroup, SWT.NONE); - xMove.setIncrement(1); - xMove.setMaximum(22); - xMove.setMinimum(0); - xMove.setThumb(2); - xMove.setPageIncrement(2); - xMove.setSelection(10); - xMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - xPos = xMove.getSelection() - 10; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Y:"); - final Slider yMove = new Slider(movementGroup, SWT.NONE); - yMove.setIncrement(1); - yMove.setMaximum(22); - yMove.setMinimum(0); - yMove.setThumb(2); - yMove.setPageIncrement(2); - yMove.setSelection(10); - yMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - yPos = yMove.getSelection() - 10; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Z:"); - final Slider zMove = new Slider(movementGroup, SWT.NONE); - zMove.setIncrement(1); - zMove.setMaximum(22); - zMove.setMinimum(0); - zMove.setThumb(2); - zMove.setPageIncrement(2); - zMove.setSelection(10); - zMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - zPos = zMove.getSelection() - 40; - } - }); - - Group rotationGroup = new Group(composite, SWT.NONE); - rotationGroup.setText("Rotation"); - rotationGroup.setLayout(new GridLayout(2, false)); - - new Label(rotationGroup, SWT.NONE).setText("X:"); - final Slider xRotation = new Slider(rotationGroup, SWT.NONE); - xRotation.setIncrement(10); - xRotation.setMaximum(362); - xRotation.setMinimum(0); - xRotation.setThumb(2); - xRotation.setPageIncrement(20); - xRotation.setSelection(90); - xRotation.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - xRot = xRotation.getSelection(); - } - }); - - new Label(rotationGroup, SWT.NONE).setText("Y:"); - final Slider yRotation = new Slider(rotationGroup, SWT.NONE); - yRotation.setIncrement(10); - yRotation.setMaximum(362); - yRotation.setMinimum(0); - yRotation.setThumb(2); - yRotation.setPageIncrement(20); - yRotation.setSelection(0); - yRotation.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - yRot = yRotation.getSelection(); - } - }); - - new Label(rotationGroup, SWT.NONE).setText("Z:"); - final Slider zRotation = new Slider(rotationGroup, SWT.NONE); - zRotation.setIncrement(10); - zRotation.setMaximum(362); - zRotation.setMinimum(0); - zRotation.setThumb(2); - zRotation.setPageIncrement(20); - zRotation.setSelection(0); - zRotation.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - zRot = zRotation.getSelection(); - } - }); - - Composite optionsGroup = new Composite(composite, SWT.NONE); - GridLayout layout = new GridLayout(2, false); - layout.marginWidth = 0; - optionsGroup.setLayout(layout); - - new Label(optionsGroup, SWT.NONE).setText("Shape:"); - - final Combo statesCombo = new Combo(optionsGroup, SWT.READ_ONLY); - for (int i = 0; i < states.length; i++) { - statesCombo.add(states[i].getName()); - } - statesCombo.select(0); - statesCombo.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - currentState = states[statesCombo.getSelectionIndex()]; - } - }); - - final Button lightsButton = new Button(composite, SWT.CHECK); - lightsButton.setText("Lights"); - lightsButton.setSelection(true); - lightsButton.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - if (lightsButton.getSelection()) { - GL.glEnable(GL.GL_LIGHTING); - } else { - GL.glDisable(GL.GL_LIGHTING); - } - } - }); - } - - /** - * @see OpenGLTab#dispose() - */ - void dispose() { - super.dispose(); - GLU.gluDeleteQuadric(quadratic); - GLU.gluDeleteQuadric(disk); - if (states != null) { - for (int i = 0; i < states.length; i++) { - states [i].dispose(); - } - } - } - - /** - * Draws the logical AND of two shapes. - * - * @param a shape A - * @param b shape B - */ - void drawAandB(Shape a, Shape b) { - // draw parts of B that are inside A - drawAinsideB(a, b, GL.GL_BACK, GL.GL_NOTEQUAL); - // we do not want the following to show up - GL.glColorMask(false, false, false, false); - // turn on depth testing - GL.glEnable(GL.GL_DEPTH_TEST); - GL.glDepthFunc(GL.GL_ALWAYS); - // render the front face of B - b.draw(); - // reset the depth function - GL.glDepthFunc(GL.GL_LESS); - // draw parts of A that are inside B - drawAinsideB(b, a, GL.GL_BACK, GL.GL_NOTEQUAL); - } - - /** - * Draws the contents of one shape that appear within another. - * - * @param a the shape to draw - * @param b the constraining shape - * @param face - * @param test - */ - void drawAinsideB(Shape a, Shape b, int face, int test) { - // turn off the color buffer - GL.glColorMask(false, false, false, false); - // clear the stencil buffer - GL.glClearStencil(0); - GL.glEnable(GL.GL_DEPTH_TEST); - // set to proper Culling - GL.glCullFace(face); - // render shape A - a.draw(); - // set depth mask - GL.glDepthMask(false); - // enable stencil test - GL.glEnable(GL.GL_STENCIL_TEST); - GL.glStencilFunc(GL.GL_ALWAYS, 0, 0); - // set the stencil buffer to increment if the depth test passes - GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_INCR); - // turn on back face culling - GL.glCullFace(GL.GL_BACK); - // render B - b.draw(); - // set the stencil buffer to decrement if the depth test passes - GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_DECR); - // cull the front face - GL.glCullFace(GL.GL_FRONT); - // render B again - b.draw(); - // set depth mask - GL.glDepthMask(true); - GL.glColorMask(true, true, true, true); - // set the stencil buffer - GL.glStencilFunc(test, 0, 1); - // turn off depth testing - GL.glDisable(GL.GL_DEPTH_TEST); - // set to proper culling - GL.glCullFace(face); - // render A - a.draw(); - // disable stencil test - GL.glDisable(GL.GL_STENCIL_TEST); - } - - /** - * Draws the logical OR of two shapes. - * - * @param a shape A - * @param b shape B - */ - void drawAorB(Shape a, Shape b) { - GL.glEnable(GL.GL_DEPTH_TEST); - a.draw(); - b.draw(); - GL.glDisable(GL.GL_DEPTH_TEST); - } - - /** - * Draws one shape subtracted from another. - * - * @param a the base shape - * @param b the shape to subtract - */ - void drawAsubB(Shape a, Shape b) { - // draw back parts of B inside A - drawAinsideB(b, a, GL.GL_FRONT, GL.GL_NOTEQUAL); - // we do not want the following to show up - GL.glColorMask(false, false, false, false); - GL.glEnable(GL.GL_DEPTH_TEST); - // change the depth test to GL_ALWAYS - GL.glDepthFunc(GL.GL_ALWAYS); - // render the front face of B - a.draw(); - // reset the depth function - GL.glDepthFunc(GL.GL_LESS); - // draw front parts of A outside B - drawAinsideB(a, b, GL.GL_BACK, GL.GL_EQUAL); - } - - /** - * Draws the specifed shape. - * - * @param shape the shape to draw - */ - void drawShape(Shape shape) { - GL.glEnable(GL.GL_DEPTH_TEST); - shape.draw(); - GL.glDisable(GL.GL_DEPTH_TEST); - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Area"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - if (!hasStencilSupport()) return; - - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - float[] lightPos = { 0.0f, 5.0f, -10.0f, 1.0f }; - GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, lightPos); - quadratic = GLU.gluNewQuadric(); - disk = GLU.gluNewQuadric(); - - GL.glEnable(GL.GL_CULL_FACE); - GL.glEnable(GL.GL_LIST_MODE); - GL.glEnable(GL.GL_LIGHT0); - GL.glEnable(GL.GL_LIGHTING); - GL.glLightModeli(GL.GL_LIGHT_MODEL_TWO_SIDE, GL.GL_TRUE); - - final float[] sphereMaterial = { 0.0f, 1.0f, 0.0f, 1.0f }; - final float[] cylinderMaterial = { 1.0f, 0.0f, 0.0f, 1.0f }; - - Shape sphere = new Shape() { - public void draw() { - GL.glMaterialfv( - GL.GL_FRONT_AND_BACK, - GL.GL_AMBIENT_AND_DIFFUSE, - sphereMaterial); - GL.glColor3f(0.0f, 1.0f, 0.0f); - GLU.gluSphere(quadratic, 3, 32, 32); - } - }; - Shape cylinder = new Shape() { - public void draw() { - GL.glMaterialfv( - GL.GL_FRONT_AND_BACK, - GL.GL_AMBIENT_AND_DIFFUSE, - cylinderMaterial); - GL.glColor3f(1.0f, 0.0f, 0.0f); - GLU.gluQuadricOrientation(disk, GLU.GLU_INSIDE); - GL.glPushMatrix(); - GL.glTranslatef(1.0f, 1.0f, 0.0f); - GLU.gluDisk(disk, 0, 3, 32, 32); - GLU.gluCylinder(quadratic, 3, 3, 6, 32, 32); - GL.glPushMatrix(); - GL.glTranslatef(0.0f, 0.0f, 6.0f); - GLU.gluQuadricOrientation(disk, GLU.GLU_OUTSIDE); - GLU.gluDisk(disk, 0, 3, 32, 32); - GL.glPopMatrix(); - GL.glPopMatrix(); - } - }; - - // create the display lists and states - states = new State[6]; - int index = 1; - - GL.glNewList(index, GL.GL_COMPILE); - drawShape(cylinder); - GL.glEndList(); - states[0] = new State("Cylinder",index++); - - GL.glNewList(index, GL.GL_COMPILE); - drawShape(sphere); - GL.glEndList(); - states[1] = new State("Sphere",index++); - - GL.glNewList(index, GL.GL_COMPILE); - drawAorB(cylinder, sphere); - GL.glEndList(); - states[2] = new State("Cylinder OR Sphere",index++); - - GL.glNewList(index, GL.GL_COMPILE); - drawAandB(cylinder, sphere); - GL.glEndList(); - states[3] = new State("Cylinder AND Sphere",index++); - - GL.glNewList(index, GL.GL_COMPILE); - drawAsubB(cylinder, sphere); - GL.glEndList(); - states[4] = new State("Cylinder SUB Sphere",index++); - - GL.glNewList(index, GL.GL_COMPILE); - drawAsubB(sphere, cylinder); - GL.glEndList(); - states[5] = new State("Sphere SUB Cylinder",index++); - - currentState = states[0]; - } - - /** - * @see OpenGLTab#isStencilSupportNeeded - */ - boolean isStencilSupportNeeded() { - return true; - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - GL.glClear( - GL.GL_COLOR_BUFFER_BIT - | GL.GL_DEPTH_BUFFER_BIT - | GL.GL_STENCIL_BUFFER_BIT); - - GL.glLoadIdentity(); - GL.glTranslatef(xPos, yPos, zPos); - GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f); - GL.glRotatef(yRot, 0.0f, 1.0f, 0.0f); - GL.glRotatef(zRot, 0.0f, 0.0f, 1.0f); - - currentState.display(); - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BezierTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BezierTab.java deleted file mode 100644 index e66b8414c8..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BezierTab.java +++ /dev/null @@ -1,211 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.events.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class BezierTab extends SelectionTab { - private boolean showCtrlPoints = true; - private Point offset; - private int currentPoint = -1; - private int lineDivisions = 30; - private double[][] ctrlPts = { - { 1.5, 0.5, 0.0, 0.6, 0.9, 0.0, 0.85, 0.12, - 0.0, 1.1, 1.0, 0.0, 0.53, 1.4, 0.0 - }, - { 0.53, 1.4, 0.0, 1.03, 1.87, 0.0, 1.52, 0.26, - 0.0, 1.86, 0.43, 0.0, 1.5, 0.5, 0.0 - } - }; - private static final int LENGTH = 5; - private static final int[][] PICK_NAMES = { - { 1, 2, 3, 4, 5 }, - { 6, 7, 8, 9, 10 } - }; - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(Composite composite) { - new Label(composite, SWT.NONE).setText("Click and drag points to adjust shape."); - new Label(composite, SWT.NONE).setText("Line division count:"); - final Slider divisions = new Slider(composite, SWT.NONE); - divisions.setIncrement(1); - divisions.setMaximum(52); - divisions.setMinimum(1); - divisions.setThumb(2); - divisions.setPageIncrement(2); - divisions.setSelection(30); - divisions.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - lineDivisions = divisions.getSelection(); - } - }); - - final Button showPointsButton = new Button(composite, SWT.CHECK); - showPointsButton.setText("Show Points"); - showPointsButton.setSelection(true); - showPointsButton.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - showCtrlPoints = showPointsButton.getSelection(); - } - }); - - final Button blendButton = new Button(composite, SWT.CHECK); - blendButton.setText("Blend"); - blendButton.setSelection(true); - blendButton.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - if (blendButton.getSelection()) { - GL.glEnable(GL.GL_BLEND); - } else { - GL.glDisable(GL.GL_BLEND); - } - } - }); - - final Button smoothLineButton = new Button(composite, SWT.CHECK); - smoothLineButton.setText("Smooth Line"); - smoothLineButton.setSelection(true); - smoothLineButton.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - if (smoothLineButton.getSelection()) { - GL.glEnable(GL.GL_LINE_SMOOTH); - } else { - GL.glDisable(GL.GL_LINE_SMOOTH); - } - } - }); - - final Canvas glCanvas = getGlCanvas(); - glCanvas.addMouseListener(new MouseAdapter() { - public void mouseUp(MouseEvent e) { - offset = null; - } - - }); - - glCanvas.addListener(SWT.MouseDown, new Listener() { - public void handleEvent(Event e) { - e.y = glCanvas.getClientArea().height - e.y; - if (e.button == 1) { - if (processSelection(e.x, e.y, 10) > 0) { - offset = new Point(e.x, e.y); - } else { - currentPoint = 0; - } - } - } - }); - - glCanvas.addListener(SWT.MouseMove, new Listener() { - public void handleEvent(Event e) { - if (offset == null) return; - int currentSegment = (currentPoint - 1) / LENGTH; - int current = (currentPoint - 1) * 3; - if (currentPoint > LENGTH) { - current = (currentPoint - 6) * 3; - } - Rectangle rect = glCanvas.getClientArea(); - e.y = rect.height - e.y; - if (0 < e.x && e.x < rect.width && 0 < e.y && e.y < rect.height && currentPoint > 0) { - ctrlPts[currentSegment][current] = (float) e.x / (float) 200; - ctrlPts[currentSegment][current + 1] = (float) e.y / (float) 200; - switch (currentPoint) { - case 10 : - ctrlPts[0][0] = (float) e.x / (float) 200; - ctrlPts[0][1] = (float) e.y / (float) 200; - break; - case 6 : - ctrlPts[0][12] = (float) e.x / (float) 200; - ctrlPts[0][13] = (float) e.y / (float) 200; - break; - } - } - } - }); - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Bezier"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - GL.glHint(GL.GL_LINE_SMOOTH_HINT, GL.GL_NICEST); - GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - GL.glPointSize(7.0f); - GL.glLineWidth(4.0f); - - GL.glEnable(GL.GL_AUTO_NORMAL); - GL.glEnable(GL.GL_MAP1_VERTEX_3); - GL.glEnable(GL.GL_LINE_SMOOTH); - GL.glEnable(GL.GL_BLEND); - } - - /** - * @see SelectionTab.processPick (int[], int) - */ - void processPick(int[] pSelectBuff, int hits) { - int counter = 0; - currentPoint = 0; - for (int i = 0; i < hits; i++) { - int count = pSelectBuff[counter]; - counter += 3; - for (int j = 0; j < count; j++) { - currentPoint = pSelectBuff[counter]; - counter++; - } - } - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); - GL.glLoadIdentity(); - GL.glTranslatef(-1.0f, -1.0f, -2.45f); - GL.glColor3f(0.0f, 0.0f, 1.0f); - for (int i = 0; i < ctrlPts.length; i++) { - GL.glMapGrid1d(lineDivisions, 0.0f, 1f); - GL.glMap1d(GL.GL_MAP1_VERTEX_3, 0, 1, 3, LENGTH, ctrlPts[i]); - GL.glEvalMesh1(GL.GL_LINE, 0, lineDivisions); - } - if (showCtrlPoints) { - GL.glPushName(0); - for (int j = 0; j < ctrlPts.length; j++) { - for (int i = 0; i < LENGTH * 3; i += 3) { - GL.glLoadName(PICK_NAMES[j][i / 3]); - GL.glBegin(GL.GL_POINTS); - if (PICK_NAMES[j][i / 3] == currentPoint) { - GL.glColor3f(1.0f, 0.0f, 0.0f); - } else { - GL.glColor3f(0.0f, 0.0f, 0.0f); - } - GL.glVertex3d(ctrlPts[j][i], ctrlPts[j][i + 1], ctrlPts[j][i + 2]); - GL.glEnd(); - } - } - } - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BitmapTextTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BitmapTextTab.java deleted file mode 100644 index 084f45a213..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/BitmapTextTab.java +++ /dev/null @@ -1,203 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class BitmapTextTab extends OpenGLTab { - private Text messageText; - private FontData fontData; - private float[] textColor = { 1.0f, 0.0f, 0.0f }; - private float xPos = -130.0f, yPos = 0.0f; - private int listIndexBase; - private final static int LIST_INDEX_SIZE = 256; - private final static int DEFAULT_FONT_SIZE = 24; - private final static String DEFAULT_FONT_NAME = "Courier"; - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(Composite composite) { - Group movementGroup = new Group(composite, SWT.NONE); - movementGroup.setText("Translation"); - movementGroup.setLayout(new GridLayout(2, false)); - - new Label(movementGroup, SWT.NONE).setText("X:"); - final Slider xMove = new Slider(movementGroup, SWT.NONE); - xMove.setIncrement(1); - xMove.setMaximum(42); - xMove.setMinimum(0); - xMove.setThumb(2); - xMove.setPageIncrement(2); - xMove.setSelection(7); - xMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - xPos = (xMove.getSelection() * 10) - 200; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Y:"); - final Slider yMove = new Slider(movementGroup, SWT.NONE); - yMove.setIncrement(1); - yMove.setMaximum(42); - yMove.setMinimum(0); - yMove.setThumb(2); - yMove.setPageIncrement(2); - yMove.setSelection(20); - yMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - yPos = (yMove.getSelection() * 10) - 200; - } - }); - - Composite textGroup = new Composite(composite,SWT.NONE); - GridLayout layout = new GridLayout(2,false); - layout.marginHeight = 0; - layout.marginWidth = 0; - textGroup.setLayout(layout); - textGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); - - new Label(textGroup, SWT.NONE).setText("Text:"); - messageText = new Text(textGroup, SWT.BORDER); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.grabExcessHorizontalSpace = true; - messageText.setLayoutData(data); - messageText.setText("OpenGL - SWT"); - - final Button fontSelectButton = new Button(composite, SWT.NONE); - fontSelectButton.setText("Set Font"); - - final ColorSelectionGroup colorGroup = - new ColorSelectionGroup(composite, SWT.NONE); - colorGroup.setText("Text color"); - colorGroup.addColorSelectionListener(new IColorSelectionListener() { - public void handleColorSelection(RGB rgb) { - GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue); - } - }); - - fontSelectButton.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - FontDialog fontDialog = new FontDialog(fontSelectButton.getShell()); - fontDialog.setText("Choose Font Options"); - double[] currentColor = new double[4]; - GL.glGetDoublev(GL.GL_CURRENT_COLOR, currentColor); - fontDialog.setRGB( - new RGB( - (int) currentColor[0] * 255, - (int) currentColor[1] * 255, - (int) currentColor[2] * 255)); - fontDialog.setFontData(fontData); - FontData result = fontDialog.open(); - if (result != null) { - fontData = result; - RGB rgb = fontDialog.getRGB(); - GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue); - colorGroup.setRGB(rgb); - getContext().loadBitmapFont(fontData, null, listIndexBase, 32, 96); - } - } - }); - } - - /** - * @see OpenGLTab#dispose() - */ - void dispose() { - super.dispose(); - GL.glDeleteLists(listIndexBase, LIST_INDEX_SIZE); - } - - /** - * Draws the text to the screen - * - * @param string the text to draw - */ - void drawText(String string) { - char[] stringChars = string.toCharArray(); - int[] text = new int[stringChars.length]; - for (int i = 0; i < text.length; i++) { - text[i] = (int) stringChars[i]; - } - // pushes the display list bits - GL.glPushAttrib(GL.GL_LIST_BIT); - // sets the base character to 32 - GL.glListBase(listIndexBase - 32); - GL.glCallLists(text.length, GL.GL_UNSIGNED_INT, text); - // pops the display list bits - GL.glPopAttrib(); - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Bitmap Text"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - GL.glColor3fv(textColor); - GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - GL.glEnable(GL.GL_DEPTH_TEST); - GL.glEnable(GL.GL_BLEND); - // build the initial font - listIndexBase = GL.glGenLists(LIST_INDEX_SIZE); - fontData = new FontData(); - fontData.setHeight(DEFAULT_FONT_SIZE); - fontData.setName(DEFAULT_FONT_NAME); - getContext().loadBitmapFont(fontData, null, listIndexBase, 32, LIST_INDEX_SIZE); - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); - GL.glLoadIdentity(); - GL.glRasterPos2f(xPos, yPos); - drawText(messageText.getText()); - } - - /** - * @see OpenGLTab#setupViewingArea() - */ - void setupViewingArea() { - // use ortho view since this tab does not need any depth - Rectangle rect = getGlCanvas().getClientArea(); - int width = rect.width; - int height = rect.height; - width = Math.max(width, 1); - GL.glViewport(0, 0, width, height); - float nRange = 200.0f; - GL.glMatrixMode(GL.GL_PROJECTION); - GL.glLoadIdentity(); - if (width <= height) { - GL.glOrtho( - -nRange, nRange, -nRange * height / width, - nRange * height / width, -nRange, nRange); - } else { - GL.glOrtho( - -nRange * height / width, nRange * height / width, -nRange, - nRange, -nRange, nRange); - } - GL.glMatrixMode(GL.GL_MODELVIEW); - GL.glLoadIdentity(); - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java deleted file mode 100644 index f0c3cdde9d..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java +++ /dev/null @@ -1,166 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import java.util.Vector; -import org.eclipse.swt.*; -import org.eclipse.swt.events.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.GL; -import org.eclipse.swt.widgets.*; - -class ColorSelectionGroup implements Listener { - private Color color; - private Label label; - private Image image; - private Button button; - private Vector listeners = new Vector(); - - /** - * Constructor. - * - * @param parent the parent composite - * @param style style bits to be applied to the color group - */ - ColorSelectionGroup(Composite parent, int style) { - super(); - initColor(parent.getDisplay()); - - Composite colorGroup = new Composite(parent, style); - GridLayout layout = new GridLayout(2, false); - layout.marginWidth = 0; - layout.marginHeight = 0; - colorGroup.setLayout(layout); -// GridData data = new GridData(GridData.FILL_HORIZONTAL); -// data.grabExcessHorizontalSpace = true; -// colorGroup.setLayoutData(data); - - button = new Button(colorGroup, SWT.NONE); - button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); - image = new Image(button.getDisplay(), 12, 12); - drawButtonImage(); - button.setImage(image); - button.addListener(SWT.Selection, this); - button.addDisposeListener(new DisposeListener() { - public void widgetDisposed(DisposeEvent event) { - if (image != null) image.dispose(); - if (color != null) color.dispose(); - } - }); - - label = new Label(colorGroup, SWT.NONE); - label.setText("Color"); -// data = new GridData(GridData.FILL_HORIZONTAL); -// data.grabExcessHorizontalSpace = true; -// label.setLayoutData(data); - } - - /** - * Adds the argument to this group's collection of - * color selection listeners. - * - * @param listener - */ - void addColorSelectionListener(IColorSelectionListener listener) { - listeners.addElement(listener); - } - - /** - * Draws the colored square on the selection button. - */ - void drawButtonImage() { - GC gc = new GC(image); - gc.setBackground(color); - Rectangle bounds = image.getBounds(); - gc.fillRectangle(0, 0, bounds.width, bounds.height); - gc.drawRectangle(0, 0, bounds.width - 1, bounds.height - 1); - gc.dispose(); - } - - /** - * @see org.eclipse.swt.widgets.Listener#handleEvent(Event) - */ - public void handleEvent(Event e) { - Shell shell = button.getShell(); - ColorDialog colorDialog = new ColorDialog(shell); - colorDialog.setRGB( - new RGB(color.getRed(), color.getGreen(), color.getBlue())); - RGB rgb = colorDialog.open(); - if (rgb == null) return; - setRGB(rgb); - notifyListeners(rgb); - } - - /** - * Initializes the color by querying for the current color. - * - * @param display - */ - void initColor(Display display) { - double[] currentColor = new double[4]; - GL.glGetDoublev(GL.GL_CURRENT_COLOR, currentColor); - RGB rgb = - new RGB( - (int) currentColor[0] * 255, - (int) currentColor[1] * 255, - (int) currentColor[2] * 255); - color = new Color(display, rgb); - } - - /** - * Notifies all registered color selection listeners. - * - * @param value - */ - void notifyListeners(RGB rgb) { - IColorSelectionListener[] listenersArr = - new IColorSelectionListener[listeners.size()]; - listeners.copyInto(listenersArr); - for (int i = 0; i < listenersArr.length; i++) { - listenersArr [i].handleColorSelection(rgb); - } - } - - /** - * Removes the argument from this group's collection of color selection - * listeners. If the argument is not a registered listener then does - * nothing. - * - * @param listener - */ - void removeColorSelectionListener(IColorSelectionListener listener) { - listeners.removeElement(listener); - } - - /** - * Sets the text for the group's label. - * - * @param text the new label text - */ - void setText(String text) { - label.setText(text); - } - - /** - * Sets the current color. - * - * @param rgb the rgb of the new color - */ - void setRGB(RGB rgb) { - Color oldColor = color; - color = new Color(button.getDisplay(), rgb); - drawButtonImage(); - button.setImage(image); - if (oldColor != null) oldColor.dispose(); - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/FogTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/FogTab.java deleted file mode 100644 index da017ed1db..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/FogTab.java +++ /dev/null @@ -1,254 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class FogTab extends OpenGLTab { - - private float rotY = 0.0f; - private float yPos = 0.0f, xPos = 0.0f, zPos = -15.0f; - private int cubeListIndexBase; - private final static int[] FOG_TYPES = { GL.GL_LINEAR, GL.GL_EXP, GL.GL_EXP2 }; - private final static String[] FOG_NAMES = { "LINEAR", "GL_EXP", "GL_EXP2" }; - private final static int SLEEP_LENGTH = 0; - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(Composite composite) { - Group movementGroup = new Group(composite, SWT.NONE); - movementGroup.setText("Translation"); - movementGroup.setLayout(new GridLayout(2, false)); - - new Label(movementGroup, SWT.NONE).setText("X:"); - final Slider xMove = new Slider(movementGroup, SWT.NONE); - xMove.setIncrement(1); - xMove.setMaximum(12); - xMove.setMinimum(0); - xMove.setThumb(2); - xMove.setPageIncrement(2); - xMove.setSelection(5); - xMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - xPos = xMove.getSelection() - 5; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Y:"); - final Slider yMove = new Slider(movementGroup, SWT.NONE); - yMove.setIncrement(1); - yMove.setMaximum(12); - yMove.setMinimum(0); - yMove.setThumb(2); - yMove.setPageIncrement(2); - yMove.setSelection(5); - yMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - yPos = yMove.getSelection() - 5; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Z:"); - final Slider zMove = new Slider(movementGroup, SWT.NONE); - zMove.setIncrement(1); - zMove.setMaximum(24); - zMove.setMinimum(0); - zMove.setThumb(4); - zMove.setPageIncrement(2); - zMove.setSelection(10); - zMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - zPos = zMove.getSelection() - 25; - } - }); - - Composite fogTypesGroup = new Composite(composite,SWT.NONE); - GridLayout layout = new GridLayout(2,false); - layout.marginHeight = 0; - layout.marginWidth = 0; - fogTypesGroup.setLayout(layout); - fogTypesGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); - - new Label(fogTypesGroup, SWT.NONE).setText("Fog Types:"); - final Combo fogTypeCombo = new Combo(fogTypesGroup, SWT.READ_ONLY); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.grabExcessHorizontalSpace = true; - fogTypeCombo.setLayoutData(data); - fogTypeCombo.setItems(FOG_NAMES); - fogTypeCombo.select(0); - - new Label(composite, SWT.NONE).setText("Fog Density:"); - final Slider fogDensitySlider = new Slider(composite, SWT.NONE); - fogDensitySlider.setIncrement(1); - fogDensitySlider.setMaximum(32); - fogDensitySlider.setMinimum(0); - fogDensitySlider.setThumb(2); - fogDensitySlider.setPageIncrement(5); - fogDensitySlider.setSelection(0); - fogDensitySlider.setEnabled(false); - fogDensitySlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - float fogDensity = ((float)fogDensitySlider.getSelection()) / 100; - GL.glFogf(GL.GL_FOG_DENSITY, fogDensity); - } - }); - fogTypeCombo.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - int currentSelection = fogTypeCombo.getSelectionIndex(); - // fog type GL.GL_LINEAR does not utilize fogDensity, but the other fog types do - fogDensitySlider.setEnabled(currentSelection != 0); - GL.glFogf(GL.GL_FOG_MODE, FOG_TYPES[currentSelection]); - } - }); - } - - /** - * Creates a cube at 0,0 in the viewport. - */ - void createCube() { - GL.glNewList(cubeListIndexBase, GL.GL_COMPILE); - GL.glBegin(GL.GL_QUADS); - // front - GL.glColor3f(0.0f, 1.0f, 0.0f); - GL.glVertex3f(-0.5f, -0.5f, 0.5f); // bottom left - GL.glColor3f(0.0f, 0.0f, 1.0f); - GL.glVertex3f(0.5f, -0.5f, 0.5f); // bottom right - GL.glColor3f(1.0f, 1.0f, 0.0f); - GL.glVertex3f(0.5f, 0.5f, 0.5f); // top right - GL.glColor3f(1.0f, 0.0f, 0.0f); - GL.glVertex3f(-0.5f, 0.5f, 0.5f); // top left - // back - GL.glColor3f(0.0f, 0.0f, 1.0f); - GL.glVertex3f(-0.5f, -0.5f, -0.5f); // bottom left - GL.glColor3f(0.0f, 1.0f, 0.0f); - GL.glVertex3f(0.5f, -0.5f, -0.5f); // bottom right - GL.glColor3f(1.0f, 0.0f, 0.0f); - GL.glVertex3f(0.5f, 0.5f, -0.5f); // top right - GL.glColor3f(1.0f, 1.0f, 0.0f); - GL.glVertex3f(-0.5f, 0.5f, -0.5f); // top left - // left - GL.glColor3f(0.0f, 0.0f, 1.0f); - GL.glVertex3f(-0.5f, -0.5f, -0.5f); // bottom left - GL.glColor3f(0.0f, 1.0f, 0.0f); - GL.glVertex3f(-0.5f, -0.5f, 0.5f); // bottom right - GL.glColor3f(1.0f, 0.0f, 0.0f); - GL.glVertex3f(-0.5f, 0.5f, 0.5f); // top right - GL.glColor3f(1.0f, 1.0f, 0.0f); - GL.glVertex3f(-0.5f, 0.5f, -0.5f); // top left - // right - GL.glColor3f(0.0f, 0.0f, 1.0f); - GL.glVertex3f(0.5f, -0.5f, 0.5f); // bottom left - GL.glColor3f(0.0f, 1.0f, 0.0f); - GL.glVertex3f(0.5f, -0.5f, -0.5f); // bottom right - GL.glColor3f(1.0f, 0.0f, 0.0f); - GL.glVertex3f(0.5f, 0.5f, -0.5f); // top right - GL.glColor3f(1.0f, 1.0f, 0.0f); - GL.glVertex3f(0.5f, 0.5f, 0.5f); // top left - // top - GL.glColor3f(1.0f, 0.0f, 0.0f); - GL.glVertex3f(0.5f, 0.5f, -0.5f); - GL.glColor3f(1.0f, 1.0f, 0.0f); - GL.glVertex3f(-0.5f, 0.5f, -0.5f); - GL.glColor3f(1.0f, 0.0f, 0.0f); - GL.glVertex3f(-0.5f, 0.5f, 0.5f); - GL.glColor3f(1.0f, 1.0f, 0.0f); - GL.glVertex3f(0.5f, 0.5f, 0.5f); - // bottom - GL.glColor3f(0.0f, 0.0f, 1.0f); - GL.glVertex3f(0.5f, -0.5f, 0.5f); - GL.glColor3f(0.0f, 1.0f, 0.0f); - GL.glVertex3f(-0.5f, -0.5f, 0.5f); - GL.glColor3f(0.0f, 0.0f, 1.0f); - GL.glVertex3f(-0.5f, -0.5f, -0.5f); - GL.glColor3f(0.0f, 1.0f, 0.0f); - GL.glVertex3f(0.5f, -0.5f, -0.5f); - GL.glEnd(); - GL.glEndList(); - } - - /** - * @see OpenGLTab#dispose() - */ - void dispose() { - super.dispose(); - GL.glDeleteLists(cubeListIndexBase, 1); - } - - /** - * @see OpenGLTab#getSleepLength() - */ - int getSleepLength() { - return SLEEP_LENGTH; - } - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Fog"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - // fog color should be the same as the clear color - // to look appropriate - float[] fogColor = { 1.0f, 1.0f, 1.0f, 1.0f }; - GL.glFogfv(GL.GL_FOG_COLOR, fogColor); - GL.glHint(GL.GL_FOG_HINT, GL.GL_DONT_CARE); - GL.glFogf(GL.GL_FOG_START, 0); - GL.glFogf(GL.GL_FOG_DENSITY, 0.0f); - // set the end of the start distance; anything > 15 - // units from the camera will be covered in fog - GL.glFogf(GL.GL_FOG_END, 15); - GL.glFogf(GL.GL_FOG_MODE, FOG_TYPES[0]); - GL.glEnable(GL.GL_FOG); - GL.glEnable(GL.GL_DEPTH_TEST); - - cubeListIndexBase = GL.glGenLists(1); - createCube(); - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); - GL.glLoadIdentity(); - GL.glTranslatef(xPos, yPos, zPos); - GL.glRotatef(rotY, 0.0f, 1.0f, 0.0f); - - GL.glCallList(cubeListIndexBase); - - GL.glPushMatrix(); - GL.glTranslatef(3, 0, -3); - GL.glCallList(cubeListIndexBase); - GL.glPopMatrix(); - - GL.glPushMatrix(); - GL.glTranslatef(-3, 0, -3); - GL.glCallList(cubeListIndexBase); - GL.glPopMatrix(); - - GL.glPushMatrix(); - GL.glTranslatef(0, 0, 4); - GL.glCallList(cubeListIndexBase); - GL.glPopMatrix(); - - rotY += 0.6f; - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/GradientTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/GradientTab.java deleted file mode 100644 index 61e93097d5..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/GradientTab.java +++ /dev/null @@ -1,233 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class GradientTab extends OpenGLTab { - private float xPos = 0.0f, yPos = 0.0f, zPos = -7.0f; - private float xRot = 180.0f, yRot = 180.0f, zRot = 180.0f; - private int currentSelection = 1; - private final static float[] BEZIER_COLORS = { - 0.0f, 1.0f, 0.0f, 0.0f, 0.3f, 0.6f, 0.1f, 0.0f, - 0.8f, 0.2f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, - 0.0f, 0.0f, 1.0f, 0.0f, 0.8f, 0.8f, 0.8f, 0.0f - }; - private final static float[] BEZIER_POINTS = { - -1.5f, -1.5f, 4.0f, -0.5f, -1.5f, 2.0f, 0.5f, -1.5f, - -1.0f, 1.5f, -1.5f, 2.0f, -1.5f, -0.5f, 1.0f, -0.5f, - -0.5f, 3.0f, 0.5f, -0.5f, 0.0f, 1.5f, -0.5f, -1.0f, - -1.5f, 0.5f, 4.0f, -0.5f, 0.5f, 0.0f, 0.5f, 0.5f, - 3.0f, 1.5f, 0.5f, 4.0f, -1.5f, 1.5f, -2.0f, -0.5f, - 1.5f, -2.0f, 0.5f, 1.5f, 0.0f, 1.5f, 1.5f, -1.0f, - }; - private final static String[] OBJECT_NAMES = { "Bezier", "Square" }; - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(Composite composite) { - Group movementGroup = new Group(composite, SWT.NONE); - movementGroup.setText("Translation"); - movementGroup.setLayout(new GridLayout(2, false)); - - new Label(movementGroup, SWT.NONE).setText("X:"); - final Slider xMove = new Slider(movementGroup, SWT.NONE); - xMove.setIncrement(1); - xMove.setMaximum(12); - xMove.setMinimum(0); - xMove.setThumb(2); - xMove.setPageIncrement(2); - xMove.setSelection(5); - xMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - xPos = xMove.getSelection() - 5; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Y:"); - final Slider yMove = new Slider(movementGroup, SWT.NONE); - yMove.setIncrement(1); - yMove.setMaximum(12); - yMove.setMinimum(0); - yMove.setThumb(2); - yMove.setPageIncrement(2); - yMove.setSelection(5); - yMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - yPos = yMove.getSelection() - 5; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Z:"); - final Slider zMove = new Slider(movementGroup, SWT.NONE); - zMove.setIncrement(1); - zMove.setMaximum(12); - zMove.setMinimum(0); - zMove.setThumb(2); - zMove.setPageIncrement(2); - zMove.setSelection(5); - zMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - zPos = zMove.getSelection() - 12; - } - }); - - Group rotationGroup = new Group(composite, SWT.NONE); - rotationGroup.setText("Rotation"); - rotationGroup.setLayout(new GridLayout(2, false)); - - new Label(rotationGroup, SWT.NONE).setText("X:"); - final Slider xRotation = new Slider(rotationGroup, SWT.NONE); - xRotation.setIncrement(10); - xRotation.setMaximum(362); - xRotation.setMinimum(0); - xRotation.setThumb(2); - xRotation.setPageIncrement(20); - xRotation.setSelection(180); - xRotation.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - xRot = xRotation.getSelection(); - } - }); - - new Label(rotationGroup, SWT.NONE).setText("Y:"); - final Slider yRotation = new Slider(rotationGroup, SWT.NONE); - yRotation.setIncrement(10); - yRotation.setMaximum(362); - yRotation.setMinimum(0); - yRotation.setThumb(2); - yRotation.setPageIncrement(20); - yRotation.setSelection(180); - yRotation.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - yRot = yRotation.getSelection(); - } - }); - - new Label(rotationGroup, SWT.NONE).setText("Z:"); - final Slider zRotation = new Slider(rotationGroup, SWT.NONE); - zRotation.setIncrement(10); - zRotation.setMaximum(362); - zRotation.setMinimum(0); - zRotation.setThumb(2); - zRotation.setPageIncrement(20); - zRotation.setSelection(180); - zRotation.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - zRot = zRotation.getSelection(); - } - }); - - Composite objectGroup = new Composite(composite,SWT.NONE); - GridLayout layout = new GridLayout(2,false); - layout.marginHeight = 0; - layout.marginWidth = 0; - objectGroup.setLayout(layout); - objectGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); - - new Label(objectGroup, SWT.NONE).setText("Object:"); - final Combo objectCombo = new Combo(objectGroup, SWT.READ_ONLY); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.grabExcessHorizontalSpace = true; - objectCombo.setLayoutData(data); - objectCombo.setItems(OBJECT_NAMES); - objectCombo.select(0); - objectCombo.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - currentSelection = objectCombo.getSelectionIndex() + 1; - } - }); - } - - /** - * @see OpenGLTab#dispose() - */ - void dispose() { - super.dispose(); - GL.glDeleteLists(1, 2); - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Gradients"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - GL.glHint(GL.GL_LINE_SMOOTH_HINT, GL.GL_NICEST); - GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - GL.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_FILL); - GL.glMap2f(GL.GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, BEZIER_POINTS); - GL.glMap2f(GL.GL_MAP2_COLOR_4, 0, 1, 4, 1, 0, 1, 4, 6, BEZIER_COLORS); - GL.glMapGrid2f(20, 0.0f, 1.0f, 20, 0.0f, 1.0f); - GL.glShadeModel(GL.GL_SMOOTH); - GL.glEnable(GL.GL_LINE_SMOOTH); - GL.glEnable(GL.GL_LINE_STIPPLE); - GL.glEnable(GL.GL_BLEND); - GL.glEnable(GL.GL_MAP2_COLOR_4); - GL.glEnable(GL.GL_MAP2_VERTEX_3); - GL.glEnable(GL.GL_DEPTH_TEST); - - // create display lists - GL.glNewList(1, GL.GL_COMPILE); - GL.glEvalMesh2(GL.GL_FILL, 0, 20, 0, 20); - GL.glEndList(); - GL.glNewList(2, GL.GL_COMPILE); - GL.glBegin(GL.GL_TRIANGLE_FAN); - GL.glColor3f(0.0f, 1.0f, 0.0f); - GL.glVertex3f(0.0f, 0.0f, 0.0f); - GL.glColor3f(1.0f, 0.0f, 0.0f); - GL.glVertex3f(0.0f, 2.0f, 0.0f); - GL.glColor3f(0.0f, 1.0f, 0.0f); - GL.glVertex3f(-2.0f, 2.0f, 0.0f); - GL.glColor3f(0.0f, 0.0f, 1.0f); - GL.glVertex3f(-2.0f, 0.0f, 0.0f); - GL.glColor3f(0.0f, 1.0f, 0.0f); - GL.glVertex3f(-2.0f, -2.0f, 0.0f); - GL.glColor3f(1.0f, 0.0f, 0.0f); - GL.glVertex3f(0.0f, -2.0f, 0.0f); - GL.glColor3f(0.0f, 1.0f, 0.0f); - GL.glVertex3f(2.0f, -2.0f, 0.0f); - GL.glColor3f(0.0f, 0.0f, 1.0f); - GL.glVertex3f(2.0f, 0.0f, 0.0f); - GL.glColor3f(0.0f, 1.0f, 0.0f); - GL.glVertex3f(2.0f, 2.0f, 0.0f); - GL.glColor3f(1.0f, 0.0f, 0.0f); - GL.glVertex3f(0.0f, 2.0f, 0.0f); - GL.glEnd(); - GL.glEndList(); - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT); - GL.glLoadIdentity(); - GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); - GL.glTranslatef(xPos, yPos, zPos); - GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f); - GL.glRotatef(yRot, 0.0f, 1.0f, 0.0f); - GL.glRotatef(zRot, 0.0f, 0.0f, 1.0f); - GL.glColor3f(1.0f, 0.0f, 0.0f); - GL.glCallList(currentSelection); - } -}
\ No newline at end of file diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/IColorSelectionListener.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/IColorSelectionListener.java deleted file mode 100644 index 346b5639dc..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/IColorSelectionListener.java +++ /dev/null @@ -1,18 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - -import org.eclipse.swt.graphics.RGB; - - -public interface IColorSelectionListener { - public void handleColorSelection(RGB rgb); -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LightTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LightTab.java deleted file mode 100644 index 701eb9cefa..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/LightTab.java +++ /dev/null @@ -1,354 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class LightTab extends OpenGLTab { - private float[] materialShininess = { 25.0f }; - private float[] lightPosition = { 0.0f, 0.0f, 0.0f, 1.0f }; - private float[][] colorValues = { - { 1.0f, 1.0f, 1.0f, 1.0f }, // light diffuse - { 1.0f, 1.0f, 1.0f, 1.0f }, // light ambient - { 1.0f, 1.0f, 1.0f, 1.0f }, // light specular - { 0.5f, 0.5f, 0.5f, 1.0f }, // light main ambient - { 0.0f, 0.0f, 1.0f, 1.0f }, // material diffuse - { 0.3f, 0.3f, 0.3f, 1.0f }, // material ambient - { 1.0f, 1.0f, 1.0f, 1.0f } // material specular - }; - private float yPos = 0.0f, xPos = 0.0f, zPos = -20.0f; - private int quadratic, sphere; - // sourceType values: 0 = light, 1 = material - private int sourceType; - // lightType values: 0 = diffuse, 1 = ambient, 2 = specular, 3 = main ambient - private int lightType = 0; - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(Composite composite) { - Group movementGroup = new Group(composite, SWT.NONE); - movementGroup.setText("Translation"); - movementGroup.setLayout(new GridLayout(2, false)); - - new Label(movementGroup, SWT.NONE).setText("X:"); - final Slider xMove = new Slider(movementGroup, SWT.NONE); - xMove.setIncrement(1); - xMove.setMaximum(22); - xMove.setMinimum(0); - xMove.setThumb(2); - xMove.setPageIncrement(2); - xMove.setSelection(10); - xMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - xPos = xMove.getSelection() - 10; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Y:"); - final Slider yMove = new Slider(movementGroup, SWT.NONE); - yMove.setIncrement(1); - yMove.setMaximum(22); - yMove.setMinimum(0); - yMove.setThumb(2); - yMove.setPageIncrement(2); - yMove.setSelection(10); - yMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - yPos = yMove.getSelection() - 10; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Z:"); - final Slider zMove = new Slider(movementGroup, SWT.NONE); - zMove.setIncrement(1); - zMove.setMaximum(22); - zMove.setMinimum(0); - zMove.setThumb(2); - zMove.setPageIncrement(2); - zMove.setSelection(10); - zMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - zPos = zMove.getSelection() - 30; - } - }); - - Group positionGroup = new Group(composite, SWT.NONE); - positionGroup.setText("Light Position"); - positionGroup.setLayout(new GridLayout(2, false)); - - new Label(positionGroup, SWT.NONE).setText("X:"); - final Slider lightX = new Slider(positionGroup, SWT.NONE); - lightX.setIncrement(1); - lightX.setMaximum(22); - lightX.setMinimum(0); - lightX.setThumb(2); - lightX.setPageIncrement(2); - lightX.setSelection(10); - lightX.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - lightPosition[0] = ((float) lightX.getSelection() * 10) - 100; - } - }); - - new Label(positionGroup, SWT.NONE).setText("Y:"); - final Slider lightY = new Slider(positionGroup, SWT.NONE); - lightY.setIncrement(1); - lightY.setMaximum(22); - lightY.setMinimum(0); - lightY.setThumb(2); - lightY.setPageIncrement(2); - lightY.setSelection(10); - lightY.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - lightPosition[1] = ((float) lightY.getSelection() * 10) - 100; - } - }); - - new Label(positionGroup, SWT.NONE).setText("Z:"); - final Slider lightZ = new Slider(positionGroup, SWT.NONE); - lightZ.setIncrement(1); - lightZ.setMaximum(22); - lightZ.setMinimum(0); - lightZ.setThumb(2); - lightZ.setPageIncrement(2); - lightZ.setSelection(10); - lightZ.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - lightPosition[2] = ((float) lightZ.getSelection() * 10) - 20; - } - }); - - Group lightColorsGroup = new Group(composite, SWT.NONE); - lightColorsGroup.setText("Light Colors"); - lightColorsGroup.setLayout(new GridLayout()); - GridData data = new GridData(GridData.FILL_BOTH); - lightColorsGroup.setLayoutData(data); - - ColorSelectionGroup lightDiffuseButton = - new ColorSelectionGroup(lightColorsGroup, SWT.NONE); - lightDiffuseButton.setText("Diffuse"); - lightDiffuseButton.setRGB( - new RGB( - (int) (colorValues[0][0] * 255), - (int) (colorValues[0][1] * 255), - (int) (colorValues[0][2] * 255))); - lightDiffuseButton - .addColorSelectionListener(new IColorSelectionListener() { - public void handleColorSelection(RGB rgb) { - colorValues[0][0] = ((float) rgb.red) / 255; - colorValues[0][1] = ((float) rgb.green) / 255; - colorValues[0][2] = ((float) rgb.blue) / 255; - setColorValues(); - } - }); - - ColorSelectionGroup lightAmbientButton = - new ColorSelectionGroup(lightColorsGroup, SWT.NONE); - lightAmbientButton.setText("Ambient"); - lightAmbientButton.setRGB( - new RGB( - (int) (colorValues[1][0] * 255), - (int) (colorValues[1][1] * 255), - (int) (colorValues[1][2] * 255))); - lightAmbientButton - .addColorSelectionListener(new IColorSelectionListener() { - public void handleColorSelection(RGB rgb) { - colorValues[1][0] = ((float) rgb.red) / 255; - colorValues[1][1] = ((float) rgb.green) / 255; - colorValues[1][2] = ((float) rgb.blue) / 255; - setColorValues(); - } - }); - - ColorSelectionGroup lightSpecularButton = - new ColorSelectionGroup(lightColorsGroup, SWT.NONE); - lightSpecularButton.setText("Specular"); - lightSpecularButton.setRGB( - new RGB( - (int) (colorValues[2][0] * 255), - (int) (colorValues[2][1] * 255), - (int) (colorValues[2][2] * 255))); - lightSpecularButton - .addColorSelectionListener(new IColorSelectionListener() { - public void handleColorSelection(RGB rgb) { - colorValues[2][0] = ((float) rgb.red) / 255; - colorValues[2][1] = ((float) rgb.green) / 255; - colorValues[2][2] = ((float) rgb.blue) / 255; - setColorValues(); - } - }); - - ColorSelectionGroup lightMainAmbientButton = - new ColorSelectionGroup(lightColorsGroup, SWT.NONE); - lightMainAmbientButton.setText("Main Ambient"); - lightMainAmbientButton.setRGB( - new RGB( - (int) (colorValues[3][0] * 255), - (int) (colorValues[3][1] * 255), - (int) (colorValues[3][2] * 255))); - lightMainAmbientButton - .addColorSelectionListener(new IColorSelectionListener() { - public void handleColorSelection(RGB rgb) { - colorValues[3][0] = ((float) rgb.red) / 255; - colorValues[3][1] = ((float) rgb.green) / 255; - colorValues[3][2] = ((float) rgb.blue) / 255; - setColorValues(); - } - }); - - Group materialColorsGroup = new Group(composite, SWT.NONE); - materialColorsGroup.setText("Material Colors"); - materialColorsGroup.setLayout(new GridLayout()); - data = new GridData(GridData.FILL_BOTH); - materialColorsGroup.setLayoutData(data); - - ColorSelectionGroup materialDiffuseButton = - new ColorSelectionGroup(materialColorsGroup, SWT.NONE); - materialDiffuseButton.setText("Diffuse"); - materialDiffuseButton.setRGB( - new RGB( - (int) (colorValues[4][0] * 255), - (int) (colorValues[4][1] * 255), - (int) (colorValues[4][2] * 255))); - materialDiffuseButton - .addColorSelectionListener(new IColorSelectionListener() { - public void handleColorSelection(RGB rgb) { - colorValues[4][0] = ((float) rgb.red) / 255; - colorValues[4][1] = ((float) rgb.green) / 255; - colorValues[4][2] = ((float) rgb.blue) / 255; - setColorValues(); - } - }); - - ColorSelectionGroup materialAmbientButton = - new ColorSelectionGroup(materialColorsGroup, SWT.NONE); - materialAmbientButton.setText("Ambient"); - materialAmbientButton.setRGB( - new RGB( - (int) (colorValues[5][0] * 255), - (int) (colorValues[5][1] * 255), - (int) (colorValues[5][2] * 255))); - materialAmbientButton - .addColorSelectionListener(new IColorSelectionListener() { - public void handleColorSelection(RGB rgb) { - colorValues[5][0] = ((float) rgb.red) / 255; - colorValues[5][1] = ((float) rgb.green) / 255; - colorValues[5][2] = ((float) rgb.blue) / 255; - setColorValues(); - } - }); - - ColorSelectionGroup materialSpecularButton = - new ColorSelectionGroup(materialColorsGroup, SWT.NONE); - materialSpecularButton.setText("Specular"); - materialSpecularButton.setRGB( - new RGB( - (int) (colorValues[6][0] * 255), - (int) (colorValues[6][1] * 255), - (int) (colorValues[6][2] * 255))); - materialSpecularButton - .addColorSelectionListener(new IColorSelectionListener() { - public void handleColorSelection(RGB rgb) { - colorValues[6][0] = ((float) rgb.red) / 255; - colorValues[6][1] = ((float) rgb.green) / 255; - colorValues[6][2] = ((float) rgb.blue) / 255; - setColorValues(); - } - }); - - new Label(composite, SWT.NONE).setText("Material Shininess:"); - final Slider shineSlider = new Slider(composite, SWT.NONE); - shineSlider.setIncrement(5); - shineSlider.setMaximum(102); - shineSlider.setMinimum(0); - shineSlider.setThumb(2); - shineSlider.setPageIncrement(10); - shineSlider.setSelection(25); - shineSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - materialShininess[0] = shineSlider.getSelection(); - GL.glMaterialfv(GL.GL_FRONT_AND_BACK, - GL.GL_SHININESS, - materialShininess); - } - }); - } - - /** - * @see OpenGLTab#dispose() - */ - void dispose() { - super.dispose(); - GLU.gluDeleteQuadric(quadratic); - GL.glDeleteLists(sphere, 1); - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Light"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - GL.glClearDepth(1.0); - setColorValues(); - GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SHININESS, materialShininess); - quadratic = GLU.gluNewQuadric(); - GLU.gluQuadricNormals(quadratic, GLU.GLU_SMOOTH); - GL.glHint(GL.GL_LINE_SMOOTH_HINT, GL.GL_NICEST); - GL.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST); - GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - GL.glPointSize(2.0f); - GL.glEnable(GL.GL_LIGHTING); - GL.glEnable(GL.GL_LIGHT0); - GL.glEnable(GL.GL_DEPTH_TEST); - sphere = GL.glGenLists(1); - GL.glNewList(sphere, GL.GL_COMPILE); - GLU.gluSphere(quadratic, 3, 32, 32); - GL.glEndList(); - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); - GL.glLoadIdentity(); - GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, lightPosition); - GL.glTranslatef(xPos, yPos, zPos); - GL.glCallList(sphere); - } - - /** - * Sets the current color values into the rendered display. - */ - void setColorValues() { - GL.glLightfv(GL.GL_LIGHT0, GL.GL_DIFFUSE, colorValues[0]); - GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_DIFFUSE, colorValues[4]); - GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT, colorValues[5]); - GL.glLightfv(GL.GL_LIGHT0, GL.GL_AMBIENT, colorValues[1]); - GL.glLightfv(GL.GL_LIGHT0, GL.GL_SPECULAR, colorValues[2]); - GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SPECULAR, colorValues[6]); - GL.glLightModelfv(GL.GL_LIGHT_MODEL_AMBIENT, colorValues[3]); - GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SHININESS, materialShininess); - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/NurbTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/NurbTab.java deleted file mode 100644 index c25e8c6647..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/NurbTab.java +++ /dev/null @@ -1,294 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class NurbTab extends OpenGLTab { - private float xPos = -5.0f, yPos = -5.0f, zPos = -25.0f; - private float xRot = 330.0f, yRot = 0.0f, zRot = 0.0f; - private int nurb; - - /** - * Returns a 3 dimensional array to store vertex points for the nurb - * surface. - * - * @return the array - */ - float[][][] buildNurb() { - float[][][] ctrl = new float[4][4][3]; - for (int i = 0; i < 4; i++) { - for (int j = 0; j < 4; j++) { - // set the x value - ctrl[i][j][0] = 2 * (i + (float) Math.cos(i + j)); - // set the y value - ctrl[i][j][1] = 2 * (j + (float) Math.cos(i + j)); - // set the z value - if ((i == 1 && j == 1) || (i == 2 && j == 2)) { - // this makes the hill - ctrl[i][j][2] = 6.0f; - } else { - ctrl[i][j][2] = 0.0f; - } - } - } - // sets this particular z value to a large number to make a high - // hill - ctrl[2][2][2] = 8.0f; - - return ctrl; - } - - /** - * Returns a 1 dimensional array representing the 3 dimensional - * argument. This result can be passed to the nurb renderer - * - * @param ctrl source 3D array - * @return 1D array - */ - float[] convert(float[][][] ctrl) { - float[] pts = - new float[ctrl.length * ctrl[0].length * ctrl[0][0].length]; - int row = 0; - int col = 0; - // set rowIncr to number of columns * depth - int rowIncr = ctrl[0].length * ctrl[0][0].length; - // set colIncr to depth - int colIncr = ctrl[0][0].length; - // loop through rows - for (int i = 0; i < ctrl.length; i++) { - col = 0; - // loop through columns - for (int j = 0; j < ctrl[0].length; j++) { - // loop through to get the depth values - for (int k = 0; k < ctrl[0][0].length; k++) { - pts[row + col + k] = ctrl[i][j][k]; - } - col += colIncr; - } - row += rowIncr; - } - return pts; - } - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(final Composite composite) { - Group movementGroup = new Group(composite, SWT.NONE); - movementGroup.setText("Translation"); - movementGroup.setLayout(new GridLayout(2, false)); - - new Label(movementGroup, SWT.NONE).setText("X:"); - final Slider xMove = new Slider(movementGroup, SWT.NONE); - xMove.setIncrement(1); - xMove.setMaximum(12); - xMove.setMinimum(0); - xMove.setThumb(2); - xMove.setPageIncrement(2); - xMove.setSelection(5); - xMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - xPos = xMove.getSelection() - 10; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Y:"); - final Slider yMove = new Slider(movementGroup, SWT.NONE); - yMove.setIncrement(1); - yMove.setMaximum(12); - yMove.setMinimum(0); - yMove.setThumb(2); - yMove.setPageIncrement(2); - yMove.setSelection(5); - yMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - yPos = yMove.getSelection() - 10; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Z:"); - final Slider zMove = new Slider(movementGroup, SWT.NONE); - zMove.setIncrement(1); - zMove.setMaximum(12); - zMove.setMinimum(0); - zMove.setThumb(2); - zMove.setPageIncrement(2); - zMove.setSelection(5); - zMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - zPos = zMove.getSelection() - 30; - } - }); - - Group rotationGroup = new Group(composite, SWT.NONE); - rotationGroup.setText("Rotation"); - rotationGroup.setLayout(new GridLayout(2, false)); - - new Label(rotationGroup, SWT.NONE).setText("X:"); - final Slider xRotation = new Slider(rotationGroup, SWT.NONE); - xRotation.setIncrement(10); - xRotation.setMaximum(362); - xRotation.setMinimum(0); - xRotation.setThumb(2); - xRotation.setPageIncrement(20); - xRotation.setSelection(330); - xRotation.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - xRot = xRotation.getSelection(); - } - }); - - new Label(rotationGroup, SWT.NONE).setText("Y:"); - final Slider yRotation = new Slider(rotationGroup, SWT.NONE); - yRotation.setIncrement(10); - yRotation.setMaximum(362); - yRotation.setMinimum(0); - yRotation.setThumb(2); - yRotation.setPageIncrement(20); - yRotation.setSelection(0); - yRotation.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - yRot = yRotation.getSelection(); - } - }); - - new Label(rotationGroup, SWT.NONE).setText("Z:"); - final Slider zRotation = new Slider(rotationGroup, SWT.NONE); - zRotation.setIncrement(10); - zRotation.setMaximum(362); - zRotation.setMinimum(0); - zRotation.setThumb(2); - zRotation.setPageIncrement(20); - zRotation.setSelection(0); - zRotation.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - zRot = zRotation.getSelection(); - } - }); - - new Label(composite, SWT.NONE).setText("Sampling Tolerance:"); - final Slider sSlider = new Slider(composite, SWT.NONE); - sSlider.setIncrement(1); - sSlider.setMaximum(101); - sSlider.setMinimum(0); - sSlider.setThumb(2); - sSlider.setPageIncrement(2); - sSlider.setSelection(75); - sSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - GLU.gluNurbsProperty( - nurb, - GLU.GLU_SAMPLING_TOLERANCE, - sSlider.getSelection() + 1); - } - }); - - final Button fillButton = new Button(composite, SWT.CHECK); - fillButton.setText("Fill"); - fillButton.setSelection(true); - fillButton.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - if (fillButton.getSelection()) { - GLU.gluNurbsProperty( - nurb, - GLU.GLU_DISPLAY_MODE, - GLU.GLU_FILL); - } else { - GLU.gluNurbsProperty( - nurb, - GLU.GLU_DISPLAY_MODE, - GLU.GLU_OUTLINE_POLYGON); - } - } - }); - - ColorSelectionGroup colorGroup = - new ColorSelectionGroup(composite, SWT.NONE); - colorGroup.setText("Foreground color"); - colorGroup.addColorSelectionListener(new IColorSelectionListener() { - public void handleColorSelection(RGB rgb) { - GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue); - } - }); - } - - /** - * @see OpenGLTab#dispose() - */ - void dispose() { - super.dispose(); - GLU.gluDeleteNurbsRenderer(nurb); - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Nurb"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - GL.glColor3f(1.0f, 0.0f, 0.0f); - // set up material color which helps show curves - float mat_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f }; - float mat_shininess[] = { 100.0f }; - GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SPECULAR, mat_specular); - GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SHININESS, mat_shininess); - GL.glColorMaterial(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE); - - GL.glEnable(GL.GL_LIGHTING); - GL.glEnable(GL.GL_LIGHT0); - GL.glEnable(GL.GL_COLOR_MATERIAL); - GL.glEnable(GL.GL_DEPTH_TEST); - GL.glEnable(GL.GL_AUTO_NORMAL); - GL.glEnable(GL.GL_NORMALIZE); - - nurb = GLU.gluNewNurbsRenderer(); - - GLU.gluNurbsProperty( - nurb, - GLU.GLU_SAMPLING_METHOD, - GLU.GLU_PATH_LENGTH); - // sampling tolerance is specific for GLU.GLU_PATH_LENGTH - GLU.gluNurbsProperty(nurb, GLU.GLU_SAMPLING_TOLERANCE, 75.0f); - GLU.gluNurbsProperty(nurb, GLU.GLU_DISPLAY_MODE, GLU.GLU_FILL); - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); - GL.glLoadIdentity(); - // do translation and rotation - GL.glTranslatef(xPos, yPos, zPos); - GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f); - GL.glRotatef(yRot, 0.0f, 1.0f, 0.0f); - GL.glRotatef(zRot, 0.0f, 0.0f, 1.0f); - // define nurbs surface - float[] knots = { 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f }; - GLU.gluBeginSurface(nurb); - GLU.gluNurbsSurface( - nurb, 8, knots, 8, knots, 12, 3, - convert(buildNurb()), 4, 4, GL.GL_MAP2_VERTEX_3); - GLU.gluEndSurface(nurb); - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ObjectsTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ObjectsTab.java deleted file mode 100644 index 3ef288e451..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ObjectsTab.java +++ /dev/null @@ -1,376 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class ObjectsTab extends OpenGLTab { - private class Shape { - private String name; - private int index; - /** - * Constructor. - * - * @param name the display name of this shape - * @param index the display list index corresponding to this shape - */ - Shape(String name, int index) { - super(); - this.index = index; - this.name = name; - } - void dispose() { - GL.glDeleteLists(index, 1); - } - void draw() { - GL.glCallList(index); - } - String getName() { - return name; - } - } - - private Shape[] shapes; - private Shape currentShape; - private float xRot = 0.0f, yRot = 0.0f; - private boolean fill = true; - private int quadratic; - private final static int SLEEP_LENGTH = 50; - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(final Composite composite) { - GridLayout layout = new GridLayout(2, false); - layout.marginWidth = 0; - Composite controls = new Composite(composite, SWT.NONE); - controls.setLayout(layout); - - new Label(controls, SWT.NONE).setText("Object:"); - final Combo objectsCombo = new Combo(controls, SWT.READ_ONLY); - for (int i = 0; i < shapes.length; i++) { - objectsCombo.add(shapes[i].getName()); - } - objectsCombo.select(0); - objectsCombo.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - currentShape = shapes[objectsCombo.getSelectionIndex()]; - } - }); - - final Button fillToggleButton = new Button(controls, SWT.CHECK); - fillToggleButton.setText("Fill"); - fillToggleButton.setSelection(true); - fillToggleButton.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - fill = fillToggleButton.getSelection(); - } - }); - - ColorSelectionGroup colorGroup = - new ColorSelectionGroup(composite, SWT.NONE); - colorGroup.setText("Foreground color"); - colorGroup.addColorSelectionListener(new IColorSelectionListener() { - public void handleColorSelection(RGB rgb) { - GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue); - } - }); - } - - /** - * @see OpenGLTab#dispose() - */ - void dispose() { - super.dispose(); - GLU.gluDeleteQuadric(quadratic); - for (int i = 0; i < shapes.length; i++) { - shapes [i].dispose(); - } - } - - /** - * Creates a circle centered at 0,0 in the viewport. - * - * @param radius - * @param xShrink - * @param yShrink - */ - void drawCircle(float radius, float xShrink, float yShrink) { - GL.glBegin(GL.GL_POLYGON); - float dia = (float) 2.0 * (float) Math.PI; - for (float angle = 0.0f; angle <= dia; angle += 0.1f) { - GL.glVertex2d(radius * Math.cos(angle), radius * Math.sin(angle)); - } - GL.glEnd(); - } - - /** - * Creates a cube centered at 0,0 in the viewport. - * - * @param width - * @param height - * @param depth - */ - void drawCube(float width, float height, float depth) { - GL.glBegin(GL.GL_QUADS); - // front - GL.glVertex3f(-width, -height, depth); // bottom left - GL.glVertex3f(width, -height, depth); // bottom right - GL.glVertex3f(width, height, depth); // top right - GL.glVertex3f(-width, height, depth); // top left - // back - GL.glVertex3f(-width, -height, -depth); // bottom left - GL.glVertex3f(width, -height, -depth); // bottom right - GL.glVertex3f(width, height, -depth); // top right - GL.glVertex3f(-width, height, -depth); // top left - // left - GL.glVertex3f(-width, -height, -depth); // bottom left - GL.glVertex3f(-width, -height, depth); // bottom right - GL.glVertex3f(-width, height, depth); // top right - GL.glVertex3f(-width, height, -depth); // top left - // right - GL.glVertex3f(width, -height, depth); // bottom left - GL.glVertex3f(width, -height, -depth); // bottom right - GL.glVertex3f(width, height, -depth); // top right - GL.glVertex3f(width, height, depth); // top left - // top - GL.glVertex3f(width, height, -depth); // back right - GL.glVertex3f(-width, height, -depth); // back left - GL.glVertex3f(-width, height, depth); // front left - GL.glVertex3f(width, height, depth); // front right - // bottom - GL.glVertex3f(width, -height, depth); // front right - GL.glVertex3f(-width, -height, depth); // front left - GL.glVertex3f(-width, -height, -depth); // back left - GL.glVertex3f(width, -height, -depth); // back right - GL.glEnd(); - } - - /** - * Creates a pyramid centered at 0,0 in the viewport. - * - * @param width - * @param height - * @param depth - */ - void drawPyramid(float width, float height, float depth) { - GL.glBegin(GL.GL_TRIANGLES); - // front - GL.glVertex3f(0.0f, height, 0.0f); // top - GL.glVertex3f(-width, -height, depth); // left - GL.glVertex3f(width, -height, depth); // right - // left - GL.glVertex3f(0.0f, height, 0.0f); // top - GL.glVertex3f(-width, -height, -depth); // left - GL.glVertex3f(-width, -height, depth); // right - // front - GL.glVertex3f(-width, -height, -depth); // left - GL.glVertex3f(0.0f, height, 0.0f); // top - GL.glVertex3f(width, -height, -depth); // right - // right - GL.glVertex3f(0.0f, height, 0.0f); // top - GL.glVertex3f(width, -height, depth); // left - GL.glVertex3f(width, -height, -depth); // right - GL.glEnd(); - GL.glBegin(GL.GL_QUADS); - // bottom - GL.glVertex3f(-width, -height, depth); // front left - GL.glVertex3f(-width, -height, -depth); // back left - GL.glVertex3f(width, -height, -depth); // back right - GL.glVertex3f(width, -height, depth); // front right - GL.glEnd(); - } - - /** - * Creates a square centered at 0,0 in the viewport. - * - * @param width - * @param height - */ - void drawSquare(float width, float height) { - GL.glBegin(GL.GL_QUADS); - GL.glVertex3f(-width, -height, 0.0f); // bottom left - GL.glVertex3f(width, -height, 0.0f); // bottom right - GL.glVertex3f(width, height, 0.0f); // top right - GL.glVertex3f(-width, height, 0.0f); // top left - GL.glEnd(); - } - - /** - * This method is from glut_shapes.c . - * - * @param r - * @param R - * @param nsides - * @param rings - */ - void drawTorus(float r, float R, int nsides, int rings) { - float ringDelta = 2.0f * (float) Math.PI / rings; - float sideDelta = 2.0f * (float) Math.PI / nsides; - float theta = 0.0f; - float cosTheta = 1.0f; - float sinTheta = 0.0f; - - for (int i = rings - 1; i >= 0; i--) { - float theta1 = theta + ringDelta; - float cosTheta1 = (float) Math.cos(theta1); - float sinTheta1 = (float) Math.sin(theta1); - GL.glBegin(GL.GL_QUAD_STRIP); - float phi = 0.0f; - - for (int j = nsides; j >= 0; j--) { - phi += sideDelta; - float cosPhi = (float) Math.cos(phi); - float sinPhi = (float) Math.sin(phi); - float dist = R + r * cosPhi; - GL.glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi); - GL.glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi); - GL.glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi); - GL.glVertex3f(cosTheta * dist, -sinTheta * dist, r * sinPhi); - } - - GL.glEnd(); - theta = theta1; - cosTheta = cosTheta1; - sinTheta = sinTheta1; - } - } - - /** - * Creates a triangle centered at 0,0 in the viewport. - * - * @param width - * @param height - */ - void drawTriangle(float width, float height) { - GL.glBegin(GL.GL_TRIANGLES); - GL.glVertex3f(0.0f, height, 0.0f); // middle - GL.glVertex3f(-width, -height, 0.0f); // left - GL.glVertex3f(width, -height, 0.0f); // right - GL.glEnd(); - } - - /** - * @see OpenGLTab#getSleepLength() - */ - int getSleepLength() { - return SLEEP_LENGTH; - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Objects"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - GL.glColor3f(1.0f, 0.0f, 0.0f); - GL.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST); - GL.glClearDepth(1.0); - quadratic = GLU.gluNewQuadric(); - GLU.gluQuadricNormals(quadratic, GLU.GLU_SMOOTH); - GL.glLineWidth(2); - - GL.glEnable(GL.GL_DEPTH_TEST); - - // create the display lists and shapes - shapes = new Shape[11]; - int index = 1; - - GL.glNewList(index, GL.GL_COMPILE); - drawTriangle(2.0f, 2.0f); - GL.glEndList(); - shapes[0] = new Shape("Triangle", index++); - - GL.glNewList(index, GL.GL_COMPILE); - drawPyramid(2.0f, 2.0f, 2.0f); - GL.glEndList(); - shapes[1] = new Shape("Pyramid", index++); - - GL.glNewList(index, GL.GL_COMPILE); - drawSquare(2.0f, 2.0f); - GL.glEndList(); - shapes[2] = new Shape("Square", index++); - - GL.glNewList(index, GL.GL_COMPILE); - drawCube(2.0f, 2.0f, 2.0f); - GL.glEndList(); - shapes[3] = new Shape("Cube", index++); - - GL.glNewList(index, GL.GL_COMPILE); - drawCircle(2.0f, 0.0f, 0.0f); - GL.glEndList(); - shapes[4] = new Shape("Circle", index++); - - GL.glNewList(index, GL.GL_COMPILE); - GLU.gluPartialDisk(quadratic, 0.5, 2.0, 18, 18, 90, 125); - GL.glEndList(); - shapes[5] = new Shape("Partial Disk", index++); - - GL.glNewList(index, GL.GL_COMPILE); - GLU.gluDisk(quadratic, 0.5, 2.0, 18, 18); - GL.glEndList(); - shapes[6] = new Shape("Disk", index++); - - GL.glNewList(index, GL.GL_COMPILE); - drawTorus(1, 2, 18, 18); - GL.glEndList(); - shapes[7] = new Shape("Torus", index++); - - GL.glNewList(index, GL.GL_COMPILE); - GLU.gluSphere(quadratic, 2.0, 18, 18); - GL.glEndList(); - shapes[8] = new Shape("Sphere", index++); - - GL.glNewList(index, GL.GL_COMPILE); - GLU.gluCylinder(quadratic, 2.0, 2.0, 4, 18, 18); - GL.glEndList(); - shapes[9] = new Shape("Cylinder", index++); - - GL.glNewList(index, GL.GL_COMPILE); - GLU.gluCylinder(quadratic, 0, 2.0, 4, 18, 18); - GL.glEndList(); - shapes[10] = new Shape("Cone", index++); - - currentShape = shapes[0]; - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); - GL.glLoadIdentity(); - GL.glTranslatef(0.0f, 0.0f, -14.0f); - // rotate around X and Y axis - GL.glRotatef(yRot, 0.0f, 1.0f, 0.0f); - GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f); - // sets polygon fill mode - if (fill) { - GL.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_FILL); - } else { - GL.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_LINE); - } - currentShape.draw(); - yRot += 1.5; - xRot += 1.5; - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLExample.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLExample.java deleted file mode 100644 index 9e7e10d53f..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLExample.java +++ /dev/null @@ -1,116 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.*; - -public class OpenGLExample { - private TabFolder tabFolder; - private OpenGLTab[] tabs; - private int sleep; - - /** - * Renders the scene of the current tab. - */ - void display() { - int index = tabFolder.getSelectionIndex(); - tabs[index].render(); - tabs[index].swap(); - } - - /** - * Disposes of all contained tabs. - */ - void dispose() { - tabFolder = null; - for (int i = 0; i < tabs.length; i++) { - tabs[i].dispose(); - } - } - - /** - * Runs the OpenGL example - */ - void run() { - final Display display = new Display(); - final Shell shell = - new Shell(display, SWT.SHELL_TRIM | SWT.NO_BACKGROUND); - shell.setLayout(new FillLayout()); - - tabFolder = new TabFolder(shell, SWT.NONE); - tabs = - new OpenGLTab[] { - new AntialiasingTab(), - new AreaTab(), - new BezierTab(), - new BitmapTextTab(), - new FogTab(), - new GradientTab(), - new LightTab(), - new NurbTab(), - new ObjectsTab(), - // outline tab is windows specific - new OutlineTextTab (), - new ReflectionTab(), - new StencilTab(), - new TextureTab(), - new TransparencyTab()}; - - for (int i = 0; i < tabs.length; i++) { - TabItem item = new TabItem(tabFolder, SWT.NONE); - item.setText(tabs[i].getTabText()); - item.setControl(tabs[i].createTabFolderPage(tabFolder)); - } - - tabFolder.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - OpenGLTab tab = tabs[tabFolder.getSelectionIndex()]; - tab.setCurrent(); - sleep = tab.getSleepLength(); - } - }); - if (tabs.length > 0) { - tabs[0].setCurrent(); - sleep = tabs[0].getSleepLength(); - } - - shell.setText("OpenGL Example"); - Runnable timer = new Runnable() { - public void run() { - if (shell.isDisposed()) return; - display(); - display.timerExec(sleep, this); - } - }; - timer.run(); - shell.addListener(SWT.Dispose, new Listener() { - public void handleEvent(Event e) { - dispose(); - } - }); - shell.open(); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) { - display.sleep(); - } - } - } - - /** - * Invokes as a standalone program. - */ - public static void main(String[] args) { - new OpenGLExample().run(); - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLTab.java deleted file mode 100644 index d8523b9e0c..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OpenGLTab.java +++ /dev/null @@ -1,243 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; - -/** - * <code>OpenGLTab</code> is the abstract superclass of every page - * in the example's tab folder. Each page in the tab folder - * displays a different example. - * - * An OpenGLTab itself is not a control but instead provides a hierarchy - * with which to share code that is common to every page in the folder. - */ -abstract class OpenGLTab { - private Canvas glCanvas; - private Composite tabFolderPage; - private GLContext context; - private boolean stencilSupport; - private final static int DEFAULT_SLEEP_LENGTH = 100; - - /** - * Creates this tab's controls. Subclasses must override. - * - * @param composite the parent composite - */ - abstract void createControls(Composite composite); - - /** - * Creates the OpenGL canvas on which all drawing is done. - */ - void createOpenGLContext() { - context = new GLContext(glCanvas); - setCurrent(); - setupViewingArea(); - } - - /** - * Creates the tab folder page. - * - * @param tabFolder the parent tab folder - * @return the new page - */ - Composite createTabFolderPage(TabFolder tabFolder) { - tabFolderPage = new Composite(tabFolder, SWT.NONE); - tabFolderPage.setLayout(new GridLayout(2, false)); - - GridData gridData = new GridData(); - gridData.heightHint = 400; - gridData.widthHint = 400; - gridData.verticalAlignment = GridData.BEGINNING; - glCanvas = new Canvas(tabFolderPage, SWT.NONE); - glCanvas.setLayout(new GridLayout()); - glCanvas.setLayoutData(gridData); - glCanvas.setSize(400, 400); // needed for windows - - gridData = new GridData(); - gridData.verticalAlignment = GridData.BEGINNING; - Composite controlComposite = new Composite(tabFolderPage, SWT.NONE); - controlComposite.setLayout(new GridLayout()); - controlComposite.setLayoutData(gridData); - - // create the OpenGL Screen and controls - createOpenGLContext(); - - // determine if native stencil support is available - int[] param = new int[1]; - GL.glGetIntegerv(GL.GL_STENCIL_BITS, param); - stencilSupport = param[0] != 0; - - init(); - - if (!isStencilSupportNeeded() || hasStencilSupport()) { - createControls(controlComposite); - } else { - Label label = new Label(controlComposite, SWT.NONE); - label.setText("This tab requires native stencil support."); - } - - return tabFolderPage; - } - - /** - * Disposes all resources allocated by this tab. - */ - void dispose() { - context.dispose(); - } - - /** - * Returns the context for this tab. - * - * @return GLContext - */ - GLContext getContext() { - return context; - } - - /** - * Returns the glCanvas for this tab. - * - * @return Canvas - */ - Canvas getGlCanvas() { - return glCanvas; - } - - /** - * Returns the length of time in milliseconds that the example - * should sleep between animation redraws. As this length - * increases, user responsiveness increases and the frequency of - * animation redraws decreases. Subclasses with moving animations - * may wish to override this default implementation to return a - * smaller value if their animations do not occur frequently enough. - * - * @return the length of time in milliseconds to sleep between redraws - */ - int getSleepLength() { - return DEFAULT_SLEEP_LENGTH; - } - - /** - * Returns the text for this tab. Subclasses must override. - * - * @return the text for the tab item - */ - abstract String getTabText(); - - /** - * Returns whether this machine has native stencils support. - * - * @return boolean - */ - boolean hasStencilSupport() { - return stencilSupport; - } - - /** - * Initialize OpenGL resources for this tab. Subclasses must override. - */ - abstract void init(); - - /** - * Loads a texture. - * - * @param context - * @param fileName - * @param index - * @param texture[] - */ - static void loadTexture(GLContext context, String fileName, int index, int[] texture) { - GL.glBindTexture(GL.GL_TEXTURE_2D, texture[index]); - ImageData source = - new ImageData(OpenGLTab.class.getResourceAsStream(fileName)); - Image image = new Image(Display.getCurrent(), source); - Image newImage = new Image(Display.getCurrent(), 256, 256); - GC gc = new GC(newImage); - gc.drawImage(image, 0, 0, source.width, source.height, 0, 0, 256, 256); - source = newImage.getImageData(); - gc.dispose(); - source = context.convertImageData(source); - newImage.dispose(); - image.dispose(); - GL.glTexImage2D( - GL.GL_TEXTURE_2D, 0, 3, - source.width, source.height, 0, - GL.GL_RGB, GL.GL_UNSIGNED_BYTE, source.data); - GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR); - GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR); - } - - /** - * Renders this tab. - */ - void render() { - if (!isStencilSupportNeeded() || hasStencilSupport()) { - renderScene(); - } else { - GL.glClear(GL.GL_COLOR_BUFFER_BIT); - } - } - - /** - * Renders the scene for this tab. Subclasses must override. - */ - abstract void renderScene(); - - /** - * Returns whether this tab requires stencil support in order to display - * properly. Subclasses may wish to override this method. - * - * @return boolean - */ - boolean isStencilSupportNeeded() { - return false; - } - - /** - * Sets this rendering context to be current. - */ - void setCurrent() { - context.setCurrent(); - } - - /** - * Sets up the viewing area for the OpenGL screen. The default - * behavior is to use a perspective view, but there also exist frustrum - * and ortho views. Subclasses may wish to override this method. - */ - void setupViewingArea() { - Rectangle rect = glCanvas.getClientArea(); - int width = rect.width; - int height = rect.height; - height = Math.max(height, 1); - GL.glViewport(0, 0, width, height); - GL.glMatrixMode(GL.GL_PROJECTION); // select the projection matrix - GL.glLoadIdentity(); // reset the projection matrix - float fAspect = (float) width / (float) height; - GLU.gluPerspective(45.0f, fAspect, 0.5f, 400.0f); - GL.glMatrixMode(GL.GL_MODELVIEW); // select the modelview matrix - GL.glLoadIdentity(); - } - - /** - * Swaps the buffers. - */ - void swap() { - context.swapBuffers(); - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OutlineTextTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OutlineTextTab.java deleted file mode 100644 index 0742f0056d..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/OutlineTextTab.java +++ /dev/null @@ -1,251 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class OutlineTextTab extends OpenGLTab { - private Text messageText; - private FontData fontData; - private float[] textColor = { 1.0f, 0.0f, 0.0f }; - private boolean fill = true; - private float extrude = 0.0f; - private float xPos = 0.0f, yPos = 0.0f, zPos = -10.0f; - private float xRot = 0.0f; - private int listIndexBase; - private final static int LIST_INDEX_SIZE = 256; - private final static int DEFAULT_FONT_SIZE = 24; - private final static String DEFAULT_FONT_NAME = "Arial"; - private final static int SLEEP_LENGTH = 50; - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(final Composite composite) { - if (!SWT.getPlatform().startsWith("win32")) { - new Label(composite, SWT.NONE).setText("This tab requires win32."); - return; - } - - Group movementGroup = new Group(composite, SWT.NONE); - movementGroup.setText("Translation"); - movementGroup.setLayout(new GridLayout(2, false)); - - new Label(movementGroup, SWT.NONE).setText("X:"); - final Slider xMove = new Slider(movementGroup, SWT.NONE); - xMove.setIncrement(1); - xMove.setMaximum(22); - xMove.setMinimum(0); - xMove.setThumb(2); - xMove.setPageIncrement(2); - xMove.setSelection(10); - xMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - xPos = xMove.getSelection() - 10; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Y:"); - final Slider yMove = new Slider(movementGroup, SWT.NONE); - yMove.setIncrement(1); - yMove.setMaximum(22); - yMove.setMinimum(0); - yMove.setThumb(2); - yMove.setPageIncrement(2); - yMove.setSelection(10); - yMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - yPos = yMove.getSelection() - 10; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Z:"); - final Slider zMove = new Slider(movementGroup, SWT.NONE); - zMove.setIncrement(1); - zMove.setMaximum(22); - zMove.setMinimum(0); - zMove.setThumb(2); - zMove.setPageIncrement(2); - zMove.setSelection(10); - zMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - zPos = zMove.getSelection() - 20; - } - }); - - Composite textGroup = new Composite(composite,SWT.NONE); - GridLayout layout = new GridLayout(2,false); - layout.marginHeight = 0; - layout.marginWidth = 0; - textGroup.setLayout(layout); - textGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); - - new Label(textGroup, SWT.NONE).setText("Text:"); - messageText = new Text(textGroup, SWT.BORDER); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.grabExcessHorizontalSpace = true; - messageText.setLayoutData(data); - messageText.setText("OpenGL - SWT"); - - new Label(composite, SWT.NONE).setText("Extrude:"); - final Slider extrudeSlider = new Slider(composite, SWT.NONE); - extrudeSlider.setIncrement(1); - extrudeSlider.setMaximum(22); - extrudeSlider.setMinimum(0); - extrudeSlider.setThumb(2); - extrudeSlider.setPageIncrement(2); - extrudeSlider.setSelection(0); - extrudeSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - extrude = (float) extrudeSlider.getSelection() / 10; - getContext().loadOutlineFont( - fontData, extrudeSlider.getDisplay(), - listIndexBase, 0, 255, 0.0f, extrude, - fill ? GL.GL_POLYGON : GL.GL_LINE, - null); - } - }); - - final Button fontSelectButton = new Button(composite, SWT.NONE); - fontSelectButton.setText("Set Font"); - final ColorSelectionGroup colorGroup = - new ColorSelectionGroup(composite, SWT.NONE); - colorGroup.setText("Text color"); - colorGroup.addColorSelectionListener(new IColorSelectionListener() { - public void handleColorSelection(RGB rgb) { - GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue); - } - }); - - fontSelectButton.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - FontDialog fontDialog = new FontDialog(fontSelectButton.getShell()); - fontDialog.setText("Choose Font Options"); - double[] currentColor = new double[4]; - GL.glGetDoublev(GL.GL_CURRENT_COLOR, currentColor); - fontDialog.setRGB( - new RGB( - (int) currentColor[0] * 255, - (int) currentColor[1] * 255, - (int) currentColor[2] * 255)); - fontDialog.setFontData(fontData); - FontData result = fontDialog.open(); - if (result != null) { - fontData = result; - RGB rgb = fontDialog.getRGB(); - GL.glColor3ub((byte) rgb.red, (byte) rgb.green, (byte) rgb.blue); - colorGroup.setRGB(rgb); - getContext().loadOutlineFont( - fontData, fontSelectButton.getDisplay(), - listIndexBase, 0, 255, 0.0f, extrude, - fill ? GL.GL_POLYGON : GL.GL_LINE, - null); - } - } - }); - - final Button fillButton = new Button(composite, SWT.CHECK); - fillButton.setText("Fill"); - fillButton.setSelection(true); - fillButton.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - fill = fillButton.getSelection(); - getContext().loadOutlineFont( - fontData, fillButton.getDisplay(), - listIndexBase, 0, 255, 0.0f, extrude, - fill ? GL.GL_POLYGON : GL.GL_LINE, - null); - } - }); - } - - /** - * @see OpenGLTab#dispose() - */ - void dispose() { - super.dispose(); - GL.glDeleteLists(listIndexBase, LIST_INDEX_SIZE); - } - - /** - * Draws the text to the screen - * - * @param string the text to draw - */ - void drawText(String string) { - char[] stringChars = string.toCharArray(); - int[] text = new int[stringChars.length]; - for (int i = 0; i < text.length; i++) { - text[i] = (int) stringChars[i]; - } - GL.glPushAttrib(GL.GL_LIST_BIT); - GL.glListBase(listIndexBase); - GL.glCallLists(text.length, GL.GL_UNSIGNED_INT, text); - GL.glPopAttrib(); - } - - /** - * @see OpenGLTab#getSleepLength() - */ - int getSleepLength() { - return SLEEP_LENGTH; - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Outline Text"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - GL.glColor3fv(textColor); - GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - GL.glEnable(GL.GL_DEPTH_TEST); - GL.glEnable(GL.GL_BLEND); - // build the initial font - listIndexBase = GL.glGenLists(LIST_INDEX_SIZE); - fontData = new FontData(); - fontData.setHeight(DEFAULT_FONT_SIZE); - fontData.setName(DEFAULT_FONT_NAME); - getContext().loadOutlineFont( - fontData, getGlCanvas().getDisplay(), - listIndexBase, 0, 255, 0f, extrude, - fill ? GL.GL_POLYGON : GL.GL_LINE, - null); - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); - GL.glLoadIdentity(); - GL.glTranslatef(xPos, yPos, zPos); - GL.glRotatef(xRot, 1.0f, 0.0f, 0.0f); // rotate on X axis - // use GL.glScalef to change size since outline fonts - // don't support size - float size = (float) fontData.getHeight() / 24; - GL.glScalef(size, size, 1.0f); - // draw the text, assuming that we're running on win32 - if (messageText != null) drawText(messageText.getText()); - xRot += 1.2f; - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ReflectionTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ReflectionTab.java deleted file mode 100644 index 883bda00f6..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ReflectionTab.java +++ /dev/null @@ -1,556 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class ReflectionTab extends OpenGLTab { - private float ballY = 0.0f; - private float ballZ = 1.6666666f; - private float ballX = 0.0f; - private float ballRot = 0.0f; - private float cubeX = 2.5f; - private float cubeY = -2.0f; - private float cubeZ = 2.0f; - private float xPos = 0.0f; - private float yPos = 0.0f; - private float zPos = 22.0f; - private float ballRotSpeed = 0.0f; - private int quadratic; - private int[] textures = new int[3]; - private final static int - LIST_INDEX_BALL = 1,LIST_INDEX_BOX = 2, - LIST_INDEX_MIRROR = 3, LIST_INDEX_ROOM = 4; - private final static int - TEXTURE_INDEX_BALL = 0, TEXTURE_INDEX_FLOOR = 1, - TEXTURE_INDEX_BOX = 2; - private final static String[] IMAGES = { - "images/Ball.jpg", "images/Floor.jpg", "images/Box.bmp" }; - private final static int SLEEP_LENGTH = 50; - - /** - * Draws the ball - */ - void createBall() { - GL.glNewList(LIST_INDEX_BALL, GL.GL_COMPILE); - GL.glColor3f(1.0f, 1.0f, 1.0f); - GL.glBindTexture(GL.GL_TEXTURE_2D, textures[TEXTURE_INDEX_BALL]); - GLU.gluSphere(quadratic, 0.35f, 32, 16); - GL.glDisable(GL.GL_BLEND); - GL.glEndList(); - } - - /** - * Draws the box - */ - void createBox() { - float size = 1.0f; - GL.glNewList(LIST_INDEX_BOX, GL.GL_COMPILE); - GL.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - GL.glBindTexture(GL.GL_TEXTURE_2D, textures[TEXTURE_INDEX_BOX]); - GL.glBegin(GL.GL_QUADS); - // front - GL.glNormal3f(0.0f, 0.0f, 1.0f); - GL.glTexCoord2f(0.0f, 0.0f); - GL.glVertex3f(-size, -size, size); - GL.glTexCoord2f(1.0f, 0.0f); - GL.glVertex3f(size, -size, size); - GL.glTexCoord2f(1.0f, 1.0f); - GL.glVertex3f(size, size, size); - GL.glTexCoord2f(0.0f, 1.0f); - GL.glVertex3f(-size, size, size); - // back - GL.glNormal3f(0.0f, 0.0f, -1.0f); - GL.glTexCoord2f(0.0f, 0.0f); - GL.glVertex3f(-size, -size, -size); - GL.glTexCoord2f(1.0f, 0.0f); - GL.glVertex3f(size, -size, -size); - GL.glTexCoord2f(1.0f, 1.0f); - GL.glVertex3f(size, size, -size); - GL.glTexCoord2f(0.0f, 1.0f); - GL.glVertex3f(-size, size, -size); - // left - GL.glNormal3f(-1.0f, 0.0f, 0.0f); - GL.glTexCoord2f(0.0f, 0.0f); - GL.glVertex3f(-size, -size, -size); - GL.glTexCoord2f(1.0f, 0.0f); - GL.glVertex3f(-size, -size, size); - GL.glTexCoord2f(1.0f, 1.0f); - GL.glVertex3f(-size, size, size); - GL.glTexCoord2f(0.0f, 1.0f); - GL.glVertex3f(-size, size, -size); - // right - GL.glNormal3f(1.0f, 0.0f, 0.0f); - GL.glTexCoord2f(0.0f, 0.0f); - GL.glVertex3f(size, -size, -size); - GL.glTexCoord2f(1.0f, 0.0f); - GL.glVertex3f(size, -size, size); - GL.glTexCoord2f(1.0f, 1.0f); - GL.glVertex3f(size, size, size); - GL.glTexCoord2f(0.0f, 1.0f); - GL.glVertex3f(size, size, -size); - // top - GL.glNormal3f(0.0f, 1.0f, 0.0f); - GL.glTexCoord2f(0.0f, 0.0f); - GL.glVertex3f(size, size, -size); - GL.glTexCoord2f(1.0f, 0.0f); - GL.glVertex3f(-size, size, -size); - GL.glTexCoord2f(1.0f, 1.0f); - GL.glVertex3f(-size, size, size); - GL.glTexCoord2f(0.0f, 1.0f); - GL.glVertex3f(size, size, size); - // bottom - GL.glNormal3f(0.0f, -1.0f, 0.0f); - GL.glTexCoord2f(0.0f, 0.0f); - GL.glVertex3f(size, -size, -size); - GL.glTexCoord2f(1.0f, 0.0f); - GL.glVertex3f(-size, -size, -size); - GL.glTexCoord2f(1.0f, 1.0f); - GL.glVertex3f(-size, -size, size); - GL.glTexCoord2f(0.0f, 1.0f); - GL.glVertex3f(size, -size, size); - GL.glEnd(); - GL.glEndList(); - } - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(Composite composite) { - Group ballTranslation = new Group(composite, SWT.NONE); - ballTranslation.setLayout(new GridLayout(2, false)); - ballTranslation.setText("Ball Translation"); - - new Label(ballTranslation, SWT.NONE).setText("X:"); - final Slider ballXPosSlider = new Slider(ballTranslation, SWT.NONE); - ballXPosSlider.setIncrement(1); - ballXPosSlider.setMaximum(38); - ballXPosSlider.setMinimum(0); - ballXPosSlider.setThumb(2); - ballXPosSlider.setPageIncrement(2); - ballXPosSlider.setSelection(18); - ballXPosSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - ballX = (float) (ballXPosSlider.getSelection() - 18) / 5; - } - }); - - new Label(ballTranslation, SWT.NONE).setText("Y:"); - final Slider ballYPosSlider = new Slider(ballTranslation, SWT.NONE); - ballYPosSlider.setIncrement(1); - ballYPosSlider.setMaximum(38); - ballYPosSlider.setMinimum(0); - ballYPosSlider.setThumb(2); - ballYPosSlider.setPageIncrement(2); - ballYPosSlider.setSelection(18); - ballYPosSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - ballY = (float) (ballYPosSlider.getSelection() - 18) / 5; - } - }); - - new Label(ballTranslation, SWT.NONE).setText("Z:"); - final Slider ballZPosSlider = new Slider(ballTranslation, SWT.NONE); - ballZPosSlider.setIncrement(1); - ballZPosSlider.setMaximum(24); - ballZPosSlider.setMinimum(0); - ballZPosSlider.setThumb(1); - ballZPosSlider.setPageIncrement(2); - ballZPosSlider.setSelection(4); - ballZPosSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - ballZ = (float) (ballZPosSlider.getSelection() + 1) / 3; - } - }); - - Group cubeTranslation = new Group(composite, SWT.NONE); - cubeTranslation.setLayout(new GridLayout(2, false)); - cubeTranslation.setText("Cube Translation"); - - new Label(cubeTranslation, SWT.NONE).setText("X:"); - final Slider cubeXPosSlider = new Slider(cubeTranslation, SWT.NONE); - cubeXPosSlider.setIncrement(1); - cubeXPosSlider.setMaximum(14); - cubeXPosSlider.setMinimum(0); - cubeXPosSlider.setThumb(2); - cubeXPosSlider.setPageIncrement(2); - cubeXPosSlider.setSelection(11); - cubeXPosSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - cubeX = (float) (cubeXPosSlider.getSelection() - 6) / 2; - } - }); - - new Label(cubeTranslation, SWT.NONE).setText("Y:"); - final Slider cubeYPosSlider = new Slider(cubeTranslation, SWT.NONE); - cubeYPosSlider.setIncrement(1); - cubeYPosSlider.setMaximum(14); - cubeYPosSlider.setMinimum(0); - cubeYPosSlider.setThumb(2); - cubeYPosSlider.setPageIncrement(2); - cubeYPosSlider.setSelection(2); - cubeYPosSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - cubeY = (float) (cubeYPosSlider.getSelection() - 6) / 2; - } - }); - - new Label(cubeTranslation, SWT.NONE).setText("Z:"); - final Slider cubeZPosSlider = new Slider(cubeTranslation, SWT.NONE); - cubeZPosSlider.setIncrement(1); - cubeZPosSlider.setMaximum(10); - cubeZPosSlider.setMinimum(1); - cubeZPosSlider.setThumb(1); - cubeZPosSlider.setPageIncrement(2); - cubeZPosSlider.setSelection(2); - cubeZPosSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - cubeZ = (float) (cubeZPosSlider.getSelection() + 2) / 2; - } - }); - - Group movementGroup = new Group(composite, SWT.NONE); - movementGroup.setLayout(new GridLayout(2, false)); - movementGroup.setText("Room Rotation"); - - new Label(movementGroup, SWT.NONE).setText("X:"); - final Slider screenXPosSlider = new Slider(movementGroup, SWT.NONE); - screenXPosSlider.setIncrement(1); - screenXPosSlider.setMaximum(42); - screenXPosSlider.setMinimum(0); - screenXPosSlider.setThumb(2); - screenXPosSlider.setPageIncrement(2); - screenXPosSlider.setSelection(20); - screenXPosSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - xPos = screenXPosSlider.getSelection() - 20; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Y:"); - final Slider screenYPosSlider = new Slider(movementGroup, SWT.NONE); - screenYPosSlider.setIncrement(1); - screenYPosSlider.setMaximum(42); - screenYPosSlider.setMinimum(0); - screenYPosSlider.setThumb(2); - screenYPosSlider.setPageIncrement(2); - screenYPosSlider.setSelection(20); - screenYPosSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - yPos = screenYPosSlider.getSelection() - 20; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Z:"); - final Slider screenZPosSlider = new Slider(movementGroup, SWT.NONE); - screenZPosSlider.setIncrement(1); - screenZPosSlider.setMaximum(42); - screenZPosSlider.setMinimum(0); - screenZPosSlider.setThumb(2); - screenZPosSlider.setPageIncrement(2); - screenZPosSlider.setSelection(20); - screenZPosSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - zPos = screenZPosSlider.getSelection() + 2; - } - }); - - new Label(composite, SWT.NONE).setText("Ball Rotation Speed:"); - final Slider ballRotSlider = new Slider(composite, SWT.NONE); - ballRotSlider.setIncrement(1); - ballRotSlider.setMaximum(22); - ballRotSlider.setMinimum(0); - ballRotSlider.setThumb(2); - ballRotSlider.setPageIncrement(2); - ballRotSlider.setSelection(0); - ballRotSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - ballRotSpeed = ballRotSlider.getSelection(); - } - }); - } - - /** - * Draws the mirror - */ - void createMirror() { - GL.glNewList(LIST_INDEX_MIRROR, GL.GL_COMPILE); - GL.glDisable(GL.GL_TEXTURE_2D); - GL.glColor4f(1.0f, 1.0f, 1.0f, 0.4f); - GL.glNormal3f(0.0f, 0.0f, 1.0f); - GL.glBegin(GL.GL_QUADS); - GL.glTexCoord2f(0.0f, 0.0f); - GL.glVertex3f(-2.0f, 2.0f, 0.0f); - GL.glTexCoord2f(1.0f, 0.0f); - GL.glVertex3f(-2.0f, -2.0f, 0.0f); - GL.glTexCoord2f(1.0f, 1.0f); - GL.glVertex3f(2.0f, -2.0f, 0.0f); - GL.glTexCoord2f(0.0f, 1.0f); - GL.glVertex3f(2.0f, 2.0f, 0.0f); - GL.glEnd(); - GL.glEnable(GL.GL_TEXTURE_2D); - GL.glEndList(); - } - - /** - * Draws the room - */ - void createRoom() { - GL.glNewList(LIST_INDEX_ROOM, GL.GL_COMPILE); - GL.glDisable(GL.GL_TEXTURE_2D); - GL.glBegin(GL.GL_QUADS); - // left wall - GL.glNormal3f(1.0f, 0.0f, 0.0f); - GL.glVertex3f(-4.0f, 4.0f, 0.0f); - GL.glVertex3f(-4.0f, 4.0f, 6.0f); - GL.glVertex3f(-4.0f, -4.0f, 6.0f); - GL.glVertex3f(-4.0f, -4.0f, 0.0f); - // right wall - GL.glNormal3f(-1.0f, 0.0f, 01.0f); - GL.glVertex3f(4.0f, 4.0f, 0.0f); - GL.glVertex3f(4.0f, 4.0f, 6.0f); - GL.glVertex3f(4.0f, -4.0f, 6.0f); - GL.glVertex3f(4.0f, -4.0f, 0.0f); - // ceiling - GL.glNormal3f(0.0f, -1.0f, 0.0f); - GL.glColor3f(0.9f, 0.9f, 0.9f); - GL.glVertex3f(-4.0f, 4.0f, 0.0f); - GL.glVertex3f(-4.0f, 4.0f, 6.0f); - GL.glVertex3f(4.0f, 4.0f, 6.0f); - GL.glVertex3f(4.0f, 4.0f, 0.0f); - GL.glEnd(); - // back wall with triangle strip to illiminate t-intersections - GL.glBegin(GL.GL_TRIANGLE_STRIP); - GL.glNormal3f(0.0f, 0.0f, 1.0f); - GL.glVertex3d(-4.0, -4.0, 0.0); - GL.glVertex3d(-2.2, -4.0, 0.0); - GL.glVertex3d(-2.2, -2.2, 0.0); - GL.glVertex3d(2.2, -4.0, 0.0); - GL.glVertex3d(2.2, -2.2, 0.0); - GL.glVertex3d(4.0, -4.0, 0.0); - GL.glVertex3d(2.2, -2.2, 0.0); - GL.glVertex3d(4.0, -2.2, 0.0); - GL.glVertex3d(2.2, 2.2, 0.0); - GL.glVertex3d(4.0, 2.2, 0.0); - GL.glVertex3d(2.2, 2.2, 0.0); - GL.glVertex3d(4.0, 4.0, 0.0); - GL.glVertex3d(2.2, 2.2, 0.0); - GL.glVertex3d(2.2, 4.0, 0.0); - GL.glVertex3d(-2.2, 2.2, 0.0); - GL.glVertex3d(-2.2, 4.0, 0.0); - GL.glVertex3d(-4.0, 4.0, 0.0); - GL.glVertex3d(-2.2, 2.2, 0.0); - GL.glVertex3d(-4.0, 2.2, 0.0); - GL.glVertex3d(-2.2, -2.2, 0.0); - GL.glVertex3d(-4.0, -2.2, 0.0); - GL.glVertex3d(-4.0, -4.0, 0.0); - GL.glEnd(); - GL.glEnable(GL.GL_TEXTURE_2D); - // draw floor - GL.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - GL.glBindTexture(GL.GL_TEXTURE_2D, textures[TEXTURE_INDEX_FLOOR]); - GL.glNormal3f(0.0f, 1.0f, 0.0f); - GL.glBegin(GL.GL_QUADS); - // floor - GL.glTexCoord2f(0.0f, 0.0f); - GL.glVertex3f(-4.0f, -4.0f, 6.0f); - GL.glTexCoord2f(1.0f, 0.0f); - GL.glVertex3f(-4.0f, -4.0f, 0.0f); - GL.glTexCoord2f(1.0f, 1.0f); - GL.glVertex3f(4.0f, -4.0f, 0.0f); - GL.glTexCoord2f(0.0f, 1.0f); - GL.glVertex3f(4.0f, -4.0f, 6.0f); - GL.glEnd(); - // draw mirror frame - GL.glBindTexture(GL.GL_TEXTURE_2D, textures[TEXTURE_INDEX_BOX]); - GL.glNormal3f(0.0f, 0.0f, 1.0f); - GL.glBegin(GL.GL_QUADS); - // top - GL.glTexCoord2f(0.0f, 0.0f); - GL.glVertex3f(-2.2f, 2.0f, 0.0f); - GL.glTexCoord2f(1.0f, 0.0f); - GL.glVertex3f(2.2f, 2.0f, 0.0f); - GL.glTexCoord2f(1.0f, 1.0f); - GL.glVertex3f(2.2f, 2.2f, 0.0f); - GL.glTexCoord2f(0.0f, 1.0f); - GL.glVertex3f(-2.2f, 2.2f, 0.0f); - // right - GL.glTexCoord2f(0.0f, 0.0f); - GL.glVertex3f(2.0f, 2.0f, 0.0f); - GL.glTexCoord2f(1.0f, 0.0f); - GL.glVertex3f(2.0f, -2.0f, 0.0f); - GL.glTexCoord2f(1.0f, 1.0f); - GL.glVertex3f(2.2f, -2.0f, 0.0f); - GL.glTexCoord2f(0.0f, 1.0f); - GL.glVertex3f(2.2f, 2.0f, 0.0f); - // bottom - GL.glTexCoord2f(0.0f, 0.0f); - GL.glVertex3f(-2.2f, -2.0f, 0.0f); - GL.glTexCoord2f(1.0f, 0.0f); - GL.glVertex3f(2.2f, -2.0f, 0.0f); - GL.glTexCoord2f(1.0f, 1.0f); - GL.glVertex3f(2.2f, -2.2f, 0.0f); - GL.glTexCoord2f(0.0f, 1.0f); - GL.glVertex3f(-2.2f, -2.2f, 0.0f); - // left - GL.glTexCoord2f(0.0f, 0.0f); - GL.glVertex3f(-2.0f, 2.0f, 0.0f); - GL.glTexCoord2f(1.0f, 0.0f); - GL.glVertex3f(-2.0f, -2.0f, 0.0f); - GL.glTexCoord2f(1.0f, 1.0f); - GL.glVertex3f(-2.2f, -2.0f, 0.0f); - GL.glTexCoord2f(0.0f, 1.0f); - GL.glVertex3f(-2.2f, 2.0f, 0.0f); - GL.glEnd(); - GL.glEndList(); - } - - /** - * @see OpenGLTab#dispose() - */ - void dispose() { - super.dispose(); - GLU.gluDeleteQuadric(quadratic); - GL.glDeleteLists(LIST_INDEX_BALL, 1); - GL.glDeleteLists(LIST_INDEX_BOX, 1); - GL.glDeleteLists(LIST_INDEX_MIRROR, 1); - GL.glDeleteLists(LIST_INDEX_ROOM, 1); - } - - /** - * @see OpenGLTab#getSleepLength() - */ - int getSleepLength() { - return SLEEP_LENGTH; - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Reflection"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - if (!hasStencilSupport()) return; - - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - GL.glClearDepth(1.0f); - GL.glClearStencil(0); - GL.glGenTextures(IMAGES.length, textures); - for (int i = 0; i < IMAGES.length; i++) { - loadTexture(getContext(), IMAGES[i], i, textures); - } - - GL.glShadeModel(GL.GL_SMOOTH); - quadratic = GLU.gluNewQuadric(); - GLU.gluQuadricNormals(quadratic, GL.GL_SMOOTH); - GLU.gluQuadricTexture(quadratic, true); - GL.glDepthFunc(GL.GL_LEQUAL); - GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - GL.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST); - - // set up the lights - float[] LightAmb = { 0.7f, 0.7f, 0.7f, 1.0f }; - float[] LightDif = { 1.0f, 1.0f, 1.0f, 1.0f }; - float[] lightsAmbient = { 0.5f, 0.5f, 0.5f, 1.0f }; - GL.glLightModelfv(GL.GL_LIGHT_MODEL_AMBIENT, lightsAmbient); - GL.glLightfv(GL.GL_LIGHT0, GL.GL_AMBIENT, LightAmb); - GL.glLightfv(GL.GL_LIGHT0, GL.GL_DIFFUSE, LightDif); - - GL.glEnable(GL.GL_LIGHT0); - GL.glEnable(GL.GL_LIGHTING); - GL.glEnable(GL.GL_LINE_SMOOTH); - GL.glEnable(GL.GL_DEPTH_TEST); - GL.glEnable(GL.GL_TEXTURE_2D); - GL.glEnable(GL.GL_BLEND); - - createRoom(); - createBall(); - createBox(); - createMirror(); - } - - /** - * @see OpenGLTab#isStencilSupportNeeded - */ - boolean isStencilSupportNeeded() { - return true; - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - GL.glClear( - GL.GL_COLOR_BUFFER_BIT - | GL.GL_DEPTH_BUFFER_BIT - | GL.GL_STENCIL_BUFFER_BIT); - - GL.glLoadIdentity(); - GLU.gluLookAt(xPos, yPos, zPos, 0, 0, 0, 0, 1, 0); - // clip plane equation - double clipEquation[] = { 0.0f, 0.0f, -1.0f, 0.0f }; - float[] LightPos = { 0.0f, 2.0f, 7.0f, 1.0f }; - GL.glColorMask(false, false, false, false); - // enable stencil buffer for "marking" the mirror - GL.glEnable(GL.GL_STENCIL_TEST); - // set the stencil buffer to 1 where a polygon is drawn - GL.glStencilFunc(GL.GL_ALWAYS, 1, 1); - GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_REPLACE); - GL.glDisable(GL.GL_DEPTH_TEST); - GL.glCallList(LIST_INDEX_MIRROR); - GL.glEnable(GL.GL_DEPTH_TEST); - GL.glColorMask(true, true, true, true); - GL.glStencilFunc(GL.GL_EQUAL, 1, 1); - // draw where the stencil is 1 - GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_KEEP); - GL.glEnable(GL.GL_CLIP_PLANE0); - GL.glClipPlane(GL.GL_CLIP_PLANE0, clipEquation); - GL.glPushMatrix(); - GL.glScalef(1.0f, 1.0f, -1.0f); - GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, LightPos); - GL.glCallList(LIST_INDEX_ROOM); // reflection - GL.glPushMatrix(); - GL.glTranslatef(cubeX, cubeY, cubeZ); - GL.glCallList(LIST_INDEX_BOX); // reflection - GL.glPopMatrix(); - GL.glTranslatef(ballX, ballY, ballZ); - GL.glRotatef(ballRot, 1.0f, 0.0f, 0.0f); - GL.glCallList(LIST_INDEX_BALL); // reflection - GL.glPopMatrix(); - GL.glDisable(GL.GL_CLIP_PLANE0); - GL.glDisable(GL.GL_STENCIL_TEST); - GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, LightPos); - GL.glEnable(GL.GL_BLEND); - GL.glDisable(GL.GL_LIGHTING); - GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - GL.glCallList(LIST_INDEX_MIRROR); - GL.glEnable(GL.GL_LIGHTING); - GL.glDisable(GL.GL_BLEND); - GL.glCallList(LIST_INDEX_ROOM); - GL.glPushMatrix(); - GL.glTranslatef(cubeX, cubeY, cubeZ); - GL.glCallList(LIST_INDEX_BOX); - GL.glPopMatrix(); - GL.glTranslatef(ballX, ballY, ballZ); - GL.glRotatef(ballRot, 1.0f, 0.0f, 0.0f); - GL.glCallList(LIST_INDEX_BALL); - ballRot += ballRotSpeed; - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/SelectionTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/SelectionTab.java deleted file mode 100644 index e4c8fa8859..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/SelectionTab.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.opengl.*; - -abstract class SelectionTab extends OpenGLTab { - private final static int BUFFER_LENGTH = 64; - - /** - * Sets the selected object. Subclasses must override this method. - */ - abstract void processPick(int[] pSelectBuff, int hits); - - /** - * Invoke processPick for the object at the specified coordinate. - */ - int processSelection(int xPos, int yPos, int pointSize) { - int[] selectBuffer = new int[BUFFER_LENGTH]; - int[] viewport = new int[4]; - // new fix for sun jre - int ptr = getContext().getSelectBufferPtr(selectBuffer); - - GL.glSelectBuffer(BUFFER_LENGTH, ptr); - GL.glGetIntegerv(GL.GL_VIEWPORT, viewport); - GL.glRenderMode(GL.GL_SELECT); - GL.glMatrixMode(GL.GL_PROJECTION); - GL.glPushMatrix(); - GL.glLoadIdentity(); - GLU.gluPickMatrix(xPos, yPos, pointSize, pointSize, viewport); - Rectangle rect = getGlCanvas().getClientArea(); - float fAspect = (float) rect.width / (float) rect.height; - GLU.gluPerspective(45.0f, fAspect, 0.5f, 600.0f); - GL.glMatrixMode(GL.GL_MODELVIEW); - GL.glInitNames(); - render(); - int hits = GL.glRenderMode(GL.GL_RENDER); - // new fix for sun jre - // must be called after render mode is switched - getContext().getSelectBuffer(ptr, selectBuffer); - if (hits != 0) processPick(selectBuffer, hits); - GL.glMatrixMode(GL.GL_PROJECTION); - GL.glPopMatrix(); - GL.glMatrixMode(GL.GL_MODELVIEW); - return hits; - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/StencilTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/StencilTab.java deleted file mode 100644 index be5f4a4063..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/StencilTab.java +++ /dev/null @@ -1,230 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class StencilTab extends OpenGLTab { - private abstract class Shape { - private String name; - /** - * Constructor - * - * @param name the shape's name - */ - Shape(String name) { - super(); - this.name = name; - } - /** - * Draws this shape. - */ - abstract void draw(); - /** - * Returns the name. - * - * @return String - */ - String getName() { - return name; - } - } - - private Shape[] shapes = new Shape[5]; - private Shape currentShape; - private float xPos = 0, yPos = 0; - private float size = 0.45f; - private int texture; - private int quadratic; - private final static String IMAGE = "images/splash.bmp"; - private final static int SLEEP_LENGTH = 50; - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(Composite composite) { - Composite controls = new Composite(composite, SWT.NONE); - GridLayout layout = new GridLayout(2, false); - layout.marginHeight = 0; - layout.marginWidth = 0; - controls.setLayout(layout); - new Label(controls, SWT.NONE).setText("Object:"); - final Combo shapeCombo = new Combo(controls, SWT.READ_ONLY); - for (int i = 0; i < shapes.length; i++) { - shapeCombo.add(shapes[i].getName()); - } - shapeCombo.select(0); - shapeCombo.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - currentShape = shapes[shapeCombo.getSelectionIndex()]; - } - }); - - new Label(composite, SWT.NONE).setText("Size:"); - final Slider sizeSlider = new Slider(composite, SWT.HORIZONTAL); - sizeSlider.setValues(0, 15, 75, 5, 5, 10); - sizeSlider.setSelection(45); - sizeSlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - size = ((float) sizeSlider.getSelection()) / 100; - } - }); - } - - /** - * @see OpenGLTab#dispose() - */ - void dispose() { - super.dispose(); - GLU.gluDeleteQuadric(quadratic); - } - - /** - * @see OpenGLTab#getSleepLength() - */ - int getSleepLength() { - return SLEEP_LENGTH; - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Stencil"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - if (!hasStencilSupport()) return; - - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - GL.glClearDepth(1.0f); - int[] textureOut = new int[1]; - GL.glGenTextures(1, textureOut); - loadTexture(getContext(), IMAGE, 0, textureOut); - this.texture = textureOut[0]; - quadratic = GLU.gluNewQuadric(); - GLU.gluQuadricNormals(quadratic, GLU.GLU_SMOOTH); - GL.glDepthFunc(GL.GL_LEQUAL); - GL.glEnable(GL.GL_STENCIL_TEST); - GL.glEnable(GL.GL_TEXTURE_2D); - GL.glEnable(GL.GL_DEPTH_TEST); - // create shapes - shapes[0] = new Shape("Triangle") { - public void draw() { - GL.glBegin(GL.GL_TRIANGLES); - GL.glVertex3f(0.0f, size, 0.0f); - GL.glVertex3f(-size, -size, 0.0f); - GL.glVertex3f(size, -size, 0.0f); - GL.glEnd(); - } - }; - - shapes[1] = new Shape("Disk") { - public void draw() { - GLU.gluDisk(quadratic, 0.0f, size, 32, 32); - } - }; - - shapes[2] = new Shape("Square") { - public void draw() { - GL.glRectf(-size, -size, size, size); - } - }; - - shapes[3] = new Shape("Hour Glass") { - public void draw() { - GL.glBegin(GL.GL_TRIANGLES); - GL.glVertex3f(0.0f, size, 0.0f); - GL.glVertex3f(-size, -size, 0.0f); - GL.glVertex3f(size, -size, 0.0f); - GL.glVertex3f(0.0f, -size, 0.0f); - GL.glVertex3f(size, size, 0.0f); - GL.glVertex3f(-size, size, 0.0f); - GL.glEnd(); - } - }; - - shapes[4] = new Shape("Star") { - public void draw() { - GL.glBegin(GL.GL_TRIANGLES); - GL.glVertex3f(-0.3f, 0, 0.0f); - GL.glVertex3f(2 * size - 0.3f, 0, 0.0f); - GL.glVertex3f(size - 0.3f, 2 * size * 0.85f, 0.0f); - GL.glVertex3f(2 * size - 0.3f, size, 0.0f); - GL.glVertex3f(0 - 0.3f, size, 0.0f); - GL.glVertex3f(size - 0.3f, -size * 0.85f, 0.0f); - GL.glEnd(); - } - }; - - currentShape = shapes[0]; - } - - /** - * @see OpenGLTab#isStencilSupportNeeded - */ - boolean isStencilSupportNeeded() { - return true; - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - GL.glClear( - GL.GL_COLOR_BUFFER_BIT - | GL.GL_DEPTH_BUFFER_BIT - | GL.GL_STENCIL_BUFFER_BIT); - - GL.glLoadIdentity(); - GL.glTranslatef( - (float) (1.5 * Math.cos(xPos)), - (float) (1.0 * Math.sin(yPos)), - -3.0f); - xPos += 0.15f; - yPos += 0.3f; - - GL.glColorMask(false, false, false, false); - GL.glStencilFunc(GL.GL_ALWAYS, 1, 1); - GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_REPLACE); - GL.glDisable(GL.GL_DEPTH_TEST); - GL.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - - currentShape.draw(); - - GL.glEnable(GL.GL_DEPTH_TEST); - GL.glColorMask(true, true, true, true); - GL.glStencilFunc(GL.GL_EQUAL, 1, 1); - GL.glStencilOp(GL.GL_KEEP, GL.GL_KEEP, GL.GL_KEEP); - - GL.glLoadIdentity(); - // load the texture behind the stencil object - GL.glTranslatef(0.0f, 0.0f, -3.1f); - GL.glBindTexture(GL.GL_TEXTURE_2D, texture); - GL.glBegin(GL.GL_QUADS); - GL.glTexCoord2f(0.0f, 0.0f); - GL.glVertex3f(-0.85f, -0.85f, 1.0f); - GL.glTexCoord2f(1.0f, 0.0f); - GL.glVertex3f(0.85f, -0.85f, 1.0f); - GL.glTexCoord2f(1.0f, 1.0f); - GL.glVertex3f(0.85f, 0.85f, 1.0f); - GL.glTexCoord2f(0.0f, 1.0f); - GL.glVertex3f(-0.85f, 0.85f, 1.0f); - GL.glEnd(); - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TextureTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TextureTab.java deleted file mode 100644 index 1375b6fdca..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TextureTab.java +++ /dev/null @@ -1,176 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class TextureTab extends OpenGLTab { - private float yrot = 0, zrot = 0; - private float xPos = 0.0f, yPos = 0.0f, zPos = -20; - private int texture = 0; - private float[][][] points = new float[45][45][3]; - private final static String IMAGE = "images/splash.bmp"; - private final static int SLEEP_LENGTH = 50; - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(Composite composite) { - Group movementGroup = new Group(composite, SWT.NONE); - movementGroup.setText("Translation"); - movementGroup.setLayout(new GridLayout(2, false)); - - new Label(movementGroup, SWT.NONE).setText("X:"); - final Slider xMove = new Slider(movementGroup, SWT.NONE); - xMove.setIncrement(1); - xMove.setMaximum(12); - xMove.setMinimum(0); - xMove.setThumb(2); - xMove.setPageIncrement(2); - xMove.setSelection(5); - xMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - xPos = xMove.getSelection() - 5; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Y:"); - final Slider yMove = new Slider(movementGroup, SWT.NONE); - yMove.setIncrement(1); - yMove.setMaximum(12); - yMove.setMinimum(0); - yMove.setThumb(2); - yMove.setPageIncrement(2); - yMove.setSelection(5); - yMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - yPos = yMove.getSelection() - 5; - } - }); - - new Label(movementGroup, SWT.NONE).setText("Z:"); - final Slider zMove = new Slider(movementGroup, SWT.NONE); - zMove.setIncrement(1); - zMove.setMaximum(24); - zMove.setMinimum(0); - zMove.setThumb(4); - zMove.setPageIncrement(2); - zMove.setSelection(10); - zMove.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - zPos = zMove.getSelection() - 30; - } - }); - } - - /** - * @see OpenGLTab#getSleepLength() - */ - int getSleepLength() { - return SLEEP_LENGTH; - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Texture"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - //GL.glClearColor(0.0f, 0.0f, 0.3f, 1.0f); - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - GL.glClearDepth(1.0f); - int[] textureOut = new int[1]; - GL.glGenTextures(1, textureOut); - loadTexture(getContext(), IMAGE, 0, textureOut); - texture = textureOut[0]; - GL.glDepthFunc(GL.GL_LEQUAL); - GL.glPolygonMode(GL.GL_BACK, GL.GL_FILL); - GL.glPolygonMode(GL.GL_FRONT, GL.GL_LINE); - GL.glEnable(GL.GL_LIST_MODE); - GL.glEnable(GL.GL_TEXTURE_2D); - GL.glEnable(GL.GL_DEPTH_TEST); - // initialize points - for (int x = 0; x < 45; x++) { - for (int y = 0; y < 45; y++) { - points[x][y][0] = x / 5.0f - 4.5f; - points[x][y][1] = y / 5.0f - 4.5f; - points[x][y][2] = - (float) Math.sin( - (((x / 5.0f) * 40.0f) / 360.0f) * Math.PI * 2); - } - } - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - GL.glClear( - GL.GL_COLOR_BUFFER_BIT - | GL.GL_DEPTH_BUFFER_BIT - | GL.GL_STENCIL_BUFFER_BIT); - GL.glLoadIdentity(); - GL.glTranslatef(xPos, yPos, zPos); - GL.glRotatef(yrot, 0.0f, 1.0f, 0.0f); - GL.glRotatef(zrot, 0.0f, 0.0f, 1.0f); - GL.glBindTexture(GL.GL_TEXTURE_2D, texture); - - GL.glBegin(GL.GL_QUADS); - for (int x = 0; x < 44; x++) { - for (int y = 0; y < 44; y++) { - float fx = x / 44.0f; - float fy = y / 44.0f; - float fxb = (x + 1) / 44.0f; - float fyb = (y + 1) / 44.0f; - GL.glTexCoord2f(fx, fy); - GL.glVertex3f( - points[x][y][0], - points[x][y][1], - points[x][y][2]); - GL.glTexCoord2f(fx, fyb); - GL.glVertex3f( - points[x][y + 1][0], - points[x][y + 1][1], - points[x][y + 1][2]); - GL.glTexCoord2f(fxb, fyb); - GL.glVertex3f( - points[x + 1][y + 1][0], - points[x + 1][y + 1][1], - points[x + 1][y + 1][2]); - GL.glTexCoord2f(fxb, fy); - GL.glVertex3f( - points[x + 1][y][0], - points[x + 1][y][1], - points[x + 1][y][2]); - } - } - GL.glEnd(); - // perform wave motion - for (int y = 0; y < 45; y++) { - float hold = points[0][y][2]; - for (int x = 0; x < 44; x++) { - points[x][y][2] = points[x + 1][y][2]; - } - points[44][y][2] = hold; - } - yrot += 0.9f; - zrot += 0.6f; - } -}
\ No newline at end of file diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java deleted file mode 100644 index 11f39fbe63..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/TransparencyTab.java +++ /dev/null @@ -1,197 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are 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 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import org.eclipse.swt.*; -import org.eclipse.swt.events.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.opengl.*; -import org.eclipse.swt.widgets.*; - -class TransparencyTab extends SelectionTab { - private float[] alphas = { 0.3f, 0.5f, 1.0f }; - private int quadratic; - private int currentSelection = 1; - private final static int - INDEX_TRIANGLE = 1, INDEX_SPHERE = 2, INDEX_DISK = 3; - private final static String[] OBJECTS = {"Triangle", "Sphere", "Disk" }; - - /** - * @see OpenGLTab#createControls(Composite) - */ - void createControls(Composite composite) { - Composite objectGroup = new Composite(composite, SWT.NONE); - GridLayout layout = new GridLayout(2, false); - layout.marginHeight = 0; - layout.marginWidth = 0; - objectGroup.setLayout(layout); - objectGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); - - new Label(objectGroup, SWT.NONE).setText("Object:"); - final Combo objectCombo = new Combo(objectGroup, SWT.READ_ONLY); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - data.grabExcessHorizontalSpace = true; - objectCombo.setLayoutData(data); - objectCombo.setItems(OBJECTS); - objectCombo.select(0); - - new Label(composite, SWT.NONE).setText("Transparency:"); - final Slider transparencySlider = new Slider(composite, SWT.HORIZONTAL); - transparencySlider.setValues(0, 0, 11, 1, 1, 2); - transparencySlider.setSelection(7); - transparencySlider.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - float alpha = transparencySlider.getSelection(); - alpha = 1.0f - alpha / 10; - alphas[currentSelection - 1] = alpha; - } - }); - objectCombo.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - currentSelection = objectCombo.getSelectionIndex() + 1; - transparencySlider.setSelection( - (int) ((1.0f - alphas[currentSelection - 1]) * 10)); - } - }); - - final Canvas glCanvas = getGlCanvas(); - glCanvas.addMouseListener(new MouseAdapter() { - public void mouseUp(MouseEvent e) { - Rectangle rect = glCanvas.getClientArea(); - e.y = rect.height - e.y; - if (e.button == 1) { - processSelection(e.x, e.y, 2); - transparencySlider.setSelection( - (int) ((1.0f - alphas[currentSelection - 1]) * 10)); - objectCombo.select(currentSelection - 1); - } - } - }); - } - - /** - * @see OpenGLTab#dispose() - */ - void dispose() { - super.dispose(); - GLU.gluDeleteQuadric(quadratic); - GL.glDeleteLists(INDEX_DISK, 1); - GL.glDeleteLists(INDEX_SPHERE, 1); - GL.glDeleteLists(INDEX_TRIANGLE, 1); - } - - /** - * @see OpenGLTab#getTabText() - */ - String getTabText() { - return "Transparency"; - } - - /** - * @see OpenGLTab#init() - */ - void init() { - GL.glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - quadratic = GLU.gluNewQuadric(); - GLU.gluQuadricNormals(quadratic, GLU.GLU_SMOOTH); - GL.glEnable(GL.GL_CULL_FACE); - GL.glEnable(GL.GL_DEPTH_TEST); - GL.glEnable(GL.GL_BLEND); - // create display lists - GL.glNewList(INDEX_SPHERE, GL.GL_COMPILE); - GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_FILL); - GLU.gluSphere(quadratic, 1.5, 32, 32); - GL.glEndList(); - GL.glNewList(INDEX_DISK, GL.GL_COMPILE); - GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_FILL); - GLU.gluDisk(quadratic, 1.0, 3, 32, 32); - GL.glEndList(); - GL.glNewList(INDEX_TRIANGLE, GL.GL_COMPILE); - GL.glBegin(GL.GL_TRIANGLES); - GL.glVertex3f(0.0f, 2.0f, 0.0f); - GL.glVertex3f(-2.0f, -2.0f, 2.0f); - GL.glVertex3f(2.0f, -2.0f, 2.0f); - GL.glEnd(); - GL.glEndList(); - } - - /** - * @see SelectionTab.processPick (int[], int) - */ - void processPick(int[] pSelectBuff, int hits) { - int count, zDepth; - int tempSelection = pSelectBuff[3]; - zDepth = pSelectBuff[2]; - // pick object with largest z value - for (int i = 4; i <= 4 * (hits - 1); i = i + 4) { - if (zDepth > pSelectBuff[i + 2]) { - zDepth = pSelectBuff[i + 2]; - tempSelection = pSelectBuff[i + 3]; - } - } - if (tempSelection > 0) currentSelection = tempSelection; - } - - /** - * @see OpenGLTab#renderScene() - */ - void renderScene() { - // draw items with transparent qualities in reverse Z order - GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); - GL.glLoadIdentity(); - GL.glTranslatef(0.0f, 0.0f, -14.0f); - GL.glPushName(0); - - // draw disk - GL.glPushMatrix(); - GL.glTranslatef(-1.0f, 0.0f, 1.0f); - GL.glColor4f(0.0f, 1.0f, 0.0f, alphas[2]); - GL.glLoadName(INDEX_DISK); - GL.glCallList(INDEX_DISK); - if (currentSelection == INDEX_DISK) { - GL.glColor3f(1.0f, 0.0f, 0.0f); - GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_LINE); - GLU.gluDisk(quadratic, 0.98, 3.02, 32, 32); - } - GL.glPopMatrix(); - - // draw triangle - GL.glTranslatef(0.0f, 0.0f, +3.0f); - GL.glLoadName(INDEX_TRIANGLE); - GL.glColor4f(1.0f, 0.0f, 0.0f, alphas[0]); - GL.glCallList(INDEX_TRIANGLE); - GL.glPointSize(5.0f); - if (currentSelection == INDEX_TRIANGLE) { - GL.glBegin(GL.GL_POINTS); - GL.glColor3f(1.0f, 0.0f, 0.0f); - GL.glVertex3f(0.0f, 2.0f, 0.0f); - GL.glVertex3f(-2.0f, -2.0f, 2.0f); - GL.glVertex3f(2.0f, -2.0f, 2.0f); - GL.glEnd(); - } - - // draw sphere - GL.glPushMatrix(); - GL.glTranslatef(1.0f, 0.0f, +3.0f); - GL.glColor4f(0.0f, 0.0f, 1.0f, alphas[1]); - GL.glLoadName(INDEX_SPHERE); - GL.glCallList(INDEX_SPHERE); - if (currentSelection == INDEX_SPHERE) { - GL.glColor3f(1.0f, 0.0f, 0.0f); - GLU.gluQuadricDrawStyle(quadratic, GLU.GLU_LINE); - GLU.gluSphere(quadratic, 1.51, 8, 8); - } - GL.glPopMatrix(); - } -} diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Ball.jpg b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Ball.jpg Binary files differdeleted file mode 100644 index 6890d26807..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Ball.jpg +++ /dev/null diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Box.bmp b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Box.bmp Binary files differdeleted file mode 100644 index 5eef6630d3..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Box.bmp +++ /dev/null diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Floor.jpg b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Floor.jpg Binary files differdeleted file mode 100644 index 4934c9c82a..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/Floor.jpg +++ /dev/null diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/splash.bmp b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/splash.bmp Binary files differdeleted file mode 100644 index 6ec75da1a8..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/splash.bmp +++ /dev/null diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/untitled.jpg b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/untitled.jpg Binary files differdeleted file mode 100644 index f5d6aa11d5..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/images/untitled.jpg +++ /dev/null |