# This patch file was generated by NetBeans IDE
# Following Index: paths are relative to: C:\Users\fm\Documents\NetBeansProjects\NetBeans\main-silver
# This patch can be applied using context Tools: Patch action on respective folder.
# It uses platform neutral UTF-8 encoding and \n newlines.
# Above lines and this line are ignored by the patching process.
Index: api.visual/apichanges.xml
--- api.visual/apichanges.xml
+++ api.visual/apichanges.xml
@@ -772,6 +772,24 @@
+
+
+
+ Pan action allows change of invoking mouse button
+
+
+
+
+
+ Built-in pan action is using modifiers from Scene.getInputBindings().getZoomActionModifiers()
method.
+ Default value remains MouseEvent.BUTTON2
, i.e. mouse wheel, which is compatible with the previous
+ implementation.
+
+
+
+
+
+
Index: api.visual/manifest.mf
--- api.visual/manifest.mf
+++ api.visual/manifest.mf
@@ -1,6 +1,6 @@
Manifest-Version: 1.0
OpenIDE-Module: org.netbeans.api.visual
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/visual/resources/Bundle.properties
-OpenIDE-Module-Specification-Version: 2.39
+OpenIDE-Module-Specification-Version: 2.40
AutoUpdate-Essential-Module: true
Index: api.visual/src/org/netbeans/api/visual/laf/InputBindings.java
--- api.visual/src/org/netbeans/api/visual/laf/InputBindings.java
+++ api.visual/src/org/netbeans/api/visual/laf/InputBindings.java
@@ -45,6 +45,7 @@
package org.netbeans.api.visual.laf;
import java.awt.event.KeyEvent;
+import java.awt.event.MouseEvent;
/**
* This represents input bindings e.g. manages modifiers of actions.
@@ -55,6 +56,7 @@
public final class InputBindings {
private int zoomActionModifiers = KeyEvent.CTRL_MASK;
+ private int panActionButton = MouseEvent.BUTTON2;
private InputBindings () {
}
@@ -78,6 +80,24 @@
}
/**
+ * Returns mouse button for pan action.
+ * @return the MouseEvent button code
+ * @since 2.40
+ */
+ public int getPanActionButton () {
+ return panActionButton;
+ }
+
+ /**
+ * Sets mouse button for pan action.
+ * @param panActionButton MouseEvent button code
+ * @since 2.40
+ */
+ public void setPanActionButton (int panActionButton) {
+ this.panActionButton = panActionButton;
+ }
+
+ /**
* Creates a new input bindings. This is usually used by the Scene class only.
* @return the input bindings
* @since 2.4
Index: api.visual/src/org/netbeans/modules/visual/action/PanAction.java
--- api.visual/src/org/netbeans/modules/visual/action/PanAction.java
+++ api.visual/src/org/netbeans/modules/visual/action/PanAction.java
@@ -67,8 +67,8 @@
public State mousePressed (Widget widget, WidgetMouseEvent event) {
if (isLocked ())
return State.createLocked (widget, this);
- if (event.getButton () == MouseEvent.BUTTON2) {
scene = widget.getScene ();
+ if (event.getButton () == scene.getInputBindings().getPanActionButton()) {
scrollPane = findScrollPane (scene.getView ());
if (scrollPane != null) {
lastLocation = scene.convertSceneToView (widget.convertLocalToScene (event.getPoint ()));