Introduce mouse down functional interface.
authorMathieu Baudier <mbaudier@argeo.org>
Wed, 20 Jan 2021 07:17:35 +0000 (08:17 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Wed, 20 Jan 2021 07:17:35 +0000 (08:17 +0100)
org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/MouseDown.java [new file with mode: 0644]

diff --git a/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/MouseDown.java b/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/MouseDown.java
new file mode 100644 (file)
index 0000000..7abed80
--- /dev/null
@@ -0,0 +1,26 @@
+package org.argeo.eclipse.ui;
+
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.MouseListener;
+
+/**
+ * {@link MouseListener#mouseDown(MouseEvent)} as a functional interface in
+ * order to use as a short lambda expression in UI code.
+ * {@link MouseListener#mouseDoubleClick(MouseEvent)} and
+ * {@link MouseListener#mouseUp(MouseEvent)} do nothing by default.
+ */
+@FunctionalInterface
+public interface MouseDown extends MouseListener {
+       @Override
+       void mouseDown(MouseEvent e);
+
+       @Override
+       default void mouseDoubleClick(MouseEvent e) {
+               // does nothing
+       }
+
+       @Override
+       default void mouseUp(MouseEvent e) {
+               // does nothing
+       }
+}