Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcletavernie2012-06-05 11:09:54 +0000
committercletavernie2012-06-05 11:09:54 +0000
commitd988e3899b4062f3178f236478eafec53ed2a154 (patch)
treecc3f1e5f597d79eb9ed3073ec810c4c1a2b1f3f9 /plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus
parenta43b952135a840c753fa5ce702066868af309ac3 (diff)
downloadorg.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/org/eclipse/papyrus')
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/policy/CustomizableDropEditPolicy.java17
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;

Back to the top