From 56dcf6bde430a735b4786af593c0e6c90c6df40e Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Wed, 13 Sep 2017 16:03:03 +0200 Subject: [PATCH] Implement MouseWheelListener on tabs tested with Marlin Firmware, solves #6109 #3601 #1193 --- app/src/processing/app/EditorHeader.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/app/src/processing/app/EditorHeader.java b/app/src/processing/app/EditorHeader.java index adcaa3a4b..854fc5c01 100644 --- a/app/src/processing/app/EditorHeader.java +++ b/app/src/processing/app/EditorHeader.java @@ -27,6 +27,9 @@ import processing.app.helpers.Keys; import processing.app.helpers.OSUtils; import processing.app.helpers.SimpleAction; import processing.app.tools.MenuScroller; +import java.awt.event.MouseWheelListener; +import java.awt.event.MouseWheelEvent; + import static processing.app.I18n.tr; import java.awt.*; @@ -189,6 +192,25 @@ public class EditorHeader extends JComponent { } } }); + + this.addMouseWheelListener(new MouseAdapter() { + public void mouseWheelMoved(MouseWheelEvent e) { + if (e.getWheelRotation() > 0) { + int index = editor.getCurrentTabIndex() + 1; + if (index >= (editor.getTabs().size())) { + index = 0; + } + editor.selectTab(index); + } else { + int index = editor.getCurrentTabIndex() - 1; + if (index < 0) { + index = editor.getTabs().size() -1 ; + } + editor.selectTab(index); + } + repaint(); + } + }); }