From 7a5a6a469d1296fe3f82cf4bed98e1cc57c475c9 Mon Sep 17 00:00:00 2001 From: bancika Date: Fri, 18 Sep 2020 21:24:04 +0200 Subject: [PATCH] add meta for zoom shortcuts --- .../swing/plugins/canvas/CanvasPanel.java | 37 ++++++++++++------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java index ee602cbc..2400c1ba 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java @@ -91,7 +91,7 @@ public class CanvasPanel extends JComponent implements Autoscroll { public CanvasPanel(IPlugInPort plugInPort, IConfigurationManager configManager) { this.plugInPort = plugInPort; this.configManager = configManager; - + this.useHardwareAcceleration = configManager.readBoolean(IPlugInPort.HARDWARE_ACCELERATION, false); setFocusable(true); @@ -136,15 +136,23 @@ public class CanvasPanel extends JComponent implements Autoscroll { getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) .put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "clearSlot"); - + getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) .put(KeyStroke.getKeyStroke(KeyEvent.VK_ADD, KeyEvent.CTRL_DOWN_MASK), "zoomIn"); getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) .put(KeyStroke.getKeyStroke(KeyEvent.VK_SUBTRACT, KeyEvent.CTRL_DOWN_MASK), "zoomOut"); + getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) + .put(KeyStroke.getKeyStroke(KeyEvent.VK_ADD, KeyEvent.META_DOWN_MASK), "zoomIn"); +getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) + .put(KeyStroke.getKeyStroke(KeyEvent.VK_SUBTRACT, KeyEvent.META_DOWN_MASK), "zoomOut"); getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) .put(KeyStroke.getKeyStroke(KeyEvent.VK_0, KeyEvent.CTRL_DOWN_MASK), "resetZoom"); getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) - .put(KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD0, KeyEvent.CTRL_DOWN_MASK), "resetZoom"); + .put(KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD0, KeyEvent.CTRL_DOWN_MASK), "resetZoom"); + getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) + .put(KeyStroke.getKeyStroke(KeyEvent.VK_0, KeyEvent.META_DOWN_MASK), "resetZoom"); + getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) + .put(KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD0, KeyEvent.META_DOWN_MASK), "resetZoom"); for (int i = 1; i <= 12; i++) { final int x = i; @@ -160,14 +168,14 @@ public class CanvasPanel extends JComponent implements Autoscroll { } }); } - + getActionMap().put("zoomIn", new AbstractAction() { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent e) { - LOG.debug("Keyboard zoom-in triggered"); + LOG.debug("Keyboard zoom-in triggered"); double oldZoom = CanvasPanel.this.plugInPort.getZoomLevel(); Double[] availableZoomLevels = CanvasPanel.this.plugInPort.getAvailableZoomLevels(); int index = Arrays.binarySearch(availableZoomLevels, oldZoom); @@ -175,14 +183,14 @@ public class CanvasPanel extends JComponent implements Autoscroll { CanvasPanel.this.plugInPort.setZoomLevel(availableZoomLevels[index + 1]); } }); - + getActionMap().put("zoomOut", new AbstractAction() { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent e) { - LOG.debug("Keyboard zoom-out triggered"); + LOG.debug("Keyboard zoom-out triggered"); double oldZoom = CanvasPanel.this.plugInPort.getZoomLevel(); Double[] availableZoomLevels = CanvasPanel.this.plugInPort.getAvailableZoomLevels(); int index = Arrays.binarySearch(availableZoomLevels, oldZoom); @@ -190,14 +198,14 @@ public class CanvasPanel extends JComponent implements Autoscroll { CanvasPanel.this.plugInPort.setZoomLevel(availableZoomLevels[index - 1]); } }); - + getActionMap().put("resetZoom", new AbstractAction() { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent e) { - LOG.debug("Keyboard reset zoom triggered"); + LOG.debug("Keyboard reset zoom triggered"); CanvasPanel.this.plugInPort.setZoomLevel(1d); } }); @@ -219,8 +227,8 @@ public class CanvasPanel extends JComponent implements Autoscroll { @SuppressWarnings("unchecked") @Override public void actionPerformed(ActionEvent e) { - List recent = (List) configManager - .readObject(IPlugInPort.RECENT_COMPONENTS_KEY, null); + List recent = + (List) configManager.readObject(IPlugInPort.RECENT_COMPONENTS_KEY, null); if (recent != null && !recent.isEmpty()) { String clazz = recent.get(0); Map> componentTypes = @@ -242,7 +250,8 @@ public class CanvasPanel extends JComponent implements Autoscroll { @SuppressWarnings("unchecked") protected void functionKeyPressed(int i) { - HashMap shortcutMap = (HashMap) configManager.readObject(TreePanel.COMPONENT_SHORTCUT_KEY, null); + HashMap shortcutMap = + (HashMap) configManager.readObject(TreePanel.COMPONENT_SHORTCUT_KEY, null); if (shortcutMap == null) return; String typeName = shortcutMap.get("F" + i); @@ -313,8 +322,8 @@ public class CanvasPanel extends JComponent implements Autoscroll { } - Set drawOptions = EnumSet.of(DrawOption.SELECTION, DrawOption.ZOOM, - DrawOption.CONTROL_POINTS); + Set drawOptions = + EnumSet.of(DrawOption.SELECTION, DrawOption.ZOOM, DrawOption.CONTROL_POINTS); if (configManager.readBoolean(IPlugInPort.ANTI_ALIASING_KEY, true)) { drawOptions.add(DrawOption.ANTIALIASING);