From d16ee1d8903211046e1d65dc58bbf000e2f49871 Mon Sep 17 00:00:00 2001 From: bancika Date: Sat, 15 Jan 2011 11:13:19 +0000 Subject: [PATCH] added menu item to edit selection --- .../src/org/diylc/common/IPlugInPort.java | 3 +- .../src/org/diylc/images/IconLoader.java | 2 +- .../src/org/diylc/images/edit_component.png | Bin 0 -> 697 bytes .../plugins/clipboard/ClipboardManager.java | 37 ++++++++++++++++++ .../src/org/diylc/presenter/Presenter.java | 9 +++-- 5 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/edit_component.png diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/IPlugInPort.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/IPlugInPort.java index 0e524942..061d0e55 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/IPlugInPort.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/IPlugInPort.java @@ -301,9 +301,8 @@ public interface IPlugInPort { * exception will be thrown. * * @param properties - * @throws Exception */ - void applyPropertiesToSelection(List properties) throws Exception; + void applyPropertiesToSelection(List properties); /** * @return a list of editable properties of the current project. diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/IconLoader.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/IconLoader.java index ad5ae22f..4df65037 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/IconLoader.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/IconLoader.java @@ -24,7 +24,7 @@ public enum IconLoader { "wrench.png"), Group("group.png"), Ungroup("ungroup.png"), TraceMask("trace_mask.png"), Faq( "faq.png"), Component("component.png"), Plugin("plugin.png"), Manual("manual.png"), Donate( "donate.png"), Bug("bug.png"), AboutDialog("about_dialog.png"), DocumentEdit( - "document_edit.png"); + "document_edit.png"), EditComponent("edit_component.png"); protected String name; diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/edit_component.png b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/images/edit_component.png new file mode 100644 index 0000000000000000000000000000000000000000..9f438c3e111ee827842815b1142a76fcc3922f84 GIT binary patch literal 697 zcmV;q0!ICbP)WdKueATl!`MrC3kGB7YRATcpIGdMaiH6SZ6F)%QqnH)+0000McNliru z)&&<0F*|Y-$N>NV010qNS#tmY3h)2`3h)6!tTdPa000DMK}|sb0I`n?{9y$E00I$7 zL_t(|+SQUvXcJKshW|`vVvMM~DexMIXx53FyfuN3R4c zUEOWo)JhKH@sDis=I0S=&ekTsA*4Thz}E?siKPpc6K%I1J%ePDF*cZZSdOWB^UK=g zOwB;7C-BRQfk?uhU)*pzIy+sgq?Ib=rid|OnNS*8+pWZYf|dY_M3T_oUu|^n1;SbT fF6wR@uWgK properties = plugInPort.getMutualSelectionProperties(); + if (properties == null || properties.isEmpty()) { + LOG.info("Nothing to edit"); + return; + } + PropertyEditorDialog editor = DialogFactory.getInstance().createPropertyEditorDialog( + properties, "Edit Selection"); + editor.setVisible(true); + if (ButtonDialog.OK.equals(editor.getSelectedButtonCaption())) { + plugInPort.applyPropertiesToSelection(properties); + } + // Save default values. + for (PropertyWrapper property : editor.getDefaultedProperties()) { + if (property.getValue() != null) { + plugInPort.setDefaultPropertyValue(property.getName(), property.getValue()); + } + } + } + } + // ClipboardOwner @Override diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java index da77a3a2..5fad48c7 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java @@ -996,7 +996,7 @@ public class Presenter implements IPlugInPort { } @Override - public void applyPropertiesToSelection(List properties) throws Exception { + public void applyPropertiesToSelection(List properties) { LOG.debug(String.format("applyPropertiesToSelection(%s)", properties)); Project oldProject = cloner.deepClone(currentProject); try { @@ -1005,11 +1005,13 @@ public class Presenter implements IPlugInPort { property.writeTo(component); } } + } catch (Exception e) { + LOG.error("Could not apply selection properties", e); } finally { // Notify the listeners. if (!oldProject.equals(currentProject)) { messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, cloner - .deepClone(currentProject), "Edit"); + .deepClone(currentProject), "Edit Selection"); } messageDispatcher.dispatchMessage(EventType.REPAINT); messageDispatcher.dispatchMessage(EventType.SELECTION_SIZE_CHANGED, @@ -1049,8 +1051,7 @@ public class Presenter implements IPlugInPort { .deepClone(currentProject), "Edit Project"); } messageDispatcher.dispatchMessage(EventType.REPAINT); - messageDispatcher.dispatchMessage(EventType.SELECTION_SIZE_CHANGED, - calculateSelectionDimension()); + messageDispatcher.dispatchMessage(EventType.ZOOM_CHANGED, zoomLevel); } }