Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui')
-rw-r--r--core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/AddServiceConfigurationAction.java59
-rw-r--r--core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/EditServiceConfigurationAction.java53
-rw-r--r--core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/RemoveServiceConfigurationAction.java77
-rw-r--r--core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/SelectActiveServiceConfigurationAction.java54
-rw-r--r--core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/adapters/ServiceConfigurationWorkbenchAdapter.java56
-rw-r--r--core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/adapters/ServiceProviderWorkbenchAdapter.java17
6 files changed, 248 insertions, 68 deletions
diff --git a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/AddServiceConfigurationAction.java b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/AddServiceConfigurationAction.java
new file mode 100644
index 000000000..be74bf4c3
--- /dev/null
+++ b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/AddServiceConfigurationAction.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2009 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Initial Implementation
+ *
+ */
+package org.eclipse.ptp.services.internal.ui.actions;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ptp.services.core.IServiceConfiguration;
+import org.eclipse.ptp.services.core.IServiceModelManager;
+import org.eclipse.ptp.services.core.ServiceModelManager;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.IWorkbenchPart;
+
+public class AddServiceConfigurationAction implements IViewActionDelegate {
+
+ private IServiceModelManager fManager = ServiceModelManager.getInstance();
+ private IServiceConfiguration fConfiguration = null;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+ */
+ public void run(IAction action) {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+ */
+ public void selectionChanged(IAction action, ISelection selection) {
+ IStructuredSelection structSel = (IStructuredSelection)selection;
+ if (structSel.size() == 1) {
+ Object selected = structSel.getFirstElement();
+ if (selected instanceof IServiceConfiguration) {
+ fConfiguration = (IServiceConfiguration)selected;
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
+ */
+ public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+ // Nothing
+ }
+
+ public void init(IViewPart view) {
+ // TODO Auto-generated method stub
+
+ }
+}
diff --git a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/EditServiceConfigurationAction.java b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/EditServiceConfigurationAction.java
new file mode 100644
index 000000000..9e6a98f2d
--- /dev/null
+++ b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/EditServiceConfigurationAction.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2009 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Initial Implementation
+ *
+ */
+package org.eclipse.ptp.services.internal.ui.actions;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ptp.services.core.IServiceConfiguration;
+import org.eclipse.ptp.services.core.IServiceModelManager;
+import org.eclipse.ptp.services.core.ServiceModelManager;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+
+public class EditServiceConfigurationAction implements IObjectActionDelegate {
+
+ private IServiceModelManager fManager = ServiceModelManager.getInstance();
+ private IServiceConfiguration fConfiguration = null;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+ */
+ public void run(IAction action) {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+ */
+ public void selectionChanged(IAction action, ISelection selection) {
+ IStructuredSelection structSel = (IStructuredSelection)selection;
+ if (structSel.size() == 1) {
+ Object selected = structSel.getFirstElement();
+ if (selected instanceof IServiceConfiguration) {
+ fConfiguration = (IServiceConfiguration)selected;
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
+ */
+ public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+ // Nothing
+ }
+}
diff --git a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/RemoveServiceConfigurationAction.java b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/RemoveServiceConfigurationAction.java
new file mode 100644
index 000000000..aa41ff880
--- /dev/null
+++ b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/RemoveServiceConfigurationAction.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) 2009 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Initial Implementation
+ *
+ */
+package org.eclipse.ptp.services.internal.ui.actions;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ptp.services.core.IServiceConfiguration;
+import org.eclipse.ptp.services.core.IServiceModelManager;
+import org.eclipse.ptp.services.core.ServiceModelManager;
+import org.eclipse.ptp.services.ui.messages.Messages;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+
+public class RemoveServiceConfigurationAction implements IObjectActionDelegate {
+
+ private IServiceModelManager fManager = ServiceModelManager.getInstance();
+ private List<IServiceConfiguration> fConfigurations = new ArrayList<IServiceConfiguration>();
+ private IWorkbenchPart fWorkbenchPart;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+ */
+ public void run(IAction action) {
+ String names = ""; //$NON-NLS-1$
+ for (int i = 0; i < fConfigurations.size(); i++) {
+ if (i > 0) {
+ names += ", "; //$NON-NLS-1$
+ }
+ names += "\n\t" + fConfigurations.get(i).getName(); //$NON-NLS-1$
+ }
+
+ boolean remove = MessageDialog.openConfirm(fWorkbenchPart.getSite().getShell(),
+ Messages.RemoveServiceConfigurationAction_0,
+ Messages.RemoveServiceConfigurationAction_1
+ + names);
+
+ if (remove) {
+ for (IServiceConfiguration conf : fConfigurations) {
+ fManager.remove(conf);
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+ */
+ public void selectionChanged(IAction action, ISelection selection) {
+ fConfigurations.clear();
+ IStructuredSelection structSel = (IStructuredSelection)selection;
+ for (Object selected : structSel.toArray()) {
+ if (selected instanceof IServiceConfiguration) {
+ fConfigurations.add((IServiceConfiguration)selected);
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
+ */
+ public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+ fWorkbenchPart = targetPart;
+ }
+}
diff --git a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/SelectActiveServiceConfigurationAction.java b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/SelectActiveServiceConfigurationAction.java
new file mode 100644
index 000000000..bda7a4c2f
--- /dev/null
+++ b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/actions/SelectActiveServiceConfigurationAction.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) 2009 IBM Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Initial Implementation
+ *
+ */
+package org.eclipse.ptp.services.internal.ui.actions;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ptp.services.core.IServiceConfiguration;
+import org.eclipse.ptp.services.core.IServiceModelManager;
+import org.eclipse.ptp.services.core.ServiceModelManager;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+
+public class SelectActiveServiceConfigurationAction implements IObjectActionDelegate {
+
+ private IServiceModelManager fManager = ServiceModelManager.getInstance();
+ private IServiceConfiguration fConfiguration = null;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+ */
+ public void run(IAction action) {
+ fManager.setActiveConfiguration(fConfiguration);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+ */
+ public void selectionChanged(IAction action, ISelection selection) {
+ IStructuredSelection structSel = (IStructuredSelection)selection;
+ if (structSel.size() == 1) {
+ Object selected = structSel.getFirstElement();
+ if (selected instanceof IServiceConfiguration) {
+ fConfiguration = (IServiceConfiguration)selected;
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
+ */
+ public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+ // Nothing
+ }
+}
diff --git a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/adapters/ServiceConfigurationWorkbenchAdapter.java b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/adapters/ServiceConfigurationWorkbenchAdapter.java
index aaf328c81..d5aae050e 100644
--- a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/adapters/ServiceConfigurationWorkbenchAdapter.java
+++ b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/adapters/ServiceConfigurationWorkbenchAdapter.java
@@ -19,58 +19,10 @@ import org.eclipse.ptp.services.core.IService;
import org.eclipse.ptp.services.core.IServiceConfiguration;
import org.eclipse.ptp.services.core.IServiceProvider;
import org.eclipse.ptp.services.core.ServiceModelManager;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.model.IWorkbenchAdapter2;
import org.eclipse.ui.model.WorkbenchAdapter;
public class ServiceConfigurationWorkbenchAdapter extends WorkbenchAdapter {
- private class ChildContainer extends WorkbenchAdapter implements IAdaptable {
-
- private final Object parent;
-
- private final String name;
-
- private final Object[] children;
-
- public ChildContainer(Object parent, String name, Object[] children) {
- this.parent = parent;
- this.name = name;
- this.children = children;
- }
-
- public Object getAdapter(@SuppressWarnings("unchecked") Class adapter) {
- if (adapter == IWorkbenchAdapter.class || adapter == IWorkbenchAdapter2.class) {
- return this;
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.model.WorkbenchAdapter#getChildren(java.lang.Object)
- */
- @Override
- public Object[] getChildren(Object object) {
- return children.clone();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.model.WorkbenchAdapter#getLabel(java.lang.Object)
- */
- @Override
- public String getLabel(Object object) {
- return name;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.model.WorkbenchAdapter#getParent(java.lang.Object)
- */
- @Override
- public Object getParent(Object object) {
- return parent;
- }
- }
-
/* (non-Javadoc)
* @see org.eclipse.ui.model.WorkbenchAdapter#getChildren(java.lang.Object)
*/
@@ -125,12 +77,4 @@ public class ServiceConfigurationWorkbenchAdapter extends WorkbenchAdapter {
public Object getParent(Object object) {
return ServiceModelManager.getInstance();
}
-
- private ChildContainer makeChildContainer(Object parent, String name,
- final Object[] children) {
- final ChildContainer container = new ChildContainer(parent, name,
- children);
- return container;
- }
-
}
diff --git a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/adapters/ServiceProviderWorkbenchAdapter.java b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/adapters/ServiceProviderWorkbenchAdapter.java
index b2e3871f2..dac115b4e 100644
--- a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/adapters/ServiceProviderWorkbenchAdapter.java
+++ b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui/adapters/ServiceProviderWorkbenchAdapter.java
@@ -10,27 +10,20 @@
*******************************************************************************/
package org.eclipse.ptp.services.internal.ui.adapters;
-import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ptp.services.core.IServiceModelManager;
import org.eclipse.ptp.services.core.IServiceProvider;
+import org.eclipse.ptp.services.core.ServiceModelManager;
import org.eclipse.ui.model.WorkbenchAdapter;
public class ServiceProviderWorkbenchAdapter extends WorkbenchAdapter {
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.model.WorkbenchAdapter#getImageDescriptor(java.lang.Object)
- */
- @Override
- public ImageDescriptor getImageDescriptor(Object object) {
-// IPMachine machine = (IPMachine) object;
-// return new ImageImageDescriptor(ParallelImages.machineImages[machine.getState().ordinal()]);
- return null;
- }
+ private IServiceModelManager fManager = ServiceModelManager.getInstance();
/* (non-Javadoc)
* @see org.eclipse.ui.model.WorkbenchAdapter#getLabel(java.lang.Object)
*/
@Override
public String getLabel(Object object) {
- return ((IServiceProvider)object).getName();
+ IServiceProvider provider = (IServiceProvider)object;
+ return provider.getName() + " (" + fManager.getService(provider.getServiceId()).getName() + " Service)"; //$NON-NLS-1$ //$NON-NLS-2$
}
}

Back to the top