From 497a538cc714454483ce23a622d0318bf7d41a51 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Tue, 17 Jun 2014 11:25:54 +0200 Subject: [PATCH 1/3] JTextField.variant=search causes NPE #1 --- build/darcula.jar | Bin 257808 -> 261941 bytes src/com/bulenkov/darcula/darcula.properties | 6 +++--- src/com/bulenkov/darcula/icons/clear.png | Bin 0 -> 421 bytes src/com/bulenkov/darcula/icons/clear@2x.png | Bin 0 -> 668 bytes src/com/bulenkov/darcula/icons/search.png | Bin 0 -> 365 bytes src/com/bulenkov/darcula/icons/search@2x.png | Bin 0 -> 631 bytes .../darcula/icons/searchWithHistory.png | Bin 0 -> 391 bytes .../darcula/icons/searchWithHistory@2x.png | Bin 0 -> 738 bytes .../darcula/ui/DarculaTextFieldUI.java | 8 ++------ 9 files changed, 5 insertions(+), 9 deletions(-) create mode 100644 src/com/bulenkov/darcula/icons/clear.png create mode 100644 src/com/bulenkov/darcula/icons/clear@2x.png create mode 100644 src/com/bulenkov/darcula/icons/search.png create mode 100644 src/com/bulenkov/darcula/icons/search@2x.png create mode 100644 src/com/bulenkov/darcula/icons/searchWithHistory.png create mode 100644 src/com/bulenkov/darcula/icons/searchWithHistory@2x.png diff --git a/build/darcula.jar b/build/darcula.jar index 16884ecaaf87843e9fcd5daae4f85cd89cf4528a..e08adc8cfc54e4c17e8e561e3f57aebfd7da1c96 100644 GIT binary patch delta 19465 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 delta 15799 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 P00000NkvXXu0mjfd3&*~ literal 0 HcmV?d00001 diff --git a/src/com/bulenkov/darcula/icons/clear@2x.png b/src/com/bulenkov/darcula/icons/clear@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..57df8c274d8895dc5c9097e58680aa7bb1f6fae5 GIT binary patch literal 668 zcmV;N0%QG&P)?K@i4`k3zH%!Pe&= zpx`TrpcqqVuZ$kWT`o!2-B*iKr~4H+Y(JbT%jn=&{IRuZW~;RcwPR>y@^k z&9aozJd`Sdg9iT=t3G5sPYciEmcg|zqN3#-m2f-4^Bw+XV?{~8t7UL+!nvy>X({4G z67Ucrc$x$i@hAznHcW5~rPiVm;TZf~O9F1#$w=1hlkJiST|ySvvQ-Hv^R$v|9GtM- z(v@08gc@_qhDNdjcbn$z2~`ib2>OMIQ^c=CP2KGiV`z`#Po7rqzt9gTpKFX^?1-Mh z3izmD@DKWYw(SY?V5vqc@lId)pk1+=FvEQdYfto%4|^|AOE$|crw|};fpcc1Wf!kz z1}m`_%(Bkoya9E2u4Zq%nmIhKOEyX)|NeITCBOiU@{P9|3WJpZ0000$;$9%$3R4gf5dk-V3C+MZAl?MTjzG)<#US<;Aa2Cw0%QX~Hdg}iFCfkb zVqqvQgo@Pxu{S;gilB5Y5KjW)cThY5h|AH`U^M{d=UG@>x(G^};4^>`O8>(X=#2Ob zI1Q!auxN~h(q~{X28%Uh1NxzKHxTClF)tM70&y2qZXG@sY=p))2M|vN;!jWv3Q#tv z8cJhz|krcPKst4gEJjEDFSXfLI?RB_e?hP>c@t1MzMoLtKIQ0uu?z z{sIuY0P$-e7J;S@21b0D2`PUd16`0uqUYDy|gtF`b|WWWWQs28ZB?eP1jRiR2Uz z(h%7X7D2s2R0A^%(jW>BOhzE!aW4oKIAOg;E{fUbXM(x{yhdOi%vgL@=b30BBQT)o zoWAcW&w)y&lYJS5hyhyx^lg`g?-6u>DR2f}m^1cuaE#klIG3@2K~N{&ycgVfbFC=3xZ8oD3T((`VH(uwdJh_^|1t@d*#zd|!80UUi^Y z7R&KD;_iC!odQ%Mp5?(M^@RCwB~)3Hm#KorMu6U50;|BRx8 zokh^i4h~9|ihn>AY%QG}T!dD|;wU0igk*9MopkD|Ln&DQh>D|vpy~JE7dS)GX2`*( z?~*%SUoJ0B7=}}M49EBVXkNlTin@Nm86Kkzp68_|auttpj}^>{nLpqtYegj``9U4G zTH8hwGg!APORK1=`5`XwDQz^gR-IIlYn{nu!upNkl6CJIVa%0Dd+xFfLU6%4HF zH|)83JJFfMM_KXJy7z@GMPt*%X@1VJj1z6_DDI%8`CaS}OclHM#k<`{r>Kp2v>{f} zpVUVO*gzNG($(Agz&xI@kfpQJ#v-0Dr=)A>#XH^2(6l{0)=P%*wg4kmx6`}wQ*$-xe-NirO={}vB|HZFoK{}=wk2##i$m7B`(8{ zMLItJ2hNMj;l7#oF++wO_zmyfd)|Hjx%ZrN?=vjR3Y{gp5ISQPp`TbRrt8ZCCTIes zppgB4fJHC^W0*Z_TCAzMp!5ln)o4q~Ly%)J8-vn6N( zbUOH+IJ6s}AKcHhpu6C<=-&qepakSHSHUp&EqrN-uVo~tVflt(42lx439f@J@l1kw z0^Wnm+#Uuapd461XUK$@0;PQqG-|}CwgQ?(mX!saC3}XNL_7V{Z!Vty44#8qN*j&! zF-19XHA5w${e_1yrZkzS+Bh$v8^&!xg<_De9t3?6_j0Um@Y=;Vd=&hki&~9;188H zx^7T~+JfTZVJec 0) { p = getClearIconCoord(); Icon clearIcon = UIManager.getIcon("TextField.darcula.clear.icon"); if (clearIcon == null) { - clearIcon = IconLoader.findIcon("/com/intellij/ide/ui/laf/icons/clear.png", DarculaTextFieldUI.class, true); + clearIcon = IconLoader.findIcon("/com/bulenkov/darcula/icons/clear.png", DarculaTextFieldUI.class, true); } clearIcon.paintIcon(null, g, p.x, p.y); } From c3d0f3e8c24000a887714c6d416150cc1e0a3667 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Tue, 17 Jun 2014 11:29:28 +0200 Subject: [PATCH 2/3] rename --- .idea/artifacts/{Darcula_jar.xml => darcula.xml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename .idea/artifacts/{Darcula_jar.xml => darcula.xml} (79%) diff --git a/.idea/artifacts/Darcula_jar.xml b/.idea/artifacts/darcula.xml similarity index 79% rename from .idea/artifacts/Darcula_jar.xml rename to .idea/artifacts/darcula.xml index 69222df..6619b84 100644 --- a/.idea/artifacts/Darcula_jar.xml +++ b/.idea/artifacts/darcula.xml @@ -1,5 +1,5 @@ - + $PROJECT_DIR$/build/ From 6da3450f6a8aa91ebf7b882b4f5446040c1ad29f Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Wed, 18 Jun 2014 19:46:40 +0200 Subject: [PATCH 3/3] fix internal frame border and title (pull request from Brian Hudson) --- build/darcula.jar | Bin 261941 -> 270595 bytes src/com/bulenkov/darcula/DarculaLaf.java | 2 +- src/com/bulenkov/darcula/darcula.properties | 21 +- .../bulenkov/darcula/icons/internalFrame.png | Bin 0 -> 311 bytes ...I.java => DarculaInternalFrameBorder.java} | 32 ++- .../darcula/ui/DarculaInternalFrameUI.java | 232 ++++++++++++++++-- 6 files changed, 250 insertions(+), 37 deletions(-) create mode 100644 src/com/bulenkov/darcula/icons/internalFrame.png rename src/com/bulenkov/darcula/ui/{win/DarculaWindowsInternalFrameUI.java => DarculaInternalFrameBorder.java} (50%) mode change 100755 => 100644 diff --git a/build/darcula.jar b/build/darcula.jar index e08adc8cfc54e4c17e8e561e3f57aebfd7da1c96..71149e05f6defefc87c3c2d4cf96145ca10e34fc 100644 GIT binary patch delta 21670 zcmagFQDD?MmCWZQHh0sg-7>S*c3fwoxl>8CcZAbKq~|5UZ*&@TcV~O}WX^yGAAJiDYCEExV|9&(4okCoiyju0*mR z8ab6y*m&PSwHatUw6r7`3wly8Acx2xM8x%|G9zFXn^biS_qLn!RRNR{;biYgC^Zr} zHy`m+_=j9dF@*UH27`?}%6DWLQdA4-gDmorj4%j?a(z1i$>;_Me>T=<(coAZa51o7 zX^bc)Ha`sIe!kDzI<)E`+nEV4YF2Yc6jw)_JU_a4zTqNpBGl4T+C)RVRknEEDgoKUf0Y9T-~55{(?^O71CDP&(%9qWl@<;B%#j!Bb?y>;&T?65&l2N4Vq ztgLxEg$sA>c{|lbdlZkJlxp4XJ)Un_{j!yutd370V}B7*&A;5ApbBp0@9uNmPv5(^ zM!|@~-zPkYQzQ4uSCGn(61L!yP@t#rbI|}4q@~l@A(mHY2kC+}-=R?v_(fq+@iQxa zlo%Tq4Gp=AQKY>t1{r-Xrq<4+Xvb8R$P?b39i|J(mYNO@(SLEtS6Hdx3DrpLd(jD% z$QWMH+qrh2;Ew#}K6uG`d@h~THLfCnOO7U{dt5s4T}ugx#A)<6#pHSq+9fr<)2jw> zn=;g18kbQVK+DX>qek|9Cij_Za~WPtTwL# z+3g9^Le9|VCWRVuIs?@S+ycZxBmdz2+-QK+DP;R=tcctc&-F1?(pBL2-fc}iX;Ow4 zN$gtM7­{7P*gg>3qWV6otm~J$=gH4D%Idt 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 P1$Ltag3LO6x+M4?H8}0%)>MEg2{!6 z&z?v{%YPb{9T`&0Xq_z2Zcj+4?2bXjCK7%}^d~f!Syp#2anonm6G`Qjo-!D6srSTx ziDPo!ud7A2oP{Aw^+h4S%mOz{v}|fYqGw8m4H?mkA{X1e1>F~{%Yi&$=vZ#@6cj}M zW-o7t8+hy~mM4r5#lFS_+&2n!F{z$a5b?Uw`ENiOY%&TO zwxJ)%9i0R$2gu1yd-{VO9B#dq=lxMyx_y2(q~SKcmeYxsbQbRt{^6GIlMjcp!?U}m zUs0I|xQFCshzcZ81k2-DqSe2Uh3l&uZx66MO-!tD!lStBbB_^yQt)GRNd&*d^2ykuKa-9prz9@;i4G>#VpR} zlB(U-7<8CbEg6Iycd7;Zu`becKxFP$~TSq!>Qfov1i)6r?hHi?1Ur*sN|}iXHGQTC(V0r z3D92A24b^&tcunnX$YNr1%8M-RE)Nj>$gUdzeh~Dr?$U=in4GHK1j6NUbro`9%xe1 znOu<}|MgYrp4#HQeU{tmk}YH}Ld!~eOdd~L9lDWaHw92}KRqjWkjaP5%${(OW_cWm zrd@1Sob|*8F0rnbC~X=H^a~Bx67oIXcI^4lf^^} zi&UPc{2*%bNJs8Kb9!m_#LZtflP*8M*@I_$n+^cp#m1`l87H3fPv(A5;`)gP9chsx zZQr&yL7COt>VJhw1i!PEJXT?2)J{5+-b#z-`iQej<*c&C(q#S#cchuPSjO65{HSgz zHPKtmqbYATHM`!i&yv{9Z%Nnbv)at4x;nSPN_@@|;knVzJ2ecz*sZg`EaED>X$ z$`IGTcug?+gN<5YrZ&#riGnb4^s>rGaO!QLVgj|u*)YRUza(=LwmZ^LH9nZ*L5NhQ zB?cNLjhYSe#kPCoUaGRQfEvQRQ7}0?cD!#M*Z1RnfatJZ^ zT)u-@ac=Gczmw4mK`)2Qy4T$~y!Sd3CGhJg??`8rBAqqz zSwtr8T)bC{R@pyCF-U)W9^yIV+5Qe9kmuS8;QLQVPrdQo?Z%^{?{-o`@Z(P(N~jPE z5^+9!8atwW`1v%7g6IC=4_1xo(;yLAP4u_D+2I1?5*%WBC8%T)+`CLlQ?FiI&D*X$>IiH;tg3W656S(Edien}ioqR?Bkc3htHW>%!ICxlV+ufPg|8tb zBDbZ+KpE`4C|9L#Pf2WHE8*Df9s8yk;UdtgsWpegv-hDYmjBIB+lYU3#%d4zgdT<={wtWtJ?2xG!)#c0v zl}Bez7nLU^=q1p1WSd;eccjWoJ7`pXF_v7*fAk}{c7Mkw=nb&AjhpP5dWPA1>%p|$}ijLjBuBY9IBG3~r%freDv`DQ7WF1=Q4dqk&jw-%7@ z&bxIa)%%L{+qq>(D6h5^0JOE=(MLfH=p&@c+U1hzg^vh(6I4RXcZieoQYCIYs9o^x z)lvyD-I413qHLED0->P7m3r`kpQ!lo+nB6nd^ z?c(7Az3N5M0=-&@<&G9h8^dvF@}1N(!Cq!r*NXYwWcu~zaW*D-JMCF0mK`A*td=E4MP8{@G?ucu0g+0HEMrQD7*Ya8?No#ffH zGtb`3q_aD{n<`Qa$HBdqDQ6FnBn!pD?;;5-TNThFdQv)=72cAd>Qc00t&m1|6>SBq zc+4;<5Wek5Ei?{R!{L9gcE}M_&cwq>l+Mmer1$-nUU zWOmG0k6$UKbLFP5%{in+O}ZB^C}t#7RoAG3!gc z9n)S5tYP*CISU?PrzC+X)#Xs(pL+(pP8}muLcvRjZN)*p__Pr|r=`@PA;ee#cW6ktc3JwzQ zSuJ9`w30-7^zh^cYH(7|_=m0AS?*B`g>zk2A{oZLsYZ=Mbu96RQ^!;AaK<7slHA7SGt$>ED$yh>*m04P~U4*saBf(rUn&t&!^UDmdsr)b9m9 z>`^{n98RR2q55hlJ(qy0D0gu}wzRg3k4On1x@aHAL+Wci%!!tG$HMPdMjInAW?&!4 z)H(C^fGluGno70Hi2X^-e36d$xHVfOGfchVbB67KRSzD^Y7YO;Cxn11UJFr%1D(3C z1X&Eu!+b>Pu!~EiS`0FBU0zLhvZ{g=9WaVrIWHjb_8!f{z`3QQD6EvpB%TppBSx`V zu%1^@yvO1jx&Cncp%oL6S<$rddS)3q-`CeTl$e1^g&`vRL=_W1Bs-gOLL+6X3t#oT zQw|Ok5yOJ;Pf0(LvGYf0#QRKLK*Z5rOuKBlVNWu)G%`i)?k6Je-sll13ffrYX3!ok zBBS43H1@ZjyGh!00q3;=qG&H&jiDp7=iF zs5H*R$)qrEV`>}PyN!&kNd{>y7sk`RfgdUn_{XbL^6@WL~N{Zp82h2 zi#NKcG`StAXv}u#7mjF35MaA_P|(Nvoe;ls_ccA4P(d==us*JfR%EUZmrUfBkaJJY z&Djo@EPRtQNrSWx7>PLB_QzT>Xvvo*ksv>LTJ(L-qkPiLIr+9Fa_Iae$JFyUmrt47 zIFO&B%NbZoKbmYgnmA&`adN$?pLk+KqBBjIt>1=IQ+hm1EEmHslaGu`OvkQ^+rZrG zidR#NdeZGyjL;Ld=`VHaCs8eJB=ImM$(^K&##QeiXB$P9WG@%p2z@K#^DIjCW0A7U zaE?Vt#L2CQfhGue!EgMm_Al_!ci;1Tn1;x`KI5+=2BW>%CW6?g|rMOP`K`atsd z{(-!rE#wt3=q{f?J{x zg}}I}wOJ>Lw8^q5`eOHZM8g}cR`~tXc`m(d?z5LA{T9pZ^rCpqDZ5`_uXN?a3hSp| z!bV846xs=3C3Wu^#zXEB3BFIH5Pq4*sh(SWoA8bOUB*D~y?yzx?{&0hs|oL!rm_@? zqm^4Qx2?L>2}#WA#_kgAEmzyJ3RVfV&F__baY4o;w#(S=GwA|Ml96Y_Es{eu z4POaOLUfMa9(ah?kf%DE1Zz%I+ELURy_=1et$QH5`q|09hrn7-US3}#1h2#Vlk4W= zlTH}%2;H$xcvCBv>W%rA55C~JDFlyLM=5!C#B<@YhbKE?h_LZ!R}HKj;KP~Y^`5V& z^H{-na?6mZ=_j2K@%S*Y#!pqF8F(HH8vGS!mdDoi_}Ryd2AnYxUpVNQvNQMTjbT@7!@oA)=Rn`hPSj(=HNldLRlo}HMyH=a2jqG!&|Bhd9evZadz3B>fPi{0MLlE~uBFRQ`6d*l}K zOQWuRN!rgbrZ0Qc-AJaYIjKS)3mR=)_S|I5OId30^{d7X)bMvHTb z4VU#51)c%dUuz1<9aL;KN!s>-j#{pMwPNUzVPVm|-_i~5RNC}ydPv&~4HbKv8D!*a z5zqVIN5Z!`Chq6_j1LH^c0W@0dE9Dq&}3zIQ%c4ubck{5Mb)>V=&q+kx{;kf zW4vxkadoE4ZHX;>Ug6Y3Gz<*P^QhkCL@TP?PBlb+%Y0}G|N4w~QX)3oxzwA)h03u8 zE2@I^xn#D&lF1uGi*O60W>nklh1SJJ-zFCF=_M`PmL@ybq~gQWn|)js&&w>3VpIkW z&Z!D_mWN!05;CeB$QsLUDd;*I5#~u|^xRcdi5VRZNSB+YrJ))u;Tau`A7^zoUGq;1 z(5^H_X6x$Un*=x|^Nu+730SY%#pC25^qw0r#J$(?)+~wnD$W`ww-#(1Ib*W-;7y!H zFL&PL!;ej^maS^fR2&v3?eI*7yY9cK{#Lg3TsU0r=d(sdRs-UjF3%7VB)TtXi=P{I z(5scbjytP(e*RONd*aO?3B6vL!OUanP~1ifpbn{AeOzGWPeLx~I=>!W;%&}Y)5VIr zE%oxY2NiDQo({8xu)eNQbfvWs+NIEIDsk?$!VDWTmzabnuDISg95v*(<`7OX)L$KA zw8|=~?(bBUw5UwG#c0K7J)Iw!C)1lo_&yCHp?8m&>S`<-Vf^Lm9mVmB#P8|6;QX)X z0PbBRT@_unq8y`Mkf9FAi>Mz>h`wKhx8&rj8Gi}AU+P-&e%e^jKnZ+2}s?65Sv`n)NUqSUVs(FPumqRPHoUVJPqoS#>s4Ijn*z{I?=teXl=Veh|3 zqJbn%^Zqb}lPtRkdnZp(I@>Jh^-C?3x^V>`rNz=tKcphoV8U2@abU&VajG+naD6vF z@MYKF%}3sO4Yx`eRx_1s`Ngw`4k^t21!_H0Je4#19*p%>y%jsNZW|AZZyj8X9;vz2 zI&*ghHTIqIfHU`5VmJE7a4#OLsi~=b!MhB|H4DaL5xtUGVko0D;%jvCsDbE>FR4N@ ztu0mL6Hn2pM;r+}3fWbE$ShUARK4Rp=Bi~^8PHwPH-1k~7*Q&O${)z`oV$^RelY3I z*i22yrzaHx`$sfx^g2VY!y-~+MDBFGL@#rsV}p{@-X~;}G|;H*`+$fbrxge{Q!0$k zK@O^;LfjAr$y${zpG4(m5?gW7V48M~AC9^-&F^j*_Xn`m)bxoao_aS+D6GF_=X5K0 zUJ$4+ZT{(Fq1TDExX$dv#>gJ)Q<7CteiEIw)YOuQ##7~-wZjN=eu-@_$sY`I%39mQ zb(->V!%l)Ve9GAvt^*k}dGY7z8qKn}3&;^!Zbahm%(oHxGG<1R$XJdg`x@BBdBne3y%Fa3xibHR(xD?#ZlglQ4Hap& zkrU6qinod%sn^EYBI@yley#o!Wn+>=qlbcWK=i>@=o{OOd{xs8)y_gpkMlBNZlljS z4l;NMZ1qTmdlp-aY>DFy_!{8~5>&bqmp?D_$dC5e4wBW?(|J=k)K}4w*~RE4j1+DR z7GjvYL&x15DK9P}5ir9k5upUpGE`)_<0b3YHkg0FtJBf_w(8-DFi#z(`6q78wjWQ} zhNC5tZ$SDePmHJ=wMPWqH6#ZD15RI!Rtt8&6QyO-9n2#U81�bsJJjk7iI`8#Hu` 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 Xz!U?V3a=ie9wiG*!{Kc((CYsI8n%cg diff --git a/src/com/bulenkov/darcula/DarculaLaf.java b/src/com/bulenkov/darcula/DarculaLaf.java index 69da3e9..c440053 100755 --- a/src/com/bulenkov/darcula/DarculaLaf.java +++ b/src/com/bulenkov/darcula/DarculaLaf.java @@ -98,7 +98,7 @@ public final class DarculaLaf extends BasicLookAndFeel { defaults.put("Tree.expandedIcon", new IconUIResource(IconLoader.getIcon("/com/bulenkov/darcula/icons/treeNodeExpanded.png"))); defaults.put("CheckBoxMenuItem.checkIcon", EmptyIcon.create(16)); defaults.put("RadioButtonMenuItem.checkIcon", EmptyIcon.create(16)); - + defaults.put("InternalFrame.icon", new IconUIResource(IconLoader.getIcon("/com/bulenkov/darcula/icons/internalFrame.png"))); return defaults; } catch (Exception ignore) { diff --git a/src/com/bulenkov/darcula/darcula.properties b/src/com/bulenkov/darcula/darcula.properties index 08985ba..8cecdb4 100755 --- a/src/com/bulenkov/darcula/darcula.properties +++ b/src/com/bulenkov/darcula/darcula.properties @@ -56,7 +56,7 @@ Table.descendingSortIcon=AllIcons.General.SplitDown TableHeader.cellBorder=com.bulenkov.darcula.DarculaTableHeaderBorder TitledBorder.titleColor=bbbbbb - + internal MenuBar.disabledBackground=3c3f41 MenuBar.shadow=3c3f41 MenuBar.darcula.borderColor=555555 @@ -65,7 +65,7 @@ MenuBar.darcula.borderShadowColor=282828 TabbedPaneUI=com.bulenkov.darcula.ui.DarculaTabbedPaneUI TabbedPane.tabInsets=0,4,0,4 TabbedPane.highlight=292b2d -TabbedPane.light=444444 +TabbedPane.light=444444 internal TabbedPane.selected=41516D TabbedPane.selectHighlight=3c3f41 TabbedPane.contentBorderInsets=3,1,1,1 @@ -166,4 +166,19 @@ Hyperlink.linkColor=589df6 #Tree.background=45494A -FileView.fileIcon=AllIcons.FileTypes.Unknown \ No newline at end of file +FileView.fileIcon=AllIcons.FileTypes.Unknown + +InternalFrameUI=com.bulenkov.darcula.ui.DarculaInternalFrameUI +InternalFrame.border=com.bulenkov.darcula.ui.DarculaInternalFrameBorder +InternalFrame.darcula.borderColor=5F5F5F +InternalFrame.darcula.borderInnerColor=3C3F41 +InternalFrameTitlePane.darcula.borderColorTop=5F5F5F +InternalFrameTitlePane.darcula.borderColorLeft=27292A +InternalFrameTitlePane.darcula.borderColorBottom=3C3F41 +InternalFrameTitlePane.darcula.selected.borderColorTop=566172 +InternalFrameTitlePane.darcula.selected.borderColorLeft=27292A +InternalFrameTitlePane.darcula.selected.borderColorBottom=313C4C +InternalFrameTitlePane.darcula.backgroundColor=3A3D3F +InternalFrameTitlePane.darcula.selected.backgroundColor=424D5F +InternalFrameTitlePane.darcula.buttonColor=8B8B8B +InternalFrameTitlePane.darcula.hovered.buttonColor=A8A8A8 \ No newline at end of file diff --git a/src/com/bulenkov/darcula/icons/internalFrame.png b/src/com/bulenkov/darcula/icons/internalFrame.png new file mode 100644 index 0000000000000000000000000000000000000000..3cfd3e0efadce629c4a47e8a7de3499fef21ddc4 GIT binary patch literal 311 zcmV-70m%M|P)7akU-6TQj<+Le!>Ci!YgIHZ(z7P95#cs?x@L|!} zd1jv9j_|heKpjJTWX+(iqgS+e>{8$WO)T)H3@-7Eq8EP=EBxT;Ui>X^p%-jyHNVzx%i~qy z+KFaqE!6ZGk83~up_2xZLisl}VL4Dw!l*a6xCI1x$JNQM9a002ov JPDHLkV1mtLjA;M> literal 0 HcmV?d00001 diff --git a/src/com/bulenkov/darcula/ui/win/DarculaWindowsInternalFrameUI.java b/src/com/bulenkov/darcula/ui/DarculaInternalFrameBorder.java old mode 100755 new mode 100644 similarity index 50% rename from src/com/bulenkov/darcula/ui/win/DarculaWindowsInternalFrameUI.java rename to src/com/bulenkov/darcula/ui/DarculaInternalFrameBorder.java index 09da330..afaf71f --- a/src/com/bulenkov/darcula/ui/win/DarculaWindowsInternalFrameUI.java +++ b/src/com/bulenkov/darcula/ui/DarculaInternalFrameBorder.java @@ -14,25 +14,31 @@ * limitations under the License. */ -package com.bulenkov.darcula.ui.win; +package com.bulenkov.darcula.ui; import javax.swing.*; -import javax.swing.plaf.ComponentUI; -import javax.swing.plaf.basic.BasicInternalFrameUI; +import javax.swing.border.Border; +import javax.swing.plaf.InsetsUIResource; +import javax.swing.plaf.UIResource; +import java.awt.*; /** * @author Konstantin Bulenkov */ -public class DarculaWindowsInternalFrameUI extends BasicInternalFrameUI { - public DarculaWindowsInternalFrameUI(JInternalFrame b) { - super(b); - } - - - @SuppressWarnings({"MethodOverridesStaticMethodOfSuperclass", "UnusedDeclaration"}) - public static ComponentUI createUI(JComponent c) { - return new DarculaWindowsInternalFrameUI(((JInternalFrame) c)); - } +public class DarculaInternalFrameBorder implements Border, UIResource { + @Override + public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) { + g.setColor(UIManager.getColor("InternalFrame.darcula.borderColor")); + g.drawRect(x, y, w-1, h-1); + } + @Override + public Insets getBorderInsets(Component c) { + return new InsetsUIResource(1, 1, 1, 1); + } + @Override + public boolean isBorderOpaque() { + return true; + } } diff --git a/src/com/bulenkov/darcula/ui/DarculaInternalFrameUI.java b/src/com/bulenkov/darcula/ui/DarculaInternalFrameUI.java index 5afd44d..1e2fc17 100644 --- a/src/com/bulenkov/darcula/ui/DarculaInternalFrameUI.java +++ b/src/com/bulenkov/darcula/ui/DarculaInternalFrameUI.java @@ -15,41 +15,233 @@ */ package com.bulenkov.darcula.ui; +import com.bulenkov.iconloader.util.GraphicsConfig; +import com.bulenkov.iconloader.util.GraphicsUtil; + import javax.swing.*; import javax.swing.plaf.ComponentUI; import javax.swing.plaf.basic.BasicInternalFrameTitlePane; import javax.swing.plaf.basic.BasicInternalFrameUI; import java.awt.*; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; /** * @author Konstantin Bulenkov */ public class DarculaInternalFrameUI extends BasicInternalFrameUI { - public DarculaInternalFrameUI(JInternalFrame b) { - super(b); - } + public DarculaInternalFrameUI(JInternalFrame b) { + super(b); + } - @SuppressWarnings({"MethodOverridesStaticMethodOfSuperclass", "UnusedDeclaration"}) - public static ComponentUI createUI(JComponent c) { - return new DarculaInternalFrameUI((JInternalFrame)c); - } + @SuppressWarnings({"MethodOverridesStaticMethodOfSuperclass", "UnusedDeclaration"}) + public static ComponentUI createUI(JComponent c) { + return new DarculaInternalFrameUI((JInternalFrame) c); + } + + @Override + protected JComponent createNorthPane(JInternalFrame w) { + this.titlePane = new BasicInternalFrameTitlePane(w) { + @Override + protected void installDefaults() { + super.installDefaults(); + + closeIcon = new CloseIcon(); + maxIcon = new MaximizeIcon(); + minIcon = new MinimizeIcon(); + iconIcon = new IconifyIcon(); + + selectedTitleColor = UIManager.getColor("InternalFrameTitlePane.darcula.selected.backgroundColor"); + selectedTextColor = UIManager.getColor("darcula.textForeground"); + notSelectedTitleColor = UIManager.getColor("InternalFrameTitlePane.darcula.backgroundColor"); + notSelectedTextColor = UIManager.getColor("darcula.textForeground"); + } + + @Override + protected void createButtons() { + super.createButtons(); + + MouseListener listener = new MouseAdapter() { + @Override + public void mouseEntered(MouseEvent e) { + Icon icon = ((JButton) e.getComponent()).getIcon(); + if (icon instanceof FrameIcon) { + Color c = ((FrameIcon) icon).getColor(); + ((FrameIcon) icon).setColor(c.brighter()); + e.getComponent().repaint(); + } + } + + @Override + public void mouseExited(MouseEvent e) { + Icon icon = ((JButton) e.getComponent()).getIcon(); + if (icon instanceof FrameIcon) { + ((FrameIcon) icon).setColor(UIManager.getColor("InternalFrameTitlePane.darcula.buttonColor")); + e.getComponent().repaint(); + } + } + }; + + closeButton.setBorder(null); + closeButton.setOpaque(false); + closeButton.addMouseListener(listener); + + maxButton.setBorder(null); + maxButton.setOpaque(false); + maxButton.addMouseListener(listener); + + iconButton.setBorder(null); + iconButton.setOpaque(false); + iconButton.addMouseListener(listener); + } + + @Override + protected void paintBorder(Graphics g) { + int w = getWidth(); + int h = getHeight(); + + Color top = UIManager.getColor("InternalFrameTitlePane.darcula.borderColorTop"); + Color left = UIManager.getColor("InternalFrameTitlePane.darcula.borderColorLeft"); + Color bottom = UIManager.getColor("InternalFrameTitlePane.darcula.borderColorBottom"); + if (frame.isSelected()) { + top = UIManager.getColor("InternalFrameTitlePane.darcula.selected.borderColorTop"); + left = UIManager.getColor("InternalFrameTitlePane.darcula.selected.borderColorLeft"); + bottom = UIManager.getColor("InternalFrameTitlePane.darcula.selected.borderColorBottom"); + } + + g.setColor(top); + g.drawLine(2, 0, w, 0); + g.setColor(left); + g.drawLine(0, 1, 0, h); + g.setColor(bottom); + g.drawLine(2, h, w, h); + } + }; + + this.titlePane.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 0)); + return this.titlePane; + } + + private static abstract class FrameIcon implements Icon { + private Color mColor; + + public FrameIcon(Color c) { + mColor = c; + } + + public Color getColor() { + return mColor; + } + + public void setColor(Color c) { + mColor = c; + } + + @Override + public int getIconWidth() { + return 16; + } + + @Override + public int getIconHeight() { + return 16; + } + } + + private static class CloseIcon extends FrameIcon { + public CloseIcon() { + this(UIManager.getColor("InternalFrameTitlePane.darcula.buttonColor")); + } + + public CloseIcon(Color c) { + super(c); + } + + @Override + public void paintIcon(Component c, Graphics g, int x, int y) { + Graphics2D g2 = (Graphics2D) g; + GraphicsConfig config = GraphicsUtil.setupAAPainting(g2); + g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE); + g2.setStroke(new BasicStroke(1.5f)); + g2.setPaint(getColor()); + g.drawLine(5, 4, 11, 10); + g.drawLine(11, 4, 5, 10); + config.restore(); + } + } + + private static class MaximizeIcon extends FrameIcon { + public MaximizeIcon() { + this(UIManager.getColor("InternalFrameTitlePane.darcula.buttonColor")); + } + + public MaximizeIcon(Color c) { + super(c); + } + + @Override + public void paintIcon(Component c, Graphics g, int x, int y) { + Graphics2D g2 = (Graphics2D) g; + GraphicsConfig config = GraphicsUtil.setupAAPainting(g2); + g2.setStroke(new BasicStroke(2f)); + g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE); + g2.setPaint(getColor()); + g2.setStroke(new BasicStroke(2f)); + g2.drawRect(3, 3, 10, 9); + config.restore(); + } + } @Override - protected JComponent createNorthPane(JInternalFrame w) { - this.titlePane = new BasicInternalFrameTitlePane(w) { - @Override - protected void paintBorder(Graphics g) { - super.paintBorder(g); - } - - @Override - public void paintComponent(Graphics g) { - super.paintComponent(g); - } - }; - return this.titlePane; + protected void installDefaults() { + super.installDefaults(); + } + private static class MinimizeIcon extends FrameIcon { + public MinimizeIcon() { + this(UIManager.getColor("InternalFrameTitlePane.darcula.buttonColor")); + } + + public MinimizeIcon(Color c) { + super(c); + } + + @Override + public void paintIcon(Component c, Graphics g, int x, int y) { + Graphics2D g2 = (Graphics2D) g; + GraphicsConfig config = GraphicsUtil.setupAAPainting(g2); + g2.setStroke(new BasicStroke(2f)); + g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE); + g2.setPaint(getColor()); + g2.setStroke(new BasicStroke(2f)); + g2.drawRect(1, 5, 8, 8); + g2.drawLine(4, 2, 12, 2); + g2.drawLine(12, 3, 12, 10); + config.restore(); + } + } + + private static class IconifyIcon extends FrameIcon { + public IconifyIcon() { + this(UIManager.getColor("InternalFrameTitlePane.darcula.buttonColor")); + } + + public IconifyIcon(Color c) { + super(c); + } + @Override + public void paintIcon(Component c, Graphics g, int x, int y) { + Graphics2D g2 = (Graphics2D) g; + GraphicsConfig config = GraphicsUtil.setupAAPainting(g2); + g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE); + g2.setPaint(getColor()); + g2.setStroke(new BasicStroke(2f)); + g2.drawLine(4, 12, 12, 12); + config.restore(); + } + } }