Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/views')
-rw-r--r--plugins/views/documentation/org.eclipse.papyrus.views.documentation.view.papyrus/META-INF/MANIFEST.MF3
-rw-r--r--plugins/views/documentation/org.eclipse.papyrus.views.documentation.view.papyrus/src/org/eclipse/papyrus/views/documentation/view/papyrus/PapyrusDocumentationPartHandler.java65
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/META-INF/MANIFEST.MF4
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml10
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/DecoratingLabelProviderWTooltips.java57
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/LinkHelper.java9
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/MoDiscoLabelProvider.java164
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/ModelExplorerView.java86
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/core/ui/pagebookview/ModelExplorerDecorationAdapter.java10
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/handler/LoadBrowserCustomization.java97
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/AbstractEditorContainerQuery.java38
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/AbstractGetEditorIconQuery.java16
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties/schema/labelprovider.exsd2
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/modelelement/EMFModelElement.java4
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/providers/SelectionLabelProvider.java4
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/xwt/XWTTabDescriptorProvider.java64
16 files changed, 294 insertions, 339 deletions
diff --git a/plugins/views/documentation/org.eclipse.papyrus.views.documentation.view.papyrus/META-INF/MANIFEST.MF b/plugins/views/documentation/org.eclipse.papyrus.views.documentation.view.papyrus/META-INF/MANIFEST.MF
index ee8aff2c356..06e502642f4 100644
--- a/plugins/views/documentation/org.eclipse.papyrus.views.documentation.view.papyrus/META-INF/MANIFEST.MF
+++ b/plugins/views/documentation/org.eclipse.papyrus.views.documentation.view.papyrus/META-INF/MANIFEST.MF
@@ -6,7 +6,8 @@ Require-Bundle: org.eclipse.papyrus.views.documentation.view;bundle-version="0.1
org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.5.0",
org.eclipse.papyrus.infra.emf;bundle-version="0.10.0",
org.eclipse.papyrus.infra.core.sasheditor;bundle-version="0.10.0",
- org.eclipse.papyrus.infra.core;bundle-version="0.10.0"
+ org.eclipse.papyrus.infra.core;bundle-version="0.10.0",
+ org.eclipse.papyrus.infra.services.labelprovider;bundle-version="0.10.0"
Bundle-Vendor: %providerName
Bundle-Version: 0.10.0.qualifier
Bundle-Name: %pluginName
diff --git a/plugins/views/documentation/org.eclipse.papyrus.views.documentation.view.papyrus/src/org/eclipse/papyrus/views/documentation/view/papyrus/PapyrusDocumentationPartHandler.java b/plugins/views/documentation/org.eclipse.papyrus.views.documentation.view.papyrus/src/org/eclipse/papyrus/views/documentation/view/papyrus/PapyrusDocumentationPartHandler.java
index 0b8d5bebc37..cb45225a5e7 100644
--- a/plugins/views/documentation/org.eclipse.papyrus.views.documentation.view.papyrus/src/org/eclipse/papyrus/views/documentation/view/papyrus/PapyrusDocumentationPartHandler.java
+++ b/plugins/views/documentation/org.eclipse.papyrus.views.documentation.view.papyrus/src/org/eclipse/papyrus/views/documentation/view/papyrus/PapyrusDocumentationPartHandler.java
@@ -25,15 +25,21 @@ import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.gmf.runtime.diagram.ui.parts.IDiagramWorkbenchPart;
import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.papyrus.infra.core.editor.CoreMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor;
import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageMngr;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
import org.eclipse.papyrus.infra.emf.providers.MoDiscoContentProvider;
import org.eclipse.papyrus.infra.gmfdiag.common.DiagramsUtil;
+import org.eclipse.papyrus.infra.services.labelprovider.service.LabelProviderService;
import org.eclipse.papyrus.views.documentation.DocumentationManager;
import org.eclipse.papyrus.views.documentation.IDocumentationManager;
import org.eclipse.papyrus.views.documentation.view.IDocumentationPartHandler;
import org.eclipse.papyrus.views.documentation.view.SelectResourceDialog;
-import org.eclipse.papyrus.views.modelexplorer.MoDiscoLabelProvider;
import org.eclipse.papyrus.views.modelexplorer.ModelExplorerPageBookView;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPart;
@@ -52,10 +58,14 @@ public class PapyrusDocumentationPartHandler implements IDocumentationPartHandle
}
public void executeCommand(IWorkbenchPart part, Command cmd) {
- CoreMultiDiagramEditor editor = getPapyrusEditor(part);
- if(editor != null && cmd != null) {
- TransactionalEditingDomain domain = (TransactionalEditingDomain)editor.getEditingDomain();
- domain.getCommandStack().execute(cmd);
+ ServicesRegistry registry = getServicesRegistry(part);
+ if(registry != null && cmd != null) {
+ try {
+ TransactionalEditingDomain domain = ServiceUtils.getInstance().getTransactionalEditingDomain(registry);
+ domain.getCommandStack().execute(cmd);
+ } catch (ServiceException ex) {
+ ex.printStackTrace(System.err);
+ }
}
}
@@ -78,9 +88,9 @@ public class PapyrusDocumentationPartHandler implements IDocumentationPartHandle
public void openElement(IWorkbenchPart part, URI elementUri) {
try {
- CoreMultiDiagramEditor editor = getPapyrusEditor(part);
- if(editor != null) {
- EditingDomain ed = editor.getEditingDomain();
+ ServicesRegistry registry = getServicesRegistry(part);
+ if(registry != null) {
+ EditingDomain ed = ServiceUtils.getInstance().getTransactionalEditingDomain(registry);
if(ed != null) {
EObject eObject = ed.getResourceSet().getEObject(elementUri, false);
Diagram diagram = null;
@@ -93,7 +103,7 @@ public class PapyrusDocumentationPartHandler implements IDocumentationPartHandle
}
}
if(diagram != null) {
- IPageMngr pageMngr = (IPageMngr)editor.getAdapter(IPageMngr.class);
+ IPageMngr pageMngr = ServiceUtils.getInstance().getIPageMngr(registry);
if(pageMngr != null) {
if(pageMngr.isOpen(diagram)) {
pageMngr.closePage(diagram);
@@ -109,8 +119,8 @@ public class PapyrusDocumentationPartHandler implements IDocumentationPartHandle
public EObject openElementSelectionDialog(IWorkbenchPart part) {
Object selectedElement = null;
- CoreMultiDiagramEditor editor = getPapyrusEditor(part);
- if(editor != null) {
+ ServicesRegistry registry = getServicesRegistry(part);
+ if(registry != null) {
ISelectionStatusValidator validator = new ISelectionStatusValidator() {
public IStatus validate(Object[] selectedElements) {
@@ -129,16 +139,29 @@ public class PapyrusDocumentationPartHandler implements IDocumentationPartHandle
return enableOK ? new Status(IStatus.OK, "org.eclipse.emf.common.ui", 0, msg, null) : new Status(IStatus.ERROR, "org.eclipse.emf.common.ui", 0, msg, null);
}
};
- selectedElement = SelectResourceDialog.openElementSelection(editor.getServicesRegistry(), new MoDiscoLabelProvider(), new MoDiscoContentProvider(), validator, null, true);
+
+ ILabelProvider labelProvider;
+ try {
+ labelProvider = registry.getService(LabelProviderService.class).getLabelProvider();
+ } catch (ServiceException ex) {
+ ex.printStackTrace(System.out);
+ labelProvider = new LabelProvider();
+ }
+
+ selectedElement = SelectResourceDialog.openElementSelection(registry, labelProvider, new MoDiscoContentProvider(), validator, null, true);
}
return adapt(selectedElement);
}
public boolean isReadOnly(IWorkbenchPart part, EObject eObject) {
- CoreMultiDiagramEditor editor = getPapyrusEditor(part);
- if(editor != null && eObject != null) {
- TransactionalEditingDomain domain = (TransactionalEditingDomain)editor.getEditingDomain();
- return domain.isReadOnly(eObject.eResource());
+ ServicesRegistry registry = getServicesRegistry(part);
+ if(registry != null && eObject != null) {
+ try {
+ TransactionalEditingDomain domain = ServiceUtils.getInstance().getTransactionalEditingDomain(registry);
+ return domain.isReadOnly(eObject.eResource());
+ } catch (ServiceException ex) {
+ ex.printStackTrace(System.out);
+ }
}
return false;
}
@@ -153,13 +176,13 @@ public class PapyrusDocumentationPartHandler implements IDocumentationPartHandle
return null;
}
- private static CoreMultiDiagramEditor getPapyrusEditor(IWorkbenchPart part) {
- if(part instanceof CoreMultiDiagramEditor) {
- return (CoreMultiDiagramEditor)part;
+ private static ServicesRegistry getServicesRegistry(IWorkbenchPart part) {
+ if(part instanceof IMultiDiagramEditor) {
+ return ((IMultiDiagramEditor)part).getServicesRegistry();
}
IEditorPart activeEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
- if(activeEditor instanceof CoreMultiDiagramEditor) {
- return (CoreMultiDiagramEditor)activeEditor;
+ if(activeEditor instanceof IMultiDiagramEditor) {
+ return ((IMultiDiagramEditor)activeEditor).getServicesRegistry();
}
return null;
}
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/META-INF/MANIFEST.MF b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/META-INF/MANIFEST.MF
index 4e7dd8d363d..e284979b6b6 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/META-INF/MANIFEST.MF
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/META-INF/MANIFEST.MF
@@ -34,8 +34,8 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="0.10.0",
org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.6.0",
org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="0.10.0",
- org.eclipse.papyrus.uml.tools;bundle-version="0.10.0",
- org.eclipse.papyrus.infra.gmfdiag.preferences;bundle-version="0.10.0"
+ org.eclipse.papyrus.infra.gmfdiag.preferences;bundle-version="0.10.0",
+ org.eclipse.papyrus.infra.services.semantic;bundle-version="0.10.0"
Export-Package: org.eclipse.papyrus.views.modelexplorer,
org.eclipse.papyrus.views.modelexplorer.actionprovider,
org.eclipse.papyrus.views.modelexplorer.actions,
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml
index 8cef02611ae..f64bf2ecec6 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml
@@ -21,7 +21,13 @@
</dragAssistant>
</extension>
<extension point="org.eclipse.ui.navigator.navigatorContent">
- <navigatorContent activeByDefault="false" contentProvider="org.eclipse.papyrus.infra.emf.providers.MoDiscoContentProvider" id="org.eclipse.papyrus.views.modelexplorer.navigatorContent" labelProvider="org.eclipse.papyrus.views.modelexplorer.MoDiscoLabelProvider" name="Model Contents" priority="lowest">
+ <navigatorContent
+ activeByDefault="false"
+ contentProvider="org.eclipse.papyrus.infra.emf.providers.MoDiscoContentProvider"
+ id="org.eclipse.papyrus.views.modelexplorer.navigatorContent"
+ labelProvider="org.eclipse.jface.viewers.LabelProvider"
+ name="Model Contents"
+ priority="lowest">
<triggerPoints>
<or>
<instanceof value="org.eclipse.emf.ecore.EObject">
@@ -231,7 +237,7 @@
</instanceof>
</selectionEnablement>
<editorInputEnablement>
- <instanceof value="org.eclipse.ui.part.IFileEditorInput">
+ <instanceof value="org.eclipse.ui.IFileEditorInput">
</instanceof>
</editorInputEnablement>
</linkHelper>
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/DecoratingLabelProviderWTooltips.java b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/DecoratingLabelProviderWTooltips.java
index ad8489d64a9..020ad9522ce 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/DecoratingLabelProviderWTooltips.java
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/DecoratingLabelProviderWTooltips.java
@@ -16,28 +16,71 @@
*****************************************************************************/
package org.eclipse.papyrus.views.modelexplorer;
+import java.util.List;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+import org.eclipse.papyrus.infra.services.decoration.DecorationService;
+import org.eclipse.papyrus.infra.services.decoration.util.Decoration;
+import org.eclipse.papyrus.infra.services.decoration.util.IPapyrusDecoration;
+import org.eclipse.papyrus.views.modelexplorer.core.ui.pagebookview.ModelExplorerDecorationAdapter;
+import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.ui.internal.navigator.NavigatorDecoratingLabelProvider;
/**
- * the label provider that inherits of modisco label provider
- *
+ * A LabelProvider with support for decorations
*/
public class DecoratingLabelProviderWTooltips extends NavigatorDecoratingLabelProvider {
- private MoDiscoLabelProvider moDiscoLP;
+ private DecorationService decorationService;
- public DecoratingLabelProviderWTooltips(ILabelProvider labelProvider) {
+ public DecoratingLabelProviderWTooltips(ILabelProvider labelProvider, ServicesRegistry servicesRegistry) {
super(labelProvider);
- if(labelProvider instanceof MoDiscoLabelProvider) {
- moDiscoLP = (MoDiscoLabelProvider)labelProvider;
+ try {
+ this.decorationService = servicesRegistry.getService(DecorationService.class);
+ } catch (ServiceException ex) {
+ Activator.log.error(ex);
}
}
@Override
public String getToolTipText(Object element) {
- return moDiscoLP.getMarkerMessage(element);
+ if(decorationService == null) {
+ return null;
+ }
+
+ List<IPapyrusDecoration> decorations = decorationService.getDecorations(element, true);
+ return Decoration.getMessageFromDecorations(decorations);
+ }
+
+ @Override
+ public Image getImage(Object element) {
+ Image baseImage = super.getImage(element);
+
+ if(decorationService == null) {
+ return baseImage;
+ }
+ // Get the Model Explorer Adapter
+ ModelExplorerDecorationAdapter adapter = new ModelExplorerDecorationAdapter(baseImage);
+
+
+ //Set the adapter decoration with position as indicated by decoration (from decoration service)
+ if(element != null) {
+ if(element instanceof EObject || (element instanceof IAdaptable && ((IAdaptable)element).getAdapter(EObject.class) != null)) {
+ List<IPapyrusDecoration> decorations = decorationService.getDecorations(element, true);
+ if(decorations != null) {
+ adapter.setDecorations(decorations);
+ }
+ }
+ }
+
+ //return the target decorated
+ return adapter.getDecoratedImage();
+
}
@Override
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/LinkHelper.java b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/LinkHelper.java
index e72d1ace22b..9f696c74c82 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/LinkHelper.java
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/LinkHelper.java
@@ -21,10 +21,8 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITreeSelection;
-import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor;
import org.eclipse.papyrus.infra.core.sasheditor.editor.ISashWindowsContainer;
-import org.eclipse.papyrus.infra.core.utils.EditorUtils;
-import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
+import org.eclipse.papyrus.infra.core.utils.ServiceUtilsForWorkbenchPage;
import org.eclipse.papyrus.infra.widgets.util.IRevealSemanticElement;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
@@ -65,11 +63,8 @@ public class LinkHelper implements ILinkHelper {
//test if the selection come the tree viewer in order to avoid cycle: Diagram -> tree-> diagram
// if the diagram has been selected the selection is not a TreeSelection
if(selection instanceof ITreeSelection) {
- IMultiDiagramEditor papyrusEditor = EditorUtils.getMultiDiagramEditor();
-
-
try {
- ISashWindowsContainer windowsContainer = ServiceUtils.getInstance().getISashWindowsContainer(papyrusEditor.getServicesRegistry());
+ ISashWindowsContainer windowsContainer = ServiceUtilsForWorkbenchPage.getInstance().getISashWindowsContainer(aPage);
Iterator<IEditorPart> iterPart = windowsContainer.getVisibleIEditorParts().iterator();
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/MoDiscoLabelProvider.java b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/MoDiscoLabelProvider.java
deleted file mode 100644
index d0466f36b50..00000000000
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/MoDiscoLabelProvider.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
- *
- *
- * 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:
- * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr - Initial API and implementation
- * Emilien Perico (Atos Origin) emilien.perico@atosorigin.com - Initial API and implementation
- * Amine EL KOUHEN (CEA LIST/LIFL) - Added the decorator Factory
- *****************************************************************************/
-package org.eclipse.papyrus.views.modelexplorer;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.facet.infra.browser.uicore.CustomizableModelLabelProvider;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.papyrus.infra.core.editorsfactory.IPageIconsRegistry;
-import org.eclipse.papyrus.infra.core.editorsfactory.PageIconsRegistry;
-import org.eclipse.papyrus.infra.core.services.ServiceException;
-import org.eclipse.papyrus.infra.core.utils.EditorUtils;
-import org.eclipse.papyrus.infra.services.decoration.DecorationService;
-import org.eclipse.papyrus.infra.services.decoration.util.Decoration;
-import org.eclipse.papyrus.infra.services.decoration.util.IPapyrusDecoration;
-import org.eclipse.papyrus.views.modelexplorer.core.ui.pagebookview.ModelExplorerDecorationAdapter;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * the label provider that inherits of modisco label provider.
- */
-public class MoDiscoLabelProvider extends CustomizableModelLabelProvider {
-
- /** icon registry. */
- private IPageIconsRegistry editorRegistry;
-
- /** Decoration Service *. */
- private DecorationService decorationService;
-
- /**
- * Creates a new MoDiscoLabelProvider.
- */
- public MoDiscoLabelProvider() {
- super(Activator.getDefault().getCustomizationManager());
- try {
- decorationService = EditorUtils.getServiceRegistry().getService(DecorationService.class);
- /* OR : decorationService = ServiceUtilsForActionHandlers.getInstance().getServiceRegistry().getService(DecorationService.class); */
- } catch (ServiceException ex) {
- Activator.log.error(ex);
- }
- }
-
- /**
- * Returns the message of the marker for the specified element.
- *
- * @param element
- * the element for which the marker message should be found
- * @return the message of the marker for the specified element
- */
- public String getMarkerMessage(Object element) {
- EList<IPapyrusDecoration> decorations = decorationService.getDecorations(element, true);
- return Decoration.getMessageFromDecorations(decorations);
- }
-
- /**
- * return the image of an element in the model browser
- * evaluates error markers.
- *
- * @param element
- * the element
- * @return the image
- */
- @Override
- public Image getImage(Object element) {
-
- // Get the Model Explorer Adapter
- ModelExplorerDecorationAdapter adapter = new ModelExplorerDecorationAdapter(null);
-
-
- //Set the decoration target
- /**
- * Useless since EMF Facet integration with bug 358732
- */
- if(element instanceof Diagram) {
- adapter.setDecoratorTarget(getEditorRegistry().getEditorIcon(element));
- } else {
- adapter.setDecoratorTarget(super.getImage(element));
- }
-
- //Set the adapter decoration with position as indicated by decoration (from decoration service)
- if(element != null) {
- if(element instanceof EObject || (element instanceof IAdaptable && ((IAdaptable)element).getAdapter(EObject.class) != null)) {
- EList<IPapyrusDecoration> decorations = decorationService.getDecorations(element, true);
- if(decorations != null) {
- adapter.setDecorations(decorations);
- }
- }
- }
-
- //return the target decorated
- return adapter.getDecoratedImage();
-
- }
-
- /**
- * Get the EditorRegistry used to create editor instances. This default
- * implementation return the singleton eINSTANCE. This method can be
- * subclassed to return another registry.
- *
- * @return the singleton eINSTANCE of editor registry
- */
- protected IPageIconsRegistry getEditorRegistry() {
- if(editorRegistry == null) {
- editorRegistry = createEditorRegistry();
- }
- return editorRegistry;
- }
-
- /**
- * Return the EditorRegistry for nested editor descriptors. Subclass should
- * implements this method in order to return the registry associated to the
- * extension point namespace.
- *
- * @return the EditorRegistry for nested editor descriptors
- */
- protected IPageIconsRegistry createEditorRegistry() {
- try {
- return EditorUtils.getServiceRegistry().getService(IPageIconsRegistry.class);
- } catch (ServiceException e) {
- // Not found, return an empty one which return null for each
- // request.
- return new PageIconsRegistry();
- }
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public String getText(Object element) {
- String text = null;
- if(element instanceof Diagram) {
- Diagram diagram = (Diagram)element;
- text = diagram.getName();
- } else if(element instanceof IAdaptable) {
- EObject obj = (EObject)((IAdaptable)element).getAdapter(EObject.class);
- if(obj instanceof InternalEObject && obj.eIsProxy()) {
- InternalEObject internal = (InternalEObject)obj;
- text = NLS.bind(Messages.MoDiscoLabelProvider_ProxyLabel, obj.getClass().getSimpleName(), internal.eProxyURI().trimFragment());
- // Messages.MoDiscoLabelProvider_0 + + Messages.MoDiscoLabelProvider_1 + ;;
- } else {
- text = super.getText(element);
- }
- } else {
- text = super.getText(element);
- }
- return text;
- }
-}
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/ModelExplorerView.java b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/ModelExplorerView.java
index 8681d76ab8a..c49f48a472b 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/ModelExplorerView.java
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/ModelExplorerView.java
@@ -22,7 +22,6 @@ import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
@@ -40,6 +39,7 @@ import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.window.ToolTip;
@@ -51,9 +51,9 @@ import org.eclipse.papyrus.infra.core.resource.additional.AdditionalResourcesMod
import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageMngr;
import org.eclipse.papyrus.infra.core.services.ServiceException;
import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
-import org.eclipse.papyrus.infra.core.utils.EditorUtils;
import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
import org.eclipse.papyrus.infra.emf.providers.SemanticFromModelExplorer;
+import org.eclipse.papyrus.infra.services.labelprovider.service.LabelProviderService;
import org.eclipse.papyrus.infra.widgets.util.IRevealSemanticElement;
import org.eclipse.papyrus.views.modelexplorer.listener.DoubleClickListener;
import org.eclipse.papyrus.views.modelexplorer.matching.IMatchingItem;
@@ -97,6 +97,13 @@ import com.google.common.collect.Lists;
public class ModelExplorerView extends CommonNavigator implements IRevealSemanticElement, IEditingDomainProvider {
/**
+ * The context of the LabelProviderService used by this view
+ *
+ * @see {@link LabelProviderService}
+ */
+ public static final String LABEL_PROVIDER_SERVICE_CONTEXT = "org.eclipse.papyrus.views.modelexplorer.labelProvider.context";
+
+ /**
* The associated EditorPart
* The View is associated to the ServicesRegistry rather than to an editor.
* */
@@ -323,15 +330,29 @@ public class ModelExplorerView extends CommonNavigator implements IRevealSemanti
@SuppressWarnings("unchecked")
// get label provider from content service (which in turn evaluates extension points in
// function of the input)
- Set<Object> descriptors = contentService.findDescriptorsByTriggerPoint(getInitialInput(), false);
+ Object input = getInitialInput();
+ Set<Object> descriptors = contentService.findDescriptorsByTriggerPoint(input, false);
for(Object descriptor : descriptors) {
if(descriptor instanceof NavigatorContentDescriptor) {
- try {
- ILabelProvider labelProvider = ((NavigatorContentDescriptor)descriptor).createLabelProvider();
- viewer.setLabelProvider(new DecoratingLabelProviderWTooltips(labelProvider)); // add for decorator and tooltip support
- } catch (CoreException e) {
- Activator.log.error(e);
+ ILabelProvider labelProvider = null;
+
+ if(input instanceof ServicesRegistry) {
+ ServicesRegistry registry = (ServicesRegistry)input;
+ try {
+ labelProvider = registry.getService(LabelProviderService.class).getLabelProvider(LABEL_PROVIDER_SERVICE_CONTEXT);
+ } catch (ServiceException ex) {
+ Activator.log.error(ex);
+ }
+
+ labelProvider = new DecoratingLabelProviderWTooltips(labelProvider, (ServicesRegistry)input);
+ }
+
+ if(labelProvider == null) {
+ labelProvider = new LabelProvider();
}
+
+ //ILabelProvider labelProvider = ((NavigatorContentDescriptor)descriptor).createLabelProvider();
+ viewer.setLabelProvider(labelProvider); // add for decorator and tooltip support
break;
}
}
@@ -584,16 +605,20 @@ public class ModelExplorerView extends CommonNavigator implements IRevealSemanti
* @return
*/
private IPropertySheetPage getPropertySheetPage() {
- final IMultiDiagramEditor multiDiagramEditor = EditorUtils.getMultiDiagramEditor();
+ try {
+ final IMultiDiagramEditor multiDiagramEditor = ServiceUtils.getInstance().getService(IMultiDiagramEditor.class, serviceRegistry);
- if(multiDiagramEditor != null) {
- if(propertySheetPage == null) {
- if(multiDiagramEditor instanceof ITabbedPropertySheetPageContributor) {
- ITabbedPropertySheetPageContributor contributor = (ITabbedPropertySheetPageContributor)multiDiagramEditor;
- this.propertySheetPage = new TabbedPropertySheetPage(contributor);
+ if(multiDiagramEditor != null) {
+ if(propertySheetPage == null) {
+ if(multiDiagramEditor instanceof ITabbedPropertySheetPageContributor) {
+ ITabbedPropertySheetPageContributor contributor = (ITabbedPropertySheetPageContributor)multiDiagramEditor;
+ this.propertySheetPage = new TabbedPropertySheetPage(contributor);
+ }
}
+ return propertySheetPage;
}
- return propertySheetPage;
+ } catch (ServiceException ex) {
+ Activator.log.error(ex);
}
return null;
}
@@ -649,8 +674,11 @@ public class ModelExplorerView extends CommonNavigator implements IRevealSemanti
/**
* Expands the given CommonViewer to reveal the given elements
- * @param elementList The elements to reveal
- * @param commonViewer The CommonViewer they are to be revealed in
+ *
+ * @param elementList
+ * The elements to reveal
+ * @param commonViewer
+ * The CommonViewer they are to be revealed in
*/
public static void reveal(Iterable<?> elementList, CommonViewer commonViewer) {
ArrayList<IMatchingItem> matchingItemsToSelect = new ArrayList<IMatchingItem>();
@@ -680,15 +708,15 @@ public class ModelExplorerView extends CommonNavigator implements IRevealSemanti
// reveal the resource if necessary
Resource r = null;
- if (!parents.isEmpty()) {
- r = parents.get(parents.size() - 1).eResource();
+ if(!parents.isEmpty()) {
+ r = parents.get(parents.size() - 1).eResource();
} else {
r = currentEObject.eResource();
}
- if (r != null) {
+ if(r != null) {
ResourceSet rs = r.getResourceSet();
- if (rs instanceof ModelSet && AdditionalResourcesModel.isAdditionalResource((ModelSet)rs, r.getURI())) {
+ if(rs instanceof ModelSet && AdditionalResourcesModel.isAdditionalResource((ModelSet)rs, r.getURI())) {
commonViewer.expandToLevel(new ReferencableMatchingItem(rs), 1);
commonViewer.expandToLevel(new ReferencableMatchingItem(r), 1);
}
@@ -720,11 +748,14 @@ public class ModelExplorerView extends CommonNavigator implements IRevealSemanti
selectReveal(new StructuredSelection(matchingItemsToSelect), commonViewer);
}
-
+
/**
* Selects the given ISelection in the given CommonViwer
- * @param structuredSelection The ISelection to select
- * @param commonViewer The ComonViewer to select it in
+ *
+ * @param structuredSelection
+ * The ISelection to select
+ * @param commonViewer
+ * The ComonViewer to select it in
*/
public static void selectReveal(ISelection structuredSelection, Viewer commonViewer) {
commonViewer.setSelection(structuredSelection, true);
@@ -732,8 +763,11 @@ public class ModelExplorerView extends CommonNavigator implements IRevealSemanti
/**
* Selects and, if possible, reveals the given ISelection in the given CommonViwer
- * @param selection The ISelection to select
- * @param viewer The ComonViewer to select it in
+ *
+ * @param selection
+ * The ISelection to select
+ * @param viewer
+ * The ComonViewer to select it in
*/
public static void reveal(ISelection selection, CommonViewer viewer) {
if(selection instanceof IStructuredSelection) {
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/core/ui/pagebookview/ModelExplorerDecorationAdapter.java b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/core/ui/pagebookview/ModelExplorerDecorationAdapter.java
index a955d2b702e..4fb2228d7ab 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/core/ui/pagebookview/ModelExplorerDecorationAdapter.java
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/core/ui/pagebookview/ModelExplorerDecorationAdapter.java
@@ -12,7 +12,8 @@
*****************************************************************************/
package org.eclipse.papyrus.views.modelexplorer.core.ui.pagebookview;
-import org.eclipse.emf.common.util.EList;
+import java.util.List;
+
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.DecorationOverlayIcon;
import org.eclipse.papyrus.infra.services.decoration.util.IPapyrusDecoration;
@@ -31,7 +32,7 @@ public class ModelExplorerDecorationAdapter {
protected Image decoratorTarget;
/** The decoration. */
- protected EList<IPapyrusDecoration> decorations;
+ protected List<IPapyrusDecoration> decorations;
/** The decoration position. */
protected int decorationPosition;
@@ -67,7 +68,7 @@ public class ModelExplorerDecorationAdapter {
* @param decorationPosition
* the decoration position
*/
- public void setDecorations(EList<IPapyrusDecoration> decorations) {
+ public void setDecorations(List<IPapyrusDecoration> decorations) {
this.decorations = decorations;
}
@@ -103,6 +104,9 @@ public class ModelExplorerDecorationAdapter {
* the decoration position
*/
public Image getDecoratedImage() {
+ if(decoratorTarget == null) {
+ return null;
+ }
if(decorations == null) {
return decoratorTarget;
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/handler/LoadBrowserCustomization.java b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/handler/LoadBrowserCustomization.java
index 27aec4e2df8..3852be90c15 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/handler/LoadBrowserCustomization.java
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/handler/LoadBrowserCustomization.java
@@ -15,6 +15,7 @@ package org.eclipse.papyrus.views.modelexplorer.handler;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -43,8 +44,8 @@ import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageMngr;
import org.eclipse.papyrus.infra.core.services.ServiceException;
import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
-import org.eclipse.papyrus.infra.core.utils.ServiceUtilsForActionHandlers;
-import org.eclipse.papyrus.uml.tools.model.UmlUtils;
+import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForHandlers;
+import org.eclipse.papyrus.infra.services.semantic.service.SemanticService;
import org.eclipse.papyrus.views.modelexplorer.Activator;
import org.eclipse.papyrus.views.modelexplorer.ModelExplorerPageBookView;
import org.eclipse.swt.widgets.Shell;
@@ -84,7 +85,16 @@ public class LoadBrowserCustomization extends AbstractHandler {
CustomizationManager customizationManager = Activator.getDefault().getCustomizationManager();
final List<MetamodelView> registeredCustomizations = customizationManager.getRegisteredCustomizations();
- final LoadCustomizationsDialog loadCustomizationsDialog = new LoadCustomizationsDialog(new Shell(), registeredCustomizations, getMetamodels());
+ LoadCustomizationsDialog loadCustomizationsDialog;
+
+ try {
+ ServicesRegistry registry = ServiceUtilsForHandlers.getInstance().getServiceRegistry(event);
+ loadCustomizationsDialog = new LoadCustomizationsDialog(new Shell(), registeredCustomizations, getMetamodels(registry));
+ } catch (ServiceException ex) {
+ Activator.log.error(ex);
+ loadCustomizationsDialog = new LoadCustomizationsDialog(new Shell(), registeredCustomizations, Collections.<EPackage> emptyList());
+ }
+
if(Window.OK == loadCustomizationsDialog.open()) {
try {
@@ -220,37 +230,32 @@ public class LoadBrowserCustomization extends AbstractHandler {
return builder.toString();
}
- /**
- * Get the metmodel URI
- * **/
- public String getMetamodelURI() {
-
- try {
- EList<EObject> contents = UmlUtils.getUmlResource(getModelSet()).getContents();
- if(contents.size() > 0) {
- EObject eObject = contents.get(0);
- EClass eClass = eObject.eClass();
- if(eClass != null) {
- return eClass.getEPackage().getNsURI();
- }
- }
- } catch (Exception e) {
- Activator.log.error(e);
- }
- return ""; //$NON-NLS-1$
- }
+ // /**
+ // * Get the metmodel URI
+ // * **/
+ //@Unused
+ // private String getMetamodelURI() {
+ //
+ // try {
+ // EList<EObject> contents = UmlUtils.getUmlResource(getModelSet()).getContents();
+ // if(contents.size() > 0) {
+ // EObject eObject = contents.get(0);
+ // EClass eClass = eObject.eClass();
+ // if(eClass != null) {
+ // return eClass.getEPackage().getNsURI();
+ // }
+ // }
+ // } catch (Exception e) {
+ // Activator.log.error(e);
+ // }
+ // return ""; //$NON-NLS-1$
+ // }
/**
* Get the metmodel URI
* **/
- public List<EPackage> getMetamodels() {
+ protected List<EPackage> getMetamodels(ServicesRegistry serviceRegistry) {
List<EPackage> ePackages = new ArrayList<EPackage>();
- ServicesRegistry serviceRegistry = null;
- try {
- serviceRegistry = ServiceUtilsForActionHandlers.getInstance().getServiceRegistry();
- } catch (ServiceException e) {
- Activator.log.error(e);
- }
/*
* we look for the current editors, because their are represented in the model explorer
@@ -259,30 +264,32 @@ public class LoadBrowserCustomization extends AbstractHandler {
IPageMngr pageMngr = null;
try {
pageMngr = ServiceUtils.getInstance().getIPageMngr(serviceRegistry);
- } catch (ServiceException e) {
- Activator.log.error(e);
- }
- List<Object> pages = pageMngr.allPages();
- for(int i = 0; i < pages.size(); i++) {
- if(pages.get(i) instanceof EObject) {
- EPackage ePackage = ((EObject)pages.get(i)).eClass().getEPackage();
- if(!ePackages.contains(ePackage)) {
- ePackages.add(ePackage);
+ List<Object> pages = pageMngr.allPages();
+ for(int i = 0; i < pages.size(); i++) {
+ if(pages.get(i) instanceof EObject) {
+ EPackage ePackage = ((EObject)pages.get(i)).eClass().getEPackage();
+ if(!ePackages.contains(ePackage)) {
+ ePackages.add(ePackage);
+ }
}
}
+ } catch (ServiceException e) {
+ Activator.log.error(e);
}
try {
- EList<EObject> contents = UmlUtils.getUmlResource(getModelSet()).getContents();
- if(contents.size() > 0) {
- EObject eObject = contents.get(0);
- EClass eClass = eObject.eClass();
+ SemanticService semantic = serviceRegistry.getService(SemanticService.class);
+ for(EObject rootElement : semantic.getSemanticRoots()) {
+ EClass eClass = rootElement.eClass();
if(eClass != null) {
- ePackages.add(eClass.getEPackage());
+ EPackage ePackage = eClass.getEPackage();
+ if(!ePackages.contains(ePackage)) {
+ ePackages.add(eClass.getEPackage());
+ }
}
}
- } catch (Exception e) {
- Activator.log.error(e);
+ } catch (ServiceException ex) {
+ Activator.log.error(ex);
}
return ePackages;
}
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/AbstractEditorContainerQuery.java b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/AbstractEditorContainerQuery.java
index e60271bcead..d835c942cdc 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/AbstractEditorContainerQuery.java
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/AbstractEditorContainerQuery.java
@@ -14,32 +14,28 @@
package org.eclipse.papyrus.views.modelexplorer.queries;
-import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor;
-import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageMngr;
-import org.eclipse.papyrus.infra.core.services.ServiceException;
-import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
-import org.eclipse.papyrus.infra.core.utils.EditorUtils;
-import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
/**
*
* An abstract class to get the pageMngr
- *
+ *
*/
public abstract class AbstractEditorContainerQuery {//we don't need to implements IJavaModelQuery here
- /**
- *
- * @return
- * @throws ServiceException
- */
- protected IPageMngr getPageMngr() throws ServiceException {
- // pageMngr can't be static, because there is a new IPageMngr each time we open a Papyrus Editor
- IMultiDiagramEditor papyrusEditor = EditorUtils.getMultiDiagramEditor();
- if (papyrusEditor != null) {
- ServicesRegistry serviceRegistry = papyrusEditor.getServicesRegistry();
- return ServiceUtils.getInstance().getIPageMngr(serviceRegistry);
- }
- throw new ServiceException("Can't retrieve the IPageMngr");
- }
+ // /**
+ // *
+ // * @return
+ // * @throws ServiceException
+ // */
+ // @Deprecated
+ // //@unused
+ // protected IPageMngr getPageMngr() throws ServiceException {
+ // // pageMngr can't be static, because there is a new IPageMngr each time we open a Papyrus Editor
+ // IMultiDiagramEditor papyrusEditor = EditorUtils.getMultiDiagramEditor();
+ // if (papyrusEditor != null) {
+ // ServicesRegistry serviceRegistry = papyrusEditor.getServicesRegistry();
+ // return ServiceUtils.getInstance().getIPageMngr(serviceRegistry);
+ // }
+ // throw new ServiceException("Can't retrieve the IPageMngr");
+ // }
}
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/AbstractGetEditorIconQuery.java b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/AbstractGetEditorIconQuery.java
index a2eced89f0b..a828c2feafa 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/AbstractGetEditorIconQuery.java
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/AbstractGetEditorIconQuery.java
@@ -14,18 +14,19 @@
package org.eclipse.papyrus.views.modelexplorer.queries;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.papyrus.infra.core.editorsfactory.IPageIconsRegistry;
import org.eclipse.papyrus.infra.core.editorsfactory.IPageIconsRegistryExtended;
import org.eclipse.papyrus.infra.core.editorsfactory.PageIconsRegistry;
import org.eclipse.papyrus.infra.core.services.ServiceException;
-import org.eclipse.papyrus.infra.core.utils.EditorUtils;
+import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForEObject;
/**
*
* An abstract class to get the iconRegistery
- *
+ *
*/
-public abstract class AbstractGetEditorIconQuery{//we don't need to implements IJavaModelQuery here
+public abstract class AbstractGetEditorIconQuery {//we don't need to implements IJavaModelQuery here
/**
* the icon registry
@@ -39,9 +40,9 @@ public abstract class AbstractGetEditorIconQuery{//we don't need to implements I
*
* @return the singleton eINSTANCE of editor registry
*/
- protected IPageIconsRegistryExtended getEditorRegistry() {
+ protected IPageIconsRegistryExtended getEditorRegistry(EObject context) {
if(editorRegistry == null) {
- editorRegistry = createEditorRegistry();
+ editorRegistry = createEditorRegistry(context);
}
if(!(editorRegistry instanceof IPageIconsRegistryExtended)) {
throw new RuntimeException("The editor registry do not implement IPageIconsRegistryExtended");////$NON-NLS-1$
@@ -55,11 +56,10 @@ public abstract class AbstractGetEditorIconQuery{//we don't need to implements I
* extension point namespace.
*
* @return the EditorRegistry for nested editor descriptors
- * FIXME : use a deprecated method
*/
- protected IPageIconsRegistry createEditorRegistry() {
+ protected IPageIconsRegistry createEditorRegistry(EObject context) {
try {
- return EditorUtils.getServiceRegistry().getService(IPageIconsRegistry.class);
+ return ServiceUtilsForEObject.getInstance().getService(IPageIconsRegistry.class, context);
} catch (ServiceException e) {
// Not found, return an empty one which return null for each
// request.
diff --git a/plugins/views/properties/org.eclipse.papyrus.views.properties/schema/labelprovider.exsd b/plugins/views/properties/org.eclipse.papyrus.views.properties/schema/labelprovider.exsd
index 4230f16eacf..453c5c8a592 100644
--- a/plugins/views/properties/org.eclipse.papyrus.views.properties/schema/labelprovider.exsd
+++ b/plugins/views/properties/org.eclipse.papyrus.views.properties/schema/labelprovider.exsd
@@ -55,7 +55,7 @@
</documentation>
<appInfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.widgets.providers.IFilteredLabelProvider"/>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.services.labelprovider.service.IFilteredLabelProvider"/>
</appInfo>
</annotation>
</attribute>
diff --git a/plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/modelelement/EMFModelElement.java b/plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/modelelement/EMFModelElement.java
index 8b225b9345b..3aa0e1310f8 100644
--- a/plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/modelelement/EMFModelElement.java
+++ b/plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/modelelement/EMFModelElement.java
@@ -24,11 +24,11 @@ import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.papyrus.infra.core.services.ServiceException;
import org.eclipse.papyrus.infra.emf.databinding.EMFObservableList;
import org.eclipse.papyrus.infra.emf.databinding.EMFObservableValue;
import org.eclipse.papyrus.infra.emf.providers.EMFContentProvider;
+import org.eclipse.papyrus.infra.emf.providers.EMFLabelProvider;
import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForResource;
import org.eclipse.papyrus.infra.services.labelprovider.service.LabelProviderService;
@@ -202,7 +202,7 @@ public class EMFModelElement extends AbstractModelElement {
return ServiceUtilsForResource.getInstance().getServiceRegistry(source.eResource()).getService(LabelProviderService.class).getLabelProvider();
} catch (ServiceException ex) {
Activator.log.error(ex);
- return new LabelProvider();
+ return new EMFLabelProvider();
}
}
diff --git a/plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/providers/SelectionLabelProvider.java b/plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/providers/SelectionLabelProvider.java
index 7c18f34fd71..2a654964e85 100644
--- a/plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/providers/SelectionLabelProvider.java
+++ b/plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/providers/SelectionLabelProvider.java
@@ -16,8 +16,8 @@ import java.util.TreeMap;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.Platform;
-import org.eclipse.papyrus.infra.widgets.providers.ExtensibleLabelProvider;
-import org.eclipse.papyrus.infra.widgets.providers.IFilteredLabelProvider;
+import org.eclipse.papyrus.infra.services.labelprovider.service.ExtensibleLabelProvider;
+import org.eclipse.papyrus.infra.services.labelprovider.service.IFilteredLabelProvider;
import org.eclipse.papyrus.views.properties.Activator;
/**
diff --git a/plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/xwt/XWTTabDescriptorProvider.java b/plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/xwt/XWTTabDescriptorProvider.java
index ed81e81996d..20ba2b1ec49 100644
--- a/plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/xwt/XWTTabDescriptorProvider.java
+++ b/plugins/views/properties/org.eclipse.papyrus.views.properties/src/org/eclipse/papyrus/views/properties/xwt/XWTTabDescriptorProvider.java
@@ -103,37 +103,47 @@ public class XWTTabDescriptorProvider implements ITabDescriptorProvider {
descriptors.addAll(getDisplay(part).getTabDescriptors(views));
}
+ //FIXME: In some cases (e.g. Selection in the Papyrus Tree outline), the IWorkbenchPart is not an ITabbedPropertySheetPageContributor
+ //TODO: Investigate on this case and fix the issue (contributor == null in this case)
+ ITabbedPropertySheetPageContributor contributor;
+ if(part instanceof ITabbedPropertySheetPageContributor) {
+ contributor = (ITabbedPropertySheetPageContributor)part;
+ } else {
+ contributor = (ITabbedPropertySheetPageContributor)(part.getAdapter(ITabbedPropertySheetPageContributor.class));
+ }
- // get all tab descriptors for the registered extension points
- TabbedPropertyRegistry registry = TabbedPropertyRegistryFactory.getInstance().createRegistry((ITabbedPropertySheetPageContributor)part);
-
- // invoke dynamically on the tab registry, as method is private
- // problem of implementation of tabbed properties tabbed registry. Either contribution using extension points, either a tabprovider
- // both contribution can not exist together, the only solution is to make a workaround.
- try {
- Method method = TabbedPropertyRegistry.class.getDeclaredMethod("getAllTabDescriptors"); //$NON-NLS-1$
- method.setAccessible(true);
- ITabDescriptor[] registeredTabDesriptors;
-
- registeredTabDesriptors = (ITabDescriptor[])method.invoke(registry);
-
- if(registeredTabDesriptors != null) {
- for(ITabDescriptor descriptor : registeredTabDesriptors) {
- if(descriptor.getSectionDescriptors().size() > 0) {
- descriptors.add(descriptor);
+ if(contributor != null) {
+ // get all tab descriptors for the registered extension points
+ TabbedPropertyRegistry registry = TabbedPropertyRegistryFactory.getInstance().createRegistry(contributor);
+
+ // invoke dynamically on the tab registry, as method is private
+ // problem of implementation of tabbed properties tabbed registry. Either contribution using extension points, either a tabprovider
+ // both contribution can not exist together, the only solution is to make a workaround.
+ try {
+ Method method = TabbedPropertyRegistry.class.getDeclaredMethod("getAllTabDescriptors"); //$NON-NLS-1$
+ method.setAccessible(true);
+ ITabDescriptor[] registeredTabDesriptors;
+
+ registeredTabDesriptors = (ITabDescriptor[])method.invoke(registry);
+
+ if(registeredTabDesriptors != null) {
+ for(ITabDescriptor descriptor : registeredTabDesriptors) {
+ if(descriptor.getSectionDescriptors().size() > 0) {
+ descriptors.add(descriptor);
+ }
}
}
+ } catch (IllegalArgumentException e) {
+ Activator.log.error(e);
+ } catch (IllegalAccessException e) {
+ Activator.log.error(e);
+ } catch (InvocationTargetException e) {
+ Activator.log.error(e);
+ } catch (SecurityException e) {
+ Activator.log.error(e);
+ } catch (NoSuchMethodException e) {
+ Activator.log.error(e);
}
- } catch (IllegalArgumentException e) {
- Activator.log.error(e);
- } catch (IllegalAccessException e) {
- Activator.log.error(e);
- } catch (InvocationTargetException e) {
- Activator.log.error(e);
- } catch (SecurityException e) {
- Activator.log.error(e);
- } catch (NoSuchMethodException e) {
- Activator.log.error(e);
}
orderTabDescriptors(descriptors);

Back to the top