Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcletavernie2012-06-06 12:14:48 +0000
committercletavernie2012-06-06 12:14:48 +0000
commit520f1d27e0f8832205a6ad6eff8ec8ae318be0a0 (patch)
tree98c35ca3177c7294344d70652910dddf707af0fa /plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd
parenta45d5b51e7d639524408712c35139357f8cf7a26 (diff)
downloadorg.eclipse.papyrus-520f1d27e0f8832205a6ad6eff8ec8ae318be0a0.tar.gz
org.eclipse.papyrus-520f1d27e0f8832205a6ad6eff8ec8ae318be0a0.tar.xz
org.eclipse.papyrus-520f1d27e0f8832205a6ad6eff8ec8ae318be0a0.zip
370819: [Global] A Flexible Drag & Drop framework
https://bugs.eclipse.org/bugs/show_bug.cgi?id=370819
Diffstat (limited to 'plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd')
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/META-INF/MANIFEST.MF4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/instancespecification/ClassifierToSlotsDropStrategy.java5
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/instancespecification/ui/ClassifierPropertiesContentProvider.java13
3 files changed, 16 insertions, 6 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/META-INF/MANIFEST.MF b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/META-INF/MANIFEST.MF
index 5802a6fcd99..5936c1c94e9 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/META-INF/MANIFEST.MF
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/META-INF/MANIFEST.MF
@@ -19,3 +19,7 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.uml.diagram.clazz;bundle-version="0.9.0"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.papyrus.uml.diagram.dnd,
+ org.eclipse.papyrus.uml.diagram.dnd.strategy.instancespecification,
+ org.eclipse.papyrus.uml.diagram.dnd.strategy.instancespecification.command,
+ org.eclipse.papyrus.uml.diagram.dnd.strategy.instancespecification.ui
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/instancespecification/ClassifierToSlotsDropStrategy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/instancespecification/ClassifierToSlotsDropStrategy.java
index ff47e7cb20d..100fa3ee928 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/instancespecification/ClassifierToSlotsDropStrategy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/instancespecification/ClassifierToSlotsDropStrategy.java
@@ -115,6 +115,11 @@ public class ClassifierToSlotsDropStrategy extends TransactionalDropStrategy {
protected ICommand getEditSlotsCommand(List<Classifier> classifiers, EditPart targetEditPart) {
for(Classifier classifier : classifiers) {
if(!classifier.getAllAttributes().isEmpty()) {
+ //FIXME: This is inconsistent with ClassifierPropertiesContentProvider,
+ //which doesn't only relies on getAllAttributes()...
+ //When a Class (without any property) implements an Interface (With at least one property),
+ //this will return a null command, while the dialog would have displayed the interface's properties
+
//There is at least one property
return new SelectAndCreateSlotsCommand(classifiers, targetEditPart);
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/instancespecification/ui/ClassifierPropertiesContentProvider.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/instancespecification/ui/ClassifierPropertiesContentProvider.java
index 6d051aa9064..7bf8069c9cb 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/instancespecification/ui/ClassifierPropertiesContentProvider.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/instancespecification/ui/ClassifierPropertiesContentProvider.java
@@ -16,7 +16,6 @@ import java.util.LinkedHashSet;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.uml2.uml.BehavioredClassifier;
import org.eclipse.uml2.uml.Classifier;
import org.eclipse.uml2.uml.Property;
@@ -103,11 +102,13 @@ public class ClassifierPropertiesContentProvider implements ITreeContentProvider
return;
}
- if(classifier instanceof BehavioredClassifier) {
- for(Classifier general : ((BehavioredClassifier)classifier).getImplementedInterfaces()) {
- getAllGenerals(general, result);
- }
- }
+ // Don't take the implemented interfaces into account. The semantic here is not clear enough.
+ //
+ // if(classifier instanceof BehavioredClassifier) {
+ // for(Classifier general : ((BehavioredClassifier)classifier).getImplementedInterfaces()) {
+ // getAllGenerals(general, result);
+ // }
+ // }
for(Classifier general : classifier.getGenerals()) {
getAllGenerals(general, result);

Back to the top