HelpViewer-0.4/0000755000175100000240000000000014053020555012627 5ustar multixstaffHelpViewer-0.4/HelpViewer.help/0000755000175100000240000000000013701702464015635 5ustar multixstaffHelpViewer-0.4/HelpViewer.help/Bases.xlp0000644000175100000240000000061713701702464017423 0ustar multixstaff HelpViewer.app lis des fichiers textes XML. Pour le moment il n'y a pas d'diteur graphique, mais cela est prvu. La syntaxe est trs simple; en fait c'est plus ou moins des tags HTML, pour le formattage du texte, et trois tags pour grer la structure du document : <part>, <chapter> et <section>, HelpViewer-0.4/HelpViewer.help/helpviewer-200.tiff0000644000175100000240000054362013701702464021172 0ustar multixstaffMM*05Z(2Z(2Z(2Z(2Z(2Z(2Z(2Z(2Z(2Z(2Z(2Z(2Z(2[(2[(2[(2[(2[(2[(2[(2[(2[(2[(2[(2[(2[(2[(2[(2[(2[(2[(2[(2[(2[(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2\(2](2](2](2](2](2](2](2](2](2](2](2](2](2](2](2](2](2](2](2](2](2](2](2^(2^(2^(2^(2^(2^(2^(2^(2^(3^(3^(3^(3^(3^(3^(3^(3^(3^(3^(3^(3^(3^(3_(3_(3_(3_(3_(3_(3_(3_(3_(3_(3_(3_(3_(3_(3_(3_(3_(3_(3_(3_(3_(3_)3_)3`)3`)3`)3`)3`)3`)3`)3`)3`)3`)3`)3`)3`)3a)3a)3a)3a)3a)3a)3a)3a)3a)3a)3a)3a)3a)3a)3a)3a)3a)3a)3a)3a)3a)3a)3b)3b)3b)3b)3b)3b)3b)3b)3b)4b)4b)4b)4b)4b)4b)4b)4b)4b)4b)4b)4b)4b)4c)4c)4c)4c)4c)4c)4c)4c)4c)4c)4c)4c)4c)4c)4c)4c)4-Z(2i"9F9F9F9F9F9F^ dddddddeeeeeeeeeeeefffffffffffggggggggggghhhhhhhhhhhhiiiiiiiiiiijjjjjjjjjjjkkkkkkkkkkkklllllllllllmmmmmmmmm m m m n n n n n n n n n n n o o o o o o o o o o o o p p p p p p p p p p p q q q q q q q q q q q r r r r r r r r r r r s s s s s s s s s s s s t t t t $69I9I9I9I9I-=p .\(29Gʗ<fffffffffffggggggggggghhhhhhhhhhhhiiiiiiiiiiijjjjjjjjjjjkkkkkkkkkkkklllllllllllmmmmmmmmm m m m n n n n n n n n n n n o o o o o o o o o o o p p p p p p p p p p p p q q q q q q q q q q q r r r r r r r r r r r s s s s s s s s s s s s t t t t t t t t t t t u u u u u u u u u u u v ͪ{{{_/\(29Gvvv8ggDRl!ּhhhwUahhl׾iLYϯ=Liiiiiiijjjjjjjjjjjkkkkkkkkkkkllllllllllllmmmmmmmmm m m n n n n n n n n n n n n o o o o o o o o o o o p p p p p p p p p p p p q q q q q q q q q q q r r r r r r r r r r r s s s s s s s s s s s s t t t t t t t t t t t u u u u u u u u u u u v v v v v v v v v v v v w w w w w w w w ]_]rsrhihccc`0](29Gvvv9iiO\ǣu,uѲɥP]ÛSaƼѲ˜it~(8ؾÚVcϮֺjvllllllmmmmmmmmmmm m n n n n n n n n n n n o o o o o o o o o o o p p p p p p p p p p p p q q q q q q q q q q q r r r r r r r r r r r r s s s s s s s s s s s t t t t t t t t t t t t u u u u u u u u u u u v v v v v v v v v v v w w w w w w w w w w w w x x x x x x x x x x x y y y y y y {|{787bdbcccb1_(39Hvvv:kkO]ˬs}ѱԼֺfqUbozǠ}꿓|ʁ*:﹈ʥԖMZn n n n o o o o o o o o o o o o p p p p p p p p p p p q q q q q q q q q q q r r r r r r r r r r r s s s s s s s s s s s s t t t t t t t t t t t u u u u u u u u u u u u v v v v v v v v v v v w w w w w w w w w w w w x x x x x x x x x x x y y y y y y y y y y y y z z z z z z z z z z z { { { { { { { { { rtrDED\]\cccc2_(39H{{{nnnvvv:mmP]Ǡr$—lwܿozt%̣coq|͢amYf0@ͨjuոu&ԜUblw}0p p p p p p p p q q q q q q q q q q q r r r r r r r r r r r s s s s s s s s s s s s t t t t t t t t t t t u u u u u u u u u u u v v v v v v v v v v v v w w w w w w w w w w w x x x x x x x x x x x x y y y y y y y y y y y z z z z z z z z z z z z { { { { { { { { { { { | | | | | | | | | | | } } } } } } {|{fhf|}|abaccce3a)3:Iuuuuuuuuuuuu;o o x*):p 7Fv'>M'8%6IW׺5Dr p -=w'}1"4*;>Mv%q 8Gx'->q $6>Mz+4Dt!r r r r r r r r r r r s s s s s s s s s s s s t t t t t t t t t t t u u u u u u u u u u u v v v v v v v v v v v v w w w w w w w w w w w x x x x x x x x x x x x y y y y y y y y y y y z z z z z z z z z z z z { { { { { { { { { { { | | | | | | | | | | | } } } } } } } } } } } } ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~   ZZZf4b)3iA<<<<<Np q q q q q q q q q "4nyq r r r r r r r r r r r s s s s s s s s s s s s t t t t t t t t t t t u u u u u u u u u u u v v v v v v v v v v v v w w w w w w w w w w w x x x x x x x x x x x y y y y y y y y y y y y z z z z z z z z z z z { { { { { { { { { { { { | | | | | | | | | | | } } } } } } } } } } } } ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~            f%CCCCCA s 5Q&VVWWWWWWWWWWWXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZZZZZ[[[[[[[[[[[[\\\\\\\\\\\]]]]]]]]]]]]^^^^^^^^^^^^___________````````````````````aaaaaaaaaaaabbbbbbbbbbbccccccccccccddddddddddddeeeeeeeeeeeffffffffffffg0;;;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk;;;]]]]]]]]]]]]]]]]]]]]]]]]]]]ƴYYYƞjjjsssQQQ]]]]]]ЪQQQêwwwjjjɱRRRЪ777]]]]]]Ъjjj69;5568887::Y\YQQQêwwwjjjɱRRRЪ͠777]]]]]]Ъ111>:>UVU__bnqrjkj[^[<<9fffQQQêŶ˸zodddwwwjjjɱOKGqkcrtwgc`RRRЪqqv|gg`XZ777]]]]]]Ъ587RSPRRRgggQQQê;Ѽwvi^[\Z}~xy}wwwjjjɱgca}~܄{yRRRЪɵ<6K;;;̶}z777]]]]]]Ъ[[[BB@᜛TTTQQQê:A{bagнòyzmwh_QJKBEFƺzs")?wwwjjjɱea`ȷаrllWYW΂zv]WV}RRRЪ|9.Haaa񦟙%%%즊l\\USS777]]]]]]Ъ,,,cffإJKJ878000765CBBfhf///QQQê7A|babʺDz~ykl\TSJDXUO®ƶ¼ʾΦ''9wwwjjjɱSRfa`ϵmce=7;ѽÿφ~{aX['#1RRRЪësfzfbx2(9bbbVSPٶfoX2%%%0'(OOO777]]]]]]Ъ...{~{000010111111000000777QQQê:A{讱ƴͶ}tdf]USJD]SJʼƺ¢ '9wwwjjjɱSRfa`ļ潷ʨtpiA;<κ֫{`YX%!1RRRЪڅb?>+T3$&]xtrJD>OW:S8$ fccnijԆNOU--VRR777]]]]]]Ъ:::jjjfif999XZXQQQê7A|ٻ±~tqeqd[SJB][Qŧ&'9wwwjjjɱRSjdapmukjAB?גyzĄ{`XZ%".RRRЪҫT_Lyjmo4*= MMZY^]A=5y_mAX2& kgi}yyeHKXUU777]]]]]]rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrvvvЪ646555fff켼AAAQQQê9A|ýïvvlj^VRIBe^U˓ɡ#'9wwwjjjɱRSjdado&&TSmllooʇllƼЉ{`ZX%"1RRRЪu9K.6.HKP[I``IFCǫx|_{YB pji{yYSSiOLXUU777]]]]]]fffЪЪ*(*555jjj䳳:=:QQQê8A|þ»ʹztkf\WRIBjc\Ǚɧ#'9wwwjjjɱRSjdadljj%"[ fGFHFFFHFFFHFnKJ̈́{`XY%".RRRЪzi"* n6-JQaeVnkMIGmz[{VB XFHaMMJ;;ÍiJKXUU777]]]]]]mmmЪЪGEG;9;۲```%&(777QQQê7A|öҾ~pj\~ssh_QHBnb[ǡ%'9wwwjjjɱRSmdaw/2BCTR\\ \ \ \ [ [ [ [ }~oKKlKLĉ{`ZZ%"1RRRЪo1?'sv6.H[nhifePNJînrU{XB cUcZNVXJVcFCXUU777]]]]]]mmmЪЪ666бvvvPMQWWWQQQê:A{߻YXNzrseYQH@n`Zɿξ!'9wwwjjjɱRRmdak#%WS|A=[ s.-~}||z{~z{~~İnNJÄ~{`XX%".RRRЪu1B(xw6-J[qmvwuPLJצiQzWA ]MXfVaO@EȕnPPWUU777]]]]]]mmmЪЪaaa>>>eee"""444===QQQê7A|ϰvvnrf^RGBi^Vʯƻʽ''9wwwjjjɱSRmebo$)HHSTumiHFBuUUoNN҉{aY[%!0RRRЪ[xK,9$kaeu6/I^slu|{PNJ֪WtW: D65[II7,.fIHWUU777]]]]]]mmmЪЪ@@@CCCaaaaaaUUU--,  ^^^FFFIIIQQQê:A{⻹þƷʰ~phaYORE@hZQÿȾοϾ '9wwwjjjɱSRmecôxpiHFCúǼާʲȇ{{aXX%!/RRRЪXxL,9&~kgv6.IZtprPMJרqBzYC 7.+7(*:1/ѝtWWWUU777]]]]]]mmmЪЪ{{{211???699588696SPOtswrdQQQê7A|Ÿǰzop`YRE>h[Nô̼''9wwwjjjɱSRmecѻ议xmiHFB܆~{aX[%!/RRRЪzBV6%툐6.I^qjwrrPMJרQzUC 7++;-.:1/dJKWUU777]]]]]]mmmЪЪvvv444```mmm>>>...K=@زyjQQQê:A{δ~tipg^mcZj^POF=_TKҾ§ '9wwwjjjɱSRmeaûаxpiHGC俸skjaYX%!0RRRЪq*8"6/HXokkjiPNJͭ}TzZC NHHPPPI<>dKJWUU777]]]]]]oooЪЪQQQ666222222666LLLUUU/./J<>׳vfQQQê7A|ccb,.."&#&&&%&&%%%%%%"*$*::9UODz}Ķ&'9wwwjjjɱRS~{{{{x|xmiECB}}wxxlmluutzv`XZ%".RRRЪtd"aztd|3(9[nhjgePLJhjK{TB \KMbTUN>>|ONU)+VRR777]]]]]]ѪЪ~~~\\\/-/L>?׳xhQQQê07p<9@!$"*!%*"%*%&,*-0*-0$+,)'-)&($ #! $ &$$($"&"!'#)1+1A<:"'9wwwjjjɱRSX\Z;><),)$'' ##!110ZUO860DC=!!!!%))')'584PNNomfWRP%"1RRRЪu=Q3"v^V7Q0'(@VWYrnNKGahQ{YB fZZchjWGJ~|0'% NNN777]]]]]]Ъ]]]/-/K=?֭QQQê%-Y.127; #>%(C*,F).F":88!%<.1K)-F$&C #>!;621.(,DwwwjjjɱRS9>F!"*#(!#*$+$'/"%$$#)'"%&,01 (*(!"&!&%*$&/!%+!),#),#!"'&RRRЪtlAV8(1%ydgd|1(< J]]ZusIECx`MqY5 OHJQQQI;;~zpqI57USS777]]]]]]Ъ]]]/./-)-:::QQQêwwwjjjɱHIm1309#<&*F)-K,0S15T %@9 8":.2O.2U)-J(*I!&A;3021RRRЪz:0MKLKPTTSWVme_lMsf8B8$! (!$!!ZTT`WXRMM777]]]]]]Ъ[[[222zzzQQQêwwwjjjɱRRRЪsutZ]c[]caac777]]]]]]ЪQQQêwwwjjjɱRRRЪ777]]]]]]ЪQQQêwwwjjjɱRRRЪ777]]]]]]ЪkkkqqqtttQQQêvvv]]]wwwjjjɱ]]]mmm]]]RRRЪIIIhhhjjj]]]mmmXXX777]]]]]]Ъvvvkkkccceeennn\\\bbbccc```jjjsss^^^XXXQQQêvvvWWWccc{{{iiifffSSSddduuu}}}wwwjjjɱ]]]cccUUUwww^^^}}}iii]]]OOOmmmRRRЪ888^^^lllyyybbbvvvaaalllVVVrrr]]]RRReeetttdddwwwmmm<<<777]]]]]]Ъ[[[MMMTTT|||ooo{{{VVVfffsss]]]QQQêvvv\\\PPPnnn[[[UUU\\\bbb@@@wwwjjjɱ]]]|||~~~PPPxxx888gggRRRЪ[[[ccccccbbbeeeeee===mmmyyy\\\]]]SSS[[[dddkkk___777]]]]]]Ъzzzbbbqqqcccggg[[[hhhuuugggaaammm|||jjjQQQêjjjggglllfffrrrccc{{{{{{wwwjjjɱiii]]]bbbcccnnnbbbjjj```jjjRRRЪAAA]]]||||||cccyyybbboootttyyyuuu^^^jjjjjjbbb}}}wwwkkk777]]]]]]ЪQQQêwwwjjjɱRRRЪ777]]]]]]ЪQQQêwwwjjjɱRRRЪ777]]]]]]sssQQQcccjjjɌGGGʂ555]]]]]]ddd__________________________________________________________________________________________}}}__________________________________________________________________________________________________________________________________________________________________________________________~~~__________________________________________________________________________________________ccc]]]]]]]]]]]]]]]]]]333QQQQQQQQQQQQQQQQQQQQQNNN444QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ]]]]]];;;qqqXXXXXXXXXXXXXXXXXXUUUXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ɪ]]]]]];;;nnnTTTTTTTTTTTTTTTTTTQQQXXXTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT ɪ]]]]]];;;nnnTTTTTTTTTTTTTTTTTTQQQXXXTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT ɪ]]]]]];;;nnnTTTTTTTTTTTTTTTTTTQQQXXXTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT ɪ]]]]]];;;nnnTTTTTTTTTTTTTTTTTTQQQXXXTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT ɪ]]]]]];;;nnnTTTTTTTTTTTTTTTTTTQQQXXXTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT ɪ]]]]]];;;nnnTTTTTTTTTTTTTTTTTTQQQXXXTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT ɪ]]]]]];;;nnnTTTTTTTTTTTTTTTTTTQQQXXXTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT ɪ]]]]]];;;XXX444444444444444444222666444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444ɪ]]]]]]000WWWUUUUUUUUUUUUUUUUUUNNNAAANNNMMMMMMQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRNNNMMMNNNRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR̪]]]]]];;;κYYY666MMMccclllZZZ;;;Ъ]]]]]];;;ЪUUU666gggqqq^^^zzz___aaaKKK\\\nnn FFF___^^^___]]]dddcccgggcccЪ]]]]]];;;ЪUUU666hhhOOOfff>>>PPP\\\%%%oooKKKVVV^^^lllVVV]]]___ttt111PPP|||Ъ]]]]]];;;ЪhhhUUU666PPPkkklllPPP@@@|||&&&sssHHHWWWOOO$$$|||???KKK333LLL[[[Ъ]]]]]];;;Ъ111___UUUkkkhhhOOOЪ]]]]]];;;ЪVVV٪UUU{{{wwwЪ]]]]]];;;ЪUUUЪ]]]]]];;;ЪUUUKKKEEEnnnЪ]]]]]];;;ЪUUU666nnnooojjjkkk!!!ppprrrrrrvvv```...iiidddiii===LLL:::~~~iiillliiiЪ]]]]]];;;ΠUUU666MMMCCCLLLQQQ///jjjHHH___cccccc---JJJ|||......SSShhh111AAA^^^000^^^[[[Ъ]]]]]];;;ttt777777777777777777___666MMMJJJPPPPPP---dddQQQoooUUUUUUJJJCCCiii666111xxx999uuu}}}[[[[[[111,,,oooAAAhhh444eeeVVVЪ]]]]]];;;Ъ]]]]]];;;Ъ]]]]]];;;Ъ]]]]]];;;Ъ]]]]]];;;qqqYYYwwwXXX]]]hhheeemmmЪ]]]]]];;;fffjjjffflllbbb___kkk\\\>>>{{{___yyy666WWWkkkqqqmmm]]]]]]|||cccvvvxxxEEE777mmmyyyuuuccceee___{{{eeewww{{{Ъ]]]]]];;;UUU```kkksss\\\UUU```wwwvvv~~~]]]\\\]]]hhhuuuuuudddaaavvv]]]mmmhhhfffvvvNNNvvvYYY[[[^^^lllЪ]]]]]];;;MMMxxxrrrxxxeeeYYYYYYPPP|||VVVcccNNNdddeeennnTTTiiiSSSeee}}}aaammm{{{VVV]]]hhhaaaVVVxxxaaarrrЪ]]]]]];;;Ъ]]]]]];;;Ъ]]]]]];;;Ъ]]]]]];;;bbbbbbqqqЪ]]]]]];;;|||{{{TTTiiittt}}}pppXXXhhhiiikkksss777uuulllyyyvvvdddxxxiiiЪ]]]]]];;;{{{```tttGGGgggcccfffVVVeeennnYYY___eeecccVVVJJJqqqzzz]]]fffWWWdddfffzzzHHH666vvvzzzЪ]]]]]];;;{{{]]]wwwqqqcccLLL{{{[[[dddrrrcccdddrrrsss~~~pppqqqaaannnzzzRRRMMMyyy^^^nnngggYYYiiijjjwwwccc}}}Ъ]]]]]];;;Ъ]]]]]];;;п\\\Ъ]]]]]];;;ЪrrrUUUܺڼԳӪ]]]]]];;;ЪkkkUUU```666[[[ͧjjj)))555AAAȄ@@@Ԫ]]]]]];;;ЪWWW!!!UUUdddmmm}}}NNN###lllFFFVVVCCC)))Ɉ555nnn888333@@@|||Ԫ]]]]]];;;МmmmUUUFFFJJJEEEЅsss999lll ^^^aaa---ppp|||555>>>(((RRR333@@@888LLLhhhԪ]]]]]];;;Б`````````vvvUUUeeeBBB[[[ؓPPP}}}444HHHlll{{{FFFˁLLL>>>vvvmmmJJJVVVmmmԪ]]]]]];;;_______________TTTTTT뇇PPP>>>Ԫ]]]]]];;;|||Ԫ]]]]]];;;ӶVVVӪ]]]]]];;;Ѓ LLLUUU\\\gggЪ]]]]]];;;Ъ000 UUU{{{pppЪ]]]]]];;;ЪEEEUUU{{{MMMPPPjjjdddrrriiiaaavvvhhhЪ]]]]]];;;Ъ777UUU{{{ooouuuXXXxxxaaa|||Ъ]]]]]];;;ЪUUUZZZeeesssuuujjjhhhЪ]]]]]];;;}}}777777777777777777[[[Ъ]]]]]]rrr٪]]]]]]WWW]]]]]],,,ʪ]]]]]]sssǧ]]]]]]:::::::::::::::::::::::::::<<>>ХRRR{{{Ԫ]]]]]];;;wwwXXXooohhh333@@@ttt```sss^^^!!!JJJ000kkkVVVDDDiiiLLLsssԪ]]]]]];;;wwwdddcccMMM```{{{RRR<<<}}}CCC000sssWWWuuuLLLԪ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;٭嬬ْْԪ]]]]]];;;榦ܛœŧћ癙ñ᝝YYYYYYǣvvvѠ䞞񟟟좢񡡡SSSഴίRRRVVVӵɜٛZZZܘˡ䚚Ԫ]]]]]];;;ξϒ񙙙˨؃񍍍~~~߇qqqjjjpppöjjjqqquuuggg񊊊áόzzz把ggg}}}ᇇwwweeeᓓ֌Ęҽ쉉pppzzzʄyyyϴԪ]]]]]];;;ѺӞڇČyyy񌌌[[[└ȑᔔ桡댌}}}aaa暚”ތ񌌌ϝ磣qqqwwwӽwwwqqqǬssszzzoooʓԪ]]]]]];;;~~~Ճﴴ؍Ԫ]]]]]];;;ퟟڜԪ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;ttt귷sssϴ̿Ҳ___wwwጌλԪ]]]]]];;;ߌ~~~NNNVVVxxxxxxת̪aaannn†ދύݍԪ]]]]]];;;웛zzz狋hhhtttzzz𑑑򝝝uuuˮ̰،ތNjԪ]]]]]];;;ҭ󻻻ܭٳԪ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;񆆆Ԫ]]]]]];;;컻ВᙙŗVVV؝ŕiiiԧmmmfffnnnggguuuԪ]]]]]];;;Їtttwwwppp四NNNȈ˹압ȋðԪ]]]]]];;;잞ޜۨџǚᢢޝԪ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;Ԫ]]]]]];;;𦦦ˢ򊊊롡kkkOOOPPPqqqsssYYYȎpppԪ]]]]]];;;㚚}}}삂vvvጌЌrrr􌌌ăң񰰰Ƌ쟟Ԫ]]]]]];;;ȷooommmϗWWWLjĘӕǩ񷷷Ԫ]]]]]];;;蠠ݞԪ]]]]]];;;Ԫ]]]]]];;;оZZZԪ]]]]]];;;ЪpppUUUԪ]]]]]];;;Ъ jjjUUUԪ]]]]]];;;ЪVVV UUUԪ]]]]]];;;ЛkkkUUUԪ]]]]]];;;ВcccccccccxxxUUUԪ]]]]]];;;\\\\\\\\\\\\\\\QQQTTTԪ]]]]]];;;|||Ԫ]]]]]];;;ӴVVVGGGnnn___뙙Ԫ]]]]]];;;Ѓ KKKUUU^^^鱱FFF777ؚԪ]]]]]];;;Ъ111 UUU^^^fffwwwYYYHHH,,,JJJllllllmmmXXXeee333sssXXX$$$lllԪ]]]]]];;;ЪFFFUUU^^^^^^lll000xxxzzzJJJsssuuuqqqFFFpppvvv333sssZZZBBBWWWԪ]]]]]];;;Ъ888UUUᬬeeeԪ]]]]]];;;ШUUUԪ]]]]]];;;|||888888888888888888\\\Ԫ]]]]]]vvv۪]]]]]]]]]]]]]]][ZZ[ZZ`YQ`YQ]VN]VN]VN]VN3/+]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN]VN3/+/ :BX@lǀLj(/home/nico/Projets/HelpViewer-0.2/doc/helpviewer-200.tiffCreated with The GIMP,Xn(HHHelpViewer-0.4/HelpViewer.help/Introduction.xlp0000644000175100000240000000177313701702464021053 0ustar multixstaff
Il s'agit d'un programme permettant de visualiser de l'aide en ligne. Il peut tre utilis par des programmes GNUstep.
Ce programme est distribu sous la licence GNU Public Licence (GPL).
Cliquez pour voir l'index Cliquez sur un sujet dans la table des matires Cliquez pour revenir Bougez ce bouton pour voir l'ensemble des sujets Cliquez pour voir d'autres aides L'aide s'affiche ici Bougez ce bouton pour voir l'ensemble du texte Vous pouvez cliquer sur les liens Cliquez ici pour chercher quelque chose
HelpViewer-0.4/HelpViewer.help/Creation.xlp0000644000175100000240000001003213701702464020122 0ustar multixstaff
Chaque tag doit tre ferm avec le tag fermant correspondant. Par exemple, pour mettre un texte en gras, on doit l'entourer avec le tag <b> : <b>votre texte en gras</b>
Voici les deux tags de structure principaux :
  • <part> : dclare une nouvelle partie (chaque partie est visible dans la NSTableView au dessus du texte de l'aide). Au moins un lment part est obligatoire pour un fichier d'aide. Dans le cas contraire le fichier ne sera pas considr comme valide.
  • <section> : dclare une section (vous pouvez imbriquer une section dans une autre pour crer une sous-section, etc.). La numrotation des sections, sous-sections, etc. est faite automatiquement.


Ces deux tags ont un attribut, name, permettant de spcifier le nom de la partie ou de la section. Exemple :


Il y a galement une srie de tags, similaires au HTML, pour crer des listes (avec les tags <ul> et <li>).
Vous pouvez changer l'alignement du texte avec trois tags :
  • <left> : pour aligner gauche
  • <center> : pour centrer le texte
  • <right> : pour aligner droite
Vous pouvez utiliser les tags suivants :
  • <b> : pour mettre le texte en gras
  • <i> : pour mettre le texte en italique
  • <sc> : pour mettre le texte en petites majuscules
  • <code> : pour utiliser une fonte taille fixe
  • <em> : mettre l'accent sur cette partie du texte
Il y a deux possibilites pour rfrencer quelque chose :
  • lier une url, en utilisant <url>...</url>
  • lier une rfrence interne, en utilisant <ref id="RefID">your text</ref>
Vous pouvez rfrencer des parties ou des sections, en utilisant leur attribut name comme ID; ou vous pouvez dfinir des points d'ancrages, en utilisante le tag label : <label id="RefID">
Vous pouvez ajouter des lgendes une image qui seront automatiquement dessines et positionnes. Vous pouvez voir un exemple ici. L'avantage tant que quand vous traduirez vos fichiers xlp, il suffira de traduire les tags "lgendes" pour mettre jour les figures. L'autre avantage est que c'est simple faire, et normalement plus rapide que de dessinner les lgendes la main sous gimp :)
Vous pouvez inclure une figure avec lgendes avec les tags suivants : <legendfig src="helpviewer-200.tiff">
<legend x="113" y="31">Click to view the index</legend>
... (etc.)
</legendfig>

L'attribut "src" indique le fichier image utilis, et les tags "legend" dterminent les lgendes dessines. Les attributes "x" et "y" sont les positions, en pixels, de la cible pointe par la lgende. Pour dterminer ces attibutes, vous pouvez charger l'image dans un programme comme gimp, les coordones de la souris devraient s'afficher quelque part :)
HelpViewer-0.4/HelpViewer.help/main.xlp0000644000175100000240000000137613701702464017315 0ustar multixstaff
Aide en ligne de HelpViewer


HelpViewer.app permet de visualiser l'aide en ligne des programmes GNUstep. (c) 2003 Nicolas Roard. Ce program est distribu sous la GNU Public Licence (GPL). site : http://info.xdev.org/projets/helpviewer
contact : mailto:nicolas@roard.com
HelpViewer-0.4/HelpViewer.help/Logo.tiff0000644000175100000240000057453613701702464017433 0ustar multixstaffII*0IIN'%- $"#%569nprWU^*(2$".'%2%%/!#)#%*!$((+0Z]aGFL('/%#,(&1)'4&$1%%/#%+$',(+0$',"'!&69>dglPOT&%*$#)('/('/&%.%#/(&2++4(*0$',$',&).'*/'*/%(-"'+.3ORWONR$#(#"'+*/'&,'&.)(0'&.)'2+)3$$,&(-*-2&).%(-(+0(+0'*/),1*-2$',+-2:9>qprGGI'&*$#)%$**)/'&,('-%$*)(/&%-%$,('/$%,%',(+0"%*%(-'*/&).'*/(+0%(-$',(*/('+$$&**,HHJHGK-,0(','&,('.('/)(0('.)(.)(.+*1+*0)(/)(.'(-').'*/&).&).%(-'*/'*/'*/'*/(+0&).+*/,+0,+/)(-.-1?>Bdch327%$)! %(',('-&%,('/('0('/('/('.&%+&%+'&,)(.*)/*+0)+0'*/&).&).(+0(+0(+0(+0(+0(+0(+0+,1,,1,,1,,1,,1,,1**/++0BAF~}ONT328('-*)/*)/)(.*)/*(1)'1)'2)'1)(0)(0*)/)(.(',)(-**-+,/+-2(+0&).'*/),1),1),1),1),1),1),1,-2,-2,-2,-2,-2+,1-.3016)*/+,1>?DddhqqqAAA===yx~98>%$*+*0'&,)(.'&,('-)(.('-(&0)'4)'4)'2)'2)(0+*1-,1-,1--0..0./1.05+.3(+0(+0(+0),1),1),1),1),1),1+.3+.3+.3+.3+.3*-2)+0+.3,/4,/4/27116216DCHzy~xxx??? vvvyyz@?C$#*('.'&-&%,)(/*)0*)0*)0)(/*)0*)3*(5*(5*(4*(3*)1*)0-,1//2//1,,,)*,+-1+.3,/4,/4*-2*-2*-2*-2*-2*-2*-2+.4,/5,/5,/5,/5*-3(+1),2+.4,/5*-3--20/4+*/+*/?>C\[`VVVLLLnnn+++vvv9:<%%(*+0%&-**2'&.)(0+*2)(0*(1)(1)'2*(3**5(*5()4))3)*1+*01/44034...%%&!)"%.(+3/2414315/.3--1,-2+-2+.3+.4..7..8..8..7-.7+.5+.5.18,/6*.5-28027006006217006,-2339A@Fvv|hhh<<<LLL~~~kkkFFFOOOrrrgggvvv24:"%,"%-"$,%)0&)0')0((0)(1*'2,)4,(4+(5+'5*(5(,6&/4%.1&.0+/10015//4''0..- ( +05$#9*,7-/5.2305216006//7/,91,:1-:/,9-+8,,6,/8+/8+/8)08)06,18.19.19/19/19.19/19-/703;-/7VW_HHH&&&333vvvwz69>"%+"%,(+3$'0&)2(+2'*1'*1')1))2))3*)3*)3))4()5()5&+3&.2*03.041/24-.- --/1 2. /0112 #6&,8,29/76/63,63.90-8/+7.+70.90/:./9-09,09+09+08-19.1:.1:.1:.1:.1:*-6),558A14=(+425;FJMtxzZZZ WWWvvvlps&)-!&,/5&)0&)1$'0#&/!$.%(0'*1'*1'+1'+2'+3%)1&*2&+3&+3',5)+3/.3728:163%)-+-. 0243311/--2#8",=)4>-891951841730721810:0/9//9.0:.0:.0:.1:.1:.1:.1:.1:.1:/2;14=-09-0925=039/2637:047GKN vvvosv6:=!$'*/(+0 #('*1*-5(+4'*4')4'*3(+2(+2',2',2',2&+1',2(-3).5+/6307;077&/2%..2444445665430/18&:+8+07/38268375172/72/810900;00<00<.1;.1:.1:.1:.1:.1:,/825>25>25>25>36<158-14158047269BFIptwCCC###***vvvefh./1),0"%*$',#&+#&,),4"%.%'2(*5%(3')5),6),5),5(-3(-3(-3)-1+-2/.42/65/7:*2:)3- / 3 5 6 776545556663 3 430/ 3&&8,-;03;276/630821:11;11/2704859=2595807='08&35 ; ; 9 7 6 5 5 6 8 9 6 42345435799752110 3"'6+1:28839317//7+.7*-6+.7-09.1:/2;/2;/2;03<03<25=47>47>47>47>47>25<25<25<25<25<36<55:65:RQVzy~JJJ%%%000vvvejn(-1!&*$)-&+/%*."'+(-1&)0&)0&)1'*3(*5(*6(*6(*7(*8(*9(*9(*7)+7*.7-070284284+23!)12 6 : = = ; 7 555 6 9 : 8 43344434678;;852-+.5$(;-0>4953:/2;-09+.7*-6,/8.1:.1:03<14=25>36>47>47>47>47>47>36=36=36=36=36=46=45:45:67<127:;@bchJJJ%%%000rrrddddddvvviiidddfff`eh16:%*.#(,&+/$)-$)-%*.).2',0&)0'*2(+3(+4)+6)+7)+8)+9)+:)+:)+9)+8*,8+/8.2914:438$"'*1 8 ; ; ; 9 7 6 6 6 6 8 9 8 766666666679:98655/.38#&3+114=58A25>.1:-09-09.1:03<25>47@47@47?47?47?47?47?47?47?47?47?47?58?79>35:8:?79>25:25:8;@PRW~JJJ%%%000555HHHvvvbbbGGG666$$$NNNJJJ((([[[deg#(,,26)/3&,1%+/#(-&,0).3&,0&+0*/4'+3'*3(+4),6)+7*,8*,9*,;*,;*,;*,;+,:*-9+/9,19-381474131%(,- 2 5 66 7 7 7 877767::::::987665 7:;;:89:95&'*347@58A36?47@03<03<14=25>36?36?47@47@47@47@47@47@47@47@47@47@36?03936<58=36<58=36<7:?69?+.436>></ '/2;8;D7:D58B7:D25?24>25>25?14>35?47@47A47A47@47A57B58B58A58B58B58A47?36>47?7:B58@58@69A58A47?47?47>9:?=87=();4;79E8:G9;H9;G:36:9=@W[^JJJ%%%000<<'-:'-9).8+17158158.37*05(-7&,9'-;'.9).:+-:/-;1-<2,<0,:.,:--:*.:)/:*0<,0<,0<,0<,0<,0<-1=.2>.2>/3?03?96@@4<8%.0!0469;< = :5579;<==<::;9;ACA>66!=--?66<9B9;H9;H:38<16:27;49=DIMuz~222000yyyvvvggg%%%dci217/.601;-4@+1>)/:(08*06,38-4:,3<+1<)0<(0='-9(-9*.:..;0.=0.=/.<-/<+0<)1<(2<*1=-1=-1=-1=-1=-1=-1=-1=.2>/3?/3?32=94;9;%(B37C<><:<;;D;=J;=J<>K=?L=?L;=J;=J9;H79F79F68E68E68E68E68E68E68E57D57D46C46C46C48D48D48D48D48D59E6:F6:F6:F6:F6:E49?16:27;6;?6;?5:>8=A49=:?CX]a000```BBBRRR,,,vvv---ZZZkkkONT106,+2..9)0>+3@,4@+4>(1:&/7'1:-5@/7C.5C+3A)0<*0<,0<-0=.0=.1=-1=+2=*3=(4=(4=,3?/3?/3?/3?/3?/3?.2>.2>/3?04@04@24?33<33;63;=6=D8@?-4:")635 8;<> ? ? B BA?<<<@?<85 =*/C8=A=B;;A9>C:>H;=J<>K=?L=?L>@M<>K;=J:=C,+1-,301;',;(/?+4@,6B-7B(4>&1=*4?,4B.5D-5C.6B.5@-4?-2>,1=,1=-3?,4?+4?*5?*5?-4@04@04@04@04@04@/3?04@04@15A26B26B15@26@47?67@96?=7>?4;>,59 )4"4;=?@ACDB@>>>@>9:"$=.1C:??K=?L=?L;=J;=J9;H8:G68E79F9;H9;H9;H9;H9;H;=J;=J:F9=E67?<;B=*2=,4?-4?-4?-4?-4?05A15A15A26B26B26B15A15A26B26B37C37C37C48E39D08B/5?05>78@?;DA7A=0;;&09"99<@CCBA@>>:7:%'A35C>A>>D8I:?L6;J8K<>K:@M<>K:@@A@>87 =)+C79A<>;;@;>E9>J9=L:=M;K;=J:F;:A98>76<>=C>=AJJJ%%%000 dddvvv;;;===BAG)(.!" +'%3))6*.;(0=%0>)5C*6C.6C03B76D97E36C/5@-4?/7B2H:=FA?+48&46;==:9#'C48I>BAH:>K:=M;K<>K;=J9A@FlkpJJJ%%%000vvv;;;---HGM+*0"!("( '%".*,8*0=(1?)4B,6B-4@00>1-91+8<6E96E54B24A06B1:E4>H5>I4H2?I4>G6AL9>J:=L;K<>K<>K:J:>I9=I9=H8,4A-1=/-9' *"#+-5&9>4E=9H35B*1=,7A0J2>J1?J2>I2AI?IC:G@:F@>I==I8:G:>J:=L:=M:=N:=M;=K;=J;=J;=J;=J;=J<>K<>K<>K<>K<>K;=J;=J;=J;=J;=J;=J<>K;=J;=J:J:>J;?K;?K:>J:>J9=I8=EHGMJJJ%%%000vvv;;;,,,&%+,+2)%,-#)-%,+)2++8*/<(/<-2?,,9.)3#!# ($/.5(982A59E0:C-:B-;C/>F3AJ7@K9>K7G7=G8J1>J.=J2@M8AM9?J9=EDAGDBEECEDCCDBDC=ICL>L8>L9>K;=J;=J;=J;=J;=J<>K<>K<>K<>K<>K<>K;=J;=J;=J;=J;=J;=J;=J:J;>K;?K;?K;>K:>J9=I9=I9=I:>J:>J:>J:>I;>HBBKJIOJJJ%%%000vvv;;;444EDG++..--,)&0.,,+.**2(+7+0=-1>-,91)3%$ )*)+ 3 .;2=<;D7=E3>E/>E,=D3?KH9J5?J5?J4>K6?L8?K9>J9=I;>H>?J?AJ@BI?AI>AH??L@?M??L>>L>?L>?L:>J:>K:>K9>K9>K;?KL:=K:=K:=K:=K:=K;>L;>L:=K9>L>>K=?LIE;CI4@G0;H3;L7?Q;DS:DQ5@L1:D5F<>E;I9=I:J9>J7@J5AJ6@J9>J:>J:>J:>J:>J<@L=AM=AM=AM=AM=AM=AM=AM=AM=AM=AM<@L:>J:>J:>J:>J:>J;?K<@L<@L<@L<@L<@L<@L<@L<@L<@L<@L;?L:=L:=L:=L:=L:=LM;>M:=L:=L9FCCGFDDb^[JJJ%%%000mmmPPPvvv;;;yyy??=.-'.,)514,(010;),8+.:,*32*0%" )++ )( & &)#0(085J:=J;=J<>K;?K9?K6AK4BK5BK:?K;?K;?K;?K;?K<@L=AM=AM=AM=AM=AM=AM=AM=AM=AM=AM<@L;?K;?K;?K;?K;?K<@L<@L<@L<@L<@L<@L<@L<@L<@L<@L<@LM;>M;>M;>M;>MM:=L:=L:=K:K>@M?ANAAP@AP>AP>K8=I7@K9FO=IU=GS;K;J:>J:>JK=?L?AN@BOABRABTABT?CS=CR>DOBGNNRTnomJJJ%%%000;;;vvv;;;///|3.674?77A15>15K;>J:=J9JG8235<562!"($$*01. / 0 / 00-*0)<.9D;GD?M??L;?M9?O;BT?GY=FU8BL8AL8@K8@K9?K;AM;BM:BM;AM;AM;AM;AM;AM;AM;AM;AM;AM;AM;AM;AM;AM;AM=AM=AM=AM=AM=AM=AM=AM=AM=AM=AM=AM<@L<@L<@L<@L<@L<@L<@L<@L<@L<@L<@LJ9=I9=I9=I;?K<@L=AM>CO?DP@DSBEUDGVGKWJNWTX\w{{{y_ae @@@000sss444III#)*/53;@7@D9AC>AAE?@?/0.'&)/11 21 / / / + --+4)?-:D9GC>MADS=FT8ES9FR@LVAMV=HR8CM8BL;CN;CNBN>AN=AM;BM:BM:BM:BM:BM:BM:BM:BM:BM:BM;BM=AM=AM=AM=AM=AM=AM<@L<@L<@L<@L<@L<@L<@L<@L<@L<@L<@L<@L<@L=AM>BN>BN=BO;BO:BO:BO:BO:BO:BO:BO:BO:BO:BO;CO=COJ=CO>DPHRDOYFQZ>JT7AK9ALBN>BN>BN>BN=AM<@L<@L<@L<@L<@L<@L=AM=AM=AM=AM=AM=AM=AM>BN?CO?CO=DP;DQ;DQ;DQ;DQ;DQDP>DP>DP=CODPAGS>DP=COAGS@GRFMWCJRNSYilpq}J[`9MOj}}MMM...:::PPPggg&&&tttttt!,,"--9IGcwtv;KI&&98;MFJB8:7+,,(*--/0100/ . 2 3 / .-/!+71:A@IEGQBDP>BN>DOAJTALVBOY?LUCO?CO?CO?CO?CO?CO<@L<@L<@L<@L<@L>BN>BN>BN>BN>BN>BN>BN?CO?CO@DPAEQ?FR=GS=GS=GS=GS=GS>HT>HT>HT>HT>HT?HTAHSAHS@GR?FR?FQ>EQ>DP>DPAGSEKWEMWGQUQZ[w~|BY__{~_1MMGZZrrr;;;VVVzzzFFFCCCQQQ 555JJJBBB 111YYY QQQ***}}}  BBBJJJ,,, EEE>GE +)+'&>7Lg`9RN+*'*'*/;9;A=>?794%(--+-.02641 573 2 - +. 6$,>1=G?OKFVEES>CO=HQ?MV?OX@PX?NV;JS9GP=HR>HR>HR>HR>HR>HR>HR>HR>HR>HR>GR@FRBFRBFRBFRBFRAEQ?CO?CO?CO?CO?CO?CO@DP@DP@DP@DP@DP@DP@DPAEQBFRBFR@GT?IU?IU?IU?IU?IUAKWAKWAKWAKWAKWBKWCKVCKVBJUAITAITAIT@HSBJUCKVCKVGPYQ\\xx~I\`agAji#GE%=F@CA587%'4!2/03667752 5 4 2232%7$6C5GGAPDFR=GQ;JRSY>T[=SYHR@FRBFRBFRBFRBFRBFRBGSBGSBGSBGSBGSAEQAEQAEQAEQAEQAEQAEQAFRBFRCGSCHTBIU@KW?KW?KW?KW?KWBMYBNZBNZBNZBNZDNZFNYENYDMXDLWCKWDLWDLWGNYFNYKR]\em½x{}QZ^az~\.ZZFD%LJ4NMwww^^^^^^aaa;;;```^^^bbbhiifddhffilkKVT):9/.4568243545./+,&464<>CCD?699'*32531389543 4 5 8503 ;%/E9AJEMIMUCNV=MU9MT;PXBS\GPZDLW>HSKT=KTIS@JTAHUAHUAHUAHUAHUBHUBIUBIUBIUBIUBIUAHUAHTAGTAFS@FS@FS@ER@FRAGSAGTBHTBJVALWALWALWALWALXCNZDO[DO\DO\DO\CO\CO[BN[CN\CN\EL\CKZDKXJOZMR[ejqnyzF\\_||Nss$LL FE&GFSlk;;;jjjgfggcdlehkgj_`e=BG&/4#/6275698569;7889770DD8BC=:L]@M^CK_EL^JP^PS\ikphwyGabU|{;kg!LJ*JI1JIm{|;;;iiiaaagfgjehjdhhfiehk;?C$'-+.5)4934214636<=HGB><7;7/@?=@BC:>C/6;$(6213689963695 53/6%@,8I;HKFSIIVGLYBLXDO[GR^HT`HT]EPYCMWDMWCMWBLU@JTBLXBLXBLXBLXBLXBLXBLXBLXBLXBLXBLXDMZEMZDLYDLYDLYCKXCKXCKXDLYEMZFN[FOZFPZFPZFP[FP\FP\FP\FP]FO^FO^FO^EQ_FVc@Q_@O^DQ`GPaKR`OU_ux}dvvD]\Opp4[Z#KJ1NPEUY;;;fffighiehlfjgehdeggmnEHJ"!&0-3/38"34658:25==DAD?GBA;>;(<<5>AB@GG;?@+/9#%=#'= $647972465 9<:3 7 M?LQKXFNZALW@KVCOYJV_LXaIU^EOYBKUCKVDMXDNZDNZDNZDNZDNZDNZDNZDNZDNZDNZDNZEN[FN[FN[FN[FN[FN[FN[GO\GO\HP]IQ^IQ^HR]HR]HR]HR^HR^GQ]GP]GP]GP]GP]EQ^ES_CQ]CQ]FR_KU`S[e{arqHc_>`]-RQ.QR2ORSai;;;ttt```gdfjdhkfjgfhcfhgll^`a:7;2,2.,1'-/)88"595:<>:9?;C>GBDAA@>?$:>4:?B;?E:>D39B-2D+.@$'90/39 989;< =;76">".E3?KGSKMXLR[IR[CPYCQZFU]HV`JUaHQ^EM[EO[EO[EO[EO[EO[EO[EO[EO[EO[EO[EO[FO\GP\HP]IQ^IR^IR_HQ]IQ^IR^JR_KS`JS`IR_IR_IR_IS_IS_GQ]GQ]GQ]GQ]GQ]FQ\DQ[FS\EQZKV_`ipcnoD\Z5VR$JG-PP:UXq;;;uuueeeighidhieifgiegifhjjkmXXZ;9<98;&(*#%'39%8>6:>?)RRDB@=DBFDDC@@ :<,8;7=@BAFF=CE5:E13A)+8317?!@>;<??<667!<&0D5?NHPOQXHSYBQX@RZBS_FVdLXhOYjGP^FP\FP\FP\FP\FP\FP\FP\FP\FP\FP\GQ]GQ]HR^IS_JT`JT`HR^HR^IS_JT`JT`JSaHQ`HQ`HQ`HQ`HR^HR^HR]HR\HR\HR\HR[IT\OY`R\benr÷bopK``7TS.PN.NNJdhifn;;;~~~iiikjkhfghfghfhggiggifikjor>EG@FH259$"+"+5%5<&="<<,=?9@CB@CC8;D14C-/A(*:!!79?G$#G""B;==87865?*/C8=JJOHPVES\HYfDTdDTgL\oOZhLVbHR^HR^GQ]EO[HR^GQ]DNZCMYFP\GR^GR^GS_HT`IUaIUaHT`HT`HT`HT`HT`ISbIRcHQaGPaHQ`IRaIS`IS^JT^KU^JT]JS[OY]Yaepx{ùĻ]prF``7VV-LL5RTjsjpu///fffeeeggfggghfhhfihfjbfjbnp?QR!=;%673;=CAEF>DA28>(.>$':"9 : ; C'%G)'F'%>88; :9979)B1>NGUPQ`KTcKXgPZgIS_JT`U_kT^jMWcMWcIS_FP\FP\JUaHT`GU`GU`HVaIWbIWbIWbIWbIWbIWbIWbKVeLThJRfJReKTdLUcKT`NXaR\dT^eU`e]fiüĽSbiNek>\`'ILMnq4PPL_`||| 111jjjddcfhdfhefhgggjffm^fnOdk=bh:em5_j,MZ2?K)/:"'3"-!*%-31=?->>9OLB]W2RKD=B=C>D?E?D?CA$@?*=>1>ACD38@,0<%):#<":?E#"F$"H'#J(#BB@@?=9";+E2>QFRQMYOVaNXdLVbJT`NXdT^jS]iMWcKUaJT`IT`HT`GU`HVaIWbIWbJXcJXcJXcJXcJXcJXdMXhOWlMUjMUhMVgOXfKU`NXbP[bXchoz~¹Ľ^eoShqA\dE_goA\_DZ\ixz---rrrcdaghceiddifehjffn_grVnwDnvAs~2ht-\j0IS&5>%/9+.9((3#!)%%*5<=2B=5NE?^S1SM$IEC?@;B<D>B<@=<<;=)?C9@FEBCE!@ 9@#,L8BGIUEO[KUaMWcKUaJT`OYeQ[gT^jR\hIS_GS_HVaIWbIWbJXcKYdLZeLZeLZeLZeLZeNYjPXoOWlOWjOXiPZhR\hT^g[eluù\_mXao@ZeWr|w>[_7MS`msrzggggggggggggggggggggggggggggggggggggiiiyxxjigfgcdhedhgegj`hn]pxKowQC|5lz5`m0O[)=H*/;41;>8@+(.%21-B>(C>9VS;ZZ*OMCAC?HBFAFDCCAC"EI0EJ9?EB@GF>FF5=G/7F(/E#)D#>?B !H'*G%'??=?IGCB> 7(3BDK><R)&DBD?<<&E*3Q>EVMRRUYOY_P`hK\iFWgK[nO`pNamL^jK\hJ[gJZgK[hJZhJ[jJ[kJ\nJ[qM]vP_uN\nQ_jVdjert¼ºľ\jkUcgT`fSr}4Uc'GX0K_BRhOUk\arjnysopffcghbde_dhcckkgv{Wr{Mt:k|0h6l1]p/N[3FN-4834877=$'0 ,%3 4='BH%DI@DBDCDFFDEBCEF$MQ?bfYv|Wrw>V[3EI8CG>AF?6=I6>G(1G!*G *@'?%>"@EC[,*KDDA@>;>!(G27MAGNJQRV_QZgMZiJZkK\kM_kOamOamM^jJZgIYfK\jM_mM^nK\mJ[oJZpM\nR`oYfogtw¿ûľYefHVXhvzSpy/LZ+G\/Ib6Li?MiAHbLSh\bq|z{ddade`ee`gheehjentcu[yGoACDEEFFHI#NNAfiWv|fOmpOilCXZ;IK79=B9?N9AJ-6H(0E%,B"'A"CGGa53M"!CG$$H%&C!G%E#?!?"B$,J3=RFQSQ]PVdQ^lO^lK]iK\iM^jQboTesPanN_lL]kM^lP`pR_qUas\fv`kv{þ½|_kkcoqpBbi0M[2I_MqBMoAHfCLfAH^ioffcde`gfbjhgihk_ahgq{Zn{CarBn8o0n/o.dn.NS9EJB879@38G-4I(/I$)C##]C>F/';!P-(X/-J "H!I L"M!K F":!6"+?:ALRYKV_KYdO]jP`oO`oN`nOaoTerZjt]ku]ks`hqos}»ƿtxy]hhQty-QW#EL2=/B%3M7?`DIpEHr=EmD[U\mikgfdbd_`rjof]e-(3$,.E+Oh;i?y]_9XZ]||UutZzyLmjNojBb]2PL)B@.:<85:C29H,3C%'aDCN2-= Q/'U2)N''Q(*L"$Q&'K HG @#9$)G@DNRULT\ITaIVcJZiO`oRcrOaoPal\ltbpvmy}u{ľĽžýyy}dkmyPu3U`Fk?Lo9Fi:Ee?HdAH_?FWDIUnmkhcdnejE;B"-,?+H[HqQC|8p6ct3P]@LUB@F2/:-,<"#2 /"0$0&02;+EM+IQ-NUBbf[z}PpqOrrLppAffEliGnkDkhop;^]9`_/RR)DD(89659=.1`DFY77E"P0'O1'O+)U00K('S0.I%#G CC!%>&)RHIPQRLRYKSaKVdKYiK\lL^mQdqUfqy¼ý½nqtafjoBkx(N]9H0?$4D ,>"-@!,@$,D).JJNmDLl@Lm#:G+EQ9V]MlnNqq\f>jg9dbCljX~pmem3[[(YV)\V%JF%44I@CV;?J)*W73[<6L)*P.1I,*Q62B&"B BE#'B*-WLLQRQNQXMR`LTcKXhK[lI\lJ]kWhr^lpy¼Ľýiot_hkZ@gq$JZ7I1C"0B%-@%*;(.A$,>"*>")@DJdFOk=H/.@;-0N89[?AI)-J+.G-,Q96@%"A!DF#&E,.ZNNRRQOQWNR_LTcKWhIYjH[jJ]kUgpbosÿĿſlt|]fmV{8ai&MW2B-?!2B&0A$):)+;'*;"5(/C4;QAI`AIbBKbDM`EMZW_gyy{ieh5/2/+-$1-HXMv\F~Ay7hz>W`RVXNOSBAIGEP75C'#76";":#;,:!=@1PR7YZJooT{zKts]Mqs8[]8X\UnrgxzNceiO~|OQ`RUhEJ_gj/SY;E2?0="2A'0B$/=)6@YelW]n>H[>J_R^nryuzzz___CCC888024:CJHSZ'+  &2.GZSugNEGs~?YaIRW@@BD>BPKQHEP**;5"= &A(>#4)6392OQ=]^hHnm6]\s.WS!JE+SOe>][p?[Z>`^j,h]"eX-ib"TP BA&250)/A(3H*5E&4G1=_S\PPXHT\EWaGWcKVfLVgLWgIXdR`i[fkþ_lo]lp`_9Ze6D1@*8G*5A%0;"0;5CLvJM`>FVT`j}q}}}jjj```KKK=@B1>DK]d-@D33   $6.E[Tv_PL{XyI[b(<'8%3'1'?FKgl=_a9^^fNtoi6_Y,QLFhdr4ONB`^nEqjR}F~{9rp-a_$NM$>@.295,6:)5E7@]W^PUXHW]EXbGWdJWfJXgHYfFZcL_fWgj[jnarwp/D[#2J(3H'/?&-61:?fuw*)=C$'3"5"6!'<"'=&;$6"23?:U\VuyVxxpyWxEnf4ZS@b\,KFWuqkm\~{&WY.ij3xu,rm ^[EG9=)2868>ORVKUUHW]EVbGVcIVdIWeHYdI]eLafVeh]ioixz*5Q)2Q-2O,0E14@X]_Z]m17BADJwxu_o***NNN]]]...000wwwhhhkkkCCC " /7C'-: 2!$8$&=#'?&=&;#4)6,DMB^aRpnp^Vy9e^,UN(NH`}inLffBF)_b1xu.}(z njXWGJ"<@4HJ;LOET\FRbHRaJSbJTbIVaL[dP^eVae}_elr{cew,/F35R67U./GBDT{~HJ^26@SXXrZlWWW999TTT ...&&&ooojjjLLL))) ):C@SX=OR/=@-47-.3$ !"32SfLsXd[nXmrEKMOOKUPJUQSAAL'(7"#6((?#&>"(A#<"7*<#2!4<7OQgRurX|=le(YQJC(QL;^[[xwSmn"CEJKTQhazq{ysfdOOFG$EI5LW>M\CP^GP_HQ]JS^KV^R]cX_eaenz~PTf,.B<>Pmn}Zbp)1B;AMtuw¹lSopppbbb(((222???vvvhhh222  +2AKQCKO58C<>C8;>158-36%-/!%($3-Q^N|XagpkyxUYVXVWTOTNLSABJ',7 '5!):$+?"(="%<$%<$7(3"*9?(HL]0_^LILHOLGF/VWKppNvt-][WUYUidqm{x"~| uuhj_a!UY"MR.MT;SXATXBTWJ\^Vehydnw}6A8=@2:<%./!' $(4;_j^X^lo`oqTY[TRTLKNPRWGLR+2: '2!(8$)<%'>#%=!%<(7&3-:2=3S[+SYKOIKOQGJHK IJ(SQGG&XW&^^a`a_ki"zx('!usdc/hi8ae1NQ;PT@STJ]]Tfgasuduxkm{8:G16D:BLfnu}@CU/0D\`jþ~]_4dz!;Rmr~555HHH``` {{{...''''$%/!&'-,1@?DFIL=EF1<;.13$ ' &'3@`me\lnnbqsW]ZUZWSWVPTUCGK04;%'5#&8%'?"%?'?);+;%5&6&59EEMLRGMHNJPIN LOGJ,[[-\\-\^+^`Z[baur .UNO|~eK^`FTVN\]^noevyR_m-3C67HVXdT]f38DJJY}zm\M5ap#7Clmt'''111uuujjjAAA---)&&I9;>.0& *&,CBGJPS=GH69:736%")'%#0Cco_fkpnctoT_ZW_ZOTPKKJKJN11;"$3"%;!&A +D0E)>!-A%:':):5C>HENIQEOENKQIM#TT+YXKrrV|}9fg\[fayqAUQ}ry}X_b\ei}Yz6T^!:G$6DHP`}ru:BM4=Fgkrw[RBF9D0.9 %4'9*?*F'E")E%?&<':+<1<;DEMHP HRHOEH%VR)XQ?kbQzr;gb']X!b]ie=?|[Ou{Fgn,HP5=+>F\jrTQf67HIPYpZK%Xn1B16?(%&{bbb...555!!!888733J<9O=:YJHA75.('#!!! )@?IFJQ=EH49?47>13;'! 'C^adigam_||Xdb[[WQJId[^ZU[/2=*4!,>!(E#)H$*H#)F!)B(>(:+80;8B>G"GRFOEH!NJ OEDqdeJxn._X#[V"a_$lk=u~zD~D#7z=J0:(.5#"%110^^^qqqKKK999TTT###ggg999999999999999999999999999999999fff999999999999999999999999999999999AAA999999999999999999999999999999666 ;;;qqqKKK999AAA NNNhhh;98SFCQB>B732+(30.&&%%'(%&*#",:=CHMQDFK9:A88@029 &. '-E_bibhgofy{]df`^`TOQYUZEFN',6&-KALFKGED<>h]Mwl=j`,^W$\W _\!beCt~uA|:r|0\e;B.DHtOTc>AQW]i|gV2am.3+<=clk177,24DDDLLLccc===+++eeeBBB777eeekkkDDD dddRRR ;;;333 ;;;iii444:::www&&&OOOkkk___000,,,www???222 aaa777eeecYVQGCOHE=:7331/202789=@/26$"9:>NNSHGM==D:;C25>'-5'"+AOWh_jlsm_imaehUVYLLQFEL02>&,;!(:!*?#-D +F*E+E)B(='8(8,=6C AIBD<9Aia^~?jc/`\'_\\Z _aBmwc:{:t}/Ze+IQZntch{6>E::C45>==G%#/)F[^bdopn`xarvbknPRVPMS\[a48@(.9"*:#-B ,F)F*G (D (A!&<&:&:,=2>>>ZZZVYV8>:0969A@HQPAHI).1)+/+*/#$106MMRLMRDCKB>HQIVQER+-#:TSmgvrh`_txYbfNPTOMQEFI58@&+9%,@#-H)F'E'C!'A"&>"&<(?(=%53=3: =A0NQ-PRACOP[[_\>uy~H:xw4kl=aiqÿZbn;ARGJ]~i_MHY '5-76vxw65?bejwww???JJJ***ZZZeee ###YYYHHH{{{ BBB``` RRRlll{{{___(((CCCAKG>HDKTS@GF066+.0.,/)%(&$'",-1KLPRPVMFPTGShVd\FW2%3!DSXjowig]PekP\`PTWYXZWV\.0=%);$+E#-J!+H )E!(B#(?#(> (@)@*=+9+7.85=8@=CAESUa`Bz}sBy}8rr5ig]z}DJW>EOfirwXP<{:J &>CBvx}.0;88D oooeee 666fff $$$TTT(((xxxdnkGNLGLK698344**+'&'-.0&(*"$)+/LJQSMUZNYhUclUe[FV9,9!BQSqjfpkPrzJekVejTUYMLS;CO5:K)/C#)A$*C%-F&0F&0E%0D$+E#*D +C,A,A)='9*:1>7@!KQ#QWKz~D=|x9olQoqfm{6;ICFS|}^Z8t5N .&#%rmgSQ]'%3),.AAAeee999 '''HHHdddPPPNNNNNNqqqbbbaaasqoca_eki$**)..&*+%&*+(/JDK\S[[NZcP^jSbaP[@9?!"ATRnmbVLKxYlu^jqEPZ;DQ7>O)/C%*?%+@%,B&.C'0E&-F%-F".F.E-D ,C+A*>+;.:@H)V\?qtK~~:tn0j`R~uOTc5]Xa[T`^T^[MW\OWOGL*-0:NTbUHS\PwHgrD[gBP\AHV;>N57H,.B$'=).D%.D%2I.G0H.I#.J"(E%+F%0F/A0=*MQOtpxHL_9=JY^c{f[3n 2A"(WUM==C)(10/6VUT|||eeetttLLL***TTT^^^DDDmmm aaa_`_kkkYYY>>>(((+++(()89@PQ]a]gXNXfWak\fUJU%)62FUXOUWXM|EitI^i?KW=N<;M./C'*?"-A"2G/E"6N0I,G")E',F'-C,6Gao|\eu4;KKN\}ncHPf#,&(%fgbzy}55:87Bijg&&&?>BDCH!444eeekkk222 ,,,\\\KKKrrraaaZZZ___~~~rru?@C"$$'*(ADAfdbd^a]R[g[jbYmD=U9G[PVY[UN|JhvDSbAFSLKWXWcAG])3H,8I;()%@B=`caaceZX`i]niVmWOe7N]R|^\^ZL|FepGXbIPVRT]FI^K[ZYWYTMGjoL`dP\cDH[HJ`8:L;>Kfr:F[5BOmw|~dbNF\$7%&""22(xFFF'''aaappp)))WWWsss|||ttt%%%eee;;;;;;;;;777222(((aaaoqnZ]Yr|uESL!.)*41SWYjfmh]glYhw`s\SeBScR}XLSVLIloIahAI[HJ^>@R=>N~ER_0=LYfqo_X3q4G*))#QXM~{552,,,[[\//0CCC333###ccceeezzz>>>fffrrr  >>>888aaaOWRamhDNK)./!#%LKPmkpl_ioTekXjWXi?xxx336OOO@@@ ccc### <<<YYY aaa[[[@@@uy{dkktvwUSS/41def{t}eXhaSiUNg[az`z^V[b[Ahp*LX8Zk>_pgrbP? AU %1&* " #XVVDGJ!'(020H@=ilng]laPfl[ufc|aw]S]`T9r}8yXzcZN)e/G,"%!$,$\^YA?E''+,-.<=Ne "6+'#!8?3pwn{{};;=('+&&(::;,,*RRRYYYddd HHH!!! TTT333,,,^^^  ))) 777y{zcji\iiXaepr{vsfdrchvFXcRqzZdYG@Fdm]U/u 7L 1&' 84*}urrr000((((((222444@@@yyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvoooHHH,,,''''''444WWW}}}vvvvvvvvvvvv^^^==='''''''''DDDeeevvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcqn|tNYZu|qtzXYaVZbQ]eVv`YE?HbmdDZt*C#6!+%$JG;yggi,,,$$",,*::;--/Zjfcso[Y[`^a`fpYr{WMEGZshdN7{8M2$5)!JSI]\a##%!!!+,&}GGE,,.lztx}cmgqkll`kX[fGinSGDO[bTaz1E +!*!$ ^kcRPW*)/!!$$% tuo\]Y**(PZRtd\gFSYDhpOEFX6 =M(=!#2(!$&"!5:2rzsHEQ%!*$#'$$$ssqbc^((%vvt»pyqwv~\_fK\fCfuRT4p 0B-# .''+%&" BD:}z?
  • ajouter les fonctions de recherche
  • ajouter le support de l'index
  • ajouter la fonction "undo" (retour) pour la navigation
  • ajouter des favoris : peut tre crire une application spare pour les grer ?
  • redesigner l'application pour fonctionner avec des bundles, de faon permettre d'avoir des bundles pour lire des fichiers .gsdoc, .html, man ou texinfo ...
  • ajouter le support du mng pour avoir des animations dans l'aide ... un programme permettant de crer des mng en "enregistrant" les actions de l'utilisateur l'cran serait idal :)
  • corriger les bugs :)
HelpViewer-0.4/HelpViewer.help/attention.png0000644000175100000240000000150513701702464020351 0ustar multixstaffPNG  IHDR 0pxobKGD pHYs  #utIME :`+`IDATxˏSeO;ę NXpqA a#?_Æ;M4.`aDР&@42@uJ霖/9=< k,'XuR%oQ,JvH{OpMpBZ :bgqYq|`?bR 3OXoǒ `7Y_ijyƙ1)P?c)@13d>IS߸yPǮfEw%|?z]X㿅[ESs%$i(@`eԱ5~eh;`fx[Xg8/2~-FTUX*BWkve0D)z ptwd)|oᲂ`F<" L pXaED@S&X0#zk kXxxxЮG OՊH:X`8p2wWEE||,?U/"U{%,
 bKGD pHYs  d_tIME+6$=IDATxiUeߝu&r̅Ұ6i/RE3Df%(>DQTT~  "J",?PjVfڸ>PyoQȼ2ي'Ǯv/xNj,?Pduqv#A_**L?k0V|IENDB`HelpViewer-0.4/HelpViewer.help/.gwdir0000644000175100000240000000057713701702464016763 0ustar multixstaff{ geometry = "366 124 450 500 0 0 960 768 "; lastselection = ( "/home/nico/Projets/HelpViewer-0.3/HelpViewer.help/ToDo.xlp" ); shelfdicts = ( { index = 1; paths = ( "/home/nico/Projets/HelpViewer-0.3/HelpViewer.help" ); } ); shelfheight = 77; viewedpath = "/home/nico/Projets/HelpViewer-0.3/HelpViewer.help"; viewtype = Browser; }HelpViewer-0.4/TextFormatterXLP.h0000644000175100000240000000443014053012203016164 0ustar multixstaff/* This file is part of HelpViewer (http://www.roard.com/helpviewer) Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) 2020 Riccardo Mottola (rm@gnu.org) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef __TEXT_FORMATTER_XLP_H__ #define __TEXT_FORMATTER_XLP_H__ #include #include #include "TextFormatter.h" #include "Section.h" #include "BRCell.h" #include "FigureCell.h" #include "NoteCell.h" //#include "Parser.h" #ifdef MACOSX @interface TextFormatterXLP : NSObject #else #include @interface TextFormatterXLP : GSSAXHandler #endif { NSTextView* textView; NSMutableArray* pages; NSString* path; NSData* content; BOOL _document; NSMutableAttributedString* _currentContent; Section* _firstSection; Section* _currentSection; BOOL _italic, _bold, _smallcaps; BOOL _code, _url, _pre; BOOL _legendfig; BOOL _ol, _ul, _li; BOOL _note,_listing,_caution,_information; int _listLevel; NSMutableArray* legends; NSMutableArray* _listCounter; NSString* imgSource; NSMutableAttributedString* _string; NSMutableAttributedString* _preString; int legendX; int legendY; NSBundle* Bundle; } - (void) addImage: (NSString*) pathname; - (void) addImage: (NSImage*) img onString: (NSMutableAttributedString*) as; - (void) addLegendFig: (NSString*) imgpath withLegends: (NSArray*) plegends; - (void) addNote: (NSMutableAttributedString*) string withImage: (NSImage*) img withColor: (NSColor*) color; - (void) addRuleTo: (NSMutableAttributedString*) string withHeight: (CGFloat) height; @end #endif HelpViewer-0.4/Table.m0000644000175100000240000001174114053012203014027 0ustar multixstaff/* This file is part of HelpViewer (http://www.roard.com/helpviewer) Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #import "Table.h" @implementation Table - (id) init { if (self = [super init]) { table = [[NSMutableArray alloc] init]; } return self; } - (BOOL) addCell: (NSString*) text withSize: (float) size withRowspan: (int) rowspan withColspan: (int) colspan atRow: (int) row { BOOL res = NO; printf ("addCell with size : %.2f\n", size); if (row < [table count]) { TableCell* cell = [[TableCell alloc] initTextCell: text]; [cell setBordered: YES]; [cell setSize: size]; [cell setRowspan: rowspan]; [cell setColspan: colspan]; printf ("rowspan : %d\n", [cell rowspan]); printf ("sizePercent : %.2f\n", [cell sizePercent]); [[table objectAtIndex: row] addObject: cell]; res = YES; } return res; } - (void) addRow { [table addObject: [NSMutableArray array]]; } - (float) height { return [table count] * 16; } - (void) setWidth: (float) width { _width = width - 10; } - (NSSize) cellSize { int width, height; if ((table != nil) && ([table count] > 0)) height = 16 * [table count] + 3; else height = 16 + 3; if (_width <= 0) width = 300; else width = _width + 10; return NSMakeSize (width,height); } - (void) moveCellsFrom: (int) pos ofRow: (int) irow of: (int) nb { int i; NSArray* row = [table objectAtIndex: irow]; printf ("moveCellsFrom: %d ofRow: %d\n", pos, irow); for (i=0; i < [row count]; i++) { TableCell* cell = [row objectAtIndex: i]; if ([cell x] >= pos) { printf ("[%d] (%d)=><%d>\n", irow, [cell x], [cell x] + nb); [cell setX: [cell x] + nb]; } } } - (int) numberOfCols { int i, j, k; int ret = 0; for (i = 0; i < [table count]; i++) { NSArray* row = [table objectAtIndex: i]; for (j = 0; j < [row count]; j++) { TableCell* cell = [row objectAtIndex: j]; [cell setX: j]; } } for (i = 0; i < [table count]; i++) { NSArray* row = [table objectAtIndex: i]; for (j = 0; j < [row count]; j++) { TableCell* cell = [row objectAtIndex: j]; if ([cell colspan] > 1) { if (j+1 < [row count]) [self moveCellsFrom: [cell x] +1 ofRow: i of: [cell colspan] - 1]; } if ([cell rowspan] > 1) { for (k = 1; k < [cell rowspan]; k++) { if (i+k < [table count]) { // On doit dcaler toutes les cellules de la // ligne du dessous partir de cette position [self moveCellsFrom: [cell x] ofRow: i+k of: [cell colspan]]; } } } } } for (i = 0; i < [table count]; i++) { NSArray* row = [table objectAtIndex: i]; for (j = 0; j < [row count]; j++) { TableCell* cell = [row objectAtIndex: j]; if([cell x] > ret) ret = [cell x]; } } ret++; // (vu qu'on commence l'index 0) printf ("ret final : %d\n", ret); return ret; } - (void) drawInteriorWithFrame: (NSRect) cellFrame inView: (NSView*) controllView { int i,j; float width = cellFrame.size.width -3; int cols = [self numberOfCols]; printf ("cellFrame : x <%.2f> y <%.2f> w <%.2f> h <%.2f>\n", cellFrame.origin.x, cellFrame.origin.y, cellFrame.size.width, cellFrame.size.height); printf ("table count : %d \n", [table count]); for (i = 0; i < [table count]; i++) { NSArray* row = [table objectAtIndex: i]; printf ("row count : %d \n", [row count]); for (j = 0; j < [row count]; j++) { NSRect rect; TableCell* cell = [row objectAtIndex: j]; float widthCell = width / cols; rect = NSMakeRect (cellFrame.origin.x + 2 + widthCell*[cell x], cellFrame.origin.y + 2 + i*16, widthCell*[cell colspan] - 1, 16*[cell rowspan] - 1); [cell drawWithFrame: rect inView: controllView]; printf ("[%d]==>(%d)\n", i, [cell x]); } } } @end @implementation TableCell - (void) setX: (int) px { x = px; } - (void) setY: (int) py { y = py; } - (int) x { return x; } - (int) y { return y; } - (int) colspan { return colspan; } - (int) rowspan { return rowspan; } - (void) setColspan: (int) col { colspan = col; } - (void) setRowspan: (int) row { rowspan = row; } - (void) setSize: (float) percent { sizeIsPixel = NO; sizePercent = percent; } - (float) sizePercent { return sizePercent; } @end HelpViewer-0.4/Legend.h0000644000175100000240000000303414053012203014165 0ustar multixstaff/* This file is part of HelpViewer (http://www.roard.com/helpviewer) Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) 2020-2021 Riccardo Mottola This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef __LEGEND_H__ #define __LEGEND_H__ #import #import "GNUstep.h" @interface Legend : NSObject { NSMutableAttributedString* legend; NSPoint point; CGFloat height; BOOL rightPos; } + (id) legendWithString: (NSMutableAttributedString*) str andPoint: (NSPoint) p; - (id) initWithString: (NSMutableAttributedString*) str andPoint: (NSPoint) p; - (NSMutableAttributedString*) legend; - (NSPoint) point; - (CGFloat) height; - (void) setHeight: (CGFloat) h; - (void) setRightPos; - (void) setPoint: (NSPoint) p; - (BOOL) isRightPos; - (NSComparisonResult) compareWith: (id)sender; @end #endif HelpViewer-0.4/HandlerStructure.h0000644000175100000240000000232014053012203016262 0ustar multixstaff/* This file is part of HelpViewer (http://www.roard.com/helpviewer) Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef __HANDLER_STRUCTURE_H__ #define __HANDLER_STRUCTURE_H__ #include #include #include "Section.h" @class Section; @protocol HandlerStructure - (Section*) sections; - (void) setPath: (NSString*) path; - (void) setTextView: (NSTextView*) view; - (void) parse; - (id) initWithSection: (Section*) section; @end #endif HelpViewer-0.4/ChangeLog0000644000175100000240000000556414006115512014407 0ustar multixstaff2021-01-29 Riccardo Mottola * Gorm/MainMenu.gorm Totally re-done from scratch * NoteCell.h * NoteCell.m Separate calculation into resizeWithTextView from drawInteriorWithFrame 2021-01-03 Riccardo Mottola * Legend.h * Legend.m Make an explicit comparison method compareWith: and clean up its code. * FigureCell.m Use the new comparator. 2020-09-22 Riccardo Mottola * TextFormatterXLP.m Fix attributed string allocation. 2020-06-25 Riccardo Mottola * Label.h * Label.m Rationalize range accessors. 2020-06-25 Riccardo Mottola * Controller.m * FigureCell.m * Page.m * Section.m * mainWindowController.m Some int to NSInteger/NSUInteger conversions. 2020-06-25 Riccardo Mottola * FigureCell.m * HandlerStructureXLP.m * NoteCell.m * TextFormatterXLP.m * mainWindowController.m Remove unused variables and code. 2020-06-25 Riccardo Mottola adapted from Yavor Doganov. * NoteCell.m Be careful accessing ivars after proper initialization and fix crasher. 2020-06-25 Riccardo Mottola * FigureCell.m * NoteCell.m * Section.m * TextFormatterXLP.m * mainWindowController.m Fix memory leaks and errors. 2020-06-25 Riccardo Mottola * Controller.m * HandlerStructureXLP.m * Label.m * Legend.m * Page.m * Section.m * mainWindowController.m Properly call [super dealloc] in dealloc 2020-06-25 Riccardo Mottola * FigureCell.m * HandlerStructureXLP.m * Label.m * Legend.m * NoteCell.m * Page.m * Section.m * TextFormatterXLP.m * ViewCell.m * mainWindowController.m Fix init methods to properly call super, check and assign self. 2020-06-25 Riccardo Mottola * BRCell.m * FigureCell.m * Legend.h * Legend.m * NoteCell.m * TextFormatterXLP.h * TextFormatterXLP.m Transition float to CGFloat, but also correct some int types to CGFloat where appropriate. 2020-06-18 Riccardo Mottola * HandlerStructureXLP.h * TextFormatterXLP.h * mainWindowController.m Update/Fix import of headers. * 05/04/2003 : release 0.3 - major redesign of the code (it's now possible to add quite simply others parser) - use of a NSBrowser instead of a NSTableView to display the Table of - Contents - it could now handle big XLP files - help files are now considered as a bundle, containing .xlp files and images, etc. - it's possible to includes others XLP files in a XLP file - some tags had been added to the XLP format - new "look" for the legends - some bugs corrections - not yet recompiled to Mac OS X, due to - the redesign with the parser * 02/02/2003 : release 0.2 - the interface now uses gorm files - helpviewer is ported to mac os x - addition of "legends" figures - added patch from Alexander Malmberg for BRCells (now uses only one shared BRCell) * 20/01/2003 : Initial release (0.1) HelpViewer-0.4/GNUmakefile0000644000175100000240000000217614053012203014676 0ustar multixstaffinclude $(GNUSTEP_MAKEFILES)/common.make VERSION = 0.4 PACKAGE_NAME = HelpViewer APP_NAME = HelpViewer HelpViewer_OBJC_FILES = main.m mainWindowController.m Label.m \ Controller.m FigureCell.m Legend.m\ HandlerStructureXLP.m \ TextFormatterXLP.m \ BrowserCell.m NoteCell.m \ ModNSString.m BRCell.m Page.m Section.m # Parser.m # Table.m BRCell.m ViewCell.m TextViewCell.m HelpViewer_RESOURCE_FILES = Resources/Index.tiff Resources/Back.tiff Resources/Search.tiff Resources/Bookshelf.tiff Resources/HelpViewer.tiff \ Resources/helpviewer-200.tiff Resources/Logo.tiff \ Resources/part.tiff Resources/chapter.tiff Resources/notloaded.tiff Resources/errorloading.tiff \ Resources/note.png Resources/caution.png Resources/listing.png Resources/information.png \ Resources/Point.tiff Resources/Point2.tiff Resources/Icon-hlpd.tiff\ Resources/MainMenu.gorm HelpViewer.help HelpViewer_MAIN_MODEL_FILE = MainMenu.gorm #HelpViewer_PRINCIPAL_CLASS = NSApplication HelpViewer_LANGUAGES = English #HelpViewer_LOCALIZED_RESOURCE_FILES = Logo.tiff helpviewer-200.tiff $(APP_NAME).xlp include $(GNUSTEP_MAKEFILES)/application.make HelpViewer-0.4/TextFormatterXLP.m0000644000175100000240000004507314053012203016201 0ustar multixstaff/* This file is part of HelpViewer (http://www.roard.com/helpviewer) Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) 2020-2021 Riccardo Mottola This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "TextFormatterXLP.h" #define HAVING(str) ([[elementName lowercaseString] isEqualToString: str]) @implementation TextFormatterXLP - (id) init { if ((self = [super init])) { _firstSection = [[Section alloc] initWithHeader: @"document"]; _listCounter = [[NSMutableArray alloc] init]; legends = nil; _currentSection = _firstSection; _document = NO; Bundle = nil; content = nil; } return self; } - (void) startElement: (NSString*) elementName attributes: (NSMutableDictionary*) elementAttributes { if (_pre) { // verbatim mode id tag = [[NSString alloc] initWithFormat: @"<%@", elementName]; id str = [[NSMutableAttributedString alloc] initWithString: tag]; [tag release]; NSEnumerator *enumerator = [elementAttributes keyEnumerator]; id key; while ((key = [enumerator nextObject])) { id strelem = [[NSString alloc] initWithFormat: @" %@=%@", key, [elementAttributes objectForKey: key]]; id astrelem = [[NSMutableAttributedString alloc] initWithString: strelem]; [str appendAttributedString: astrelem]; [astrelem release]; [strelem release]; } id strend = [[NSMutableAttributedString alloc] initWithString: @">"]; [_currentContent appendAttributedString: str]; [_currentContent appendAttributedString: strend]; [str release]; [strend release]; } else { if HAVING (@"b") { _bold = YES; } else if HAVING (@"i") { _italic = YES; } else if HAVING (@"sc") { _smallcaps = YES; } else if HAVING (@"code") { _code = YES; } else if HAVING (@"pre") { _pre = YES; _code = YES; } else if HAVING (@"url") { _url = YES; } else if HAVING (@"br") { id str = [[NSMutableAttributedString alloc] initWithString: @"\n"]; if ((_legendfig) || (_note) || (_caution) || (_listing) || (_information)) { [_string appendAttributedString: str]; } else { [_currentContent appendAttributedString: str]; } [str release]; } else if HAVING (@"ol") { _ol = YES; _listLevel ++; [_listCounter addObject: [NSDecimalNumber one]]; } else if HAVING (@"ul") { _ul = YES; _listLevel ++; [_listCounter addObject: [NSDecimalNumber one]]; } else if HAVING (@"li") { NSMutableString* add = [NSMutableString string]; NSMutableParagraphStyle* paragraphStyle = [NSMutableParagraphStyle new]; //defaultParagraphStyle]; NSMutableAttributedString* AS; int i = 0; [add appendString: @"\n"]; //NSLog (@"on a li, listlevel : %d", _listLevel); if (_listLevel > 0) { for (i = 0; i< _listLevel; i++) { [add appendString: @" "]; } if (_ol) { NSDecimalNumber* counter = [_listCounter lastObject]; [add appendString: [counter stringValue]]; counter = [counter decimalNumberByAdding: [NSDecimalNumber one]]; [_listCounter replaceObjectAtIndex: [_listCounter count] -1 withObject: counter]; [add appendString: @". "]; } else if (_ul) { [add appendString: @" "]; } } _li = YES; //printf ("on ajoute la chaine : <%s>\n", [add cString]); AS = [[NSMutableAttributedString alloc] initWithString: add]; NSMutableAttributedString* space = [[NSMutableAttributedString alloc] initWithString: @" "]; if (_listLevel > 0) [self addImage: [NSImage imageNamed: @"Point2.tiff"] onString: AS]; [AS appendAttributedString: space]; [space release]; //[paragraphStyle setAlignment: NSLeftTextAlignment]; [paragraphStyle setHeadIndent: 16.0]; //[paragraphStyle setTailIndent: 100.0]; [AS addAttribute: NSParagraphStyleAttributeName value: paragraphStyle range: NSMakeRange(0,[AS length])]; [paragraphStyle release]; [_currentContent appendAttributedString: AS]; RELEASE (AS); } else if HAVING (@"img") { NSString* src = nil; if ([elementAttributes objectForKey: @"src"] != nil) { src = [NSString stringWithString: [elementAttributes objectForKey: @"src"]]; //NSLog (@"src : %@", src); [self addImage: [Bundle pathForResource: [src stringByDeletingPathExtension] ofType: [src pathExtension]]]; } } else if HAVING (@"legendfig") { _legendfig = YES; RELEASE (legends); legends = [[NSMutableArray alloc] init]; RELEASE (imgSource); if ([elementAttributes objectForKey: @"src"] != nil) { imgSource = [[NSString alloc] initWithString: [elementAttributes objectForKey: @"src"]]; //NSLog (@"src : %@", imgSource); } } else if HAVING (@"legend") { int x, y; x = y = 0; _preString = _string; _string = [[NSMutableAttributedString alloc] init]; if ([elementAttributes objectForKey: @"x"] != nil) { x = [[elementAttributes objectForKey: @"x"] intValue]; } if ([elementAttributes objectForKey: @"y"] != nil) { y = [[elementAttributes objectForKey: @"y"] intValue]; } legendX = x; legendY = y; } else if HAVING (@"note") { _note = YES; _preString = _string; _string = [[NSMutableAttributedString alloc] init]; } else if HAVING (@"listing") { _listing = YES; _preString = _string; _string = [[NSMutableAttributedString alloc] init]; } else if HAVING (@"caution") { _caution = YES; _preString = _string; _string = [[NSMutableAttributedString alloc] init]; } else if HAVING (@"information") { _information = YES; _preString = _string; _string = [[NSMutableAttributedString alloc] init]; } } } - (void) endElement: (NSString*) elementName { if HAVING (@"pre") { _pre = NO; _code = NO; } if (_pre) { id tag = [[NSString alloc] initWithFormat: @"", elementName]; id str = [[NSMutableAttributedString alloc] initWithString: tag]; [_currentContent appendAttributedString: str]; [str release]; [tag release]; } else { if HAVING (@"b") { _bold = NO; } else if HAVING (@"i") { _italic = NO; } else if HAVING (@"sc") { _smallcaps = NO; } else if HAVING (@"code") { _code = NO; } else if HAVING (@"url") { _url = NO; } else if HAVING (@"ol") { _ol = NO; _listLevel --; [_listCounter removeObjectAtIndex: [_listCounter count] -1]; } else if HAVING (@"ul") { _ul = NO; _listLevel --; } else if HAVING (@"li") _li = NO; else if HAVING (@"legendfig") { _legendfig = NO; [self addLegendFig: imgSource withLegends: legends]; } else if HAVING (@"legend") { Legend* current = [Legend legendWithString: _string andPoint: NSMakePoint (legendX, legendY)]; RELEASE (_string); _string = _preString; [legends addObject: current]; } else if HAVING (@"note") { [self addNote: _string withImage: [NSImage imageNamed: @"note.png"] withColor: [NSColor colorWithCalibratedRed: 0.81 green: 0.84 blue: 0.88 alpha:1.0]]; RELEASE (_string); _string = _preString; _note = NO; } else if HAVING (@"listing") { [self addNote: _string withImage: [NSImage imageNamed: @"listing.png"] withColor: [NSColor colorWithCalibratedRed: 0.88 green: 0.88 blue: 0.88 alpha:1.0]]; RELEASE (_string); _string = _preString; _listing = NO; } else if HAVING (@"caution") { [self addNote: _string withImage: [NSImage imageNamed: @"caution.png"] withColor: [NSColor colorWithCalibratedRed: 0.88 green: 0.78 blue: 0.78 alpha:1.0]]; RELEASE (_string); _string = _preString; _caution = NO; } else if HAVING (@"information") { [self addNote: _string withImage: [NSImage imageNamed: @"information.png"] withColor: [NSColor colorWithCalibratedRed: 0.79 green: 0.89 blue: 0.78 alpha:1.0]]; RELEASE (_string); _string = _preString; _information = NO; } } } - (void) characters: (NSString*) name { NSMutableDictionary* attr = [NSMutableDictionary dictionaryWithCapacity: 2]; NSFont* font = nil; NSFontTraitMask FontMask = 0; int FontSize = 12; if (_bold) FontMask = NSBoldFontMask | FontMask; if (_italic) FontMask = NSItalicFontMask | FontMask; if (_smallcaps) FontMask = NSSmallCapsFontMask | FontMask; if (_code || _url) font = [NSFont userFixedPitchFontOfSize: FontSize]; else font = [NSFont userFontOfSize: FontSize]; font = [[NSFontManager sharedFontManager] convertFont: font toHaveTrait: FontMask]; //[attr setObject: paragraphStyle forKey: NSParagraphStyleAttributeName]; [attr setObject: font forKey: NSFontAttributeName]; id str = [[NSMutableAttributedString alloc] initWithString: name attributes: attr]; if ((_legendfig) || (_note) || (_caution) || (_listing) || (_information)) { [_string appendAttributedString: str]; } else { [_currentContent appendAttributedString: str]; } [str release]; } - (void) setBundle: (NSBundle*) bundle { ASSIGN (Bundle, bundle); } - (NSMutableAttributedString*) renderHeader: (NSString*) header withLevel: (int) level { NSMutableDictionary* attr = [NSMutableDictionary dictionaryWithCapacity: 2]; NSMutableParagraphStyle* paragraphStyle = [[NSMutableParagraphStyle alloc] init]; NSFont* font; NSFontTraitMask FontMask = 0; [paragraphStyle setAlignment: NSLeftTextAlignment]; CGFloat fontSize = 12.0; int ruleHeight = 0; switch (level) { case 0: fontSize = 24; FontMask = NSBoldFontMask | FontMask; ruleHeight = 3; break; case 1: fontSize = 20; FontMask = NSBoldFontMask | FontMask; ruleHeight = 1; break; case 2: fontSize = 16; FontMask = NSBoldFontMask | FontMask; ruleHeight = 1; break; default: fontSize = 12; FontMask = NSBoldFontMask | FontMask; } font = [[NSFontManager sharedFontManager] convertFont: [NSFont userFontOfSize: fontSize] toHaveTrait: FontMask]; //[attr setObject: paragraphStyle forKey: NSParagraphStyleAttributeName]; [attr setObject: font forKey: NSFontAttributeName]; [paragraphStyle release]; NSMutableAttributedString* ret = [[NSMutableAttributedString alloc] init]; NSMutableAttributedString* astring = [[NSMutableAttributedString alloc] initWithString: @"\n"]; if (level) { [ret appendAttributedString: astring]; [ret appendAttributedString: astring]; } NSMutableAttributedString* ahead = [[NSMutableAttributedString alloc] initWithString: header attributes: attr]; [ret appendAttributedString: ahead]; [ahead release]; if (ruleHeight) { [self addRuleTo: ret withHeight: ruleHeight]; } [ret appendAttributedString: astring]; [astring release]; return AUTORELEASE(ret); } - (void) addRuleTo: (NSMutableAttributedString*) string withHeight: (CGFloat) height { if (height> 0) { NSTextAttachment* BR = [[NSTextAttachment alloc] init]; NSMutableParagraphStyle* paragraphStyle = [[NSMutableParagraphStyle alloc] init]; BRCell* attachCell = [BRCell sharedBRCell]; [BR setAttachmentCell: attachCell]; NSMutableAttributedString* attStr = [[NSMutableAttributedString alloc] init]; [attStr appendAttributedString: [NSAttributedString attributedStringWithAttachment: BR]]; NSFont* font = [[NSFontManager sharedFontManager] convertFont: [NSFont userFontOfSize: 1] toHaveTrait: 0]; //[attStr addAttribute: NSFontAttributeName value: font range: NSMakeRange (0, [attSStr length])]; [paragraphStyle setMaximumLineHeight: (CGFloat) height]; [attStr addAttribute: NSParagraphStyleAttributeName value: paragraphStyle range: NSMakeRange (0, [attStr length])]; [paragraphStyle release]; //[attStr addAttribute: NSBackgroundColorAttributeName value: [NSColor redColor] range: NSMakeRange (0, [attStr length])]; [attStr addAttribute: @"BRCellHeight" value: [NSNumber numberWithInt: height] range: NSMakeRange (0,[attStr length])]; NSMutableAttributedString* astring = [[NSMutableAttributedString alloc] initWithString: @"\n"]; [string appendAttributedString: astring]; [string appendAttributedString: attStr]; [attStr release]; //[string appendAttributedString: astring]; [astring release]; RELEASE (BR); } } - (NSMutableAttributedString*) renderText: (NSMutableAttributedString*) text { RELEASE (_currentContent); _currentContent = [[NSMutableAttributedString alloc] init]; //[Parser parserWithHandler: self withData: [[GSHTMLParser parserWithSAXHandler: self withData: [[text string] dataUsingEncoding: NSISOLatin1StringEncoding allowLossyConversion: YES]] parse]; return _currentContent; } - (void) setTextView: (NSTextView*) textview { textView = textview; } - (void) addImage: (NSImage*) img onString: (NSMutableAttributedString*) astring { NSTextAttachmentCell* attachCell = [[NSTextAttachmentCell alloc] initImageCell: img]; NSTextAttachment* tAttachment = [[NSTextAttachment alloc] init]; [tAttachment setAttachmentCell: attachCell]; NSMutableAttributedString* t = [[NSMutableAttributedString alloc] init]; [t appendAttributedString: [NSMutableAttributedString attributedStringWithAttachment: tAttachment]]; //[t setAlignment: NSCenterTextAlignment range: NSMakeRange (0, [t length])]; [astring appendAttributedString: t]; [t release]; RELEASE (attachCell); RELEASE (tAttachment); } - (void) addImage: (NSString*) pathname { NSString* file; NSTextAttachment* textAttachment; NSLog (@"addImage : %@", pathname); if ([path length] == 0) file = pathname; else file = [NSString stringWithFormat: @"%@/%@", path, pathname]; if ([[NSFileManager defaultManager] fileExistsAtPath: file]) { //NSLog (@"on lit l'image: >%@<", file); NSImage* img = [[NSImage alloc] initWithContentsOfFile: file]; NSFileWrapper* wrapper = [[NSFileWrapper alloc] initWithPath: file]; NSTextAttachmentCell* attachCell = [[NSTextAttachmentCell alloc] initImageCell: img]; [wrapper setIcon: [NSImage imageNamed: @"Search.tiff"]]; textAttachment = [[NSTextAttachment alloc] initWithFileWrapper: wrapper]; [textAttachment setAttachmentCell: attachCell]; NSMutableAttributedString* t = [[NSMutableAttributedString alloc] init]; [t appendAttributedString: [NSMutableAttributedString attributedStringWithAttachment: textAttachment]]; //[t setAlignment: NSCenterTextAlignment range: NSMakeRange (0, [t length])]; [_currentContent appendAttributedString: t]; [t release]; RELEASE (img); RELEASE (wrapper); RELEASE (attachCell); RELEASE (textAttachment); } else { NSLog (@"l'image >%@< n'existe pas !", file); } } - (void) addNote: (NSMutableAttributedString*) string withImage: (NSImage*) img withColor: (NSColor*) color { NSTextAttachment* textAttach = [[NSTextAttachment alloc] init]; NoteCell* attachCell = [[NoteCell alloc] initWithTextView: textView]; [attachCell setImage: img]; [attachCell setColor: color]; [attachCell setText: string]; [attachCell resizeWithTextView: textView]; [[NSNotificationCenter defaultCenter] addObserver: attachCell selector: @selector (resize:) name: @"NSViewFrameDidChangeNotification" object: textView]; [textAttach setAttachmentCell: attachCell]; NSMutableAttributedString* attStr = [[NSMutableAttributedString alloc] init]; [attStr appendAttributedString: [NSMutableAttributedString attributedStringWithAttachment: textAttach]]; //[attStr setAlignment: NSCenterTextAlignment range: NSMakeRange (0, [attStr length])]; NSMutableAttributedString* astring = [[NSMutableAttributedString alloc] initWithString: @"\n"]; [_currentContent appendAttributedString: astring]; [astring release]; [_currentContent appendAttributedString: attStr]; [attStr release]; RELEASE (textAttach); RELEASE (attachCell); } - (void) addLegendFig: (NSString*) imgpath withLegends: (NSArray*) plegends { NSImage* img = [[NSImage alloc] initWithContentsOfFile: [Bundle pathForResource: [imgpath stringByDeletingPathExtension] ofType: [imgpath pathExtension]]]; //NSLog (@"addLegendFig: %@ legends : %@", imgpath, plegends); NSTextAttachment* textAttach = [[NSTextAttachment alloc] init]; FigureCell* attachCell = [[FigureCell alloc] initWithSize: NSMakeSize ([textView bounds].size.width, [img size].height)]; [[NSNotificationCenter defaultCenter] addObserver: attachCell selector: @selector (resize:) name: @"NSViewFrameDidChangeNotification" object: textView]; [attachCell setImage: img]; [attachCell setLegends: plegends]; [attachCell resizeWithTextView: textView]; [textAttach setAttachmentCell: attachCell]; NSMutableAttributedString* attStr = [[NSMutableAttributedString alloc] init]; [attStr appendAttributedString: [NSMutableAttributedString attributedStringWithAttachment: textAttach]]; [attStr setAlignment: NSCenterTextAlignment range: NSMakeRange (0, [attStr length])]; [_currentContent appendAttributedString: attStr]; [attStr release]; RELEASE (textAttach); RELEASE (attachCell); RELEASE (img); } @end HelpViewer-0.4/Legend.m0000644000175100000240000000431014053012203014170 0ustar multixstaff/* This file is part of HelpViewer (http://www.roard.com/helpviewer) Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) 2020-2021 Riccardo Mottola This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "Legend.h" @implementation Legend + (id) legendWithString: (NSMutableAttributedString*) str andPoint: (NSPoint) p { Legend* ret = [[Legend alloc] initWithString: str andPoint: p]; return AUTORELEASE (ret); } - (id) initWithString: (NSMutableAttributedString*) str andPoint: (NSPoint) p { if ((self = [super init])) { ASSIGN (legend, str); point = p; rightPos = NO; } return self; } - (void) dealloc { RELEASE (legend); [super dealloc]; } - (NSComparisonResult) compareWith: (id)sender { NSComparisonResult ret = NSOrderedAscending; NSPoint otherPoint; if (![sender isKindOfClass:[Legend class]]) return NSOrderedSame; // in case we cannot tell otherPoint = [(Legend*)sender point]; if (point.y == otherPoint.y) { if ((rightPos && (point.x < otherPoint.x)) || (point.x > otherPoint.x)) { ret = NSOrderedDescending; } } else if (point.y > otherPoint.y) ret = NSOrderedDescending; return ret; } - (NSMutableAttributedString*) legend { return legend; } - (NSPoint) point { return point; } - (void) setPoint: (NSPoint) p { point = p; } - (CGFloat) height { return height; } - (void) setHeight: (CGFloat) h { height = h; } - (void) setRightPos { rightPos = YES; } - (BOOL) isRightPos { return rightPos; } @end HelpViewer-0.4/BRCell.h0000644000175100000240000000222714053012203014075 0ustar multixstaff/* This file is part of HelpViewer (http://www.roard.com/helpviewer) Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef __BRCELL_H__ #define __BRCELL_H__ #include #include #include @interface BRCell : NSTextAttachmentCell { } - (void) drawWithFrame: (NSRect) cellFrame inView: (NSView*) controlView; +(BRCell *) sharedBRCell; @end #endif HelpViewer-0.4/Section.h0000644000175100000240000000367414053012203014405 0ustar multixstaff/* This file is part of HelpViewer (http://www.roard.com/helpviewer) Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef __SECTION_H__ #define __SECTION_H__ #include #include #include "GNUstep.h" #include "TextFormatter.h" #include "HandlerStructure.h" #define SECTION_TYPE_NORMAL 0 #define SECTION_TYPE_CHAPTER 1 #define SECTION_TYPE_PART 2 #define SECTION_TYPE_PLAIN 3 @interface Section : NSObject { NSMutableAttributedString* text; NSString* header; NSRange range; NSMutableArray* subs; Section* parent; int type; BOOL rendered; BOOL loaded; NSString* path; } - (id) initWithHeader: (NSString*) header; - (NSMutableAttributedString*) text; - (void) setType: (int) t; - (int) type; - (NSString*) header; - (NSRange) range; - (void) setRange: (NSRange) range; - (void) addSub: (Section*) sub; - (NSMutableArray*) subs; - (Section*) parent; - (void) setParent: (Section*) par; - (void) print; - (void) setPath: (NSString*) src; - (void) setLoaded: (BOOL) load; - (BOOL) loaded; - (void) load; - (NSMutableAttributedString*) contentWithLevel: (int) level ; + (void) setTextFormatter: (id) obj; + (void) setBundle: (NSBundle*) obj; @end #endif HelpViewer-0.4/NoteCell.h0000644000175100000240000000321414053012203014474 0ustar multixstaff/* This file is part of HelpViewer (http://www.roard.com/helpviewer) Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) 2020-2021 Riccardo Mottola This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef __NOTE_CELL_H__ #define __NOTE_CELL_H__ #include #include #include "GNUstep.h" @interface NoteCell : NSTextAttachmentCell { NSImage* _image; NSMutableAttributedString* _note; NSSize noteSize; NSSize _size; NSColor* _color; CGFloat imageBorder; CGFloat leadingMargin; CGFloat trailingMargin; } - (id) initWithTextView: (NSTextView*) textview; - (NSSize) cellSize; - (void) setImage: (NSImage*) img; - (void) setColor: (NSColor*) color; - (void) setText: (NSMutableAttributedString*) text; - (void) resize: (id) sender; - (void) resizeWithTextView: (NSTextView*) textview; - (void) drawWithFrame: (NSRect) cellFrame inView: (NSView*) controlView; @end #endif HelpViewer-0.4/TextFormatter.h0000644000175100000240000000241714053012203015603 0ustar multixstaff/* This file is part of HelpViewer (http://www.roard.com/helpviewer) Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef __TEXT_FORMATTER_H__ #define __TEXT_FORMATTER_H__ #include #include #include "Section.h" #include "BRCell.h" #include "FigureCell.h" @protocol TextFormatter - (NSMutableAttributedString*) renderHeader: (NSString*) header withLevel: (int) level; - (NSMutableAttributedString*) renderText: (NSMutableAttributedString*) text; - (void) setBundle: (NSBundle*) bundle; @end #endif HelpViewer-0.4/BRCell.m0000644000175100000240000000407414053012203014104 0ustar multixstaff/* This file is part of HelpViewer (http://www.roard.com/helpviewer) Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) 2020 Riccardo Mottola This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "BRCell.h" @implementation BRCell +(BRCell *) sharedBRCell { static BRCell *brCell; if (!brCell) brCell = [[self alloc] init]; return brCell; } - (void) drawWithFrame: (NSRect) cellFrame inView: (NSView*) controlView { if (![controlView window]) return; // int space = 8; [[NSColor colorWithCalibratedRed: 0.37 green: 0.44 blue: 0.73 alpha: 1.0] set]; // NSRectFill (NSMakeRect (cellFrame.origin.x + space, cellFrame.origin.y, // cellFrame.size.width - 2*space, cellFrame.size.height)); NSRectFill (cellFrame); } -(NSRect) cellFrameForTextContainer: (NSTextContainer *)c proposedLineFragment: (NSRect)lf glyphPosition: (NSPoint)p characterIndex: (NSUInteger)ci { NSNumber *width,*height; CGFloat w,h; width=[[[c layoutManager] textStorage] attribute: @"BRCellWidth" atIndex: ci effectiveRange: NULL]; height=[[[c layoutManager] textStorage] attribute: @"BRCellHeight" atIndex: ci effectiveRange: NULL]; if (width) w=[width floatValue]; else w=lf.size.width; if (height) h=[height floatValue]; else h=1.0; return NSMakeRect(0,0,w,h); } @end HelpViewer-0.4/Section.m0000644000175100000240000001041714053012203014403 0ustar multixstaff/* This file is part of HelpViewer (http://www.roard.com/helpviewer) Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) 2020 Riccardo Mottola This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "Section.h" #include "HandlerStructureXLP.h" static id TextFormatter = nil; static NSBundle* Bundle = nil; @implementation Section + (void) setTextFormatter: (id) obj { ASSIGN (TextFormatter, obj); } + (void) setBundle: (NSBundle*) obj { ASSIGN (Bundle, obj); [TextFormatter setBundle: Bundle]; } - (id) initWithHeader: (NSString*) pheader { if ((self = [super init])) { ASSIGN (header, pheader); text = [[NSMutableAttributedString alloc] init]; subs = [[NSMutableArray alloc] init]; parent = nil; rendered = NO; loaded = NO; path = nil; } return self; } - (void) dealloc { RELEASE (subs); RELEASE (text); RELEASE (header); RELEASE (path); [super dealloc]; } - (NSMutableAttributedString*) text { return text; } - (void) setPath: (NSString*) src { ASSIGN (path, [Bundle pathForResource: [src stringByDeletingPathExtension] ofType: [src pathExtension]]); } - (void) setLoaded: (BOOL) load { loaded = load; } - (BOOL) loaded { return loaded; } - (void) load { if ([[NSFileManager defaultManager] fileExistsAtPath: path]) { id handler = [[HandlerStructureXLP alloc] initWithSection: self]; [handler setPath: path]; [handler parse]; [handler release]; loaded = YES; } } - (NSMutableAttributedString*) contentWithLevel: (int) level { NSUInteger i; id ret = nil; //NSLog (@"Section contentWithLevel: %d (%@)", level, [self header]); if (rendered) { ret = [[NSMutableAttributedString alloc] initWithAttributedString: text]; } else { if (loaded == NO) { [self load]; } if ((loaded == YES) && (TextFormatter != nil)) { ret = [[NSMutableAttributedString alloc] init]; if (type != SECTION_TYPE_PLAIN) { id head = [TextFormatter renderHeader: header withLevel: level]; [ret appendAttributedString: head]; } id ttext = [TextFormatter renderText: text]; [ret appendAttributedString: ttext]; for (i=0; i < [subs count]; i++) { id sub = [subs objectAtIndex: i]; //id head = [[NSAttributedString alloc] initWithString: [sub header]]; //[ret appendAttributedString: head]; //[head release]; [ret appendAttributedString: [sub contentWithLevel: level+1]]; } [text release]; text = [[NSMutableAttributedString alloc] initWithAttributedString: ret]; rendered = YES; } } //NSLog (@"fin Section contentWithLevel: %d (%@)", level, [self header]); //NSLog (@"on retourne : %@", ret); return AUTORELEASE (ret); } - (void) setType: (int) t { type = t; } - (int) type { return type; } /* - (void) setText: (NSMutableAttributedString*) t { NSLog (@"setText : %@", t); RELEASE (text); text = [[NSMutableAttributedString alloc] initWithAttributedString: t]; }*/ - (NSString*) header { return header; } - (NSRange) range { return range; } - (NSMutableArray*) subs { return subs; }; - (void) setRange: (NSRange) prange { range = prange; } - (void) addSub: (Section*) sub { //NSLog (@"addSub: Section (%@)", [sub header]); [sub setParent: self]; [subs addObject: sub]; //NSLog (@"fin addSub: Section (%@)", [sub header]); } - (void) setParent: (Section*) par { parent = par; } - (Section*) parent { return parent; } - (void) print { NSUInteger i; NSLog (@"(nom : %@) {", header); for (i=0; i < [subs count]; i++) { [[subs objectAtIndex: i] print]; } NSLog (@"} (nom : %@)", header); } @end HelpViewer-0.4/NoteCell.m0000644000175100000240000001325414053012203014506 0ustar multixstaff/* This file is part of HelpViewer (http://www.roard.com/helpviewer) Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) 2020-2021 Riccardo Mottola This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include "NoteCell.h" @implementation NoteCell - (id) initWithTextView: (NSTextView*) textview { if ((self = [super init])) { _image = nil; _note = nil; _color = nil; imageBorder = 4.0; leadingMargin = 8.0; trailingMargin = 4.0; [self resizeWithTextView: textview]; } return self; } - (void) setText: (NSMutableAttributedString*) text { ASSIGN (_note, text); NSMutableParagraphStyle* paragraph = [NSMutableParagraphStyle new]; [paragraph setAlignment: NSLeftTextAlignment]; [paragraph setHeadIndent: leadingMargin]; [paragraph setFirstLineHeadIndent: leadingMargin]; [paragraph setTailIndent: -trailingMargin]; NSDictionary* attributes = [NSDictionary dictionaryWithObject: paragraph forKey: NSParagraphStyleAttributeName]; [paragraph release]; [_note addAttributes: attributes range: NSMakeRange (0, [_note length])]; } - (void) setImage: (NSImage*) img { ASSIGN (_image, img); } - (void) setColor: (NSColor*) color { ASSIGN (_color, color); } - (NSSize) cellSize { return _size; } - (void) resize: (id) sender { [self resizeWithTextView: [sender object]]; } - (void) resizeWithTextView: (NSTextView*) textView { CGFloat height = 0.0; CGFloat width = 0.0; CGFloat textHeight = 0.0; CGFloat imageWidth = 0.0; if (_image) { imageWidth = [_image size].width; height = [_image size].height; width = imageWidth; } if (_note) { NSSize size; size.width = [textView bounds].size.width - width; size.width -= leadingMargin; // Take in account of the text margins inside the view size.width -= leadingMargin*2; size.height = 9999.0; if (size.width <= 0) size.width = [textView bounds].size.width; noteSize = [_note boundingRectWithSize:size options:0].size; NSLog(@"input %@ output %@", NSStringFromSize(size), NSStringFromSize(noteSize)); textHeight = noteSize.height; if (textHeight > height) height = textHeight; width += size.width; } NSLog (@"NoteCell: width : %.2f height : %.2f", width, height); _size = NSMakeSize (width, height); } - (void) drawWithFrame: (NSRect) cellFrame inView: (NSView*) controlView { [super drawWithFrame: cellFrame inView: controlView]; } - (void) drawInteriorWithFrame: (NSRect) cellFrame inView: (NSView*) controlView { if (![controlView window]) return; NSLog(@"draw width: %f", cellFrame.size.width); [_color set]; NSBezierPath* path = [[NSBezierPath alloc] init]; CGFloat radius = 8; NSPoint p1 = NSMakePoint (cellFrame.origin.x, cellFrame.origin.y + radius); NSPoint p2 = NSMakePoint (cellFrame.origin.x, cellFrame.origin.y + cellFrame.size.height - radius); NSPoint p4 = NSMakePoint (cellFrame.origin.x + cellFrame.size.width - radius, cellFrame.origin.y + cellFrame.size.height); NSPoint p6 = NSMakePoint (cellFrame.origin.x + cellFrame.size.width, cellFrame.origin.y + radius); NSPoint p8 = NSMakePoint (cellFrame.origin.x + radius, cellFrame.origin.y); NSPoint pr1 = NSMakePoint (cellFrame.origin.x + radius, cellFrame.origin.y + cellFrame.size.height - radius); NSPoint pr2 = NSMakePoint (cellFrame.origin.x + cellFrame.size.width - radius, cellFrame.origin.y + cellFrame.size.height - radius); NSPoint pr3 = NSMakePoint (cellFrame.origin.x + cellFrame.size.width - radius, cellFrame.origin.y + radius); NSPoint pr4 = NSMakePoint (cellFrame.origin.x + radius, cellFrame.origin.y + radius); [path moveToPoint: p1]; [path lineToPoint: p2]; [path appendBezierPathWithArcWithCenter: pr1 radius: radius startAngle: 180 endAngle: 90 clockwise: YES]; [path lineToPoint: p4]; [path appendBezierPathWithArcWithCenter: pr2 radius: radius startAngle: 90 endAngle: 0 clockwise: YES]; [path lineToPoint: p6]; [path appendBezierPathWithArcWithCenter: pr3 radius: radius startAngle: 0 endAngle: 270 clockwise: YES]; [path lineToPoint: p8]; [path appendBezierPathWithArcWithCenter: pr4 radius: radius startAngle: 270 endAngle: 180 clockwise: YES]; [path fill]; [path release]; if (_note) { CGFloat imageWidth = 0.0; CGFloat imageHeight = 0.0; NSPoint imageOrigin = NSZeroPoint; NSPoint noteOrigin = NSZeroPoint; NSRect noteRect; if (_image) { imageWidth = [_image size].width; imageHeight = [_image size].height; imageOrigin.x = cellFrame.origin.x; imageOrigin.y = cellFrame.origin.y + cellFrame.size.height - (cellFrame.size.height - imageHeight)/2; [_image compositeToPoint: imageOrigin operation: NSCompositeSourceAtop]; } noteOrigin.x = cellFrame.origin.x + imageWidth; noteOrigin.y = cellFrame.origin.y + (cellFrame.size.height - noteSize.height)/2; noteRect.origin = noteOrigin; noteRect.size = noteSize; [_note drawInRect: noteRect]; } } @end HelpViewer-0.4/HelpViewer-0.2.pbproj/0000755000175100000240000000000013701702464016476 5ustar multixstaffHelpViewer-0.4/HelpViewer-0.2.pbproj/nicolasroard.pbxuser0000644000175100000240000007666213701702464022611 0ustar multixstaff// !$*UTF8*$! { 29B97313FDCFA39411CA2CEA = { activeBuildStyle = 4A9504CCFFE6A4B311CA0CBA; activeExecutable = 7419D60F03E9EA4300A80050; activeTarget = 29B97326FDCFA39411CA2CEA; addToTargets = ( 29B97326FDCFA39411CA2CEA, ); breakpoints = ( ); executables = ( 7419D60F03E9EA4300A80050, ); perUserDictionary = { PBXPerProjectTemplateStateSaveDate = 65907625; PBXWorkspaceContents = ( { LeftSlideOut = { Split0 = { Split0 = { NavContent0 = { bookmark = 744B82AF03EDABC400E6EE6F; history = ( 7419D64C03E9EB6000A80050, 7419D64D03E9EB6000A80050, 747669CB03EA7B2200A80050, 747669CC03EA7B2200A80050, 747669CE03EA7B2200A80050, 747669CF03EA7B2200A80050, 747669D003EA7B2200A80050, 747669D103EA7B2200A80050, 747669D203EA7B2200A80050, 747669D403EA7B2200A80050, 747669D503EA7B2200A80050, 747669D603EA7B2200A80050, 747669D703EA7B2200A80050, 747669D803EA7B2200A80050, 747669D903EA7B2200A80050, 747669DB03EA7B2200A80050, 7461A61B03EDAB240049711A, 7461A61C03EDAB240049711A, 7461A61D03EDAB240049711A, 7461A61E03EDAB240049711A, 7461A61F03EDAB240049711A, 7461A62003EDAB240049711A, 7461A64103EDAB240049711A, ); prevStack = ( 7419D64F03E9EB6000A80050, 7419D65003E9EB6000A80050, 747669DE03EA7B2200A80050, 747669DF03EA7B2200A80050, 747669E003EA7B2200A80050, 747669E103EA7B2200A80050, 747669E203EA7B2200A80050, 747669E303EA7B2200A80050, 747669E403EA7B2200A80050, 747669E503EA7B2200A80050, 747669E603EA7B2200A80050, 747669E703EA7B2200A80050, 747669E803EA7B2200A80050, 747669E903EA7B2200A80050, 747669EA03EA7B2200A80050, 747669EB03EA7B2200A80050, 747669EC03EA7B2200A80050, 747669ED03EA7B2200A80050, 747669EE03EA7B2200A80050, 747669EF03EA7B2200A80050, 747669F003EA7B2200A80050, 747669F103EA7B2200A80050, 747669F203EA7B2200A80050, 747669F303EA7B2200A80050, 747669F403EA7B2200A80050, 747669F503EA7B2200A80050, 747669F603EA7B2200A80050, 747669F703EA7B2200A80050, 747669F803EA7B2200A80050, 747669F903EA7B2200A80050, 747669FA03EA7B2200A80050, 747669FB03EA7B2200A80050, 747669FC03EA7B2200A80050, 747669FD03EA7B2200A80050, 747669FE03EA7B2200A80050, 747669FF03EA7B2200A80050, 74766A0003EA7B2200A80050, 74766A0103EA7B2200A80050, 74766A0203EA7B2200A80050, 74766A0303EA7B2200A80050, 74766A0403EA7B2200A80050, 74766A0503EA7B2200A80050, 7461A62203EDAB240049711A, 7461A62303EDAB240049711A, 7461A62403EDAB240049711A, 7461A62503EDAB240049711A, 7461A62603EDAB240049711A, 7461A62703EDAB240049711A, 7461A62803EDAB240049711A, 7461A62903EDAB240049711A, 7461A62A03EDAB240049711A, 7461A62B03EDAB240049711A, 7461A62C03EDAB240049711A, 7461A62D03EDAB240049711A, 7461A62E03EDAB240049711A, 7461A62F03EDAB240049711A, 7461A63003EDAB240049711A, 7461A63103EDAB240049711A, 7461A63203EDAB240049711A, 7461A63303EDAB240049711A, 7461A63403EDAB240049711A, 7461A63503EDAB240049711A, 7461A63603EDAB240049711A, 7461A63703EDAB240049711A, 7461A63803EDAB240049711A, 7461A63903EDAB240049711A, 7461A63A03EDAB240049711A, 7461A63B03EDAB240049711A, 7461A63C03EDAB240049711A, 7461A63D03EDAB240049711A, 7461A63E03EDAB240049711A, 7461A63F03EDAB240049711A, 7461A64003EDAB240049711A, ); }; NavCount = 1; NavGeometry0 = { Frame = "{{0, 0}, {573, 356}}"; NavBarVisible = YES; }; NavSplitVertical = NO; }; SplitCount = 1; Tab1 = { Debugger = { Split0 = { SplitCount = 2; }; SplitCount = 1; TabCount = 2; }; LauncherConfigVersion = 7; }; Tab2 = { LauncherConfigVersion = 3; Runner = { }; }; TabCount = 5; }; SplitCount = 1; Tab1 = { OptionsSetName = "Hierarchy, all classes"; }; TabCount = 5; }; }, ); PBXWorkspaceGeometries = ( { ContentSize = "{857, 656}"; LeftSlideOut = { ActiveTab = 0; ActiveTabName = PBXGroupTreeModule; Collapsed = NO; Frame = "{{0, 23}, {857, 633}}"; Split0 = { ActiveTab = 2; ActiveTabName = PBXBuildResultsModule; Collapsed = NO; Frame = "{{284, 0}, {573, 633}}"; Split0 = { Frame = "{{0, 277}, {573, 356}}"; }; SplitCount = 1; Tab0 = { Frame = "{{0, 0}, {573, 214}}"; }; Tab1 = { Debugger = { Collapsed = NO; Frame = "{{0, 0}, {573, 150}}"; Split0 = { Frame = "{{0, 24}, {573, 126}}"; Split0 = { Frame = "{{0, 0}, {279, 126}}"; }; Split1 = { DebugVariablesTableConfiguration = ( Name, 123, Value, 85, Summary, 62.123, ); Frame = "{{288, 0}, {285, 126}}"; }; SplitCount = 2; }; SplitCount = 1; Tab0 = { Frame = "{{0, 0}, {100, 50}}"; }; Tab1 = { Frame = "{{0, 0}, {100, 50}}"; }; TabCount = 2; TabsVisible = YES; }; Frame = "{{0, 0}, {573, 125}}"; LauncherConfigVersion = 7; }; Tab2 = { Frame = "{{0, 0}, {573, 292}}"; LauncherConfigVersion = 3; Runner = { Frame = "{{0, 0}, {573, 292}}"; }; }; Tab3 = { BuildMessageFrame = "{{0, 0}, {575, 208}}"; BuildTranscriptFrame = "{{0, 217}, {575, 14}}"; BuildTranscriptFrameExpanded = YES; Frame = "{{0, 0}, {573, 253}}"; }; Tab4 = { Frame = "{{0, 0}, {572, 295}}"; }; TabCount = 5; TabsVisible = YES; }; SplitCount = 1; Tab0 = { Frame = "{{0, 0}, {260, 633}}"; GroupTreeTableConfiguration = ( TargetStatusColumn, 18, MainColumn, 227, ); }; Tab1 = { ClassesFrame = "{{0, 0}, {247, 330}}"; ClassesTreeTableConfiguration = ( PBXBookColumnIdentifier, 20, PBXClassColumnIdentifier, 204, ); Frame = "{{0, 0}, {245, 549}}"; MembersFrame = "{{0, 339}, {247, 210}}"; MembersTreeTableConfiguration = ( PBXBookColumnIdentifier, 20, PBXMethodColumnIdentifier, 203, ); }; Tab2 = { Frame = "{{0, 0}, {226, 549}}"; }; Tab3 = { Frame = "{{0, 0}, {191, 549}}"; TargetTableConfiguration = ( ActiveObject, 16, ObjectNames, 202.296, ); }; Tab4 = { BreakpointsTreeTableConfiguration = ( breakpointColumn, 138, enabledColumn, 31, ); Frame = "{{0, 0}, {191, 549}}"; }; TabCount = 5; TabsVisible = YES; }; NavBarShownByDefault = YES; StatusViewVisible = YES; Template = F5F68CF101725D4C0D7A8F4C; ToolbarVisible = YES; WindowLocation = "{129, 22}"; }, ); PBXWorkspaceStateSaveDate = 65907625; }; perUserProjectItems = { 7419D64C03E9EB6000A80050 = 7419D64C03E9EB6000A80050; 7419D64D03E9EB6000A80050 = 7419D64D03E9EB6000A80050; 7419D64F03E9EB6000A80050 = 7419D64F03E9EB6000A80050; 7419D65003E9EB6000A80050 = 7419D65003E9EB6000A80050; 744B82AF03EDABC400E6EE6F = 744B82AF03EDABC400E6EE6F; 7461A61B03EDAB240049711A = 7461A61B03EDAB240049711A; 7461A61C03EDAB240049711A = 7461A61C03EDAB240049711A; 7461A61D03EDAB240049711A = 7461A61D03EDAB240049711A; 7461A61E03EDAB240049711A = 7461A61E03EDAB240049711A; 7461A61F03EDAB240049711A = 7461A61F03EDAB240049711A; 7461A62003EDAB240049711A = 7461A62003EDAB240049711A; 7461A62203EDAB240049711A = 7461A62203EDAB240049711A; 7461A62303EDAB240049711A = 7461A62303EDAB240049711A; 7461A62403EDAB240049711A = 7461A62403EDAB240049711A; 7461A62503EDAB240049711A = 7461A62503EDAB240049711A; 7461A62603EDAB240049711A = 7461A62603EDAB240049711A; 7461A62703EDAB240049711A = 7461A62703EDAB240049711A; 7461A62803EDAB240049711A = 7461A62803EDAB240049711A; 7461A62903EDAB240049711A = 7461A62903EDAB240049711A; 7461A62A03EDAB240049711A = 7461A62A03EDAB240049711A; 7461A62B03EDAB240049711A = 7461A62B03EDAB240049711A; 7461A62C03EDAB240049711A = 7461A62C03EDAB240049711A; 7461A62D03EDAB240049711A = 7461A62D03EDAB240049711A; 7461A62E03EDAB240049711A = 7461A62E03EDAB240049711A; 7461A62F03EDAB240049711A = 7461A62F03EDAB240049711A; 7461A63003EDAB240049711A = 7461A63003EDAB240049711A; 7461A63103EDAB240049711A = 7461A63103EDAB240049711A; 7461A63203EDAB240049711A = 7461A63203EDAB240049711A; 7461A63303EDAB240049711A = 7461A63303EDAB240049711A; 7461A63403EDAB240049711A = 7461A63403EDAB240049711A; 7461A63503EDAB240049711A = 7461A63503EDAB240049711A; 7461A63603EDAB240049711A = 7461A63603EDAB240049711A; 7461A63703EDAB240049711A = 7461A63703EDAB240049711A; 7461A63803EDAB240049711A = 7461A63803EDAB240049711A; 7461A63903EDAB240049711A = 7461A63903EDAB240049711A; 7461A63A03EDAB240049711A = 7461A63A03EDAB240049711A; 7461A63B03EDAB240049711A = 7461A63B03EDAB240049711A; 7461A63C03EDAB240049711A = 7461A63C03EDAB240049711A; 7461A63D03EDAB240049711A = 7461A63D03EDAB240049711A; 7461A63E03EDAB240049711A = 7461A63E03EDAB240049711A; 7461A63F03EDAB240049711A = 7461A63F03EDAB240049711A; 7461A64003EDAB240049711A = 7461A64003EDAB240049711A; 7461A64103EDAB240049711A = 7461A64103EDAB240049711A; 747669CB03EA7B2200A80050 = 747669CB03EA7B2200A80050; 747669CC03EA7B2200A80050 = 747669CC03EA7B2200A80050; 747669CE03EA7B2200A80050 = 747669CE03EA7B2200A80050; 747669CF03EA7B2200A80050 = 747669CF03EA7B2200A80050; 747669D003EA7B2200A80050 = 747669D003EA7B2200A80050; 747669D103EA7B2200A80050 = 747669D103EA7B2200A80050; 747669D203EA7B2200A80050 = 747669D203EA7B2200A80050; 747669D403EA7B2200A80050 = 747669D403EA7B2200A80050; 747669D503EA7B2200A80050 = 747669D503EA7B2200A80050; 747669D603EA7B2200A80050 = 747669D603EA7B2200A80050; 747669D703EA7B2200A80050 = 747669D703EA7B2200A80050; 747669D803EA7B2200A80050 = 747669D803EA7B2200A80050; 747669D903EA7B2200A80050 = 747669D903EA7B2200A80050; 747669DB03EA7B2200A80050 = 747669DB03EA7B2200A80050; 747669DE03EA7B2200A80050 = 747669DE03EA7B2200A80050; 747669DF03EA7B2200A80050 = 747669DF03EA7B2200A80050; 747669E003EA7B2200A80050 = 747669E003EA7B2200A80050; 747669E103EA7B2200A80050 = 747669E103EA7B2200A80050; 747669E203EA7B2200A80050 = 747669E203EA7B2200A80050; 747669E303EA7B2200A80050 = 747669E303EA7B2200A80050; 747669E403EA7B2200A80050 = 747669E403EA7B2200A80050; 747669E503EA7B2200A80050 = 747669E503EA7B2200A80050; 747669E603EA7B2200A80050 = 747669E603EA7B2200A80050; 747669E703EA7B2200A80050 = 747669E703EA7B2200A80050; 747669E803EA7B2200A80050 = 747669E803EA7B2200A80050; 747669E903EA7B2200A80050 = 747669E903EA7B2200A80050; 747669EA03EA7B2200A80050 = 747669EA03EA7B2200A80050; 747669EB03EA7B2200A80050 = 747669EB03EA7B2200A80050; 747669EC03EA7B2200A80050 = 747669EC03EA7B2200A80050; 747669ED03EA7B2200A80050 = 747669ED03EA7B2200A80050; 747669EE03EA7B2200A80050 = 747669EE03EA7B2200A80050; 747669EF03EA7B2200A80050 = 747669EF03EA7B2200A80050; 747669F003EA7B2200A80050 = 747669F003EA7B2200A80050; 747669F103EA7B2200A80050 = 747669F103EA7B2200A80050; 747669F203EA7B2200A80050 = 747669F203EA7B2200A80050; 747669F303EA7B2200A80050 = 747669F303EA7B2200A80050; 747669F403EA7B2200A80050 = 747669F403EA7B2200A80050; 747669F503EA7B2200A80050 = 747669F503EA7B2200A80050; 747669F603EA7B2200A80050 = 747669F603EA7B2200A80050; 747669F703EA7B2200A80050 = 747669F703EA7B2200A80050; 747669F803EA7B2200A80050 = 747669F803EA7B2200A80050; 747669F903EA7B2200A80050 = 747669F903EA7B2200A80050; 747669FA03EA7B2200A80050 = 747669FA03EA7B2200A80050; 747669FB03EA7B2200A80050 = 747669FB03EA7B2200A80050; 747669FC03EA7B2200A80050 = 747669FC03EA7B2200A80050; 747669FD03EA7B2200A80050 = 747669FD03EA7B2200A80050; 747669FE03EA7B2200A80050 = 747669FE03EA7B2200A80050; 747669FF03EA7B2200A80050 = 747669FF03EA7B2200A80050; 74766A0003EA7B2200A80050 = 74766A0003EA7B2200A80050; 74766A0103EA7B2200A80050 = 74766A0103EA7B2200A80050; 74766A0203EA7B2200A80050 = 74766A0203EA7B2200A80050; 74766A0303EA7B2200A80050 = 74766A0303EA7B2200A80050; 74766A0403EA7B2200A80050 = 74766A0403EA7B2200A80050; 74766A0503EA7B2200A80050 = 74766A0503EA7B2200A80050; }; projectwideBuildSettings = { }; wantsIndex = 1; wantsSCM = -1; }; 29B97326FDCFA39411CA2CEA = { activeExec = 0; executables = ( 7419D60F03E9EA4300A80050, ); }; 7419D60F03E9EA4300A80050 = { activeArgIndex = 2147483647; activeArgIndices = ( ); argumentStrings = ( ); configStateDict = { }; debuggerPlugin = GDBDebugging; dylibVariantSuffix = ""; enableDebugStr = 1; environmentEntries = ( ); isa = PBXExecutable; name = "HelpViewer-0.2"; shlibInfoDictList = ( ); sourceDirectories = ( ); }; 7419D64C03E9EB6000A80050 = { fRef = 29B97316FDCFA39411CA2CEA; isa = PBXTextBookmark; name = "main.m: 1"; rLen = 0; rLoc = 0; rType = 0; vrLen = 843; vrLoc = 0; }; 7419D64D03E9EB6000A80050 = { fRef = 7419D61A03E9EAC000A80050; isa = PBXTextBookmark; name = "mainWindow.h: 22"; rLen = 23; rLoc = 907; rType = 0; vrLen = 442; vrLoc = 646; }; 7419D64F03E9EB6000A80050 = { fRef = 29B97316FDCFA39411CA2CEA; isa = PBXTextBookmark; name = "main.m: 1"; rLen = 0; rLoc = 0; rType = 0; vrLen = 843; vrLoc = 0; }; 7419D65003E9EB6000A80050 = { fRef = 7419D61A03E9EAC000A80050; isa = PBXTextBookmark; name = "mainWindow.h: 22"; rLen = 23; rLoc = 907; rType = 0; vrLen = 442; vrLoc = 646; }; 744B82AF03EDABC400E6EE6F = { fRef = 7419D62D03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.m: 211"; rLen = 0; rLoc = 5792; rType = 0; vrLen = 852; vrLoc = 5579; }; 7461A61B03EDAB240049711A = { fRef = 7419D62C03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.h: 88"; rLen = 0; rLoc = 2142; rType = 0; vrLen = 576; vrLoc = 647; }; 7461A61C03EDAB240049711A = { fRef = 7419D62003E9EAC000A80050; isa = PBXTextBookmark; name = "Page.h: 23"; rLen = 0; rLoc = 927; rType = 0; vrLen = 948; vrLoc = 0; }; 7461A61D03EDAB240049711A = { fRef = 7419D61403E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.h: 34"; rLen = 41; rLoc = 1151; rType = 0; vrLen = 658; vrLoc = 647; }; 7461A61E03EDAB240049711A = { fRef = 7461A61803EDA4CD0049711A; isa = PBXTextBookmark; name = "Legend.m: legend"; rLen = 0; rLoc = 1764; rType = 0; vrLen = 704; vrLoc = 1299; }; 7461A61F03EDAB240049711A = { fRef = 7461A61703EDA4CD0049711A; isa = PBXTextBookmark; name = "Legend.h: legend"; rLen = 0; rLoc = 1212; rType = 0; vrLen = 680; vrLoc = 718; }; 7461A62003EDAB240049711A = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: s"; rLen = 0; rLoc = 6405; rType = 0; vrLen = 856; vrLoc = 5774; }; 7461A62203EDAB240049711A = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: 122"; rLen = 42; rLoc = 1721; rType = 0; vrLen = 171; vrLoc = 2639; }; 7461A62303EDAB240049711A = { fRef = 7419D62D03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.m: 420"; rLen = 51; rLoc = 12311; rType = 0; vrLen = 246; vrLoc = 11759; }; 7461A62403EDAB240049711A = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: 122"; rLen = 42; rLoc = 1721; rType = 0; vrLen = 794; vrLoc = 904; }; 7461A62503EDAB240049711A = { fRef = 7419D62C03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.h: 73"; rLen = 0; rLoc = 1810; rType = 0; vrLen = 681; vrLoc = 1247; }; 7461A62603EDAB240049711A = { fRef = 7419D61403E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.h: 23"; rLen = 0; rLoc = 945; rType = 0; vrLen = 1242; vrLoc = 0; }; 7461A62703EDAB240049711A = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: __GNUC__"; rLen = 870; rLoc = 0; rType = 0; vrLen = 916; vrLoc = 717; }; 7461A62803EDAB240049711A = { fRef = 7461A61703EDA4CD0049711A; isa = PBXTextBookmark; name = "Legend.h: 35"; rLen = 0; rLoc = 1268; rType = 0; vrLen = 1310; vrLoc = 0; }; 7461A62903EDAB240049711A = { fRef = 7419D61403E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.h: 23"; rLen = 0; rLoc = 945; rType = 0; vrLen = 1242; vrLoc = 0; }; 7461A62A03EDAB240049711A = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: __GNUC__"; rLen = 870; rLoc = 0; rType = 0; vrLen = 857; vrLoc = 1222; }; 7461A62B03EDAB240049711A = { fRef = 7461A61803EDA4CD0049711A; isa = PBXTextBookmark; name = "Legend.m: 43"; rLen = 0; rLoc = 1291; rType = 0; vrLen = 842; vrLoc = 847; }; 7461A62C03EDAB240049711A = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: 20"; rLen = 0; rLoc = 870; rType = 0; vrLen = 1123; vrLoc = 0; }; 7461A62D03EDAB240049711A = { fRef = 7419D62D03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.m: 421"; rLen = 51; rLoc = 12311; rType = 0; vrLen = 1356; vrLoc = 0; }; 7461A62E03EDAB240049711A = { fRef = 7461A61703EDA4CD0049711A; isa = PBXTextBookmark; name = "Legend.h: 35"; rLen = 0; rLoc = 1268; rType = 0; vrLen = 1310; vrLoc = 0; }; 7461A62F03EDAB240049711A = { fRef = 7419D62C03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.h: 28"; rLen = 0; rLoc = 1027; rType = 0; vrLen = 890; vrLoc = 138; }; 7461A63003EDAB240049711A = { fRef = 7419D62D03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.m: 70"; rLen = 21; rLoc = 2051; rType = 0; vrLen = 487; vrLoc = 1827; }; 7461A63103EDAB240049711A = { fRef = 7419D62C03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.h: 88"; rLen = 0; rLoc = 2142; rType = 0; vrLen = 535; vrLoc = 1707; }; 7461A63203EDAB240049711A = { fRef = 7419D62D03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.m: AS"; rLen = 100; rLoc = 6331; rType = 0; vrLen = 917; vrLoc = 5731; }; 7461A63303EDAB240049711A = { fRef = 7461A61703EDA4CD0049711A; isa = PBXTextBookmark; name = "Legend.h: 22"; rLen = 0; rLoc = 902; rType = 0; vrLen = 915; vrLoc = 0; }; 7461A63403EDAB240049711A = { fRef = 7419D62C03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.h: 88"; rLen = 0; rLoc = 2142; rType = 0; vrLen = 598; vrLoc = 647; }; 7461A63503EDAB240049711A = { fRef = 7419D62D03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.m: AS"; rLen = 100; rLoc = 6331; rType = 0; vrLen = 940; vrLoc = 0; }; 7461A63603EDAB240049711A = { fRef = 7419D62C03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.h: 88"; rLen = 0; rLoc = 2142; rType = 0; vrLen = 576; vrLoc = 647; }; 7461A63703EDAB240049711A = { fRef = 7419D62003E9EAC000A80050; isa = PBXTextBookmark; name = "Page.h: 23"; rLen = 0; rLoc = 927; rType = 0; vrLen = 948; vrLoc = 0; }; 7461A63803EDAB240049711A = { fRef = 7461A61703EDA4CD0049711A; isa = PBXTextBookmark; name = "Legend.h: 23"; rLen = 0; rLoc = 902; rType = 0; vrLen = 933; vrLoc = 0; }; 7461A63903EDAB240049711A = { fRef = 7419D61403E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.h: 34"; rLen = 41; rLoc = 1151; rType = 0; vrLen = 658; vrLoc = 647; }; 7461A63A03EDAB240049711A = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: s"; rLen = 0; rLoc = 2036; rType = 0; vrLen = 927; vrLoc = 1677; }; 7461A63B03EDAB240049711A = { fRef = 7461A61703EDA4CD0049711A; isa = PBXTextBookmark; name = "Legend.h: compareLegends:"; rLen = 0; rLoc = 1385; rType = 0; vrLen = 663; vrLoc = 718; }; 7461A63C03EDAB240049711A = { fRef = 7461A61803EDA4CD0049711A; isa = PBXTextBookmark; name = "Legend.m: legend"; rLen = 0; rLoc = 1764; rType = 0; vrLen = 704; vrLoc = 1299; }; 7461A63D03EDAB240049711A = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: 67"; rLen = 68; rLoc = 1923; rType = 0; vrLen = 945; vrLoc = 1538; }; 7461A63E03EDAB240049711A = { fRef = 7461A61803EDA4CD0049711A; isa = PBXTextBookmark; name = "Legend.m: legend"; rLen = 0; rLoc = 1764; rType = 0; vrLen = 704; vrLoc = 1299; }; 7461A63F03EDAB240049711A = { fRef = 7461A61703EDA4CD0049711A; isa = PBXTextBookmark; name = "Legend.h: legend"; rLen = 0; rLoc = 1212; rType = 0; vrLen = 680; vrLoc = 718; }; 7461A64003EDAB240049711A = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: s"; rLen = 0; rLoc = 6405; rType = 0; vrLen = 856; vrLoc = 5774; }; 7461A64103EDAB240049711A = { fRef = 7419D62D03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.m: 211"; rLen = 0; rLoc = 5792; rType = 0; vrLen = 752; vrLoc = 5579; }; 747669CB03EA7B2200A80050 = { exec = 7419D60F03E9EA4300A80050; isa = PBXExecutableBookmark; }; 747669CC03EA7B2200A80050 = { fRef = 747669C103EA09BB00A80050; isa = PBXTextBookmark; name = "GNUstep.h: 79"; rLen = 0; rLoc = 2431; rType = 0; vrLen = 404; vrLoc = 2071; }; 747669CE03EA7B2200A80050 = { fRef = 7419D61603E9EAC000A80050; isa = PBXTextBookmark; name = "helpviewer.h: 22"; rLen = 0; rLoc = 926; rType = 0; vrLen = 625; vrLoc = 395; }; 747669CF03EA7B2200A80050 = { fRef = 7419D61903E9EAC000A80050; isa = PBXTextBookmark; name = "Label.m: 68"; rLen = 0; rLoc = 1495; rType = 0; vrLen = 167; vrLoc = 1328; }; 747669D003EA7B2200A80050 = { fRef = 7419D61803E9EAC000A80050; isa = PBXTextBookmark; name = "Label.h: 24"; rLen = 0; rLoc = 944; rType = 0; vrLen = 426; vrLoc = 646; }; 747669D103EA7B2200A80050 = { fRef = 7419D61C03E9EAC000A80050; isa = PBXTextBookmark; name = "mainWindowController.h: 21"; rLen = 0; rLoc = 889; rType = 0; vrLen = 929; vrLoc = 0; }; 747669D203EA7B2200A80050 = { fRef = 7419D61E03E9EAC000A80050; isa = PBXTextBookmark; name = "ModNSString.h: 22"; rLen = 0; rLoc = 901; rType = 0; vrLen = 974; vrLoc = 0; }; 747669D403EA7B2200A80050 = { fRef = 7419D62203E9EAC000A80050; isa = PBXTextBookmark; name = "Parser.h: 21"; rLen = 0; rLoc = 900; rType = 0; vrLen = 934; vrLoc = 0; }; 747669D503EA7B2200A80050 = { fRef = 7419D62403E9EAC000A80050; isa = PBXTextBookmark; name = "Section.h: 22"; rLen = 0; rLoc = 926; rType = 0; vrLen = 958; vrLoc = 0; }; 747669D603EA7B2200A80050 = { fRef = 7419D62603E9EAC000A80050; isa = PBXTextBookmark; name = "Table.h: 22"; rLen = 0; rLoc = 926; rType = 0; vrLen = 968; vrLoc = 0; }; 747669D703EA7B2200A80050 = { bstl = 4A9504CCFFE6A4B311CA0CBA; isa = PBXBuildStyleBookmark; }; 747669D803EA7B2200A80050 = { fRef = 7419D61303E9EAC000A80050; isa = PBXTextBookmark; name = "Controller.m: 66"; rLen = 32; rLoc = 1900; rType = 0; vrLen = 699; vrLoc = 0; }; 747669D903EA7B2200A80050 = { fRef = 7419D61203E9EAC000A80050; isa = PBXTextBookmark; name = "Controller.h: 6"; rLen = 0; rLoc = 106; rType = 0; vrLen = 531; vrLoc = 0; }; 747669DB03EA7B2200A80050 = { fRef = 7419D61D03E9EAC000A80050; isa = PBXTextBookmark; name = "mainWindowController.m: __value"; rLen = 10; rLoc = 2763; rType = 0; vrLen = 426; vrLoc = 2455; }; 747669DE03EA7B2200A80050 = { fRef = 7419D62C03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.h: 28"; rLen = 0; rLoc = 1028; rType = 0; vrLen = 309; vrLoc = 936; }; 747669DF03EA7B2200A80050 = { exec = 7419D60F03E9EA4300A80050; isa = PBXExecutableBookmark; }; 747669E003EA7B2200A80050 = { bstl = 4A9504CCFFE6A4B311CA0CBA; isa = PBXBuildStyleBookmark; }; 747669E103EA7B2200A80050 = { fRef = 7419D62C03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.h: 34"; rLen = 0; rLoc = 1148; rType = 0; vrLen = 446; vrLoc = 907; }; 747669E203EA7B2200A80050 = { fRef = 7419D61D03E9EAC000A80050; isa = PBXTextBookmark; name = "mainWindowController.m: 107"; rLen = 0; rLoc = 3155; rType = 0; vrLen = 753; vrLoc = 2691; }; 747669E303EA7B2200A80050 = { fRef = 7419D62C03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.h: 33"; rLen = 0; rLoc = 1136; rType = 0; vrLen = 193; vrLoc = 781; }; 747669E403EA7B2200A80050 = { bstl = 4A9504CCFFE6A4B311CA0CBA; isa = PBXBuildStyleBookmark; }; 747669E503EA7B2200A80050 = { fRef = 7419D61303E9EAC000A80050; isa = PBXTextBookmark; name = "Controller.m: 66"; rLen = 32; rLoc = 1900; rType = 0; vrLen = 514; vrLoc = 0; }; 747669E603EA7B2200A80050 = { fRef = 7419D61203E9EAC000A80050; isa = PBXTextBookmark; name = "Controller.h: 6"; rLen = 0; rLoc = 106; rType = 0; vrLen = 256; vrLoc = 0; }; 747669E703EA7B2200A80050 = { fRef = 7419D61303E9EAC000A80050; isa = PBXTextBookmark; name = "Controller.m: 66"; rLen = 32; rLoc = 1900; rType = 0; vrLen = 514; vrLoc = 0; }; 747669E803EA7B2200A80050 = { fRef = 747669C103EA09BB00A80050; isa = PBXTextBookmark; name = "GNUstep.h: 79"; rLen = 0; rLoc = 2431; rType = 0; vrLen = 404; vrLoc = 2071; }; 747669E903EA7B2200A80050 = { fRef = 7419D61403E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.h: 23"; rLen = 0; rLoc = 946; rType = 0; vrLen = 619; vrLoc = 395; }; 747669EA03EA7B2200A80050 = { fRef = 7419D61603E9EAC000A80050; isa = PBXTextBookmark; name = "helpviewer.h: 22"; rLen = 0; rLoc = 926; rType = 0; vrLen = 625; vrLoc = 395; }; 747669EB03EA7B2200A80050 = { fRef = 7419D61903E9EAC000A80050; isa = PBXTextBookmark; name = "Label.m: 68"; rLen = 0; rLoc = 1495; rType = 0; vrLen = 167; vrLoc = 1328; }; 747669EC03EA7B2200A80050 = { fRef = 7419D61803E9EAC000A80050; isa = PBXTextBookmark; name = "Label.h: 24"; rLen = 0; rLoc = 944; rType = 0; vrLen = 426; vrLoc = 646; }; 747669ED03EA7B2200A80050 = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: paragraph"; rLen = 0; rLoc = 8107; rType = 0; vrLen = 572; vrLoc = 4144; }; 747669EE03EA7B2200A80050 = { fRef = 7419D61D03E9EAC000A80050; isa = PBXTextBookmark; name = "mainWindowController.m: 74"; rLen = 38; rLoc = 2361; rType = 0; vrLen = 418; vrLoc = 2117; }; 747669EF03EA7B2200A80050 = { fRef = 7419D61C03E9EAC000A80050; isa = PBXTextBookmark; name = "mainWindowController.h: 21"; rLen = 0; rLoc = 889; rType = 0; vrLen = 929; vrLoc = 0; }; 747669F003EA7B2200A80050 = { fRef = 7419D61E03E9EAC000A80050; isa = PBXTextBookmark; name = "ModNSString.h: 22"; rLen = 0; rLoc = 901; rType = 0; vrLen = 974; vrLoc = 0; }; 747669F103EA7B2200A80050 = { fRef = 7419D62003E9EAC000A80050; isa = PBXTextBookmark; name = "Page.h: 23"; rLen = 0; rLoc = 927; rType = 0; vrLen = 948; vrLoc = 0; }; 747669F203EA7B2200A80050 = { fRef = 7419D62203E9EAC000A80050; isa = PBXTextBookmark; name = "Parser.h: 21"; rLen = 0; rLoc = 900; rType = 0; vrLen = 934; vrLoc = 0; }; 747669F303EA7B2200A80050 = { fRef = 7419D62403E9EAC000A80050; isa = PBXTextBookmark; name = "Section.h: 22"; rLen = 0; rLoc = 926; rType = 0; vrLen = 958; vrLoc = 0; }; 747669F403EA7B2200A80050 = { fRef = 7419D62603E9EAC000A80050; isa = PBXTextBookmark; name = "Table.h: 22"; rLen = 0; rLoc = 926; rType = 0; vrLen = 968; vrLoc = 0; }; 747669F503EA7B2200A80050 = { bstl = 4A9504CCFFE6A4B311CA0CBA; isa = PBXBuildStyleBookmark; }; 747669F603EA7B2200A80050 = { fRef = 7419D61303E9EAC000A80050; isa = PBXTextBookmark; name = "Controller.m: 66"; rLen = 32; rLoc = 1900; rType = 0; vrLen = 699; vrLoc = 0; }; 747669F703EA7B2200A80050 = { fRef = 7419D61203E9EAC000A80050; isa = PBXTextBookmark; name = "Controller.h: 6"; rLen = 0; rLoc = 106; rType = 0; vrLen = 531; vrLoc = 0; }; 747669F803EA7B2200A80050 = { fRef = 7419D62C03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.h: 33"; rLen = 0; rLoc = 1136; rType = 0; vrLen = 862; vrLoc = 1625; }; 747669F903EA7B2200A80050 = { fRef = 7419D61D03E9EAC000A80050; isa = PBXTextBookmark; name = "mainWindowController.m: __value"; rLen = 10; rLoc = 2763; rType = 0; vrLen = 789; vrLoc = 2455; }; 747669FA03EA7B2200A80050 = { fRef = 7419D62D03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.m: 474"; rLen = 9; rLoc = 13955; rType = 0; vrLen = 737; vrLoc = 13336; }; 747669FB03EA7B2200A80050 = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: paragraph"; rLen = 0; rLoc = 8107; rType = 0; vrLen = 303; vrLoc = 1277; }; 747669FC03EA7B2200A80050 = { fRef = 7419D61D03E9EAC000A80050; isa = PBXTextBookmark; name = "mainWindowController.m: __value"; rLen = 10; rLoc = 2763; rType = 0; vrLen = 426; vrLoc = 2455; }; 747669FD03EA7B2200A80050 = { fRef = 7419D62D03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.m: 231"; rLen = 0; rLoc = 6833; rType = 0; vrLen = 714; vrLoc = 5960; }; 747669FE03EA7B2200A80050 = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: paragraph"; rLen = 0; rLoc = 8107; rType = 0; vrLen = 572; vrLoc = 3907; }; 747669FF03EA7B2200A80050 = { fRef = 7419D62D03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.m: 210"; rLen = 0; rLoc = 6059; rType = 0; vrLen = 802; vrLoc = 5501; }; 74766A0003EA7B2200A80050 = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: 156"; rLen = 0; rLoc = 8107; rType = 0; vrLen = 993; vrLoc = 4446; }; 74766A0103EA7B2200A80050 = { fRef = 7419D62D03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.m: 416"; rLen = 0; rLoc = 12404; rType = 0; vrLen = 908; vrLoc = 11846; }; 74766A0203EA7B2200A80050 = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: 147"; rLen = 0; rLoc = 8107; rType = 0; vrLen = 924; vrLoc = 4007; }; 74766A0303EA7B2200A80050 = { fRef = 7419D62D03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.m: 415"; rLen = 51; rLoc = 12311; rType = 0; vrLen = 910; vrLoc = 11846; }; 74766A0403EA7B2200A80050 = { fRef = 7419D61503E9EAC000A80050; isa = PBXTextBookmark; name = "FigureCell.m: attributes"; rLen = 0; rLoc = 8107; rType = 0; vrLen = 967; vrLoc = 4007; }; 74766A0503EA7B2200A80050 = { fRef = 7419D62D03E9EAC000A80050; isa = PBXTextBookmark; name = "XMLHandler.m: 415"; rLen = 51; rLoc = 12311; rType = 0; vrLen = 910; vrLoc = 11846; }; } HelpViewer-0.4/HelpViewer-0.2.pbproj/project.pbxproj0000644000175100000240000004411213701702464021554 0ustar multixstaff// !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 38; objects = { 080E96DCFE201CFB7F000001 = { fileRef = 29B97318FDCFA39411CA2CEA; isa = PBXBuildFile; settings = { }; }; 080E96DDFE201D6D7F000001 = { children = ( 7419D61003E9EAC000A80050, 7419D61103E9EAC000A80050, 747669C103EA09BB00A80050, 7419D61203E9EAC000A80050, 7419D61303E9EAC000A80050, 7419D61403E9EAC000A80050, 7419D61503E9EAC000A80050, 7419D61603E9EAC000A80050, 7419D61703E9EAC000A80050, 7419D61803E9EAC000A80050, 7419D61903E9EAC000A80050, 7419D61A03E9EAC000A80050, 7419D61B03E9EAC000A80050, 7419D61C03E9EAC000A80050, 7419D61D03E9EAC000A80050, 7419D61E03E9EAC000A80050, 7419D61F03E9EAC000A80050, 7419D62003E9EAC000A80050, 7419D62103E9EAC000A80050, 7419D62203E9EAC000A80050, 7419D62303E9EAC000A80050, 7419D62403E9EAC000A80050, 7419D62503E9EAC000A80050, 7419D62603E9EAC000A80050, 7419D62703E9EAC000A80050, 7419D62803E9EAC000A80050, 7419D62903E9EAC000A80050, 7419D62A03E9EAC000A80050, 7419D62B03E9EAC000A80050, 7419D62C03E9EAC000A80050, 7419D62D03E9EAC000A80050, 7461A61703EDA4CD0049711A, 7461A61803EDA4CD0049711A, ); isa = PBXGroup; name = Classes; refType = 4; }; 089C165CFE840E0CC02AAC07 = { children = ( 089C165DFE840E0CC02AAC07, ); isa = PBXVariantGroup; name = InfoPlist.strings; refType = 4; }; 089C165DFE840E0CC02AAC07 = { fileEncoding = 10; isa = PBXFileReference; name = English; path = English.lproj/InfoPlist.strings; refType = 4; }; 089C165EFE840E0CC02AAC07 = { fileRef = 089C165CFE840E0CC02AAC07; isa = PBXBuildFile; settings = { }; }; //080 //081 //082 //083 //084 //100 //101 //102 //103 //104 1058C7A0FEA54F0111CA2CBB = { children = ( 1058C7A1FEA54F0111CA2CBB, ); isa = PBXGroup; name = "Linked Frameworks"; refType = 4; }; 1058C7A1FEA54F0111CA2CBB = { isa = PBXFrameworkReference; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; refType = 0; }; 1058C7A2FEA54F0111CA2CBB = { children = ( 29B97325FDCFA39411CA2CEA, 29B97324FDCFA39411CA2CEA, ); isa = PBXGroup; name = "Other Frameworks"; refType = 4; }; 1058C7A3FEA54F0111CA2CBB = { fileRef = 1058C7A1FEA54F0111CA2CBB; isa = PBXBuildFile; settings = { }; }; //100 //101 //102 //103 //104 //170 //171 //172 //173 //174 17587328FF379C6511CA2CBB = { isa = PBXApplicationReference; path = "HelpViewer-0.2.app"; refType = 3; }; //170 //171 //172 //173 //174 //190 //191 //192 //193 //194 19C28FACFE9D520D11CA2CBB = { children = ( 17587328FF379C6511CA2CBB, ); isa = PBXGroup; name = Products; refType = 4; }; //190 //191 //192 //193 //194 //290 //291 //292 //293 //294 29B97313FDCFA39411CA2CEA = { buildStyles = ( 4A9504CCFFE6A4B311CA0CBA, 4A9504CDFFE6A4B311CA0CBA, ); hasScannedForEncodings = 1; isa = PBXProject; mainGroup = 29B97314FDCFA39411CA2CEA; projectDirPath = ""; targets = ( 29B97326FDCFA39411CA2CEA, ); }; 29B97314FDCFA39411CA2CEA = { children = ( 080E96DDFE201D6D7F000001, 29B97315FDCFA39411CA2CEA, 29B97317FDCFA39411CA2CEA, 29B97323FDCFA39411CA2CEA, 19C28FACFE9D520D11CA2CBB, ); isa = PBXGroup; name = "HelpViewer-0.2"; path = ""; refType = 4; }; 29B97315FDCFA39411CA2CEA = { children = ( 32CA4F630368D1EE00C91783, 29B97316FDCFA39411CA2CEA, ); isa = PBXGroup; name = "Other Sources"; path = ""; refType = 4; }; 29B97316FDCFA39411CA2CEA = { fileEncoding = 30; isa = PBXFileReference; path = main.m; refType = 4; }; 29B97317FDCFA39411CA2CEA = { children = ( 29B97318FDCFA39411CA2CEA, 089C165CFE840E0CC02AAC07, 747669C303EA209300A80050, 747669C503EA20AB00A80050, 747669C703EA20B700A80050, 747669C903EA20C000A80050, ); isa = PBXGroup; name = Resources; path = ""; refType = 4; }; 29B97318FDCFA39411CA2CEA = { children = ( 29B97319FDCFA39411CA2CEA, ); isa = PBXVariantGroup; name = MainMenu.nib; path = ""; refType = 4; }; 29B97319FDCFA39411CA2CEA = { isa = PBXFileReference; name = English; path = English.lproj/MainMenu.nib; refType = 4; }; 29B97323FDCFA39411CA2CEA = { children = ( 1058C7A0FEA54F0111CA2CBB, 1058C7A2FEA54F0111CA2CBB, ); isa = PBXGroup; name = Frameworks; path = ""; refType = 4; }; 29B97324FDCFA39411CA2CEA = { isa = PBXFrameworkReference; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; refType = 0; }; 29B97325FDCFA39411CA2CEA = { isa = PBXFrameworkReference; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; refType = 0; }; 29B97326FDCFA39411CA2CEA = { buildPhases = ( 29B97327FDCFA39411CA2CEA, 29B97328FDCFA39411CA2CEA, 29B9732BFDCFA39411CA2CEA, 29B9732DFDCFA39411CA2CEA, ); buildSettings = { FRAMEWORK_SEARCH_PATHS = ""; HEADER_SEARCH_PATHS = ""; INSTALL_PATH = "$(HOME)/Applications"; LIBRARY_SEARCH_PATHS = ""; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ""; PRECOMPILE_PREFIX_HEADER = YES; PREFIX_HEADER = "HelpViewer-0.2_Prefix.h"; PRODUCT_NAME = "HelpViewer-0.2"; SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; WRAPPER_EXTENSION = app; }; dependencies = ( ); isa = PBXApplicationTarget; name = "HelpViewer-0.2"; productInstallPath = "$(HOME)/Applications"; productName = "HelpViewer-0.2"; productReference = 17587328FF379C6511CA2CBB; productSettingsXML = " CFBundleDevelopmentRegion English CFBundleExecutable HelpViewer-0.2 CFBundleIconFile CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType APPL CFBundleSignature ???? CFBundleVersion 0.1 NSMainNibFile MainMenu NSPrincipalClass NSApplication "; }; 29B97327FDCFA39411CA2CEA = { buildActionMask = 2147483647; files = ( 32CA4F650368D2AA00C91783, 7419D62E03E9EAC000A80050, 7419D63003E9EAC000A80050, 7419D63203E9EAC000A80050, 7419D63403E9EAC000A80050, 7419D63603E9EAC000A80050, 7419D63803E9EAC000A80050, 7419D63A03E9EAC000A80050, 7419D63C03E9EAC000A80050, 7419D63E03E9EAC000A80050, 7419D64003E9EAC000A80050, 7419D64203E9EAC000A80050, 7419D64403E9EAC000A80050, 7419D64603E9EAC000A80050, 7419D64803E9EAC000A80050, 7419D64A03E9EAC000A80050, 747669C203EA09BB00A80050, 7461A61903EDA4CD0049711A, ); isa = PBXHeadersBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 29B97328FDCFA39411CA2CEA = { buildActionMask = 2147483647; files = ( 080E96DCFE201CFB7F000001, 089C165EFE840E0CC02AAC07, 747669C403EA209300A80050, 747669C603EA20AB00A80050, 747669C803EA20B700A80050, 747669CA03EA20C100A80050, ); isa = PBXResourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 29B9732BFDCFA39411CA2CEA = { buildActionMask = 2147483647; files = ( 29B9732CFDCFA39411CA2CEA, 7419D62F03E9EAC000A80050, 7419D63103E9EAC000A80050, 7419D63303E9EAC000A80050, 7419D63503E9EAC000A80050, 7419D63703E9EAC000A80050, 7419D63903E9EAC000A80050, 7419D63B03E9EAC000A80050, 7419D63D03E9EAC000A80050, 7419D63F03E9EAC000A80050, 7419D64103E9EAC000A80050, 7419D64303E9EAC000A80050, 7419D64503E9EAC000A80050, 7419D64703E9EAC000A80050, 7419D64903E9EAC000A80050, 7419D64B03E9EAC000A80050, 7461A61A03EDA4CD0049711A, ); isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; 29B9732CFDCFA39411CA2CEA = { fileRef = 29B97316FDCFA39411CA2CEA; isa = PBXBuildFile; settings = { ATTRIBUTES = ( ); }; }; 29B9732DFDCFA39411CA2CEA = { buildActionMask = 2147483647; files = ( 1058C7A3FEA54F0111CA2CBB, ); isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; }; //290 //291 //292 //293 //294 //320 //321 //322 //323 //324 32CA4F630368D1EE00C91783 = { fileEncoding = 4; isa = PBXFileReference; path = "HelpViewer-0.2_Prefix.h"; refType = 4; }; 32CA4F650368D2AA00C91783 = { fileRef = 32CA4F630368D1EE00C91783; isa = PBXBuildFile; settings = { }; }; //320 //321 //322 //323 //324 //4A0 //4A1 //4A2 //4A3 //4A4 4A9504CCFFE6A4B311CA0CBA = { buildRules = ( ); buildSettings = { COPY_PHASE_STRIP = NO; OPTIMIZATION_CFLAGS = "-O0"; OTHER_CFLAGS = "\U0001-DMACOSX -no-cpp-precomp"; }; isa = PBXBuildStyle; name = Development; }; 4A9504CDFFE6A4B311CA0CBA = { buildRules = ( ); buildSettings = { COPY_PHASE_STRIP = YES; }; isa = PBXBuildStyle; name = Deployment; }; //4A0 //4A1 //4A2 //4A3 //4A4 //740 //741 //742 //743 //744 7419D61003E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = BRCell.h; refType = 4; }; 7419D61103E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = BRCell.m; refType = 4; }; 7419D61203E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = Controller.h; refType = 4; }; 7419D61303E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = Controller.m; refType = 4; }; 7419D61403E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = FigureCell.h; refType = 4; }; 7419D61503E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = FigureCell.m; refType = 4; }; 7419D61603E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = helpviewer.h; refType = 4; }; 7419D61703E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = helpviewer.m; refType = 4; }; 7419D61803E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = Label.h; refType = 4; }; 7419D61903E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = Label.m; refType = 4; }; 7419D61A03E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = mainWindow.h; refType = 4; }; 7419D61B03E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = mainWindow.m; refType = 4; }; 7419D61C03E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = mainWindowController.h; refType = 4; }; 7419D61D03E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = mainWindowController.m; refType = 4; }; 7419D61E03E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = ModNSString.h; refType = 4; }; 7419D61F03E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = ModNSString.m; refType = 4; }; 7419D62003E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = Page.h; refType = 4; }; 7419D62103E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = Page.m; refType = 4; }; 7419D62203E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = Parser.h; refType = 4; }; 7419D62303E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = Parser.m; refType = 4; }; 7419D62403E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = Section.h; refType = 4; }; 7419D62503E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = Section.m; refType = 4; }; 7419D62603E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = Table.h; refType = 4; }; 7419D62703E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = Table.m; refType = 4; }; 7419D62803E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = TextViewCell.h; refType = 4; }; 7419D62903E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = TextViewCell.m; refType = 4; }; 7419D62A03E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = ViewCell.h; refType = 4; }; 7419D62B03E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = ViewCell.m; refType = 4; }; 7419D62C03E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = XMLHandler.h; refType = 4; }; 7419D62D03E9EAC000A80050 = { fileEncoding = 30; isa = PBXFileReference; path = XMLHandler.m; refType = 4; }; 7419D62E03E9EAC000A80050 = { fileRef = 7419D61003E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D62F03E9EAC000A80050 = { fileRef = 7419D61103E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63003E9EAC000A80050 = { fileRef = 7419D61203E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63103E9EAC000A80050 = { fileRef = 7419D61303E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63203E9EAC000A80050 = { fileRef = 7419D61403E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63303E9EAC000A80050 = { fileRef = 7419D61503E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63403E9EAC000A80050 = { fileRef = 7419D61603E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63503E9EAC000A80050 = { fileRef = 7419D61703E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63603E9EAC000A80050 = { fileRef = 7419D61803E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63703E9EAC000A80050 = { fileRef = 7419D61903E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63803E9EAC000A80050 = { fileRef = 7419D61A03E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63903E9EAC000A80050 = { fileRef = 7419D61B03E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63A03E9EAC000A80050 = { fileRef = 7419D61C03E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63B03E9EAC000A80050 = { fileRef = 7419D61D03E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63C03E9EAC000A80050 = { fileRef = 7419D61E03E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63D03E9EAC000A80050 = { fileRef = 7419D61F03E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63E03E9EAC000A80050 = { fileRef = 7419D62003E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D63F03E9EAC000A80050 = { fileRef = 7419D62103E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D64003E9EAC000A80050 = { fileRef = 7419D62203E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D64103E9EAC000A80050 = { fileRef = 7419D62303E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D64203E9EAC000A80050 = { fileRef = 7419D62403E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D64303E9EAC000A80050 = { fileRef = 7419D62503E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D64403E9EAC000A80050 = { fileRef = 7419D62603E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D64503E9EAC000A80050 = { fileRef = 7419D62703E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D64603E9EAC000A80050 = { fileRef = 7419D62803E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D64703E9EAC000A80050 = { fileRef = 7419D62903E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D64803E9EAC000A80050 = { fileRef = 7419D62A03E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D64903E9EAC000A80050 = { fileRef = 7419D62B03E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D64A03E9EAC000A80050 = { fileRef = 7419D62C03E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7419D64B03E9EAC000A80050 = { fileRef = 7419D62D03E9EAC000A80050; isa = PBXBuildFile; settings = { }; }; 7461A61703EDA4CD0049711A = { fileEncoding = 4; isa = PBXFileReference; path = Legend.h; refType = 4; }; 7461A61803EDA4CD0049711A = { fileEncoding = 4; isa = PBXFileReference; path = Legend.m; refType = 4; }; 7461A61903EDA4CD0049711A = { fileRef = 7461A61703EDA4CD0049711A; isa = PBXBuildFile; settings = { }; }; 7461A61A03EDA4CD0049711A = { fileRef = 7461A61803EDA4CD0049711A; isa = PBXBuildFile; settings = { }; }; 747669C103EA09BB00A80050 = { fileEncoding = 30; isa = PBXFileReference; path = GNUstep.h; refType = 4; }; 747669C203EA09BB00A80050 = { fileRef = 747669C103EA09BB00A80050; isa = PBXBuildFile; settings = { }; }; 747669C303EA209300A80050 = { isa = PBXFileReference; name = Back.tiff; path = Icons/Back.tiff; refType = 4; }; 747669C403EA209300A80050 = { fileRef = 747669C303EA209300A80050; isa = PBXBuildFile; settings = { }; }; 747669C503EA20AB00A80050 = { isa = PBXFileReference; name = Bookshelf.tiff; path = Icons/Bookshelf.tiff; refType = 4; }; 747669C603EA20AB00A80050 = { fileRef = 747669C503EA20AB00A80050; isa = PBXBuildFile; settings = { }; }; 747669C703EA20B700A80050 = { isa = PBXFileReference; name = Index.tiff; path = Icons/Index.tiff; refType = 4; }; 747669C803EA20B700A80050 = { fileRef = 747669C703EA20B700A80050; isa = PBXBuildFile; settings = { }; }; 747669C903EA20C000A80050 = { isa = PBXFileReference; name = Search.tiff; path = Icons/Search.tiff; refType = 4; }; 747669CA03EA20C100A80050 = { fileRef = 747669C903EA20C000A80050; isa = PBXBuildFile; settings = { }; }; }; rootObject = 29B97313FDCFA39411CA2CEA; } HelpViewer-0.4/Examples/0000755000175100000240000000000013701702465014413 5ustar multixstaffHelpViewer-0.4/Examples/Gomoku.help/0000755000175100000240000000000013701702464016602 5ustar multixstaffHelpViewer-0.4/Examples/Gomoku.help/main.xlp0000644000175100000240000000262513701702464020260 0ustar multixstaff
Gomoku's online help





Gomoku.app is an extended TicTacToe game for GNUstep.
(c) Nicola Pero. This program is licensed through the GNU Public Licence.




site : http://www.gnustep.it/nicola/Applications/Gomoku/index.html
contact : mailto:n.pero@mi.flashnet.it




Introduction - Changing the boardsize -
You win the game if you are able to put 5 of your pieces in a row, column or diagonal. You loose if the computer does it before you. You can play the game on boards of different size; the default size is 8 but 10 is also nice to play. The game has 6 different difficulty levels.
if you're using gnustep-make > 1.5.0). If you want to play on a board different from the default 8x8 board, pass the size of the board as argument of Gomoku.app. For example, to play on a 10x10 board, you can start Gomoku with:
openapp Gomoku.app 10
NB: board size must be >= 8.
HelpViewer-0.4/Examples/Gomoku.help/.gwdir0000644000175100000240000000056113701702464017721 0ustar multixstaff{ geometry = "200 199 381 500 0 0 960 768 "; lastselection = ( "/home/nico/Projets/HelpViewer-0.3/Gomoku.help/.gwdir" ); shelfdicts = ( { index = 1; paths = ( "/home/nico/Projets/HelpViewer-0.3/Gomoku.help" ); } ); shelfheight = 77; viewedpath = "/home/nico/Projets/HelpViewer-0.3/Gomoku.help"; viewtype = Browser; }HelpViewer-0.4/Examples/Base.help/0000755000175100000240000000000013701702465016214 5ustar multixstaffHelpViewer-0.4/Examples/Base.help/main.xlp0000644000175100000240000236134013701702465017676 0ustar multixstaffThe GNUstep base library is a free software package implementing the API of the OpenStep Foundation Kit (tm), including later additions. This documentation package describes the core of the base library, for documentation on additional classes, see the BaseAdditions documentation package.
Inherits From: GSXMLParser: NSObject
Declared in: GSXML.h

Description forthcoming.