Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre-Charles David2016-01-28 13:14:13 +0000
committerPierre-Charles David2016-02-01 08:54:03 +0000
commit784ede4b75f5d6203ba7060a5044eb20b10b491a (patch)
treeb6ff63eb005a32e0444994f82b3ef4c35e2d9050
parent906b0dd7da0f74c4e299d126511ac909c98c1121 (diff)
downloadorg.eclipse.sirius-784ede4b75f5d6203ba7060a5044eb20b10b491a.tar.gz
org.eclipse.sirius-784ede4b75f5d6203ba7060a5044eb20b10b491a.tar.xz
org.eclipse.sirius-784ede4b75f5d6203ba7060a5044eb20b10b491a.zip
[482528] Make the dependency to org.eclipse.eef.properties.ui optional
Only plug into the org.eclipse.eef.properties.ui version of the framework when it is actually installed. Keep the previous behavior otherwise. Bug: 482528 Change-Id: I2838f5428826c2171ab59ee52489a50a82bde732 Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramEditor.java12
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-gen/org/eclipse/sirius/diagram/ui/provider/DiagramUIPlugin.java17
3 files changed, 26 insertions, 5 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF
index 858898deb4..0d1f210a58 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF
@@ -44,7 +44,7 @@ Require-Bundle: com.google.guava;bundle-version="[11.0.2,16.0)",
org.eclipse.ui.navigator.resources;bundle-version="3.4.400",
org.w3c.dom.svg;bundle-version="1.1.0",
org.apache.xerces;bundle-version="2.9.0",
- org.eclipse.eef.properties.ui;bundle-version="1.6.0"
+ org.eclipse.eef.properties.ui;bundle-version="1.6.0";resolution:=optional
Eclipse-LazyStart: true
Export-Package: org.eclipse.sirius.diagram.description.concern.provider;version="2.0.4",
org.eclipse.sirius.diagram.description.filter.provider;version="2.0.4",
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramEditor.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramEditor.java
index 24190bad73..97dc07e90a 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramEditor.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/part/SiriusDiagramEditor.java
@@ -18,7 +18,6 @@ import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.eef.properties.ui.api.EEFTabbedPropertySheetPage;
-import org.eclipse.eef.properties.ui.api.IEEFTabbedPropertySheetPageContributor;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
@@ -42,11 +41,12 @@ import org.eclipse.ui.navigator.resources.ProjectExplorer;
import org.eclipse.ui.part.IShowInTargetList;
import org.eclipse.ui.part.ShowInContext;
import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.osgi.framework.Bundle;
/**
* @not-generated
*/
-public class SiriusDiagramEditor extends DiagramDocumentEditor implements IGotoMarker, IAdaptable, IEEFTabbedPropertySheetPageContributor {
+public class SiriusDiagramEditor extends DiagramDocumentEditor implements IGotoMarker, IAdaptable {
/**
* @was-generated
@@ -110,8 +110,8 @@ public class SiriusDiagramEditor extends DiagramDocumentEditor implements IGotoM
}
};
}
- if (type == IPropertySheetPage.class) {
- return new EEFTabbedPropertySheetPage(this);
+ if (type == IPropertySheetPage.class && useForkedPropertySheetFramework()) {
+ return new EEFTabbedPropertySheetPage(this, this.getContributorId());
}
if (type == AdapterFactory.class) {
return DiagramUIPlugin.getPlugin().getItemProvidersAdapterFactory();
@@ -119,6 +119,10 @@ public class SiriusDiagramEditor extends DiagramDocumentEditor implements IGotoM
return super.getAdapter(type);
}
+ private boolean useForkedPropertySheetFramework() {
+ return DiagramUIPlugin.getPlugin().isForkedPropertiesFrameworkAvailable();
+ }
+
/**
* @was-generated
*/
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-gen/org/eclipse/sirius/diagram/ui/provider/DiagramUIPlugin.java b/plugins/org.eclipse.sirius.diagram.ui/src-gen/org/eclipse/sirius/diagram/ui/provider/DiagramUIPlugin.java
index 693084f944..3c72f2f920 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-gen/org/eclipse/sirius/diagram/ui/provider/DiagramUIPlugin.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-gen/org/eclipse/sirius/diagram/ui/provider/DiagramUIPlugin.java
@@ -55,6 +55,7 @@ import org.eclipse.sirius.viewpoint.provider.SiriusEditPlugin;
import org.eclipse.sirius.viewpoint.provider.ViewpointItemProviderAdapterFactory;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
/**
@@ -144,6 +145,8 @@ public final class DiagramUIPlugin extends EMFPlugin {
private WorkspaceImageFigureRefresher workspaceImageFigureRefresher;
+ private final boolean isForkedPropertiesFrameworkAvailable;
+
/**
* Creates an instance. <!-- begin-user-doc --> <!-- end-user-doc -->
*
@@ -152,11 +155,25 @@ public final class DiagramUIPlugin extends EMFPlugin {
public Implementation() {
super();
+ isForkedPropertiesFrameworkAvailable = isBundlePresent("org.eclipse.eef.properties.ui"); //$NON-NLS-1$
// Remember the static instance.
//
DiagramUIPlugin.plugin = this;
}
+ public boolean isForkedPropertiesFrameworkAvailable() {
+ return isForkedPropertiesFrameworkAvailable;
+ }
+
+ private boolean isBundlePresent(String bundleName) {
+ for (Bundle bundle : getBundle().getBundleContext().getBundles()) {
+ if (bundleName.equals(bundle.getSymbolicName())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
/**
* @not-generated create the image registry
*/

Back to the top