From: Mathieu Baudier Date: Sat, 6 Dec 2008 19:14:27 +0000 (+0000) Subject: Add test plugins X-Git-Tag: svn/tags/maven-plugins-0.3.0@2542~49 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=a41a0c71945de9d8a25798404aa34048361449bf;p=gpl%2Fargeo-slc.git Add test plugins git-svn-id: https://svn.argeo.org/slc/trunk/maven@1898 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- 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 index 000000000..02cc9279b --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/.project @@ -0,0 +1,17 @@ + + + argeo.slc.testfeature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + 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 index 000000000..64f93a9f0 --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/build.properties @@ -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 index 000000000..1d448ffc1 --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/feature.xml @@ -0,0 +1,26 @@ + + + + + [Enter Feature Description here.] + + + + [Enter Copyright Description here.] + + + + [Enter License Description here.] + + + + + 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 index 000000000..cfb00bece --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/pom.xml @@ -0,0 +1,64 @@ + + 4.0.0 + org.argeo.slc.sandbox + argeo.slc.testfeature + 0.1.1-SNAPSHOT + eclipseFeature + Argeo SLC Test Eclipse Feature + + + + org.argeo.slc.maven + maven-argeo-pde-plugin + 0.3.1-SNAPSHOT + true + + -DjavacSource=1.5 + -DjavacTarget=1.5 + + + + org.codehaus.mojo + buildnumber-maven-plugin + + + validate + + create + + + + + true + true + + + + + + + + + org.argeo.dep.dist + eclipse-sdk-linux-gtk + 3.4.1 + tar.gz + dist + + + org.argeo.dep.dist + eclipse-rcp-deltapack + 3.4.1 + zip + dist + + + + + argeo-plugins + http://www.argeo.org/maven/argeo + + + + \ 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 index 000000000..a36d8bd45 --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature/site.template @@ -0,0 +1,11 @@ + + + + + + + + UI extensions used to simplify development based on Argeo SLC. + + + 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 index 000000000..ad32c83a7 --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/.classpath @@ -0,0 +1,7 @@ + + + + + + + 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 index 000000000..8a9a82db7 --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/.project @@ -0,0 +1,28 @@ + + + argeo.slc.testplugin + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + 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 index 000000000..60affc003 --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/.settings/org.eclipse.jdt.core.prefs @@ -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 index 000000000..76b31e814 --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/META-INF/MANIFEST.MF @@ -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 index 000000000..caaec514b --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/build.properties @@ -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 index 000000000..02e26e45c --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/contexts.xml @@ -0,0 +1,12 @@ + + + This is the context help for the sample view with a table viewer. It was generated by a PDE template. + + + + + + + + + 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 index 000000000..34fb3c9d8 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 index 000000000..fd6c51850 --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/plugin.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + 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 index 000000000..b167efd78 --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/src/argeo/slc/testplugin/Activator.java @@ -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 index 000000000..2c306d9fc --- /dev/null +++ b/plugins/maven-argeo-pde-plugin/src/test/eclipse/plugins/argeo.slc.testplugin/src/argeo/slc/testplugin/views/SampleView.java @@ -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. + *

+ * 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. + *

+ */ + +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