[ANN] StringEditorPlugin: v1.0

Ho ho ho... Here is the Xmas plugin,
aka
the StringEditor plugin.

It adds an intention that helps you edit - multi-line - strings in a
separate dialog:
(see screenshot below)

How to use is:
- 1/ it's an intention => Alt-Enter, or click the bulb, when the caret
is in a string.
- 2/ edit the string in the dialog
- 3/ press to close the dialog, and commit the changes.

There is no way to cancel the changes done in the dialog, but you can
undo them once you're back in the editor.


Ho ho ho

Alain




Attachment(s):
StringEditorPlugin.png
11 comments

Nice plugin, Alain.

Some problems/suggestions that I have:

- The dialog resizing while editing does not work for me when /adding/ characters,
i.e. when the dialog should grow bigger. Deleting characters works correctly.
See the attached screenshot.

- The string-escaping isn't working properly. You have to parse the string character
after character to replace escape sequences. Otherwise Strings like this
"c:
temp
foo.txt" will be shown as "c:\ emp
foo.txt".

- The plugin only recognizes \n and \r characters but should be able to deal with
all possible escape sequences in String literals. This makes it currently impossible
to edit a string like "a\"b\"c" that has embedded quote characters.

See http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#101089
for info on possible escape sequences.

- Because the editor-dialog is non-modal, it is possible to edit the code at the same
time in IDEA's editor. This will cause an Exception if the string is edited in both editors.
I think the dialog should either be modal or should close when it's loosing focus.

- Have you considered using an IDEA-Editor instance instead of using a JTextArea? This
would automatically add the possibility for undoing changes while editing, CamelHump
navigation, etc.

I like how the caret is positioned depending on the position in the editor. This is something
I'm really missing from the Rename-Refactorings.

Sascha



Attachment(s):
resize.png
0

Sascha

> Nice plugin, Alain.
Thanks.


> - The dialog resizing while editing does not work for me when
/adding/ characters,
fixed

> - The string-escaping isn't working properly.
fixed, with the help of
com.intellij.openapi.util.text.StringUtil.(un)escapeString


> - Because the editor-dialog is non-modal, it is possible to edit
the code ..
> I think the dialog should either be modal
When I make it modal, it ignores the positioning(near the caret), and is
automatically centered.
There must be a way to have both: modal + positioning.


> Have you considered using an IDEA-Editor instance instead of
using a JTextArea?
> This would automatically add the possibility for undoing changes
while editing,
> CamelHump, navigation, etc.
I'll look into it.

> I like how the caret is positioned depending on the position in
the editor.
> This is something I'm really missing from the Rename-Refactorings.
You're not alone:
http://www.intellij.net/tracker/idea/viewSCR?publicId=4497
Another 2-year old request, that's really simple to implement, and gives
a nice polish to the app.

Alain

0

Hello Alain,

Nice plugin !! :)
But, dynamic resize doesn't work in Irida :(

Best regards,

--
Alexander Chinaryov
mailto:alexander.chinaryov@ctco.lv
GFS Project - Java Team Leader
C.T.Co.
http://www.ctco.lv
"Programming The Future"


begin 777 stringplugin.jpg
M_]C_X``02D9)1@`!`0$!`$L``#_VP!#``@&!@<&!0@'!P<)"0@*#!0-#`L
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I#`Q-#0T'R<Y/3@R/"XS-#_
MVP!#`0D)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C+_P``1"`%8`3<#`2(``A$!`Q$!_\0`
M'P```04!`0$!`0$```````````$"`P0%!@<("0H+_\0`M1```@$#`P($`P4%
M!`0```%]`0(#``01!1(A,4$&$U%A!R)Q%#!D:$((TQP152T?`D,V)R@@D*
M%A]]>7J#A(6&AXB)BI3E)66EYB9FJCI6FIZBIJKSM6VM[BYNL#Q,7&
MQ\C)RM+3U-76U]C9VN'BX3EYN?HZ>KQ\O/T]?;W/GZ_\0`'P$``P$!`0$!
M`0$!`0````````$"`P0%!@<("0H+_\0`M1$``@$"!`0#!`<%!`0``0)W``$"
M`Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O`58G+1"A8D-.$E\1<8&1HF
M)R@IC4V-S@Y.D-$149'2$E4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(FDI.4E9:7F)F:HJ.DI::GJFJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H`#`,!``(1`Q$`/P#UUM&U&Q\2
MWJ:6]JZ:G'&MPMT6!A>,;5=-H<;2<H2N2!\PSQC2^#M5%VZPR63VPUPZTD
MCRLKD[>(BH0@#=QOW'CG;VK8&OZ)H[6VFQQ7%J9%+6]O%ITRAAC>=JJG4;LD
M#D'.<'-6[CQ#IMMJ)L)+AS<AHU=8XG=8S(<('9050L>FXCJ*X74IO?\`,YG3
MI2W?7OU>IQUKX!UE=#MKYEL/,L+2Z@M!'^)'N-P=G8IP%5N%`.2.2!71>%
M=$U'0TM[5[>PMK1+?$XMIF<W$V-1(08UV_*C9`/);)R>:?]IN/>\O_`'V:
MKWL,6HPB&^C2ZB5MP2=0Z@],X/?D_G71&A&.L1QP\8.\=S3\6:+)XA\,7NEP
MS)%+.J['<97*L&`..QVXSVSG!Z5@?\(;J/\`9V_SK7[=_;W]L3N;RO^KW[
M<].=VWKQCO4UEIUEITQFL;.WM967:7@B5&(ZXR!TX'Y5>^TW'_/>7_OLTW24
MGS2W*E1C-\TEJ8$WP_U&/PYHME;W5K)=6-O>0R"0LB-]H1@2&`)^4MZ?-_LU
MIWOAO57ATC35Q7NCV%M&DEO-,T'VB9,`%\(4&`0G\O\` MWV:/M-Q_SWE_[[-)4(+8E8:"V\OP_P"&-Y;6W2X:X6WB6=LYD"`,>O(1 M!_P$>]]>@K)M;2E\8WVH7&G:;!:16Z6MK<A-]W<`X=B7S\D08[0F"2REL@8S7
MTW'_`#WE_P"^S1]IN/\`GO`-]FMCHL=)17-:;C_GO_WV:/M-Q_SWE_[[
M-`'245S?VFX_Y[R_]]FC[3<?\]Y?^^S0!TE%<W]IN/\`GO+_`-]FC[3<?\]Y
M?^S0!TE%<W]IN/>\O_`'V:/M-Q_P`]Y?\`OLT`=)17-_:;C_GO+_WV:/M-
MQ_SWE_[[-`'257M_]?=_]=1_Z`M8?VFX_P">\O\`WV:07$P)(FD!8Y.&/)H`
MZ6BN;^TW'_/>7_OLT?:;C_GO+_WV:`.DHKF_M-Q_SWE_[[-'VFX_Y[R_]]F@
M#I**YO[3<?\`/>7_`[-:&F2R2>;OD=L8QEB?6IGE5P-2BH\GU-&3ZFL?K"
M[#L245'DIJ2M=13!H***T$%%%%`!1110`4444`<3J=MJ#)?#MY9Z!="S
MTR.8.B/;K@21!551Y@'RG@]!QQD58TK2[W2=1U.T?3UO+2^U`W\=R74)&6()
M5E/S;E`J0""2.5Y(Z?4]-M;RSN+ZUANI<>7#),JN^3@84G)R>AM==T2]
MN$M[35K"XG?.V.Y1V;`R<`'/0$UP?5[/<PY:E?FUOY=K&172?9K?\`YX1?
M]\"N;JSXTU"XTSPT]S:W,]M(;NTB,UO")9%22XC1]B%6W-M9L#:>>@)KO-S;
MS6__/"+_O@4?9K?_GA%_P!\"N,M]<U2RL;Z6.>O;5I;.VMK5[[-(L
W
ME.#&(XBT:!HG'RC<2R[_`.Z:_J>K>&-.U6V759[Z8Z)?:A;7=S%$)()(`@QA
M$5&4F52`5R"K9!@%`.S^S6__/"_O@4?9K?_GA%_P!\"LSQ+?7&GZ5!-:R>
M7(VH64).T'*2744;CGU5F'MGCFL^TEUG6%N-6LM1\GR+NXMH=-=$\B40RO$?
M,?89`S%&(92`N51]K;P#H_LUO\`
(O
!1]FM_>$7_?`KGN^UF49M#C
MDS=7DOG65WM3]U:`IYQ;MYD9<JGRD'?#G?B4KU%`$7V:W_YX1?\`?`H^S6__
M`#PB_P"^!7GFD_$E+B#7[W[98ZA';Z?/JEG;V\R[_*B>0;6VY,>8Q;-B0;MT
MLG9=B=A8V.LV=Y')/J_]H0S9^T1S1)$(3@D&#8N=N>-DC,<$'?E2'`-/[-;_
M`//"+_O@4?9K?_GA%_WP*YS0I=9U73M,\1)J.Z/4(HKA],E1%AABD`;".$\S
MS%!!RQ*N0PVH&!3M_6-:U6QL1K=W8H[ZPSO:Q0%F%O>I%$I\R-A@(Q'`!/
M!)-`';_9K?\`YX1?]\"C[-;_`//"+_O@5PFK:_J-N(-.DU*A:VUOS[B]L;
M-9IYX_L37"GRA&X#99`Q5<':S`(#M62ZUC5[73]*;1KW4M2N)]3DC:/5[$6K
MSJMI-Y(!BBVAFC7$F#@GG<`5H`[?[-;_P#/"_O@4?9K?\`YX1?]\"N8BOY
M_$>O7MKI^MW=G9QV5I<1O;11;P[2722PEC8J<QJ"I`E,<'<#8\#G4+KPKI
MNJ:CJ]W?SZA96]PRS1PHL3,@9@GEQJ<$M_$3T'OD`W_LUO\`
(O^^!1]FM_
M>$7_?`KE/'WBB7P]:V<-G?6-K?7'G2I]ME2)'6*)F"[I"%:4P(1G=MD8C&
M-Z]187UOJ>G6U_9R>9:W4230OM(W(P!4X/(R".M`#_LUO_SPB_[X%'V:W_YX
M1?\`?`J6B@"[-;_`//"_O@4?9K?_GA%_WP*EHH`B^S6_\`SPB_[X%'V:W_
M`.>$7_?`J6B@#(U:./R=BN=V=HQGI1I/\`RV_X#_6GZS_RP_X%_2DT<`^=
MG_9_K45(N4;($:%%2;1Z4;1Z5S^PD5<CJ6DVCTI:UI4W"]Q-A1116P@HHHH`
M****`"BBB@#Q[TF[DTO7[&RTO5-NI6FQV"SVKAF$6$82'&U"-ISN('<<$&
MK-G9:E)?2W$]C>_V5%XD?471;*5;C!XBD4,/G3/WE"[@!GOQZO3)4:2%T61X
MF92!(@&Y3ZC((R/<$5R_5E>]_P"M7IQ_4U>]_ZNWIS-;NIZ;#JMJEO.TBH
MEQ!<`H0#NBE651R#QN0`^V>G6L*MG6M3_LC3#="'SI&EBMXHRVT-)+(L:;FP
M<+N=<D`D#)`)X/4=A8OK&WU&SDM;J/S(7P2`Q4@@@JRL,%6!`(8$$$`@@BL>
M3PG!=Z=J%MJ.HWU_->VDEDUW/Y0DBA<898PB*BY/).W)(7<2%4#+@\4ZG;VF
MOW.H6UI`]GJ:6P6\O8X+>V0V\#$M-M),[MM.TL3(@KSMCLO$H)-:T"/3
MG@M],N(KJXN)[>X61I&MIEB9$)C*M"S,,,-K,ISE-NUP#8/AB:=1'?\`B+5;
MZ%989ECF2V4!XI4E4YCA4]8P#ST)[X(DG\+VT]Q_I=VFGSN9G3$*?9YW)R
MQ8%=X#'EE5@KG=N4[WW;E%`%.3389=9MM49I//M[>:W101M*R-&S$\9SF)<<
M]SU[8\__``E6HV\ME<:=IMG!<(8IFSUF7SX588QYM@-X!R.1R!R*Z2B@#+
MNO#VFW0L4:VC2"S1XD@C11&\+1F-H67&#$1M.SIF-#_#4=CX?2TO([B?4+Z_
M\C/V1QU<6H((.TA0S-M.W?(7?&[YOF?=L44`8<'A>V@N(O]NWT^!Q);:8Y
M3[/`X.5*@O(4\JK,50[=JC8FVN_@^)9K>>QU?4K">![QA)!Y%A<S":12)(
MV&`RC&`"`.2:Z2B@#G[CPG!-:VB0ZC?6UW;W9O3?1>4TTTQB:)F?>C*<HY&`
MH"@*%"JH`L1:"=UA)>ZK?7\UC=M=0R3B%3DQ/%M(CC4%<2,>F<]\<5L44`9=
MAH%CINLZAJ=HLD<M^D:S1[OW8-(VY5_A+-Y;'!)SC)8FNEGJ6@Z-IFEZ#9
MVEY!:6ZVZ_O6@8*BJJGY(7#$@'/"_KQN44`8F65Y)J,NK:M;007QB%M'%!
M=&XCCC!%E1H59R0&`&"(H_2KFEZ;#I-@ME;M(8$=S&KD?NU9RP1<``(H.U
M1V55':KE%`!1110`4444`%%%%`&7K/\`RP_X%_2C1O\`EO\`\!_K1K/_`"P_
MX%_2C1O6_\`P'M`&I1110`4444`%%%%`!1110`4444`%%%%`!1110!RU;N
MJ:;#JU@UI,TB`NDB21D!HY$<.CC((RK*K8((.,$$9%85;.MZG_8VCSW_`)/F
M5M&"VQ%W,%WNV#LC7.YVP=JAC@XQ0!EQ#;:&&;R]2U(7DE[]O%\TB/*D_D
MB%F4,A3!0,-I4J-YVA0%"V-)\*V.C36DMM-=N;5M$\^7S"1<3,^YC\S$,@
M`).<9SD\UAW?B+6=5M=!CTTV-O'J>H-:RWUC?I<*$6)Y-T#F)E;_`%;J=Z##
M5`P1(N?J7CK719C5;3H(WJ]JD\X9)E4V[1E\N614=R8Q\IW!(>2
M@!Z117'V'B*]L]8MO#]X8F\78LQN;^-N8LH=GAB$4:RPIN(+C8?W4GREEP
MUA?&"XOCT&X2Q22>5X8HDU!9M2L;2;Y(`/DC94)#;R?FCRH+$*`=117F^I
M>.M=%F-5LM.@CM7\/W>KVJ3SADF53;M&7PNY9%1W)C'RG<H$AY*=YI4%W;:7
M;Q7]S)<W83,LCLC$L>2,HB`@9P#L7(`R,YH`N4444`%%%%`!1110`4444`%%
M%%`!1110`4444`%%%%`&7K/_`"P_X%_2C1O6_\`P'M&L_\L/\`@7]*-&_Y
M;_\``?ZT`:E%%%`!1110`4444`%%%%`!1110`4444`%%%%`'+5T-]:_;;.2W
M%Q/;LV"LT#[71@001V."!P05/0@@D'GJL^,M1U33=!672$@-U-=V]KOFEV>6
M)95BW+\CC<"XQD$#J0V-K`$EMX7MH);:XDN[NYNX;TWSW$I0-/*8&MP7"J%`
M$;``*%^Z"<G.<=_!NBI<#1Y=2U)GN-'N["UMVD!6"R)A5E3Y,`IF,!FR[;OF
M6U&.RT5M5G2XEEU,R:D(HC-Y=K=^2JA=GEAB'3;",*PVY8,N7X
MJUB[\.>(]"34=5M(9Y[>ZLX-0E9(\Q-/9EY'W`1I*L0E(ZHS("%^<1@`[2]\
M/I?:BMQ-J%\;42QSO8;U,+RQE61LE2ZX9$.U6525R0=S;J\?A&SBUBVU!;R^
MVVMW+>6]IYH\F.259!<;<MN,K-\Q)4\54E3S\^K:EK/@[1_$%EXAGLYKB6
MSM+F*Q2WD@\U[E()RIDC<G!9PI#%3M4C<.3<NM7U/0]0O[#[?)?F.WTU();N
M./RW5W-"9&$:H&"CR_E&W(3&026H`L?\_TTV\MNU]J3P-ID^DPQM,NVWM9
M`@V(-N,J(P`S98_Q%\+CK*X?7]3U;PQIVJVRZK/?3'1[4:[N8HA)!)`$&,
M(BHRDRJ0"N05;)8,`MSW[XZCHFG7#1P7YU-[:A1<"6+[/<O'(H.2$<Q*XP
M3@AD$JPH`ZRBL?Q9?7&F>#=<O[.3R[JUT^XFA?:#M=8V*G!X."!UKE[G6B
MS\/>(+VSUWQ'<W5KI5S/"-3T<6\:.J95@QMHPS`@?2<@G@XX`/0*X?1M6N
M)O$=K966L:YJ6/FOH=5TP6H@@*2;)5/D1$L9$50,MD%_E^4LN/X;\2:C?6?A
M]X]<URU>]BMYY;[TI8;9XR8_M#K(=/E171)@G8/FW`,`>H45Q=WJI_
MV)JWBJ._DC@TQ[PI@CC,4R6SR(V]RN_>_EL0RL`N4RK[6WYHZT7B7(K[
MQ'X@T^"UO8;:WCT_25GB`>"`@%_LTGSM)(1@MGE0!R,@'HE%4])DOIM&L9=4
MAC@U![>-KJ*,Y5)2HWJ.3P&R.I^IK',FIZUJVJ1V>J2::FEW"VZ(D,<JW#F&
M.4MN&=G[Q5VH4/#'?\`,-@!TE%<W-/J>K:R^D>R:2]K907=Q)9>7,SO*TJ
M[%:6,C8OE-SLRVY?N;2&RX=3U;7]4TJR759],S%J0N7L8HCYTEM<Q0!@)4DV
MJ<NVWDC<!N.,D`[BBO/]6U_4;<0:=)J5]"UMK?\`9]Q>V-FLT
?V)KA3Y0C
M<!LL@8JN#M9@$!VKU'AN;S].D;[?JM[B4CS-3LOLL@X'`7RHLK[[3R2,\8`!
ML45SLRWMSXATW1K749]/CGMFZ>>V2-I"8GA4\1UVGSF)^7.57!`R#R\O
MBG6;[P]-K,=Y]DDL/#5MK9@@B0QW$LB3,R2;PS>7^Y``1E;#-\Q."`#TBBN+
MO]7U./5-1NX[1(#6+35LA'&8I4FS;G<E=\?:6QM91\B9!;=<FNM1L?
M%]A;-J<]PM[()9[58[:'RY&7RY-N6FS&@^8Q(,C;%7&P`U-9_P"6'_`O
MZ4:-_P`M_P#@/]:-9_Y8?\"_I1HW_+?_`(#_`%H`U***`"BBB@`HHHH`**
M`"BBB@`HHHH`***`.6K=U/38=5M4MYVD5$N(+@%"`=T4JRJ.0>-R`'VSTZ
MUA5?_M>X_N1?D?\`&@!I\+VR6JQVMW=VMREQ<7$5Y"4\V,SRM)(HW5$MC:
MRD?I^\JL<7AA;Q;I-^L'VE;>TO#->S[6E:YD:W`<GCYBB2\H`51M`5=J
MU>_M>X_N1?D?\:/[7N/[D7Y'_&@!TGANSD@N8/,G6&?4(M0\M6`6.2-XY,(,
M<SQ[F'4L[G.6J2YT"QO+V]NKE9)#>6\%NZ;MH41/(Z,A&&5PTA(8'(J1@C
M-0_VO<?W(OR/^-']KW']R+\C_C0!#)X3@N].U"VU'4;Z_FO;22R:[G\H210N
M,,L81%1<GDG;DDN)"J!8U30;>\U.SUF*.IV&]X/WQC28F.1%24@'*CS7(.
M"5W-C[S!F_VO<?W(OR/-']KW']R\C_`(T`5;FVU[7*ZTG6-,TVUT]MY;
M>>:TU1Y945T*Y56MU!//<\=>>ADD\,37>G:A8:CXBU6^M;ZTDM7299=@<8
M*8X5.X#.,Y'/0U-_:]Q_<B_(_P"-']KW']R\C_C0!>GTV&?5/4=TB7%JDD
M:E2,/')MW(P(/&Y(VR,'*#G!8&G;^&[.VTG1=/BDG"Z-Y7V64L"XV1F/YN,'
M<C.IX_B)&"`0WU[CY%1_QH_M>X_N1?D?\:`&S%[:>XE_TN[33YW,ESIB
M%/L\[DY8L"N\!CRRJP5SNW=[[K#:!8RPZU!.LDT&L.6NXV;`(,0E5(P0"L
M8[YR3STQ#_:]Q_<B_(_XT?VO<?W(OR/^-`#9I?$UJX@L[#3;Z"-%47-WJ30R
MRG:,LR);E0<YZ''L.@)M`:]<71O;O3)[A%^WPZ?,NRX8*!@NR;@0/E\Q/+<@
MR-J[7?VO<?W(OR/^-']KW']R\C_C0`ZZ\.P/Y#:==3Z/-#$MNLE@D0S"OW
M8RKHR%5/W?ERN2%(#,#7N?"<#2V$NG:C?:7)9130H]KY3F1961W+F9'W,6C#
M%OO$DDDDFIO[7N/[D7Y'_&CU[CY%^1_P`:`(;CPG!-:VB0ZC?6UW;W9O3?
M1>4TTTQB:)F?>C<HY&`H"@%"JH`D,&OZ9;I%92QZV[.S22ZI=+;-&,#"KY
M-N0PZGD`CU/9W]KW']R+\C_C1_:]Q_<B_(_XT`0OI.HZOY-Y?2?V-J=OYD44
MVF7*W&87V%E/G0A>613]S(V##<D5'<"M-FMX[2WGN[.SQ1Z=/;0NI6YM4#
M!8G+JS``/(-R%6<Y;(!%KU[CY%1_QH_M>X_N1?D?\:`&W'A>VN=4>[-W
M=I!-<17<]DI3RIIX]GER,2I<$>5%PK!3L&0<MND7P^G]L1W\VH7UQ'!*\]O:
M3.K1P2LKS=OF'AY`%9RH#X``"[6_VO<?W(OR/^-']KW']R+\C_`(T`3:S_
M`,L/^!?THT;_`);_`/`?ZU2N;N2ZV[PHVYQM'K5W1O\`EO\`\!_K0!J4444`
M%%%%`!1110`4444`%%%%`!1110`4444`4/[(M_[\OYC_``H_LBW_`+\OYC_"
MK]%`%#R+?\`OR_F/\*/[(M_[\OYC_"K]%`%#R?^_^8_PH_LBW_OR_F/\
MOT4`4/[(M_[\OYC_"CR+?_+^8_P`OT4`4/[(M_[\OYC_``H_LBW_`+\O
MYC_"K]%`%#R+?\`OR_F/\*/[(M_[\OYC_"K]%`%#R?^_^8_PH_LBW_OR
M_F/\*OT4`4/[(M_[\OYC_"CR+?_+^8_P`*OT4`4/[(M_[\OYC_``H_LBW_
M`\OYC_"K]%`%#^R?\`OR_F/\*BBTV%Y)U+28C<*,$=-H/I[UJ57M_]?=_]
M=1_Z`M`$']D6_P#?E_,?X4?V1;_WY?S'%7Z`']D6_]7\Q_A1_9%O_?E_
M,?X5?HH`H?V1;_WY?S'^%3VUI':[MA8[L9W'TJQ10`4444`%%%%`!1110`44
M44`%%%%`!1110`4444`%%%%`!1110`4444`%%98UAY-3GLX-,O)E@F6&6X4Q
M"-255^[AB`'&<],U%<>-"@M#<C5;.:(31PL8KA&VEVP,
#JQ]E8]JGGCU
M9NL-5;2C&][;:[[;;7\S9HJHVJZ<EQ/;O?VJSV\9EFC,RAHT`!+,,Y`P0<GU
M%2_:K?RO-T1>7YGE;]XQOW;-N?7=\N/7CK3NC-TYJUUN3454CU73IHHI8K
MU>.;_5.LRD/\P3Y3GGYF5>.Y`ZFA-5TZ3[5Y=_:M]DS]IVS*?)QG._GY>AZ^
MAHYEW'[?\K^XMT51?6MCL8[Y]3LULY&VI<-.HC8
!LX)X/Y&IGU"RCOH[
M%[N!;R1=R6[2`2,.>0N<D<'\C1S+N'LI_P`KZ].V_P!W4L451CU>RGU);&"9
M9I2LI8Q,&5#&4#V#PW[Q>/K5B6ZM[=T2:XBC=_N?F91]6`[BB
MZ$Z<TTFMR:BJB:KITGVKR[U;[)G[3MF43C.=_/R]#U]#3[;4+*\6)K6[@G
M656:,Q2!@X4@,1@\@$@'T)%%T#IS6Z?]:_D6*KV_ON_NH_]`6LZV\4Z5=Z
MW_9,-PK7)4LA#J5D`2-P5P<D%9,CCG8_I6NJ*C.RC!<[F]S@#^0%"DI;#J4I
MT[*:M=7^0ZBBBF9A1110`4444`%%%%`!1110`4444`%%%%`!1110`4444`%%
M%%`!1110`4444`%%%%`'-_V%(OB.ZOWT?2;M9KF.9+J:3$\(6.-?E'E'D%"P
M^8=>U5IO#>HC3=#BA:U>?3K2)U>1E5W26V?@A2<$0,,X[CCKCK:S=*+N=L
M<?5BXM==^BMW[/I8XV[\(74Z:A"GE$2_:Y(9IR<@/,L@`\G[B8\TC<-V0#
M\H<:WB33OM'AU;"TMHBGGVJ%Y&^-4$T><H,90#D<<`]W**/912:743QU
M:4X3D[\KNOZ_I=CG;0KC_A(5UB]2U$C><YC1C)YLD$:[6*C/RPMDX'W\<C
MFJ-AX3N2T$QP2M;VPMX7EO;B3S0&0Y`)`MS^[!&S<5.T@_)ANPHH]E$:Q]
M9*R?9==E>WYO?\]3F&T74Q9QND=K]L61V#=2)(@(4F,A@$W;B MF78GA>:/4P^V!K=IH)V*7$T,<9B6-0JVZG8PS$""6XR.&VC=U5%'LH@L?66V MGW^O?I_P]SDK;2=1T3RK\V]K"V[C]]>(+#4&6)DM8)T&X997<QX\<?K@GW]S6C135-)6(J8N<Y<SWU7R?_#O
M[SC[#PG<6EH(7C@E:WMA;PO>W$GF@,AR`2!;G]V"-FXJ=I!^3#7?1]5MIH
M+R,V8NE6:)ED=GVH_EX=I-H:9E$2CD*2"`6RNYNDHJ52BMBY8M)MRUON_W
M_P!:')>'_#>HZ-?V<LK6LD:0&&7;(V1^XMDRHV\_-;MU(X8'KQ76T45<(*"L
MC'$8B=>2E/?8***HP"BBB@`HHHH`**`"BBB@`HHHH`***`"BBB@`HHHH
M`*X'5K>QN_%NL6WB@XMYK1(](+KN^4KB7R1@@R[]N!@OTP"YVZ^S_VM/\`
M;/M+A6\[SL>=]@\OYMV>?(V9SGY=OM7/*OR]/Z_K8Y)XGEZ=;;_U\CV"
MBO"=-S_`/")6_V/RMO]F7O]L=-F=S_9=>/,WXVX^?IVKL_A]'ID<MD8Y["
M74'L"P%BD:[(MMN&6?'S>9O!P23G+].@FGB>=I6W\Q4L7SM*V_G_`%_PYZ'1
M7,?$3[1_P@.K?9?-\SRUSY6<[-Z[G;;NS[9SQ7&?\R]_P!03_A+?W;['O_
M`.?W_\!S[U=2MR2Y;=EU<1R3Y;=GK5%>7GVC_A!/"W]H;]E^R:CG[1
MG9O\I_L_WN,X^Y_X[6_XAGMX--\$R:C>O'J4=S8O<Q7-TP94`.Z1XV;`.[(+
MD9[9J%B;INW;\2%B[INVUOQM_F>F45C66DQ_VV^MPWB317NRBY4ATMU!#`
M\C]QGWW^W,$.H?:/'US90ZYYD=KIZFXTI+3(BD9\K*TX'RL5X$9.2/FQCFNE
M-O<ZHMO='04444R@HHHH`***`"BBB@`HHHH`KV_P#K[O\`ZZC_`-`6K%5[
M?_7W?_74?^@+0!8HHHH`***`"BBB@`HHHH`**`"BBB@`HHHH`***`"BB
MB@"&U6X2W1;N6*6<9W/%&8U//&%+,1QCN:FKBKUY]6\3Z_87NJ7&F0V-DCV3
M13M`N'4EYVPREPC`#KM'((R<UA2ZA?S7;W:A>B1_%9TLAAU3[,5V[`@(4'
M'\0&[/.G](]2JO>I>O"!8W%O!+NY:>`RJ1Z8#KSTYS^%>1 M6&K:F/#5BT>J7]Q-?:9?3W@:ZD9H/)+F&53G='E@$/.UL8()KL/!27A%A.%[N6=;B/9;DS'>Q",&9A@`??XR!DJ%=3TL3#$JHTDOZ_IG3V46J MI,3?7ME/%MX6"T:)@?7)D;CKQC\:O5S7C^_NM,\#ZG=64[P7"JBK(GWE#2*I MP>QP3SU':N5_M74?[.^P_;[KR?\`A+?[-W>]]>9G?U[YSCC..*<JJA
M+EG7C3ER6Z7/3Z\?EU[5[KPAX:,FI70>>TU*262.4H[M!&_E$LN"<8'?GO
MFMK4;C6-4M-!-AK-Q_;%WIT$L=K"-B1N61I+F8J<;,`IM92"3\H)S4K$IK1=
MOQ_X<E8M-.R[?C9_J>C5''!#"\SQ11H\S[Y650"[;0N6]3M51D]@!VK-M[#4
M8_$,]Y)=[K%_,V08QVY2`+\O3@QRG_@?N:;]OO/$R_L[[7I7V'S_/S>8
M?MOF>9MW[>GDXXSUW5T)W.E-OH;%%%%,H***`"BBB@`HHHH`***`"J]O\`
MZ^[_`.NH_P#0%JQ5>W_U]W_UU'_H"T`6***`"BBB@`HHHH`***`"BBB@`H
MHHH`****`"BBB@`HHHH`SQ:17RVT^J:=9M>0,6CQB81'/!1V4$'A3T'(]LT2
MZ1I,]V]W-IEG)<R*5>9[="[`KM($9(V\?3BN9U.76?Q+X=TX:S=1)J$<PN
M%1('VM'$#E6,0ZMDG(U?7K_`%*XMK[[)!8:D+-;4(A61(V7S6=B
MI;*3@MQ@]]>T@WRN.OR[7-&.W\/0V\UO'HMJD$^WS8UM8PLFT
MY&X=#@\C-0_\2_2OWAZ%8)=-\C':MO\G4_,B,3R!QC5,J__9%Q_?B_,_X5
MW<BZ&G)'HB&#5[F[\V#5-,M4M7C*L([@S;
;2K1J,$9[_A4N[1_[._L_P#L
MVWIUY^M_`&1<?WXOS/\`A1_9%Q_?B_,_X4^7N-17742=
MM'NK.*SN--BFM8L>7#)`C(F!@84\#`XIMZFA:C,)K[2;>ZE5=H>>W1V`ZXR>
MW)_.G_V1<?WXOS/%']D7']\S_`(4<J?0'&W1;_M>W_N2_D/\:IVK:397
M]]?V]F8[N_='NI@HW2E$"DYZ!1P.G)/4DE?[(N/[\7YG_"C^RC_%9_PI
ME%OU[?Y^0_P`:/[7M_P"Y0_QJI_9%Q_?B_,_P"%']D7']+\S_A0!;_
M`7M_P"Y0_QH_M>W_N2_D/\:J?V1<?WXOS/%']D7']^+\S_A0!;_M>W_N
M2_D/\:/[7M_[DOY#_&JG]D7']+\S_A1_9%Q_?B_,_X4`6_[7M_[DOY#_&C
MU[?Y+0_P`:J?V1<?WXOS/%']D7']+\S_`(4`6_[7M_[DOY#_`!H_M>W_
M`DOY#_&JG]D7']^\S_`(4?V1<?WXOS/^%`%O\`M>W_`+DOY#_&HHM2A22=
MBLF)'##`'3:!ZU0_P!D7']\S_`(4?V1<?WXOS/^%`%O\`M>W_`DOY#_&
MCU[?Y0_QJI_9%Q_?B_,_X4?V1<?WXOS/%`%OU[?Y^0_QJ6WOXKB0
MHBN"!GD#_&L_R+C_%9_PJQ9V,MK7=D(X4FIF[1;0&AO'O1O'O3**Y?
M;SL/WCWHWCWIE%'MYA8?O'O1O'O3/;S"P_>/>C>/>F44>WF%A^\>]&!-
M1TY.M5"K)R28K#Z***ZA!1110!AW'A73+JZ@NIEO&G@7;%)]OG#1C:%."'X)
M`&3U/?-6'T'3Y-4.HM;?Z2VS>1(P60I]PN@.UBO8D$C`QT%<E?>.]5@AU2\6
MQM[>2X;*2>TG5C(9\%EWY&PKG'*MR,^U%CXUU5]76SF?3;B4:PVFO:6\3)
M,8P#F<9D;"C'(VD<'D5P6HWM_78Y/;T;VM^'R_S-BMW5-4M-&L&O;UY%@5T3
M]W$\K%G<(H"H"Q)9@,`'K6%5GQG9W%]X?2WM3.LS:A8D/`@9XP+N(LX!!'R@
M%N00,<C%=YUERS\0Z9>V]U.L\ENEHGF7`O8)+5HDP3O9954A/E;YL8^5N?E.
M(XO%&DR:=?7S33P0V$1GN5N;26&2.,`G?Y;J'DV"!@E6`R0167J7A>=-.G
MGCN[O5-2:XLIFDN3$CR16UPLPB4(J(#_`S!(&2_S,`!C\4/XET[5K[3K
M^,,'A_4;)5GLY89)IIA&56.-U#M@1<G&"746.X`=Q>WUOI\"S74GEQM+'"
M#M)R\CK&@X]691[9YXJG-XATRWU0:=)/()]ZQLX@D,4;MC:CRA=B.=RX5F!.
M],#YESAZUK$.O:?#:V%GJK3)J%A,PFTJY@&Q+R$L=TD:C@9)YZ`GH#1:N^F6
M-]X?N-(GOKJZN[N6*,V[&TGBGFDD&;:410LA#AOF5MJOE-X!T#ZWIT=G=7
M3W&(9,@!-F-Q9MR[0`2^]2N0RYT*YN\TI9/&MB_V:0V<UO+=76-
MWE/<Q-`L#N/NEPK28SR=B'DQ(5W+ZPZ=>X\B)Y?)MTWR2;03M1>]]>['
M&`.YH`CL]5L=0NJWMF.66U?9,J_P`)R1^(W*ZY&1N1UZJP%?3?$.F:M<-!
M9SR,X0R(7@DC69`0"\3,H$J<K\R%A\R\_,,\'_PB'B2TTZ>QN;JQN9M;TJZT
M^Y>UM9$5;IQ),LLK%F_=[YD;E5/FE4;"-H3M;55U>_MHTT:[5[9S)-)?6S
M1?97V,N(V((D<[F7,9[=QW\J'`$/B'3C5#IT<\AGWM&KF"012.N=R)5V
M.XVME58D;'R/E;%>X\7:/;&%3)=S/,]PB):V,\[$P2".7*QHQ`5R!D\'(QFL
MO0'>TT/1O"\^D3W%]I\5O#<&:W9;91#M_?+,5*/RJLBKE\E=P3#E,O3Y)=#U
MK3[RL=2\C?KB%H":<J9-X\B-&(#*I8$C!`XH`ZRX\4:3;:=:7SS3R0W<
MI@A6"TEED:0!BR&-%AE$;[@0"I4@X(Q0GBC26BM9)9I[1;N[%E`VTEMC),
M5!0)%4\@'!Z$\`YXKC]6MSSH-8`U6R@N_$'VU9+.R,US!"-/:`,T7EOMW,
M@XD@2+DV0MRXL%\06VC6L\VLZK9OJ<\=V^HV+6KK$UC<(1@11$)EP`V.K8
MW9P``=1?^(-/TZXDMYOM<D\21N\=K937#*LAD"$B-&."8G&>V!G&1DT3Q!I_
MB&W^T:=]K:#8CK)-930+(K#*E#(BAP0,Y7/4>HK'\.P:O%XOUEM5BD;996L$
M5YM`2Z59KHJP(P-^QX]XPN&S@!2I.AX+@FM?`OAZWN(I(9XM,MDDCD4JR,(E
M!!!Y!!XQ0!H:EJMCI%NMQJ%S';Q,X0,_K@D_@%#,3T559C@*2+E<?XJT:_\`
M$^L0:;"8(K"VM)9)VO622.9YE:$!"DD9W'YX;YN!*AP205W/#DU]-X?L_[
M4$G]H1(8IWCV>9&2CR,#Y&92RG`RK<#.`-2BBB@`HHHH`1@2.*6BE)
M<RLP(]I]-I]DHK'V$1W(]I]-I]DHH]A$+D>TE&TE244>PB%R/:?2C:
M?2I**/81"Y'M/I3E!!YIU%5&C&+N@N%%%%:B"BBB@#E9/`5A.LZ7&H:E,ETL
MW@DD0FZ$1RF]MFX'&`2I4D#GG)(O@NPL8;BYW:DUP+EK];E`AFBE/L!(
M0X`!0A@<#`KJJ*S]C#L8PI]CEJZFN6J[XN@FN?#LD<44DR?:9KB)%&2W
M6=&F7:.7!B#@H`2P)7!S@Z&QJ6]];W<]W#!)ODM)1#.-I&QRBR`<]?E=3QZ^
MN:CO-4M&XM;>9Y#/=/MBCBB>1CR`6(4$J@*"YPJ[ADC(KSM-/":/K21>'Y
MX],GUM)(X;ZQFN$C@R1!7RVZ6/>H58N/+RIKY15;'A#1+@:QX?O]3T?R
MKNVM-5A\Q[0(;<?:T$,:\L$41M($4.P"%@IY)`/2**`"L.#P7X5M;BXM
M_#6C0SQ.'CDCL(E9&!R""%R"#SFMRB@`HHHH`****`"BBB@`K/U/0M'UORO[
M6TJQO_)SY?VNW279G&<;@<9P.GHT`>FZ3INC6[6^EZ?:6,#.7:.UA6)2
MV`,D`,X`&?85<HHH`**`"BBB@`HHHH`**`"BBB@`HHHH`***`"BBB@
M`HHHH`***`"BBB@#EJZFN6K1\4VWVOPY=PE9V4[&988O-+'4D-'D&2,@$/
M&#N=-RC)(%`%S4M4M-)MUFNWD`=PD:11/+)(V"`!YB=3W]CC@]/T.*YD\-2-H$"PV>MR212) MISV\:Q_9)#YBV\F6ME\X(-O`9T$G5Q7/S^'GN=#FMSX>]]>OFOE\*7L.H/):L4N
M-1_T<Y`/LF+H6\T`9A<.^SY0#V"QO8M0LX[J%)TC?.!/`\+C!(Y1P&'3N.
M>O2K%>?W>DQ6?C2W-II/FLLMN(%;37!@A4(I\B\1MD$*J&8P,`7(D7&)5S7A
MM;]?B/97,.D?9E.H7"WLZ6$GF&(PS>7YEVSXEC<B-A&JE8R(T)4HH8`[RZU6
MQL;A8+NYC@<V\MUF3Y5$4102.6/``\Q.I[^QQ)8WL6H6<=U"DZ1OG`G@>%Q@
MD<HX##IW'/7I7C\_AY[G0YK<^'KYKY?"E[#J#R6K%+C4?]'.0#_K)BZ%O-`/
MF87#OL^7V2""&UMXK>WBCA@B0)''&H544#```X``XQ0!)1110`4444`%%%%`
M!1110`4444`%%%%`!1110`4444`%%%%`!1110`4444`%%%%`!1110`4444`%
M%%%`!1110!RU=#?7UOIUG)=74GEPI@$A2Q))`5549+,20`H!))``)-<]4OC?
M28=9TVMYM/CO@NIV^6\(EPOVF,2'!!X\LN"?[I;/&:`B^-)?1X]46:=K
M>65X(T%I9GD1F5D$.WS"P/D;<@QZ`FM"QOK?4;..ZM9/,A?(!E2""0RL
MIP58$$%2`0000"XO3+:YTBYM=8NK.[-M!<:Q!D-N\DJB>^$D<@C4%F0B/J
MH)^=3C;N9>LTF7[3%/>#3OL2W,OFO7;,H55$DBX!5B%`"G+!0N=IRB@&A1
M110`4444`%%%%`!1110`4444`%%%%`!1110`4444`%%%%`!1110`4444`%%%
M%`!1110`4444`%%%%`!1110`4444`%%%%`!1110`4444`%%%%`!1110`4444
M`%%%%`!1110`4444`%%%%`!5>W_U]W_UU'_H"U8JO;_Z^[_ZZC_T!:`+%%%%
M`!1110`4444`%%%%`!1110`4444`%%%%`!1110`4444`%%%%`!1110`4444`
M%%%%`!1110`4444`%%%%`!1110`4444`%%%%`!5>W_U]W_UU'_H"U8JO;_Z^
M[_ZZC_T!:`+%%%%`!1110`4444`%%%%`!1110`4444`%%%%`!1110`4444`%
M%%%`!1110`4444`%%%%`!1110`4444`%%%%`!1110`4444`%%%%`!5>W_P!?
M=_\`74?@+5BJ]O_`*[_P"NH_\`0%H`L4444`%%%%`!1110`4444`%%%%`!
M1110`4444`%%%%`!1110`4444`%%%%`!1110`4444`%%%%`!1110`4444`%%
M%%`!1110`4444`%5[?\`U]W_`-=1_P"@+5BJ]O\`Z^[_`.NH_P#0%H`L4444
M`%%%%`!1110`4444`%%%%`!1110`4444`%%%%`!1110`4444`%%%%`!1110`
M4444`%%%%`!1110`4444`%%%%`!1110`4444`%5[?_7W?_74?^@+5BJ]O_K[
MO_KJ/_0%H`L4444`%%%%`!1110`4444`%%%%`!1110`4444`%%%%`!1110`4
M444`%%%%`!1110`4444`%%%%`!1110`4444`%%%%`!1110`4444`%5[?_7W?
M_74?^@+110!8HHHH`***`"BBB@`HHHH`**`"BBB@`HHHH`***`"BBB@#
"_]D?
`
end

0

Alexander

>But, dynamic resize doesn't work in Irida :(
>

>

Ggrrr, it works on MacOS :(

I use another technique in the next version, and I hope it will work
better.
Please check it then (today, or tomorrow)

Alain

0

Testers required.

If your OS is not Mac OS X,
could you please test the attached version, and see if the dialog
auto-resize works fine now.


(note: this version works on multi-segment strings, like in
String s = "The text " + text + "\nis too short. " + '\n'
+ "min. length = " + minLength ;


TIA

Alain



Attachment(s):
stringEditorPlugin.jar
0

Hello Alain,

My problem (auto-resize) was solved, but in some cases there is an exception:

Error message: Error during dispatching of java.awt.event.KeyEvent[KEY_PRESSED,keyCode=38,keyText=Up,keyChar=Undefined
keyChar,keyLocation=KEY_LOCATION_STANDARD] on com.ravet.ideaplugins.stringEditor.Subeditor[,5,5,11x68,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=null,alignmentY=null,border=javax.swing.border.BevelBorder@15faadb,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0],disabledTextColor=javax.swing.plaf.ColorUIResource[r=153,g=153,b=153],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0],selectionColor=javax.swing.plaf.ColorUIResource[r=166,g=202,b=240],colums=0,columWidth=0,rows=0,rowHeight=0,word=false,wrap=false]
java.lang.IllegalArgumentException: bad position: 61
at javax.swing.text.JTextComponent.setCaretPosition(JTextComponent.java:1364)

at com.ravet.ideaplugins.stringEditor.Subeditor.setCaretPositionTo(Subeditor.java:55)

at com.ravet.ideaplugins.stringEditor.StringEditorDialog.moveCaretToPrevSubeditor(StringEditorDialog.java:160)

at com.ravet.ideaplugins.stringEditor.KeyPressesHandler.keyPressed(KeyPressesHandler.java:33)

at java.awt.Component.processKeyEvent(Component.java:5058)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2388)
at java.awt.Component.processEvent(Component.java:4909)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1713)

at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:627)

at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:831)

at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:741)

at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:592)

at java.awt.Component.dispatchEventImpl(Component.java:3506)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:80)

at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:118)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:152)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)


--
Alexander Chinaryov
mailto:alexander.chinaryov@ctco.lv
GFS Project - Java Team Leader
C.T.Co.
http://www.ctco.lv
"Programming The Future"

Testers required.

If your OS is not Mac OS X,
could you please test the attached version, and see if the dialog
auto-resize works fine now.
(note: this version works on multi-segment strings, like in
String s = "The text " + text + "\nis too short. " + '\n'
+ "min. length = " + minLength ;
TIA

Alain



0

Hello Alain,

Auto-resize on open the dialog doesn't set dialog width correctly. For example:
if first line has one symbol and second line has one symbol and several TABs
then for next open the width of the dialog sets incorrectly.

--
Alexander Chinaryov
mailto:alexander.chinaryov@ctco.lv
GFS Project - Java Team Leader
C.T.Co.
http://www.ctco.lv
"Programming The Future"

Testers required.

If your OS is not Mac OS X,
could you please test the attached version, and see if the dialog
auto-resize works fine now.
(note: this version works on multi-segment strings, like in
String s = "The text " + text + "\nis too short. " + '\n'
+ "min. length = " + minLength ;
TIA

Alain



0

Alexander

> Auto-resize on open the dialog doesn't set dialog width correctly.
For example: if first line has one symbol and second line has one symbol
and several TABs then for next open the width of the dialog sets
incorrectly.
>

You mean code like this:

String s = "q]]>" + "b\t\t" ;
?

It works fine for me, on MacOS X (see the attached image)




Alain



Attachment(s):
stringEditExample1.png
0

Hello Alain,

I mean code like this:

String s = "1\n2\t\t\t\t\t\t\t\n3";

As a result on my system you can see in attached file.

Best regards,

--
Alexander Chinaryov
mailto:alexander.chinaryov@ctco.lv
GFS Project - Java Team Leader
C.T.Co.
http://www.ctco.lv
"Programming The Future"


begin 777 editstring.jpg
M_]C_X``02D9)1@`!`0$!`$L``#_VP!#``@&!@<&!0@'!P<)"0@*#!0-#`L
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I#`Q-#0T'R<Y/3@R/"XS-#_
MVP!#`0D)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C_P``1"`!2`D#`2(``A$!`Q$!_\0`
M'P```04!`0$!`0$```````````$"`P0%!@<("0H+_\0`M1```@$#`P($`P4%
M!`0```%]`0(#``01!1(A,4$&$U%A!R)Q%#!D:$((TQP152T?`D,V)R@@D*
M%A]]>7J#A(6&AXB)BI3E)66EYB9FJCI6FIZBIJKSM6VM[BYNL#Q,7&
MQ\C)RM+3U-76U]C9VN'BX3EYN?HZ>KQ\O/T]?;W/GZ_\0`'P$``P$!`0$!
M`0$!`0````````$"`P0%!@<("0H+_\0`M1$``@$"!`0#!`<%!`0``0)W``$"
M`Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O`58G+1"A8D-.$E\1<8&1HF
M)R@IC4V-S@Y.D-$149'2$E4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(FDI.4E9:7F)F:HJ.DI::GJFJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H`#`,!``(1`Q$`/P#VB/Q#IDMK
M87*71,-_$DULVQOWB.T:J<8XR98QSC[WL<.OM>TS3;NVM+N^CCN;F18X8<DN
MQ8D\HY`R",GCWID<6E^(6PU5%T0O$DUM+EDRC-'*IQQWCC/([8[D5D,+
M74;Z;1TL=,GN5M-0AO9)$DB5=J;LJ-S@[N1VQSUKS)2DKD5)3BFU\C;M=:L+
MW5M0TNWN"][I_E_:H]C#R_,7<G)&#D#/!/O5_)]37":Y87]G\0?#?BJTM[QH
M[B,Z5J-M'&)&CC?QL<`A563EVW<`C.3GEO#'@[7M$\9V6KP^'WLK235M0:
M>.&6!62TE2,0*X5\%%8,=@)V[20,XSZ$</"4.=3MI?7OK==.JT]47?R/28_%
M^ARPWLR:BK1V<#W$S!'QY2%@SIQ\Z@J1E<C/U%2WGB?2;#PTOB*YO"FE-%',
MCRW/R2$!#M`W<[E[=^:QO"NEW$.JSZA?Z*VGW1&&".(PBWMX=^X1J$8EF)
M)8L5'.0,=^*;P5JL_P`/?$_@6.T>>33;Q9]'NF,&\+,)`J2%0#)CS58X`!
MDQG;TRPD(55\E;57]&[-_+3D9TYSE&\EJ>JZGK5AHWV/[?<&'[;=)9V_R,
MV^5\[5X!QG!Y.![T76M6%EJVGZ7<7!2]U#S/LL>QCYGEKN?D#`P#GDCVKG=6
M\-#Q)\/=1T"2DT..922V5HUV,K!U+B,,J@R`Y"EOE.<AB0.;N-%O\`Q./!
M'B;4?#;W\UI!-!JUG=6\,=QQCJQ20JI02!F`)&`X(')QI3HTY*\I6W6Z[7
MCY:O3?YZFK;/1O[:L/[?_L/[0?[2R_;/)V-_JMVS=NQM]QC.?:BUUJPO=6
MU#2[>XWNG^7]JCV,/\Q=R<D8.0,\$^]<EX[T_4Q_PCGBFT@G?4-%NE:XM+
M)?/:2"7:DZQ@H"[8Q@G;QN/!QAFG>%Y](^)NMZPF@6MQ#J6\EK>*8E%H0K
M.3GYP[9)^12&+#<1DD)4J;I\W-K;NMTUI]SO_P`-J7=SL-,UJPUG[9]@N#-]
MBNGL[CY&79*F-R\@9QD<C(]Z@L_$^DW_`(:;Q%;7A?2EBDF-QY;CY(R0YVD;
MN-K=NW%<R^CW&G?%6YG-M/>:-XEL#%>)Y(DBCGA4!?,.W"HT>5`).YF.1C&#
MX8^'KSPMH:Z5>:)!;7,7F"YU!'C_`-/FL8RNW,H1CS)M*\``Y.USI4U#G4
MNS2NMG>_W-?\#70N[G37GB?2;#PTOB*YO"FE-%',+CRW/R2$!#M`W<[E[=^:
MGU/6K#1OL?VX,/VVZ2SM_D9M\KYVKP#C.#R<#WKRIO!6JS_``]\3!8[1YY
M--O%GT>XN8PL;PLPD"I(5`,F/-5C@`&3&=O3L]6\-#Q)\/=1T"2DT..922
MV5HUV,K!UB,,J@R`Y"EOE.<AB0*G1HQ:O/2_P#YI9_C_PPKLZ*ZUJPLM6T
M_2[BX7NH>9]ECV,?,\M=S\@8&`<\D>U5KV>9+R15ED4#'`8CLX*XT6_P#$
MX\$>)M1\-O?S6D$T&K6=U;PQW$K&,JK%)"JE!(&8`D8#@@<G':W)E:;=<(D<
MQ53(D;EU5MHR`Q`)&>!GT%'LHTVK.[L[J;7Y!>X?:;C_GO+_WV:/M-Q_SW
ME_[[-0LP12S'``R:H?VYI?\`S_0_]]50&K]IN/\`GO_`-]FI(B<W$0,TA!
M<9!8M5(W62-9$.4<!E..H/0U/;_`/'S%_OC=)[`:3:Q9)IMMJ+7!%I<M"L
M4FUOF,K*L?&,C.HYZ9YQ5[)]37,^;:&U^'FIZ9:IM$MB=.M(\DYDD7R8DR
M?5F1P";1Z4;1Z4M%')'L`FT>E&T>E+11R1[`)M'I1M'I2T4P";1Z4;1Z4M%' M)'L`FT>E&T>E+11R1[`)M'I6#J(Q?R?A_(5OU@:E_P`?\OX?R%-12V0%&X_X M]I?]P_RJ70=>]]>S=Z1H0LIPK:3]H-VXVH600`HH/+<32P^4=`20P6X_X]I?]
MP_RJSI&FS2S^'-45H_(M]'DMW4D[BTAMV4CC&,1-GGN.O9@2ZE_Q_P`OX?R%
M16W_`!]0_P"O\ZEU+_C_E_#0J*V_XX?\`?7=`'1[1Z4;1Z4M%3R1[`)M
M'I2T44TDM@"BBBF`4444`%%%%`!1110`4444`%%%%`!1110`5@:E_P`?\OX?
MR%;]8&I?\?\`+'\A0!1N/\`CVE_W#_*EL]:OM,TK2&DTR/RREG;-<FYQ*7
ME\M%*1!2"@:102SJ>'(4X7<EQ_Q[2_[A_E4&GV>O75SH%R;/39=)L[>%X-UZ
M\<JR-%LDEB$AB$=E5-X'+$DDKL`-74O/\`E_#0JV_P"/N'_?7^=2ZE_Q
M_P`OX?R%16W_`!]P_P"^O\Z`.DHHHH`***`"BBB@`HHHH`***`"BBB@`HH
MHH`****`"BBB@`K`UCE_#^0K?K`U_C_E_#0H`HW'_'M+_N'5+9ZU?:
M9I6D-)ID?]EE.V:Y-SB4OY:*4B"D%`TB@EG4\.0IPNY+C_`(]I?]P_RJ"'
M1]2U2VT!Q!IH@MDMIX-0W,MU;*!&TD2KM(82!"C,'3Y9,%6V_.`:NI?\?\OX
M?R%16W_'W#_OK_.I=2_X_P"7\/Y"HK;_`(^X?]]?YT`=)1110`4444`1Q&8Y
M\V.-?38Y;/Z"I***`"BBB@!KEPA,:JS=@S8'YX-0[[S_`)X0?]_C_P#$U8HH
M`K[[S_GA!_W/_Q-&\_YX0?]_C_`/$U8HH`K[[S_GA!_P!_C_\`$T;[S_GA
M!_W/_Q-6*`\_P">$'_?X_\`Q-&\_YX0?\`?X__`!-6*`^^\_YX0?
M]_C_`/$T;[S_`)X0?]_C_P#$U8HH`K[[S_GA!_W^/_Q-8U\7-Y(9%56XR%;(
MZ#O@5T-8E_!,][(RQ.RG&"%)'04`4&4.I5AD$8-68[ZXBC6.-U2-`%5510%`
MZ`#%,^S7'_/"7_O@T?9KC_GA+_WP:`&R2/-(7<Y8]3BEM\BYBV@%MXP"<#.:
M7[-<?
)?^#4MO;SK<Q$PR`!P22I]:`-??>?
(/
_Q_P#B:-]Y_P`\(/\`
MO\?_`(FK%%`$"O=%ANAA"YY(E)./^^:GHHH`***`"BBB@`HHHH`***`"BB
@B@`HHHH`***`"BBB@`HHHH`***`"BBB@`HHHH`_]FB
`
end

0

Alexander

>I mean code like this:
>String s = "1\n2\t\t\t\t\t\t\t\n3";
>

>

Same problem here.
My "auto-resize" technique, is actually to pack the containing dialog,
after a document change was detected in one of the JTextAreas.
It's really strange:
String sOK = "\na\t\n";
shows fine,
but not
String sFail= "z\na\t\n";

I'll keep investigating.

Alain

0

Please sign in to leave a comment.