PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/local/share/man/man3
Viewing File: /usr/local/share/man/man3/Curses::UI::TextEditor.3pm
.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Curses::UI::TextEditor 3" .TH Curses::UI::TextEditor 3 "2011-09-01" "perl v5.26.3" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Curses::UI::TextEditor \- Create and manipulate texteditor widgets .SH "CLASS HIERARCHY" .IX Header "CLASS HIERARCHY" .Vb 4 \& Curses::UI::Widget \& Curses::UI::Searchable \& | \& +\-\-\-\-Curses::UI::TextEditor .Ve .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 3 \& use Curses::UI; \& my $cui = new Curses::UI; \& my $win = $cui\->add(\*(Aqwindow_id\*(Aq, \*(AqWindow\*(Aq); \& \& my $editor = $win\->add( \& \*(Aqmyeditor\*(Aq, \*(AqTextEditor\*(Aq, \& \-vscrollbar => 1, \& \-wrapping => 1, \& ); \& \& $editor\->focus(); \& my $text = $editor\->get(); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Curses::UI::TextEditor is a widget that can be used to create a couple of different kinds of texteditors. These are: .IP "\(bu" 4 \&\fBmulti-line texteditor\fR .Sp This is a multi-line text editor with features like word-wrapping, maximum textlength and undo. .IP "\(bu" 4 \&\fBsingle-line texteditor\fR .Sp The texteditor can be created as a single-line editor. Most of the features of the default texteditor will remain. Only the multi-line specific options will not be available (like moving up and down in the text). .IP "\(bu" 4 \&\fBread only texteditor\fR .Sp The texteditor can also be used in read only mode. In this mode, the texteditor will function as a text viewer. The user can walk through the text and search trough it. .PP See exampes/demo\-Curses::UI::TextEditor in the distribution for a short demo of these. .SH "STANDARD OPTIONS" .IX Header "STANDARD OPTIONS" \&\fB\-parent\fR, \fB\-x\fR, \fB\-y\fR, \fB\-width\fR, \fB\-height\fR, \&\fB\-pad\fR, \fB\-padleft\fR, \fB\-padright\fR, \fB\-padtop\fR, \fB\-padbottom\fR, \&\fB\-ipad\fR, \fB\-ipadleft\fR, \fB\-ipadright\fR, \fB\-ipadtop\fR, \fB\-ipadbottom\fR, \&\fB\-title\fR, \fB\-titlefullwidth\fR, \fB\-titlereverse\fR, \fB\-onfocus\fR, \&\fB\-onblur\fR .PP For an explanation of these standard options, see Curses::UI::Widget. .SH "WIDGET-SPECIFIC OPTIONS" .IX Header "WIDGET-SPECIFIC OPTIONS" .IP "\(bu" 4 \&\fB\-text\fR < \s-1TEXT\s0 > .Sp This sets the initial text for the widget to \s-1TEXT.\s0 .IP "\(bu" 4 \&\fB\-pos\fR < \s-1CURSOR_POSITION\s0 > .Sp This sets the initial cursor position for the widget to \s-1CURSOR_POSITION.\s0 \fB\-pos\fR represents the character index within \&\fB\-text\fR. By default this option is set to 0. .IP "\(bu" 4 \&\fB\-readonly\fR < \s-1BOOLEAN\s0 > .Sp The texteditor widget will be created as a read only texteditor (which is also called a textviewer) if \&\s-1BOOLEAN\s0 is true. By default \s-1BOOLEAN\s0 is false. .IP "\(bu" 4 \&\fB\-singleline\fR < \s-1BOOLEAN\s0 > .Sp The texteditor widget will be created as a single line texteditor (which is also called a textentry) if \&\s-1BOOLEAN\s0 is true. By default \s-1BOOLEAN\s0 is false. .IP "\(bu" 4 \&\fB\-wrapping\fR < \s-1BOOLEAN\s0 > .Sp If \s-1BOOLEAN\s0 is true, the texteditor will have text wrapping enabled. By default \s-1BOOLEAN\s0 is false. .IP "\(bu" 4 \&\fB\-showlines\fR < \s-1BOOLEAN\s0 > .Sp If \s-1BOOLEAN\s0 is set to a true value, each editable line in the editor will show a line to type on. By default \&\s-1BOOLEAN\s0 is set to false. .IP "\(bu" 4 \&\fB\-maxlength\fR < \s-1VALUE\s0 > .Sp This sets the maximum allowed length of the text to \&\s-1VALUE.\s0 By default \s-1VALUE\s0 is set to 0, which means that the text may be infinitely long. .IP "\(bu" 4 \&\fB\-maxlines\fR < \s-1VALUE\s0 > .Sp This sets the maximum allowed number of lines for the text to \s-1SCALAR.\s0 By default \s-1VALUE\s0 is set to 0, which means that the text may contain an infinite number of lines. .IP "\(bu" 4 \&\fB\-password\fR < \s-1CHARACTER\s0 > .Sp Instead of showing the real text in the widget, every character of the text will (on the screen) be replaced by \s-1CHARACTER.\s0 So creating a standard password field can be done by setting: .Sp .Vb 1 \& \-password => \*(Aq*\*(Aq .Ve .IP "\(bu" 4 \&\fB\-regexp\fR < \s-1REGEXP\s0 > .Sp If characters are added to the texteditor, the new text will be matched against \s-1REGEXP.\s0 If the text does not match, the change will be denied. This can for example be used to force digit-only input on the texteditor: .Sp .Vb 1 \& \-regexp => \*(Aq/^\ed*$/\*(Aq .Ve .IP "\(bu" 4 \&\fB\-undolevels\fR < \s-1VALUE\s0 > .Sp This option determines how many undolevels should be kept in memory for the texteditor widget. By default 10 levels are kept. If this value is set to 0, the number of levels is infinite. .IP "\(bu" 4 \&\fB\-showoverflow\fR < \s-1BOOLEAN\s0 > .Sp If \s-1BOOLEAN\s0 is true, the text in the texteditor will be padded by an overflow character ($) if there is text outside the screen (like 'pico' does). By default \&\s-1BOOLEAN\s0 is true. .IP "\(bu" 4 \&\fB\-showhardreturns\fR < \s-1BOOLEAN\s0 > .Sp If \s-1BOOLEAN\s0 is true, hard returns will be made visible by a diamond character. By default \s-1BOOLEAN\s0 is false. .IP "\(bu" 4 \&\fB\-homeonblur\fR < \s-1BOOLEAN\s0 > .Sp If \s-1BOOLEAN\s0 is set to a true value, the cursor will move to the start of the text if the widget loses focus. .IP "\(bu" 4 \&\fB\-toupper\fR < \s-1BOOLEAN\s0 > .Sp If \s-1BOOLEAN\s0 is true, all entered text will be converted to uppercase. By default \s-1BOOLEAN\s0 is false. .IP "\(bu" 4 \&\fB\-tolower\fR < \s-1BOOLEAN\s0 > .Sp If \s-1BOOLEAN\s0 is true, all entered text will be converted to lowercase. By default \s-1BOOLEAN\s0 is false. .IP "\(bu" 4 \&\fB\-onchange\fR < \s-1CODEREF\s0 > .Sp This sets the onChange event handler for the texteditor widget. If the text is changed by typing, the code in \s-1CODEREF\s0 will be executed. It will get the widget reference as its argument. .IP "\(bu" 4 \&\fB\-reverse\fR < \s-1BOOLEAN\s0 > .Sp Makes the text drawn in reverse font. .SH "METHODS" .IX Header "METHODS" .IP "\(bu" 4 \&\fBnew\fR ( \s-1OPTIONS\s0 ) .IP "\(bu" 4 \&\fBlayout\fR ( ) .IP "\(bu" 4 \&\fBdraw\fR ( \s-1BOOLEAN\s0 ) .IP "\(bu" 4 \&\fBfocus\fR ( ) .IP "\(bu" 4 \&\fBonFocus\fR ( \s-1CODEREF\s0 ) .IP "\(bu" 4 \&\fBonBlur\fR ( \s-1CODEREF\s0 ) .Sp These are standard methods. See Curses::UI::Widget for an explanation of these. .IP "\(bu" 4 \&\fBtext\fR ( [\s-1TEXT\s0] ) .Sp If \s-1TEXT\s0 is defined, this will set the text of the widget to \s-1TEXT.\s0 To see the change, the widget needs to be redrawn by the \fBdraw\fR method. If \s-1TEXT\s0 is not defined, this method will return the current contents of the texteditor. .IP "\(bu" 4 \&\fBget\fR ( ) .Sp This method will call \fBtext\fR without any arguments, so it will return the contents of the texteditor. .IP "\(bu" 4 \&\fBonChange\fR ( \s-1CODEREF\s0 ) .Sp This method can be used to set the \fB\-onchange\fR event handler (see above) after initialization of the texteditor. .IP "\(bu" 4 \&\fBset_password_char\fR ( \f(CW$char\fR ) .Sp This method can be used to change the password property. The password character will be set to \f(CW$char\fR, or turned off in \f(CW$char\fR is undef. .IP "\(bu" 4 \&\fBtoggle_showhardreturns\fR .Sp Toggles the \-showhardreturns option. .IP "\(bu" 4 \&\fBtoggle_showoverflow\fR .Sp Toggles the \-showoverflow option. .IP "\(bu" 4 \&\fBtoggle_wrapping\fR .Sp Toggles the \-wrapping option. .SH "DEFAULT BINDINGS" .IX Header "DEFAULT BINDINGS" There are different sets of bindings for each mode in which this widget can be used. .SS "All modes (editor, single line and read only)" .IX Subsection "All modes (editor, single line and read only)" .IP "\(bu" 4 <\fBtab\fR> .Sp Call the 'returreturnn' routine. This will have the widget loose its focus. .IP "\(bu" 4 <\fBcursor-left\fR>, <\fB\s-1CTRL+B\s0\fR> .Sp Call the 'cursor\-left' routine: move the cursor one position to the left. .IP "\(bu" 4 <\fBcursor-right\fR>, <\fB\s-1CTRL+F\s0\fR> .Sp Call the 'cursor\-right' routine: move the cursor one position to the right. .IP "\(bu" 4 <\fBcursor-down\fR>, <\fB\s-1CTRL+N\s0\fR> .Sp Call the 'cursor\-down' routine: move the cursor one line down. .IP "\(bu" 4 <\fBcursor-up\fR>, <\fB\s-1CTRL+P\s0\fR> .Sp Call the 'cursor\-up' routine: move the cursor one line up. .IP "\(bu" 4 <\fBpage-up\fR> .Sp Call the 'cursor\-pageup' routine: move the cursor to the previous page. .IP "\(bu" 4 <\fBpage-down\fR> .Sp Call the 'cursor\-pagedown' routine: move the cursor to the next page. .IP "\(bu" 4 <\fBhome\fR> .Sp Call the 'cursor\-home' routine: go to the start of the text. .IP "\(bu" 4 <\fBend\fR> .Sp Call the 'cursor\-end' routine: go to the end of the text. .IP "\(bu" 4 <\fB\s-1CTRL+A\s0\fR> .Sp Call the 'cursor\-scrlinestart' routine: move the cursor to the start of the current line. .IP "\(bu" 4 <\fB\s-1CTRL+E\s0\fR> .Sp Call the 'cursor\-scrlineend' routine: move the cursor to the end of the current line. .IP "\(bu" 4 <\fB\s-1CTRL+W\s0\fR> .Sp Call the 'toggle\-wrapping' routine: toggle the \&\-wrapping option of the texteditor. .IP "\(bu" 4 <\fB\s-1CTRL+R\s0\fR> .Sp Call the 'toggle\-showhardreturns' routine: toggle the \&\-showhardreturns option of the texteditor. .IP "\(bu" 4 <\fB\s-1CTRL+T\s0\fR> .Sp Call the 'toggle\-showoverflow' routine: toggle the \&\-showoverflow option of the texteditor. .SS "All edit modes (all but read only mode)" .IX Subsection "All edit modes (all but read only mode)" .IP "\(bu" 4 <\fB\s-1CTRL+Y\s0\fR>, <\fB\s-1CTRL+X\s0\fR> .Sp Call the 'delete\-line' routine: Delete the current line. .IP "\(bu" 4 <\fB\s-1CTRL+K\s0\fR> .Sp Call the 'delete\-till\-eol' routine: delete the text from the current cursor position up to the end of the current line. .IP "\(bu" 4 <\fB\s-1CTRL+U\s0\fR> .Sp Call the 'clear\-line' routine: clear the current line and move the cursor to the start of this line. .IP "\(bu" 4 <\fB\s-1CTRL+D\s0\fR> .Sp Call the 'delete\-character' routine: delete the character that currently is under the cursor. .IP "\(bu" 4 <\fBbackspace\fR> .Sp Call the 'backspace' routine: delete the character this is before the current cursor position. .IP "\(bu" 4 <\fB\s-1CTRL+Z\s0\fR> .Sp Call the 'undo' routine: undo the last change to the text, up to \fB\-undolevels\fR levels. .IP "\(bu" 4 <\fB\s-1CTRL+V\s0\fR> .Sp Call the 'paste' routine: this will paste the last deleted text at the current cursor position. .IP "\(bu" 4 <\fBany other key\fR> .Sp Call the 'add\-string' routine: the character will be inserted in the text at the current cursor position. .SS "Only for the read only mode" .IX Subsection "Only for the read only mode" .IP "\(bu" 4 <\fBh\fR> .Sp Call the 'cursor\-left' routine: move the cursor one position to the left. .IP "\(bu" 4 <\fBl\fR> .Sp Call the 'cursor\-right' routine: move the cursor one position to the right. .IP "\(bu" 4 b<<k>> .Sp Call the 'cursor\-up' routine: move the cursor one line up. .IP "\(bu" 4 b<<j>> .Sp Call the 'cursor\-down' routine: move the cursor one line down. .IP "\(bu" 4 <\fBspace\fR>, <\fB]\fR> .Sp Call the 'cursor\-pagedown' routine: move the cursor to the next page. .IP "\(bu" 4 <\fB\-\fR>, <\fB[\fR> .Sp Call the 'cursor\-pageup' routine: move the cursor to the previous page. .IP "\(bu" 4 <\fB/\fR> .Sp Call the 'search\-forward' routine. This will make a 'less'\-like search system appear in the textviewer. A searchstring can be entered. After that the user can search for the next occurance using the 'n' key or the previous occurance using the 'N' key. .IP "\(bu" 4 <\fB?\fR> .Sp Call the 'search\-backward' routine. This will do the same as the 'search\-forward' routine, only it will search in the opposite direction. .SH "SEE ALSO" .IX Header "SEE ALSO" Curses::UI, Curses::UI::TextViewer Curses::UI::TextEntry Curses::UI::Widget, Curses::UI::Common .SH "AUTHOR" .IX Header "AUTHOR" Copyright (c) 2001\-2002 Maurice Makaay. All rights reserved. .PP Maintained by Marcus Thiesen (marcus@cpan.thiesenweb.de) .PP This package is free software and is provided \*(L"as is\*(R" without express or implied warranty. It may be used, redistributed and/or modified under the same terms as perl itself.