diff options
Diffstat (limited to 'bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/actions/BaseSelectionAction.java')
-rw-r--r-- | bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/actions/BaseSelectionAction.java | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/actions/BaseSelectionAction.java b/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/actions/BaseSelectionAction.java deleted file mode 100644 index f5bc1a248..000000000 --- a/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/actions/BaseSelectionAction.java +++ /dev/null @@ -1,157 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2007 IBM Corporation and others. - * 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 API and implementation - *******************************************************************************/ -package org.eclipse.wst.wsdl.ui.internal.asd.actions; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.emf.common.notify.Notifier; -import org.eclipse.gef.EditPart; -import org.eclipse.gef.GraphicalViewer; -import org.eclipse.gef.Request; -import org.eclipse.gef.RequestConstants; -import org.eclipse.gef.ui.actions.SelectionAction; -import org.eclipse.gef.ui.parts.AbstractEditPartViewer; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionProvider; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IWorkbenchPart; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.views.contentoutline.ContentOutline; -import org.eclipse.wst.wsdl.ui.internal.asd.design.editparts.model.AbstractModelCollection; -import org.eclipse.wst.wsdl.ui.internal.asd.facade.IASDObject; -import org.eclipse.wst.wsdl.ui.internal.util.WSDLAdapterFactoryHelper; - -public abstract class BaseSelectionAction extends SelectionAction -{ - public static final String SUBMENU_START_ID = "SUBMENU_START_ID: "; //$NON-NLS-1$ - public static final String SUBMENU_END_ID = "SUBMENU_END_ID: "; //$NON-NLS-1$ - - protected ISelectionProvider provider; - - public BaseSelectionAction(IWorkbenchPart part) - { - super(part); - } - - /* (non-Javadoc) - * @see org.eclipse.gef.ui.actions.SelectionAction#getSelection() - */ - protected ISelection getSelection() - { - // always get selection from selection provider first - if (provider!=null) - return provider.getSelection(); - - return super.getSelection(); - } - /* (non-Javadoc) - * @see org.eclipse.gef.ui.actions.SelectionAction#setSelectionProvider(org.eclipse.jface.viewers.ISelectionProvider) - */ - public void setSelectionProvider(ISelectionProvider provider) - { - super.setSelectionProvider(provider); - this.provider = provider; - } - - public List getSelectedObjects() - { - List processedObjects = new ArrayList(); - List objects = super.getSelectedObjects(); - Iterator it = objects.iterator(); - while (it.hasNext()) { - Object item = it.next(); - if (item instanceof AbstractModelCollection) { - processedObjects.add(((AbstractModelCollection) item).getModel()); - } - else { - processedObjects.add(item); - } - } - - return processedObjects; - } - - protected boolean calculateEnabled() { - Object selection = ((IStructuredSelection) getSelection()).getFirstElement(); - - if (selection instanceof IASDObject) { - return !((IASDObject) selection).isReadOnly(); - } - - return true; - } - - protected void selectAndDirectEdit(final Object o) { - Runnable runnable = new Runnable() { - public void run() { - if (o instanceof Notifier) { - performSelection(o); - activateDirectEdit(); - } - }}; - Display.getCurrent().asyncExec(runnable); - } - - protected void activateDirectEdit() { - IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart(); - if (!(part instanceof ContentOutline)) { - IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); - Object graphicalViewer = editor.getAdapter(GraphicalViewer.class); - if (graphicalViewer instanceof AbstractEditPartViewer) { - AbstractEditPartViewer viewer = (AbstractEditPartViewer) graphicalViewer; - Object obj = viewer.getSelectedEditParts().get(0); - // todo: rmah: we need to completely remove all implementations of doDirectEdit(). - // Use performRequest() instead. -// doDirectEdit((EditPart) obj); - Request request = new Request(); - request.setType(RequestConstants.REQ_DIRECT_EDIT); - ((EditPart) obj).performRequest(request); - } - } - } - - protected void doDirectEdit(EditPart ep) { - Request request = new Request(); - request.setType(RequestConstants.REQ_DIRECT_EDIT); - ep.performRequest(request); - } - - protected void performSelection(Object object) { - Object adapted = null; - - if (object instanceof Notifier) { - Notifier element = (Notifier) object; - // TODO: We shouldn't know about WSDLAdapterFactoryHelper here.... - adapted = WSDLAdapterFactoryHelper.getInstance().adapt(element); - } - else if (object instanceof IASDObject) { - adapted = object; - } - - if (adapted != null) { - try { - IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); - if (editor != null && editor.getAdapter(ISelectionProvider.class) != null) { - ISelectionProvider provider = (ISelectionProvider) editor.getAdapter(ISelectionProvider.class); - if (provider != null) { - provider.setSelection(new StructuredSelection(adapted)); - } - } - } - catch (Exception e) {} - } - } -} |