From 1645eae18d4804127b5d3010eccceae05a95e115 Mon Sep 17 00:00:00 2001 From: bancika Date: Tue, 21 Aug 2012 14:16:07 +0000 Subject: [PATCH] Replaced deep cloning library with manual implementation --- .../diylc-swing/.classpath | 2 - .../diylc-swing/lib/cloning-1.8.1.jar | Bin 20827 -> 0 bytes .../diylc-swing/lib/diylc-core.jar | Bin 200227 -> 200384 bytes .../diylc-swing/lib/objenesis-1.2.jar | Bin 36046 -> 0 bytes .../src/org/diylc/swing/ActionFactory.java | 232 +++++++++++------- .../diylc/swing/gui/editor/MeasureEditor.java | 20 +- .../diylc-swing/update.xml | 6 +- 7 files changed, 157 insertions(+), 103 deletions(-) delete mode 100644 diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/cloning-1.8.1.jar delete mode 100644 diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/objenesis-1.2.jar diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/.classpath b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/.classpath index 14e0fb47..c49d0a29 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/.classpath +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/.classpath @@ -13,7 +13,5 @@ - - diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/cloning-1.8.1.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/cloning-1.8.1.jar deleted file mode 100644 index ebd2d8c24d075cfaa354077f1e9cac9e79793aa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20827 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

+mR6Ju?V=?aK|4N*F>yp*5Dv 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 delta 30340 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 diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/ActionFactory.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/ActionFactory.java index a3d24065..e657b248 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/ActionFactory.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/ActionFactory.java @@ -6,6 +6,7 @@ import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import java.awt.print.PrinterException; import java.io.File; +import java.util.ArrayList; import java.util.List; import javax.swing.AbstractAction; @@ -31,14 +32,11 @@ import org.diylc.swingframework.IDrawingProvider; import org.diylc.swingframework.export.DrawingExporter; import org.diylc.utils.BomEntry; -import com.rits.cloning.Cloner; - public class ActionFactory { private static final Logger LOG = Logger.getLogger(ActionFactory.class); private static ActionFactory instance; - private static Cloner cloner = new Cloner(); public static ActionFactory getInstance() { if (instance == null) { @@ -64,7 +62,8 @@ public class ActionFactory { return new SaveAction(plugInPort, swingUI); } - public SaveAsAction createSaveAsAction(IPlugInPort plugInPort, ISwingUI swingUI) { + public SaveAsAction createSaveAsAction(IPlugInPort plugInPort, + ISwingUI swingUI) { return new SaveAsAction(plugInPort, swingUI); } @@ -72,11 +71,13 @@ public class ActionFactory { return new CreateBomAction(plugInPort); } - public ExportPDFAction createExportPDFAction(IDrawingProvider drawingProvider, ISwingUI swingUI) { + public ExportPDFAction createExportPDFAction( + IDrawingProvider drawingProvider, ISwingUI swingUI) { return new ExportPDFAction(drawingProvider, swingUI); } - public ExportPNGAction createExportPNGAction(IDrawingProvider drawingProvider, ISwingUI swingUI) { + public ExportPNGAction createExportPNGAction( + IDrawingProvider drawingProvider, ISwingUI swingUI) { return new ExportPNGAction(drawingProvider, swingUI); } @@ -90,17 +91,18 @@ public class ActionFactory { // Edit menu actions. - public CutAction createCutAction(IPlugInPort plugInPort, Clipboard clipboard, - ClipboardOwner clipboardOwner) { + public CutAction createCutAction(IPlugInPort plugInPort, + Clipboard clipboard, ClipboardOwner clipboardOwner) { return new CutAction(plugInPort, clipboard, clipboardOwner); } - public CopyAction createCopyAction(IPlugInPort plugInPort, Clipboard clipboard, - ClipboardOwner clipboardOwner) { + public CopyAction createCopyAction(IPlugInPort plugInPort, + Clipboard clipboard, ClipboardOwner clipboardOwner) { return new CopyAction(plugInPort, clipboard, clipboardOwner); } - public PasteAction createPasteAction(IPlugInPort plugInPort, Clipboard clipboard) { + public PasteAction createPasteAction(IPlugInPort plugInPort, + Clipboard clipboard) { return new PasteAction(plugInPort, clipboard); } @@ -124,12 +126,13 @@ public class ActionFactory { return new EditSelectionAction(plugInPort); } - public DeleteSelectionAction createDeleteSelectionAction(IPlugInPort plugInPort) { + public DeleteSelectionAction createDeleteSelectionAction( + IPlugInPort plugInPort) { return new DeleteSelectionAction(plugInPort); } - public ExpandSelectionAction createExpandSelectionAction(IPlugInPort plugInPort, - ExpansionMode expansionMode) { + public ExpandSelectionAction createExpandSelectionAction( + IPlugInPort plugInPort, ExpansionMode expansionMode) { return new ExpandSelectionAction(plugInPort, expansionMode); } @@ -143,8 +146,8 @@ public class ActionFactory { // Config actions. - public ConfigAction createConfigAction(IPlugInPort plugInPort, String title, String configKey, - boolean defaultValue) { + public ConfigAction createConfigAction(IPlugInPort plugInPort, + String title, String configKey, boolean defaultValue) { return new ConfigAction(plugInPort, title, configKey, defaultValue); } @@ -152,7 +155,8 @@ public class ActionFactory { return new ThemeAction(plugInPort, theme); } - public RenumberAction createRenumberAction(IPlugInPort plugInPort, boolean xAxisFirst) { + public RenumberAction createRenumberAction(IPlugInPort plugInPort, + boolean xAxisFirst) { return new RenumberAction(plugInPort, xAxisFirst); } @@ -168,9 +172,10 @@ public class ActionFactory { super(); this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "New"); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, - ActionEvent.CTRL_MASK)); - putValue(AbstractAction.SMALL_ICON, IconLoader.DocumentPlainYellow.getIcon()); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke( + KeyEvent.VK_N, ActionEvent.CTRL_MASK)); + putValue(AbstractAction.SMALL_ICON, IconLoader.DocumentPlainYellow + .getIcon()); } @Override @@ -180,9 +185,10 @@ public class ActionFactory { return; } plugInPort.createNewProject(); - List properties = plugInPort.getProjectProperties(); - PropertyEditorDialog editor = DialogFactory.getInstance().createPropertyEditorDialog( - properties, "Edit Project"); + List properties = plugInPort + .getProjectProperties(); + PropertyEditorDialog editor = DialogFactory.getInstance() + .createPropertyEditorDialog(properties, "Edit Project"); editor.setVisible(true); if (ButtonDialog.OK.equals(editor.getSelectedButtonCaption())) { plugInPort.applyPropertiesToProject(properties); @@ -190,8 +196,8 @@ public class ActionFactory { // Save default values. for (PropertyWrapper property : editor.getDefaultedProperties()) { if (property.getValue() != null) { - plugInPort.setProjectDefaultPropertyValue(property.getName(), property - .getValue()); + plugInPort.setProjectDefaultPropertyValue(property + .getName(), property.getValue()); } } } @@ -209,8 +215,8 @@ public class ActionFactory { this.plugInPort = plugInPort; this.swingUI = swingUI; putValue(AbstractAction.NAME, "Open"); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_O, - ActionEvent.CTRL_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke( + KeyEvent.VK_O, ActionEvent.CTRL_MASK)); putValue(AbstractAction.SMALL_ICON, IconLoader.FolderOut.getIcon()); } @@ -221,8 +227,8 @@ public class ActionFactory { return; } final File file = DialogFactory.getInstance().showOpenDialog( - FileFilterEnum.DIY.getFilter(), null, FileFilterEnum.DIY.getExtensions()[0], - null); + FileFilterEnum.DIY.getFilter(), null, + FileFilterEnum.DIY.getExtensions()[0], null); if (file != null) { swingUI.executeBackgroundTask(new ITask() { @@ -239,7 +245,8 @@ public class ActionFactory { @Override public void failed(Exception e) { - swingUI.showMessage("Could not open file. " + e.getMessage(), "Error", + swingUI.showMessage("Could not open file. " + + e.getMessage(), "Error", ISwingUI.ERROR_MESSAGE); } }); @@ -259,8 +266,8 @@ public class ActionFactory { this.plugInPort = plugInPort; this.swingUI = swingUI; putValue(AbstractAction.NAME, "Save"); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, - ActionEvent.CTRL_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke( + KeyEvent.VK_S, ActionEvent.CTRL_MASK)); putValue(AbstractAction.SMALL_ICON, IconLoader.DiskBlue.getIcon()); } @@ -277,7 +284,8 @@ public class ActionFactory { @Override public Void doInBackground() throws Exception { LOG.debug("Saving to " + file.getAbsolutePath()); - plugInPort.saveProjectToFile(file.getAbsolutePath(), false); + plugInPort.saveProjectToFile( + file.getAbsolutePath(), false); return null; } @@ -287,8 +295,9 @@ public class ActionFactory { @Override public void failed(Exception e) { - swingUI.showMessage("Could not save to file. " + e.getMessage(), - "Error", ISwingUI.ERROR_MESSAGE); + swingUI.showMessage("Could not save to file. " + + e.getMessage(), "Error", + ISwingUI.ERROR_MESSAGE); } }); } @@ -297,8 +306,10 @@ public class ActionFactory { @Override public Void doInBackground() throws Exception { - LOG.debug("Saving to " + plugInPort.getCurrentFileName()); - plugInPort.saveProjectToFile(plugInPort.getCurrentFileName(), false); + LOG.debug("Saving to " + + plugInPort.getCurrentFileName()); + plugInPort.saveProjectToFile(plugInPort + .getCurrentFileName(), false); return null; } @@ -308,7 +319,8 @@ public class ActionFactory { @Override public void failed(Exception e) { - swingUI.showMessage("Could not save to file. " + e.getMessage(), "Error", + swingUI.showMessage("Could not save to file. " + + e.getMessage(), "Error", ISwingUI.ERROR_MESSAGE); } }); @@ -328,8 +340,9 @@ public class ActionFactory { this.plugInPort = plugInPort; this.swingUI = swingUI; putValue(AbstractAction.NAME, "Save As"); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, - ActionEvent.CTRL_MASK | ActionEvent.SHIFT_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke( + KeyEvent.VK_S, ActionEvent.CTRL_MASK + | ActionEvent.SHIFT_MASK)); putValue(AbstractAction.SMALL_ICON, IconLoader.DiskBlue.getIcon()); } @@ -337,15 +350,16 @@ public class ActionFactory { public void actionPerformed(ActionEvent e) { LOG.info("SaveAsAction triggered"); final File file = DialogFactory.getInstance().showSaveDialog( - FileFilterEnum.DIY.getFilter(), null, FileFilterEnum.DIY.getExtensions()[0], - null); + FileFilterEnum.DIY.getFilter(), null, + FileFilterEnum.DIY.getExtensions()[0], null); if (file != null) { swingUI.executeBackgroundTask(new ITask() { @Override public Void doInBackground() throws Exception { LOG.debug("Saving to " + file.getAbsolutePath()); - plugInPort.saveProjectToFile(file.getAbsolutePath(), false); + plugInPort.saveProjectToFile(file.getAbsolutePath(), + false); return null; } @@ -355,7 +369,8 @@ public class ActionFactory { @Override public void failed(Exception e) { - swingUI.showMessage("Could not save to file. " + e.getMessage(), "Error", + swingUI.showMessage("Could not save to file. " + + e.getMessage(), "Error", ISwingUI.ERROR_MESSAGE); } }); @@ -379,8 +394,8 @@ public class ActionFactory { @Override public void actionPerformed(ActionEvent e) { LOG.info("CreateBomAction triggered"); - List bom = org.diylc.utils.BomMaker.getInstance().createBom( - plugInPort.getCurrentProject().getComponents()); + List bom = org.diylc.utils.BomMaker.getInstance() + .createBom(plugInPort.getCurrentProject().getComponents()); BomDialog dialog = DialogFactory.getInstance().createBomDialog(bom); dialog.setVisible(true); } @@ -393,7 +408,8 @@ public class ActionFactory { private IDrawingProvider drawingProvider; private ISwingUI swingUI; - public ExportPDFAction(IDrawingProvider drawingProvider, ISwingUI swingUI) { + public ExportPDFAction(IDrawingProvider drawingProvider, + ISwingUI swingUI) { super(); this.drawingProvider = drawingProvider; this.swingUI = swingUI; @@ -405,8 +421,8 @@ public class ActionFactory { public void actionPerformed(ActionEvent e) { LOG.info("ExportPDFAction triggered"); final File file = DialogFactory.getInstance().showSaveDialog( - FileFilterEnum.PDF.getFilter(), null, FileFilterEnum.PDF.getExtensions()[0], - null); + FileFilterEnum.PDF.getFilter(), null, + FileFilterEnum.PDF.getExtensions()[0], null); if (file != null) { swingUI.executeBackgroundTask(new ITask() { @@ -424,7 +440,8 @@ public class ActionFactory { @Override public void failed(Exception e) { - swingUI.showMessage("Could not export to PDF. " + e.getMessage(), "Error", + swingUI.showMessage("Could not export to PDF. " + + e.getMessage(), "Error", ISwingUI.ERROR_MESSAGE); } }); @@ -439,7 +456,8 @@ public class ActionFactory { private IDrawingProvider drawingProvider; private ISwingUI swingUI; - public ExportPNGAction(IDrawingProvider drawingProvider, ISwingUI swingUI) { + public ExportPNGAction(IDrawingProvider drawingProvider, + ISwingUI swingUI) { super(); this.drawingProvider = drawingProvider; this.swingUI = swingUI; @@ -451,8 +469,8 @@ public class ActionFactory { public void actionPerformed(ActionEvent e) { LOG.info("ExportPNGAction triggered"); final File file = DialogFactory.getInstance().showSaveDialog( - FileFilterEnum.PNG.getFilter(), null, FileFilterEnum.PNG.getExtensions()[0], - null); + FileFilterEnum.PNG.getFilter(), null, + FileFilterEnum.PNG.getExtensions()[0], null); if (file != null) { swingUI.executeBackgroundTask(new ITask() { @@ -470,7 +488,8 @@ public class ActionFactory { @Override public void failed(Exception e) { - swingUI.showMessage("Could not export to PNG. " + e.getMessage(), "Error", + swingUI.showMessage("Could not export to PNG. " + + e.getMessage(), "Error", ISwingUI.ERROR_MESSAGE); } }); @@ -488,8 +507,8 @@ public class ActionFactory { super(); this.drawingProvider = drawingProvider; putValue(AbstractAction.NAME, "Print..."); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_P, - ActionEvent.CTRL_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke( + KeyEvent.VK_P, ActionEvent.CTRL_MASK)); putValue(AbstractAction.SMALL_ICON, IconLoader.Print.getIcon()); } @@ -536,22 +555,24 @@ public class ActionFactory { private Clipboard clipboard; private ClipboardOwner clipboardOwner; - public CutAction(IPlugInPort plugInPort, Clipboard clipboard, ClipboardOwner clipboardOwner) { + public CutAction(IPlugInPort plugInPort, Clipboard clipboard, + ClipboardOwner clipboardOwner) { super(); this.plugInPort = plugInPort; this.clipboard = clipboard; this.clipboardOwner = clipboardOwner; putValue(AbstractAction.NAME, "Cut"); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_X, - ActionEvent.CTRL_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke( + KeyEvent.VK_X, ActionEvent.CTRL_MASK)); putValue(AbstractAction.SMALL_ICON, IconLoader.Cut.getIcon()); } @Override public void actionPerformed(ActionEvent e) { LOG.info("Cut triggered"); - clipboard.setContents(new ComponentTransferable(cloner.deepClone(plugInPort - .getSelectedComponents())), clipboardOwner); + clipboard.setContents(new ComponentTransferable( + cloneComponents(plugInPort.getSelectedComponents())), + clipboardOwner); plugInPort.deleteSelectedComponents(); } } @@ -564,22 +585,24 @@ public class ActionFactory { private Clipboard clipboard; private ClipboardOwner clipboardOwner; - public CopyAction(IPlugInPort plugInPort, Clipboard clipboard, ClipboardOwner clipboardOwner) { + public CopyAction(IPlugInPort plugInPort, Clipboard clipboard, + ClipboardOwner clipboardOwner) { super(); this.plugInPort = plugInPort; this.clipboard = clipboard; this.clipboardOwner = clipboardOwner; putValue(AbstractAction.NAME, "Copy"); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_C, - ActionEvent.CTRL_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke( + KeyEvent.VK_C, ActionEvent.CTRL_MASK)); putValue(AbstractAction.SMALL_ICON, IconLoader.Copy.getIcon()); } @Override public void actionPerformed(ActionEvent e) { LOG.info("Copy triggered"); - clipboard.setContents(new ComponentTransferable(cloner.deepClone(plugInPort - .getSelectedComponents())), clipboardOwner); + clipboard.setContents(new ComponentTransferable( + cloneComponents(plugInPort.getSelectedComponents())), + clipboardOwner); } } @@ -595,8 +618,8 @@ public class ActionFactory { this.plugInPort = plugInPort; this.clipboard = clipboard; putValue(AbstractAction.NAME, "Paste"); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_V, - ActionEvent.CTRL_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke( + KeyEvent.VK_V, ActionEvent.CTRL_MASK)); putValue(AbstractAction.SMALL_ICON, IconLoader.Paste.getIcon()); } @@ -607,13 +630,27 @@ public class ActionFactory { try { List> components = (List>) clipboard .getData(ComponentTransferable.listFlavor); - plugInPort.pasteComponents(cloner.deepClone(components)); + plugInPort.pasteComponents(cloneComponents(components)); } catch (Exception ex) { LOG.error("Coule not paste.", ex); } } } + private static List> cloneComponents( + List> components) { + List> result = new ArrayList>( + components.size()); + for (IDIYComponent component : components) { + try { + result.add(component.clone()); + } catch (CloneNotSupportedException e) { + throw new RuntimeException(e); + } + } + return result; + } + public static class SelectAllAction extends AbstractAction { private static final long serialVersionUID = 1L; @@ -624,8 +661,8 @@ public class ActionFactory { super(); this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Select All"); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_A, - ActionEvent.CTRL_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke( + KeyEvent.VK_A, ActionEvent.CTRL_MASK)); putValue(AbstractAction.SMALL_ICON, IconLoader.Selection.getIcon()); } @@ -646,8 +683,8 @@ public class ActionFactory { super(); this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Group Selection"); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_G, - ActionEvent.CTRL_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke( + KeyEvent.VK_G, ActionEvent.CTRL_MASK)); putValue(AbstractAction.SMALL_ICON, IconLoader.Group.getIcon()); } @@ -668,8 +705,8 @@ public class ActionFactory { super(); this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Ungroup Selection"); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, - ActionEvent.CTRL_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke( + KeyEvent.VK_U, ActionEvent.CTRL_MASK)); putValue(AbstractAction.SMALL_ICON, IconLoader.Ungroup.getIcon()); } @@ -690,15 +727,17 @@ public class ActionFactory { super(); this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Edit Project"); - putValue(AbstractAction.SMALL_ICON, IconLoader.DocumentEdit.getIcon()); + putValue(AbstractAction.SMALL_ICON, IconLoader.DocumentEdit + .getIcon()); } @Override public void actionPerformed(ActionEvent e) { LOG.info("Edit Project triggered"); - List properties = plugInPort.getProjectProperties(); - PropertyEditorDialog editor = DialogFactory.getInstance().createPropertyEditorDialog( - properties, "Edit Project"); + List properties = plugInPort + .getProjectProperties(); + PropertyEditorDialog editor = DialogFactory.getInstance() + .createPropertyEditorDialog(properties, "Edit Project"); editor.setVisible(true); if (ButtonDialog.OK.equals(editor.getSelectedButtonCaption())) { plugInPort.applyPropertiesToProject(properties); @@ -706,8 +745,8 @@ public class ActionFactory { // Save default values. for (PropertyWrapper property : editor.getDefaultedProperties()) { if (property.getValue() != null) { - plugInPort.setProjectDefaultPropertyValue(property.getName(), property - .getValue()); + plugInPort.setProjectDefaultPropertyValue(property + .getName(), property.getValue()); } } } @@ -723,15 +762,17 @@ public class ActionFactory { super(); this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Edit Selection"); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, - ActionEvent.CTRL_MASK)); - putValue(AbstractAction.SMALL_ICON, IconLoader.EditComponent.getIcon()); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke( + KeyEvent.VK_E, ActionEvent.CTRL_MASK)); + putValue(AbstractAction.SMALL_ICON, IconLoader.EditComponent + .getIcon()); } @Override public void actionPerformed(ActionEvent e) { LOG.info("Edit Selection triggered"); - List properties = plugInPort.getMutualSelectionProperties(); + List properties = plugInPort + .getMutualSelectionProperties(); if (properties == null || properties.isEmpty()) { LOG.info("Nothing to edit"); return; @@ -750,7 +791,8 @@ public class ActionFactory { super(); this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Delete Selection"); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0)); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke( + KeyEvent.VK_DELETE, 0)); putValue(AbstractAction.SMALL_ICON, IconLoader.Delete.getIcon()); } @@ -768,7 +810,8 @@ public class ActionFactory { private IPlugInPort plugInPort; private ExpansionMode expansionMode; - public ExpandSelectionAction(IPlugInPort plugInPort, ExpansionMode expansionMode) { + public ExpandSelectionAction(IPlugInPort plugInPort, + ExpansionMode expansionMode) { super(); this.plugInPort = plugInPort; this.expansionMode = expansionMode; @@ -842,15 +885,15 @@ public class ActionFactory { private IPlugInPort plugInPort; private String configKey; - public ConfigAction(IPlugInPort plugInPort, String title, String configKey, - boolean defaultValue) { + public ConfigAction(IPlugInPort plugInPort, String title, + String configKey, boolean defaultValue) { super(); this.plugInPort = plugInPort; this.configKey = configKey; putValue(AbstractAction.NAME, title); putValue(IView.CHECK_BOX_MENU_ITEM, true); - putValue(AbstractAction.SELECTED_KEY, ConfigurationManager.getInstance().readBoolean( - configKey, defaultValue)); + putValue(AbstractAction.SELECTED_KEY, ConfigurationManager + .getInstance().readBoolean(configKey, defaultValue)); } @Override @@ -875,8 +918,8 @@ public class ActionFactory { this.theme = theme; putValue(AbstractAction.NAME, theme.getName()); putValue(IView.RADIO_BUTTON_GROUP_KEY, "theme"); - putValue(AbstractAction.SELECTED_KEY, plugInPort.getSelectedTheme().getName().equals( - theme.getName())); + putValue(AbstractAction.SELECTED_KEY, plugInPort.getSelectedTheme() + .getName().equals(theme.getName())); } @Override @@ -897,7 +940,8 @@ public class ActionFactory { super(); this.plugInPort = plugInPort; this.xAxisFirst = xAxisFirst; - putValue(AbstractAction.NAME, xAxisFirst ? "X Axis First" : "Y Axis First"); + putValue(AbstractAction.NAME, xAxisFirst ? "X Axis First" + : "Y Axis First"); } @Override diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java index 991612e4..0f5d8ba1 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java @@ -40,8 +40,12 @@ public class MeasureEditor extends Container { @Override public void propertyChange(PropertyChangeEvent evt) { try { - Constructor ctor = measure.getClass().getConstructors()[0]; - AbstractMeasure newMeasure = (AbstractMeasure) ctor.newInstance((Double) evt.getNewValue(), measure.getUnit()); + Constructor ctor = measure.getClass() + .getConstructors()[0]; + AbstractMeasure oldMeasure = (AbstractMeasure) property.getValue(); + AbstractMeasure newMeasure = (AbstractMeasure) ctor + .newInstance((Double) evt.getNewValue(), + oldMeasure.getUnit()); property.setValue(newMeasure); property.setChanged(true); valueField.setBackground(oldBg); @@ -72,7 +76,11 @@ public class MeasureEditor extends Container { public void actionPerformed(ActionEvent evt) { try { Constructor ctor = measure.getClass().getConstructors()[0]; - AbstractMeasure newMeasure = (AbstractMeasure) ctor.newInstance((Enum) unitBox.getSelectedItem()); + AbstractMeasure oldMeasure = (AbstractMeasure) property.getValue(); + AbstractMeasure newMeasure = (AbstractMeasure) ctor + .newInstance(oldMeasure.getValue(), + (Enum) unitBox + .getSelectedItem()); property.setValue(newMeasure); property.setChanged(true); valueField.setBackground(oldBg); @@ -115,17 +123,17 @@ public class MeasureEditor extends Container { e.printStackTrace(); } } - + @Override public void requestFocus() { this.valueField.requestFocus(); } - + @Override public boolean requestFocusInWindow() { return this.valueField.requestFocusInWindow(); } - + @Override public synchronized void addKeyListener(KeyListener l) { this.valueField.addKeyListener(l); 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 fa261390..9cf27070 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 @@ -709,7 +709,11 @@ IMPROVEMENT Some components can be placed in any layer using Send to Back/Bring to Front - + + + IMPROVEMENT + Replaced deep cloning library with manual implementation + http://code.google.com/p/diy-layout-creator/downloads/list