Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcletavernie2013-03-08 16:10:13 +0000
committercletavernie2013-03-08 16:10:13 +0000
commit6c318c2dee30cb80680116a7a8e188ab1e741367 (patch)
tree1a21edfc8906af9df36e983159ddb4ef65e71947 /plugins/views
parent53b3b8782d855eda25918a009f12aed715ba6796 (diff)
downloadorg.eclipse.papyrus-6c318c2dee30cb80680116a7a8e188ab1e741367.tar.gz
org.eclipse.papyrus-6c318c2dee30cb80680116a7a8e188ab1e741367.tar.xz
org.eclipse.papyrus-6c318c2dee30cb80680116a7a8e188ab1e741367.zip
359808: [Model explorer] Model explorer should show mark diagrams and tables that are open
https://bugs.eclipse.org/bugs/show_bug.cgi?id=359808
Diffstat (limited to 'plugins/views')
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/META-INF/MANIFEST.MF94
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/icons/opened.gifbin0 -> 851 bytes
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml40
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/resources/PapyrusPages.facetSet8
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/resources/PapyrusPages.querySet12
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/resources/PapyrusPages.uiCustom11
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/IsOpen.java34
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/IsPage.java34
8 files changed, 160 insertions, 73 deletions
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 e284979b6b6..74c8646c42c 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
@@ -1,60 +1,52 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.ui.navigator;bundle-version="3.4.0",
- org.eclipse.papyrus.infra.core;bundle-version="0.10.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="0.10.0",
- org.eclipse.emf.converter;bundle-version="2.5.0",
- org.eclipse.papyrus.infra.core.sasheditor.di;bundle-version="0.10.0",
- org.eclipse.emf.ecore.editor;bundle-version="2.6.0",
- org.eclipse.emf.workspace.ui;bundle-version="1.3.0",
- org.eclipse.core.expressions;bundle-version="3.4.200",
- org.eclipse.papyrus.infra.services.edit;bundle-version="0.10.0",
- org.eclipse.emf.facet.infra.browser;bundle-version="0.1.0",
- org.eclipse.emf.facet.infra.browser.custom;bundle-version="0.1.0",
- org.eclipse.emf.facet.infra.browser.custom.core;bundle-version="0.1.0",
- org.eclipse.emf.facet.infra.browser.custom.ui;bundle-version="0.1.0",
- org.eclipse.emf.facet.infra.browser.uicore;bundle-version="0.1.0",
- org.eclipse.emf.facet.infra.common.core;bundle-version="0.1.0",
- org.eclipse.emf.facet.infra.facet;bundle-version="0.1.0",
- org.eclipse.emf.facet.infra.facet.core;bundle-version="0.1.0",
- org.eclipse.emf.facet.infra.query.ui;bundle-version="0.1.0",
- org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="0.10.0",
- org.eclipse.papyrus.infra.services.decoration;bundle-version="0.10.0",
- org.eclipse.emf.transaction;bundle-version="1.4.0",
- org.eclipse.gmf.runtime.notation;bundle-version="1.5.0",
- org.eclipse.gmf.runtime.common.core;bundle-version="1.4.1",
- org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0",
- org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.4.0",
- org.eclipse.emf.facet.infra.query.core,
- org.eclipse.papyrus.infra.emf;bundle-version="0.10.0",
- com.google.guava;bundle-version="10.0.1",
- org.eclipse.papyrus.infra.widgets;bundle-version="0.10.0",
- org.eclipse.papyrus.infra.services.labelprovider;bundle-version="0.10.0",
- 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.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,
- org.eclipse.papyrus.views.modelexplorer.commands,
- org.eclipse.papyrus.views.modelexplorer.core.ui.pagebookview,
- org.eclipse.papyrus.views.modelexplorer.dialog,
- org.eclipse.papyrus.views.modelexplorer.dnd,
- org.eclipse.papyrus.views.modelexplorer.factory,
- org.eclipse.papyrus.views.modelexplorer.handler,
- org.eclipse.papyrus.views.modelexplorer.matching,
- org.eclipse.papyrus.views.modelexplorer.preferences,
- org.eclipse.papyrus.views.modelexplorer.queries
+Export-Package: org.eclipse.papyrus.views.modelexplorer,org.eclipse.pa
+ pyrus.views.modelexplorer.actionprovider,org.eclipse.papyrus.views.mo
+ delexplorer.actions,org.eclipse.papyrus.views.modelexplorer.commands,
+ org.eclipse.papyrus.views.modelexplorer.core.ui.pagebookview,org.ecli
+ pse.papyrus.views.modelexplorer.dialog,org.eclipse.papyrus.views.mode
+ lexplorer.dnd,org.eclipse.papyrus.views.modelexplorer.factory,org.ecl
+ ipse.papyrus.views.modelexplorer.handler,org.eclipse.papyrus.views.mo
+ delexplorer.matching,org.eclipse.papyrus.views.modelexplorer.preferen
+ ces,org.eclipse.papyrus.views.modelexplorer.queries
+Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime,org.eclipse.ui
+ .navigator;bundle-version="3.4.0",org.eclipse.papyrus.infra.core;bund
+ le-version="0.10.0",org.eclipse.papyrus.infra.core.log;bundle-version
+ ="0.10.0",org.eclipse.emf.converter;bundle-version="2.5.0",org.eclips
+ e.papyrus.infra.core.sasheditor.di;bundle-version="0.10.0",org.eclips
+ e.emf.ecore.editor;bundle-version="2.6.0",org.eclipse.emf.workspace.u
+ i;bundle-version="1.3.0",org.eclipse.core.expressions;bundle-version=
+ "3.4.200",org.eclipse.papyrus.infra.services.edit;bundle-version="0.1
+ 0.0",org.eclipse.emf.facet.infra.browser;bundle-version="0.1.0",org.e
+ clipse.emf.facet.infra.browser.custom;bundle-version="0.1.0",org.ecli
+ pse.emf.facet.infra.browser.custom.core;bundle-version="0.1.0",org.ec
+ lipse.emf.facet.infra.browser.custom.ui;bundle-version="0.1.0",org.ec
+ lipse.emf.facet.infra.browser.uicore;bundle-version="0.1.0",org.eclip
+ se.emf.facet.infra.common.core;bundle-version="0.1.0",org.eclipse.emf
+ .facet.infra.facet;bundle-version="0.1.0",org.eclipse.emf.facet.infra
+ .facet.core;bundle-version="0.1.0",org.eclipse.emf.facet.infra.query.
+ ui;bundle-version="0.1.0",org.eclipse.papyrus.infra.widgets.toolbox;b
+ undle-version="0.10.0",org.eclipse.papyrus.infra.services.decoration;
+ bundle-version="0.10.0",org.eclipse.emf.transaction;bundle-version="1
+ .4.0",org.eclipse.gmf.runtime.notation;bundle-version="1.5.0",org.ecl
+ ipse.gmf.runtime.common.core;bundle-version="1.4.1",org.eclipse.gmf.r
+ untime.emf.commands.core;bundle-version="1.4.0",org.eclipse.gmf.runti
+ me.emf.type.core;bundle-version="1.4.0",org.eclipse.emf.facet.infra.q
+ uery.core,org.eclipse.papyrus.infra.emf;bundle-version="0.10.0",com.g
+ oogle.guava;bundle-version="10.0.1",org.eclipse.papyrus.infra.widgets
+ ;bundle-version="0.10.0",org.eclipse.papyrus.infra.services.labelprov
+ ider;bundle-version="0.10.0",org.eclipse.papyrus.infra.gmfdiag.comman
+ ds;bundle-version="0.10.0",org.eclipse.gmf.runtime.diagram.ui;bundle-
+ version="1.6.0",org.eclipse.papyrus.infra.gmfdiag.common;bundle-versi
+ on="0.10.0",org.eclipse.papyrus.infra.gmfdiag.preferences;bundle-vers
+ ion="0.10.0",org.eclipse.papyrus.infra.services.semantic;bundle-versi
+ on="0.10.0",org.eclipse.emf.ecore
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 0.10.0.qualifier
-Bundle-Name: %pluginName
Bundle-Localization: plugin
-Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
Bundle-Activator: org.eclipse.papyrus.views.modelexplorer.Activator
+Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.papyrus.views.modelexplorer;singleton
:=true
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/icons/opened.gif b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/icons/opened.gif
new file mode 100644
index 00000000000..977b997cdbc
--- /dev/null
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/icons/opened.gif
Binary files differ
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 943b3a28646..8dbfb5aa60b 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml
@@ -21,13 +21,7 @@
</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.jface.viewers.LabelProvider"
- 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">
@@ -248,19 +242,13 @@
<extension point="org.eclipse.ui.handlers">
<handler class="org.eclipse.papyrus.views.modelexplorer.handler.DeleteCommandHandler" commandId="org.eclipse.ui.edit.delete">
<activeWhen>
- <with
- variable="selection">
+ <with variable="selection">
<and>
- <with
- variable="activePart">
- <instanceof
- value="org.eclipse.papyrus.views.modelexplorer.ModelExplorerPageBookView">
+ <with variable="activePart">
+ <instanceof value="org.eclipse.papyrus.views.modelexplorer.ModelExplorerPageBookView">
</instanceof>
</with>
- <test
- forcePluginActivation="true"
- property="org.eclipse.papyrus.views.modelexplorer.tester.isEObject"
- value="true">
+ <test forcePluginActivation="true" property="org.eclipse.papyrus.views.modelexplorer.tester.isEObject" value="true">
</test>
</and>
</with>
@@ -396,11 +384,19 @@
<extension point="org.eclipse.emf.facet.infra.browser.custom.core.registration">
<browserCustomization file="resources/PapyrusEcoreBrowser.uiCustom"/>
</extension>
- <extension
- point="org.eclipse.papyrus.infra.services.labelprovider.labelProvider">
- <context
- description="The ModelExplorer labelProvider context"
- id="org.eclipse.papyrus.views.modelexplorer.labelProvider.context">
+ <extension point="org.eclipse.papyrus.infra.services.labelprovider.labelProvider">
+ <context description="The ModelExplorer labelProvider context" id="org.eclipse.papyrus.views.modelexplorer.labelProvider.context">
</context>
</extension>
+ <extension point="org.eclipse.emf.facet.infra.facet.registration">
+ <facetset file="resources/PapyrusPages.facetSet"/>
+ </extension>
+ <extension point="org.eclipse.emf.facet.infra.query.registration">
+ <modelqueryset file="resources/PapyrusPages.querySet"/>
+ </extension>
+ <extension point="org.eclipse.emf.facet.infra.browser.custom.core.registration">
+ <browserCustomization
+ file="resources/PapyrusPages.uiCustom"
+ loadByDefault="true"/>
+ </extension>
</plugin>
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/resources/PapyrusPages.facetSet b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/resources/PapyrusPages.facetSet
new file mode 100644
index 00000000000..1dfc49caae7
--- /dev/null
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/resources/PapyrusPages.facetSet
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="ASCII"?>
+<facet:FacetSet xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:facet="http://www.eclipse.org/EmfFacet/infra/facet/0.8.incubation" xmlns:query="http://www.eclipse.org/EmfFacet/infra/query/0.8.incubation" name="PapyrusPages" nsURI="http://www.eclipse.org/papyrus/views/modelexplorer/pages" nsPrefix="papyrusPages">
+ <eClassifiers xsi:type="facet:Facet" name="Page" abstract="true">
+ <eSuperTypes href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ <conditionQuery xsi:type="query:JavaModelQuery" href="PapyrusPages.querySet#isPage"/>
+ </eClassifiers>
+ <extendedPackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
+</facet:FacetSet>
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/resources/PapyrusPages.querySet b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/resources/PapyrusPages.querySet
new file mode 100644
index 00000000000..e8006aaf884
--- /dev/null
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/resources/PapyrusPages.querySet
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="ASCII"?>
+<query:ModelQuerySet xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:query="http://www.eclipse.org/EmfFacet/infra/query/0.8.incubation" name="PapyrusPages" description="">
+ <associatedMetamodels href="http://www.eclipse.org/emf/2002/Ecore#/"/>
+ <queries xsi:type="query:JavaModelQuery" name="isPage" description="Tests whether an element is a page" lowerBound="1" implementationClassName="org.eclipse.papyrus.views.modelexplorer.queries.IsPage">
+ <returnType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <scope href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ </queries>
+ <queries xsi:type="query:JavaModelQuery" name="isOpen" description="Tests whether a Page is opened" lowerBound="1" implementationClassName="org.eclipse.papyrus.views.modelexplorer.queries.IsOpen">
+ <returnType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <scope href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+ </queries>
+</query:ModelQuerySet>
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/resources/PapyrusPages.uiCustom b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/resources/PapyrusPages.uiCustom
new file mode 100644
index 00000000000..eeacea75605
--- /dev/null
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/resources/PapyrusPages.uiCustom
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="ASCII"?>
+<uicustom:MetamodelView xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:query="http://www.eclipse.org/EmfFacet/infra/query/0.8.incubation" xmlns:uicustom="http://www.eclipse.org/EmfFacet/infra/browser/custom/0.8" metamodelURI="http://www.eclipse.org/papyrus/views/modelexplorer/pages">
+ <types metaclassName="PapyrusPages.Page">
+ <customizedFeatures customizedFeature="facetOverlayIcon">
+ <valueCases>
+ <value xsi:type="uicustom:StaticFeatureValue" value="/org.eclipse.papyrus.views.modelexplorer/icons/opened.gif:TopRight"/>
+ <condition xsi:type="query:JavaModelQuery" href="emffacet:/query/PapyrusPages#isOpen"/>
+ </valueCases>
+ </customizedFeatures>
+ </types>
+</uicustom:MetamodelView>
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/IsOpen.java b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/IsOpen.java
new file mode 100644
index 00000000000..bcc7da7f1dc
--- /dev/null
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/IsOpen.java
@@ -0,0 +1,34 @@
+/*****************************************************************************
+ * Copyright (c) 2013 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.views.modelexplorer.queries;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.infra.query.core.exception.ModelQueryExecutionException;
+import org.eclipse.emf.facet.infra.query.core.java.IJavaModelQuery;
+import org.eclipse.emf.facet.infra.query.core.java.ParameterValueList;
+import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageManager;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForEObject;
+
+/** Tests whether a Page is opened */
+public class IsOpen implements IJavaModelQuery<EObject, Boolean> {
+
+ public Boolean evaluate(final EObject context, final ParameterValueList parameterValues) throws ModelQueryExecutionException {
+ try {
+ IPageManager pageManager = ServiceUtilsForEObject.getInstance().getIPageManager(context);
+ return pageManager.isOpen(context);
+ } catch (ServiceException ex) {
+ //Ignore
+ }
+ return false;
+ }
+}
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/IsPage.java b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/IsPage.java
new file mode 100644
index 00000000000..a946d4935dc
--- /dev/null
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/queries/IsPage.java
@@ -0,0 +1,34 @@
+/*****************************************************************************
+ * Copyright (c) 2013 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.views.modelexplorer.queries;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.infra.query.core.exception.ModelQueryExecutionException;
+import org.eclipse.emf.facet.infra.query.core.java.IJavaModelQuery;
+import org.eclipse.emf.facet.infra.query.core.java.ParameterValueList;
+import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageManager;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForEObject;
+
+/** Tests whether an element is a page */
+public class IsPage implements IJavaModelQuery<EObject, Boolean> {
+
+ public Boolean evaluate(final EObject context, final ParameterValueList parameterValues) throws ModelQueryExecutionException {
+ try {
+ IPageManager pageManager = ServiceUtilsForEObject.getInstance().getIPageManager(context);
+ return pageManager.allPages().contains(context);
+ } catch (ServiceException ex) {
+ //Ignore
+ }
+ return false;
+ }
+}

Back to the top