From 50bacee70ac2fb14051539ef024baf4932ef4d35 Mon Sep 17 00:00:00 2001 From: bancika Date: Fri, 17 Aug 2012 13:27:59 +0000 Subject: [PATCH] Transistors can show name or value --- .../diylc-swing/library/main.jar | Bin 195036 -> 195424 bytes .../swing/plugins/canvas/CanvasPanel.java | 65 ++++++++++-------- .../swing/plugins/canvas/CanvasPlugin.java | 5 +- .../diylc-swing/update.xml | 4 ++ 4 files changed, 44 insertions(+), 30 deletions(-) diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar index fbcc631c08a440f622edf68b04e7bd9221536fcf..326ae2cc7aad8990520a442c7df912d5e50c3a4b 100644 GIT binary patch delta 13129 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 TgPuv2M)HEdsM)a;_O?iiPx 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 DRAW_OPTIONS = EnumSet.of(DrawOption.GRID, -// DrawOption.SELECTION, DrawOption.ZOOM, DrawOption.CONTROL_POINTS); -// static final EnumSet DRAW_OPTIONS_ANTI_ALIASING = EnumSet.of(DrawOption.GRID, -// DrawOption.SELECTION, DrawOption.ZOOM, DrawOption.ANTIALIASING, -// DrawOption.CONTROL_POINTS); + // static final EnumSet DRAW_OPTIONS = + // EnumSet.of(DrawOption.GRID, + // DrawOption.SELECTION, DrawOption.ZOOM, DrawOption.CONTROL_POINTS); + // static final EnumSet DRAW_OPTIONS_ANTI_ALIASING = + // EnumSet.of(DrawOption.GRID, + // DrawOption.SELECTION, DrawOption.ZOOM, DrawOption.ANTIALIASING, + // DrawOption.CONTROL_POINTS); public CanvasPanel(IPlugInPort plugInPort) { super(); @@ -59,7 +61,8 @@ class CanvasPanel extends JComponent implements Autoscroll { setFocusable(true); initializeListeners(); initializeDnD(); - GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); + GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment + .getLocalGraphicsEnvironment(); GraphicsDevice[] devices = graphicsEnvironment.getScreenDevices(); screenGraphicsConfiguration = devices[0].getDefaultConfiguration(); @@ -72,7 +75,8 @@ class CanvasPanel extends JComponent implements Autoscroll { private void initializeDnD() { // Initialize drag source recognizer. - DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(this, + DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer( + this, DnDConstants.ACTION_COPY_OR_MOVE | DnDConstants.ACTION_LINK, new CanvasGestureListener(plugInPort)); // Initialize drop target. @@ -96,8 +100,8 @@ class CanvasPanel extends JComponent implements Autoscroll { protected void createBufferImage() { if (USE_HARDWARE_ACCELLERATION) { - bufferImage = screenGraphicsConfiguration.createCompatibleVolatileImage(getWidth(), - getHeight()); + bufferImage = screenGraphicsConfiguration + .createCompatibleVolatileImage(getWidth(), getHeight()); ((VolatileImage) bufferImage).validate(screenGraphicsConfiguration); } else { bufferImage = createImage(getWidth(), getHeight()); @@ -114,12 +118,15 @@ class CanvasPanel extends JComponent implements Autoscroll { } Graphics2D g2d = (Graphics2D) bufferImage.getGraphics(); g2d.setClip(getVisibleRect()); - Set drawOptions = EnumSet.of(DrawOption.GRID, DrawOption.SELECTION, - DrawOption.ZOOM, DrawOption.CONTROL_POINTS); - if (ConfigurationManager.getInstance().readBoolean(IPlugInPort.ANTI_ALIASING_KEY, true)) { + Set drawOptions = EnumSet.of(DrawOption.GRID, + DrawOption.SELECTION, DrawOption.ZOOM, + DrawOption.CONTROL_POINTS); + if (ConfigurationManager.getInstance().readBoolean( + IPlugInPort.ANTI_ALIASING_KEY, true)) { drawOptions.add(DrawOption.ANTIALIASING); } - if (ConfigurationManager.getInstance().readBoolean(IPlugInPort.OUTLINE_KEY, false)) { + if (ConfigurationManager.getInstance().readBoolean( + IPlugInPort.OUTLINE_KEY, false)) { drawOptions.add(DrawOption.OUTLINE_MODE); } plugInPort.draw(g2d, drawOptions, null); @@ -178,33 +185,35 @@ class CanvasPanel extends JComponent implements Autoscroll { @Override public void mouseMoved(MouseEvent e) { setCursor(plugInPort.getCursorAt(e.getPoint())); - plugInPort.mouseMoved(e.getPoint(), e.isControlDown(), e.isShiftDown(), e - .isAltDown()); + plugInPort.mouseMoved(e.getPoint(), e.isControlDown(), e + .isShiftDown(), e.isAltDown()); + } + }); + addMouseListener(new MouseAdapter() { + + @Override + public void mouseClicked(MouseEvent e) { + if (e.getButton() == MouseEvent.BUTTON1) { + plugInPort.mouseClicked(e.getPoint(), e.getButton(), e + .isControlDown(), e.isShiftDown(), e.isAltDown(), e + .getClickCount()); + } } }); -// addMouseListener(new MouseAdapter() { -// -// @Override -// public void mouseClicked(MouseEvent e) { -// if (e.getButton() == MouseEvent.BUTTON1) { -// plugInPort.mouseClicked(e.getPoint(), e.getButton(), e.isControlDown(), e.isShiftDown(), e -// .isAltDown(), e.getClickCount()); -// } -// } -// }); } // Autoscroll @Override public void autoscroll(Point cursorLocn) { - scrollRectToVisible(new Rectangle(cursorLocn.x - 15, cursorLocn.y - 15, 30, 30)); + scrollRectToVisible(new Rectangle(cursorLocn.x - 15, cursorLocn.y - 15, + 30, 30)); } @Override public Insets getAutoscrollInsets() { Rectangle rect = getVisibleRect(); - return new Insets(rect.y - 15, rect.x - 15, rect.y + rect.height + 15, rect.x + rect.width - + 15); + return new Insets(rect.y - 15, rect.x - 15, rect.y + rect.height + 15, + rect.x + rect.width + 15); } } diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java index 7c81a3e5..3833ef83 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java @@ -31,6 +31,7 @@ import org.diylc.common.BadPositionException; import org.diylc.common.EventType; import org.diylc.common.IPlugIn; import org.diylc.common.IPlugInPort; +import org.diylc.core.CreationMethod; import org.diylc.core.ExpansionMode; import org.diylc.core.IDIYComponent; import org.diylc.core.measures.Size; @@ -101,9 +102,9 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { @Override public void mouseReleased(MouseEvent e) { - if (plugInPort.getNewComponentTypeSlot() != null) { + if (plugInPort.getNewComponentTypeSlot() != null && plugInPort.getNewComponentTypeSlot().getCreationMethod() == CreationMethod.SINGLE_CLICK) { plugInPort.mouseClicked(e.getPoint(), e.getButton(), - false, false, false, 1); + false, false, false, e.getClickCount()); } else if (e.isPopupTrigger()) { // Enable actions. boolean enabled = !plugInPort.getSelectedComponents() diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml index 15b0a2ba..5ca8b4ef 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml @@ -662,6 +662,10 @@ IMPROVEMENT Faster component placement, auto-focus on "Value" box + + IMPROVEMENT + Transistors can show name or value + http://code.google.com/p/diy-layout-creator/downloads/list