diff options
author | cletavernie | 2012-06-05 11:09:54 +0000 |
---|---|---|
committer | cletavernie | 2012-06-05 11:09:54 +0000 |
commit | d988e3899b4062f3178f236478eafec53ed2a154 (patch) | |
tree | cc3f1e5f597d79eb9ed3073ec810c4c1a2b1f3f9 /plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src | |
parent | a43b952135a840c753fa5ce702066868af309ac3 (diff) | |
download | org.eclipse.papyrus-d988e3899b4062f3178f236478eafec53ed2a154.tar.gz org.eclipse.papyrus-d988e3899b4062f3178f236478eafec53ed2a154.tar.xz org.eclipse.papyrus-d988e3899b4062f3178f236478eafec53ed2a154.zip |
370819: [Global] A Flexible Drag & Drop framework
https://bugs.eclipse.org/bugs/show_bug.cgi?id=370819
Diffstat (limited to 'plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src')
-rw-r--r-- | plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/policy/CustomizableDropEditPolicy.java | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/policy/CustomizableDropEditPolicy.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/policy/CustomizableDropEditPolicy.java index eb07256dfda..4ae75a5447b 100644 --- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/policy/CustomizableDropEditPolicy.java +++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/policy/CustomizableDropEditPolicy.java @@ -48,6 +48,8 @@ public class CustomizableDropEditPolicy extends DragDropEditPolicy { protected EditPolicy defaultCreationEditPolicy;
+ protected DropStrategy defaultDropStrategy;
+
//FIXME: This comes from oep.uml.diagram.common.listener.DropTargetListener
//This should be merged to oep.infra.gmfdiag.common, as this is not specific to UML
public static final String EVENT_DETAIL = "EVENT_DETAIL";
@@ -66,6 +68,7 @@ public class CustomizableDropEditPolicy extends DragDropEditPolicy { public CustomizableDropEditPolicy(EditPolicy defaultDropEditPolicy, EditPolicy defaultCreationEditPolicy) {
this.defaultDropEditPolicy = defaultDropEditPolicy;
this.defaultCreationEditPolicy = defaultCreationEditPolicy;
+ this.defaultDropStrategy = new DefaultDropStrategy(defaultDropEditPolicy, defaultCreationEditPolicy);
}
@Override
@@ -196,24 +199,16 @@ public class CustomizableDropEditPolicy extends DragDropEditPolicy { protected Map<DropStrategy, Command> findStrategies(Request request) {
Map<DropStrategy, Command> matchingStrategies = new LinkedHashMap<DropStrategy, Command>();
- boolean useDefault = false;
-
for(DropStrategy strategy : DropStrategyManager.instance.getActiveStrategies()) {
- if(strategy instanceof DefaultDropStrategy) {
- useDefault = true;
- }
Command command = strategy.getCommand(request, getHost());
if(command != null && command.canExecute()) {
matchingStrategies.put(strategy, command);
}
}
- if(useDefault) {
- DropStrategy defaultStrategy = new DefaultDropStrategy(defaultDropEditPolicy, defaultCreationEditPolicy);
- Command command = defaultStrategy.getCommand(request, getHost());
- if(command != null && command.canExecute()) {
- matchingStrategies.put(defaultStrategy, command);
- }
+ Command command = defaultDropStrategy.getCommand(request, getHost());
+ if(command != null && command.canExecute()) {
+ matchingStrategies.put(defaultDropStrategy, command);
}
return matchingStrategies;
|