diff options
author | cletavernie | 2012-06-06 12:14:48 +0000 |
---|---|---|
committer | cletavernie | 2012-06-06 12:14:48 +0000 |
commit | 520f1d27e0f8832205a6ad6eff8ec8ae318be0a0 (patch) | |
tree | 98c35ca3177c7294344d70652910dddf707af0fa /plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd | |
parent | a45d5b51e7d639524408712c35139357f8cf7a26 (diff) | |
download | org.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')
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);
|