From 27eee49eea1d11d149392bf825441e4d596ed4b9 Mon Sep 17 00:00:00 2001 From: hneemann Date: Sat, 14 Sep 2019 10:19:44 +0200 Subject: [PATCH] adds view favorites, closes #335 --- .../gui/components/CircuitComponent.java | 28 +++++++++++++++++++ sun_checks_neemann.xml | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java index fd7798a02..f5f413d73 100644 --- a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java +++ b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java @@ -121,6 +121,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib private MouseController activeMouseController; private AffineTransform transform = new AffineTransform(); + private AffineTransform[] favorites = new AffineTransform[10]; private Observer manualChangeObserver; private Vector lastMousePos; private SyncAccess modelSync = SyncAccess.NOSYNC; @@ -258,6 +259,8 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib addMouseMotionListener(dispatcher); addMouseListener(dispatcher); + enableFavoritPositions(); + mouseNormal.activate(); if (parent != null) { @@ -273,6 +276,31 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib setToolTipText(""); } + private void enableFavoritPositions() { + for (int j = 0; j <= 9; j++) { + final int i = j; + new ToolTipAction("CTRL+" + i) { + @Override + public void actionPerformed(ActionEvent actionEvent) { + favorites[i] = transform; + } + }.setAcceleratorCTRLplus((char) ('0' + i)).enableAcceleratorIn(this); + new ToolTipAction("" + i) { + @Override + public void actionPerformed(ActionEvent actionEvent) { + if (favorites[i] != null) { + transform = favorites[i]; + isManualScale = true; + graphicHasChanged(); + if (circuitScrollPanel != null) + circuitScrollPanel.transformChanged(transform); + } + + } + }.setAccelerator(KeyStroke.getKeyStroke((char) ('0' + i), 0)).enableAcceleratorIn(this); + } + } + private void createAdditionalShortcuts(ShapeFactory shapeFactory) { new ToolTipAction("diagWire") { @Override diff --git a/sun_checks_neemann.xml b/sun_checks_neemann.xml index 8bf861dd7..54c9a51d7 100644 --- a/sun_checks_neemann.xml +++ b/sun_checks_neemann.xml @@ -55,7 +55,7 @@ - +