From c8820821a7fec3efb51921506de5bea3c9be5c94 Mon Sep 17 00:00:00 2001 From: Marcos CARDINOT Date: Fri, 12 Jun 2015 21:03:00 -0300 Subject: [PATCH] ZoomAction must work when a block is selected on the palette browser - open xcos & palette browser - select a block on the palette browser - zoom in/out Change-Id: I12d0c051aa13af5b7ad35426361bce1c2fdebc4d --- .../modules/xcos/palette/actions/ZoomAction.java | 37 +++++++------------- .../xcos/palette/view/PaletteBlockView.java | 2 ++ .../xcos/palette/view/PaletteManagerView.java | 4 +-- 3 files changed, 16 insertions(+), 27 deletions(-) diff --git a/scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/actions/ZoomAction.java b/scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/actions/ZoomAction.java index 87555e6..d23efad 100644 --- a/scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/actions/ZoomAction.java +++ b/scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/actions/ZoomAction.java @@ -61,26 +61,15 @@ public class ZoomAction extends CommonCallBack { /** * Register the key for the action - * @param view PaletteManagerPanel instance + * @param am the ActionMap + * @param im the InputMap */ - public static void registerKeyAction(PaletteManagerView view) { - // Multi-shortcut action - ActionMap[] ams = new ActionMap[] { - view.getTree().getActionMap(), - view.getPanel().getActionMap() - }; - InputMap[] maps = new InputMap[] { - view.getTree().getInputMap(), - view.getPanel().getInputMap() - }; - - // register the action to a unique action keyword - for (ActionMap am : ams) { - am.put(ZOOM_IN, new ZoomAction()); - am.put(ZOOM_OUT, new ZoomAction()); - } + public static void registerKeyAction(ActionMap am, InputMap im) { + // register the actions to a unique action keyword + am.put(ZOOM_IN, new ZoomAction()); + am.put(ZOOM_OUT, new ZoomAction()); - // add custom key stroke for this action + // add custom key stroke for these action final KeyStroke[] keystrokesIn; final KeyStroke[] keystrokesOut; if (OS.get() == MAC) { @@ -110,13 +99,11 @@ public class ZoomAction extends CommonCallBack { }; } - for (InputMap map : maps) { - for (KeyStroke k : keystrokesIn) { - map.put(k, ZOOM_IN); - } - for (KeyStroke k : keystrokesOut) { - map.put(k, ZOOM_OUT); - } + for (KeyStroke k : keystrokesIn) { + im.put(k, ZOOM_IN); + } + for (KeyStroke k : keystrokesOut) { + im.put(k, ZOOM_OUT); } } diff --git a/scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteBlockView.java b/scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteBlockView.java index 9157a82..2f5e6f5 100644 --- a/scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteBlockView.java +++ b/scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteBlockView.java @@ -23,6 +23,7 @@ import javax.swing.border.Border; import org.flexdock.plaf.common.border.ShadowBorder; import org.scilab.modules.xcos.palette.PaletteBlockCtrl; +import org.scilab.modules.xcos.palette.actions.ZoomAction; import org.scilab.modules.xcos.utils.XcosConstants.PaletteBlockSize; /** @@ -53,6 +54,7 @@ public final class PaletteBlockView extends JLabel { SwingConstants.CENTER); this.controller = controller; this.palBlockSize = palBlockSize; + ZoomAction.registerKeyAction(getActionMap(), getInputMap()); initComponents(palBlockSize); } diff --git a/scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteManagerView.java b/scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteManagerView.java index 2a7b6ea..6dba5e8 100644 --- a/scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteManagerView.java +++ b/scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteManagerView.java @@ -183,8 +183,8 @@ public class PaletteManagerView extends SwingScilabDockablePanel implements Simp stb.add(ZoomAction.createButtonZoomIn()); stb.add(ZoomAction.createButtonZoomOut()); - - ZoomAction.registerKeyAction(this); + ZoomAction.registerKeyAction(getPanel().getActionMap(), getPanel().getInputMap()); + ZoomAction.registerKeyAction(getTree().getActionMap(), getTree().getInputMap()); setToolBar(toolbar); -- 1.7.9.5