From 4718ba659241072ba199175a82f4649f726f9625 Mon Sep 17 00:00:00 2001 From: bancika Date: Wed, 25 Mar 2020 00:16:19 +0100 Subject: [PATCH] update file icons scroll the main pane to center after starting --- diylc/diylc-library/lib/diylc-core.jar | Bin 297713 -> 297711 bytes diylc/diylc-swing/icons/diylc_file.ico | Bin 15086 -> 15086 bytes diylc/diylc-swing/icons/file_icon_32x32.png | Bin 1266 -> 972 bytes diylc/diylc-swing/icons/file_icon_48x48.png | Bin 2902 -> 2323 bytes diylc/diylc-swing/lib/diylc-core.jar | Bin 297713 -> 297711 bytes diylc/diylc-swing/library/main.jar | Bin 631818 -> 631818 bytes .../src/org/diylc/DIYLCStarter.java | 2 - .../src/org/diylc/swing/gui/MainFrame.java | 153 ++++++++----- .../swing/plugins/canvas/CanvasPlugin.java | 210 ++++++++++-------- 9 files changed, 211 insertions(+), 154 deletions(-) diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 0bcdb734c620bdf45aeb498b6b76b82c8ad2d667..555958dfea5b7dca202dfe96134cf81ad75dd0cd 100644 GIT binary patch delta 20042 zcmY&fWk6KV+hup@?(Poh?v(Bn=}sk-j-|UBq`ONR0ZHlZknWa7ffx4o|MGs}oH_H< z%yaMDW#cj#^E??7Sycf9jR*w=4+V9e5s%COJj;mZy?p(f$Os^R14RHW@H`{221uM3 z2f%-$Ng_6grR>lzZVV#2xovh{;_R5Omc#ecQM17J3vAyD&pK2-cbW zw*)b>|90rif)A31-s%MD%^vp)3dEnr#Q|cU;+}{6rt=5WLv*vy42b1vRCf|;fe%*jrK)W=os56RnHwFuGUYhfX=)9dgcmAotU>HqfBe@fwT`Mc`-HCfw`7Z550Iur=dJSN0bg$p=tS{8iu!J@H{V2_-Y3YC zhBg^^$6ve3o+#c+nVPH)jg{!qxA<12No5Iz2w9&#`ejK0lq~rr3Mf{zY!mLfCdot&AxrkHp>Sc3d$WlReS<~m-yXA%y)SpaMdE8vx=U z#L)zh@LvM>&%KPm*91>*YolmpGY4QpETpXfuY36#PSO_e+Pqh?YY$L_g%m|GZ-S=& z>Z6pJ_w>3S4kplW%?4ipMi9qNSHLoaWOxFeAdcxi00oG$=Lcwpkena@BZQ2E0=(Zy z>OTn}RkM90z!@TM!~pOhd-{+7h=M4gDgRrGP6nX-zfBVh6(eka-LxiPsxb!;FO?(@ zfY8jE4H$wXear>OLOi7k0qPJXtr)-n4cTtLAG#6;uk~+(QZcxIc+Gp|fXDx08Vf~X zCA@Yn8vU&ic+D_1fFelKD!TxakSM-AfFlU8?FXPh5_k*(L?EPf1mFoF+!Fv1h?mPc zKoa3?@7fLkJ&-Bi6F@wKU|ayY{>wS2C|I`kx{gIi^Iy+W8)$^)=PSTIB+dRU-~+@# z{1Ko5At_G)9|*w#0L>x93mW)(_PwUbh66GH-pCLkti*~3_f6!LoUac=e0yG`R+|8K--KjSV949y(M)0mTtRswk6(eOkaOeE9cc64>Gp7V23UOU z(G*N-o+%K&+1(omc^Wm_fZr;Abs`D`9=#<RKt;qiA{+-ifSf*bi9kh2 z4K7JQQb@|=G$0H_$xH`kLBa@T0YxFiI~NEI`{o`{{MO}Ha!>{og=Ao;08YIL|0;lf zSZ~C)3rGP8llSwj|F6nuH;@cMPJ4hekmNo6KwU@}k|7`qgeZ*yRUlK@<3Lmhsh$L4 zK}hd3FbzTs=78N0LcR#hhmgKyAUec-eht_RNfEmaOhJ81N_Pgdhu9=v0J+H_WuSwm zAW9Avh#B)u8K(hVK)im^fsPh>c|%2n_?{?N}%1v7g}-c)cVMfl#EWQ~j@J zPSyyB2OQDsEITr61YR%;DKu}6R{A`Q#Y>;@A>W*3eALtTSdUe7h^bWzS76CAdEeRO zg}bn8-A?b{1^9V;NP!_=>f_&aP@+ncX@_h+bGpU0{`l-?uf*vr%LAvC4r>- zO@Qy8p%K{lb>KcK|#T-jf1US*DHx< zYebHJ7tY_Fw{-H$6zPT^+waZd(GE=As$Nd|DK$iYJRhER{U&~SbZ)=Q=z6EkGwha=GGOJ=;Ss z-VIx7BEqmO5{Utel;zitA1HpA;dHO#y6S^92ji8$*8ObcDp0u}=*2sMYFa6pBo9b0 zlbA5>R@VsAR}zaa)$cbInM1H2<&(ZFlAR;g;ovNjj|^p9C-Onz@a7W)@^4HgH<*}l zr&y@BoVJNj#HfsmWIuaLc_hA@@Z%9e3j@pZ{A~ z12%0D2wnk9v(RGcmTGQ{b0$C~&Cy0YiAx;i+@Ni7P@XT$&9<_lU=(`*< zCZrSRKT^Nw`J=86Dihr>C+;pur;M;1Dz@O5A26uFE1b3<0fL&VDM zh0p%?;&aL^{qd@_z-NE9T=ez{u-nhrY`-k{K5}18ZJZklS9YQwz3~7k2YlGe)V}Vp z*Z&2DaW5QJaY1M>$TEa*^^7vj?Zz5529;%-vvDYWWSC|wAdHh$YW7S*XCf09Y5B!< z`7o587Oy6+R9kiqj#wv$-S?Wf*e0gMKU+T>-%6ZOPEQac`?3Fm62HtF0&AJmmOWSY zVK-@~hqsO=-#u!G7>Il5HjVN`d{VPcImN%<*e`>Z0ttFeylH)i@{AvW9B>*r|l5-O_d2U za)Mq)e!9%^p!>&I>3(KojxQs=UPiVXr&zjKwPPkynp4a-XpUSOqy|$UsL3=_DCFT9 z_e7rNk6u{{&`@J2n}06hkZWRfE}P*e-cc}#gy{>xK83|0h@R8Oc0{0(br$|s)u`@< z2S8O6m`~(LrE>q%DsT4weayPN9DPKOacPV#QkBWyq*b$<^{%dxmrlH}7ekMRv|a0i z57U+Qwd^33Wbsv7v~{oySm|TwX8hGAx<(>>WU%#d zEp2{d%hZD-lkkR1L0J@Bu=%ib_(kUm%v>;Xy3o1&0$cIqGRh8Co^6!23ol1a0DkVgW;-pBx>2`4^gN{LNa*;i9aNR}|6Uf~e%uKldxf zd67vVz7kY_0!@?`humSZ-ra-x@y~vS%bJV}Y72L<1oUcXi83nqNR{ zbV+)QuWILIN_q5D%!%gRjs%8wQlr!yMpo#~CDdM^Z~cpg@9w?~_(Xgj{9U|QvXCQ; zUpt>=58p@Oh`>VqE4!!wdTQ^Xzg&*J_!Pvqp zFFyJnVSw%PKjBRm_I!x~*>AS?q=fg}#1((G47GP39M3)QwTm|Y_ABk973d77`UR)w z@+!1quKQbP`NPwQ%)4Lt<0lL+QHHX^_FB_Qm`0`q#^nP8b9n-1x-LG&AIW>vGDsha zaE5zOAvL$sfDOOd8JQ+M&#d^fvoE%MfA=r(QS!d1 zH74?qu$$1$)AoJ#zbqe)yHdVyRpym|k8ItlL%~lr2vW zjG&-9b0t`rWz)83-o5XPaw3mm3ZsKr8mFM19+?L%@s=q{PC7ZJ!8%h189^Aefx;y0 zS*b$F4xkAS(are|j>2i_mW+`(59W7Vr(tg()IbQsYTm&CpoID3$s{V#d>F`wN0 zZl2tH|4e+4)WpNB7hYnVDYTR&Tc!I_Ve;W>%nm%Kyi!}`BL)C_it)81in7dT9j25Y z;#U}16%zNbRfD%~^M2KKeaEsAKz4Hfi{MC*(J9~_B!{ra%f6Gf5W#|+M~t5`^`q>3 zyZZ8DChCA2GwtC9j(K9be+SJLAe~34Aso*{cI-2m)|y<%lW-sQ2M+09a3=VRI+rEW z&U@f$3vwpDJXU=$&yyq|UHe#&X4ZjhHK zC%ET7m!7#{sTu5Wi$4c!rgnhz-` z8@ic%UPr)kbb0>F?*MJe$|SRZWZeTO(X zgJtUGw}4{&X_HF>tAjHqP6OrWohr1+g>#M*w+%jN$U%qg5uiH{ENj+WhWmv;4%nD=9ohStNt!nx_#J)!FNIpmtx9dqVtc zcik&%^jbxpC#d*^CIp0p{`O|&{yW_UIgzSzZXA=b2DGgw&Rp@zn5_MY&02Mo^uG=w z>hZ)13TMFg*RCWoSiR3$oeQK5!vz+DKdc~srB8OKYmrEcmM1~Gcd?WoRPQ!^|Qei(FC)<1|`2-Yd*bi*IC$! zrr`La@3NS;a@Q)XfPRA;-W!-3b0oMZXAwkwlpez}!V`$&$-M4|CYA1+_0?tDs4L>3 zQx9h*MXX@GR>{CbqJ0)7V6QZu9voNoyk*5M@zu5yo#zwx!_L&=^ghYw>;2xf^Z7{B zcC3S1c3Mi_Md2y?tX*B1+Dv?L^?$1vNu3J?CnZP!5*0$GKVsR$FtUSQB9+ZfG?oTO z8Xk(*0?cNM&F4yFz6K0tPGh!Ms9ss5d9z$CqKsKP+fI&{ByImD$FnhXLj;#1-pTZR zIMweIxw7euF>pg{QSazSWVDqNy*gvfdfFHG`@TfLtLBt1S_EeqA^ztY(2Fi9bo9%j za;hzWF`DmZgwRqG{Fbho<#j)rc0s%aVZFsi@t@oACVcas43Jla-4*D1dsFTT9jUnlqr)u^cS!6sTSEA5djevN|8Tl_6whgOaolT!(- zP#CeS=B=1})EwuKDhe#O$YDZ9KqG#T6b3qIX&RL3qJ$G44{5J85{AVk=WL=GrTk>c z#8`t%KdB3s&nG1Q7nNM&@7IVT)fDOJDHHAEP4Duf9sbWu=yu>tFI7I+@B#%h^U-ci zYN@@wdM1B1xKkpDtu2uK7u`li$w60OMsqz*@~D{;jGIGA+J_w0dvjrb7zy7gDo^yv zJ)_lvfh=*VUxx>TT==|T&u1o16XQtHKcqd!odrxbcn`uU1ydH=+gB{ZQXQnxS9AU} z;hmaW`1?A(+xv0x>9JGbxs<~ItG@#GTV!!@A=?gum!?G=m1v1Ja@X{!4*}cnC$R=O z@~w0wek-rUY|+K;JGv~P!-Q5an;61{9*=lA7D%YeRfX{4wPq`dX}g;7Sklg$Rc$$> zC0k|D?I{$srF|>1SulzI;F}0c1DLTL7(gj>Kd*z z?1Ae0W8BP`rP6@27(!P^mMo3M+qy--i|c1>o`i0OU{quN+29g}g-uQZzLWj0I4q7! z9{IKFQXbQod2+3R1^FeK8i<7AGSRCB2pe8Btc7yvpmiP-R-)%|qK`4{LxR1?mS9*PEr#B3WGOs`g zZbi0vED6n>7QEWx*^Yf4Ui8p=EOhTypD!>s3$OfZ^!pKaLj|X!Q*9I4FJ|mK zF{E?2(x5DqRv#%(V~L-bC#R=exD;_KR+djpqWDl~{j)odoY|L!?CeXs#}6y>OI_}G zn~X0QGPNGI*rR&Jc`T`ek83#Wvt}H}20Y9nWM?($6X5S_vW?Njk$OykNf0^}sC_)tMEw-hV#`OLK zAI1jiWY{p}q{>o9ve|d!Xr?Xty|v!#vNwQ3JQW)%HPPkre0H4*CL!(cxS9DI3GNVi zx;gmQ6$$>KDU#9V??YKagPeI&5q}#P(u(!dsncch=})PqMrw3AYe>6Y4BuH{#^*C~ z7m~rrKG4J@h3OUfUJKZ%wE0LfH(zQI^x#hr^Nk@6jbtuYOYYlLxDSjUoRYdyY!=NR z<%EogFk0V(9dVdb{&&w5o#SwW4tcd$Z?SCs;!!XSxjnBWGg+#~L4Db6zvHp2CRUA#%|tvW=OTv(^MIgi^=}*}?;IdAN{+brVx9B_ zkV8y$Ju;*gnofv?j)#G6TFv>?$!3K`uzjKCQ`f40d1m*b=D0>W^G#y99oJ^bepg6d za4dMHh5F?O(ffIazey^SEkmJ1+=05>qsic()4ws#9FqpG>%&F9mSMt4OXq(3JKvSm zlgb#(q8AEMN91__kDNPuL@yx(o~xF9_S_8SQl;&ZQvUl3zrkvBkyoEO-WMUa`&3&j*gDcV2Xh_~Lz~*}Ekn8dHjn zbE6*j`n``M*K7UPE{lwxcM2hd>e-tq&K&Ql!|UGncj?Q9STxeT^Lz(x zujn-tUo;S$=v_2iRJ;4$OU_%d1+S-iaoiT5cS9uETDQha{S&?1HSdR~Wi!HiSL+it z9aOlz~2r(XBfWP|nuqUw z!3q2JM0h4xOmMm8$SIT$n$cYWk)_?5?K}&x+1Wg}!<(DB6>p6>;~a;9fYkK+ziTh6 zV7^3oFeZ2i|BcMOLrRjg%5_sm{d-J0e^HdN*{A!G<#xFkC3a@h*i`c%7*SJk{Ny) z4Jof894e4DGQq!mf>A4dFI&|#sx7SEuTLT6^jTk!)X5~DL%r1)t~(-nF)7KH?xxS% zelfDtiFi?5SJOz+h}~L+VJUS)+N>b~T7S1JLyr2B34E$WaVvfYe*k!5`-P6yp&w_x zz^>|J=2M#s9&s}1lHAT%OWpX>=s|b^ZGH5@hzaO-y;#Plr zpPb@PoAzCPHd!9rl4xh9xwR8Z$?J3&5`XG&+F_j>=RvPm5gI+G>oDflySBFZ8O}Ib z1ck(EwO`y+-mwIGMwXWci+?Z?+IzFFWS@ORi6)|GJVq=-X(+D`kctiDCp;ZISef=u znEBmDFy2WgrOY+U%H-sHA{B3imAsKNj^BOWx#S~Buc!jfTo+}ML6Ci6R6=?8F1fC1 z9W&3dheh!7$f(R*TU-Bix8xY!TK|X1PHE0RmqJ3%`+q_4{sdxuq^1~>@lYl1{2~}1 ziu5ta&Lu|8qmZenP;4z}uUuyiz1G}y)5Fuke3`E(qTG4#Y$g>NH|m#EiHm|&x^_6* z8Di{%I?U_9O`J-SH>;^Z6n6+Q+MFJv7^EuBZWo0mTm@sgX(h_dz9$`Q~^Al^b%BvIHZ0{8q5hzrN6LyG98L zcl5x~$#5<7m5BL8o>)ZaNB2n8AFfK?GwH{TWB=Aa#(Q(Vrw<7iN z*g9H39~?nS!zapb&!$;ha)zz*mt?LW_2(o0m}$Y;-BMcmw+scWLAy>^;hFFs{4(x_ zx-`!&_w08xCVUEbyRx5nBuz#bL0jM4RC?zk;ST(*0$G_}b|Tr{S->$;-HnInk2GrX>Cj*?5E}CD4n7WXgn)EqcWd ziqjtq)vB_IAHH^K1#(hujiOK8Hnom~5yIN(JujA8#|qy`Z+A*fK{%M72w`=VDlSkc z4y9uoB1py#D8O+oo*pufyubqo;8Uj0Zy``gtf;$8nF zYR-Bjy$oA&ts_^1MPNWedW^G1*FThGZSOlw0SertgoMu={9ZjHS%-$)eA7xfD+7zOkG9J|zd-ds@oYp09fodRbrRBu5b&GEE&Lkynj_0h zPGcyP54EQt)yD_lmhXbA2w}WE@k6*5o%sKF&=E?2wY<~@?k_pI9W;$uu0NYrUo>N+ z72L6k#Ir4|)6S)-8noUAZZ)ePFkPjAoosk%TR(=07ti=Z5yfjurv0AM6fpV}Ug;$A&KF%0h85$L|rFv{%YEJ9?k1RZ67%Za)$rc#fl!=N(rL%V$~-f1 zx|ZvODo^_jf!4Xa`iZZ87UjiWbkdV&&W4%Pa$QJg<($XEe?j~@!BS{)dS8;oPq$E#=krX#9%1RLkw8G9nhnwrl+WExX z;~Dg;SE*(#vhuH`Dd|!=TTTsSMun|uB$S{2QJ?R2F2?iIyu1tZOpQa~6}ZdQf8xk< z7KFJwUXZ#JpPpM)lXkkNA@!}|cr+RdAIq^xK9xl$;N=sSs1bsDE~oO)d7Yp~Ge|qG zlVh$FQ$76YGyMJZ2Z>xC=`~(gX==_s=xmDbNZ;Ji%G}V);lII1BBN!3^$Ga0w;BM? zR^g7K+aWH-m^tN(RD7ycVc@Yx>_o)I6J^4abwy}b&2U&IZqt2Uae0I8Ue(=^anC8T zz^#KQqLaTd2SJac2a~v7k7^ige^5BwL~aBCbjyyv(G6QP84C!ni)y6ITid3K8-SWL zYQC`QA?~5*@2+{<>J8m^dc@-6ZI^0cahAwJj@l>6Qq<9W z5Xwvb48E>A0y;|-cRVeAI8)8#z+!pXCktKtVY|v^br-h?#ZW48EC2^GgNFi1YqC?vrjblC_&W|j#!SHH(v|OU8G_a87o;i8 zZd&pBO;#cfa}s&z&E6D^&uH=bK|a-iRPizN@6{RZ0q}LpNRoz0@ue)!)K{%i zjs=Pt_ri)pmKd^)A{fA7nC${goxe~jk{Mft&gBUfum87REtu6&8HXu!PfX8?^6q|u zp;~8@a8flA@i7kKNx^C^ZY4sK6`4wj>0M%C8pHth4IdLu7#=p8{DoC2iO`#x+^vbg zh;csoE;oG}L2zCJ$B%k#74=I?w|h%BG!pxA=#{b|BuW;USi8)Mb@|28p@0Xs6bg={ zZhaPFxZd_a2jtDlS^AQOD81dZwK>JuWxR)?nP8bim$he6d{RxB{QY^(2ItSk3_L zKp{or26CM=A(Hc%87Qf~FB{%{9`wQ?4IanAG!))&k;(;SS6|p>^2*qG&_%LyD$6D7 zXReHzRm`bjb2+Romi^T6TLzQL%I4l-SP-ZcOX?-@9kd}8-(?q(=B+5B@=Mn2V#X4f zgdgZ^p@QelP9+w_nwUa&`j~@{q4RDvn2Ifn1rSTTiY{C)WU0jmEcod-%=5)k5Zpmr zqE+nC*fB=cRJ`PPRPP$nMn7QtKYAY4)sR-5g&z zu5O!Ur}d{xePoX5OS?U{t-1M)aZz$E#IcxTjR0odMyPNer7GY(M}!MG>F<BtFrq}a^Z6!+emNtJNc<#z^u0?z{^mW zMj^Wbxe0nd8_R~IQIU7X$_x9jb`+Dabv6@9)?w4I#1lw0JwsFY1gk9b^4El%-@xYAz}hvw)q=g)$s?0x7C#J3aQYDy)Zjt*r`tLT&d1-0~V?!$wXcG06&}L zhqS_HlCn6N4FB`2q`Hcd(cKmUYpsDX=l5r z{GNw55x;Hi#+x}98jg`6nOi3#lDc8b^`p-==Cf9LFW@8weXOlY+BW6tJ5iC=HU|Z0 zw{zD`+Fm2vZurTTO4unR(=@~-<iEZ zue?v+FL%7e`0xcsZ~aj>WV%!Ba?m1G;2cB+*6NNVmJx#Xz*RsLy6aG!DbkSVK1|xc zbE$gVyk7M#n?0XvxtJ7FcRZlyRX(a}d4{$1VvN7nqd%%cY(?|>7Ih# zNA)z~7#=4H)J$UCKe8))z4N&|->Nfr*Hcu_PSuTT0tTE{aB~AVc%J9{P#%XSN9J)0 z9;Y?AWO!i7)c7Ml=G6X<-6SF}E#Pl@i)=_erfhI1%llwgL%^`VW16BXgXJ)z!>7if z^Xq$L^rM(xmc}KX`i^C31zHy0WZe`$WKi3nLT%5c(Cvux)>$4SNZv;>5bBKTK7>xe3vGmYOG8q_b8&@E<0?b=Sh$SkONQP$K5(YLOxwYjNI&#(1(9ZbnP2{$zG zH9MATgx(Zk++@YzJPq@zSrx>%WBGJFD}BAof80=AE{h=9yw77m{O8X<7a#fShU+Q+ z3-=;+AlZ}roLQe;^v$yQ>@3&wC0{qZDBdN zns?)c@t2giYFb1$OiB5AYNB}PVrq@>^0~b)tX)h~X+Iz(+b6v%N=~l#mRM`eRp6>B2Pyw6 zeS`jYGBQ~rshC{d^M#EjgFd;|^JmFTgbEjFZDj*uTHJlK(=GA47tzldx*W^>WKXHb zsd8|#(u$596&xSow4{%5EE`}i{L@B@esE;8cPR)x0L^>L^S@T3ZQzFU1QM?%>=x59CVC>tV% zF{|FWR9h-jM)ZfjmiK$&&9Z55Vc<$&4*lDJTNX z65%=N{z>A*t6Xd$V@7*+N=smmKy+MXVzzPHputNzdReAgHujycGg=hT^jG61O&JY$ zkyUK=UX0WW_{89X<33BJWy_!+B-?h;Z3n&;ZPrF;Hj~s@5_d%N9sJh=oGKUt=pC+K zVGz|uQNE0O8a+!%mw@-h?RH7OI$IUqR3_@t(Rv{xsnpc^=h5;mRell}5Y;3%pY~_B z=L)$*JBm4kOOR{B0`X2XnfbI&oAf3lPS!ff4Qnq*Dt?)y;&ceMOx=p9Re2{WFhkoll5@zve)* z4^{T+ij)q>#Z6t^$gr=xbE24izP!$iauc|oVtqD(|3hZAa0J?{9d)9>1KsLA(k{l` zF+57BgI|1mf-UGkV`*2RGL5gCHI;!ukw+1|;$ZS0>er$DyGM3b&#}%|e631Vcb*CV+VZXejvf3Y@*uP=N%-l$DheSG6 z1Z>9`h8IihVe{mEDG$w|^)OzG{#h8FUAc08tUcW<*}1$N4a#3gxZ8JO;W$XbKzX`!j~5|ttH0WGsE7WRCP);dFWuI;>Uz*aenD89X0^k3wh)W5uu|Mr1jzcDjT zH=gnk+MOl%QWXTX^S8s`^3n9CE)}t!DL;mKskQvBpnC0cfEB61FapL?&z1g*_o$#p zQ`#0mz0S5YSjq|O_ERC=I8xGK@{dgrD@sa0^FE^uX!U67Pv_KvsiTBNwNa^gDDo;O z=W%;C$GAiQ4R1c_?D4Z5FI35Mnl5@@zviaL`o<1U!3+b}%Ru{Wc1#;>nJW(q6a!kE zHcrfXGy`{7HJy*LQ)yt}9~K9Gx2>sr$*eI3a+ zEEzag+joJ&X|pLy3}IH+v|8~wn;i+(hJ;G18^UBn6H;GCpt)pL=g$gn??1qa4o~Ft z+u2m{6=(>+4`&f)q6Bu_@d_{)ukRWE>Ieu@Fks?+WC=PcO|qt;B>F-*3sb~xMELwZ zhV6&$G5B{AGm8()-sWXGU&-&nTc)LbA0ydW%-zbEp`Nyv?Sj|06FN;l+&%qPBp>x) zauTrevG4mrs>dmQ?y*K584=OVAI(ENZQXlxZhH{q;ux>XMa6v8dr$WpiO!z<0_n zNGN)}_6eHZ%F?oY7_xOSZX#%~UM%4~RBLe;e17QN6BzmEIeW9aq%2OH8*qQ`v7{u? zx@etZ`Z`F1h^{dAZ1c-772vRU7oSTvghK_IzQ2?YTx|9(nztzs4@-ekcv^W{4T`Vt z1PH)0o!1Qi0^m?XktxxMh{C$>irv-iuB-WtP%B;t0j+)R$(g#mhwixzF6_ysr~FGAl6lQubV{ zb}roFGn9!Hm+lY&{eiLUI;8)N_7)T4_dDeor)edB3W@Kt~WTYK990Rb4=Iu{VRc~ zae-=&g7T}l?czaFWarD`_pBKnLb4!5*so=jHb@W5xGbufOL=deq6zI;1R65?JDdrY zqbtc>Qnvt2sVF5}NLe*De;ydD7>*YToe9HdfERA|l2UnjbNb$tLL?uu3a!_8Jna zXV;e&bHz0mDbu`JI4$&DS-OUER=)!S%gvF;) zgXi{7!AXmTR52Q=z1>B&tcst1+8q74^}0d+_IZ>#mB5|j)-{lDARx1{o|(^KYzJM) z1i0+f@ddx}?6S>GkZ$$c6_!sK$t-a%imfA8{JCaNG>plj>t{8|)NdIx?%jl7@%N`g zlY-bx?WCQvcaBfW*4vkJBY;uQ?Iy1VgjtWUP+CX5rf!A z8jjXjfkKuBKleP7wv8jOaV3lUO$?zXK!J4)RUb%fcr^xXn2c$%fiBDi`A%yfD7MuC z&8-Abiz|8aJ$32;iD?}%SRwrC{f%y^5=#F#)j~}C) z8Bx^*nHi6}N>85Iq>t^DVSZVo`6(Qb&e!s%^bko7e8U=3Ei&T~-~MP1o^Vb46vACM z*(<88n7#K7{2py|2YL;;@k9=Nbd_r_dS2M6diW%%fFRcCi2X=*e5Dn8j-%4pC0hzA z`6j|OcXO)kYWo4#bW6_>_DeRA>zQo&axnAkyP#*;82NwZ2u75-c`m*^&~q>Df7Pw1 zbcfZ_qk>{u2;z{9aYn!PgX=GoiGs%ucDm_LP~3p>tK3KU2dq3#3a%OA4_I4y`S7=& zlveZoGb~4a9?*HDyJsC>@xJuc_61CDiD1-jmdphxGL+A&NXwL?^qYHK`Q8EReq~qk z!?~k%6{etEvG~4lyYnK z;YCqk3lhEJ$c3QcTd+{YqSY|fstz6QWu{JQXlWq{dDmQS-HqfdkqTZfT#`2zQ8TEuzgb?2 z{SA!PPoCYEPK+!)OkXTH65s4=%HToz0#E%*rqN$d+(2P;Q|CKXJly1a3j4l_Vt0AF z33INwvd7|LQP^~9Z;Ohb6*{c$;l5Fv@#tQE#D378cQtb{K@%!|fOU8`D58;STdIZ{ z2xF6Lhr&Qrs~ZPq7HJ;hWpJVJY5$QpqEozhEE^AiCa6VdCLMn0QksvP*?gXs=dhE3 zD*Gk*A^rs^;(#pF5gmMYFqdwnubknmOB>=2#SC6#){Rzi1dw8(bU15D>ue%O7RB@ zG}+ImHc+v~WiJ=shf!j+7joA0Gops92@S%CWivR!!vp;XW_AYG9Gph=(j^Z1%n+n) z8Ed`@qTW1CEYIKz$N74%EXm>xn|+n&U9cM6`|%465jlt1mX=&uk~0)lDS`Nz+^~p4 zx53u`RD;6}+`PrS@?^y2X79rd>@>Kwip!6vCD69OEZ_%tVz@Rbw(tNW<}7pu1m;|i z=nSKSfhvZ^ME_DYvfUr^9!(#o%PR`E0ukUBj;GhS7A@T$_msHzBJpWeHk`tcIK{h3 zM5Sd-hXevco*w#EkOnvz=&)-{{6yVjU5+FE1%4m`6Puz$ow!%RSG>OnV(UrW*2@4J zQ=!FJZS3%@{BUenQSBA?+ZPC=r>8X=0r_4~=@Sk*!aBA?t8~qf5BYCs))weEXKijM zVZi%qr_|b+!kWAwRwM`xW!e^RiQG?eID~VYjzm7T68^e472)eTAj;F}x2;yhvZzw< z8l~Bl5l(abt>Sc{8>6RASPefPj@IakR}P0({@sadL;N%l3nvZkM$i{_-lvqOfUUw$ z###B?829tX@emAKW>}cNJ0K-{>Gvs0sc2g zuC}ZJ9~opEG#CP!H%#5s;$nrWt0W@*4>^>vrJv<7!cZcL_|9 z8outhWL?xU?(W4LPN%JDFd=LGrF`j&%$I~bv&7jSzc_P01XYqA+VPnPSShLRgiH^A z#$|noaOBaL__gGRwn?s-kjE*9ttT8d)7VO3X1QS+)C zR&I9$FCG+%IPzQ5K1kpdSTrcj9E1e)w|4fJ)&E>l*MSyr(=hEQAXKOI4Oy;XqZMZz zfsx{yh(%pie36yM+rH-l(Z-F*EV9#S%p4vr&QTq}pQ`nAK20jd}TN)VcKHqWYIG zPu7>=gSRw&f(loWyM3Kp$>0@$X0iUl4x~1*64u_TywjMS%-K}YDcHLX5W2=Fi9O*k zVjd%#m_tVs%v?Ip&iZi%4x#!^hb>9+9B+0o@ScBAov>zfmkJf3g#L2K!v#0&{NM0L zVYwwy%MVN_nZ_mg+H=oV5IMV2f{=7g|>y#uLUc zX}ebrx#k54Q)_wDq`%X#HI(s0D*0JANVxp5;f|P0i>M{A9Rv#Tc!A z<3`vRn3B%RoBX81=vB=cNYmFngt#UMt;-EhUs?i#omVjXg>>C^*zY5JE1?nvJgQUw zHO2(p?I5``qIPC5x;u;mnlA5Aeejz8K+&g9pL{efT{L4YJiupZOhcT-!c((Nhtn&H zKT7plCGDyRYE&zn?7o5Cc>xI-yz7asCSkKd4vgMKNUO682|=E&c9=)55&!;D;(XlC zeMCEEH81W%SS5EaRvHzWTA3aZv5w}pW4o5$PdgK9j5Ssq*3|m6>BO>sJa+$km%&?= zYuX@++)thlSr8l_&nJA>nEr0N`OhA8jLIMRwp393Ox3LiBd3#z)Ec;z<7TY~#+4sV zj;}viC-Xr*{_h+vT5tZk)lz&>tyXu{0`-u}5_M_}`LoPo!2k7dW-(D-Q5>J@K^thS zQ7A6BP*k8)qX@%}EV47~!;T=sHpn_6;{dWL0@}qkk&jekqBYp~ptQA88|xCaT5YLI zjYP#-jl>38Yi(1FB0XpRpXKGp+0VV-y%%2Yz4z>lPsMJZy77+Evz0f-^nEkUO?OQ< ztHN^2ukKxHvI#!+=`xGv)@Ynf^8v#LzyDjUTlD07+^IK$YYvV3>3gqvoc+$m^P@`J zCEJJXeLp`Kq%9sk)vw%|5&Xn7_n(pUtcOLT`aPFA#&7I++5BeDgU*Sk6R%z^d0oR- zq#xSQQ+w;X3Kosyv>*BAvGWwA+L>l6FS^KXV8&d!VZEg~I*;nDms}0bbi#Uz*2R@> zT1^w~RBydxY+gnQ)?dzhQh{7)RouPEk1t{?MP3vl?DOImNti=kq!s&gZ(1#UtR*MK zdPH5?focFnBqt2!h?RaMri8~mitqN$Y=a1N$3y&xheqisQ}W8-Z2pQ z4S}Q+`HMh`XZ8e9rij@=7|Q{be+Qvld@xms{dh2y374#*6k&tP!BvQN3qiSt5ZDJp zC{_GiLMcsX2}SvHp%|V+81nNSv1qXmgpo<;5f1;haOArdZf#R>UX8d~m8Vz3J~IM+ z7et`$kqE@wMpB;SGe%Of@OUKjGom0DN1^YNQB)vy=V&qt-;2hyjzyC}?L>Uul}Q-S`$-u0SQ7F^C4>8tNp5v3FI8rzKt7s6#iE~= zN)^KGsqi03Mc$w^$h~Q(Kbi)8m>zxg>QVPEJ@hf@n3qpfj;3SWAsOhqHv@5hWFRg& z6Z6)aiFqAU<-jb|`!EZ6N3wX?^0x8L=6PXm%I0muJd@4qfa#C}mgaCA%irX1UZ!m> zg$omNDMHwj%j<=CKNs=td0=%O@(!q+$m8|OesOCM_wgF|4XK=;&wHKirTOstG9U5J z^ZEO+KC%GydsL1T@c3CDycThtDle}^e#b(dH@24*@_aGBEkr&W1E@2=&#jivmVN_y zh|{nEO}P|da!f@S+{q#|WmgPl6r-5~#Ypz3m=_zz`;{PRYYFrhN)Yc*${&O6#!~)R z%#)?CPc4IgLK*yamGNR{`){hOH6m}T5&A(R;@&Dp{gQI@`Bgb4;bl2KR`NOwe&0Ie zeWc1E6^PqWfw*5Pkk7Rey$;N& zV>|0VtHUN4uj6=@qc-3W*|`DsdmFH+R@QUhY;UQ@Cc0h^{{?1jF0&b%=As$#vo>N= zRcyqeaA_muNW7Z`a;F7{zxo9i&W|bGWV!U%ZQQy*u z`qw)t)A}6H|Ll{VbP4)}Kb>i9cJzH!vngBbEX8tQb=KeOl z(%MZ+rO4rKa(c}{`JtQSNjBvLi<2L_lQR7sa#f76ByW5vN!!@Ts8ntvPZ9TucuYC5 Mjh0TC?M0mNKe>4PYybcN delta 20013 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 F&411&T<8D* diff --git a/diylc/diylc-swing/icons/diylc_file.ico b/diylc/diylc-swing/icons/diylc_file.ico index 351dd1db28c4039e171aab7836e8b3d47aa741bd..874e1477c99d4243bd551468ee9159cc64d701ac 100644 GIT binary patch delta 1565 zcmbu9&ubGw6vu@~cC)(^n>3}`q}e2G(`=iLt;RGF4>=V)3|J5TC`f6G)q@BM5n4s? zT3Dex57L9si{NEZ`agKeh+aJivG*1H0}^L{ByaZ6i#ZJQeV_TxyxBLiz&Mv%BC*ZkSgS@7Kql#fY3;Wtd&=NUt z6%}X#*@0lbFAJW7N|Y||yeLqd;WJ4P0cGy{5qdE2DP;A@?*rx(Il^ruQD{qCGsfqox* z=qf8f$E@2yae`r?Tdmfa&0iw)e|^8%Kcm5?F?#*~mxWYnZItPUqfJkxN6VgG^D17( zN=GX%)kTyKQsbU|HRkC<)F-J-`@Da*U1b@Pml{L;P10|t8oG2Q@MG#(Bxczr{8kF^ zG5Y}iC^{r_QU7}G#o*uIxuy~>1!Q_}sO@RwT;eQ`+|Hw)n8=xloJ*V(_O!vaU)_iA zW*xST4E!uS8Kz~$rq7Ow$Ve$*8zp4Cgz3l(rn6^|bBVKANt<%dJvmGton@~tbVi&s&1 aC4F2&zI6?CvF>a5Re$W|Ir*@9EA|i19wX`i delta 3538 zcmb_fX>1cm6jnuL2Ro*ufH(t$n}F%TQQWG3QTbu1^arR=sq&8$(MpwyL?vh?#7`;( zDSGMwEl5;VB`Pdo0)!BtkU~jfZ#cr05E2d_aRNzv#$NC4>w7c1xyo5}rO&he-h1D? znR%WW_ipRmc4WP6LoVEc$&S#|(Mh(ujG#nE6DHdkmoRnb5+>R%V4}4ilef=d|E;r_ zxOoOMt!Kb*E8nOmQB8NDnu2qBF5!~@Lt-@|-g2j(8#!TjS^ zOt)XaZ#J%lfNjBgBZJ1_H3FL1THpU`o9_4<{PuF2F~G9mv#qtWRI0NP+(qR!l=QBm zNwBqOg)n9Ag}~1yRYbhvm;^fUX^z|k zcky8KeP=1`C|+usZh(KtbO$@|Z!T(~?-0yH{(xPti$SvwrY}`#Qh55{5%=C9*{AL5V$CrQf%zTH8 zB6BlqN*SZ=x3D!>kM~+a*cQ5oH!hyVh7*3Q`)wZ_8o%t_p~z>xjmVfh>wf(nN=nwe zNciZva#u@|I6Fds8sh*wP*XuEQ<LLyjZih^(@7PGmwc!m z`vm*W@1ayrW3({uK7``@xj$;Upe*t9*mJa(hvaebdNI=YeUVyiQ}Pa z`c}uejhG2+!AMgzxMomzv<>xNJcywRSU2Nq8x1hlcodWw9(y`=2XXImaFuSi^Mpi$ z)lgaLv1hy5d4fQ(_@-mvo$0Y>x;q75In(qHodDM?k9{C6dG9RAcLk4wLVULSp73|g z-tJ)iSnvdX`!QUZwaT9Dxi7nzEkk0#li)2QsYefF7iA`|)PQRa^A82@on!K$T2P43 zJr2t*=9+x-DX5%Fd~ZbRn|zm23*LFmcS-$u(w}+Pe2+cfCwcFDlfPUC3iJJOslUMF zS$_fXiEgPs$e#x9LXTZd^ho`MmVX_%77?F(#I*(9MUszSIRgsuh2&$wyB3@L<`B{%66pg!I$W-@C-(NuPKvosjxVhxp2+q?7JPW8X?pmhRw+ zh+jSnUN_4VO=(uT$(@QO+;|dP%RElO*Y6V5x^CGvd;ZXR?7VOc6t-ph#J*tc_fUOK zg#%MQm~4bLqu#s~Q*DQ-+RtOOwHezRPs8pv-k)5cRQWO5s?n(XOw>IWr_WYu*Mpl; z3vTB3FkX=-j|Xep-pGa$lP?Zk4G8`Ftj|9I^O)oIS;jRpyOH)4z3{m6#ewXeaSip`Tq1Y@O%%Ob8Ag$zAf!SJ|pg0oh?D| zt*qFTr=L8>=+p-djNbWDKpJR5=&>e^jZS!7<2k2#(dmlL>#4CewKOjUy2BN6^gn_w zT6dHSP`0XKgPQCS>t3KS@m){UfT#to2MdzdNr(LeNRQ`2B|U+GG!_Qv@|H~^s#&V!Z diff --git a/diylc/diylc-swing/icons/file_icon_32x32.png b/diylc/diylc-swing/icons/file_icon_32x32.png index 7b6b58f4143efce16084d2fdbe892886b5f8f4e0..f876b0d4c26b4b3fa22e60c1d76fa8388462c134 100644 GIT binary patch delta 900 zcmV-~1AF}P3CstOReu9vNkl663H0}mP7zJP?IX&z6UyEBaj>3F!Hytdm^0r>e zDR9@ID-$iI2!G>2rStT#n%T~$VD?NC>qS$3@j2^-Q;@s#13b+K;9YPE=AMmB1;-!u zEPkDtz{AUE!tk1ISsVeYIP>gKVh8Y4?EqI}OJ!~S(d*f{MLY3O2AVJu+!Ym8_5Vwr zeG_;JGN3Fc9jY6=P}+Q`!n?oY@>YkFL~KTj62S>jX@8wXRZDp{K?SkL=Zdh@a!m6VHvMOqzxWu))roOEo zr<9?khbA+)B5dy+Qth2SHjF@3@AF2tiLf}>zczOJTn~1~&=x{YgpYtE1^UIzZ6e^E zreWhoqksKj9li!On1WcaQ&SC)koCxO0%%`P74$3-5w{5awF)dujI&V$@*7(nnoB;j zUkwj=C&H%ypK@k=K@A@H8igXv&_!u3{fCT0QeS)uWJPE}1YNw<|04RrjHp{@#7%*Y z6%o$r2G)y46kUQ(L7XDAB0`E}m*-OudJ__(7k`y5B2g4Yd~Q<;SSJRWs!H=53zaPc zGkgS;HP(}JYY*)sVq&JoN(9WSKwr;#_+z1`MmATr&2s|u{n7}X*lNgW9xX+YXjQS2 zf+TFkv=l|66|5Z*aRpdOfj-Au3~o(Z5A!0 zD1BxTCKn4ekV<5moJm0HB4CrO0?vE*WFIQ9Nz_Kfg=jv5kS_rc&7uqqjVzgwZhwf?~Z4~V@IS8`=dS@$SZ7QJ8_C?kr a0RI310a9%^gd*es0000x)sW;=j>$v5Zz-*3)6_ud&n9_-pTC}X0AY=3DZ$5m|cloB}!i&8vn zfjq24Ia9=l=4P)AkN-5hcVcAtS9HmPXnlj&weJ+hyEz;kI3u5V<=}Wrx^oMLssoLe z3j?&5VY{L&eoH3a&Py(5mMlp{@OsInJXk`v?3xtSrCPHOZrORFIn%xo!`uNbD8efM zo^-MT-4v0IA%DTvNjp~83Ac_P@%U|2-?WM{k3Ds7XLrv#%NsN6QFFUf8xF$*5^Kwt zADm~ZNb7o)b?VS9zPOg+R*~Ae+Gy?8o^>0ac%i>3bzc{nR25+e&{;j1A6^mKsw5s) z{+glW$~sz&)z5aeQS0Vy?He9_?)b75%^hfwa9UNu5Pu-tsILaUCm1!Lg_u}bx0tex z3A$(bBI?@IO>4G3{XqBQFTdMRpJWknutEg))e!3*?s;qHlkBzXU=ezcv8_RHeD&=Z zotv1V(a~`l8#znUKcA)2^%8W)vsl<|1YkxcU{SRn<6*NR>h?n-BaCh~> zu&_@{*pt|bvS3Njv2)C#EwAM*d3mNFf4@2-zZ=WR?Y)Ofm}3u^RI|A-V*qj;08e#N4{}$WpKII zYH(XF^OxIYEd~q$e9QT<`$tJ%oukVa8N@Z>#%UmFu^ z2!CAf6|e4M!6nd$A|lzf$xWHy^EJr3408#p2w+4J5d`)2A*Z~#1nNsD7&@r5h#LW~ ztPsIt`RDr~y6SU6Nz^!p7I2j*I4+tw{x0Z48A@B8JB5Y~Ym{B~yyTE%(=>4qS zUk!R`g4%LP*fDPiKoC@TfCrB1a&E_4(SI*mN_=VPuNWVEK^SeKYT&Kt7hU3W0I?H< z3IYC$I?590HhyYw0P62eKfEK0XJ0*H51rgk+dq}_7s;(+a#GU4^)vML8%ODj(}&(i z(Fb72ZHPe8j^d7!la_05o(u~yV7_Y^h6i@^9=1O^^*YVY6$8%%Rm44@Qdg_7Ie!n! zWzJ6wTjxWSgYVLnBK5s_guWc=tL_0Vo4Qz_3xDM4{H01>sKROPlPl144r#@L(+BB- zCDad25RB3ty@#MG7IGvj!3xf1(Ruzsbu4?0KgE<&P{@`8JBF`j+qUTQ(|yNKGyqP3 z3VvCw;PYS$==07kgWu{r_%S%e1ttu?0RDMsa_#>C{%y~>79jc;tO~&4K1Nad00000 LNkvXXu0mjfkSIpM diff --git a/diylc/diylc-swing/icons/file_icon_48x48.png b/diylc/diylc-swing/icons/file_icon_48x48.png index b67e1a2b749c45e1c234941494ed6739eeee8ddb..96eec19579bb366038397c80b854bed68f328153 100644 GIT binary patch delta 2262 zcmV;{2r2j07LyW?ReuPmNkljxCVDDq5=e~X_=t%{W7Q;DV$y1>9?}RkD36L1 z5KuvR?B34Yoele#%Pt#8`a9=iX1^Z2*Azy|hLG9}U&-hth@zWQ+KT)4Bi>O^Tg6{!^ zjAI4~rJ)zW6T{)5PtZk8$t(#AkDfu)E*ZgXslsBy4h3#xMvrh8FlJH=eB;uzu_+5m zBlHQgN!Eak;2I#xO^rc9tt1BM6bR555gZi>zr;DZ=zsXklBh{386?}6h|@;M456X* zfLbA7q^BAqv?`2n6A=^2NgOe{+dJ`;NyF)cQf!~`hG zf*}wgPJe;h@BoN@fl6JMn4wgny7A`q8d9i>i0qKy8Zco>W`Xu+LuWwig^Re;*^3+3 z>rsE>CK~E)p}GDR+HN*T`GTjP(o^tA*XT6$4Rux3L?vqk*G2S5Fq90R5|7$m6&ib# zxYykaq5D3(y4w)g+YYa$YKZmK=oLj(NOW}4ar$B2x<=!rQ?~dOm^@Muz6>5 z&3`p$wOTa&^$6}Z++bRJLbHrct8?*W^mgi7s3&VTbtOy69JhiA;g$178D{mem@J1}VD&ljyj z>K{rmr|1YqM#aOkry9PR7O36tz+0?^UuRzju@>7k+zj6X+1vnkpW#qxbWGzc zE)1c8eiEy7UU>A?kMMBXJbYe2cYb>mDm6qW=ZYotHlsiILx}T5W-u67tbdRF*nFE({^tNgTcX6!LPiq)?9i+2dG@k02-zp0x~@OJ5;7y}dVOab*bEPGY**IO>U< z(hDpmkN#Ir<9^F6T-Z~xkEmg}_MK^qj0ddE7D?|J zdMq{<8|bO?@Zva@l1EF1P+H+WTzPjpzS^;#)Y(NkOO0dtZk!xjhpN^sI5y!f&WyXl zo^ZUL@I4^)xHVl}T{t>F44k8*mSgsYAMee{)%XZYXI-}jV=#=G>nSD)#N9MtVQL|SE2Q>-?3chdGAcC z6t?EBk?NpzT}@mq)h!D4_ezd_?c#gDW(aXU1*A(Xk$>*}gvRzNr=+6%OO${78Qis| zhVm}LSe1P^*vPn(csPEk%d;s k89?bT@29{t@~i;<2bfg_%wbv~xc~qF07*qoM6N<$f)4vzmjD0& delta 2846 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 Mjh0TC?M0mNKe>4PYybcN delta 20013 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 F&411&T<8D* diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index 10f09d87b5e4046a002bf38f64888c843804d4bc..6d464977ecc44fe660f04f02fb6f0183674a5c04 100644 GIT binary patch delta 5349 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 delta 5349 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 diff --git a/diylc/diylc-swing/src/org/diylc/DIYLCStarter.java b/diylc/diylc-swing/src/org/diylc/DIYLCStarter.java index ae93b937..4dac76c9 100644 --- a/diylc/diylc-swing/src/org/diylc/DIYLCStarter.java +++ b/diylc/diylc-swing/src/org/diylc/DIYLCStarter.java @@ -25,7 +25,6 @@ import java.io.IOException; import java.net.URL; import java.util.Properties; -import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.UIManager; @@ -130,7 +129,6 @@ public class DIYLCStarter { MainFrame mainFrame = new MainFrame(); mainFrame.setLocationRelativeTo(null); - mainFrame.setExtendedState(mainFrame.getExtendedState() | JFrame.MAXIMIZED_BOTH); splash.setVisible(false); splash.dispose(); diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java b/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java index 4b26a00d..46d57833 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java @@ -21,68 +21,68 @@ */ package org.diylc.swing.gui; -import java.awt.BorderLayout; -import java.awt.Container; -import java.awt.Dimension; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.io.File; -import java.util.Arrays; -import java.util.EnumSet; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ExecutionException; +import java.awt.BorderLayout; +import java.awt.Container; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.io.File; +import java.util.Arrays; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ExecutionException; -import javax.swing.Action; -import javax.swing.BoxLayout; -import javax.swing.ButtonGroup; -import javax.swing.Icon; -import javax.swing.JCheckBoxMenuItem; -import javax.swing.JComponent; -import javax.swing.JFrame; -import javax.swing.JMenu; -import javax.swing.JMenuBar; -import javax.swing.JMenuItem; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JRadioButtonMenuItem; -import javax.swing.SwingConstants; -import javax.swing.SwingWorker; -import javax.swing.Timer; -import javax.swing.event.MenuEvent; -import javax.swing.event.MenuListener; +import javax.swing.Action; +import javax.swing.BoxLayout; +import javax.swing.ButtonGroup; +import javax.swing.Icon; +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JComponent; +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JRadioButtonMenuItem; +import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; +import javax.swing.SwingWorker; +import javax.swing.Timer; +import javax.swing.event.MenuEvent; +import javax.swing.event.MenuListener; -import org.apache.log4j.Logger; -import org.diylc.appframework.miscutils.ConfigurationManager; -import org.diylc.common.BadPositionException; -import org.diylc.common.EventType; -import org.diylc.common.IPlugIn; -import org.diylc.common.IPlugInPort; -import org.diylc.common.ITask; -import org.diylc.common.PropertyWrapper; -import org.diylc.core.IView; -import org.diylc.images.IconLoader; -import org.diylc.presenter.Presenter; -import org.diylc.swing.IDynamicSubmenuHandler; -import org.diylc.swing.ISwingUI; +import org.apache.log4j.Logger; +import org.diylc.appframework.miscutils.ConfigurationManager; +import org.diylc.common.BadPositionException; +import org.diylc.common.EventType; +import org.diylc.common.IPlugIn; +import org.diylc.common.IPlugInPort; +import org.diylc.common.ITask; +import org.diylc.common.PropertyWrapper; +import org.diylc.core.IView; +import org.diylc.images.IconLoader; +import org.diylc.presenter.Presenter; +import org.diylc.swing.IDynamicSubmenuHandler; +import org.diylc.swing.ISwingUI; import org.diylc.swing.gui.actionbar.ActionBarPlugin; -import org.diylc.swing.gui.editor.PropertyEditorDialog; -import org.diylc.swing.plugins.autosave.AutoSavePlugin; -import org.diylc.swing.plugins.canvas.CanvasPlugin; -import org.diylc.swing.plugins.cloud.CloudPlugIn; -import org.diylc.swing.plugins.config.ConfigPlugin; -import org.diylc.swing.plugins.edit.EditMenuPlugin; -import org.diylc.swing.plugins.file.FileFilterEnum; -import org.diylc.swing.plugins.file.FileMenuPlugin; -import org.diylc.swing.plugins.help.HelpMenuPlugin; -import org.diylc.swing.plugins.layers.LayersMenuPlugin; -import org.diylc.swing.plugins.statusbar.StatusBar; -import org.diylc.swing.plugins.toolbox.ToolBox; -import org.diylc.swing.plugins.tree.ComponentTree; +import org.diylc.swing.gui.editor.PropertyEditorDialog; +import org.diylc.swing.plugins.autosave.AutoSavePlugin; +import org.diylc.swing.plugins.canvas.CanvasPlugin; +import org.diylc.swing.plugins.cloud.CloudPlugIn; +import org.diylc.swing.plugins.config.ConfigPlugin; +import org.diylc.swing.plugins.edit.EditMenuPlugin; +import org.diylc.swing.plugins.file.FileFilterEnum; +import org.diylc.swing.plugins.file.FileMenuPlugin; +import org.diylc.swing.plugins.help.HelpMenuPlugin; +import org.diylc.swing.plugins.layers.LayersMenuPlugin; +import org.diylc.swing.plugins.statusbar.StatusBar; +import org.diylc.swing.plugins.toolbox.ToolBox; +import org.diylc.swing.plugins.tree.ComponentTree; import org.diylc.swingframework.ButtonDialog; public class MainFrame extends JFrame implements ISwingUI { @@ -159,11 +159,42 @@ public class MainFrame extends JFrame implements ISwingUI { presenter.dispose(); System.exit(0); } - } + } + }); setGlassPane(new CustomGlassPane()); - // getGlassPane().setVisible(true); + // getGlassPane().setVisible(true); + + // maximize the screen + setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH); + new Thread(new Runnable() { + + @Override + public void run() { + // wait some time for size to update + // TODO: find a better solution + try { + Thread.sleep(100); + } catch (InterruptedException e) { + } + SwingUtilities.invokeLater(new Runnable() { + + @Override + public void run() { + // Important! Notify the canvas to center the scrolls and show the content + canvasPlugin.scrollToCenterAndShowContents(); + } + }); + } + }).start(); + } + + @Override + public void setExtendedState(int state) { + super.setExtendedState(state); + + } public Presenter getPresenter() { 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 66b83228..bb04d4fa 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 @@ -44,6 +44,7 @@ import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.JScrollBar; +import javax.swing.JScrollPane; import javax.swing.SwingConstants; import javax.swing.SwingUtilities; @@ -115,6 +116,21 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); } + /** + * Sets the scroll pane location to center and shows the contents. This method must be called when + * the frame is initialized or the contents will remain hidden. + * + * TODO: figure out a better way + */ + public void scrollToCenterAndShowContents() { + JScrollPane scroll = getScrollPane(); + Dimension totalSize = plugInPort.getCanvasDimensions(true, true); + Dimension visibleSize = scroll.getSize(); + scroll.getHorizontalScrollBar().setValue((totalSize.width - visibleSize.width) / 2); + scroll.getVerticalScrollBar().setValue((totalSize.height - visibleSize.height) / 2); + getScrollPane().getViewport().setVisible(true); + } + @Override public void connect(IPlugInPort plugInPort) { this.plugInPort = plugInPort; @@ -124,21 +140,22 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { LOG.error("Could not install canvas plugin", e); } - getScrollPane().setRulerVisible(ConfigurationManager.getInstance().readBoolean(IPlugInPort.SHOW_RULERS_KEY, true)); - + getScrollPane().setRulerVisible( + ConfigurationManager.getInstance().readBoolean(IPlugInPort.SHOW_RULERS_KEY, true)); + // revalidate canvas on scrolling when we render visible rect only - if (CanvasPanel.RENDER_VISIBLE_RECT_ONLY) { + if (CanvasPanel.RENDER_VISIBLE_RECT_ONLY) { getScrollPane().getHorizontalScrollBar().addAdjustmentListener(new AdjustmentListener() { - + @Override public void adjustmentValueChanged(AdjustmentEvent e) { getCanvasPanel().invalidateCache(); getCanvasPanel().revalidate(); } }); - + getScrollPane().getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() { - + @Override public void adjustmentValueChanged(AdjustmentEvent e) { getCanvasPanel().invalidateCache(); @@ -147,47 +164,53 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { }); } - ConfigurationManager.getInstance().addConfigListener(IPlugInPort.SHOW_RULERS_KEY, new IConfigListener() { + ConfigurationManager.getInstance().addConfigListener(IPlugInPort.SHOW_RULERS_KEY, + new IConfigListener() { - @Override - public void valueChanged(String key, Object value) { - if (IPlugInPort.SHOW_RULERS_KEY.equals(key)) - getScrollPane().setRulerVisible((Boolean) value); - } - }); + @Override + public void valueChanged(String key, Object value) { + if (IPlugInPort.SHOW_RULERS_KEY.equals(key)) + getScrollPane().setRulerVisible((Boolean) value); + } + }); - ConfigurationManager.getInstance().addConfigListener(IPlugInPort.HARDWARE_ACCELERATION, new IConfigListener() { + ConfigurationManager.getInstance().addConfigListener(IPlugInPort.HARDWARE_ACCELERATION, + new IConfigListener() { - @Override - public void valueChanged(String key, Object value) { - canvasPanel.setUseHardwareAcceleration((Boolean) value); - scrollPane.setUseHardwareAcceleration((Boolean) value); - } - }); - - ConfigurationManager.getInstance().addConfigListener(IPlugInPort.METRIC_KEY, new IConfigListener() { + @Override + public void valueChanged(String key, Object value) { + canvasPanel.setUseHardwareAcceleration((Boolean) value); + scrollPane.setUseHardwareAcceleration((Boolean) value); + } + }); - @Override - public void valueChanged(String key, Object value) { - updateZeroLocation(); - } - }); + ConfigurationManager.getInstance().addConfigListener(IPlugInPort.METRIC_KEY, + new IConfigListener() { - ConfigurationManager.getInstance().addConfigListener(IPlugInPort.EXTRA_SPACE_KEY, new IConfigListener() { + @Override + public void valueChanged(String key, Object value) { + updateZeroLocation(); + } + }); - @Override - public void valueChanged(String key, Object value) { - refreshSize(); - // Scroll to the center. - Rectangle visibleRect = canvasPanel.getVisibleRect(); - visibleRect.setLocation((canvasPanel.getWidth() - visibleRect.width) / 2, - (canvasPanel.getHeight() - visibleRect.height) / 2); - canvasPanel.scrollRectToVisible(visibleRect); - canvasPanel.revalidate(); - - updateZeroLocation(); - } - }); + ConfigurationManager.getInstance().addConfigListener(IPlugInPort.EXTRA_SPACE_KEY, + new IConfigListener() { + + @Override + public void valueChanged(String key, Object value) { + refreshSize(); + // Scroll to the center. + Rectangle visibleRect = canvasPanel.getVisibleRect(); + visibleRect.setLocation((canvasPanel.getWidth() - visibleRect.width) / 2, + (canvasPanel.getHeight() - visibleRect.height) / 2); + canvasPanel.scrollRectToVisible(visibleRect); + canvasPanel.revalidate(); + + updateZeroLocation(); + } + }); + + getScrollPane().getViewport().setVisible(false); } public CanvasPanel getCanvasPanel() { @@ -201,8 +224,9 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { public void mouseClicked(MouseEvent e) { if (scrollPane.isMouseScrollMode() || e.getButton() == MouseEvent.BUTTON2) return; - plugInPort.mouseClicked(e.getPoint(), e.getButton(), Utils.isMac() ? e.isMetaDown() : e.isControlDown(), - e.isShiftDown(), e.isAltDown(), e.getClickCount()); + plugInPort.mouseClicked(e.getPoint(), e.getButton(), + Utils.isMac() ? e.isMetaDown() : e.isControlDown(), e.isShiftDown(), e.isAltDown(), + e.getClickCount()); } @Override @@ -220,15 +244,16 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { @Override public void run() { - if (plugInPort.getNewComponentTypeSlot() == null - && (e.isPopupTrigger() || (pressedEvent != null && pressedEvent.isPopupTrigger()))) { + if (plugInPort.getNewComponentTypeSlot() == null && (e.isPopupTrigger() + || (pressedEvent != null && pressedEvent.isPopupTrigger()))) { // Enable actions. boolean enabled = !plugInPort.getSelectedComponents().isEmpty(); getCutAction().setEnabled(enabled); getCopyAction().setEnabled(enabled); getDuplicateAction().setEnabled(enabled); try { - getPasteAction().setEnabled(clipboard.isDataFlavorAvailable(ComponentTransferable.listFlavor)); + getPasteAction().setEnabled( + clipboard.isDataFlavorAvailable(ComponentTransferable.listFlavor)); } catch (Exception ex) { getPasteAction().setEnabled(false); } @@ -247,7 +272,8 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { getMirrorHorizontallyAction().setEnabled(enabled); getMirrorVerticallyAction().setEnabled(enabled); - getSaveAsTemplateAction().setEnabled(plugInPort.getSelectedComponents().size() == 1); + getSaveAsTemplateAction() + .setEnabled(plugInPort.getSelectedComponents().size() == 1); getSaveAsBlockAction().setEnabled(plugInPort.getSelectedComponents().size() > 1); showPopupAt(e.getX(), e.getY()); @@ -261,8 +287,8 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { @Override public void keyPressed(KeyEvent e) { - if (plugInPort.keyPressed(e.getKeyCode(), Utils.isMac() ? e.isMetaDown() : e.isControlDown(), - e.isShiftDown(), e.isAltDown())) { + if (plugInPort.keyPressed(e.getKeyCode(), + Utils.isMac() ? e.isMetaDown() : e.isControlDown(), e.isShiftDown(), e.isAltDown())) { e.consume(); } } @@ -275,8 +301,8 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { if (scrollPane.isMouseScrollMode()) return; canvasPanel.setCursor(plugInPort.getCursorAt(e.getPoint())); - plugInPort.mouseMoved(e.getPoint(), Utils.isMac() ? e.isMetaDown() : e.isControlDown(), e.isShiftDown(), - e.isAltDown()); + plugInPort.mouseMoved(e.getPoint(), Utils.isMac() ? e.isMetaDown() : e.isControlDown(), + e.isShiftDown(), e.isAltDown()); } }); } @@ -285,9 +311,9 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { private RulerScrollPane getScrollPane() { if (scrollPane == null) { - scrollPane = - new RulerScrollPane(getCanvasPanel(), new ProjectDrawingProvider(plugInPort, true, false, true), new Size(1d, - SizeUnit.cm).convertToPixels(), new Size(1d, SizeUnit.in).convertToPixels()); + scrollPane = new RulerScrollPane(getCanvasPanel(), + new ProjectDrawingProvider(plugInPort, true, false, true), + new Size(1d, SizeUnit.cm).convertToPixels(), new Size(1d, SizeUnit.in).convertToPixels()); boolean metric = ConfigurationManager.getInstance().readBoolean(Presenter.METRIC_KEY, true); boolean useHardwareAcceleration = @@ -303,7 +329,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { plugInPort.setMetric(isMetric); } }); - + double extraSpace = plugInPort.getExtraSpace(); scrollPane.setZeroLocation(new Point2D.Double(extraSpace, extraSpace)); @@ -317,7 +343,8 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { final JScrollBar horizontalScrollBar = scrollPane.getHorizontalScrollBar(); final JScrollBar verticalScrollBar = scrollPane.getVerticalScrollBar(); - boolean wheelZoom = ConfigurationManager.getInstance().readBoolean(IPlugInPort.WHEEL_ZOOM_KEY, false); + boolean wheelZoom = + ConfigurationManager.getInstance().readBoolean(IPlugInPort.WHEEL_ZOOM_KEY, false); if (wheelZoom || (Utils.isMac() ? e.isMetaDown() : e.isControlDown())) { @@ -349,32 +376,30 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { if (selectionBounds == null) { // center to cursor - Point desiredPos = - new Point((int) (1d * mousePos.x / oldZoom * newZoom), (int) (1d * mousePos.y / oldZoom * newZoom)); + Point desiredPos = new Point((int) (1d * mousePos.x / oldZoom * newZoom), + (int) (1d * mousePos.y / oldZoom * newZoom)); int dx = desiredPos.x - mousePos.x; int dy = desiredPos.y - mousePos.y; horizontal.setValue(horizontal.getValue() + dx); vertical.setValue(vertical.getValue() + dy); } else { // center to selection - horizontal.setValue((int) (selectionBounds.getX() + selectionBounds.getWidth() / 2 - visibleRect - .getWidth() / 2)); - vertical.setValue((int) (selectionBounds.getY() + selectionBounds.getHeight() / 2 - visibleRect - .getHeight() / 2)); + horizontal.setValue((int) (selectionBounds.getX() + selectionBounds.getWidth() / 2 + - visibleRect.getWidth() / 2)); + vertical.setValue((int) (selectionBounds.getY() + selectionBounds.getHeight() / 2 + - visibleRect.getHeight() / 2)); } } if (e.isShiftDown()) { int iScrollAmount = e.getScrollAmount(); - int iNewValue = - horizontalScrollBar.getValue() + horizontalScrollBar.getBlockIncrement() * iScrollAmount - * e.getWheelRotation(); + int iNewValue = horizontalScrollBar.getValue() + + horizontalScrollBar.getBlockIncrement() * iScrollAmount * e.getWheelRotation(); if (iNewValue <= horizontalScrollBar.getMaximum()) horizontalScrollBar.setValue(iNewValue); } else { int iScrollAmount = e.getScrollAmount(); - int iNewValue = - verticalScrollBar.getValue() + verticalScrollBar.getBlockIncrement() * iScrollAmount - * e.getWheelRotation(); + int iNewValue = verticalScrollBar.getValue() + + verticalScrollBar.getBlockIncrement() * iScrollAmount * e.getWheelRotation(); if (iNewValue <= verticalScrollBar.getMaximum()) verticalScrollBar.setValue(iNewValue); } @@ -556,30 +581,32 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { public ActionFactory.RotateSelectionAction getRotateClockwiseAction() { if (rotateClockwiseAction == null) { - rotateClockwiseAction = ActionFactory.getInstance().createRotateSelectionAction(plugInPort, 1); + rotateClockwiseAction = + ActionFactory.getInstance().createRotateSelectionAction(plugInPort, 1); } return rotateClockwiseAction; } public ActionFactory.RotateSelectionAction getRotateCounterclockwiseAction() { if (rotateCounterclockwiseAction == null) { - rotateCounterclockwiseAction = ActionFactory.getInstance().createRotateSelectionAction(plugInPort, -1); + rotateCounterclockwiseAction = + ActionFactory.getInstance().createRotateSelectionAction(plugInPort, -1); } return rotateCounterclockwiseAction; } public ActionFactory.MirrorSelectionAction getMirrorHorizontallyAction() { if (mirrorHorizontallyAction == null) { - mirrorHorizontallyAction = - ActionFactory.getInstance().createMirrorSelectionAction(plugInPort, IComponentTransformer.HORIZONTAL); + mirrorHorizontallyAction = ActionFactory.getInstance().createMirrorSelectionAction(plugInPort, + IComponentTransformer.HORIZONTAL); } return mirrorHorizontallyAction; } public ActionFactory.MirrorSelectionAction getMirrorVerticallyAction() { if (mirrorVerticallyAction == null) { - mirrorVerticallyAction = - ActionFactory.getInstance().createMirrorSelectionAction(plugInPort, IComponentTransformer.VERTICAL); + mirrorVerticallyAction = ActionFactory.getInstance().createMirrorSelectionAction(plugInPort, + IComponentTransformer.VERTICAL); } return mirrorVerticallyAction; } @@ -635,23 +662,24 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { public ActionFactory.ExpandSelectionAction getExpandSelectionAllAction() { if (expandSelectionAllAction == null) { - expandSelectionAllAction = ActionFactory.getInstance().createExpandSelectionAction(plugInPort, ExpansionMode.ALL); + expandSelectionAllAction = + ActionFactory.getInstance().createExpandSelectionAction(plugInPort, ExpansionMode.ALL); } return expandSelectionAllAction; } public ActionFactory.ExpandSelectionAction getExpandSelectionImmediateAction() { if (expandSelectionImmediateAction == null) { - expandSelectionImmediateAction = - ActionFactory.getInstance().createExpandSelectionAction(plugInPort, ExpansionMode.IMMEDIATE); + expandSelectionImmediateAction = ActionFactory.getInstance() + .createExpandSelectionAction(plugInPort, ExpansionMode.IMMEDIATE); } return expandSelectionImmediateAction; } public ActionFactory.ExpandSelectionAction getExpandSelectionSameTypeAction() { if (expandSelectionSameTypeAction == null) { - expandSelectionSameTypeAction = - ActionFactory.getInstance().createExpandSelectionAction(plugInPort, ExpansionMode.SAME_TYPE); + expandSelectionSameTypeAction = ActionFactory.getInstance() + .createExpandSelectionAction(plugInPort, ExpansionMode.SAME_TYPE); } return expandSelectionSameTypeAction; } @@ -675,7 +703,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { SwingUtilities.invokeLater(new Runnable() { @Override - public void run() { + public void run() { canvasPanel.scrollRectToVisible(visibleRect); canvasPanel.revalidate(); } @@ -688,12 +716,12 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { // Try to set the visible area to be centered with the previous // one. double zoomFactor = (Double) params[0] / zoomLevel; - visibleRect.setBounds((int) (visibleRect.x * zoomFactor), (int) (visibleRect.y * zoomFactor), - visibleRect.width, visibleRect.height); + visibleRect.setBounds((int) (visibleRect.x * zoomFactor), + (int) (visibleRect.y * zoomFactor), visibleRect.width, visibleRect.height); canvasPanel.scrollRectToVisible(visibleRect); canvasPanel.revalidate(); - + updateZeroLocation(); zoomLevel = (Double) params[0]; @@ -717,9 +745,8 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { } private void refreshSize() { - Dimension d = - plugInPort.getCanvasDimensions(true, - ConfigurationManager.getInstance().readBoolean(IPlugInPort.EXTRA_SPACE_KEY, true)); + Dimension d = plugInPort.getCanvasDimensions(true, + ConfigurationManager.getInstance().readBoolean(IPlugInPort.EXTRA_SPACE_KEY, true)); canvasPanel.setSize(d); canvasPanel.setPreferredSize(d); getScrollPane().setZoomLevel(plugInPort.getZoomLevel()); @@ -729,11 +756,12 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner { * Causes ruler scroll pane to refresh by sending a fake mouse moved message to the canvasPanel. */ public void refresh() { - MouseEvent event = new MouseEvent(canvasPanel, MouseEvent.MOUSE_MOVED, System.currentTimeMillis(), 0, 1, 1,// canvasPanel.getWidth() - // / - // 2, - // canvasPanel.getHeight() / 2, - 0, false); + MouseEvent event = + new MouseEvent(canvasPanel, MouseEvent.MOUSE_MOVED, System.currentTimeMillis(), 0, 1, 1, // canvasPanel.getWidth() + // / + // 2, + // canvasPanel.getHeight() / 2, + 0, false); canvasPanel.dispatchEvent(event); }