diff options
Diffstat (limited to 'core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/internal/ui')
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$ } } |