From f0219fce0bf170b1d6662a4190fee9208890400f Mon Sep 17 00:00:00 2001 From: bancika Date: Sat, 18 Apr 2020 10:26:14 +0200 Subject: [PATCH] add flexible leads to some components through the menu --- .../src/org/diylc/common/IPlugInPort.java | 9 +- .../src/org/diylc/common/IProjectEditor.java | 34 ++ .../src/org/diylc/presenter/Presenter.java | 24 + diylc/diylc-library/lib/diylc-core.jar | Bin 316610 -> 317220 bytes .../components/AbstractLeadedComponent.java | 56 +- .../org/diylc/editor/FlexibleLeadsEditor.java | 103 ++++ diylc/diylc-swing/lib/diylc-core.jar | Bin 316610 -> 317220 bytes diylc/diylc-swing/library/main.jar | Bin 682435 -> 692092 bytes .../src/org/diylc/images/IconLoader.java | 14 +- .../src/org/diylc/images/flexible_leads.png | Bin 0 -> 2397 bytes .../diylc-swing/src/org/diylc/images/pads.png | Bin 0 -> 1960 bytes .../src/org/diylc/swing/ActionFactory.java | 550 ++++++++++-------- .../swing/plugins/canvas/CanvasPlugin.java | 10 + .../swing/plugins/edit/EditMenuPlugin.java | 50 +- 14 files changed, 557 insertions(+), 293 deletions(-) create mode 100644 diylc/diylc-core/src/org/diylc/common/IProjectEditor.java create mode 100644 diylc/diylc-library/src/org/diylc/editor/FlexibleLeadsEditor.java create mode 100644 diylc/diylc-swing/src/org/diylc/images/flexible_leads.png create mode 100644 diylc/diylc-swing/src/org/diylc/images/pads.png diff --git a/diylc/diylc-core/src/org/diylc/common/IPlugInPort.java b/diylc/diylc-core/src/org/diylc/common/IPlugInPort.java index 8d379dbe..2ad75703 100644 --- a/diylc/diylc-core/src/org/diylc/common/IPlugInPort.java +++ b/diylc/diylc-core/src/org/diylc/common/IPlugInPort.java @@ -375,5 +375,12 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP /** * @return size of extra space around the canvas */ - double getExtraSpace(); + double getExtraSpace(); + + /** + * Applies changes to the current project as specified by the provided {@link IProjectEditor}. + * + * @param editor + */ + void applyEditor(IProjectEditor editor); } diff --git a/diylc/diylc-core/src/org/diylc/common/IProjectEditor.java b/diylc/diylc-core/src/org/diylc/common/IProjectEditor.java new file mode 100644 index 00000000..45db5460 --- /dev/null +++ b/diylc/diylc-core/src/org/diylc/common/IProjectEditor.java @@ -0,0 +1,34 @@ +/* + + DIY Layout Creator (DIYLC). + Copyright (c) 2009-2018 held jointly by the individual authors. + + This file is part of DIYLC. + + DIYLC is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + DIYLC is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DIYLC. If not, see . + +*/ +package org.diylc.common; + +import java.util.Set; + +import org.diylc.core.IDIYComponent; +import org.diylc.core.Project; + +public interface IProjectEditor { + + Set> edit(Project project, Set> selection); + + String getEditAction(); +} diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java index 7ded5670..93e631bb 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java +++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java @@ -66,6 +66,7 @@ import org.diylc.common.IKeyProcessor; import org.diylc.common.INetlistAnalyzer; import org.diylc.common.IPlugIn; import org.diylc.common.IPlugInPort; +import org.diylc.common.IProjectEditor; import org.diylc.common.PropertyWrapper; import org.diylc.common.VariantPackage; import org.diylc.core.ExpansionMode; @@ -2288,6 +2289,29 @@ public class Presenter implements IPlugInPort { drawingManager.fireZoomChanged(); } } + + @Override + public void applyEditor(IProjectEditor editor) { + LOG.debug(String.format("applyEditor(%s)", editor.getEditAction())); + Project oldProject = currentProject.clone(); + try { + Set> newSelection = editor.edit(currentProject, selectedComponents); + if (newSelection != null) + updateSelection(newSelection); + } catch (Exception e) { + LOG.error("Could not apply editor", e); + view.showMessage("Could not apply " + editor.getEditAction() + ". Check the log for details.", "Error", IView.ERROR_MESSAGE); + } finally { + // Notify the listeners. + if (!oldProject.equals(currentProject)) { + messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), + editor.getEditAction()); + drawingManager.clearContinuityArea(); + projectFileManager.notifyFileChange(); + } + drawingManager.fireZoomChanged(); + } + } @Override public ComponentType getNewComponentTypeSlot() { diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index eeba5aa2514483e9f547f99a583c5cdf3c094815..d7ac09c1a4c765d582b442445b0cee8bf7917b14 100644 GIT binary patch delta 38749 zcmY&fbySq!)8C-GyQDj%q>=6rDFF%T?p{LaZV&-U>1OF>NeKbz5|AzhqlEy-*^>Zer|$ndn* zfXI^*fF$5Y$>ee%`_sAzID*bT5CXjPir}lJROT0i2VN@CKG}= zp4hUF>pzzs|E>RAb%WuqmcYVKGQ~d5;f#fW%=_fPJ+%a&@Umj98Am^io1F`3#aNy4m zd;-Zq0ynsi5oD-U z9uQ=QoIFfQlvS@81x+ehP~LwlDG|In9RK%oSap8#SM-l4u9(u_k;yr}^H_`kzL#qw zlTg0%PZ$A$FW086wV?L(Md_*?rUq`6Y%q`5xHP9a{xq*lXqJ;q@Ma~^^A~#O9o%Nd z4c*JYiEn@STdh{@jU3D>0y=aAE0Q#cH|rti;8-m3IosLRm8|lQMa^g78Re!Q2iWEe z8_R4KVw&jjF)Sti5tmsuN*LM&w7-;>xWH}op0zvCK zXM7c#WHYELfp3>pTXqp;>_|En_Eloe+H7_5;1UC7wMR@wX^<@#<7!uGP}$Gg)jtE7 zEjAM1pmV$;gw6k!W9Tt4AMhx!*7GdatDGrIORV}KNJgpHYWcM;vEhNp#d=Ja*zm$~ z;R{o2SLkS+3*Ymux!sv|VL=mEbqxnGTS%FCt-i0Cj6roeQ7}h`-t)IAFdAh@LSoZ_ zZ@K1lbYw21AEW+8y3uj*rTPQC5i|>uN_vPJqB~9QnSb9d$5aI2n6~B5;$v{@u`dKZ z)XNP<`MMZyg_-X0y`ww3<|3n{7CF>Pdx+v7U-CMWPJ1Yx%B=mwVE)=E%^?;GZYQ8tJ8g5{?Iy^SLJC2*{Wia z6?s>=uQJ_Ko~8k|GHcBUG{U3wD!Pj3HbR+YjgJ~LG&ddIbK!E=;6-tAw6S63WND(> zp5`Q&4di)?^FA<7o@^y|X{PKtj+ijTw3ZB}0y764%Qkj*4KI=Syb#p644w5KTyS2x zZlXT*|Hj1V67XG7hkE>;>ub>zq%PM$(hLe7r*%BLn1NMg?+O*qf5N<5t=M$k(syjn z98Rb_lUcenU)eNwPk;Yw>MK8*YV<{3fS04~a?kU<_mK-xYc8)TRui!}O}#P?ZVq~b zR^xC^={*ChPyA}^oz8`utX!=C=` zt$g`p`yc|>*9hx?c4Xq%;s=i%OV5$5i44K$mBf_?MO$Gt&)_=^<6rm2nbj_W1TFj? z<}+mD$QTM2TgT~>B#t)ApCD|gOH2ZMcEQN`7?n~^naE_@&>5VAKf0j8l~(HI5$qev zSCWCF02M!krgae&{vwd5Xe)!h45wr@_cx)A`b>*7isO3jA2upH!yUo{Z>GGAIH%ic z=m(%J1Cvq3zt!XA;ozj1#UrUBZQ>lP`_1=?ltDzSaCcwT_v_Ag z6EbP%B2R_+vs<69XGrTBl#TuZB;A6|HyuQ)7MWYwG0;W$4M<2?zqd_KS=D?^m3scx zv2~=MU*7)O+-rHIkTJ|oUnXUCDoHky1{!+;CzN374KV*=h9mrKz8uk}n;Fxlsadd|{T3of6m!5@|^9sSnJQd2vT zwip7%E^EH2bn8MuRGyoBwt5Yo>Ct}Y zTf62`ml60J6jS2-zls>_9^a>^xxf@Iv(}T1BfHRj1h~-`5 z2Vb}x#cH}Dmlx~)23PzZx-1Ocn8LMPX!0S6x}JzD)47uxB22xN)2TYel-*eV(hEYT zV5GM6%CLsX)-6L8;s)r5`3smSgY@OSD2dDlHOq{4Sk>qYbtogB9ajh3c~VPdqG!i7 z-_e!?*uDITeQD;zrMT4bdGMww{?49Glfo&8pLpO_&GKy;CasB#i3;@aS}MK;<`9f; zG#+A28g*rS;(8oaP8j(Ud;LrJ(F*>+wJUvsV15?r?It7Sj0|vu-uB=d5R?w2VWaW9 zmYLH(YP}lJ+avp4+{Z6^*UG+IQ4g4C7HHyCXdeg>thY1!P!l?r=(Lhgm`xN*qY#-9OnX3tS#@3SG-{wat3QFi%0^qyA7+0F zf9Z|nb#1gyPV76g4-+9K`KQ9C_h=FT@#<6M9&FZZusX{f&ec1#E{Z#} z57bCIgq?uSFQ*KrbZ8Q2fknOX!6rqgo9nu4cVx~GsSTS`d^8iJE>Cia(i*HB&1Mu% z7W*J8=*7g8{|Mui2bu{movI<%Qz76wySshA7fjS0rTrWXGbz5Wg)&vD_Q2&P))?%cw$%NrSR3 ztWH%3IZGGf-S_@nD8sL#b1atJe6M2P6Hu37?Qg2n>BtAZ^VNp?fb~Dq$XX9HS1->^ zOaI{Bd`Y1$h*!Qwy(vt|RoW`q(`S)Lp1-%Jl}I0&m?kc~qYY3T;bQXaOscpoKj%MF z5BdxG-_(ZkZ)($cr5#~53;+O3fnWfD;opz|(QtLLeP`}2YhmN=ij zFgA9wc7)sw+QjL@p_8VG&q5v5xBY}CAHadGsmC-hzL3l=q@;e$K+J!jWsy|i6OP(v ztHPG-c0|8%JDk;Qr`(xzzxdk9u5jbZoUpR>V@@Q_YRZ=C?Re@x!qs3O(Vh$?Pk$XS(FVE)sL zoBXL@@yWMup$6Rd*J2AecwR~mkJzv=2p+_0b2pszxeXB>O=&w3e7}6Sxg#%dSVd#bdFFk|#l^ z=_Wak&2@G7-(yPuaVy+X@UJ4cZI+8=xHptPOvq2R6Wz(fEgzfb2qD>Imnyv~7Xd9D zD-Qv!-s!;^?)`h}SWf93L)z;`EEp2slsz9AG&H=Hv61h8S~~jq~G1*`)`^ z07;-*6u?mMzczu|(g1PcD3A`w1IGO)+^UOcvi%tL`oGUrI*=Pk2%TkoeCBylSYQF7 zfS+tuk)O^?Jc^8@Z@2;<-O>S((kBWK(4oW}z=fx$J?L*PAPK^g8rE~576|K~^|o2t zPXRapfHzM1)FO}=`auAgit{8xDGyACJAoip|Ccev8(=g% z&N5@5EIg^{w_Y0QkIG5uJg6X&bdHk8&7d*^eukT#P)VA0dF0x|O+&Zd0VCj6oos;d za0GM!Cc+~`aqMFSJxbsIE6_7&w-b;6E;8r(Z%_Y~f5rot3rC*bKxL$-#GZXO#nyUM zQ-z11T8e-SJqiSxz;)F_fD3TM76!b7>#{}ymEbh57+@0|aVG#-;OI><(C-PQ$Ety7 zp?7IOS2)8Z3rGatov0jOG@M3~5Bv&8yG6iKc-E5Pl4NaLqLQgAc1J$PMJ_a{%}-` z0Wyap44nUQx$r^EPp2x>fB?h^=SCBQkl`qm4CDews8k?DIMR6rs(?osmBkg1`{+Ci zUe|R0Mg$ZnCj+PyF1W}HB7>tpY@lE`^5X&pz|k!)s2Pr$1VATn^yS6l*F#S=+ZF>= z!NW?E0GYtEzLEmD!MTpIpe{I1H=w5Yt`)_e?5<-Y)fS{?&b z(*ha71uJww_Hab5|34=Ih9GHpX=PW|h)o`q4br;>9!o3HhJct}-HLz&JuwE^z|{=R zKrwK%{|+PokBH6+g!yy^L;0*hsEGeg%XA3`(ALwj$><3B06$Z!TtSPNPqgSD(BacD z4)uKxvIak$+Shx>!1>4hpF&LMaRiY-Q6fMmPbV<+ChA|B|Bm2_IMCjcqx6gf(DoB4 zC=sNL_Jqbif*yP2pICDaNEsdvQXYsB?wqj@gaD^;6oIng=ElB&#Ni0D0t9{6`w|sINVul6KL{@6bl7G@ShO&DCqGBe-zUocVfete!MX6AOF2be^&SS^_=A6 zg_GHbK$0FX23mO%H~I>qf_o1f2YrJ_sXYZEgZp%z1C7I@lv)OHz`eVyfz;qPzQj~w z#=zs1_^<6a(s|B6T_ZWl?cTIN&YJqF4{Q_NJKP4~+0^7mmWD&vexdmE*49fJ)vPq@FZL#`z2T#o(jd#l;#8x0KhEt?}{^>dOVnj<-mJHPYPfo@Cn@Q zg)#Wo)1U_3cL8HP^%L~g6D$ii_tFPE1V>o@;P3yX763Mf(^P}N&*68o&Z=*K%wt2< zBc$hrgXy95Az&T24EhIfI2@&hgMsj*Gaqk0IIS!O90x}t@!-eL+`nG9PXMFCQ^;eS zjT19@+>PzWi7;K$2TYPa83RUvz@H=<0#N;D1}?6~{$x1`tSz(G&<8t*Qy^#-ynmU9 zfXWC|1cVyANkV*`WWT)P+;H*b!q%>_@e)uuQ+{Tv!-`69(log^{k`DQadx%R!J(Ws z;jbUx?~Y4_8i~JwV}aGeYxk?|q&XsI7fh(nN@|_964Xn%kk)sK0Fcb$&X{a+L0e^Au<$kR3n(y&tMd*EV*GC34yaYpIW{u~w#dHm^S?$e ze&CU0j0l(DxtIX*D$ZP^d*12ZU6ViDQLc5Emi>LZFX8h1FIqx%nG@2`_I?+5A2Rdz zXA=1=)K#(aMgVJr65=nKRo+=n)t9@eA{JaNpCK1hA1HGL0cw?KZdMSBbh;f$m_4Gk zh&h;kb#;dW&+VlTOdry)cDK~&W4M~FdPx4YljrF5piNY1srM`>tBO>`yx8)G1J*PM z_$`0Cm!2QpvS_=fqT%jMkpdfF()xo6TkqU}UK@R0>~shOcoQW+#ily+*~%9G?B&o5 zqv_tapx4Ezn;(a-_z;)My7#r+8f+HbGin6DCzd}Z*eiI*Pgu_!<4Scln9FMYG2cp- zf1Ubi>jAvV9Bj~5aS#vE5t*G)<7=GGe4VSDv`AX)$w*`rB!LMqs|>P1S9Q<~^4BmN zYhdse8=V=42s9RX`^A-V^j(sxR-)$2rmH%%lzy_aWmBnKn0ZaBGHz~w-ZT>>;c!(S zWmA6UD;{VZYSj4A0Qs_uh}j1onXuu@y$lZwU@`HGzf)nmaF)E zh0GXREuMhgiD(D|9lO;b8k$Hnr+*_PAiesZPrp5cyu4!jvEwAnecrXXNiMu7(E!O> z>~fBC;yqduKE3Wz@f#HqVeLoi^cImkX!HV|V=qoo92p(y0RrPTS5P+(Nwr$L2XO)M zY6)978ZQugzo!OO?UOz12Dz};AGZnf-=)S zx@tgTDHm*sp*Zk$l@{7QfNC6;TT~nvSIX75B&Y2p-OMg{;iejZNTcB-aFJRZNF}fu zGEwP0XSvV)X|^~}{IVW4v!vS52br16x_O~(;SsJbykX-7O=_@!*2W(Ye!$>K2;<>04+WJyzV!OYD;~`eOYPTPt5|6mMd1I-4 zB6u;XBIdY{+OLKOK~f120r?`wA<}EG(E92I1seX%D}|tFJ~meu1+E7oB(0e@&!h-K zFW+VGm)X-3v$KsT!?24p&ji!IlHvS7YHn9>ePs{_pW5n%3BbBPijqZsw#0OH%y`#A z3K9QcTMF24*+_zMIH;`r{y>g;02b-4a!r*@AkfxlRSNW=YEiiYI=t!lu~Ot|VjU>ZB?MFbtXdurg&47Jq@g~IB6 z^{g9h4SC4oOfJubmFhit@x#}k2afxiQfkv1XyyZDv4qwB8Yc5LWbsFkRxu=gZ_Vlk z8-%7O3w&4h@bc~&H_&Hw1~PV@n{k8wcqa)w;7yxg?Mlp=pfdB{Ow=q-oE`gEWSC^! zaH-zws{Cy%{R^9c*zI@mUFfRb^A~sJfGhso27Sx>3sioXn)%y*E`gjxdG4ewSKu{{JRZ7< z=aSC;Bg}8*KHCsvBI$9ZlQR_a#F0v^Q<{tNF>;%mNk)=Go>{7(F)Ie}(abWxlhc=6 zFikN(dc1i)kP-s7U&3Bls-QEclTW*)j>eFlBK1%R{=0(gT?Npj8_;8wuF5d^%+(}Y zR=@P-+S-3c@*e*34z?WRTA&#&@!K^u!v$^i>)>m3#9*^*OR^Haf*evSgp>);Pz;}x zF)4b+6pjYOlN?>u9G4HU0VP*f*<^pKw`p(5j>&8Sdf6+4?578dkyEPp+1aV!udgnY z7(vghY54k+vf>v8qBSkzV{9*n*qMv|rfg3eBW3&1GzI@>42YxOtMsR5zSp`KO=n&H z)Nx3e`SopO%1F#eqXgn6x=g-+8|_q1zI%ejMCWk;p*@p%{(VkhvQ4p}rr0L4B-m34 z&5#q*340EczCg@_V@d`OZM#7pdj269e1^h+t|iX(q6LeX^HGlMV;Yyy(zmJ3v-aZg z*z&pO98R4dj8dMt;0hM@t~t-)RFkc*D*nu13vPfL0D`Tcee!mfDWeA{%|= z+`Upr0Y)JkQTzlDOjuH203Hh8CWti7Q^rAa7Gu6JP!Be4+*_tb7aTiw08GS zL`4&RGb|UEu$%ofA3uHOpB5jGlWO0cDF~55qF)XcKtZ8ce=Y`+Ht63nXwJ3IRF0CH z-;03_vu^V~W!1`0w`URmB#g#SqyoqmE|Hp{;Vjajlw3auGKDvWROy-UQXS}1Mqe@j z-BT)*KWyuLE%ZF-?QG#9mGZUd~g4R~$3uU|r0gYd@AAZ_>j2`4qKU2z?YC*mC1erUBZ;^vzG- z$j+9*dhhO!F&lV;-@!{?k_Kf6C#V?_vJNCEAb&dq_;@rmF9|xW`+y%ux8!_zhxz@3 zS^N91n?QSe7GzQd_O`^!DrfaVLji4pgop;&B(ZLSQS-CnPxl+0$DZWllcSP<)4ZES zzIAX?#D@u^l1AqTOl{#M{7lW161AeFG1adimocJ}_fyCI^_n1yt$J+STQAlF3@J22 z{Zjh+hnuk-g8L>^CP^6@ULba5`I7zn65ayUUa$)y+s>O^(+{xu zZbmh1qF2r%XJMLR4E|h=BXWnF#8I5&5lm)hMS!fm)KZ$9%}$&Fq7W(MgaO-)&Z7+( z^9I3h;V(cizFOBlBz44{Y3bALOvt~>2izZp6%gX1wVi#KFAQZOI`)hjSM3Wja(&q< z2}33F{OpbJ{v-i0(-SRbZF={YcLlLN@kVATW-*7U0s6E?`}?*w5wmVzZr_R!UOZ>Y zrC@AWRtC5Xs^)1T!qfTO9yByNzEbP*X%{k6IFgwui`u`#Fv+tLE4u*3v?$i=d$Wn1 zj(J|t&v6-aE(YJoNTSiTqgWJk zH`6z=r8tJcl2{O%w4c=5rb~>bB^hcjj_8XaPoOn=z5feE@;CGJ%6`pwHcju+`A*%; zzyT}VLBpxWMhS9qV|qR3WRvRw;1xsK9Gl!vuumO{&Y<>m86&^*(7nkE$Ts&d@k@JI zFv6tLFoJIL%^PMV$i9Esj)i}fw6(HzP-D9!En(itZ1sq2GGarZXk-MIWu9)fcB0)p z`x2VumJIIE!9MA3TmutwYm-l+$(u~tKZ(l{GKyC3%7!2i3@3^_Le+*p!3%gIf>a-B z3FqU>1)fp&{ijT^chSf^xMdo3bS)7{qMQtjh9oBQclmQ;s-j+ah#TUxbK&~jcn$?%D$$I z4fB3cskgsg3(qKRp(qS4?sP0%#gGZo-p6KA!wMsRsOBcXB=EvM53M^ba5WQLUUIq% zX{6o2^^8sYx&aBMYOuJaJKN$UJ8OfP)LLr0S)Nc;H&kVvP+a0~ZEOf48XlKK7ibU0^(50Q_z0e&KiYMhz zxo3(OiI83niN2IcZVTe=X7e__p`(i8)3x17R`rAV|fH1IKmcrPOEkSJA2*H)}R&^$PT}R;p0n z7Q<*(B+>UMf=q^)52zY+c&6goz*y$Vot+=Zf7|zAyd~4LGIr{{%?~Ca3Po>CJu%O{ zgAcFLmqQ`#+ynFLw1^m(F*P1-$v*`4zqm=0%~owMT2%zQ95aK<>?jqm-uq=IDjLV- zyJ$#+eeA%`DkHVU>5iH+x9}0i|(;duOeVvmx+UpU5d` zDk*|YD>?KBeblF|7<4VmLj%AnY??_;@%Q|;8W|R(#h*a+ZOq^goALaZHIyC66x-94F8zxCB5c_a zboM)VSjcx})Mo8*@!j7_x^;qf-hLq*5FK0QY^Qi802#xz%FF-$=M9Uhz0hwtt*mwG z)NnUj$RL);mEn&qnx$W7Z}nT7PJMlSdczX|DG2-=Ss1I#{+=agd|hzv5^dI z{!xJtFFGtP5N-s=BfNM`0j#5sf);-o_HOQwfGi`nikoQElW%_|xd+dM4F?g1Tz7B)6CGj?7OOkdx6T30Zo`^wH`dI||EnTnvT#Jbuzc!BZ&8ui^AtUE1 zMH@)Pj&Ol{Z%pJ^#>?T=saFx&s7Fx@1*rO79_IQL)#_Oiq_$VHm*2eUV?w-BTtGbT z4v<)PhfQ1_sDsiXTm3wspmQ9n0-fi%`B>2w{$FU=n&6l9p!fYAY)sA9=|7H3l2;Iv zZU)^Gmb_$=jSM?nhdkcP)6KCbBzuWXid}zY#5y<|-*{T`Fr^TXd)8Gpl8+ zVcd|Co|4Y7U2-aQ{rMLiAX?kmbA%X-c%|$xmx?YRsw+dT ztA2?oiy>%edu>h-;|7|%M$!!T)}3XwVw6-NEH>~@n{ss5gBi@$#CX7bYXaCeK?T#i z0wlx+Fj?3@+8NNi;N2Uu_nA``q#s||k{Tf)Mb>jn>C5%c?;a>23~`v(*A8ese7RG+ zN*wPc!}_ZAP;vKx)R2SD_6?e)bQ27s8>$4nHM4Uc{Z4iDGDl7B7O5Li&J!BrAcy@W zHRVEZbeI3F9?u1l@_pG&O_9I0um$P8Q0nMRNXn{~&8k)x$lazNQ^Smnoz4bB59Vne z{_gO(r#=ih7F&OW92R~*YR+Adg_fP_(qhZKiI#nnn&v{d4!c63-PPQdQjUd`Pj307 zxip?>jyA)Zzw=i0wH=)8AYDj}UXiQ@ya~XW1|AX$7p5v%U*W@I(|(z3bBtaU{$k~G ztc&>=tF8|#N!4|Dy^-hTF5*2mY6cctAq=Rs_+VX`&sA4o=0?Ed7JWvF!()TktCrY8 zII0owiXJM*>T71mDlqtia3v99A+(qb(61IW1z@_X6sH=GHqTzMue104dN$a8CcODO z?F^CP>isM8AKAgy>Vk3-6Z#GO3rqC~Y&wT1Osw6gd(rN5uk6Vbeq{VOC4%79t}4hr zPb7(;XO-l1s*GSHCvu45>XAs{IJw!?IyWV4ixo?;)BbF8-$0E&Wyd?@BSPN;<5_mDj__`vF;R@{yB0vPFR7y(`{~V!PBmXp=+)G!5 zW7BgpI!^RjcQZFqn@iKbY4=;V#3hPXZJR)O=0%FV&8S`GJq}0K(c!N_ znI>{Z^jj-gb|S?lk(|XQH93C1|CD>@QJngLJ426$MR;nHwXBmHm0DCYvxyw@2lJqtf@(gG8n3;P-8}}F~ zmr##+xzDd+7jMrtjVI=fb^@MYLkt-9X-vqP)I?BnMAT8VCx)pOTEf0*vq?JYO$7Xd zDYGIN>!c4e-HdqWPoCM{Z)G!Py{`=Odgin-%i9?$t!wk8CT1tbv2fwU0QM(FO;W^4 zTrGjL+nhx`FDg3;f=c1W6RTA7f}vjBm2!c%GoB8W_C=6IP2?iy87lH0u*FBTzX|Q{ zw!XwrvqH>Z@$8#En}f`hkPzt$Y32L8n`b=phwnwr#rJ24**9f38AiQHA%Rho{<0i3 zDJN_aH8aRKS=WJH5u_6JF}dVjH8Cb+U1qRqj!nURkF+yG$Yw!GHtYM*{I7W`fIzX@ zs~-zz3V#k6MuT-t<0K!NtByhhg8A-00rA)%nv~xSXbX{su+2)}!R)&2zr-+=Jp+V! zx#-v;ovcwPfBF!$;c<7}afUp4Rq%^?^eWk<^WEJ7py*0>^y;HaNl{KL+QA8oeC#Ux z-QDz6dXaIdG2|Vo6K%g+cgp@60s3GYZo=QDn7=_FARRLMpgxFnnQR>v8n0mXQCQAd z`me0=ItKwJqZtMre+q#YDki$yIs)MQZE3EiQ)3J?){8kax0o-x*x@Xl^M>(VwFRlX z)LyCftW93c_e+O^=%Zcy4|$tWs|v1m7371y=!?uJw2)s7MJp?(KS-ocnq5FGX#L9( zJQh5?Z#k2vRU>~p3k!$Iv9nex9`C!pW3|i(37J(m)e+uBpW9C^3D6%EE?OGF4+7_cEGGb-e?jL{!^ z^vvtaPdMZ4Xt6YwG}BSjm^_uRzGTVI|9Na@90iB zaB()?im=$=!6xh3zwb;fcQ1P&Iv$F7=?6+6G)Khb@Bmvs+a}!RQNAYCyJpulvh3OV z#h!-En@m_E9ZlGy`+7`?gxso@h8)|T^#;K#Ap{aW+Af$HCnZw=Wo&nb^%lb61GM?Qa0$kg(UjN5HCV+K|<>c z)llkn$?he0oWJ&A1D19AG@kSJlgDb(lG_x95T5|~XdT|XPS*EQ{BflyUkz&>{UiDM zUO_B^caCg&189D{w_*2?C^xMj!b#*$l^mxi3Ax*yVES_IB1y@|E`aS$B!VdHR%Kwt zf}N+ta#qo^gv7;wp6)WBnb?iZEC79FALaf*3Z!KBO%`v=Qv1Dm5_+&BiQ*8ci55wuK-FG+u3VZX5#CjZ!WKtdb178lJ2qhHe@r zXS2`J`6h{6VGHEP(0LmLIiF6AoB=g?+e&#{T>GCkh~f*20PoBLXR&tbZj&iLRYYbF zcFeW6d2d4*3OaCux=Tw5TMJeK>W_T+30L%jKQ`g|jk$4nuzW%CL=wSg+?Sk`5;TMO z1P_qSOGk5$=ESZ5JugiA~ zDiCy=|9$HsE}}7E#3rbT zjqC(8qGG4~%^rbfEhKr^?e$&D(U^fg`7Zg`LQ&!Kca>{{75fHFXpiGs_jv~6;go9r5&A=SJRa?_?| z9(8AbkZ44>R15ftsbDHk&P^_t0um@yk~w@cuW680N#5b=AfEDWgL0?fchMVw^Y?8Z z_JQwF)hRK5xMthjP}if;9#Chl7CWgXHVe;-{L}|7D{Cn|hr6SgHPZc2EcKQLr(#T* zbEEvxMLW_e3oOFe^qQ?gS*(~vAc@@X7RA3PH&OW%Ld9akS@GRioAT9>>RRpC$Obf= zwAnLbE?oH=`0)@!slz|Ytp;^-_5k7*f~$SN+_>vGXGh!;=_O}uYEx#!+zG8je_7Xp zHIsNsHt4%u$QY)Qv-Nnt|Ak}_&V(tdiiSsn*D5S-WIM06I)@UkNm9FyAmp!bY>CSh zq86r^nlD?2w06Gen2+DO(}zY&@mC~%ZJ}$LN1hDhR2+`O;k=zlCFZzrxj=;p7#!je zS<00U2-I>$dxQ$--I2Ew5COS9ILK|Z%2w9Rzb2A(@hH{B7VhyLo$m&ei0Rc3AHRLY z9YoT35dL}==+QR7`SO+}4)S=`$$k8)^?PbuwT51=-99KuxQee9u~3$4g7tL0-!4;a zJco*g{>Zbb&rC!!^H@3{H(oqpjx~3~6ZUcBo4UCz52;=)>Q>>HQ*=N=z>pa=ELi1C zofl>f&Ee$m6mIJ^_VU=-86k?EkWo^JHj12TQYb@1NSIab6FS@Dm2YVyjLesU0H|HE!?7DO>MG2bj|b5fk zyrbXh2dYfxw0LLn1ET2p_?3r4ct$O}{7PbTv}qUxha1Pf2VEn}eP()Zh|Px_jk|}% z@Vc26R~9_M7vl_Cg*Xypz7Ar*KRA#scQt4gVfDKZ>J?T*jekG!%|Z6}pBEUs)&U#F zj;hAk=e09?VTJ|Ej=d*@8&v0$0H}zIqL(9LarJS8d@^oAB;t|(awM7+V&^iZO68#R zk+rF3i*oHyTPaM=Ga3Jc#FKe_C*WIwX}n zVry4n-tHnM7-qRO^Rb7?L~W=GPW~eCElM9@VV1pdVCnmxI#kQ*ijlF!b03*a7A!tl z|71H&bc|jZ6Nez~(-R7P4Zs3q0AH_{EN}>oOz0iHzSNHn7#EUOY+O+=2+wY{^8ISR zM&lDC8j!Hp6Kt77yZ*WFEmY7Dc1*33uX=|_iz4%z@eNrw11M9QZ-sPM1!~f!F~F!_ zCOQf@I?2&+l^4a^X!z@MiHI=j7=5JKw`IMI)N=Ve z&>5kXVQgP3GD8u4G|)I&%8MmIrc30j?b7dUS$yFem!6y5+4Vj^cSKyPnWckG`TD~z zT88=-r2depugBdtw6rN$#*IUFM@_HrKdQ%1-e}c80Qss4d1rbKb_kU?r)p9Fg5mUz zagpei;bRc$Cao$X#dT1qW~O54LCP_2-N3QspF*zN(dXD}$W8{>Xc2yc7Fm28m+u62 z57rzlJlK1PGiyHIvR?>aw58p|+*ELpWhTv-*WMNxTdW zrQ9zd)V*!hHGb?DHNO2;_zR6KboRB?zX%a7YX+#KqHi^uCc?{9uGxrg$^6F5ZqKYD zFwHN(-d>YtCRX79tE&Fp`roz1ahU_WjC#Zxu1ZmFpi9=&yGMvyFWCrbNfB%#WI3Y6 z#&ZDomsFm-8~!;6V)UJ;V$XjU?i(Jm5T^7(5L!N$<=3{|CIWmF~(C7c+6GDIH8KfUp^p1VdQd(x-n5`J>)A5Lp$rd0c^D>8nF++?KSXcFfxNg>J%p=cE$7 zqHR6Pj6j%-4#y%?I4!AoZvmPg*49?&y}tQx=xlpNB#)zJP+ofGU^X7 z>KT!9;@=Spny$xa7tGpqCHf#B55?%em)BXZ;z=y|a9xL9calQU@%e)&5CP+}UIi20 z@n{orVCWDLf+bQ~{AIB2@b6DJBwzPRaJmm>Fi&Vra%AyUJMNpKnI{Zso_Qh{aYIh) zc%aZ27DS>be--C$-?x+b`p8occd9f&}M&!fvhEPGGcMeQ$KYf*cIXJsL zr|L0#io<(oE#YK*}pmqw2mH$+~DjvjMU|2ao| zB*E0QynJ>|J+FNMZ#T*hCO(Umz$oO8hmXD5&mxuNuMy=F(s(vx$!=l=*-k<7-nljG zFU9^+xNbxnY&9C}ENLvK^GSRNQ~%chrPxMfnvPD~XO~ZP+;fqxeX$cLIGaNJeL}F+ z_k&);;7G?v(<-y7%JK*cCT?82yM_u&@?U`qr(hNW6uU&yZ zk4DB@@(Rzyjs}Ok@i2LL$UH|2&JZTTq4BZ5v!88wR50cbkbspTLa3mAlhuef0yxKt zjkoU;^)l-If^={CB8iUsCMw2`6TI~?!-0*dzN|9+)@ghLQg*WEOFiV}6MjbL98Oa6*yjIJX4nVC+;DMpdi z={LTba}1G{hE%42k?B^gRaMoKeiMt&T;ge;0nYC1tCUB53A8U5GBzS@+#g>qSb&>0)# z{UeJme1cYBlIwat&4~9V$aZ-6nDWE|F*>$r=P)TL?`F#e0rT`SO^1@xh-lGK>7Weu zbNlO^jtM*IN;^8Kc1G4RVz=9ucB=7jg-iEew7MY=ig7jgEqGiwr-Pcgt*T&%|uE`#ObC-9?(^C~Ie@KHZ`8 z`M=@+^Fn3%+m*O%h^gQ}Z`yf5i$YFMPkN$H)Qh#~98e{uISz9ZR#=8mIRQ?sC{^Tn z-Y>*I+GSr4t3+_*&+2p>DD7T1+P~>Q6II*GR9BQr_{alke1QaB`S7DkI95zsnL|bY z?XU*IdriaX)?$8tj(20j^?6|&;xR@Rb-#IGKcdBaCxplCH~n4(6v&fJ$56gX zSw3#kIcgYz@yHMhoo!0F`$)xKvx<>~vMCgnCArva?&wLj_0*Tr%`%ZYfKgmU&bba* zV!VewUPH`f^!ehzhIl?hk6-b7O4m(7Bj3?plhm8OOOzzI7Ja6{C#)lRYyUdo^kbd( z;EASwVSwj&{s5^3ck|tEPplF|O;myS(|$7bUnvPZhh}LtMr}6c$F}mOfS<}1C3-SL z-GpD4mrPdi7b5*c9pp8Y4<)~$6-SEnOo+y?kIzDQ@y8u9C4944rHkYF4O~d_-IChN zX+_aJS?orS7Z0vx5`rBJiw!ABmp^1*7FDW}i@eYcmCF^q2{tsl0OA7Z)+i9gL`2%$ z66zY#yZE!My#!T)JDyb{n;J$9TpanA0=2cXV-RaQ%IE}wly9wK2i(l5ViRO3O8i}P z1-&5&bAsQRhSF-R3N6jvCdbhD#6Q@rksTA8i4Sg=itcqaHkQ`<*vKc-6kbS!^IP9M zOMTnMq)Nb?Sn9=ob+7xh!t=q6>y4QQ{+*ir) zeq)nH62Myq*gt>0qdLBoO8lxRCe5~mmMk)S)5y>zAwO-Xb<5+z;xObp(Oju&Jcs2z z1otJuE_C}>pB;W}u(xi1sxPUiWF||Hi;XC9x7umex<3A?MIeX!gudE!cj~BRo{spg zus+&5-d1kW4pz=c^6AR-khaO?@2fN4SC^;St86yQ_+xi>VpaFVI8IU(Z< z1G7-ZjiOY&?m=e*Dvm8t>1-y*N~m#^6`8tH6v zJ~D<&5>1qd%-{NS;y6gCR7VrpLrvUEe#fuYySqb}>^3fMUuoT8M(seoUKAQNKyu8K={b{Cm z^U2duL$zr(Y3#3k;;xF)bjoG}>8>}f9Ci5g@Y|QN+`?e$p;y0Hcw;rbsVEK8i~dCZ z3ltSK3^k$FprU`}gK|u`%|>77uj4}k$)WDC@)Z=7*uUT_*Z^XK8b5xh3#Y25~-U3h(Ckpa?kz%mxuZx)m`gz zm6I^8RFj^Q>Ww|3d|bq;IUP*=Mx_z#v+wr zCoQ1qn;3Z{ykbRY3+8n@{2o}+&T43g<**@f@f?|rl3pjJL2}ks$ul|9S^MSibYT@`%q#Kct6r{UT5a|vT z0TGn;J2Qj#{wqCo?ziae$fZN z-!!tx?FRWR$&sB=Da{7GA3~x)_DiH=q?rBmMmcG<gXInC(!bin?pLN6AGMdt>e|F~onM!FN0xqaH+Fqzx#N>} zWRtFqoU)YrQ)%~E2a%Z`4oTN=a9>T=l>9ZyL9(u?4k*DyKr=ynvP{8HC8enQ&F^?x zu@lSJzT=PF4IxOF`d)J&c=~OrH~vAdSqw%W-I^B0+5i>}(r-WG)V0 zM@$Jd?&!EM7S`wwbw?VUj9U=v0P_nJrN^sMItp!iovir>NUluKQst-%@t97I40f^F zkF-qnqP0+)8;nrmK#xdlF|pT>0xw}o!qpw7HfqQ6=M1cw!NdV9Et{oCHujEe2EIi- zw=jeCbd)(=lpl>Spu0!Plv8~AJ!m)HZN2kx<;`{9Wvl0vMJ@!d-%vAWN+}d96$Y&R zNLc#ha+uA%wT8p!`+|V@4fep2_v>ar;91O*FN!mY&|xICP{*`1t(0O~w)z5hQJI&S zd&vS4aoV>&Mlow{f7iQKIW6lnOIS}A5~e-L__W!m7K2rqc!E(PJ${_-mfGG6QTz$^ z*G*ik>o=caNhD546u-O zuY3F`!2wjC({Yo?Bq*Q>hvP-)99}@9m0W#%E$O1CuUGv#5*2TAIVEfVdFhRl`bpn; z48l^@aHdsaN55Y-*SkGE`o+t45_Eu*f*%2+;il$w)!pK2?8<7eCa6m@mX zi$KZ%mc24pJ9 zNM6QpB+W-I-090%Pm%kil*t9I`-%@p1oIxBIO>i}m=>5+LF!vHouYC|<3^}SAEMacRuS49}4o(h;D(7nsGtlRx1L{=$PMs)rx<;^{jCAxnoJJP* zRiP;DY=^gm3DYw#61((nO4*M5dYiWUAsUG*lBFqcF=bOJhk--yeuk+;x$p5&;cZMP z_?3#Z?t0xMebj}ZXGb*#uM4umSulFv*^A$3c811C7y8~v^!h?Xg7iiLsktiOx-WlVRVBQ$nqF-&SR5mv(d-%HMUXcs!^&?N zI2f>Ynii2Er{ptgd`C*d=TmE7-$8CiTIBMMyMWc2)bWGRGs;1#8H=2`<#M0#)@MyN zw91-L%v3kz3+%QCA3;ms^gZIK$xjeY?`dpI08li-6Gt7&%M@MvB*K8X9-6Wi?6j^? zu#%n@Mur_&60kd}TSM}USOlNp4fdpn)GBrp?4@bT(ziXy+PIsVu)C|ePdW{A9< ze*Jnl^cf8)3QrBI1wF?q8rtCcffu`84+9I7UFQg^GKnX9HLcx>pDQU8H5Dm3EneS` zS~=utJZe7Ee(Fc+mKq6;fEsJ8rzC^=M@M(n&{fQezRyI>I0|XG_(Tj^e#y&KGF-z{ zyAOFZjLDA7z~Z^CE=3vo-St_GX|hK@@FqS;2Q9=e7Db?@Tw%v;^1#G)5jngxjmAzH zsX!R*XWL zV4y}h?PXBhAUys+c>H4yqu!+juO~um&yah^8guI#e}gJA$Bm++DbzK4QSX^z+E5O| zQ3EqhZ4@8L1=Ze7!=QcS6)1smwpZ$Vs977gm~&Z5K!@AI(6ij5OvN>G&p=UHW_xCq zV5gA27BrRoPnAqK5sUId4NOxkQ5OMgn5E}aM5@`QgbGJrO6T(+rJ?VFcsdAQ9-T$G z@gZs9ueY9$$?qp}t98xKPg_9)O+#IO0x@yTXdi0S&>N9Iuf#ZEnAWBBsibEV8SC!++{Kh zxRJ*$KsAlEBy-D|REyYee}0WL*%G?Mh?mt)kD<#$dgHd5bG`N3aqs)zDR5%?3lpf! znU6Ui#=87Od9cm?Gsbtj&%6SggGOr^J8L`SiSRQfL65-Z8|E(#bkhbW(pB@%rGc7y9`uA`Ji zWe@`DC#^@)3w4XlhzH|QNpgX>9)*hEPiFuCV<>0S(eAo z!nn1$G&jk$CeB5yBTb^@bBA#IHuU*>Nkt8_W42H6#|}-E)o-2nQ_M`no%y-=ucg%h z8l2bCngG&7^0H6rPU<*Q-)^eYQRW7c3ut}IH}#(>E7y*}M&^#xwL2zripM~Dd`rA$ zH9e4|YO)2ZH8+TqHeYYzB+Vkqt1&!+Af=7g&OS^3J$nd#R3rKZiy~(ZmjqPYNzNp3 z^WlJi29h4uHSX*##p=8^q)IXME%EKN7VMA0jWp4&k9B4>gP$nk5B^lQjJsCkT3(z41|KMzprq+EJ$pR(gV9ny-^0i5@Rn zpOcxl7S*i*i>PP8OiQgLudzQvJF0nmeZfEXLYK2HHi>~AmOY6vabjAt!0nCne3bbp z6$_fUZ-N6Y>{wj0$XcLgebjcNQr0ylqJu~J?w;fny-cP7{Q=n^o{2oUNXX~4!wci} z{6QPFlM-osGn^EWui_G^uZ8^{Xvf$r-4!ru9ZEgJ??XcwmO&?vaN34QKuMH*_a7S@ zQ+eHWh|tKh(xawyjo>^GPmzD!wnup9WzUkDEEN4{Zt3oOBAi?M7NLxO{@F7_d|ze zHC`6)6~xKmjY(LXXU!Vj`~vOuQo+|^JHeE;nOm2Oir;updO&#}>E)Mqg2@HL20Uz= zKFDW-rga&5k?1ZG*nz|*HJJtk{;03pCm+e#^=%hkuRT;KBjc_u`XYFt%WYhKn{&~CEW7N)^7(oeDILbLdL97=SwB_IkDp_DWxw0M zt>NB&(X0Ueu*;TMdw>;)BL9I%$g~lX=f?Crz>@rxec3$+YVPOVGAy$sxrOEr{Vh$L zBL#)To%)$f7L9$q<&;P2pgyzW?-|)M$zK-Ue_zzrs=#>hdBxkMk5K06tgMHq>4Vj+ z@n=UK#wSlpx*;Lgsf9dlJ@xHTK!0l(%H$g4LQh$sS(ICd`t2LXo12O2wLFfl9Q`5A zK_NHVn09h*hmcalGRtU7DQ_Ut(6cyOw*}_rQO*USEM2qcQ9YonN7sjj?=ciMDIVl* z-CgKOXzBQUBj0&~+q%rqzr%Mzcca3@q?llotUb_1_J*N>XXG!NqImPmPQ{DK(`Mb?8sv%ef>P7&%lQ+=gruRXGDhi3ko8!@MHdqlKQ+e`nMx< zJ#22)1U9aI`N6J-)GbTeJ#6yl^h=Dt>gl&f*|AL5#O+u!Hu8^a(x4mlJ=m^nF83q} zEJSi%@f03Xzth{8{=QW2p z8_b%ggA>y{OFm2Qec6fk34QS*=^g=F|G@ilf-mx=rziKn7~f9TE+LjgQ6^sH!F;0r zVB!#BJe-I}c+M4%9UUhGU8k!gjcHoC7X#H#FVEm6^5Gk0rHrU%rCXlKP1EIfF+{hq zo$a+JvF0PI`@ZplV_`1p`(viWRs+Xp%n3ok4@m^0>sI16uSaCF_}ix5iWem^B$U_+ z_)uwMhp~12?7=6=v^Evr#O&hF)M=5WZTa_BDhEa4^iT>m&q`iO$3RhU$P9(u`;Bwv zVtHuq=Hhsw@bQL0)JO3<^z0;Sbal0pdtyrbGm2V4t_KfJc^2GT_G?PT=ENGp?gT`J zhK}P=K@{-}uemxDQnel+*N5ifjYVFBs!QDOQPqK%M#ZzyLJZu;q&gu;7H&r_HD<#t zI_S_E?=?{=5wBnpeHUoUxO(Htz6NK_jb}0JZSzQq0$5w`#EF8RL*FVYU$>=M5;1#1 zLg4b`Q5Hwgp%J=rpmX`Gt3b_;iVU9(eL1aPf3$&hT{HN-SCzy(qUQd{3X+J6Z4Sv8 z`rLrDvr$8`_o}=m1_r8r`29A*Y>eX{d}VGebSL&oui@=1C!LT(m**aggt$yiU9Wp? z(R;KeGN##!RK=*rz$g4ZYR;sb#Y*@g{z*d`mG+&lsBOMpN{?%zwzlCZseh9;EIif9`LeRg*_q${XS*R4<3V{B|8XLyZhI@V#kuOuD7c8_9jNOO9EqGmI8bzuF5emA%EEZz)*V z|4gx(BYrQ-)jcr8q#Wb+6Nl}wr*C4HkGYk(TDlH#X2QpAP^~}N+jImir88!@1&68KMJN;40WAze}d+j;Og6L z$MH_IyS};VDWgx=>%qKJb3c%6Yo=q2rovXIr%5>$I=@r0^~C+{rze?mR`Bt`{1%E$ab-fMKZ`J z5yY5n@X0AGoIT=2>^s%I?L>?ApacouAmtj>UhKVDJY8HPA5 z7_CC6Hy*}+sKXjc%>$-r))zQ9j#RL5&3-@VzHzp2z1FTAdfZw}z# zWqa{qW-#(Yuag!X2DK?1ukck$=@as|GbJ$TVC>PAykGa;b*b(aPlgOI86AUXJc#zd*1ejZ&UJqhSYkv@f zrfoCt8e8QbG{bgyvyIuUIb8pTvcR|3j7B01A2Rk*pmKY?{30HjL?Yiw7Dh<|ILrnx zdEy4K-$=JC@ne#S*R!KVEdc^JWHW32mb#?emD%wO+;NMtIsUsRtR}CUMc7KBgF-$} zmd!dN>8TAX;o;#5$LmtvG}r2#{(>2{I#c^Q09!%-EqQO*JJo3y8N<96kumO^clFeH z%70*I9YaUZ?jGKAlDQ_S=8{lHDUs|m894FK44gXfuLjO^v>vp{+CXD&a%^Ryp{<@pwkX@`!@<;6tM&}xbKdWXxi{>TLI1y zm&~CvqD4gQ>bLhekQ@(dKs%4@mRAi@vxzo}Im3v5`DoG6`(;)y9Srkl_|3y10A-1w z%+X3M4fH&4#P;i+$!|;*y>>wimM~iI%LJ#tl_|{Q*L#S4WNyiYX;M9bM$T=vt!ny6 z=V-FG%x(XU6D=vI2);fkRWd)!Dd8b^o!euC5!v*Cu!LvXO20n3GOg*?-59LU?HEke zLW{d?&=M7Y2}rPnTh1B>TlEmhNqeS?5l2%z@mHv9?cEyuDeu5;+=LJm#+_Yc2%Ok*@~qQThdR~ z$v*MOth=%PhKAnHgSwB3DW9*i2(>(nSy__A!pO)iffSovLTlr;6vJaY0hNXsCcFmi z0sR4JWEzv~w*eE+alvoZGOR8AW|+V>e@W%3jR5X?Mco?8qg0L>*N`cWeO^P`YJdmn zM3RqsS#7=kOc}YRGayzHokhNv79G!a&w_PhyvZS1V>#MQPRV{+6Z@&VjOV%A8n`)K zDBQU=LY=&s>>b|}i{g35e?Q-K=Ykv?<6bAUz#*k+fdhL_@1@9*#>p#>m$t3EUce`w zTf>67s9RiJ37qs(Xe!H`lGq<{fAUGtj8+-kX{8;Tgu3fr3l~K z&~Uk;ZbKBH?n?(-uvB9wAqvJGPSHJ`QA*v>w}d%es%=KXO0Eofo}{_~FEQwDEYp68 z^ZTm!zRIGbl=|)PFlP&dA7_9c`2`C9RO@pJy8(yI@2M{^XJUBPloNpM?ae&`alH@>i$NAfKnr-W+RAkB& z6szWMn0gkUXeMyh-!jBqYz%n?nvcuKKMR>b!;(Or8Oopxj~MoOBmWDXcBj)fU>JZB z?8I@^Fn6PZA2+$Ub}J-@ON;LxC!Di9GiHQt#8X|~^3!^@=_jVdRMyw5 z$Gt7QRY`iG?ZXo*_ClLBccj{@9_tHHK@%+f50+7qdKieMtCZ*0BAzwS&ffI0{q=}` z_P0RrX;t*Hf?zOT&0V$T2Vv8SUbqBX)~`A3ip4}0(O-J|*DacU!MY#$qdAv=`9SEq z@|~n1ni^vfy;A!Jqpn(5-k5_zXndbSF`o?vNII6&6ox`AAWc1b-JjrqZeYkN>R zy0!$B&D7=7?uk-lUu_W_uV#<^z3DIQ?S3N$6pwRTIlM^*JpD#GXl0|%eg}=@M{Rf^ zEd}8F?#a-j>2QYI?skB28+eB9d@Z3aFqgVv__1I{L+)3x>O|E0iKrJBLSI^XNd1}4 zXU}yX%K^4OiHm!wDOsm5rs>vfj3uDG)pk})r~!IGlpE_fR6{hJ zV|F$49f#2JH|<@q1zDQvZ;UCuP5?zXaJKl?ErcRmJ885~xow4wHrztyo~XF4Q>BsD z$$8sKNO${#=v?{7S+U4dVYJ~RnDPnZ{9iiEYWO<}lD{h+7<)bwDfl@+EN=mwP)jBh zY4!;9>9AW9x_dm{Hy(3bNRhh;CH<eSS%5>fzpWxC-TMEb0t2W~j`QIvgc* zKElZ*Gc3>hF1`0C=kY?zs0toEXkL7tma8B#cSKzQ4Qj$AiDsWwMc12q-t$h?ELNm5 zPM`(+7IhZdIgLOIibC~$E&s(IyM#Y(#eMWXIBob`dglw_x%}O0l5;f}TLd!kB?~Ih zgGZG{F@qdlx9imGN%`_TR~!_f2kuf;OK3&M4||wgxj*zR^k3Iv#;?24Qu`xHQ)>6q zJ@FD3a(qw0*df)3fz|05p~)jOQh6^TI+N3Clg!lNts`~ z`9Uo)wH7dO>{kS=P7HjX7$DQ8`ihq!j^`|F;K}vAPjQ6lSd8Sg()f=9k@l*-X+Ed3 zcz-vjdLJ?U9HEqhU=Ts*sq3$mvI(XW8__VIgh44SEg~9Ptr+ZB;X$;MxreOL`~lh+ z?pt}k4FhCrqvEBBnlpI~phl0wyS`7?+s9*9=iapG!=H1AKpu#hw=8|KFK*24w3hZ_ zBW%-OZLT$cXDz6ZmW6GFeRbd=XQAuL`%%++SrH0~V5hXQn}s>|ZBmJa?}zFw$cI4D z(XyKdZX11Fk9r$4F8I^FEbZPy^*6OMUjh!UBYBnLHm*(du8jb?qTKN2M}-Y;guBHcR>ip4}eJI%3Tq16_-M)9NE zDc~yuI^K(Vk07h?s<53pj?lahDmr@4Y>{8OH&OZcwA^^p$-BA{Mr}s^B-z?j;`XX> zPa<=v(PJ|E0HF(t=5Y-u)c+z|uj}B!wa%IOHh(UFAfQ3FNlp3uc`T)>&vs21kgzB} z>>?KHH2WfxS7%33a@cUts9qTjx>oOGFYG!k`}vhq#dGhN@{v^>cO5K&4-9%kC5cfY zQ1T&OMqfEDC8bLD*6|isj)Y2A6*_h(hP8-zrMztww1vebh=NgM&mqmNq|v@ z!pabJSoRC+UOHEY97)$2PRLd!gY`0bulb%Y`Uxh$h8*`*i5*X2=r?B z6z21%Wl+a2MK3JbVQ{Va@~PgQZnkgUBm&g)o9)19<;+(qNZ#Pp!9Yg$Fm1ztKm3BB-i zSo;-_r-Srct|krTDgG##;sN;Oj0wi;8z-WL2}}6%4`!cpb__z*qc%tcUeQcytBp6_ z=6jSroa)1K?XhjV)m=^Qa;<~i)YltpKTV#IH%=BTeft*Sh8q1nU4Gvppj*W`!TuAG z<j_gGY8DiB)2Jfe!wb_{vN%t; z{hx9%+_jsD6$yHfJ7X3Hy;UKpp3r!o?KhW-`z&<>S)OO4K%B#!7A3B=%~Q^sD>ujo zrj2yNrM@RVm?QQJjpL|5DvOE<%kTz2XQyVqcp#>+*cn-uLpJ9K5L<}PVhIekTeK0D z^4?YpeiG9|4D}(xp71qjGeWg<4$PeXIV{n{c_V!0~vLp$e*02LdtEPgsBfG1MmEhqI znzWi#SXy zBlsDV+o_9^rRXZfLliym&74Wrk2~X@;*W4Sv?VItV#kNyQ$rG7X~n#%>FA#`kSm(8 zc^aG`Ib7=?JTlTJjWN4yIUize_^HfwB>+RPE;J4MRxU=Op8oKc$Gy@k^bMAhY}-xy zOv7`sYteI1o{gNaJJw-T^U6zJOjSC=0?!FK4OZPphYOfn?POgaC+Ll($g8HRpo)yd zRx@;HyjHg?`$=E00RH(nqNOhy3fryi*n=mX@k!m0F|Q(S>IGHBRwS6;QmmjI>_6gQ zdQ!#A-m+z}?>rvs185()#Bv-GbXqobu7&U7#alIsK{fb#Lsf^XJbfAHIt3Zzd=w)- zhQARuHBEOPuQOR%dU-}>t4?FcKt*C09<>r1@teU>X;NyUX}sZ>fYLBDH(OCnaZ~ou z^4rRy$)4*^lF)5z2)M(^bgw4)#3e*+{% znu;;nz7V>mq5E~LU|KyWLb2aC{Z2>!^pZ*tt{AwaV$-P}T(GPuq+EXzMq!$VCA=bz z-tbth<6Ir-rBpg)`}2Lv3Iewk+409lFGW$GIhLSvoZShTnXhHaJ4Ry9F`h*srfLh? zXm6sFrKUYbes?g(6wPr0A2;u z#!zxmp~9_XxysaZgQAi)=LRdkXCjhsmF`yeRylmD8)15G>Bj%MMQbljU8jqZ^mTQW zcv{@tELF9}J*t||7dD{f83*1tHBG@%<2F;*by3?oeqkax?oGAZ zt@h}BZkzPYA3vdA$L}O~Nt{Ess@(1PmRlUNn+)1eC_tsbGRKBc7Pl&rX)ep?x#Qf#xB^}=B=9|x;!;p~kI9~cgJ&}0sR#v4y zF$eiqnMHSxn$-;bN!<9Td1?9jqHZ(GQ!3f|bQ4Nb27=y<&%vq;{w?L=h4>%)^e_qw z($7ixFE;B!(6(4pFwD;f0(w5!OO2>IdkM(HO9QUyImAD+g@UqDj z>TQYiP!)BTe5=1v&CzP&68T$$U8-A`9?dH>YYm$#_;>rM$#rg7{P;o#O$_9m1Z=^a z5@;}2dbF%N6`k(KPu&37C-u&+mM`o zV%^WnX*;lK#drS_EFER%u$ELDQ(&#wKO^t@7PE;UzNh!?IA8WVTmlxOLA@T6kJFZ#}T5dhQp0QfFMW3@Nw|#${jJbkb?pjKux*1QuYkb`FMNlbO z6~oViJW^k&uvwQ$rsqa+{T)J8&4Bi!CMfq79<46lRtdd!#Cw`F%eg=hXZv0Z3bKPlPaIfntnSVi!k8~~JyKpFW zeY9KI9#Plotfh=jzG5sR>qG!PHAUYiDCeSBneB=B=%+;g?j2H*$F4u!rg5Lxe$O2X z7WqMIwe2spg8FU|&5L#N>+H5dy%cIfgI<<&$`(B*bRJ_p*D?~L;KPJsRD+ks_VYY~ z9lctM2=&ufl|jFn$%G4Of0cBptQ9R)tIU@_yQ8S4UvgqOYN#md{phIgV~vWv%QkdO zoo3L)@u*1GHr}%o&*;Nb4tM+|7ZxU+ETw5trHh)>w4FET_UZ{4O!=B1eO&6%Q zn|s+lgOJPF6uNT4>NNRvH!iiSea#W7g=bn*>oh5;xozc6d&W`$$THON5a5=ln+>4- zN|h)cd&=jr=UMeDFgM}Z%@NKDnY=D&_t;7dkq80zIW~n!NZ>ffZi7?HCopEsKu0{6KO4aPeDCc+-|Ad3z^K z*lJ@i4f?f=syFV%*y;(BtMm`HC5ltH$# zboQEzY4Edyn23c2rx~nJtoLWGS~Yzm-7)J5%;|(od-KGs{ScWk^K0WgVp>(bPDwPO zQj!HdQRvD?NF_GyLo1d}O4eWv1BqRhgddi(yvXIsEs(D%p8anWJ(bd3k}RIn8B|pn z&2`XJ&(?)}W3A8r6=_0+E4^7tRc;86+JT5*!E+Hj%m+SeA!v}rb#m-mMJ9!!F zLpcLpys3)qKjLc~95-cSA)gzgB)4t*PlUX(DF^oZ#hrvy(9aK0oZ>fg!beiS|jOH;+0x9!spW zLv|*;{6|iWL++m0cEs4;h^y9&EoM(=r=2pzRR+E~1s&LB$SG7jQQp=G!5?yUHdIPC zCZ4owpFvV3UVB{rpf~GVb@yG;B`WKa-NFI}{gFN^YMINx*O(aD&d>>0mrgLez? z-t!uB-gJQZOma07tC#kE={e-tHgIDj&-~RIzJR4vtDkS8wMuLM z#9hZ)igwffA4$)y7mehy_QaL+zB`;AwAKDhnHY6C_wkF;v*!Wk?#LBq4%UfTf2_sK z&d5W0e^GUUR`!16j{f-<{&)4gx;YNA^{&)C1-%}f=iWs5#cmeZ-RWF~o$>cp$p-C) zcw71CDIOhIP6Z6~C^gmdMu%A(WqU2yk>o9o2augb>`dCE_-J((*+Q#w-#wguQt8r_ zIffy86okTk8mL#i3`ukdHMX!Wx)U5#%G}XG6}K$nBZ0U48pQw+C;Ke?YF(8SE zvOl+SV${CKBO$?R70@GUBHY1&G|4OV5b8a@{+Rny@|OT6oof$MhFYHBkG|)?YMhJP zO9$?LGL+@UNslmFuQ#26;(y+Cb$IJ@^zJvozfr&{-6(28ev!hXka++>N0d5Hegt`r zXf;29G$G0>_}D>~5YgUuggi%7b(nq*(L}VkJRmROJpgJwA>yzO0N*_!a`1+*7g%%_ zhCK3uT!%N(y&#G(mw=BCga)|qf-u25 zLjQXKdWCWf4PYFD*0v=eS{v-@SgWLjGyo8X& z56NTm>Zl{5kfOqBCnKuxDavKs*#=ebf##I2nEIp$Go=rA_=7&JIZf7fCC*Jc(BY`Ft6>4Dh@2q`>J<2%F#>|kLL zaxhSaD}fpqf!;{~=EzI$a*?2Vy$Kw&kAyJ6)o(oA$AlF+ss?M@UG3+D1)SLt31NZ9 z`5C7E>tX!&2f~0v6a*KpF7>eyPXkQT7--_^crseS)Z?!`CIznxR z*r$wuObmno_!12vfk~2LKtYMe9{~@X{S*e$`TPO#fw1VyksN?Y!ec-Q1Aq|=VTaQN zVnMJb4g@LUyJMOE?Yo(;?dL_X-!H+`$z6%U$Hlv29U)=1mG++q{UD>Q0fd`j8|A&8Nj1>2p>E)%az@LGqA7EVPzDruo5!k zqcT{5=;+H4`(U7z04s6{tEYE$MvUgf_h)ke+zFS1E|CBxb}kn%NC3BL*iIA$11j_4 zOLFOfK9B{E4>|iclm_%H4$g1tE1skCu@v0hvT_pM{zAgaN9> zFn|(xn+PF>+m(Jv=XndvOeO{r65SQM4z=+%H4N}Z)}z_la@CtP(bVc5ML zRQU>CSJzB!WBl6&ZXh!W>>}*OPzF82?T>q^K{andqoknGYv8|s{>$^j8H6bT7AX*VxC_4& z&=UF(+!Ea&2{4>;>0%xxupWU6e1}N@?pK!riC5s>`~;|Y1!0Ky9U%rn|E%-jA_o^( zA;}$Zq$U1%1pm$R^B;pd9eD+T7pw=)KockpAO3)tfNUy+3m%S5DkvfR7%zW89nU&R z_V02TrZ`CQ0*6`@9BQsB#_!I++4j>!0AAW+kFvRvuw^f$N(u!1E8 z+=P1uXkvO74!->Z_QSxWAAdl!`0{;hfbh>BO+ z(;P4fP$n2a3Pk3BBM;mA33RiK_rb1x125JqZsJ)1qFe|S@F@pE1*cxA%z1^{!vUiT z!C4pi`3}9Hu@3OMI$3wP5eB_-!Cb*MsgztWqT_1_6fE9J0Y^W>P)tEYoYZ*`_?rU2 zmj|LO*AYDz5JASgvVFjM@^5L+|2~hni6PYT^B~ml7;}b+C@jHb!HWD*Ug?R@Ed*6g z1sMZ4&I9K*%rtrbk+UJlg%!rU${$om@Wu1N`#!8sTKQm{#@YzfCm%uvH}FrnP|(2D z5i-$5P`g1Y+`t0NfS~~b1*?Zr!BOr45T!Fgpe6+nQaI`eLj~_4P+3zj!kEVvB$9A*XMAp!+!j*`Pe{BCsGT zB0v8WN(DPjb0y|!=s#2pApJFj0B)rmX2mi9Kz;)*zopmU>ji9PQFKb_HG^@$b{Cc_ zR&InKs9M3uL;%g7VZAAH)Q<^zLMOMG3YfS5+NEY26s-F zSCK>^j|0%-E_hv?jyGdrRK$kC`v%l?On?DofNwl9`dhD8m?iOvfUqT!OuHS`6BzAi?furjhha4v)po{+AV^m%O1JsNm1UrB3L z=|B9xC!oJ_T_-J=LyEuh_~k7^t+w=X;t!XC&Sk3rqH=Kff0tfPqJQhtA|X*-@oW7K zK~*igT&3n^pn=c^1R7IzIg&gi$#IFG_ZaZH`Vyu)2&2*o@HyC7{qN%&Z2U0^Lc5AU zja=}$dOu?wfoUOL3pyGbpCYOs|M&h%I1Xdc1Ds>XxIlFIpRAXI5i(4|L}b8d`Q_*W z8F%w;f@!@0URS$l{t1yI+bM94(7(O3a_uc>Wp)-Jy7%_-R^b6dX|@q)G57;~*uJhi zY=(e#{lV*M?=21y)Mp3C_ZL5*0xOEA{?8lm4mZ3#wgR z1DojosKE>T62W`!idzCz2D$R!b#>)QW5f7d@DS%K!4MnpU;rt=Pl$pB4CA8U|Fx0? zsz4eO(LXezzZiZnh7u`)QCW4lpoU?nJsAuo0ko?jSO7-#<#cDL21Qwv|A^?|@z}%A zVj2XRSq+{;z!q{d45ep4pgW)icn_Q3RY$vny(<8pxvt)GZI}^M(VEMpp-}@Gpkha$ zU@2n6Ciib8<^PVvE*FA&#`%AYgg3z`i#q5RmffqF#l415BdGR^HM)`EUx1Q2LC zKMK}gGwsd2mB)dgAt-oVo&1C%Kx{3918%1QW@kVQ29N>Y!2iJ$@XYEvCTyF(02k@i zS=uCpaM>>j)_lJ4?sDO1zXPqD$Rb40cb8+73Pa!AK%fKfE_0KR=nNhTf|YvziVIH> zK_#xce8%9a0}TWyBhZ+eD1R>}Y4@875eyf8}z1fSYq?>|f$0fNcktCKX#e;*|}oDtNz#>+G7 zIhcVgKLlFl3wC`b^76G0ley0J8rVT5@I{RA%6=Cegy5$KqTs`i65(F|t#AF`E&C)C zh;4#ggZHDY33Nyh0RzYY`fwD&D=P~Yy>DG{dVehCW611fkJ>dmVt%xx&<^vlZ_B9v|PSkifwLTbbz^&1Fc-W z9ZTh-0HS#)9DsByIMrYl)LX%~MTG(sU>OQw08H~yNPyHovSOHQ`Sqpjvs)cvpR;rGVgd})noR~}D3g7`|378w0F}OnMJOv{xxz6Cg@?BBjth)4&+XkV9 zb1iA^kA4F=#$X3TuW+Mk;an=9wH-Vi#cYSrz!k`18`^w9Vhng)zoIbm?tc|*+b>_M z!$3{coVtHyh@trggINa=FudS6Uk8K(?&3;8@+&S>hW>{S7AQxY-nVvurksZVM-(%J zLjCX1ad(39_>upSKkbAtz{eyKCVDcC0^FWMAp=@rKf#7-0oDlm1c%9iq$zM2Fm_!I zBYzhtGnj|VxPZ+5%cOrbp5;LY_j^`wrC+-ebnp@i;J1jv_wPyl63oQZ3LNGD*t)@+ zAmvAfy!@YR=a&N#M8DlY#ka(`d&%TQSFzul50-weaDM;!CSEV@M*b89|ONWX9yzGN8BMibskMaITH(sd=eFjcycr_gI4Q7t5>(bGas0~2;BE0_b&efu(RnP>*`kf zzz@b^1P+HTCnwG@=sP6%*WktG}F; zg#%0@5Mek=@S#+_78v*-xTda#)Dnp>m@snbym$n3qZ5NbH~*mLFqAkBfl7{EI?rOC zjFK@2KOk8D@0kE&0*uN4M2ub@Y-W#w1~PuYP)Z^q0XV?c;2A#4mF~^D0&)|VA9+!yC_mBzCrmy#9j>0J@OS|+6A)H> SDr72TBV+Jc!y7b)^#1_(6`N`R delta 37884 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 diff --git a/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java b/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java index a936e99f..d0a4810e 100644 --- a/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java +++ b/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java @@ -69,6 +69,7 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp public static Color LEAD_COLOR_ICON = LEAD_COLOR.darker().darker(); public static Size LEAD_THICKNESS = new Size(0.6d, SizeUnit.mm); public static Size DEFAULT_SIZE = new Size(1d, SizeUnit.in); + private static final int LEAD_RENDER_THRESHOLD = 2; protected Size length; protected Size width; @@ -203,32 +204,35 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp float leadThickness = getLeadThickness(); double leadLength = (distance - calculatePinSpacing(shapeRect)) / 2; - if (shouldShadeLeads()) { - Stroke leadStroke = ObjectCache.getInstance().fetchBasicStroke(leadThickness - 1); - Color leadColor = getLeadColorForPainting(componentState); - - Area leadArea = new Area(); - - int endX = (int) (getPoints()[0].x + Math.cos(theta) * leadLength); - int endY = (int) (getPoints()[0].y + Math.sin(theta) * leadLength); - Line2D line = new Line2D.Double(getPoints()[0].x, getPoints()[0].y, endX, endY); - leadArea.add(new Area(leadStroke.createStrokedShape(line))); - - endX = (int) (getPoints()[1].x + Math.cos(theta - Math.PI) * leadLength); - endY = (int) (getPoints()[1].y + Math.sin(theta - Math.PI) * leadLength); - line = new Line2D.Double(getPoints()[1].x, getPoints()[1].y, endX, endY); - leadArea.add(new Area(leadStroke.createStrokedShape(line))); - - g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1f)); - g2d.setColor(leadColor); - g2d.fill(leadArea); - g2d.setColor(leadColor.darker()); - g2d.draw(leadArea); - } else { - g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(leadThickness)); - Color leadColor = getLeadColorForPainting(componentState); - g2d.setColor(leadColor); - drawLeads(g2d, theta, leadLength); + // only draw leads longer than threshold + if (leadLength > LEAD_RENDER_THRESHOLD) { + if (shouldShadeLeads()) { + Stroke leadStroke = ObjectCache.getInstance().fetchBasicStroke(leadThickness - 1); + Color leadColor = getLeadColorForPainting(componentState); + + Area leadArea = new Area(); + + int endX = (int) (getPoints()[0].x + Math.cos(theta) * leadLength); + int endY = (int) (getPoints()[0].y + Math.sin(theta) * leadLength); + Line2D line = new Line2D.Double(getPoints()[0].x, getPoints()[0].y, endX, endY); + leadArea.add(new Area(leadStroke.createStrokedShape(line))); + + endX = (int) (getPoints()[1].x + Math.cos(theta - Math.PI) * leadLength); + endY = (int) (getPoints()[1].y + Math.sin(theta - Math.PI) * leadLength); + line = new Line2D.Double(getPoints()[1].x, getPoints()[1].y, endX, endY); + leadArea.add(new Area(leadStroke.createStrokedShape(line))); + + g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1f)); + g2d.setColor(leadColor); + g2d.fill(leadArea); + g2d.setColor(leadColor.darker()); + g2d.draw(leadArea); + } else { + g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(leadThickness)); + Color leadColor = getLeadColorForPainting(componentState); + g2d.setColor(leadColor); + drawLeads(g2d, theta, leadLength); + } } // g2d.setTransform(textTransform); } diff --git a/diylc/diylc-library/src/org/diylc/editor/FlexibleLeadsEditor.java b/diylc/diylc-library/src/org/diylc/editor/FlexibleLeadsEditor.java new file mode 100644 index 00000000..d42cedf0 --- /dev/null +++ b/diylc/diylc-library/src/org/diylc/editor/FlexibleLeadsEditor.java @@ -0,0 +1,103 @@ +package org.diylc.editor; + +import java.awt.Point; +import java.util.HashSet; +import java.util.Set; + +import org.diylc.common.IProjectEditor; +import org.diylc.components.AbstractCurvedComponent.PointCount; +import org.diylc.components.AbstractLeadedComponent; +import org.diylc.components.connectivity.AWG; +import org.diylc.components.connectivity.HookupWire; +import org.diylc.components.semiconductors.AbstractTransistorPackage; +import org.diylc.core.IDIYComponent; +import org.diylc.core.Project; +import org.diylc.core.measures.Size; +import org.diylc.presenter.InstantiationManager; + +public class FlexibleLeadsEditor implements IProjectEditor { + + private InstantiationManager instantiationManager; + + @Override + public Set> edit(Project project, Set> selection) { + Set> newSelection = new HashSet>(selection); + for (IDIYComponent c : selection) { + if (c instanceof AbstractLeadedComponent) + addLeads((AbstractLeadedComponent) c, project, newSelection); + } + + return newSelection; + } + + private void addLeads(AbstractLeadedComponent c, Project project, Set> newSelection) { + AbstractLeadedComponent leaded = (AbstractLeadedComponent)c; + Size l = leaded.getLength(); + // do not apply to jumpers, etc + if (l == null) + return; + + Point p1 = new Point(leaded.getControlPoint(0)); + Point p2 = new Point(leaded.getControlPoint(1)); + double d = p1.distance(p2); + double len = l.convertToPixels() + 2; + + double diff = (d - len) / 2; + + if (diff < 20) + return; + + // find the center and angle + double centerX = (p1.x + p2.x) / 2.0; + double centerY = (p1.y + p2.y) / 2.0; + double theta = Math.atan2(p2.y - p1.y, p2.x - p1.x); + // shorten the component to match the size of the body + Point newP1 = new Point((int)Math.round(centerX - Math.cos(theta) * len / 2), (int)Math.round(centerY - Math.sin(theta) * len / 2)); + Point newP2 = new Point((int)Math.round(centerX + Math.cos(theta) * len / 2), (int)Math.round(centerY + Math.sin(theta) * len / 2)); + leaded.setControlPoint(newP1, 0); + leaded.setControlPoint(newP2, 1); + + // create leads + HookupWire w1 = new HookupWire(); + w1.setGauge(AWG._26); + w1.setLeadColor(leaded.getLeadColor()); + w1.setPointCount(PointCount.THREE); + w1.setControlPoint(p1, 0); + w1.setControlPoint(new Point((int)Math.round(centerX - Math.cos(theta) * (len / 2 + diff / 2)), (int)Math.round(centerY - Math.sin(theta) * (len / 2 + diff / 2))), 1); + w1.setControlPoint(newP1, 2); + newSelection.add(w1); + + HookupWire w2 = new HookupWire(); + w2.setGauge(AWG._26); + w2.setLeadColor(leaded.getLeadColor()); + w2.setPointCount(PointCount.THREE); + w2.setControlPoint(p2, 0); + w2.setControlPoint(new Point((int)Math.round(centerX + Math.cos(theta) * (len / 2 + diff / 2)), (int)Math.round(centerY + Math.sin(theta) * (len / 2 + diff / 2))), 1); + w2.setControlPoint(newP2, 2); + newSelection.add(w2); + + // inject leads right before the component + int index = project.getComponents().indexOf(c); + project.getComponents().add(index, w1); + project.getComponents().add(index, w2); + } + + private void addLeads(AbstractTransistorPackage c, Project project, Set> newSelection) { + if (c.getFolded()) { + + } else { + + } + } + + @Override + public String getEditAction() { + return "Add Flexible Leads"; + } + + public InstantiationManager getInstantiationManager() { + if (instantiationManager == null) + instantiationManager = new InstantiationManager(); + return instantiationManager; + } +} diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index eeba5aa2514483e9f547f99a583c5cdf3c094815..d7ac09c1a4c765d582b442445b0cee8bf7917b14 100644 GIT binary patch delta 38749 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 SDr72TBV+Jc!y7b)^#1_(6`N`R delta 37884 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 diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index f466f76060ac586c281e0ee9066b70137468e8cf..db6a1d10d02744e2405c0327e96f7ff32208ec66 100644 GIT binary patch delta 63372 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 v-*UI7$Ufl}N{ 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 literal 0 HcmV?d00001 diff --git a/diylc/diylc-swing/src/org/diylc/images/pads.png b/diylc/diylc-swing/src/org/diylc/images/pads.png new file mode 100644 index 0000000000000000000000000000000000000000..aeca3c7ce022c1c6732b5f9eedf0a4c01f3353bb GIT binary patch literal 1960 zcmbVNX;2ea91pc3qC&lpQ5m-@RVZ$D6Oxc!iHHeGVgod$6&>xk+1-#WNjB_m2+(Q) z>%pL%QU;G&+No!qqKH!!R47;q^`z>kSU&i{GEgsUp)lgnzU9bh$6oHt+xPap-~0XV z{}!dCEE*R)HCQH-jWZ@2EMR^`8bN{JJ)`>%5=^5#$;$+pETmBy0c9~E(`2%d(^+e} zm~MW9pg5PDq&XWS&vAJGS|*E6$nlU=CL=;NCWCeB;I0$j!VpXA;H7FaX7=bA2b-M7 zGfVPPtW;hmh0}1tJSaYg00b^ZB%vIa(=8A=I(UGW0BdO*g`ok6n5lykC4o@7IStZt zJOioa8iZ1))KDBQS7>5YI6enbVhSyaX;DQiqRtRp}BXC}xVv@3fnlmM9JcOQS zNRi{M9OoPkRNAo0kX|nZ28W`SvTmC53DHm8VGN|m=wKzL#1Kq{D701#lLDt!#b8PT z!v>*dj%Mw-&xNW8HTDb?WDQM<u>kWk=%dDg~k?NfN;s8dKV^SOujVG#A`AaFkcdg5mr0|Gb~dv!Dt|=L_>lwJD_! zk<1Dpu(?CkvxLbSS~*#0AY%xUk}5$5Q&I{rG(5D;zOV-dX?+d`kp4qn48jD?F8WBG zNz4G=`Y)-60{u~`YzIw2|7zvH*;6Gx3?Nhq zkZ9Fz-dvKJd^sz;Dd9$!=Gf!j+xx2Fpjq#%-=NwUb~kOz+Lb%?<%J8Utc`e`5Q~E0 z!bUiG)5(!+;_MOV+~lN7CJTEg*p!JWl8P6UpLz1AH~acIr!Dm4*1m`FT@O#TEG-J! zkr=&4cI`lnx8Z8o6hQE;CsSsseQj6pLhW2Z@&<6Gy-3>;aYKk6&YoU z9v2?kbsXim$hx_Xj!#EiS|MC)3NS^FTGi`2F?ZT6e2sR6a!%>`^PgQM8UoVS>a#5c zRn@z<#7&%1T%pbEIXgcKdb59OYx}*)JvD(}e;m7d+ihca!nWMLhGiA)^?`4X{qBd# z&ep2^4{GZ=Dr@n!rh^marF>OX_08q(%z_K&Q|>p~s@m3*cOJyoa;##u(DF(D#QNg6 z{?+y~HFvMH{r1a}j_$`FtVB0@^u|NMG$ z>f&D;UVS*`&@HPeH@~$0Ehs#A-J0cFt^~DSclMs^>~u`HpD;CQC6U*d)%jETsq@?M z2O*OThDn~V>dGT~YirAo9@WU2nww`tmYyC{mWI@i_&NWz@zDos0uS$HHD0f`)>k|yZVYPru=umPx|mc@E0vpt}OS(?AaT0YK~|8 d{YNeNH?~g>54() { @@ -353,7 +367,8 @@ public class ActionFactory { @Override public void failed(Exception e) { - swingUI.showMessage("Could not open file. " + e.getMessage(), "Error", ISwingUI.ERROR_MESSAGE); + swingUI.showMessage("Could not open file. " + e.getMessage(), "Error", + ISwingUI.ERROR_MESSAGE); } }, true); } @@ -375,7 +390,8 @@ public class ActionFactory { this.presenter = new Presenter(new IView() { @Override - public int showConfirmDialog(String message, String title, int optionType, int messageType) { + public int showConfirmDialog(String message, String title, int optionType, + int messageType) { return JOptionPane.showConfirmDialog(null, message, title, optionType, messageType); } @@ -390,13 +406,14 @@ public class ActionFactory { } @Override - public boolean editProperties(List properties, Set defaultedProperties) { + public boolean editProperties(List properties, + Set defaultedProperties) { return false; } }); putValue(AbstractAction.NAME, "Import"); - putValue(AbstractAction.ACCELERATOR_KEY, - KeyStroke.getKeyStroke(KeyEvent.VK_I, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_I, + Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); putValue(AbstractAction.SMALL_ICON, IconLoader.ElementInto.getIcon()); } @@ -404,9 +421,8 @@ public class ActionFactory { public void actionPerformed(ActionEvent e) { LOG.info("ImportAction triggered"); - final File file = - DialogFactory.getInstance().showOpenDialog(FileFilterEnum.DIY.getFilter(), null, - FileFilterEnum.DIY.getExtensions()[0], null); + final File file = DialogFactory.getInstance().showOpenDialog(FileFilterEnum.DIY.getFilter(), + null, FileFilterEnum.DIY.getExtensions()[0], null); if (file != null) { swingUI.executeBackgroundTask(new ITask() { @@ -430,7 +446,8 @@ public class ActionFactory { @Override public void failed(Exception e) { - swingUI.showMessage("Could not open file. " + e.getMessage(), "Error", ISwingUI.ERROR_MESSAGE); + swingUI.showMessage("Could not open file. " + e.getMessage(), "Error", + ISwingUI.ERROR_MESSAGE); } }, true); } @@ -449,8 +466,8 @@ public class ActionFactory { this.plugInPort = plugInPort; this.swingUI = swingUI; putValue(AbstractAction.NAME, "Save"); - putValue(AbstractAction.ACCELERATOR_KEY, - KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, + Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); putValue(AbstractAction.SMALL_ICON, IconLoader.DiskBlue.getIcon()); } @@ -458,9 +475,8 @@ public class ActionFactory { public void actionPerformed(ActionEvent e) { LOG.info("SaveAction triggered"); if (plugInPort.getCurrentFileName() == null) { - final File file = - DialogFactory.getInstance().showSaveDialog(swingUI.getOwnerFrame(), FileFilterEnum.DIY.getFilter(), null, - FileFilterEnum.DIY.getExtensions()[0], null); + final File file = DialogFactory.getInstance().showSaveDialog(swingUI.getOwnerFrame(), + FileFilterEnum.DIY.getFilter(), null, FileFilterEnum.DIY.getExtensions()[0], null); if (file != null) { swingUI.executeBackgroundTask(new ITask() { @@ -476,7 +492,8 @@ 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); } }, true); } @@ -495,7 +512,8 @@ 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); } }, true); } @@ -514,19 +532,16 @@ public class ActionFactory { this.plugInPort = plugInPort; this.swingUI = swingUI; putValue(AbstractAction.NAME, "Save As"); - putValue( - AbstractAction.ACCELERATOR_KEY, - KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() - | ActionEvent.SHIFT_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, + Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | ActionEvent.SHIFT_MASK)); putValue(AbstractAction.SMALL_ICON, IconLoader.DiskBlue.getIcon()); } @Override public void actionPerformed(ActionEvent e) { LOG.info("SaveAsAction triggered"); - final File file = - DialogFactory.getInstance().showSaveDialog(swingUI.getOwnerFrame(), FileFilterEnum.DIY.getFilter(), null, - FileFilterEnum.DIY.getExtensions()[0], null); + final File file = DialogFactory.getInstance().showSaveDialog(swingUI.getOwnerFrame(), + FileFilterEnum.DIY.getFilter(), null, FileFilterEnum.DIY.getExtensions()[0], null); if (file != null) { swingUI.executeBackgroundTask(new ITask() { @@ -542,7 +557,8 @@ 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); } }, true); } @@ -565,16 +581,16 @@ 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()); + String initialFileName = null; String currentFile = plugInPort.getCurrentFileName(); if (currentFile != null) { - File cFile = new File(currentFile); + File cFile = new File(currentFile); initialFileName = cFile.getName().replaceAll("(?i)\\.diy", "") + " BOM"; } - + BomDialog dialog = DialogFactory.getInstance().createBomDialog(bom, initialFileName); dialog.setVisible(true); } @@ -589,7 +605,8 @@ public class ActionFactory { private IPlugInPort plugInPort; private String defaultSuffix; - public ExportPDFAction(IPlugInPort plugInPort, IDrawingProvider drawingProvider, ISwingUI swingUI, String defaultSuffix) { + public ExportPDFAction(IPlugInPort plugInPort, IDrawingProvider drawingProvider, + ISwingUI swingUI, String defaultSuffix) { super(); this.plugInPort = plugInPort; this.drawingProvider = drawingProvider; @@ -602,17 +619,17 @@ public class ActionFactory { @Override public void actionPerformed(ActionEvent e) { LOG.info("ExportPDFAction triggered"); - + File initialFile = null; String currentFile = plugInPort.getCurrentFileName(); if (currentFile != null) { - File cFile = new File(currentFile); - initialFile = new File(cFile.getName().replaceAll("(?i)\\.diy", "") + defaultSuffix + ".pdf"); + File cFile = new File(currentFile); + initialFile = + new File(cFile.getName().replaceAll("(?i)\\.diy", "") + defaultSuffix + ".pdf"); } - - final File file = - DialogFactory.getInstance().showSaveDialog(swingUI.getOwnerFrame(), FileFilterEnum.PDF.getFilter(), initialFile, - FileFilterEnum.PDF.getExtensions()[0], null); + + final File file = DialogFactory.getInstance().showSaveDialog(swingUI.getOwnerFrame(), + FileFilterEnum.PDF.getFilter(), initialFile, FileFilterEnum.PDF.getExtensions()[0], null); if (file != null) { swingUI.executeBackgroundTask(new ITask() { @@ -628,7 +645,8 @@ public class ActionFactory { @Override public void failed(Exception e) { - swingUI.showMessage("Could not export to PDF. " + e.getMessage(), "Error", ISwingUI.ERROR_MESSAGE); + swingUI.showMessage("Could not export to PDF. " + e.getMessage(), "Error", + ISwingUI.ERROR_MESSAGE); } }, true); } @@ -644,7 +662,8 @@ public class ActionFactory { private IPlugInPort plugInPort; private String defaultSuffix; - public ExportPNGAction(IPlugInPort plugInPort, IDrawingProvider drawingProvider, ISwingUI swingUI, String defaultSuffix) { + public ExportPNGAction(IPlugInPort plugInPort, IDrawingProvider drawingProvider, + ISwingUI swingUI, String defaultSuffix) { super(); this.plugInPort = plugInPort; this.drawingProvider = drawingProvider; @@ -657,17 +676,17 @@ public class ActionFactory { @Override public void actionPerformed(ActionEvent e) { LOG.info("ExportPNGAction triggered"); - + File initialFile = null; String currentFile = plugInPort.getCurrentFileName(); if (currentFile != null) { - File cFile = new File(currentFile); - initialFile = new File(cFile.getName().replaceAll("(?i)\\.diy", "") + defaultSuffix + ".png"); + File cFile = new File(currentFile); + initialFile = + new File(cFile.getName().replaceAll("(?i)\\.diy", "") + defaultSuffix + ".png"); } - - final File file = - DialogFactory.getInstance().showSaveDialog(swingUI.getOwnerFrame(), FileFilterEnum.PNG.getFilter(), initialFile, - FileFilterEnum.PNG.getExtensions()[0], null); + + final File file = DialogFactory.getInstance().showSaveDialog(swingUI.getOwnerFrame(), + FileFilterEnum.PNG.getFilter(), initialFile, FileFilterEnum.PNG.getExtensions()[0], null); if (file != null) { swingUI.executeBackgroundTask(new ITask() { @@ -683,7 +702,8 @@ public class ActionFactory { @Override public void failed(Exception e) { - swingUI.showMessage("Could not export to PNG. " + e.getMessage(), "Error", ISwingUI.ERROR_MESSAGE); + swingUI.showMessage("Could not export to PNG. " + e.getMessage(), "Error", + ISwingUI.ERROR_MESSAGE); } }, true); } @@ -714,20 +734,21 @@ public class ActionFactory { } } } - + public static class ExportVariantsAction extends AbstractAction { private static final long serialVersionUID = 1L; private ISwingUI swingUI; - - private Map typeMap = new TreeMap(String.CASE_INSENSITIVE_ORDER); + + private Map typeMap = + new TreeMap(String.CASE_INSENSITIVE_ORDER); public ExportVariantsAction(ISwingUI swingUI, IPlugInPort plugInPort) { super(); this.swingUI = swingUI; putValue(AbstractAction.NAME, "Export Variants"); - + Map> componentTypes = plugInPort.getComponentTypes(); for (Map.Entry> entry : componentTypes.entrySet()) for (ComponentType type : entry.getValue()) { @@ -739,47 +760,49 @@ public class ActionFactory { @Override public void actionPerformed(ActionEvent e) { LOG.info("ExportVariantsAction triggered"); - + Map> selectedVariants; - + try { - Map> variantMap = - (Map>) ConfigurationManager.getInstance().readObject(IPlugInPort.TEMPLATES_KEY, null); + Map> variantMap = (Map>) ConfigurationManager + .getInstance().readObject(IPlugInPort.TEMPLATES_KEY, null); if (variantMap == null || variantMap.isEmpty()) { swingUI.showMessage("No variants found to export.", "Error", IView.ERROR_MESSAGE); return; } - + List types = new ArrayList(); for (String className : variantMap.keySet()) { ComponentType type = typeMap.get(className); - if (type != null) + if (type != null) types.add(type); else LOG.warn("Could not find type for: " + className); } - + Collections.sort(types, new Comparator() { - + @Override public int compare(ComponentType o1, ComponentType o2) { return o1.toString().compareToIgnoreCase(o2.toString()); - }}); - - CheckBoxListDialog dialog = new CheckBoxListDialog(swingUI.getOwnerFrame(), "Export Variants", types.toArray()); - - dialog.setVisible(true); - + } + }); + + CheckBoxListDialog dialog = + new CheckBoxListDialog(swingUI.getOwnerFrame(), "Export Variants", types.toArray()); + + dialog.setVisible(true); + if (dialog.getSelectedButtonCaption() != "OK") return; - + Object[] selected = dialog.getSelectedOptions(); - + if (selected.length == 0) { swingUI.showMessage("No variants selected for export.", "Error", IView.ERROR_MESSAGE); - return; + return; } - + selectedVariants = new HashMap>(); for (Object key : selected) { ComponentType type = (ComponentType) key; @@ -790,19 +813,19 @@ public class ActionFactory { } } catch (Exception ex) { LOG.error("Error preparing variants for export", ex); - swingUI.showMessage("Could not export variants. Please check the log for details", "Export Variants", ISwingUI.ERROR_MESSAGE); + swingUI.showMessage("Could not export variants. Please check the log for details", + "Export Variants", ISwingUI.ERROR_MESSAGE); return; } - final VariantPackage variantPkg = new VariantPackage(selectedVariants, System.getProperty("user.name")); + final VariantPackage variantPkg = + new VariantPackage(selectedVariants, System.getProperty("user.name")); - File initialFile = - new File(variantPkg.getOwner() == null ? "variants.xml" : ("variants by " - + variantPkg.getOwner().toLowerCase() + ".xml")); + File initialFile = new File(variantPkg.getOwner() == null ? "variants.xml" + : ("variants by " + variantPkg.getOwner().toLowerCase() + ".xml")); - final File file = - DialogFactory.getInstance().showSaveDialog(swingUI.getOwnerFrame(), FileFilterEnum.XML.getFilter(), - initialFile, FileFilterEnum.XML.getExtensions()[0], null); + final File file = DialogFactory.getInstance().showSaveDialog(swingUI.getOwnerFrame(), + FileFilterEnum.XML.getFilter(), initialFile, FileFilterEnum.XML.getExtensions()[0], null); if (file != null) { swingUI.executeBackgroundTask(new ITask() { @@ -832,13 +855,14 @@ public class ActionFactory { @Override public void failed(Exception e) { - swingUI.showMessage("Could not export variants: " + e.getMessage(), "Error", ISwingUI.ERROR_MESSAGE); + swingUI.showMessage("Could not export variants: " + e.getMessage(), "Error", + ISwingUI.ERROR_MESSAGE); } }, true); } } } - + public static class ImportVariantsAction extends AbstractAction { private static final long serialVersionUID = 1L; @@ -857,9 +881,8 @@ public class ActionFactory { public void actionPerformed(ActionEvent e) { LOG.info("ImportVariantsAction triggered"); - final File file = - DialogFactory.getInstance().showOpenDialog(FileFilterEnum.XML.getFilter(), - null, FileFilterEnum.XML.getExtensions()[0], null, swingUI.getOwnerFrame()); + final File file = DialogFactory.getInstance().showOpenDialog(FileFilterEnum.XML.getFilter(), + null, FileFilterEnum.XML.getExtensions()[0], null, swingUI.getOwnerFrame()); if (file != null) { swingUI.executeBackgroundTask(new ITask() { @@ -871,19 +894,20 @@ public class ActionFactory { @Override public void complete(Integer result) { - swingUI.showMessage(result + " variant(s) imported from \"" + file.getName() + "\".", "Success", - ISwingUI.INFORMATION_MESSAGE); + swingUI.showMessage(result + " variant(s) imported from \"" + file.getName() + "\".", + "Success", ISwingUI.INFORMATION_MESSAGE); } @Override public void failed(Exception e) { - swingUI.showMessage("Could not import variants: " + e.getMessage(), "Error", ISwingUI.ERROR_MESSAGE); + swingUI.showMessage("Could not import variants: " + e.getMessage(), "Error", + ISwingUI.ERROR_MESSAGE); } }, true); } } } - + public static class ExportBlocksAction extends AbstractAction { private static final long serialVersionUID = 1L; @@ -901,59 +925,63 @@ public class ActionFactory { @Override public void actionPerformed(ActionEvent e) { LOG.info("ExportBuildingBlocksAction triggered"); - + Map>> selectedBlocks; - + try { Map>> blocks = - (Map>>) ConfigurationManager.getInstance().readObject(IPlugInPort.BLOCKS_KEY, null); + (Map>>) ConfigurationManager.getInstance() + .readObject(IPlugInPort.BLOCKS_KEY, null); if (blocks == null || blocks.isEmpty()) { swingUI.showMessage("No building blocks found to export.", "Error", IView.ERROR_MESSAGE); return; } - + String[] options = blocks.keySet().toArray(new String[0]); - + Arrays.sort(options, new Comparator() { - + @Override public int compare(String o1, String o2) { return o1.compareToIgnoreCase(o2); - }}); - - CheckBoxListDialog dialog = new CheckBoxListDialog(swingUI.getOwnerFrame(), "Export Building Blocks", options); - - dialog.setVisible(true); - + } + }); + + CheckBoxListDialog dialog = + new CheckBoxListDialog(swingUI.getOwnerFrame(), "Export Building Blocks", options); + + dialog.setVisible(true); + if (dialog.getSelectedButtonCaption() != "OK") return; - + Object[] selected = dialog.getSelectedOptions(); - + if (selected.length == 0) { - swingUI.showMessage("No building blocks selected for export.", "Error", IView.ERROR_MESSAGE); - return; + swingUI.showMessage("No building blocks selected for export.", "Error", + IView.ERROR_MESSAGE); + return; } - + selectedBlocks = new HashMap>>(); for (Object key : selected) { selectedBlocks.put(key.toString(), blocks.get(key)); } } catch (Exception ex) { LOG.error("Error preparing building blocks for export", ex); - swingUI.showMessage("Could not export building blocks. Please check the log for details", "Export Building Blocks", ISwingUI.ERROR_MESSAGE); + swingUI.showMessage("Could not export building blocks. Please check the log for details", + "Export Building Blocks", ISwingUI.ERROR_MESSAGE); return; } - - final BuildingBlockPackage variantPkg = new BuildingBlockPackage(selectedBlocks, System.getProperty("user.name")); - File initialFile = - new File(variantPkg.getOwner() == null ? "building blocks.xml" : ("building blocks by " - + variantPkg.getOwner().toLowerCase() + ".xml")); + final BuildingBlockPackage variantPkg = + new BuildingBlockPackage(selectedBlocks, System.getProperty("user.name")); - final File file = - DialogFactory.getInstance().showSaveDialog(swingUI.getOwnerFrame(), FileFilterEnum.XML.getFilter(), - initialFile, FileFilterEnum.XML.getExtensions()[0], null); + File initialFile = new File(variantPkg.getOwner() == null ? "building blocks.xml" + : ("building blocks by " + variantPkg.getOwner().toLowerCase() + ".xml")); + + final File file = DialogFactory.getInstance().showSaveDialog(swingUI.getOwnerFrame(), + FileFilterEnum.XML.getFilter(), initialFile, FileFilterEnum.XML.getExtensions()[0], null); if (file != null) { swingUI.executeBackgroundTask(new ITask() { @@ -977,19 +1005,20 @@ public class ActionFactory { @Override public void complete(Void result) { - swingUI.showMessage("Building blocks exported to \"" + file.getName() + "\".", "Success", - ISwingUI.INFORMATION_MESSAGE); + swingUI.showMessage("Building blocks exported to \"" + file.getName() + "\".", + "Success", ISwingUI.INFORMATION_MESSAGE); } @Override public void failed(Exception e) { - swingUI.showMessage("Could not export building blocks: " + e.getMessage(), "Error", ISwingUI.ERROR_MESSAGE); + swingUI.showMessage("Could not export building blocks: " + e.getMessage(), "Error", + ISwingUI.ERROR_MESSAGE); } }, true); } } } - + public static class ImportBlocksAction extends AbstractAction { private static final long serialVersionUID = 1L; @@ -1007,11 +1036,10 @@ public class ActionFactory { @Override public void actionPerformed(ActionEvent e) { LOG.info("ImportBlocksAction triggered"); - - final File file = - DialogFactory.getInstance().showOpenDialog(FileFilterEnum.XML.getFilter(), - null, FileFilterEnum.XML.getExtensions()[0], null, swingUI.getOwnerFrame()); + + final File file = DialogFactory.getInstance().showOpenDialog(FileFilterEnum.XML.getFilter(), + null, FileFilterEnum.XML.getExtensions()[0], null, swingUI.getOwnerFrame()); if (file != null) { swingUI.executeBackgroundTask(new ITask() { @@ -1023,13 +1051,15 @@ public class ActionFactory { @Override public void complete(Integer result) { - swingUI.showMessage(result + " building block(s) imported from \"" + file.getName() + "\".", "Success", + swingUI.showMessage( + result + " building block(s) imported from \"" + file.getName() + "\".", "Success", ISwingUI.INFORMATION_MESSAGE); } @Override public void failed(Exception e) { - swingUI.showMessage("Could not import building blocks: " + e.getMessage(), "Error", ISwingUI.ERROR_MESSAGE); + swingUI.showMessage("Could not import building blocks: " + e.getMessage(), "Error", + ISwingUI.ERROR_MESSAGE); } }, true); } @@ -1074,15 +1104,16 @@ public class ActionFactory { this.clipboard = clipboard; this.clipboardOwner = clipboardOwner; putValue(AbstractAction.NAME, "Cut"); - putValue(AbstractAction.ACCELERATOR_KEY, - KeyStroke.getKeyStroke(KeyEvent.VK_X, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_X, + Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); putValue(AbstractAction.SMALL_ICON, IconLoader.Cut.getIcon()); } @Override public void actionPerformed(ActionEvent e) { LOG.info("Cut triggered"); - clipboard.setContents(new ComponentTransferable(cloneComponents(plugInPort.getSelectedComponents())), + clipboard.setContents( + new ComponentTransferable(cloneComponents(plugInPort.getSelectedComponents())), clipboardOwner); plugInPort.deleteSelectedComponents(); } @@ -1100,8 +1131,8 @@ public class ActionFactory { this.plugInPort = plugInPort; this.clipboard = clipboard; putValue(AbstractAction.NAME, "Paste"); - putValue(AbstractAction.ACCELERATOR_KEY, - KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_V, + Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); putValue(AbstractAction.SMALL_ICON, IconLoader.Paste.getIcon()); } @@ -1112,7 +1143,8 @@ public class ActionFactory { try { List> components = (List>) clipboard.getData(ComponentTransferable.listFlavor); - plugInPort.pasteComponents(cloneComponents(components), false, ConfigurationManager.getInstance().readBoolean(Presenter.RENUMBER_ON_PASTE_KEY, true)); + plugInPort.pasteComponents(cloneComponents(components), false, + ConfigurationManager.getInstance().readBoolean(Presenter.RENUMBER_ON_PASTE_KEY, true)); } catch (Exception ex) { LOG.error("Coule not paste.", ex); } @@ -1133,15 +1165,16 @@ public class ActionFactory { this.clipboard = clipboard; this.clipboardOwner = clipboardOwner; putValue(AbstractAction.NAME, "Copy"); - putValue(AbstractAction.ACCELERATOR_KEY, - KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_C, + Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); putValue(AbstractAction.SMALL_ICON, IconLoader.Copy.getIcon()); } @Override public void actionPerformed(ActionEvent e) { LOG.info("Copy triggered"); - clipboard.setContents(new ComponentTransferable(cloneComponents(plugInPort.getSelectedComponents())), + clipboard.setContents( + new ComponentTransferable(cloneComponents(plugInPort.getSelectedComponents())), clipboardOwner); } } @@ -1157,8 +1190,8 @@ public class ActionFactory { super(); this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Duplicate"); - putValue(AbstractAction.ACCELERATOR_KEY, - KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_D, + Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); putValue(AbstractAction.SMALL_ICON, IconLoader.DocumentsGear.getIcon()); } @@ -1195,8 +1228,8 @@ public class ActionFactory { super(); this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Select All"); - putValue(AbstractAction.ACCELERATOR_KEY, - KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_A, + Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); putValue(AbstractAction.SMALL_ICON, IconLoader.Selection.getIcon()); } @@ -1217,8 +1250,8 @@ public class ActionFactory { super(); this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Group Selection"); - putValue(AbstractAction.ACCELERATOR_KEY, - KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_G, + Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); putValue(AbstractAction.SMALL_ICON, IconLoader.Group.getIcon()); } @@ -1239,8 +1272,8 @@ public class ActionFactory { super(); this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Ungroup Selection"); - putValue(AbstractAction.ACCELERATOR_KEY, - KeyStroke.getKeyStroke(KeyEvent.VK_U, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, + Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); putValue(AbstractAction.SMALL_ICON, IconLoader.Ungroup.getIcon()); } @@ -1277,7 +1310,8 @@ public class ActionFactory { // Save default values. for (PropertyWrapper property : editor.getDefaultedProperties()) { if (property.getValue() != null) { - plugInPort.setDefaultPropertyValue(Project.class, property.getName(), property.getValue()); + plugInPort.setDefaultPropertyValue(Project.class, property.getName(), + property.getValue()); } } } @@ -1294,8 +1328,8 @@ public class ActionFactory { this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Nudge"); putValue(AbstractAction.SMALL_ICON, IconLoader.FitToSize.getIcon()); - putValue(AbstractAction.ACCELERATOR_KEY, - KeyStroke.getKeyStroke(KeyEvent.VK_Q, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_Q, + Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); } @Override @@ -1311,8 +1345,8 @@ public class ActionFactory { n.setyOffset(new Size(0d, SizeUnit.in)); } List properties = plugInPort.getProperties(n); - PropertyEditorDialog editor = - DialogFactory.getInstance().createPropertyEditorDialog(properties, "Nudge Selection", false); + PropertyEditorDialog editor = DialogFactory.getInstance() + .createPropertyEditorDialog(properties, "Nudge Selection", false); editor.setVisible(true); if (ButtonDialog.OK.equals(editor.getSelectedButtonCaption())) { plugInPort.applyProperties(n, properties); @@ -1331,8 +1365,8 @@ public class ActionFactory { super(); this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Edit Selection"); - putValue(AbstractAction.ACCELERATOR_KEY, - KeyStroke.getKeyStroke(KeyEvent.VK_E, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, + Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); putValue(AbstractAction.SMALL_ICON, IconLoader.EditComponent.getIcon()); } @@ -1385,8 +1419,8 @@ public class ActionFactory { @Override public void actionPerformed(ActionEvent e) { LOG.info("Save as template triggered"); - String templateName = - JOptionPane.showInputDialog(null, "Variant name:", "Save as Variant", JOptionPane.PLAIN_MESSAGE); + String templateName = JOptionPane.showInputDialog(null, "Variant name:", "Save as Variant", + JOptionPane.PLAIN_MESSAGE); if (templateName != null && !templateName.trim().isEmpty()) { plugInPort.saveSelectedComponentAsVariant(templateName); } @@ -1409,8 +1443,8 @@ public class ActionFactory { @Override public void actionPerformed(ActionEvent e) { LOG.info("Save as building block triggered"); - String templateName = - JOptionPane.showInputDialog(null, "Block name:", "Save as Building Block", JOptionPane.PLAIN_MESSAGE); + String templateName = JOptionPane.showInputDialog(null, "Block name:", + "Save as Building Block", JOptionPane.PLAIN_MESSAGE); if (templateName != null && !templateName.trim().isEmpty()) { plugInPort.saveSelectionAsBlock(templateName); } @@ -1465,11 +1499,13 @@ public class ActionFactory { if (direction > 0) { putValue(AbstractAction.NAME, "Rotate Clockwise"); putValue(AbstractAction.SMALL_ICON, IconLoader.RotateCW.getIcon()); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, ActionEvent.ALT_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, + KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, ActionEvent.ALT_MASK)); } else { putValue(AbstractAction.NAME, "Rotate Counterclockwise"); putValue(AbstractAction.SMALL_ICON, IconLoader.RotateCCW.getIcon()); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, ActionEvent.ALT_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, + KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, ActionEvent.ALT_MASK)); } } @@ -1494,11 +1530,13 @@ public class ActionFactory { if (direction == IComponentTransformer.HORIZONTAL) { putValue(AbstractAction.NAME, "Mirror Horizontally"); putValue(AbstractAction.SMALL_ICON, IconLoader.FlipHorizontal.getIcon()); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_H, ActionEvent.ALT_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, + KeyStroke.getKeyStroke(KeyEvent.VK_H, ActionEvent.ALT_MASK)); } else { putValue(AbstractAction.NAME, "Mirror Vertically"); putValue(AbstractAction.SMALL_ICON, IconLoader.FlipVertical.getIcon()); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.ALT_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, + KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.ALT_MASK)); } } @@ -1520,7 +1558,8 @@ public class ActionFactory { this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Send Backward"); putValue(AbstractAction.SMALL_ICON, IconLoader.Back.getIcon()); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, ActionEvent.ALT_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, + KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, ActionEvent.ALT_MASK)); } @Override @@ -1541,7 +1580,8 @@ public class ActionFactory { this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Bring Forward"); putValue(AbstractAction.SMALL_ICON, IconLoader.Front.getIcon()); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_UP, ActionEvent.ALT_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, + KeyStroke.getKeyStroke(KeyEvent.VK_UP, ActionEvent.ALT_MASK)); } @Override @@ -1550,7 +1590,7 @@ public class ActionFactory { plugInPort.bringSelectionToFront(); } } - + public static class FindAction extends AbstractAction { private static final long serialVersionUID = 1L; @@ -1564,7 +1604,8 @@ public class ActionFactory { this.swingUI = swingUI; putValue(AbstractAction.NAME, "Find"); putValue(AbstractAction.SMALL_ICON, IconLoader.SearchBox.getIcon()); - putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F, ActionEvent.CTRL_MASK)); + putValue(AbstractAction.ACCELERATOR_KEY, + KeyStroke.getKeyStroke(KeyEvent.VK_F, ActionEvent.CTRL_MASK)); } @Override @@ -1572,17 +1613,38 @@ public class ActionFactory { LOG.info("Find triggered"); FindDialog dialog = DialogFactory.getInstance().createFindDialog(); dialog.setVisible(true); - + if (dialog.getSelectedButtonCaption() == FindDialog.OK) { String criteria = dialog.getCriteria(); plugInPort.selectMatching(criteria); if (plugInPort.getSelectedComponents().size() == 0) { - swingUI.showMessage("No matching components found.", "Find", ISwingUI.INFORMATION_MESSAGE); + swingUI.showMessage("No matching components found.", "Find", + ISwingUI.INFORMATION_MESSAGE); } } } } + public static class FlexibleLeadsAction extends AbstractAction { + + private static final long serialVersionUID = 1L; + + private IPlugInPort plugInPort; + + public FlexibleLeadsAction(IPlugInPort plugInPort) { + super(); + this.plugInPort = plugInPort; + putValue(AbstractAction.NAME, "Add Flexible Leads"); + putValue(AbstractAction.SMALL_ICON, IconLoader.FlexibleLeads.getIcon()); + } + + @Override + public void actionPerformed(ActionEvent e) { + LOG.info("Add Flexible Leads triggered"); + plugInPort.applyEditor(new FlexibleLeadsEditor()); + } + } + public static class ConfigAction extends AbstractAction { private static final long serialVersionUID = 1L; @@ -1591,31 +1653,35 @@ public class ActionFactory { private String configKey; private String tipKey; - public ConfigAction(IPlugInPort plugInPort, String title, String configKey, boolean defaultValue, String tipKey) { + public ConfigAction(IPlugInPort plugInPort, String title, String configKey, + boolean defaultValue, String tipKey) { super(); this.plugInPort = plugInPort; this.configKey = configKey; this.tipKey = tipKey; 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)); ConfigurationManager.getInstance().addConfigListener(configKey, new IConfigListener() { - + @Override public void valueChanged(String key, Object value) { - putValue(AbstractAction.SELECTED_KEY, (Boolean)value); + putValue(AbstractAction.SELECTED_KEY, (Boolean) value); } }); } - public ConfigAction(IPlugInPort plugInPort, String title, String configKey, boolean defaultValue) { + public ConfigAction(IPlugInPort plugInPort, String title, String configKey, + boolean defaultValue) { this(plugInPort, title, configKey, defaultValue, null); } @Override public void actionPerformed(ActionEvent e) { LOG.info(getValue(AbstractAction.NAME) + " triggered"); - ConfigurationManager.getInstance().writeValue(configKey, getValue(AbstractAction.SELECTED_KEY)); + ConfigurationManager.getInstance().writeValue(configKey, + getValue(AbstractAction.SELECTED_KEY)); if ((Boolean) getValue(AbstractAction.SELECTED_KEY) && tipKey != null && !ConfigurationManager.getInstance().readBoolean(tipKey + ".dismissed", false)) { DialogFactory.getInstance().createInfoDialog(tipKey).setVisible(true); @@ -1623,19 +1689,20 @@ public class ActionFactory { plugInPort.refresh(); } } - + public static class ToggleAction extends AbstractAction { private static final long serialVersionUID = 1L; - private String configKey; + private String configKey; public ToggleAction(String title, String configKey, String groupName, String defaultValue) { super(); this.configKey = configKey; putValue(AbstractAction.NAME, title); putValue(IView.RADIO_BUTTON_GROUP_KEY, groupName); - putValue(AbstractAction.SELECTED_KEY, ConfigurationManager.getInstance().readString(configKey, defaultValue).equalsIgnoreCase(title)); + putValue(AbstractAction.SELECTED_KEY, ConfigurationManager.getInstance() + .readString(configKey, defaultValue).equalsIgnoreCase(title)); } @Override @@ -1658,7 +1725,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 @@ -1680,10 +1748,8 @@ public class ActionFactory { putValue(AbstractAction.NAME, browserType); putValue(IView.RADIO_BUTTON_GROUP_KEY, "componentBrowser"); - putValue( - AbstractAction.SELECTED_KEY, - browserType.equals(ConfigurationManager.getInstance().readString(ConfigPlugin.COMPONENT_BROWSER, - ConfigPlugin.SEARCHABLE_TREE))); + putValue(AbstractAction.SELECTED_KEY, browserType.equals(ConfigurationManager.getInstance() + .readString(ConfigPlugin.COMPONENT_BROWSER, ConfigPlugin.SEARCHABLE_TREE))); } @Override @@ -1714,11 +1780,11 @@ public class ActionFactory { plugInPort.renumberSelectedComponents(xAxisFirst); } } - + public static class GenerateNetlistAction extends AbstractAction { - + private static final long serialVersionUID = 1L; - + private IPlugInPort plugInPort; private ISwingUI swingUI; @@ -1741,61 +1807,67 @@ public class ActionFactory { @Override public void failed(Exception e) { - swingUI.showMessage("Failed to generate the netlist: " + e.getMessage(), "DIYLC Netlist", ISwingUI.INFORMATION_MESSAGE); + swingUI.showMessage("Failed to generate the netlist: " + e.getMessage(), "DIYLC Netlist", + ISwingUI.INFORMATION_MESSAGE); } @Override public void complete(List res) { if (res == null) { - swingUI.showMessage("The generated netlist is empty, nothing to show.", "DIYLC Netlist", ISwingUI.INFORMATION_MESSAGE); + swingUI.showMessage("The generated netlist is empty, nothing to show.", "DIYLC Netlist", + ISwingUI.INFORMATION_MESSAGE); return; } StringBuilder sb = new StringBuilder(""); - - for (Netlist netlist : res) { - sb.append("

Switch configuration: "). - append(netlist.getSwitchSetup()).append("

Connected node groups:
"); + + for (Netlist netlist : res) { + sb.append("

Switch configuration: ").append(netlist.getSwitchSetup()) + .append("

Connected node groups:
"); for (Group v : netlist.getSortedGroups()) { - sb.append("  ").append(v.getSortedNodes()).append("
"); + sb.append("  ").append(v.getSortedNodes()).append("
"); } sb.append("



"); } sb.append(""); - new TextDialog(swingUI.getOwnerFrame().getRootPane(), sb.toString(), "DIYLC Netlist", new Dimension(800, 600)).setVisible(true); - } + new TextDialog(swingUI.getOwnerFrame().getRootPane(), sb.toString(), "DIYLC Netlist", + new Dimension(800, 600)).setVisible(true); + } }, true); - } + } } - + public static class SummarizeNetlistAction extends AbstractAction { - + private static final long serialVersionUID = 1L; - + private IPlugInPort plugInPort; private ISwingUI swingUI; private INetlistAnalyzer summarizer; - public SummarizeNetlistAction(IPlugInPort plugInPort, ISwingUI swingUI, INetlistAnalyzer summarizer) { + public SummarizeNetlistAction(IPlugInPort plugInPort, ISwingUI swingUI, + INetlistAnalyzer summarizer) { super(); this.plugInPort = plugInPort; this.swingUI = swingUI; this.summarizer = summarizer; - putValue(AbstractAction.NAME, summarizer.getName()); - putValue(AbstractAction.SMALL_ICON, Enum.valueOf(IconLoader.class, summarizer.getIconName()).getIcon()); + putValue(AbstractAction.NAME, summarizer.getName()); + putValue(AbstractAction.SMALL_ICON, + Enum.valueOf(IconLoader.class, summarizer.getIconName()).getIcon()); } @Override public void actionPerformed(ActionEvent e) { - + swingUI.executeBackgroundTask(new ITask>() { @Override public List doInBackground() throws Exception { List netlists = plugInPort.extractNetlists(true); if (netlists == null || netlists.isEmpty()) { - throw new Exception("The generated netlist is empty, nothing to show."); + throw new Exception("The generated netlist is empty, nothing to show."); } - + return summarizer.summarize(netlists, null); } @@ -1807,32 +1879,32 @@ public class ActionFactory { @Override public void complete(List res) { if (res == null) { - swingUI.showMessage("The generated summary is empty, nothing to show.", summarizer.getName(), ISwingUI.INFORMATION_MESSAGE); + swingUI.showMessage("The generated summary is empty, nothing to show.", + summarizer.getName(), ISwingUI.INFORMATION_MESSAGE); return; } StringBuilder sb = new StringBuilder(""); - - for (Summary summary : res) { - sb.append("

"); - + + for (Summary summary : res) { + sb.append("

"); + if (res.size() > 1) - sb.append("Switch configuration: "). - append(summary.getNetlist().getSwitchSetup()). - append("

"); - + sb.append("Switch configuration: ").append(summary.getNetlist().getSwitchSetup()) + .append("

"); + sb.append(summary.getSummary()); - + sb.append("


"); - + if (res.size() > 1) sb.append("
"); } sb.append(""); - new TextDialog(swingUI.getOwnerFrame().getRootPane(), sb.toString(), summarizer.getName(), new Dimension(800, 600)).setVisible(true); - } + new TextDialog(swingUI.getOwnerFrame().getRootPane(), sb.toString(), summarizer.getName(), + new Dimension(800, 600)).setVisible(true); + } }, true); - } + } } } 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 1533ce01..ecb5a21f 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 @@ -103,6 +103,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { private ActionFactory.RotateSelectionAction rotateCounterclockwiseAction; private ActionFactory.MirrorSelectionAction mirrorHorizontallyAction; private ActionFactory.MirrorSelectionAction mirrorVerticallyAction; + private ActionFactory.FlexibleLeadsAction flexibleLeadsAction; private IPlugInPort plugInPort; private ISwingUI swingUI; @@ -289,6 +290,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { getRotateCounterclockwiseAction().setEnabled(enabled); getMirrorHorizontallyAction().setEnabled(enabled); getMirrorVerticallyAction().setEnabled(enabled); + getFlexibleLeadsAction().setEnabled(enabled); getSaveAsTemplateAction() .setEnabled(plugInPort.getSelectedComponents().size() == 1); @@ -453,6 +455,8 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { popupMenu.add(getSaveAsBlockAction()); popupMenu.add(getExpandMenu()); popupMenu.addSeparator(); + popupMenu.add(getFlexibleLeadsAction()); + popupMenu.addSeparator(); popupMenu.add(ActionFactory.getInstance().createEditProjectAction(plugInPort)); } return popupMenu; @@ -630,6 +634,12 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { } return mirrorVerticallyAction; } + + public ActionFactory.FlexibleLeadsAction getFlexibleLeadsAction() { + if (flexibleLeadsAction == null) + flexibleLeadsAction = ActionFactory.getInstance().createFlexibleLeadsAction(plugInPort); + return flexibleLeadsAction; + } public ActionFactory.SaveAsTemplateAction getSaveAsTemplateAction() { if (saveAsTemplateAction == null) { diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java index 79050b43..b944a8e9 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java @@ -21,24 +21,24 @@ */ package org.diylc.swing.plugins.edit; -import java.awt.Toolkit; -import java.awt.datatransfer.Clipboard; -import java.awt.datatransfer.ClipboardOwner; -import java.awt.datatransfer.FlavorEvent; -import java.awt.datatransfer.FlavorListener; -import java.awt.datatransfer.Transferable; -import java.util.EnumSet; - -import org.diylc.appframework.undo.IUndoListener; -import org.diylc.appframework.undo.UndoHandler; -import org.diylc.common.EventType; -import org.diylc.common.IComponentTransformer; -import org.diylc.common.IPlugIn; -import org.diylc.common.IPlugInPort; -import org.diylc.core.ExpansionMode; -import org.diylc.core.Project; -import org.diylc.images.IconLoader; -import org.diylc.swing.ActionFactory; +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.ClipboardOwner; +import java.awt.datatransfer.FlavorEvent; +import java.awt.datatransfer.FlavorListener; +import java.awt.datatransfer.Transferable; +import java.util.EnumSet; + +import org.diylc.appframework.undo.IUndoListener; +import org.diylc.appframework.undo.UndoHandler; +import org.diylc.common.EventType; +import org.diylc.common.IComponentTransformer; +import org.diylc.common.IPlugIn; +import org.diylc.common.IPlugInPort; +import org.diylc.core.ExpansionMode; +import org.diylc.core.Project; +import org.diylc.images.IconLoader; +import org.diylc.swing.ActionFactory; import org.diylc.swing.ISwingUI; public class EditMenuPlugin implements IPlugIn, ClipboardOwner { @@ -75,7 +75,8 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner { private ActionFactory.RotateSelectionAction rotateCounterClockwiseAction; private ActionFactory.MirrorSelectionAction mirrorHorizontallyAction; private ActionFactory.MirrorSelectionAction mirrorVerticallyAction; - private ActionFactory.FindAction findAction; + private ActionFactory.FindAction findAction; + private ActionFactory.FlexibleLeadsAction flexibleLeadsAction; private UndoHandler undoHandler; @@ -268,6 +269,12 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner { if (findAction == null) findAction = ActionFactory.getInstance().createFindAction(plugInPort, swingUI); return findAction; + } + + public ActionFactory.FlexibleLeadsAction getFlexibleLeadsAction() { + if (flexibleLeadsAction == null) + flexibleLeadsAction = ActionFactory.getInstance().createFlexibleLeadsAction(plugInPort); + return flexibleLeadsAction; } @Override @@ -311,6 +318,8 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner { swingUI.injectMenuAction(getExpandSelectionAllAction(), EXPAND_TITLE); swingUI.injectMenuAction(getExpandSelectionImmediateAction(), EXPAND_TITLE); swingUI.injectMenuAction(getExpandSelectionSameTypeAction(), EXPAND_TITLE); + swingUI.injectMenuAction(null, EDIT_TITLE); + swingUI.injectMenuAction(getFlexibleLeadsAction(), EDIT_TITLE); swingUI.injectMenuAction(null, EDIT_TITLE); swingUI.injectMenuAction(actionFactory.createEditProjectAction(plugInPort), EDIT_TITLE); @@ -364,7 +373,8 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner { getMirrorHorizontallyAction().setEnabled(enabled); getMirrorVerticallyAction().setEnabled(enabled); getSaveAsTemplateAction().setEnabled(enabled); - getSaveAsBlockAction().setEnabled(enabled); + getSaveAsBlockAction().setEnabled(enabled); + getFlexibleLeadsAction().setEnabled(enabled); } // ClipboardOwner