From: Tuukka Lehtonen Date: Mon, 25 Feb 2019 12:20:49 +0000 (+0000) Subject: Merge "Search deeply for generic superclass in ReflectionUtils" into release/1.35.1 X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=commitdiff_plain;h=682e6248064374437364c3f209699321f466ce3e;hp=31cd74b74d3a09bd2d4b4ac580bae4b272828e4c;p=simantics%2Fplatform.git Merge "Search deeply for generic superclass in ReflectionUtils" into release/1.35.1 --- diff --git a/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/factory/TroveBindingsProvider.java b/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/factory/TroveBindingsProvider.java index 3eb17213b..e8047450e 100644 --- a/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/factory/TroveBindingsProvider.java +++ b/bundles/org.simantics.databoard/src/org/simantics/databoard/binding/factory/TroveBindingsProvider.java @@ -75,7 +75,6 @@ public class TroveBindingsProvider implements BindingProvider { for (int i=0; i m = ((Map)map); - Binding kb = getKeyBinding(); - for (Object k : m.keySet()) - { - if (kb.equals(k, key)) - return k; - } - return key; - } @SuppressWarnings("unchecked") @Override public void put(Object map, Object key, Object value) { Map m = ((Map)map); - Object ck = getComparableKey(m, key); - m.remove(ck); m.put(key, value); } @@ -254,8 +236,6 @@ public class HashMapBinding extends MapBinding { public void putAll(Object map, Map src) throws BindingException { Map m = ((Map )map); for (Entry e : (Set >) src.entrySet()) { - Object ck = getComparableKey(map, e.getKey()); - m.remove(ck); m.put(e.getKey(), e.getValue()); } } diff --git a/bundles/org.simantics.g2d/src/org/simantics/g2d/event/adapter/SWTMouseEventAdapter.java b/bundles/org.simantics.g2d/src/org/simantics/g2d/event/adapter/SWTMouseEventAdapter.java index 924c7c252..1da7fe647 100644 --- a/bundles/org.simantics.g2d/src/org/simantics/g2d/event/adapter/SWTMouseEventAdapter.java +++ b/bundles/org.simantics.g2d/src/org/simantics/g2d/event/adapter/SWTMouseEventAdapter.java @@ -166,8 +166,8 @@ public class SWTMouseEventAdapter extends AbstractEventAdapter implements MouseL sender, e.time & 0xffffffff, MOUSE_ID, buttonStatus, getStateMask(e), getControlPosition(e), getScreenPosition(e), - MouseWheelMovedEvent.WHEEL_UNIT_SCROLL, - 0, + MouseWheelMovedEvent.WHEEL_UNIT_SCROLL, + MouseWheelMovedEvent.SCROLL_AMOUNT_ZERO, e.count )); } diff --git a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/events/EventQueue.java b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/events/EventQueue.java index 9b0980600..d3ab61355 100644 --- a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/events/EventQueue.java +++ b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/events/EventQueue.java @@ -42,20 +42,19 @@ public class EventQueue implements IEventQueue, IEventHandler { return EventTypes.AnyMask; } - /** - * - */ - private MouseWheelMovedEvent lastMouseWheelMovedEvent; - private static final String DISABLE_DUPLICATE_REMOVAL = "org.simantics.scenegraph.g2d.events.disableDuplicateMouseWheelEvent"; private static final boolean IGNORE_DUPLICATE = !Boolean.parseBoolean(System.getProperty(DISABLE_DUPLICATE_REMOVAL)); private boolean ignoreDuplicateMouseWheelMovedEvent(Event e) { if (IGNORE_DUPLICATE && e instanceof MouseWheelMovedEvent) { - if (e.time > 0 && (lastMouseWheelMovedEvent != null && lastMouseWheelMovedEvent.time < 0)) { + MouseWheelMovedEvent event = (MouseWheelMovedEvent) e; + // if (e.time > 0 && (lastMouseWheelMovedEvent != null && lastMouseWheelMovedEvent.time < 0)) { + // apparently this is a better way to distinguish between SWT & AWT events + // SWT based event constructs the scrollAmount to = 0 + // See org.simantics.g2d.event.adapter.SWTMouseEventAdapter.mouseScrolled(MouseEvent) L171 + if (event.scrollAmount != MouseWheelMovedEvent.SCROLL_AMOUNT_ZERO) { return true; } - lastMouseWheelMovedEvent = (MouseWheelMovedEvent) e; } return false; } diff --git a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/events/MouseEvent.java b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/events/MouseEvent.java index 92c97b787..8070ae358 100644 --- a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/events/MouseEvent.java +++ b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/events/MouseEvent.java @@ -154,6 +154,8 @@ public abstract class MouseEvent extends Event { private static final long serialVersionUID = -7896477913481842708L; + public static final int SCROLL_AMOUNT_ZERO = 0; + /** * Constant representing scrolling by "units" (like scrolling with the * arrow keys)