]> git.argeo.org Git - gpl/argeo-slc.git/commitdiff
Add test plugins
authorMathieu Baudier <mbaudier@argeo.org>
Sat, 6 Dec 2008 19:14:27 +0000 (19:14 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Sat, 6 Dec 2008 19:14:27 +0000 (19:14 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk/maven@1898 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

15 files changed:
plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/.project [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/build.properties [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/feature.xml [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/pom.xml [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/site.template [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/.classpath [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/.project [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/META-INF/MANIFEST.MF [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/build.properties [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/contexts.xml [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/icons/sample.gif [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/plugin.xml [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/src/argeo/slc/testplugin/Activator.java [new file with mode: 0644]
plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/src/argeo/slc/testplugin/views/SampleView.java [new file with mode: 0644]

diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/.project b/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/.project
new file mode 100644 (file)
index 0000000..02cc927
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>argeo.slc.testfeature</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.pde.FeatureBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.pde.FeatureNature</nature>
+       </natures>
+</projectDescription>
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/build.properties b/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/build.properties
new file mode 100644 (file)
index 0000000..64f93a9
--- /dev/null
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/feature.xml b/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/feature.xml
new file mode 100644 (file)
index 0000000..1d448ff
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="argeo.slc.testfeature"
+      label="Testfeature Feature"
+      version="1.0.0">
+
+   <description url="http://www.example.com/description">
+      [Enter Feature Description here.]
+   </description>
+
+   <copyright url="http://www.example.com/copyright">
+      [Enter Copyright Description here.]
+   </copyright>
+
+   <license url="http://www.example.com/license">
+      [Enter License Description here.]
+   </license>
+
+   <plugin
+         id="argeo.slc.testplugin"
+         download-size="0"
+         install-size="0"
+         version="1.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/pom.xml b/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/pom.xml
new file mode 100644 (file)
index 0000000..cfb00be
--- /dev/null
@@ -0,0 +1,64 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+       <modelVersion>4.0.0</modelVersion>
+       <groupId>org.argeo.slc.sandbox</groupId>
+       <artifactId>argeo.slc.testfeature</artifactId>
+       <version>0.1.1-SNAPSHOT</version>
+       <packaging>eclipseFeature</packaging>
+       <name>Argeo SLC Test Eclipse Feature</name>
+       <build>
+               <plugins>
+                       <plugin>
+                               <groupId>org.argeo.slc.maven</groupId>
+                               <artifactId>maven-argeo-pde-plugin</artifactId>
+                               <version>0.3.1-SNAPSHOT</version>
+                               <extensions>true</extensions>
+                               <configuration>
+                                       <buildScriptProperties>-DjavacSource=1.5
+                                               -DjavacTarget=1.5</buildScriptProperties>
+                               </configuration>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.codehaus.mojo</groupId>
+                               <artifactId>buildnumber-maven-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <phase>validate</phase>
+                                               <goals>
+                                                       <goal>create</goal>
+                                               </goals>
+                                       </execution>
+                               </executions>
+                               <configuration>
+                                       <doCheck>true</doCheck>
+                                       <doUpdate>true</doUpdate>
+                               </configuration>
+                       </plugin>
+               </plugins>
+       </build>
+
+       <dependencies>
+               <!-- Eclipse Base -->
+               <dependency>
+                       <groupId>org.argeo.dep.dist</groupId>
+                       <artifactId>eclipse-sdk-linux-gtk</artifactId>
+                       <version>3.4.1</version>
+                       <type>tar.gz</type>
+                       <classifier>dist</classifier>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.dep.dist</groupId>
+                       <artifactId>eclipse-rcp-deltapack</artifactId>
+                       <version>3.4.1</version>
+                       <type>zip</type>
+                       <classifier>dist</classifier>
+               </dependency>
+       </dependencies>
+       <pluginRepositories>
+               <pluginRepository>
+                       <id>argeo-plugins</id>
+                       <url>http://www.argeo.org/maven/argeo</url>
+               </pluginRepository>
+       </pluginRepositories>
+
+</project>
\ No newline at end of file
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/site.template b/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/site.template
new file mode 100644 (file)
index 0000000..a36d8bd
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+   <feature url="features/org.argeo.slc.ui.launch.feature_${org.argeo.slc.ui.launch.feature}.jar" id="org.argeo.slc.ui.launch.feature" version="${org.argeo.slc.ui.launch.feature}">
+      <category name="argeo.slc.ui"/>
+   </feature>
+   <category-def name="argeo.slc.ui" label="Argeo SLC UI">
+      <description>
+         UI extensions used to simplify development based on Argeo SLC.
+      </description>
+   </category-def>
+</site>
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/.classpath b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/.classpath
new file mode 100644 (file)
index 0000000..ad32c83
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/.project b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/.project
new file mode 100644 (file)
index 0000000..8a9a82d
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>argeo.slc.testplugin</name>
+       <comment></comment>
+       <projects>
+       </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.pde.PluginNature</nature>
+               <nature>org.eclipse.jdt.core.javanature</nature>
+       </natures>
+</projectDescription>
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/.settings/org.eclipse.jdt.core.prefs b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..60affc0
--- /dev/null
@@ -0,0 +1,7 @@
+#Fri Dec 05 11:33:10 CET 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/META-INF/MANIFEST.MF b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..76b31e8
--- /dev/null
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Testplugin Plug-in
+Bundle-SymbolicName: argeo.slc.testplugin; singleton:=true
+Bundle-Version: 1.0.0
+Bundle-Activator: argeo.slc.testplugin.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/build.properties b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/build.properties
new file mode 100644 (file)
index 0000000..caaec51
--- /dev/null
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+               META-INF/,\
+               .,\
+               icons/,\
+               contexts.xml
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/contexts.xml b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/contexts.xml
new file mode 100644 (file)
index 0000000..02e26e4
--- /dev/null
@@ -0,0 +1,12 @@
+<contexts>
+       <context id="viewer" title="Sample View">
+               <description>This is the context help for the sample view with a table viewer. It was generated by a PDE template.</description>
+               <topic href="/PLUGINS_ROOT/org.eclipse.platform.doc.isv/guide/ua_help_context.htm" label="Context-sensitive help">
+                       <enablement>
+                               <with variable="platform">
+                       <test property="org.eclipse.core.runtime.isBundleInstalled" args="org.eclipse.platform.doc.isv"/>
+                       </with>
+                       </enablement>
+               </topic>
+       </context>
+</contexts>
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/icons/sample.gif b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/icons/sample.gif
new file mode 100644 (file)
index 0000000..34fb3c9
Binary files /dev/null and b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/icons/sample.gif differ
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/plugin.xml b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/plugin.xml
new file mode 100644 (file)
index 0000000..fd6c518
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+
+   <extension
+         point="org.eclipse.ui.views">
+      <category
+            name="Sample Category"
+            id="argeo.slc.testplugin">
+      </category>
+      <view
+            name="Sample View"
+            icon="icons/sample.gif"
+            category="argeo.slc.testplugin"
+            class="argeo.slc.testplugin.views.SampleView"
+            id="argeo.slc.testplugin.views.SampleView">
+      </view>
+   </extension>
+   <extension
+         point="org.eclipse.ui.perspectiveExtensions">
+      <perspectiveExtension
+            targetID="org.eclipse.jdt.ui.JavaPerspective">
+         <view
+               ratio="0.5"
+               relative="org.eclipse.ui.views.TaskList"
+               relationship="right"
+               id="argeo.slc.testplugin.views.SampleView">
+         </view>
+      </perspectiveExtension>
+   </extension>
+
+</plugin>
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/src/argeo/slc/testplugin/Activator.java b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/src/argeo/slc/testplugin/Activator.java
new file mode 100644 (file)
index 0000000..b167efd
--- /dev/null
@@ -0,0 +1,61 @@
+package argeo.slc.testplugin;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+       // The plug-in ID
+       public static final String PLUGIN_ID = "argeo.slc.testplugin";
+
+       // The shared instance
+       private static Activator plugin;
+       
+       /**
+        * The constructor
+        */
+       public Activator() {
+       }
+
+       /*
+        * (non-Javadoc)
+        * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+        */
+       public void start(BundleContext context) throws Exception {
+               super.start(context);
+               plugin = this;
+       }
+
+       /*
+        * (non-Javadoc)
+        * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+        */
+       public void stop(BundleContext context) throws Exception {
+               plugin = null;
+               super.stop(context);
+       }
+
+       /**
+        * Returns the shared instance
+        *
+        * @return the shared instance
+        */
+       public static Activator getDefault() {
+               return plugin;
+       }
+
+       /**
+        * Returns an image descriptor for the image file at the given
+        * plug-in relative path
+        *
+        * @param path the path
+        * @return the image descriptor
+        */
+       public static ImageDescriptor getImageDescriptor(String path) {
+               return imageDescriptorFromPlugin(PLUGIN_ID, path);
+       }
+}
diff --git a/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/src/argeo/slc/testplugin/views/SampleView.java b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/src/argeo/slc/testplugin/views/SampleView.java
new file mode 100644 (file)
index 0000000..2c306d9
--- /dev/null
@@ -0,0 +1,184 @@
+package argeo.slc.testplugin.views;
+
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.part.*;
+import org.eclipse.jface.viewers.*;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.jface.action.*;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.ui.*;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.SWT;
+
+
+/**
+ * This sample class demonstrates how to plug-in a new
+ * workbench view. The view shows data obtained from the
+ * model. The sample creates a dummy model on the fly,
+ * but a real implementation would connect to the model
+ * available either in this or another plug-in (e.g. the workspace).
+ * The view is connected to the model using a content provider.
+ * <p>
+ * The view uses a label provider to define how model
+ * objects should be presented in the view. Each
+ * view can present the same model objects using
+ * different labels and icons, if needed. Alternatively,
+ * a single label provider can be shared between views
+ * in order to ensure that objects of the same type are
+ * presented in the same way everywhere.
+ * <p>
+ */
+
+public class SampleView extends ViewPart {
+       private TableViewer viewer;
+       private Action action1;
+       private Action action2;
+       private Action doubleClickAction;
+
+       /*
+        * The content provider class is responsible for
+        * providing objects to the view. It can wrap
+        * existing objects in adapters or simply return
+        * objects as-is. These objects may be sensitive
+        * to the current input of the view, or ignore
+        * it and always show the same content 
+        * (like Task List, for example).
+        */
+        
+       class ViewContentProvider implements IStructuredContentProvider {
+               public void inputChanged(Viewer v, Object oldInput, Object newInput) {
+               }
+               public void dispose() {
+               }
+               public Object[] getElements(Object parent) {
+                       return new String[] { "One", "Two", "Three" };
+               }
+       }
+       class ViewLabelProvider extends LabelProvider implements ITableLabelProvider {
+               public String getColumnText(Object obj, int index) {
+                       return getText(obj);
+               }
+               public Image getColumnImage(Object obj, int index) {
+                       return getImage(obj);
+               }
+               public Image getImage(Object obj) {
+                       return PlatformUI.getWorkbench().
+                                       getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT);
+               }
+       }
+       class NameSorter extends ViewerSorter {
+       }
+
+       /**
+        * The constructor.
+        */
+       public SampleView() {
+       }
+
+       /**
+        * This is a callback that will allow us
+        * to create the viewer and initialize it.
+        */
+       public void createPartControl(Composite parent) {
+               viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
+               viewer.setContentProvider(new ViewContentProvider());
+               viewer.setLabelProvider(new ViewLabelProvider());
+               viewer.setSorter(new NameSorter());
+               viewer.setInput(getViewSite());
+
+               // Create the help context id for the viewer's control
+               PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(), "argeo.slc.testplugin.viewer");
+               makeActions();
+               hookContextMenu();
+               hookDoubleClickAction();
+               contributeToActionBars();
+       }
+
+       private void hookContextMenu() {
+               MenuManager menuMgr = new MenuManager("#PopupMenu");
+               menuMgr.setRemoveAllWhenShown(true);
+               menuMgr.addMenuListener(new IMenuListener() {
+                       public void menuAboutToShow(IMenuManager manager) {
+                               SampleView.this.fillContextMenu(manager);
+                       }
+               });
+               Menu menu = menuMgr.createContextMenu(viewer.getControl());
+               viewer.getControl().setMenu(menu);
+               getSite().registerContextMenu(menuMgr, viewer);
+       }
+
+       private void contributeToActionBars() {
+               IActionBars bars = getViewSite().getActionBars();
+               fillLocalPullDown(bars.getMenuManager());
+               fillLocalToolBar(bars.getToolBarManager());
+       }
+
+       private void fillLocalPullDown(IMenuManager manager) {
+               manager.add(action1);
+               manager.add(new Separator());
+               manager.add(action2);
+       }
+
+       private void fillContextMenu(IMenuManager manager) {
+               manager.add(action1);
+               manager.add(action2);
+               // Other plug-ins can contribute there actions here
+               manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
+       }
+       
+       private void fillLocalToolBar(IToolBarManager manager) {
+               manager.add(action1);
+               manager.add(action2);
+       }
+
+       private void makeActions() {
+               action1 = new Action() {
+                       public void run() {
+                               showMessage("Action 1 executed");
+                       }
+               };
+               action1.setText("Action 1");
+               action1.setToolTipText("Action 1 tooltip");
+               action1.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
+                       getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
+               
+               action2 = new Action() {
+                       public void run() {
+                               showMessage("Action 2 executed");
+                       }
+               };
+               action2.setText("Action 2");
+               action2.setToolTipText("Action 2 tooltip");
+               action2.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
+                               getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
+               doubleClickAction = new Action() {
+                       public void run() {
+                               ISelection selection = viewer.getSelection();
+                               Object obj = ((IStructuredSelection)selection).getFirstElement();
+                               showMessage("Double-click detected on "+obj.toString());
+                       }
+               };
+       }
+
+       private void hookDoubleClickAction() {
+               viewer.addDoubleClickListener(new IDoubleClickListener() {
+                       public void doubleClick(DoubleClickEvent event) {
+                               doubleClickAction.run();
+                       }
+               });
+       }
+       private void showMessage(String message) {
+               MessageDialog.openInformation(
+                       viewer.getControl().getShell(),
+                       "Sample View",
+                       message);
+       }
+
+       /**
+        * Passing the focus request to the viewer's control.
+        */
+       public void setFocus() {
+               viewer.getControl().setFocus();
+       }
+}
\ No newline at end of file