diff options
Diffstat (limited to 'examples/org.eclipse.equinox.p2.examples.rcp.discovery/src/org/eclipse/equinox/p2/examples/rcp/cloud/OpenViewAction.java')
-rw-r--r-- | examples/org.eclipse.equinox.p2.examples.rcp.discovery/src/org/eclipse/equinox/p2/examples/rcp/cloud/OpenViewAction.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/examples/org.eclipse.equinox.p2.examples.rcp.discovery/src/org/eclipse/equinox/p2/examples/rcp/cloud/OpenViewAction.java b/examples/org.eclipse.equinox.p2.examples.rcp.discovery/src/org/eclipse/equinox/p2/examples/rcp/cloud/OpenViewAction.java new file mode 100644 index 000000000..317e07342 --- /dev/null +++ b/examples/org.eclipse.equinox.p2.examples.rcp.discovery/src/org/eclipse/equinox/p2/examples/rcp/cloud/OpenViewAction.java @@ -0,0 +1,36 @@ +package org.eclipse.equinox.p2.examples.rcp.cloud; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PartInitException; + + +public class OpenViewAction extends Action { + + private final IWorkbenchWindow window; + private int instanceNum = 0; + private final String viewId; + + public OpenViewAction(IWorkbenchWindow window, String label, String viewId) { + this.window = window; + this.viewId = viewId; + setText(label); + // The id is used to refer to the action in a menu or toolbar + setId(ICommandIds.CMD_OPEN); + // Associate the action with a pre-defined command, to allow key bindings. + setActionDefinitionId(ICommandIds.CMD_OPEN); + setImageDescriptor(org.eclipse.equinox.p2.examples.rcp.cloud.Activator.getImageDescriptor("/icons/sample2.gif")); + } + + public void run() { + if(window != null) { + try { + window.getActivePage().showView(viewId, Integer.toString(instanceNum++), IWorkbenchPage.VIEW_ACTIVATE); + } catch (PartInitException e) { + MessageDialog.openError(window.getShell(), "Error", "Error opening view:" + e.getMessage()); + } + } + } +} |