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 fbcc631c..326ae2cc 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java index 3c05da35..d6aadb92 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java @@ -47,11 +47,13 @@ class CanvasPanel extends JComponent implements Autoscroll { private static boolean USE_HARDWARE_ACCELLERATION = false; -// 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); + // 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