From ac93a97e85406cb664c69444bbb6fcc8067fd5c0 Mon Sep 17 00:00:00 2001 From: bancika Date: Wed, 4 Jan 2017 15:24:10 +0100 Subject: [PATCH] added mirror --- .../src/org/diylc/common/IPlugInPort.java | 10 --- .../org/diylc/common/ISelectionProcessor.java | 23 ++++- .../diylc/presenter/ComponentProcessor.java | 19 ++-- .../org/diylc/presenter/DrawingManager.java | 3 +- .../src/org/diylc/presenter/Presenter.java | 84 ++++++++++++++---- diylc/diylc-library/lib/diylc-core.jar | Bin 230214 -> 230801 bytes diylc/diylc-swing/lib/diylc-core.jar | Bin 230214 -> 230801 bytes diylc/diylc-swing/library/main.jar | Bin 363605 -> 363605 bytes .../src/org/diylc/images/IconLoader.java | 3 +- .../src/org/diylc/images/flip_horizontal.png | Bin 0 -> 550 bytes .../src/org/diylc/images/flip_vertical.png | Bin 0 -> 528 bytes .../src/org/diylc/swing/ActionFactory.java | 35 +++++++- .../swing/plugins/canvas/CanvasPlugin.java | 42 +++++++-- .../swing/plugins/statusbar/StatusBar.java | 2 +- 14 files changed, 171 insertions(+), 50 deletions(-) create mode 100644 diylc/diylc-swing/src/org/diylc/images/flip_horizontal.png create mode 100644 diylc/diylc-swing/src/org/diylc/images/flip_vertical.png diff --git a/diylc/diylc-core/src/org/diylc/common/IPlugInPort.java b/diylc/diylc-core/src/org/diylc/common/IPlugInPort.java index c9994252..d09c9243 100644 --- a/diylc/diylc-core/src/org/diylc/common/IPlugInPort.java +++ b/diylc/diylc-core/src/org/diylc/common/IPlugInPort.java @@ -241,16 +241,6 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP */ void setMetric(boolean isMetric); - /** - * Groups all selected components. - */ - void groupSelectedComponents(); - - /** - * Ungroups all selected components. - */ - void ungroupSelectedComponents(); - /** * Locks or unlocks the specified layer. All components within +- 0.5 range will be affected by * the change as well. diff --git a/diylc/diylc-core/src/org/diylc/common/ISelectionProcessor.java b/diylc/diylc-core/src/org/diylc/common/ISelectionProcessor.java index 5edadf15..5b0e6147 100644 --- a/diylc/diylc-core/src/org/diylc/common/ISelectionProcessor.java +++ b/diylc/diylc-core/src/org/diylc/common/ISelectionProcessor.java @@ -1,19 +1,26 @@ package org.diylc.common; import java.awt.Point; +import java.util.Collection; import java.util.List; import org.diylc.core.ExpansionMode; import org.diylc.core.IDIYComponent; public interface ISelectionProcessor { + + public static final int CLOCKWISE = 1; + public static final int COUNTER_CLOCKWISE = 1; + + public static final int HORIZONTAL = 0; + public static final int VERTICAL = 1; /** * Returns the current {@link ComponentTransferable}. * * @return */ - List> getSelectedComponents(); + Collection> getSelectedComponents(); /** * Updates the selection with the specified list of component. Also, updates control point map @@ -21,7 +28,7 @@ public interface ISelectionProcessor { * * @param newSelection */ - void updateSelection(List> newSelection); + void updateSelection(Collection> newSelection); /** * Finds all components at the specified location, sorted by z-index from top to bottom. @@ -53,4 +60,16 @@ public interface ISelectionProcessor { * @param direction 1 for clockwise, -1 for counter-clockwise */ void rotateSelection(int direction); + + /** + * Groups all selected components. + */ + void groupSelectedComponents(); + + /** + * Ungroups all selected components. + */ + void ungroupSelectedComponents(); + + void mirrorSelection(int direction); } diff --git a/diylc/diylc-core/src/org/diylc/presenter/ComponentProcessor.java b/diylc/diylc-core/src/org/diylc/presenter/ComponentProcessor.java index d972e94e..4a6671ce 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/ComponentProcessor.java +++ b/diylc/diylc-core/src/org/diylc/presenter/ComponentProcessor.java @@ -6,8 +6,10 @@ import java.awt.RenderingHints; import java.awt.image.BufferedImage; import java.lang.reflect.Method; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; @@ -185,19 +187,22 @@ public class ComponentProcessor { * @param selectedComponents * @return */ - public List getMutualSelectionProperties(List> selectedComponents) throws Exception { + public List getMutualSelectionProperties(Collection> selectedComponents) throws Exception { if (selectedComponents.isEmpty()) { return null; } List properties = new ArrayList(); - IDIYComponent firstComponent = selectedComponents.get(0); + + List> selectedList = new ArrayList>(selectedComponents); + + IDIYComponent firstComponent = selectedList.get(0); properties.addAll(extractProperties(firstComponent.getClass())); // Initialize values for (PropertyWrapper property : properties) { property.readFrom(firstComponent); } for (int i = 1; i < selectedComponents.size(); i++) { - IDIYComponent component = selectedComponents.get(i); + IDIYComponent component = selectedList.get(i); List newProperties = extractProperties(component.getClass()); for (PropertyWrapper property : newProperties) { property.readFrom(component); @@ -219,14 +224,6 @@ public class ComponentProcessor { } } } - // for (PropertyWrapper property : properties) { - // try { - // property.readUniqueFrom(component); - // } catch (Exception e) { - // // TODO Auto-generated catch block - // e.printStackTrace(); - // } - // } } Collections.sort(properties, ComparatorFactory.getInstance().getDefaultPropertyComparator()); return properties; diff --git a/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java b/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java index 25a03a8b..912db2ea 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java +++ b/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java @@ -11,6 +11,7 @@ import java.awt.Rectangle; import java.awt.RenderingHints; import java.awt.geom.Area; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -97,7 +98,7 @@ public class DrawingManager { * @return */ public List> drawProject(Graphics2D g2d, Project project, Set drawOptions, - IComponentFiler filter, Rectangle selectionRect, List> selectedComponents, + IComponentFiler filter, Rectangle selectionRect, Collection> selectedComponents, Set> lockedComponents, Set> groupedComponents, List controlPointSlot, List> componentSlot, boolean dragInProgress) { failedComponents.clear(); diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java index 15448fd2..c52634bf 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java +++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java @@ -41,6 +41,7 @@ import org.diylc.common.IComponentFiler; import org.diylc.common.IKeyProcessor; import org.diylc.common.IPlugIn; import org.diylc.common.IPlugInPort; +import org.diylc.common.ISelectionProcessor; import org.diylc.common.Orientation; import org.diylc.common.OrientationHV; import org.diylc.common.PropertyWrapper; @@ -96,7 +97,7 @@ public class Presenter implements IPlugInPort { // Maps component class names to ComponentType objects. private List plugIns; - private List> selectedComponents; + private Set> selectedComponents; // Maps components that have at least one dragged point to set of indices // that designate which of their control points are being dragged. private Map, Set> controlPointMap; @@ -131,7 +132,7 @@ public class Presenter implements IPlugInPort { this.view = view; plugIns = new ArrayList(); messageDispatcher = new MessageDispatcher(true); - selectedComponents = new ArrayList>(); + selectedComponents = new HashSet>(); lockedComponents = new HashSet>(); currentProject = new Project(); // cloner = new Cloner(); @@ -558,6 +559,7 @@ public class Presenter implements IPlugInPort { || !newSelection.contains(topComponent)) { newSelection.clear(); } + newSelection.addAll(findAllGroupedComponents(topComponent)); } } @@ -754,7 +756,7 @@ public class Presenter implements IPlugInPort { } @Override - public List> getSelectedComponents() { + public Collection> getSelectedComponents() { return selectedComponents; } @@ -1056,6 +1058,7 @@ public class Presenter implements IPlugInPort { @Override public void rotateSelection(int direction) { if (!selectedComponents.isEmpty()) { + LOG.trace("Rotating selected components"); Project oldProject = currentProject.clone(); rotateComponents(this.selectedComponents, direction, isSnapToGrid()); messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), @@ -1069,7 +1072,7 @@ public class Presenter implements IPlugInPort { * @param direction 1 for clockwise, -1 for counter-clockwise */ @SuppressWarnings("unchecked") - private void rotateComponents(List> components, int direction, boolean snapToGrid) { + private void rotateComponents(Collection> components, int direction, boolean snapToGrid) { Point center = getCenterOf(components, snapToGrid); AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); @@ -1129,7 +1132,56 @@ public class Presenter implements IPlugInPort { } } - private Point getCenterOf(List> components, boolean snapToGrid) { + @SuppressWarnings("unchecked") + @Override + public void mirrorSelection(int direction) { + if (!selectedComponents.isEmpty()) { + LOG.trace("Mirroring selected components"); + Project oldProject = currentProject.clone(); + + Point center = getCenterOf(selectedComponents, isSnapToGrid()); + + boolean canMirror = true; + for (IDIYComponent component : selectedComponents) { + ComponentType type = + ComponentProcessor.getInstance().extractComponentTypeFrom( + (Class>) component.getClass()); + if (!type.isStretchable() && component.getControlPointCount() > 1) { + canMirror = false; + break; + } + } + + if (!canMirror) + if (view.showConfirmDialog( + "Selection contains components that cannot bi mirrored. Do you want to exclude them?", "Mirror Selection", + IView.YES_NO_OPTION, IView.QUESTION_MESSAGE) != IView.YES_OPTION) + return; + + for (IDIYComponent component : selectedComponents) { + ComponentType type = + ComponentProcessor.getInstance().extractComponentTypeFrom( + (Class>) component.getClass()); + if (type.isStretchable() || component.getControlPointCount() == 1) { + drawingManager.invalidateComponent(component); + for (int i = 0; i < component.getControlPointCount(); i++) { + Point p = component.getControlPoint(i); + if (direction == ISelectionProcessor.HORIZONTAL) { + component.setControlPoint(new Point(p.x - 2 * (p.x - center.x), p.y), i); + } else { + component.setControlPoint(new Point(p.x, p.y - 2 * (p.y - center.y)), i); + } + } + } + } + + messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), + "Mirror Selection"); + messageDispatcher.dispatchMessage(EventType.REPAINT); + } + } + + private Point getCenterOf(Collection> components, boolean snapToGrid) { // Determine center of rotation int minX = Integer.MAX_VALUE; int minY = Integer.MAX_VALUE; @@ -1455,8 +1507,8 @@ public class Presenter implements IPlugInPort { messageDispatcher.dispatchMessage(EventType.REPAINT); } - public void updateSelection(List> newSelection) { - this.selectedComponents = newSelection; + public void updateSelection(Collection> newSelection) { + this.selectedComponents = new HashSet>(newSelection); Map, Set> controlPointMap = new HashMap, Set>(); for (IDIYComponent component : selectedComponents) { Set indices = new HashSet(); @@ -1843,17 +1895,15 @@ public class Presenter implements IPlugInPort { if (this.selectedComponents.isEmpty()) { throw new RuntimeException("No components selected"); } - ComponentType selectedType = - ComponentProcessor.getInstance().extractComponentTypeFrom( - (Class>) this.selectedComponents.get(0).getClass()); - for (int i = 1; i < this.selectedComponents.size(); i++) { - ComponentType newType = - ComponentProcessor.getInstance().extractComponentTypeFrom( - (Class>) this.selectedComponents.get(i).getClass()); - if (newType.getInstanceClass() != selectedType.getInstanceClass()) { + ComponentType selectedType = null; + Iterator> iterator = this.selectedComponents.iterator(); + while (iterator.hasNext()) { + ComponentType type = ComponentProcessor.getInstance().extractComponentTypeFrom((Class>) iterator.next().getClass()); + if (selectedType == null) + selectedType = type; + else if (selectedType.getInstanceClass() != type.getInstanceClass()) throw new RuntimeException("Template can be applied on multiple components of the same type only"); - } - } + } return getTemplatesFor(selectedType.getCategory(), selectedType.getName()); } diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 413ef6b1fce3beb310b42e54ea87f8f97a1dccb6..16a668b30fd79197edb33b28b62de69c24693e17 100644 GIT binary patch delta 37655 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 delta 36776 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 Jhyz(5{10iK4Hy6b diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 413ef6b1fce3beb310b42e54ea87f8f97a1dccb6..16a668b30fd79197edb33b28b62de69c24693e17 100644 GIT binary patch delta 37655 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 delta 36776 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 Jhyz(5{10iK4Hy6b diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index fd09da1f2fcb62f9486d9887c53671fe2c81e880..ff8d26b98db02d67c2e35711eadb158ab8835cf6 100644 GIT binary patch delta 3123 zcmY*aX;f9$6@K@gdzcC$AcKH_0YOd5U<+z>DMSV_HZnY>$0##`%(KW4CV?tpy_hSd z%V1n47$YQt-egHEWQid$(WRD}Vz3&ACS5qRu3#);diUP%NBie}XAj>V&$(~vkloZF zJM)Owm}I8Wm}oR1x*qdYVz91f?E!I%uICFk`2EpS4AJSW1V4aaVIx40=%sf_G1h-1 zn1MJdYyx;LY$4-1fFsOH-W)9Q|BJ657T1IEp%_T6Ub1ByH_@juQ;>Htf1(Be{Ed05 zFl;J~TLFG;+r}1!=njYLd_GSsl{A`9OyrVw$w?lH;VXvwm)1$(<>E4C0eI`>Ybc-g z{m>FwDf17Eu9#{xOKkLSR=p(q#BrNXj)e3 zBhNU=-Ray;zMH|V755zBm^Ju*RU;%Jdu5%lfH}SNf(x3$jtT2&Ngp4cmL*Z6d5y`9 zB}|PoDA>u5v$%=!#elE~>DNCHy0O6AL17H$tgOBu1f!{VQaFJDm)#I0O?Pv|(~H2=S1HD#=1GlMXsJFAC8I;cohlx0ime=c zP8<}Y;I=5g91*?YIw?LU#7R6n8xg<5!}W7wF%}j+E(T(wUDw1~xC@H$4KaZ>aqr}N z8|&2(mPztE8O&YjnGp{nY2_{PElhRpp7>X6;_Zjx47OGALbSmQoyP11+$E*chBczb zd>IQxy4ID|GYfc0r|lg#II0=i<)$IYS#~=un#e^fn5A4?p)ShNop~T3a0UBzF~o8V zU_YDTEisOn2sC0E%~~V*O1-*Xr1l3hTO~e-+2e>xg4rEB#BOC<9Dv@J#^x}fK7-xC z2CDN|4jyh7vK};*m#_t6OfeV`=jNmqSIhKn6KV!m$x=C9!+wKqH}|l6c$lbXYcax$ zW;X8xS?1qSi-f~ZAFyAr^SKeW1m2rsewNu_Nz2c%d8E6HGk0rDR}i&uYuZSo`OaMK z=~IW%pT`!-oqPFWrQ;gAi}a#thTkcr{0=*dN&S9gxwy5y$1EQMnml1+@NH1Oddk*d z*DoxkX{1lvN!!rJbE%X_uf)VP?1-z{V>g2_u9kgVB@5+(v*d?<&s?Mdyz58(r8?9s zUndngVYyN7`i#2$4|8*@%AAUp)}WthtQ3jKlM1C8)Lbu?{(!Nv+NBd%j`ab_0&8D> zP)bKlYoFwa<2iX)vd76?cwZVspUNSrfNtfHN?z8aeti#{!PnPW9&6+F^7?jeq4=JX zy0G=n&Pc~GSME2`3e>R<@tN(d&Tm%nPAGF*X!F>TQM(_Zzvq&BU7#hj9 z1HKi>w*uab(*O7fz$92Hpn#l72hZA`UpiL5CSrXYVCs94Cl6gAV_a{@{ z*<_vs^0pM73pkQOeK@D`9FSX6c^2SoD%oSx$bK%3XMo;)C*KL!wv%U~-%efts7oiD zOs9OWWbk~@_hwL?QYOVI$RyrXgZ#TJvLDN$K8>=8SC&onUd^UHUdiFH5U(YN=5{-W zc-wPne(xJl%%eCNc{H!lJe~$TmtA}};Qn1Srw6715kJizweei>ROQVw&S%G1;w3XkHa1 zB!62%efpMiE#zq{rFj1;CA+qa{68t9{;bL=ZgDy7^-?+UJSwQ~whGFB-+-Z&wBM7J zya?jER8c+6Rn+%P73KG@ro8>tl$X`;R8#n8!jHdvxt`m~jWzsLh;hD#cIH=0u@BW! zEpxS0L;N19d2|oOa;+nLqmK0V>!`-iz2rZzmv+MHX_uMx_5dC)+$ z#y8R(8*8Lpcs7yW{wC`2-%WJK6W<{H=LTHWO!foK#Gh*>eo_m`=UeE`EpMgWSGQ7~ z(+1hEjds!5M*7({;%VEd-jQ~)TkNCRX6+;W#6GIWyMyfQ9n|;t9kh#$orG_9QvN5M S)Nf=L#W~(ZAF%l@uKO?H@Z%x? delta 3123 zcmY*aX;f9$6@K@gdzcC$AcKH_VN#Pa*n(PJ3JC!*HZnXO^E?YO&mu#Z1geDfVy=`f zgK?Q)jF1R=lO?f`C5FUAms)Cy!D<|ubm7ptg0YC{-Fv?u?VtCZJ$!pS=f3HKcGCy# z%p+c7l9@(hqS1Kjdd*jh9=hIj`{DNsH~9V0OZ3#~tptC75MdKQu;{IKNio)cB$$CX zCTs?HCcHw%^#F&Nx4b1pT)kz>c5b3iWu_qSWC27C1o#{CQDMYX zny>==+P0l7@zfm(Pw@Rbu}sovJ~5F?J0vH0IEH(U3@opgz{|yD+ye0Ci&s%T<@cc_ zvQifA8(lWlXqMUN->iN?_KoFMBku-XhrA<=+gcI1_7UQfw6OhyYlw%C|<&i3sgFh5uFe9&?Ue5p8gw1>g)=~ZQMHqn+W+tS9LK!p{CT!tQ@Pa|}wTF;p2b#4T z1v3byY~Czb;$cUy@Ds8^Lxcx-2n-XB;Ng0>kl+Z;>#~G?5$ELdL(N>jwMNsrS|54Z zN$$zucJiG}ZmqcI3P-KM_p4eV3E8Xag+wimV z#+;*1gfR47d@4Lc)54-~1;bpj6{FGQ;UEs;;i99Mvm7!6{#Lwc2?vJ|aR_#$Ol=oe zApIXZL)*O zM_4Y&?_@G}rFT|5fTUG7#kVlk*}LLjv5B`Ih_l#M<#W*nGjtiV=Wv&lE*sW_8uJw_ z6zN)5*1#;_C7rT&+~}xg=#ZO-C1=^~lxQLsdooM8q*7g!qdW6JLXao>b}7Vi3}io> z;Vm(anG7;w8qGQ*`ErB0UZf6$Fk2-qnAziqN<-LfJm|KvR~&%epT_1fpgxn`#s+Hg zSuP%K6|r74Rg|(tV@xp=80+Sw7FWmgZj)*TSIJU2R?B{aZZ~$byLgyvVCyi#^A@(? z1X&i|QHzAbPam*fu=Dv*whZ2zVt$6%U`Z>_vIV5OOfYwAOjj7Scyq=`qxsHU?(J8H zF_6!e$X$E*Ql;}MyMy%N8HV2}rQ$X_gGv2=WO=x?{zt3;1DZT$in0;GD>tXwY@ zJ7Kv|@A{6p{SR}CPGwF<;NTmSeqNvcTF`9*{Cn z)7CF};do9QlI(GE=iirx(5GrxDx_O^xQdrIt6$$kX7KfOmdD$J(SR*cr2i(0hk|Sy&BFoHqIm@1$!M}ai{`I_tok|2san1Ugl;W|zfk#t zmd68n#qcP=x)`1V_~je`0r*=Jc|PDsB2NLdNg^yyBKxHzs%LdF&j9_wK{%B``CiK8 z1)%TCq&lT6ic^?HyekIzciCh=noWHg7!poiwNWJNXWfHy04UufR}eA>~Uc0tCx`%Q5;pBff~xoYI&+D{4?RlU%u49ZRMs~{xZZkS4%tducO!p>!_CbI;tUV zH`P40n_{`v6TVST`g`?MW9T08AKXJbVGXp)tOoL%Y9PN=jg+USk@DPcq*~*e=#Gsy z(Js82$!}jX_4w~*y5os&kp6Q6u5Kaw{ubiTw-7(6mE?1+bmvyK(e7*7sLmOK?B7ni z=xQhZTs!f!9aQgV2iYz5(rmN$l74b8)#KAi_Kr^K`}!uIbLN`zNFN<%r2mk;8 diff --git a/diylc/diylc-swing/src/org/diylc/images/IconLoader.java b/diylc/diylc-swing/src/org/diylc/images/IconLoader.java index dec8d92b..be34240f 100644 --- a/diylc/diylc-swing/src/org/diylc/images/IconLoader.java +++ b/diylc/diylc-swing/src/org/diylc/images/IconLoader.java @@ -36,7 +36,8 @@ public enum IconLoader { "cloud_edit.png"), CloudUpload("cloud_upload.png"), NavLeftBlue("nav_left_blue.png"), NavRightBlue( "nav_right_blue.png"), MissingImage("missing_image.png"), CloudBg("cloud_bg.png"), CloudBig("cloud_big.png"), CloudWait( "cloud_wait.png"), Spinning("spinning.gif"), Megaphone("megaphone.png"), Download("download.png"), Eye("eye.png"), Messages( - "messages.png"), SearchBox("search-box.png"), Screwdriver("screwdriver.png"), Hammer("hammer.png"); + "messages.png"), SearchBox("search-box.png"), Screwdriver("screwdriver.png"), Hammer("hammer.png"), FlipHorizontal("flip_horizontal.png"), + FlipVertical("flip_vertical.png"); protected String name; diff --git a/diylc/diylc-swing/src/org/diylc/images/flip_horizontal.png b/diylc/diylc-swing/src/org/diylc/images/flip_horizontal.png new file mode 100644 index 0000000000000000000000000000000000000000..adc07a75f0f53ccb84a2352740764ba16a20aa70 GIT binary patch literal 550 zcmV+>0@?kEP);M1(kV!;AR5(v#zz6>S{|{x63yf!i zOeltMhy#pJ3;_@W3LqRfKvg4PH~+L{(#CJP;cLEW1}^`m5wPSNw`$8Npp+EUfE)qa zd1r8{Q43k|wSVKi|M?4U{*Rk=`+wx3r~gGvCw>A-ra%qIQVYhZCYeFnXW7@JX;=R{ zwO;tIQ-A5dO6$GNH&bFIs;2KY!)T|D3Ha{xhkACHr6o2)ZoBrKX30&w24z z<;I);g{p7<=c>K`pRw!xe+IR76a)C27U5FU!@%#l_^WCkFi<+5{pad_`=4pXzyAyx z-5^Q07x-Nk;ZoDXz^2!KlE-PmXLhSupIOYNeP%MB`I&();T%vB9*Ar@ou_fAX#-+l zT!Nwl6rvy#AsEC?h8Y0FCP1756-QQ+1jG#NKnyZO1&CFl7{rDpB#;5TU_LfAXaHMM o1{r`1P}SfA6z4|51~4!H02<8)alFz~YXATM07*qoM6N<$g80qnt^fc4 literal 0 HcmV?d00001 diff --git a/diylc/diylc-swing/src/org/diylc/images/flip_vertical.png b/diylc/diylc-swing/src/org/diylc/images/flip_vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..3a1d19d4dc8d8d8d1f0848e254a5cdd9be5f7cbf GIT binary patch literal 528 zcmV+r0`L8aP);M1(dPzhKUeqL|14(HKnC;x zu_{O{NCP@x)CgGeEppM*|0=Eb{)@Cc{Lk6?;y+{8`~OTc{{3e%pGnXF25!}sQzE7l zKe1_dePY$<{KTZ*`H4ZT{S$*m_a_FvgmXY8c)b7upa4n%;tnA01>!y^2C+e6n1T5J z|9=Js> cloneComponents(List> components) { + private static List> cloneComponents(Collection> components) { List> result = new ArrayList>(components.size()); for (IDIYComponent component : components) { try { @@ -920,6 +926,33 @@ public class ActionFactory { plugInPort.rotateSelection(direction); } } + + public static class MirrorSelectionAction extends AbstractAction { + + private static final long serialVersionUID = 1L; + + private IPlugInPort plugInPort; + private int direction; + + public MirrorSelectionAction(IPlugInPort plugInPort, int direction) { + super(); + this.plugInPort = plugInPort; + this.direction = direction; + if (direction == ISelectionProcessor.HORIZONTAL) { + putValue(AbstractAction.NAME, "Mirror Horizontally"); + putValue(AbstractAction.SMALL_ICON, IconLoader.FlipHorizontal.getIcon()); + } else { + putValue(AbstractAction.NAME, "Mirror Vertically"); + putValue(AbstractAction.SMALL_ICON, IconLoader.FlipVertical.getIcon()); + } + } + + @Override + public void actionPerformed(ActionEvent e) { + LOG.info("Mirror Selection triggered: " + direction); + plugInPort.mirrorSelection(direction); + } + } public static class SendToBackAction extends AbstractAction { diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java index 56f56023..d34741f3 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java @@ -32,6 +32,7 @@ import org.diylc.common.BadPositionException; import org.diylc.common.EventType; import org.diylc.common.IPlugIn; import org.diylc.common.IPlugInPort; +import org.diylc.common.ISelectionProcessor; import org.diylc.core.ExpansionMode; import org.diylc.core.IDIYComponent; import org.diylc.core.Template; @@ -55,6 +56,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { private JPopupMenu popupMenu; private JMenu selectionMenu; private JMenu expandMenu; + private JMenu transformMenu; private JMenu applyTemplateMenu; private ActionFactory.CutAction cutAction; @@ -72,6 +74,8 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { private ActionFactory.ExpandSelectionAction expandSelectionSameTypeAction; private ActionFactory.RotateSelectionAction rotateClockwiseAction; private ActionFactory.RotateSelectionAction rotateCounterclockwiseAction; + private ActionFactory.MirrorSelectionAction mirrorHorizontallyAction; + private ActionFactory.MirrorSelectionAction mirrorVerticallyAction; private IPlugInPort plugInPort; private ISwingUI swingUI; @@ -244,12 +248,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { popupMenu.addSeparator(); popupMenu.add(getEditSelectionAction()); popupMenu.add(getDeleteSelectionAction()); - popupMenu.add(getRotateClockwiseAction()); - popupMenu.add(getRotateCounterclockwiseAction()); - popupMenu.add(getGroupAction()); - popupMenu.add(getUngroupAction()); - popupMenu.add(getSendToBackAction()); - popupMenu.add(getBringToFrontAction()); + popupMenu.add(getTransformMenu()); popupMenu.add(getSaveAsTemplateAction()); popupMenu.add(getApplyTemplateMenu()); popupMenu.add(getExpandMenu()); @@ -278,6 +277,21 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { return expandMenu; } + public JMenu getTransformMenu() { + if (transformMenu == null) { + transformMenu = new JMenu("Transform Selection"); + transformMenu.add(getRotateClockwiseAction()); + transformMenu.add(getRotateCounterclockwiseAction()); + transformMenu.add(getMirrorHorizontallyAction()); + transformMenu.add(getMirrorVerticallyAction()); + transformMenu.add(getGroupAction()); + transformMenu.add(getUngroupAction()); + transformMenu.add(getSendToBackAction()); + transformMenu.add(getBringToFrontAction()); + } + return transformMenu; + } + public JMenu getApplyTemplateMenu() { if (applyTemplateMenu == null) { applyTemplateMenu = new JMenu("Apply Template"); @@ -384,6 +398,22 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { return rotateCounterclockwiseAction; } + public ActionFactory.MirrorSelectionAction getMirrorHorizontallyAction() { + if (mirrorHorizontallyAction == null) { + mirrorHorizontallyAction = + ActionFactory.getInstance().createMirrorSelectionAction(plugInPort, ISelectionProcessor.HORIZONTAL); + } + return mirrorHorizontallyAction; + } + + public ActionFactory.MirrorSelectionAction getMirrorVerticallyAction() { + if (mirrorVerticallyAction == null) { + mirrorVerticallyAction = + ActionFactory.getInstance().createMirrorSelectionAction(plugInPort, ISelectionProcessor.VERTICAL); + } + return mirrorVerticallyAction; + } + public ActionFactory.SaveAsTemplateAction getSaveAsTemplateAction() { if (saveAsTemplateAction == null) { saveAsTemplateAction = ActionFactory.getInstance().createSaveAsTemplateAction(plugInPort); diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java index 278138ff..01a11fc6 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java @@ -296,7 +296,7 @@ public class StatusBar extends JPanel implements IPlugIn { } break; case SELECTION_CHANGED: - List> selection = (List>) params[0]; + Collection> selection = (Collection>) params[0]; Collection> stuckComponents = (Collection>) params[1]; Collection componentNames = new HashSet(); for (IDIYComponent component : selection) {