From a01f44eb6069d2827a384cc92e29edc724d33295 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Wed, 20 Jan 2021 08:17:35 +0100 Subject: [PATCH] Introduce mouse down functional interface. --- .../src/org/argeo/eclipse/ui/MouseDown.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/MouseDown.java 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 index 000000000..7abed8079 --- /dev/null +++ b/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/MouseDown.java @@ -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 + } +} -- 2.30.2