Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Watson2009-08-12 21:44:28 +0000
committerGreg Watson2009-08-12 21:44:28 +0000
commite72fc26695a919489bf1a67eb50d591678d160d8 (patch)
treed3a42f8f61b7d24839afd9d7438ce545873e11d9 /core/org.eclipse.ptp.services.ui/src/org
parent82dca4ad530e8f7d1e327242d503dade070c4d25 (diff)
downloadorg.eclipse.ptp-e72fc26695a919489bf1a67eb50d591678d160d8.tar.gz
org.eclipse.ptp-e72fc26695a919489bf1a67eb50d591678d160d8.tar.xz
org.eclipse.ptp-e72fc26695a919489bf1a67eb50d591678d160d8.zip
Added context menu actions.
Diffstat (limited to 'core/org.eclipse.ptp.services.ui/src/org')
-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
-rw-r--r--core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/messages/Messages.java6
-rw-r--r--core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/messages/messages.properties3
-rw-r--r--core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/views/ServiceConfigurationView.java196
9 files changed, 310 insertions, 211 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$
}
}
diff --git a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/messages/Messages.java b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/messages/Messages.java
index f61f73fc9..47b6bfb29 100644
--- a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/messages/Messages.java
+++ b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/messages/Messages.java
@@ -17,6 +17,11 @@ public class Messages extends NLS {
private static final String BUNDLE_NAME= "org.eclipse.ptp.services.ui.messages.messages";//$NON-NLS-1$
+ public static String RemoveServiceConfigurationAction_0;
+ public static String RemoveServiceConfigurationAction_1;
+
+ public static String SelectActiveServiceConfigurationAction_0;
+
public static String ServiceConfigurationPreferencePage_0;
public static String ServiceConfigurationPreferencePage_1;
public static String ServiceConfigurationPreferencePage_2;
@@ -30,6 +35,7 @@ public class Messages extends NLS {
public static String ServiceConfigurationSelectionDialog_0;
public static String ServiceConfigurationSelectionDialog_1;
+
public static String ServiceConfigurationWizard_0;
public static String ServiceConfigurationWizard_1;
public static String ServiceConfigurationWizard_2;
diff --git a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/messages/messages.properties b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/messages/messages.properties
index 5ba17bb98..890759bdc 100644
--- a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/messages/messages.properties
+++ b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/messages/messages.properties
@@ -1,3 +1,6 @@
+RemoveServiceConfigurationAction_0=Remove Service Configurations
+RemoveServiceConfigurationAction_1=Are you sure you want to remove the following service configuration(s)?\n
+SelectActiveServiceConfigurationAction_0=Set Active Service Configuration
ServiceConfigurationPreferencePage_0=Service Configuration
ServiceConfigurationPreferencePage_1=Name
ServiceConfigurationPreferencePage_2=Project
diff --git a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/views/ServiceConfigurationView.java b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/views/ServiceConfigurationView.java
index bf8920362..c10983f7c 100644
--- a/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/views/ServiceConfigurationView.java
+++ b/core/org.eclipse.ptp.services.ui/src/org/eclipse/ptp/services/ui/views/ServiceConfigurationView.java
@@ -11,36 +11,36 @@
package org.eclipse.ptp.services.ui.views;
import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
import org.eclipse.jface.resource.FontDescriptor;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.resource.LocalResourceManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeSelection;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.ptp.services.core.IServiceConfiguration;
+import org.eclipse.ptp.services.core.IServiceModelEvent;
+import org.eclipse.ptp.services.core.IServiceModelEventListener;
+import org.eclipse.ptp.services.core.IServiceModelManager;
import org.eclipse.ptp.services.core.ServiceModelManager;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.model.WorkbenchContentProvider;
import org.eclipse.ui.model.WorkbenchLabelProvider;
import org.eclipse.ui.part.ViewPart;
public class ServiceConfigurationView extends ViewPart {
+ /**
+ * Listener for service configuration selection events.
+ */
+ private class ServiceModelEventListener implements IServiceModelEventListener {
+ public void handleEvent(IServiceModelEvent event) {
+ refreshViewer();
+ }
+ }
+
private class ServiceConfigurationLabelProvider extends WorkbenchLabelProvider {
private Font selectedFont;
@@ -53,50 +53,47 @@ public class ServiceConfigurationView extends ViewPart {
selectedFont = (Font)new LocalResourceManager(JFaceResources.getResources()).get(FontDescriptor.createFrom(selectedFontData));
}
- private IServiceConfiguration getServiceConfiguration(Object parentElement) {
- IServiceConfiguration conf = null;
- if (parentElement instanceof IAdaptable) {
- conf = (IServiceConfiguration) ((IAdaptable) parentElement).getAdapter(IServiceConfiguration.class);
- }
- return conf;
- }
-
/* (non-Javadoc)
* @see org.eclipse.ui.model.WorkbenchLabelProvider#getFont(java.lang.Object)
*/
@Override
public Font getFont(Object element) {
IServiceConfiguration conf = getServiceConfiguration(element);
- if (conf != null) {// && conf == ServiceModelManager.getInstance().getSelected()) {
+ if (conf != null && conf == fManager.getActiveConfiguration()) {
return selectedFont;
}
return unSelectedFont;
}
+
+ private IServiceConfiguration getServiceConfiguration(Object parentElement) {
+ IServiceConfiguration conf = null;
+ if (parentElement instanceof IAdaptable) {
+ conf = (IServiceConfiguration) ((IAdaptable) parentElement).getAdapter(IServiceConfiguration.class);
+ }
+ return conf;
+ }
}
- private TreeViewer viewer;
-
-// private RemoveResourceManagersAction removeResourceManagerAction;
-// private AddResourceManagerAction addResourceManagerAction;
-// private EditResourceManagerAction editResourceManagerAction;
-// private SelectDefaultResourceManagerAction selectResourceManagerAction;
+ private TreeViewer fViewer;
+ private IServiceModelManager fManager = ServiceModelManager.getInstance();
public ServiceConfigurationView() {
+ fManager.addEventListener(new ServiceModelEventListener(),
+ IServiceModelEvent.SERVICE_CONFIGURATION_SELECTED |
+ IServiceModelEvent.SERVICE_CONFIGURATION_ADDED |
+ IServiceModelEvent.SERVICE_CONFIGURATION_REMOVED);
}
/* (non-Javadoc)
* @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
*/
public void createPartControl(Composite parent) {
- viewer = new TreeViewer(parent, SWT.MULTI);
- viewer.setContentProvider(new WorkbenchContentProvider());
- viewer.setLabelProvider(new ServiceConfigurationLabelProvider(viewer.getTree().getFont()));
+ fViewer = new TreeViewer(parent, SWT.MULTI);
+ fViewer.setContentProvider(new WorkbenchContentProvider());
+ fViewer.setLabelProvider(new ServiceConfigurationLabelProvider(fViewer.getTree().getFont()));
- viewer.setInput(ServiceModelManager.getInstance());
+ fViewer.setInput(ServiceModelManager.getInstance());
- // -----------------------------
- // Enable right-click popup menu
- // -----------------------------
createContextMenu();
// ----------------------------------------------------------------------
@@ -105,136 +102,49 @@ public class ServiceConfigurationView extends ViewPart {
// IPropertySource, or support IPropertySource.class as an adapter type
// in its AdapterFactory.
// ----------------------------------------------------------------------
- getSite().setSelectionProvider(viewer);
-
- viewer.getTree().addMouseListener(new MouseAdapter() {
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.MouseAdapter#mouseDoubleClick(org.eclipse.swt.events.MouseEvent)
- */
- @Override
- public void mouseDoubleClick(MouseEvent e) {
- ITreeSelection selection = (ITreeSelection)viewer.getSelection();
- if (!selection.isEmpty()) {
- IServiceConfiguration rm = (IServiceConfiguration)selection.getFirstElement();
- //editResourceManagerAction.setResourceManager(rm);
- //editResourceManagerAction.run();
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.MouseAdapter#mouseDown(org.eclipse.swt.events.MouseEvent)
- */
- public void mouseDown(MouseEvent e) {
- ISelection selection = viewer.getSelection();
- TreeItem item = viewer.getTree().getItem(new Point(e.x, e.y));
- if (item == null && !selection.isEmpty()) {
- viewer.getTree().deselectAll();
- }
- else if (item != null) {
- }
- }
- });
+ getSite().setSelectionProvider(fViewer);
}
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.part.WorkbenchPart#dispose()
+ */
public synchronized void dispose() {
super.dispose();
}
public Font getFont() {
- if (viewer == null) {
+ if (fViewer == null) {
return null;
}
- return viewer.getTree().getFont();
+ return fViewer.getTree().getFont();
}
+ /**
+ * Refresh the tree viewer when the model changes
+ */
public void refreshViewer() {
- viewer.getControl().getDisplay().asyncExec(new Runnable(){
+ fViewer.getControl().getDisplay().asyncExec(new Runnable(){
public void run() {
- viewer.refresh();
+ fViewer.refresh();
}
});
}
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
+ */
public void setFocus() {
- viewer.getControl().setFocus();
+ fViewer.getControl().setFocus();
}
+ /**
+ * Create the popup menu
+ */
private void createContextMenu() {
- final Shell shell = getSite().getShell();
-// addResourceManagerAction = new AddResourceManagerAction(shell);
-// removeResourceManagerAction = new RemoveResourceManagersAction(shell);
-// editResourceManagerAction = new EditResourceManagerAction(shell);
-// selectResourceManagerAction = new SelectDefaultResourceManagerAction(this);
-
- MenuManager menuManager = new MenuManager("#PopupMenu"); //$NON-NLS-1$
+ MenuManager menuManager = new MenuManager("#PopupMenu", "org.eclipse.ptp.services.ui.views.serviceConfigurationView.contextMenu"); //$NON-NLS-1$
menuManager.setRemoveAllWhenShown(true);
- menuManager.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- fillContextMenu(manager);
- }
- });
-
- Menu menu = menuManager.createContextMenu(viewer.getControl());
- viewer.getControl().setMenu(menu);
- getSite().registerContextMenu(menuManager, viewer);
- }
-
- private void fillContextMenu(IMenuManager manager) {
- final IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
-// manager.add(addResourceManagerAction);
- Object[] selectedObjects = selection.toArray();
- boolean inContextForRM = selection.size() > 0;
- boolean inContextForEditRM = inContextForRM;
- boolean inContextForRemoveRM = inContextForRM;
- boolean inContextForSelectRM = inContextForRM;
-// for (int i = 0; i < selectedObjects.length; ++i) {
-// if (!(selectedObjects[i] instanceof IResourceManagerMenuContribution)) {
-// // Not all of the selected are RMs
-// inContextForRM = false;
-// inContextForEditRM = false;
-// inContextForRemoveRM = false;
-// inContextForSelectRM = false;
-// break;
-// }
-// else {
-// final IResourceManagerMenuContribution menuContrib = (IResourceManagerMenuContribution) selectedObjects[i];
-// IResourceManagerControl rm = (IResourceManagerControl) menuContrib.getAdapter(IResourceManagerControl.class);
-// if (rm.getState() != ResourceManagerAttributes.State.STOPPED) {
-// inContextForEditRM = false;
-// inContextForRemoveRM = false;
-// } else {
-// inContextForSelectRM = false;
-// }
-// }
-// }
-// manager.add(removeResourceManagerAction);
-// removeResourceManagerAction.setEnabled(inContextForRemoveRM);
-// if (inContextForRemoveRM) {
-// IResourceManagerControl[] rmManagers = new IResourceManagerControl[selection.size()];
-// for (int i = 0; i < rmManagers.length; ++i) {
-// final IResourceManagerMenuContribution menuContrib = (IResourceManagerMenuContribution) selectedObjects[i];
-// rmManagers[i] = (IResourceManagerControl) menuContrib.getAdapter(IResourceManagerControl.class);
-// }
-// removeResourceManagerAction.setResourceManager(rmManagers);
-// }
-// manager.add(editResourceManagerAction);
-// editResourceManagerAction.setEnabled(inContextForEditRM);
-// if (inContextForEditRM) {
-// final IResourceManagerMenuContribution menuContrib = (IResourceManagerMenuContribution) selectedObjects[0];
-// IResourceManagerControl rmManager = (IResourceManagerControl) menuContrib.getAdapter(IResourceManagerControl.class);
-// editResourceManagerAction.setResourceManager(rmManager);
-// }
-// manager.add(new Separator());
-// manager.add(selectResourceManagerAction);
-// selectResourceManagerAction.setEnabled(inContextForSelectRM);
-// if (inContextForSelectRM) {
-// final IResourceManagerMenuContribution menuContrib = (IResourceManagerMenuContribution) selectedObjects[0];
-// IResourceManagerControl rmManager = (IResourceManagerControl) menuContrib.getAdapter(IResourceManagerControl.class);
-// selectResourceManagerAction.setResourceManager(rmManager);
-// }
- manager.add(new Separator());
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS + "-end")); //$NON-NLS-1$
+ Menu menu = menuManager.createContextMenu(fViewer.getControl());
+ fViewer.getControl().setMenu(menu);
+ getSite().registerContextMenu(menuManager, fViewer);
}
-
}

Back to the top