# 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 ()));