home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / PROG / MISC / XLSP21TC.ZIP / WINTERP.DOC < prev    next >
Mailbox/MIME Entity  |  1991-04-14  |  14.6 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: Mailbox/MIME Entity (archive/mbox).

You can browse this item here: WINTERP.DOC

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Mailbox/MIME Entity (archive/mbox) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert WANG Integrated Word Processor (document/wangIWP) ext Unsupported
1% dexvert Dynamic Publisher Document (document/dynamicPublisherDocument) ext Unsupported
1% dexvert Excellence! Document (document/excellenceDocument) ext Unsupported
1% dexvert Norton Textra Writer (document/textraWriter) ext Unsupported
1% dexvert IBM DisplayWrite Document (document/ibmDisplayWriteDocument) ext Unsupported
1% dexvert Open Access Document (document/openAccessDocument) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file Mailbox text, 1st line "From sce!mitel!uunet!tut.cis.ohio-state.edu!ucbvax!hplabs!hplabsz!mayer Thu Jan 11 12:51:21 EST 1990", ASCII text, with CRLF line terminators default
100% TrID E-Mail message (Var. 2) default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% detectItEasy Format: plain text[CRLF] default (weak)
100% xdgMime application/mbox default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 20 73 63 65 | 21 6d 69 74 65 6c 21 75 |From sce|!mitel!u|
|00000010| 75 6e 65 74 21 74 75 74 | 2e 63 69 73 2e 6f 68 69 |unet!tut|.cis.ohi|
|00000020| 6f 2d 73 74 61 74 65 2e | 65 64 75 21 75 63 62 76 |o-state.|edu!ucbv|
|00000030| 61 78 21 68 70 6c 61 62 | 73 21 68 70 6c 61 62 73 |ax!hplab|s!hplabs|
|00000040| 7a 21 6d 61 79 65 72 20 | 54 68 75 20 4a 61 6e 20 |z!mayer |Thu Jan |
|00000050| 31 31 20 31 32 3a 35 31 | 3a 32 31 20 45 53 54 20 |11 12:51|:21 EST |
|00000060| 31 39 39 30 0d 0a 41 72 | 74 69 63 6c 65 3a 20 32 |1990..Ar|ticle: 2|
|00000070| 32 33 34 20 6f 66 20 63 | 6f 6d 70 2e 6c 61 6e 67 |234 of c|omp.lang|
|00000080| 2e 6c 69 73 70 0d 0a 50 | 61 74 68 3a 20 63 6f 67 |.lisp..P|ath: cog|
|00000090| 6e 6f 73 21 73 63 65 21 | 6d 69 74 65 6c 21 75 75 |nos!sce!|mitel!uu|
|000000a0| 6e 65 74 21 74 75 74 2e | 63 69 73 2e 6f 68 69 6f |net!tut.|cis.ohio|
|000000b0| 2d 73 74 61 74 65 2e 65 | 64 75 21 75 63 62 76 61 |-state.e|du!ucbva|
|000000c0| 78 21 68 70 6c 61 62 73 | 21 68 70 6c 61 62 73 7a |x!hplabs|!hplabsz|
|000000d0| 21 6d 61 79 65 72 0d 0a | 46 72 6f 6d 3a 20 6d 61 |!mayer..|From: ma|
|000000e0| 79 65 72 40 68 70 6c 61 | 62 73 7a 2e 48 50 4c 2e |yer@hpla|bsz.HPL.|
|000000f0| 48 50 2e 43 4f 4d 20 28 | 4e 69 65 6c 73 20 4d 61 |HP.COM (|Niels Ma|
|00000100| 79 65 72 29 0d 0a 4e 65 | 77 73 67 72 6f 75 70 73 |yer)..Ne|wsgroups|
|00000110| 3a 20 63 6f 6d 70 2e 6c | 61 6e 67 2e 6c 69 73 70 |: comp.l|ang.lisp|
|00000120| 0d 0a 53 75 62 6a 65 63 | 74 3a 20 52 65 3a 20 58 |..Subjec|t: Re: X|
|00000130| 4c 49 53 50 20 4f 62 6a | 65 63 74 20 4d 65 74 68 |LISP Obj|ect Meth|
|00000140| 6f 64 20 53 65 6c 65 63 | 74 6f 72 73 20 3a 6e 65 |od Selec|tors :ne|
|00000150| 77 20 61 6e 64 20 3a 69 | 73 6e 65 77 2e 0d 0a 4d |w and :i|snew...M|
|00000160| 65 73 73 61 67 65 2d 49 | 44 3a 20 3c 34 36 31 33 |essage-I|D: <4613|
|00000170| 40 68 70 6c 61 62 73 7a | 2e 48 50 4c 2e 48 50 2e |@hplabsz|.HPL.HP.|
|00000180| 43 4f 4d 3e 0d 0a 44 61 | 74 65 3a 20 31 30 20 4a |COM>..Da|te: 10 J|
|00000190| 61 6e 20 39 30 20 30 37 | 3a 32 36 3a 32 36 20 47 |an 90 07|:26:26 G|
|000001a0| 4d 54 0d 0a 52 65 66 65 | 72 65 6e 63 65 73 3a 20 |MT..Refe|rences: |
|000001b0| 3c 31 35 31 31 40 64 69 | 6e 6c 2e 6d 6d 63 2e 55 |<1511@di|nl.mmc.U|
|000001c0| 55 43 50 3e 0d 0a 52 65 | 70 6c 79 2d 54 6f 3a 20 |UCP>..Re|ply-To: |
|000001d0| 6d 61 79 65 72 40 68 70 | 6c 61 62 73 2e 68 70 2e |mayer@hp|labs.hp.|
|000001e0| 63 6f 6d 20 28 4e 69 65 | 6c 73 20 4d 61 79 65 72 |com (Nie|ls Mayer|
|000001f0| 29 0d 0a 4f 72 67 61 6e | 69 7a 61 74 69 6f 6e 3a |)..Organ|ization:|
|00000200| 20 48 65 77 6c 65 74 74 | 2d 50 61 63 6b 61 72 64 | Hewlett|-Packard|
|00000210| 20 4c 61 62 73 2c 20 53 | 6f 66 74 77 61 72 65 20 | Labs, S|oftware |
|00000220| 54 65 63 68 6e 6f 6c 6f | 67 79 20 4c 61 62 2c 20 |Technolo|gy Lab, |
|00000230| 50 61 6c 6f 20 41 6c 74 | 6f 2c 20 43 41 2e 0d 0a |Palo Alt|o, CA...|
|00000240| 4c 69 6e 65 73 3a 20 33 | 30 38 0d 0a 53 75 6d 6d |Lines: 3|08..Summ|
|00000250| 61 72 79 3a 0d 0a 45 78 | 70 69 72 65 73 3a 0d 0a |ary:..Ex|pires:..|
|00000260| 53 65 6e 64 65 72 3a 0d | 0a 46 6f 6c 6c 6f 77 75 |Sender:.|.Followu|
|00000270| 70 2d 54 6f 3a 0d 0a 0d | 0a 49 6e 20 61 72 74 69 |p-To:...|.In arti|
|00000280| 63 6c 65 20 3c 31 35 31 | 31 40 64 69 6e 6c 2e 6d |cle <151|1@dinl.m|
|00000290| 6d 63 2e 55 55 43 50 3e | 20 6e 6f 72 65 6e 40 64 |mc.UUCP>| noren@d|
|000002a0| 69 6e 6c 2e 55 55 43 50 | 20 28 43 68 61 72 6c 65 |inl.UUCP| (Charle|
|000002b0| 73 20 4e 6f 72 65 6e 29 | 20 77 72 69 74 65 73 3a |s Noren)| writes:|
|000002c0| 0d 0a 3e 49 74 27 73 20 | 62 65 65 6e 20 61 20 77 |..>It's |been a w|
|000002d0| 68 69 6c 65 20 73 69 6e | 63 65 20 49 27 76 65 20 |hile sin|ce I've |
|000002e0| 62 65 65 6e 20 6f 6e 20 | 74 68 65 20 6e 65 74 2e |been on |the net.|
|000002f0| 20 20 49 20 63 61 6e 20 | 6e 6f 20 6c 6f 6e 67 65 | I can |no longe|
|00000300| 72 0d 0a 3e 61 63 63 65 | 73 73 20 63 6f 6d 70 2e |r..>acce|ss comp.|
|00000310| 6c 61 6e 67 2e 6c 69 73 | 70 2e 78 20 66 72 6f 6d |lang.lis|p.x from|
|00000320| 20 6f 75 72 20 73 69 74 | 65 2c 20 49 20 73 75 70 | our sit|e, I sup|
|00000330| 70 6f 73 65 20 69 74 20 | 77 65 6e 74 20 61 77 61 |pose it |went awa|
|00000340| 79 3f 0d 0a 0d 0a 69 74 | 27 73 20 73 74 69 6c 6c |y?....it|'s still|
|00000350| 20 74 68 65 72 65 2e 2e | 2e 0d 0a 0d 0a 3e 49 27 | there..|.....>I'|
|00000360| 76 65 20 6a 75 73 74 20 | 73 74 61 72 74 69 6e 67 |ve just |starting|
|00000370| 20 70 6c 61 79 69 6e 67 | 20 77 69 74 68 20 58 4c | playing| with XL|
|00000380| 49 53 50 20 76 32 2e 30 | 2c 20 70 61 72 74 69 63 |ISP v2.0|, partic|
|00000390| 75 6c 61 72 6c 79 20 74 | 68 65 0d 0a 3e 6f 62 6a |ularly t|he..>obj|
|000003a0| 65 63 74 2d 6f 72 69 65 | 6e 74 65 64 20 66 65 61 |ect-orie|nted fea|
|000003b0| 74 75 72 65 73 20 6f 66 | 20 69 74 2e 20 20 49 27 |tures of| it. I'|
|000003c0| 76 65 20 63 72 65 61 74 | 65 64 20 6e 65 77 20 63 |ve creat|ed new c|
|000003d0| 6c 61 73 73 65 73 20 77 | 69 74 68 0d 0a 3e 69 6e |lasses w|ith..>in|
|000003e0| 73 74 61 6e 63 65 20 61 | 6e 64 20 63 6c 61 73 73 |stance a|nd class|
|000003f0| 20 76 61 72 69 61 62 6c | 65 73 2c 20 61 6e 64 20 | variabl|es, and |
|00000400| 49 27 76 65 20 75 73 65 | 64 20 74 68 65 20 3a 6e |I've use|d the :n|
|00000410| 65 77 20 73 65 6c 65 63 | 74 6f 72 0d 0a 3e 74 6f |ew selec|tor..>to|
|00000420| 20 64 6f 20 73 6f 20 61 | 6e 64 20 69 74 20 77 6f | do so a|nd it wo|
|00000430| 72 6b 73 20 6a 75 73 74 | 20 66 69 6e 65 2e 20 20 |rks just| fine. |
|00000440| 48 6f 77 65 76 65 72 2c | 20 49 20 73 65 65 20 74 |However,| I see t|
|00000450| 68 65 20 3a 69 73 6e 65 | 77 0d 0a 3e 73 65 6c 65 |he :isne|w..>sele|
|00000460| 63 74 6f 72 20 69 6e 20 | 74 68 65 20 64 6f 63 75 |ctor in |the docu|
|00000470| 6d 65 6e 74 61 74 69 6f | 6e 20 61 6e 64 20 49 20 |mentatio|n and I |
|00000480| 77 61 73 20 77 6f 6e 64 | 65 72 69 6e 67 20 68 6f |was wond|ering ho|
|00000490| 77 20 74 68 61 74 20 77 | 6f 72 6b 73 0d 0a 3e 63 |w that w|orks..>c|
|000004a0| 6f 6d 70 61 72 65 64 20 | 74 6f 20 3a 6e 65 77 2e |ompared |to :new.|
|000004b0| 0d 0a 0d 0a 57 68 65 6e | 20 49 20 66 69 72 73 74 |....When| I first|
|000004c0| 20 6c 6f 6f 6b 65 64 20 | 61 74 20 58 4c 49 53 50 | looked |at XLISP|
|000004d0| 2c 20 49 20 74 6f 6f 20 | 66 6f 75 6e 64 20 74 68 |, I too |found th|
|000004e0| 65 20 64 6f 63 75 6d 65 | 6e 74 61 74 69 6f 6e 20 |e docume|ntation |
|000004f0| 6f 6e 20 74 68 65 0d 0a | 6f 62 6a 65 63 74 20 73 |on the..|object s|
|00000500| 79 73 74 65 6d 20 74 6f | 20 62 65 20 61 20 6c 69 |ystem to| be a li|
|00000510| 74 74 6c 65 20 74 65 72 | 73 65 2e 20 45 76 65 72 |ttle ter|se. Ever|
|00000520| 79 74 68 69 6e 67 20 62 | 65 63 6f 6d 65 73 20 6d |ything b|ecomes m|
|00000530| 75 63 68 20 63 6c 65 61 | 72 65 72 0d 0a 6f 6e 63 |uch clea|rer..onc|
|00000540| 65 20 79 6f 75 20 73 65 | 65 20 73 6f 6d 65 20 65 |e you se|e some e|
|00000550| 78 61 6d 70 6c 65 73 2e | 20 0d 0a 0d 0a 49 20 72 |xamples.| ....I r|
|00000560| 65 63 65 6e 74 6c 79 20 | 77 72 6f 74 65 20 75 70 |ecently |wrote up|
|00000570| 20 73 6f 6d 65 20 64 6f | 63 75 6d 65 6e 74 61 74 | some do|cumentat|
|00000580| 69 6f 6e 20 6f 6e 20 58 | 4c 49 53 50 27 73 20 6f |ion on X|LISP's o|
|00000590| 62 6a 65 63 74 20 73 79 | 73 74 65 6d 20 66 6f 72 |bject sy|stem for|
|000005a0| 0d 0a 75 73 65 20 77 69 | 74 68 20 57 49 4e 54 45 |..use wi|th WINTE|
|000005b0| 52 50 20 28 61 6e 20 58 | 4c 49 53 50 2d 62 61 73 |RP (an X|LISP-bas|
|000005c0| 65 64 20 72 61 70 69 64 | 20 70 72 6f 74 6f 74 79 |ed rapid| prototy|
|000005d0| 70 69 6e 67 20 65 6e 76 | 69 72 6f 6e 6d 65 6e 74 |ping env|ironment|
|000005e0| 20 66 6f 72 0d 0a 61 70 | 70 6c 69 63 61 74 69 6f | for..ap|plicatio|
|000005f0| 6e 73 20 62 61 73 65 64 | 20 6f 6e 20 74 68 65 20 |ns based| on the |
|00000600| 4f 53 46 20 4d 6f 74 69 | 66 20 77 69 64 67 65 74 |OSF Moti|f widget|
|00000610| 73 29 2e 20 54 68 65 20 | 66 6f 6c 6c 6f 77 69 6e |s). The |followin|
|00000620| 67 20 65 78 63 65 72 70 | 74 0d 0a 66 72 6f 6d 20 |g excerp|t..from |
|00000630| 77 69 6e 74 65 72 70 2f | 64 6f 63 2f 77 69 6e 74 |winterp/|doc/wint|
|00000640| 65 72 70 2e 64 6f 63 20 | 6d 61 79 20 68 65 6c 70 |erp.doc |may help|
|00000650| 20 28 67 65 74 20 77 69 | 6e 74 65 72 70 20 76 69 | (get wi|nterp vi|
|00000660| 61 20 61 6e 6f 6e 79 6d | 6f 75 73 20 66 74 70 0d |a anonym|ous ftp.|
|00000670| 0a 66 72 6f 6d 20 65 78 | 70 6f 2e 6c 63 73 2e 6d |.from ex|po.lcs.m|
|00000680| 69 74 2e 65 64 75 3a 6f | 6c 64 63 6f 6e 74 72 69 |it.edu:o|ldcontri|
|00000690| 62 2f 77 69 6e 74 65 72 | 70 2e 74 61 72 2e 5a 29 |b/winter|p.tar.Z)|
|000006a0| 2e 20 49 6e 20 70 61 72 | 74 69 63 75 6c 61 72 2c |. In par|ticular,|
|000006b0| 20 79 6f 75 72 0d 0a 71 | 75 65 73 74 69 6f 6e 20 | your..q|uestion |
|000006c0| 61 62 6f 75 74 20 3a 49 | 53 4e 45 57 20 69 73 20 |about :I|SNEW is |
|000006d0| 61 6e 73 77 65 72 65 64 | 20 69 6e 20 74 68 65 20 |answered| in the |
|000006e0| 22 6f 62 6a 65 63 74 20 | 69 6e 69 74 69 61 6c 69 |"object |initiali|
|000006f0| 7a 61 74 69 6f 6e 22 0d | 0a 73 65 63 74 69 6f 6e |zation".|.section|
|00000700| 2e 20 0d 0a 0d 0a 09 09 | 09 2d 2d 2d 2d 2d 2d 2d |. ......|.-------|
|00000710| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 0a 0d |--------|-----...|
|00000720| 0a 2a 20 49 6e 74 72 6f | 64 75 63 74 69 6f 6e 20 |.* Intro|duction |
|00000730| 74 6f 20 58 4c 49 53 50 | 20 6f 62 6a 65 63 74 73 |to XLISP| objects|
|00000740| 20 61 6e 64 20 57 69 64 | 67 65 74 73 2e 0d 0a 0d | and Wid|gets....|
|00000750| 0a 57 49 4e 54 45 52 50 | 20 75 73 65 73 20 58 4c |.WINTERP| uses XL|
|00000760| 49 53 50 27 73 20 6f 62 | 6a 65 63 74 20 73 79 73 |ISP's ob|ject sys|
|00000770| 74 65 6d 20 61 73 20 69 | 74 73 20 69 6e 74 65 72 |tem as i|ts inter|
|00000780| 66 61 63 65 20 74 6f 20 | 74 68 65 20 63 6c 61 73 |face to |the clas|
|00000790| 73 20 68 69 65 72 61 72 | 63 68 79 0d 0a 6f 66 20 |s hierar|chy..of |
|000007a0| 77 69 64 67 65 74 73 20 | 70 72 6f 76 69 64 65 64 |widgets |provided|
|000007b0| 20 62 79 20 4d 6f 74 69 | 66 2e 20 53 70 65 63 69 | by Moti|f. Speci|
|000007c0| 66 69 63 61 6c 6c 79 2c | 20 65 61 63 68 20 4d 6f |fically,| each Mo|
|000007d0| 74 69 66 20 77 69 64 67 | 65 74 20 63 6c 61 73 73 |tif widg|et class|
|000007e0| 20 69 73 0d 0a 72 65 70 | 72 65 73 65 6e 74 65 64 | is..rep|resented|
|000007f0| 20 62 79 20 6f 6e 65 20 | 6f 72 20 6d 6f 72 65 20 | by one |or more |
|00000800| 6f 62 6a 65 63 74 20 63 | 6c 61 73 73 65 73 20 69 |object c|lasses i|
|00000810| 6e 20 57 49 4e 54 45 52 | 50 2e 20 20 49 6e 20 6f |n WINTER|P. In o|
|00000820| 72 64 65 72 20 74 6f 20 | 62 65 73 74 0d 0a 75 6e |rder to |best..un|
|00000830| 64 65 72 73 74 61 6e 64 | 20 74 68 65 20 63 61 70 |derstand| the cap|
|00000840| 61 62 69 6c 69 74 69 65 | 73 20 6f 66 20 57 49 4e |abilitie|s of WIN|
|00000850| 54 45 52 50 27 73 20 4d | 6f 74 69 66 20 69 6e 74 |TERP's M|otif int|
|00000860| 65 72 66 61 63 65 2c 20 | 61 20 62 72 69 65 66 20 |erface, |a brief |
|00000870| 72 65 76 69 65 77 20 6f | 66 0d 0a 74 68 65 20 58 |review o|f..the X|
|00000880| 4c 49 53 50 20 6f 62 6a | 65 63 74 20 73 79 73 74 |LISP obj|ect syst|
|00000890| 65 6d 20 69 73 20 69 6e | 20 6f 72 64 65 72 2e 20 |em is in| order. |
|000008a0| 59 6f 75 20 6d 61 79 20 | 61 6c 73 6f 20 77 61 6e |You may |also wan|
|000008b0| 74 20 74 6f 20 63 6f 6e | 73 75 6c 74 20 74 68 65 |t to con|sult the|
|000008c0| 20 58 4c 49 53 50 0d 0a | 64 6f 63 75 6d 65 6e 74 | XLISP..|document|
|000008d0| 61 74 69 6f 6e 20 2e 2f | 77 69 6e 74 65 72 70 2f |ation ./|winterp/|
|000008e0| 64 6f 63 2f 78 4c 69 73 | 70 2e 64 6f 63 20 66 6f |doc/xLis|p.doc fo|
|000008f0| 72 20 61 20 6d 6f 72 65 | 20 70 72 65 63 69 73 65 |r a more| precise|
|00000900| 20 64 65 66 69 6e 69 74 | 69 6f 6e 20 6f 66 20 74 | definit|ion of t|
|00000910| 68 65 0d 0a 6f 62 6a 65 | 63 74 20 73 79 73 74 65 |he..obje|ct syste|
|00000920| 6d 2e 0d 0a 0d 0a 58 4c | 49 53 50 20 43 6c 61 73 |m.....XL|ISP Clas|
|00000930| 73 65 73 20 64 65 73 63 | 72 69 62 65 20 74 68 65 |ses desc|ribe the|
|00000940| 20 74 79 70 65 20 6f 66 | 20 61 20 70 61 72 74 69 | type of| a parti|
|00000950| 63 75 6c 61 72 20 6f 62 | 6a 65 63 74 20 62 79 20 |cular ob|ject by |
|00000960| 64 65 63 6c 61 72 69 6e | 67 20 61 20 73 65 74 0d |declarin|g a set.|
|00000970| 0a 6f 66 20 76 61 72 69 | 61 62 6c 65 73 20 68 65 |.of vari|ables he|
|00000980| 6c 64 20 69 6e 20 65 61 | 63 68 20 6f 62 6a 65 63 |ld in ea|ch objec|
|00000990| 74 2e 20 54 68 65 73 65 | 20 22 69 6e 73 74 61 6e |t. These| "instan|
|000009a0| 63 65 20 76 61 72 69 61 | 62 6c 65 73 22 20 6d 61 |ce varia|bles" ma|
|000009b0| 79 20 6f 6e 6c 79 20 62 | 65 0d 0a 61 63 63 65 73 |y only b|e..acces|
|000009c0| 73 65 64 20 62 79 20 22 | 6d 65 74 68 6f 64 73 22 |sed by "|methods"|
|000009d0| 20 74 68 61 74 20 72 65 | 73 70 6f 6e 64 20 74 6f | that re|spond to|
|000009e0| 20 22 6d 65 73 73 61 67 | 65 73 22 20 73 65 6e 74 | "messag|es" sent|
|000009f0| 20 74 6f 20 74 68 65 20 | 6f 62 6a 65 63 74 2e 0d | to the |object..|
|00000a00| 0a 4d 65 74 68 6f 64 73 | 20 61 72 65 20 64 65 66 |.Methods| are def|
|00000a10| 69 6e 65 64 20 66 6f 72 | 20 70 61 72 74 69 63 75 |ined for| particu|
|00000a20| 6c 61 72 20 63 6c 61 73 | 73 65 73 2c 20 61 6e 64 |lar clas|ses, and|
|00000a30| 20 66 75 6e 63 74 69 6f | 6e 61 6c 69 74 79 20 6f | functio|nality o|
|00000a40| 66 20 6f 74 68 65 72 0d | 0a 63 6c 61 73 73 65 73 |f other.|.classes|
|00000a50| 20 6d 61 79 20 62 65 20 | 69 6e 63 6f 72 70 6f 72 | may be |incorpor|
|00000a60| 61 74 65 64 20 69 6e 74 | 6f 20 6e 65 77 20 63 6c |ated int|o new cl|
|00000a70| 61 73 73 65 73 20 76 69 | 61 20 22 69 6e 68 65 72 |asses vi|a "inher|
|00000a80| 69 74 61 6e 63 65 22 2e | 20 46 72 6f 6d 0d 0a 58 |itance".| From..X|
|00000a90| 4c 49 53 50 2c 20 4d 6f | 74 69 66 20 77 69 64 67 |LISP, Mo|tif widg|
|00000aa0| 65 74 20 63 6c 61 73 73 | 65 73 20 6c 6f 6f 6b 20 |et class|es look |
|00000ab0| 6a 75 73 74 20 6c 69 6b | 65 20 6e 6f 72 6d 61 6c |just lik|e normal|
|00000ac0| 20 58 4c 49 53 50 20 6f | 62 6a 65 63 74 73 20 2d | XLISP o|bjects -|
|00000ad0| 2d 20 74 68 61 74 0d 0a | 6d 65 61 6e 73 20 74 68 |- that..|means th|
|00000ae0| 61 74 20 79 6f 75 20 63 | 61 6e 20 65 61 73 69 6c |at you c|an easil|
|00000af0| 79 20 65 78 74 65 6e 64 | 20 74 68 65 20 66 75 6e |y extend| the fun|
|00000b00| 63 74 69 6f 6e 61 6c 69 | 74 79 20 6f 66 20 4d 6f |ctionali|ty of Mo|
|00000b10| 74 69 66 20 77 69 64 67 | 65 74 73 20 62 79 0d 0a |tif widg|ets by..|
|00000b20| 61 64 64 69 6e 67 20 79 | 6f 75 72 20 6f 77 6e 20 |adding y|our own |
|00000b30| 6d 65 74 68 6f 64 73 20 | 74 6f 20 61 20 70 61 72 |methods |to a par|
|00000b40| 74 69 63 75 6c 61 72 20 | 77 69 64 67 65 74 20 63 |ticular |widget c|
|00000b50| 6c 61 73 73 2e 20 59 6f | 75 20 6d 61 79 20 61 6c |lass. Yo|u may al|
|00000b60| 73 6f 20 75 73 65 0d 0a | 69 6e 68 65 72 69 74 61 |so use..|inherita|
|00000b70| 6e 63 65 20 74 6f 20 61 | 74 74 61 63 68 20 79 6f |nce to a|ttach yo|
|00000b80| 75 72 20 6f 77 6e 20 64 | 61 74 61 20 73 74 72 75 |ur own d|ata stru|
|00000b90| 63 74 75 72 65 73 20 74 | 6f 20 77 69 64 67 65 74 |ctures t|o widget|
|00000ba0| 73 2e 20 54 68 65 20 72 | 65 73 75 6c 74 20 69 73 |s. The r|esult is|
|00000bb0| 0d 0a 74 68 61 74 20 57 | 49 4e 54 45 52 50 20 70 |..that W|INTERP p|
|00000bc0| 72 6f 76 69 64 65 73 20 | 61 20 76 65 72 79 20 63 |rovides |a very c|
|00000bd0| 6c 65 61 6e 20 77 61 79 | 20 74 6f 20 69 6e 74 65 |lean way| to inte|
|00000be0| 72 61 63 74 69 76 65 6c | 79 20 72 61 70 69 64 2d |ractivel|y rapid-|
|00000bf0| 70 72 6f 74 6f 74 79 70 | 65 20 61 6e 0d 0a 61 70 |prototyp|e an..ap|
|00000c00| 70 6c 69 63 61 74 69 6f | 6e 2c 20 77 68 69 6c 65 |plicatio|n, while|
|00000c10| 20 61 6c 73 6f 20 70 72 | 6f 76 69 64 69 6e 67 20 | also pr|oviding |
|00000c20| 6d 65 63 68 61 6e 69 73 | 6d 73 20 66 6f 72 20 63 |mechanis|ms for c|
|00000c30| 6f 64 65 20 73 74 72 75 | 63 74 75 72 69 6e 67 20 |ode stru|cturing |
|00000c40| 61 6e 64 20 72 65 75 73 | 65 2e 0d 0a 54 68 65 20 |and reus|e...The |
|00000c50| 6c 61 74 74 65 72 20 69 | 73 20 6e 65 63 65 73 73 |latter i|s necess|
|00000c60| 61 72 79 20 69 6e 20 65 | 76 6f 6c 76 69 6e 67 20 |ary in e|volving |
|00000c70| 66 72 6f 6d 20 70 72 6f | 74 6f 74 79 70 65 20 74 |from pro|totype t|
|00000c80| 6f 20 61 20 73 74 72 75 | 63 74 75 72 65 64 2c 0d |o a stru|ctured,.|
|00000c90| 0a 6d 61 69 6e 74 61 69 | 6e 61 62 6c 65 2c 20 61 |.maintai|nable, a|
|00000ca0| 6e 64 20 63 75 73 74 6f | 6d 69 7a 61 62 6c 65 20 |nd custo|mizable |
|00000cb0| 64 65 6c 69 76 65 72 61 | 62 6c 65 2e 0d 0a 0d 0a |delivera|ble.....|
|00000cc0| 0d 0a 2a 2a 20 43 72 65 | 61 74 69 6e 67 20 6e 65 |..** Cre|ating ne|
|00000cd0| 77 20 6f 62 6a 65 63 74 | 73 2e 0d 0a 0d 0a 43 72 |w object|s.....Cr|
|00000ce0| 65 61 74 65 20 61 20 6e | 65 77 20 69 6e 73 74 61 |eate a n|ew insta|
|00000cf0| 6e 63 65 20 6f 66 20 61 | 20 63 6c 61 73 73 20 62 |nce of a| class b|
|00000d00| 79 20 73 65 6e 64 69 6e | 67 20 74 68 65 20 6d 65 |y sendin|g the me|
|00000d10| 73 73 61 67 65 20 3a 4e | 45 57 20 74 6f 0d 0a 3c |ssage :N|EW to..<|
|00000d20| 61 5f 63 6c 61 73 73 5f | 69 6e 73 74 61 6e 63 65 |a_class_|instance|
|00000d30| 3e 3a 0d 0a 0d 0a 09 28 | 53 45 4e 44 20 3c 61 5f |>:.....(|SEND <a_|
|00000d40| 63 6c 61 73 73 5f 69 6e | 73 74 61 6e 63 65 3e 20 |class_in|stance> |
|00000d50| 3a 4e 45 57 20 3c 70 61 | 72 61 6d 65 74 65 72 73 |:NEW <pa|rameters|
|00000d60| 3e 29 0d 0a 0d 0a 3c 61 | 5f 63 6c 61 73 73 5f 69 |>)....<a|_class_i|
|00000d70| 6e 73 74 61 6e 63 65 3e | 20 69 73 20 69 6e 20 66 |nstance>| is in f|
|00000d80| 61 63 74 20 61 6e 20 69 | 6e 73 74 61 6e 63 65 20 |act an i|nstance |
|00000d90| 6f 66 20 63 6c 61 73 73 | 20 43 4c 41 53 53 2e 20 |of class| CLASS. |
|00000da0| 43 6c 61 73 73 20 43 4c | 41 53 53 20 61 6c 6c 6f |Class CL|ASS allo|
|00000db0| 77 73 0d 0a 79 6f 75 20 | 74 6f 20 64 65 66 69 6e |ws..you |to defin|
|00000dc0| 65 20 6e 65 77 20 63 6c | 61 73 73 20 69 6e 73 74 |e new cl|ass inst|
|00000dd0| 61 6e 63 65 73 20 62 79 | 20 73 70 65 63 69 66 79 |ances by| specify|
|00000de0| 69 6e 67 20 74 68 65 20 | 69 6e 73 74 61 6e 63 65 |ing the |instance|
|00000df0| 20 76 61 72 69 61 62 6c | 65 73 20 61 6e 64 0d 0a | variabl|es and..|
|00000e00| 70 61 72 65 6e 74 20 63 | 6c 61 73 73 20 6f 66 20 |parent c|lass of |
|00000e10| 61 20 70 61 72 74 69 63 | 75 6c 61 72 20 63 6c 61 |a partic|ular cla|
|00000e20| 73 73 2e 0d 0a 0d 0a 0d | 0a 2a 2a 20 44 65 63 6c |ss......|.** Decl|
|00000e30| 61 72 69 6e 67 20 61 20 | 63 6c 61 73 73 2e 0d 0a |aring a |class...|
|00000e40| 0d 0a 54 6f 20 64 65 63 | 6c 61 72 65 20 61 20 22 |..To dec|lare a "|
|00000e50| 62 61 73 65 20 63 6c 61 | 73 73 22 20 6f 62 6a 65 |base cla|ss" obje|
|00000e60| 63 74 2c 20 74 68 61 74 | 20 69 73 2c 20 61 6e 20 |ct, that| is, an |
|00000e70| 6f 62 6a 65 63 74 20 77 | 69 74 68 20 6e 6f 20 70 |object w|ith no p|
|00000e80| 61 72 65 6e 74 20 6f 62 | 6a 65 63 74 2c 0d 0a 6a |arent ob|ject,..j|
|00000e90| 75 73 74 20 73 65 6e 64 | 20 6d 65 73 73 61 67 65 |ust send| message|
|00000ea0| 20 3a 4e 45 57 20 74 6f | 20 74 68 65 20 6f 62 6a | :NEW to| the obj|
|00000eb0| 65 63 74 20 3c 43 4c 41 | 53 53 3e 0d 0a 0d 0a 09 |ect <CLA|SS>.....|
|00000ec0| 28 53 45 4e 44 20 43 4c | 41 53 53 20 3a 4e 45 57 |(SEND CL|ASS :NEW|
|00000ed0| 20 27 28 3c 69 76 61 72 | 30 3e 20 2e 2e 2e 20 3c | '(<ivar|0> ... <|
|00000ee0| 69 76 61 72 4e 3e 29 0d | 0a 09 09 09 20 5b 27 28 |ivarN>).|.... ['(|
|00000ef0| 3c 63 76 61 72 30 3e 20 | 2e 2e 2e 20 3c 63 76 61 |<cvar0> |... <cva|
|00000f00| 72 4d 3e 29 5d 29 0d 0a | 0d 0a 27 28 3c 69 76 61 |rM>)])..|..'(<iva|
|00000f10| 72 30 3e 20 2e 2e 2e 20 | 28 69 76 61 72 4e 3e 29 |r0> ... |(ivarN>)|
|00000f20| 20 61 72 65 20 61 20 6c | 69 73 74 20 6f 66 20 73 | are a l|ist of s|
|00000f30| 79 6d 62 6f 6c 73 2e 20 | 45 61 63 68 20 3c 69 76 |ymbols. |Each <iv|
|00000f40| 61 72 2d 69 3e 20 6e 61 | 6d 65 73 20 61 6e 0d 0a |ar-i> na|mes an..|
|00000f50| 69 6e 73 74 61 6e 63 65 | 20 76 61 72 69 61 62 6c |instance| variabl|
|00000f60| 65 20 6f 66 20 74 68 65 | 20 63 6c 61 73 73 2e 20 |e of the| class. |
|00000f70| 27 28 3c 63 76 61 72 30 | 3e 20 2e 2e 2e 20 3c 63 |'(<cvar0|> ... <c|
|00000f80| 76 61 72 4d 3e 29 5d 29 | 20 61 72 65 20 61 6e 20 |varM>)])| are an |
|00000f90| 6f 70 74 69 6f 6e 61 6c | 0d 0a 6c 69 73 74 20 6f |optional|..list o|
|00000fa0| 66 20 76 61 72 69 61 62 | 6c 65 73 20 74 68 61 74 |f variab|les that|
|00000fb0| 20 61 72 65 20 73 68 61 | 72 65 64 20 61 6d 6f 6e | are sha|red amon|
|00000fc0| 67 20 61 6c 6c 20 69 6e | 73 74 61 6e 63 65 73 20 |g all in|stances |
|00000fd0| 6f 66 20 74 68 61 74 20 | 70 61 72 74 69 63 75 6c |of that |particul|
|00000fe0| 61 72 0d 0a 63 6c 61 73 | 73 2e 0d 0a 0d 0a 0d 0a |ar..clas|s.......|
|00000ff0| 2a 2a 20 44 65 66 69 6e | 69 6e 67 20 6d 65 74 68 |** Defin|ing meth|
|00001000| 6f 64 73 2e 0d 0a 0d 0a | 57 68 65 6e 20 61 20 22 |ods.....|When a "|
|00001010| 6d 65 73 73 61 67 65 22 | 20 69 73 20 73 65 6e 74 |message"| is sent|
|00001020| 20 74 6f 20 61 6e 20 6f | 62 6a 65 63 74 2c 20 58 | to an o|bject, X|
|00001030| 4c 49 53 50 20 73 65 61 | 72 63 68 65 73 20 66 6f |LISP sea|rches fo|
|00001040| 72 20 61 20 22 6d 65 74 | 68 6f 64 22 20 74 6f 0d |r a "met|hod" to.|
|00001050| 0a 61 6e 73 77 65 72 20 | 74 68 65 20 6d 65 73 73 |.answer |the mess|
|00001060| 61 67 65 2e 20 41 20 6d | 65 74 68 6f 64 20 69 73 |age. A m|ethod is|
|00001070| 20 61 20 70 69 65 63 65 | 20 6f 66 20 4c 69 73 70 | a piece| of Lisp|
|00001080| 20 63 6f 64 65 20 74 68 | 61 74 20 69 73 20 65 78 | code th|at is ex|
|00001090| 65 63 75 74 65 64 20 77 | 68 65 6e 0d 0a 61 20 70 |ecuted w|hen..a p|
|000010a0| 61 72 74 69 63 75 6c 61 | 72 20 6d 65 73 73 61 67 |articula|r messag|
|000010b0| 65 20 69 73 20 73 65 6e | 74 20 74 6f 20 61 6e 20 |e is sen|t to an |
|000010c0| 6f 62 6a 65 63 74 2e 20 | 57 69 74 68 69 6e 20 74 |object. |Within t|
|000010d0| 68 65 20 63 6f 64 65 20 | 6f 66 20 61 20 6d 65 74 |he code |of a met|
|000010e0| 68 6f 64 2c 20 61 6c 6c | 0d 0a 6f 62 6a 65 63 74 |hod, all|..object|
|000010f0| 20 69 6e 73 74 61 6e 63 | 65 20 61 6e 64 20 63 6c | instanc|e and cl|
|00001100| 61 73 73 20 76 61 72 69 | 61 62 6c 65 73 20 61 72 |ass vari|ables ar|
|00001110| 65 20 61 63 63 65 73 73 | 69 62 6c 65 2e 20 46 75 |e access|ible. Fu|
|00001120| 72 74 68 65 72 6d 6f 72 | 65 2c 20 74 68 65 20 73 |rthermor|e, the s|
|00001130| 79 6d 62 6f 6c 0d 0a 27 | 73 65 6c 66 27 20 69 73 |ymbol..'|self' is|
|00001140| 20 62 6f 75 6e 64 20 74 | 6f 20 74 68 65 20 6f 62 | bound t|o the ob|
|00001150| 6a 65 63 74 20 74 68 65 | 20 6d 65 73 73 61 67 65 |ject the| message|
|00001160| 20 77 61 73 20 73 65 6e | 74 20 74 6f 2e 0d 0a 0d | was sen|t to....|
|00001170| 0a 4d 65 74 68 6f 64 73 | 20 61 72 65 20 64 65 66 |.Methods| are def|
|00001180| 69 6e 65 64 20 62 79 20 | 73 65 6e 64 69 6e 67 20 |ined by |sending |
|00001190| 74 68 65 20 6d 65 73 73 | 61 67 65 20 3a 41 4e 53 |the mess|age :ANS|
|000011a0| 57 45 52 20 74 6f 20 3c | 61 5f 63 6c 61 73 73 5f |WER to <|a_class_|
|000011b0| 69 6e 73 74 61 6e 63 65 | 3e 3a 0d 0a 0d 0a 09 28 |instance|>:.....(|
|000011c0| 53 45 4e 44 20 61 5f 63 | 6c 61 73 73 5f 69 6e 73 |SEND a_c|lass_ins|
|000011d0| 74 61 6e 63 65 20 3a 41 | 4e 53 57 45 52 20 3c 3a |tance :A|NSWER <:|
|000011e0| 6d 73 67 3e 20 3c 70 61 | 72 61 6d 65 74 65 72 73 |msg> <pa|rameters|
|000011f0| 3e 20 3c 63 6f 64 65 3e | 29 0d 0a 0d 0a 77 68 65 |> <code>|)....whe|
|00001200| 72 65 20 3c 3a 6d 73 67 | 3e 20 69 73 20 61 20 6b |re <:msg|> is a k|
|00001210| 65 79 77 6f 72 64 20 73 | 79 6d 62 6f 6c 20 28 61 |eyword s|ymbol (a|
|00001220| 20 73 79 6d 62 6f 6c 20 | 77 69 74 68 20 61 20 27 | symbol |with a '|
|00001230| 3a 27 20 70 72 65 66 69 | 78 29 20 72 65 70 72 65 |:' prefi|x) repre|
|00001240| 73 65 6e 74 69 6e 67 0d | 0a 74 68 65 20 6d 65 73 |senting.|.the mes|
|00001250| 73 61 67 65 3b 20 3c 70 | 61 72 61 6d 65 74 65 72 |sage; <p|arameter|
|00001260| 73 3e 20 61 72 65 20 74 | 68 65 20 61 72 67 75 6d |s> are t|he argum|
|00001270| 65 6e 74 73 20 67 69 76 | 65 6e 20 61 6c 6f 6e 67 |ents giv|en along|
|00001280| 20 77 69 74 68 20 74 68 | 65 20 6d 65 73 73 61 67 | with th|e messag|
|00001290| 65 2e 0d 0a 53 65 65 20 | 74 68 65 20 64 6f 63 75 |e...See |the docu|
|000012a0| 6d 65 6e 74 61 74 69 6f | 6e 20 6f 6e 20 22 6c 61 |mentatio|n on "la|
|000012b0| 6d 62 64 61 20 6c 69 73 | 74 73 22 20 69 6e 20 2f |mbda lis|ts" in /|
|000012c0| 77 69 6e 74 65 72 70 2f | 64 6f 63 2f 78 4c 69 73 |winterp/|doc/xLis|
|000012d0| 70 2e 64 6f 63 20 70 2e | 31 32 20 66 6f 72 0d 0a |p.doc p.|12 for..|
|000012e0| 64 65 74 61 69 6c 73 2e | 20 20 3c 63 6f 64 65 3e |details.| <code>|
|000012f0| 20 69 73 20 61 20 6c 69 | 73 74 20 6f 66 20 73 2d | is a li|st of s-|
|00001300| 65 78 70 72 65 73 73 69 | 6f 6e 73 20 77 68 69 63 |expressi|ons whic|
|00001310| 68 20 67 65 74 20 65 76 | 61 6c 75 61 74 65 64 20 |h get ev|aluated |
|00001320| 69 6e 20 72 65 73 70 6f | 6e 73 65 0d 0a 74 6f 20 |in respo|nse..to |
|00001330| 61 20 6d 65 73 73 61 67 | 65 2e 20 54 68 65 20 6c |a messag|e. The l|
|00001340| 65 78 69 63 61 6c 20 65 | 6e 76 69 72 6f 6e 6d 65 |exical e|nvironme|
|00001350| 6e 74 20 74 68 61 74 20 | 65 78 69 73 74 65 64 20 |nt that |existed |
|00001360| 66 6f 72 20 74 68 65 20 | 63 61 6c 6c 20 74 6f 20 |for the |call to |
|00001370| 3a 41 4e 53 57 45 52 0d | 0a 77 69 6c 6c 20 62 65 |:ANSWER.|.will be|
|00001380| 20 75 73 65 64 20 66 6f | 72 20 76 61 6c 75 65 20 | used fo|r value |
|00001390| 61 6e 64 20 66 75 6e 63 | 74 69 6f 6e 61 6c 20 62 |and func|tional b|
|000013a0| 69 6e 64 69 6e 67 73 20 | 64 75 72 69 6e 67 20 6d |indings |during m|
|000013b0| 65 74 68 6f 64 20 65 76 | 61 6c 75 61 74 69 6f 6e |ethod ev|aluation|
|000013c0| 2e 0d 0a 0d 0a 49 66 20 | 79 6f 75 20 6e 65 65 64 |.....If |you need|
|000013d0| 20 74 6f 20 72 65 6d 65 | 6d 62 65 72 20 77 68 61 | to reme|mber wha|
|000013e0| 74 20 74 68 65 20 73 79 | 6e 74 61 78 20 69 73 2c |t the sy|ntax is,|
|000013f0| 20 63 6f 6e 73 69 64 65 | 72 20 74 68 65 20 6d 65 | conside|r the me|
|00001400| 6d 6f 72 79 2d 68 65 6c | 70 65 72 0d 0a 20 20 20 |mory-hel|per.. |
|00001410| 20 22 74 68 69 73 20 63 | 6c 61 73 73 20 3a 41 4e | "this c|lass :AN|
|00001420| 53 57 45 52 73 20 74 6f | 20 3a 4d 45 53 53 41 47 |SWERs to| :MESSAG|
|00001430| 45 2e 2e 2e 22 20 3d 3d | 20 28 73 65 6e 64 20 3c |E..." ==| (send <|
|00001440| 63 6c 73 3e 20 3a 41 4e | 53 57 45 52 20 3a 4d 45 |cls> :AN|SWER :ME|
|00001450| 53 53 41 47 45 20 2e 2e | 2e 29 0d 0a 0d 0a 0d 0a |SSAGE ..|.)......|
|00001460| 2a 2a 20 49 6e 68 65 72 | 69 74 61 6e 63 65 0d 0a |** Inher|itance..|
|00001470| 0d 0a 53 6f 20 66 61 72 | 2c 20 74 68 65 20 6f 62 |..So far|, the ob|
|00001480| 6a 65 63 74 20 73 79 73 | 74 65 6d 20 77 65 20 6a |ject sys|tem we j|
|00001490| 75 73 74 20 64 65 73 63 | 72 69 62 65 64 20 73 75 |ust desc|ribed su|
|000014a0| 70 70 6f 72 74 73 20 2a | 65 6e 63 61 70 73 75 6c |pports *|encapsul|
|000014b0| 61 74 69 6f 6e 2a 2e 0d | 0a 45 6e 63 61 70 73 75 |ation*..|.Encapsu|
|000014c0| 6c 61 74 69 6f 6e 20 69 | 73 20 67 6f 6f 64 20 70 |lation i|s good p|
|000014d0| 72 6f 67 72 61 6d 6d 69 | 6e 67 20 70 72 61 63 74 |rogrammi|ng pract|
|000014e0| 69 63 65 20 62 65 63 61 | 75 73 65 20 69 74 20 68 |ice beca|use it h|
|000014f0| 65 6c 70 73 20 6c 6f 63 | 61 6c 69 7a 65 20 61 6e |elps loc|alize an|
|00001500| 64 0d 0a 64 65 74 61 6e | 67 6c 65 20 63 6f 6d 70 |d..detan|gle comp|
|00001510| 6c 65 78 69 74 79 2e 20 | 55 6e 66 6f 72 74 75 6e |lexity. |Unfortun|
|00001520| 61 74 65 6c 79 2c 20 65 | 6e 63 61 70 73 75 6c 61 |ately, e|ncapsula|
|00001530| 74 69 6f 6e 20 72 75 6e | 73 20 63 6f 75 6e 74 65 |tion run|s counte|
|00001540| 72 20 74 6f 0d 0a 66 6c | 65 78 69 62 69 6c 69 74 |r to..fl|exibilit|
|00001550| 79 20 62 65 63 61 75 73 | 65 20 6d 61 6b 69 6e 67 |y becaus|e making|
|00001560| 20 66 6c 65 78 69 62 6c | 65 20 75 73 65 20 6f 66 | flexibl|e use of|
|00001570| 20 61 6e 20 6f 62 6a 65 | 63 74 20 6d 61 79 20 72 | an obje|ct may r|
|00001580| 65 71 75 69 72 65 20 74 | 68 61 74 0d 0a 63 65 72 |equire t|hat..cer|
|00001590| 74 61 69 6e 20 67 72 6f | 75 70 73 20 6f 66 20 69 |tain gro|ups of i|
|000015a0| 6e 73 74 61 6e 63 65 20 | 76 61 72 69 61 62 6c 65 |nstance |variable|
|000015b0| 73 20 62 65 20 61 63 63 | 65 73 73 65 64 20 62 79 |s be acc|essed by|
|000015c0| 20 64 69 66 66 65 72 65 | 6e 74 20 6c 61 79 65 72 | differe|nt layer|
|000015d0| 73 20 6f 66 20 6e 65 77 | 0d 0a 66 75 6e 63 74 69 |s of new|..functi|
|000015e0| 6f 6e 61 6c 69 74 79 2e | 20 4d 6f 73 74 20 6f 66 |onality.| Most of|
|000015f0| 74 65 6e 2c 20 6f 6e 65 | 20 77 61 6e 74 73 20 74 |ten, one| wants t|
|00001600| 6f 20 2a 72 65 75 73 65 | 2a 20 61 73 70 65 63 74 |o *reuse|* aspect|
|00001610| 73 20 6f 66 20 61 20 70 | 61 72 74 69 63 75 6c 61 |s of a p|articula|
|00001620| 72 0d 0a 63 6c 61 73 73 | 20 69 6e 20 63 72 65 61 |r..class| in crea|
|00001630| 74 69 6e 67 20 63 6f 64 | 65 20 74 68 61 74 20 73 |ting cod|e that s|
|00001640| 70 65 63 69 61 6c 69 7a | 65 73 20 61 6e 64 20 61 |pecializ|es and a|
|00001650| 6c 74 65 72 73 20 74 68 | 65 20 66 75 6e 63 74 69 |lters th|e functi|
|00001660| 6f 6e 61 6c 69 74 79 20 | 6f 66 0d 0a 74 68 61 74 |onality |of..that|
|00001670| 20 63 6c 61 73 73 2e 20 | 41 20 63 6f 6d 70 72 6f | class. |A compro|
|00001680| 6d 69 73 65 20 62 65 74 | 77 65 65 6e 20 65 6e 63 |mise bet|ween enc|
|00001690| 61 70 73 75 6c 61 74 69 | 6f 6e 20 61 6e 64 20 66 |apsulati|on and f|
|000016a0| 6c 65 78 69 62 69 6c 69 | 74 79 20 69 73 20 66 6f |lexibili|ty is fo|
|000016b0| 75 6e 64 20 62 79 0d 0a | 75 73 69 6e 67 20 2a 69 |und by..|using *i|
|000016c0| 6e 68 65 72 69 74 61 6e | 63 65 2a 20 69 6e 20 61 |nheritan|ce* in a|
|000016d0| 6e 20 6f 62 6a 65 63 74 | 20 73 79 73 74 65 6d 2e |n object| system.|
|000016e0| 20 49 6e 68 65 72 69 74 | 61 6e 63 65 20 69 73 20 | Inherit|ance is |
|000016f0| 75 73 65 64 20 74 6f 20 | 61 6c 6c 6f 77 20 61 0d |used to |allow a.|
|00001700| 0a 20 2a 73 75 62 63 6c | 61 73 73 2a 20 74 6f 20 |. *subcl|ass* to |
|00001710| 73 70 65 63 69 61 6c 69 | 7a 65 20 74 68 65 20 66 |speciali|ze the f|
|00001720| 75 6e 63 74 69 6f 6e 61 | 6c 69 74 79 20 6f 66 20 |unctiona|lity of |
|00001730| 69 74 27 73 20 2a 70 61 | 72 65 6e 74 20 63 6c 61 |it's *pa|rent cla|
|00001740| 73 73 2a 20 28 61 6b 61 | 2c 0d 0a 74 68 65 20 2a |ss* (aka|,..the *|
|00001750| 73 75 70 65 72 63 6c 61 | 73 73 2a 29 3a 0d 0a 0d |supercla|ss*):...|
|00001760| 0a 09 28 73 65 6e 64 20 | 43 6c 61 73 73 20 3a 4e |..(send |Class :N|
|00001770| 45 57 20 27 28 3c 69 76 | 61 72 30 3e 20 2e 2e 2e |EW '(<iv|ar0> ...|
|00001780| 20 3c 69 76 61 72 4e 3e | 29 0d 0a 20 20 20 20 20 | <ivarN>|).. |
|00001790| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000017a0| 20 20 20 20 27 28 3c 63 | 76 61 72 30 3e 20 2e 2e | '(<c|var0> ..|
|000017b0| 2e 20 3c 63 76 61 72 4d | 3e 29 0d 0a 09 09 09 20 |. <cvarM|>)..... |
|000017c0| 3c 73 75 70 65 72 63 6c | 61 73 73 3e 29 0d 0a 0d |<supercl|ass>)...|
|000017d0| 0a 28 3c 69 76 61 72 30 | 3e 20 2e 2e 2e 20 3c 69 |.(<ivar0|> ... <i|
|000017e0| 76 61 72 4e 3e 29 20 69 | 73 20 61 20 6c 69 73 74 |varN>) i|s a list|
|000017f0| 20 6f 66 20 6e 65 77 20 | 69 6e 73 74 61 6e 63 65 | of new |instance|
|00001800| 20 76 61 72 69 61 62 6c | 65 73 20 69 6e 20 74 68 | variabl|es in th|
|00001810| 65 20 73 75 62 63 6c 61 | 73 73 3b 0d 0a 28 3c 63 |e subcla|ss;..(<c|
|00001820| 76 61 72 30 3e 20 2e 2e | 2e 20 3c 63 76 61 72 4e |var0> ..|. <cvarN|
|00001830| 3e 29 20 69 73 20 61 20 | 6c 69 73 74 20 6f 66 20 |>) is a |list of |
|00001840| 6e 65 77 20 63 6c 61 73 | 73 20 76 61 72 69 61 62 |new clas|s variab|
|00001850| 6c 65 73 20 69 6e 20 74 | 68 65 20 73 75 62 63 6c |les in t|he subcl|
|00001860| 61 73 73 3b 0d 0a 3c 73 | 75 70 65 72 63 6c 61 73 |ass;..<s|uperclas|
|00001870| 73 3e 20 69 73 20 61 20 | 63 6c 61 73 73 20 69 6e |s> is a |class in|
|00001880| 73 74 61 6e 63 65 20 72 | 65 70 72 65 73 65 6e 74 |stance r|epresent|
|00001890| 69 6e 67 20 74 68 65 20 | 70 61 72 65 6e 74 20 66 |ing the |parent f|
|000018a0| 72 6f 6d 20 77 68 69 63 | 68 0d 0a 74 68 65 20 6e |rom whic|h..the n|
|000018b0| 65 77 20 73 75 62 63 6c | 61 73 73 20 69 6e 68 65 |ew subcl|ass inhe|
|000018c0| 72 69 74 73 20 76 61 72 | 69 61 62 6c 65 73 20 61 |rits var|iables a|
|000018d0| 6e 64 20 6d 65 74 68 6f | 64 73 2e 0d 0a 0d 0a 22 |nd metho|ds....."|
|000018e0| 49 6e 68 65 72 69 74 61 | 6e 63 65 22 20 69 73 20 |Inherita|nce" is |
|000018f0| 6f 63 63 75 72 72 69 6e | 67 20 62 65 63 61 75 73 |occurrin|g becaus|
|00001900| 65 20 61 6c 6c 20 74 68 | 65 20 69 6e 73 74 61 6e |e all th|e instan|
|00001910| 63 65 20 76 61 72 69 61 | 62 6c 65 73 20 6f 66 20 |ce varia|bles of |
|00001920| 61 6c 6c 20 74 68 65 0d | 0a 70 61 72 65 6e 74 20 |all the.|.parent |
|00001930| 63 6c 61 73 73 65 73 20 | 6f 66 20 74 68 65 20 6e |classes |of the n|
|00001940| 65 77 20 73 75 62 63 6c | 61 73 73 20 62 65 63 6f |ew subcl|ass beco|
|00001950| 6d 65 20 74 68 65 20 76 | 61 72 69 61 62 6c 65 73 |me the v|ariables|
|00001960| 20 6f 66 20 65 61 63 68 | 20 73 75 62 63 6c 61 73 | of each| subclas|
|00001970| 73 0d 0a 69 6e 73 74 61 | 6e 63 65 2e 20 46 75 72 |s..insta|nce. Fur|
|00001980| 74 68 65 72 6d 6f 72 65 | 2c 20 61 6c 6c 20 6d 65 |thermore|, all me|
|00001990| 74 68 6f 64 73 20 64 65 | 66 69 6e 65 64 20 6f 6e |thods de|fined on|
|000019a0| 20 61 20 70 61 72 65 6e | 74 20 63 6c 61 73 73 20 | a paren|t class |
|000019b0| 6d 61 79 20 61 6c 73 6f | 20 62 65 0d 0a 75 73 65 |may also| be..use|
|000019c0| 64 20 6f 6e 20 61 20 73 | 75 62 63 6c 61 73 73 20 |d on a s|ubclass |
|000019d0| 69 6e 73 74 61 6e 63 65 | 2e 20 4e 6f 74 65 20 74 |instance|. Note t|
|000019e0| 68 61 74 20 77 68 69 6c | 65 20 61 20 73 75 62 63 |hat whil|e a subc|
|000019f0| 6c 61 73 73 27 20 6d 65 | 74 68 6f 64 73 20 63 61 |lass' me|thods ca|
|00001a00| 6e 20 61 63 63 65 73 73 | 0d 0a 74 68 65 20 76 61 |n access|..the va|
|00001a10| 72 69 61 62 6c 65 73 20 | 64 65 66 69 6e 65 64 20 |riables |defined |
|00001a20| 6f 6e 20 74 68 65 20 70 | 61 72 65 6e 74 20 63 6c |on the p|arent cl|
|00001a30| 61 73 73 65 73 2c 20 74 | 68 65 20 72 65 76 65 72 |asses, t|he rever|
|00001a40| 73 65 20 69 73 6e 27 74 | 20 74 72 75 65 2e 0d 0a |se isn't| true...|
|00001a50| 0d 0a 0d 0a 2a 2a 20 4f | 62 6a 65 63 74 20 69 6e |....** O|bject in|
|00001a60| 69 74 69 61 6c 69 7a 61 | 74 69 6f 6e 2e 0d 0a 0d |itializa|tion....|
|00001a70| 0a 41 73 20 6d 65 6e 74 | 69 6f 6e 65 64 20 65 61 |.As ment|ioned ea|
|00001a80| 72 6c 69 65 72 2c 20 6e | 65 77 20 6f 62 6a 65 63 |rlier, n|ew objec|
|00001a90| 74 20 69 6e 73 74 61 6e | 63 65 73 20 61 72 65 20 |t instan|ces are |
|00001aa0| 63 72 65 61 74 65 64 20 | 62 79 20 73 65 6e 64 69 |created |by sendi|
|00001ab0| 6e 67 20 74 68 65 0d 0a | 6d 65 73 73 61 67 65 20 |ng the..|message |
|00001ac0| 3a 4e 45 57 20 74 6f 20 | 61 20 63 6c 61 73 73 20 |:NEW to |a class |
|00001ad0| 6f 62 6a 65 63 74 2e 20 | 53 65 6e 64 69 6e 67 20 |object. |Sending |
|00001ae0| 74 68 65 20 6d 65 73 73 | 61 67 65 20 3a 4e 45 57 |the mess|age :NEW|
|00001af0| 20 74 6f 20 61 20 63 6c | 61 73 73 0d 0a 61 75 74 | to a cl|ass..aut|
|00001b00| 6f 6d 61 74 69 63 61 6c | 6c 79 20 73 65 6e 64 73 |omatical|ly sends|
|00001b10| 20 6d 65 73 73 61 67 65 | 20 3a 49 53 4e 45 57 20 | message| :ISNEW |
|00001b20| 74 6f 20 74 68 65 20 6e | 65 77 6c 79 20 63 72 65 |to the n|ewly cre|
|00001b30| 61 74 65 64 20 69 6e 73 | 74 61 6e 63 65 2e 20 42 |ated ins|tance. B|
|00001b40| 79 0d 0a 64 65 66 61 75 | 6c 74 20 3a 49 53 4e 45 |y..defau|lt :ISNE|
|00001b50| 57 20 6f 6e 20 61 6e 20 | 69 6e 73 74 61 6e 63 65 |W on an |instance|
|00001b60| 20 69 73 20 61 20 6e 6f | 2d 6f 70 20 6d 65 74 68 | is a no|-op meth|
|00001b70| 6f 64 20 64 65 66 69 6e | 65 64 20 6f 6e 20 63 6c |od defin|ed on cl|
|00001b80| 61 73 73 20 27 4f 62 6a | 65 63 74 27 2c 0d 0a 77 |ass 'Obj|ect',..w|
|00001b90| 68 69 63 68 20 69 73 20 | 74 68 65 20 69 6d 70 6c |hich is |the impl|
|00001ba0| 69 63 69 74 20 5b 28 67 | 72 61 6e 64 29 2a 5d 70 |icit [(g|rand)*]p|
|00001bb0| 61 72 65 6e 74 20 6f 66 | 20 61 6c 6c 20 69 6e 73 |arent of| all ins|
|00001bc0| 74 61 6e 63 65 73 2e 20 | 49 66 20 79 6f 75 20 77 |tances. |If you w|
|00001bd0| 61 6e 74 20 74 6f 0d 0a | 69 6e 69 74 69 61 6c 69 |ant to..|initiali|
|00001be0| 7a 65 20 74 68 65 20 69 | 6e 73 74 61 6e 63 65 2f |ze the i|nstance/|
|00001bf0| 63 6c 61 73 73 20 76 61 | 72 69 61 62 6c 65 73 20 |class va|riables |
|00001c00| 6f 66 20 61 20 70 61 72 | 74 69 63 75 6c 61 72 20 |of a par|ticular |
|00001c10| 63 6c 61 73 73 2c 20 79 | 6f 75 20 6d 75 73 74 0d |class, y|ou must.|
|00001c20| 0a 64 65 66 69 6e 65 20 | 61 6e 20 3a 49 53 4e 45 |.define |an :ISNE|
|00001c30| 57 20 6d 65 74 68 6f 64 | 20 6f 6e 20 74 68 65 20 |W method| on the |
|00001c40| 63 6c 61 73 73 2e 20 20 | 41 6e 79 20 70 61 72 61 |class. |Any para|
|00001c50| 6d 65 74 65 72 73 20 6f | 72 69 67 69 6e 61 6c 6c |meters o|riginall|
|00001c60| 79 20 73 65 6e 74 20 74 | 6f 0d 0a 74 68 65 20 3a |y sent t|o..the :|
|00001c70| 4e 45 57 20 6d 65 74 68 | 6f 64 20 77 69 6c 6c 20 |NEW meth|od will |
|00001c80| 62 65 20 70 61 73 73 65 | 64 20 6f 6e 20 74 6f 20 |be passe|d on to |
|00001c90| 74 68 65 20 3a 49 53 4e | 45 57 20 6d 65 74 68 6f |the :ISN|EW metho|
|00001ca0| 64 20 61 6e 64 20 6d 61 | 79 20 62 65 20 75 73 65 |d and ma|y be use|
|00001cb0| 64 20 74 6f 0d 0a 69 6e | 69 74 69 61 6c 69 7a 65 |d to..in|itialize|
|00001cc0| 20 61 6e 20 6f 62 6a 65 | 63 74 20 74 6f 20 6f 75 | an obje|ct to ou|
|00001cd0| 74 73 69 64 65 2d 77 6f | 72 6c 64 20 70 61 72 61 |tside-wo|rld para|
|00001ce0| 6d 65 74 65 72 73 2e 0d | 0a 0d 0a 0d 0a 2a 2a 20 |meters..|.....** |
|00001cf0| 45 78 61 6d 70 6c 65 20 | 6f 66 20 75 73 69 6e 67 |Example |of using|
|00001d00| 20 4f 4f 50 20 66 65 61 | 74 75 72 65 73 20 6f 66 | OOP fea|tures of|
|00001d10| 20 58 4c 49 53 50 20 77 | 69 74 68 20 4d 6f 74 69 | XLISP w|ith Moti|
|00001d20| 66 20 77 69 64 67 65 74 | 73 3a 0d 0a 0d 0a 41 73 |f widget|s:....As|
|00001d30| 20 63 75 72 72 65 6e 74 | 6c 79 20 69 6d 70 6c 65 | current|ly imple|
|00001d40| 6d 65 6e 74 65 64 2c 20 | 74 68 65 20 4d 6f 74 69 |mented, |the Moti|
|00001d50| 66 20 63 6c 61 73 73 20 | 78 6d 4c 69 73 74 57 69 |f class |xmListWi|
|00001d60| 64 67 65 74 43 6c 61 73 | 73 20 6d 61 6b 65 73 20 |dgetClas|s makes |
|00001d70| 69 74 20 61 20 62 69 74 | 0d 0a 62 61 72 6f 71 75 |it a bit|..baroqu|
|00001d80| 65 20 74 6f 20 63 72 65 | 61 74 65 20 62 72 6f 77 |e to cre|ate brow|
|00001d90| 73 65 72 73 20 28 68 6f | 70 65 66 75 6c 6c 79 20 |sers (ho|pefully |
|00001da0| 74 68 69 73 20 77 69 6c | 6c 20 63 68 61 6e 67 65 |this wil|l change|
|00001db0| 20 69 6e 20 4d 6f 74 69 | 66 20 31 2e 31 29 2e 20 | in Moti|f 1.1). |
|00001dc0| 20 54 68 65 0d 0a 70 72 | 6f 62 6c 65 6d 20 69 73 | The..pr|oblem is|
|00001dd0| 20 74 68 61 74 20 61 20 | 22 62 72 6f 77 73 65 72 | that a |"browser|
|00001de0| 22 20 69 73 20 61 20 6b | 69 6e 64 20 6f 66 20 61 |" is a k|ind of a|
|00001df0| 70 70 6c 69 63 61 74 69 | 6f 6e 20 74 68 61 74 20 |pplicati|on that |
|00001e00| 6c 65 6e 64 73 20 69 74 | 73 65 6c 66 20 74 6f 0d |lends it|self to.|
|00001e10| 0a 6f 62 6a 65 63 74 20 | 6f 72 69 65 6e 74 65 64 |.object |oriented|
|00001e20| 20 74 65 63 68 6e 69 71 | 75 65 73 20 74 68 61 74 | techniq|ues that|
|00001e30| 20 61 72 65 20 6e 6f 74 | 20 61 6c 77 61 79 73 20 | are not| always |
|00001e40| 73 74 72 61 69 67 68 74 | 66 6f 72 77 61 72 64 20 |straight|forward |
|00001e50| 74 6f 20 73 75 70 70 6f | 72 74 0d 0a 69 6e 20 43 |to suppo|rt..in C|
|00001e60| 2e 20 4f 6e 65 20 6f 66 | 74 65 6e 20 68 61 73 20 |. One of|ten has |
|00001e70| 61 20 63 6f 6c 6c 65 63 | 74 69 6f 6e 20 6f 66 20 |a collec|tion of |
|00001e80| 27 74 68 69 6e 67 73 27 | 20 74 68 61 74 20 6f 6e |'things'| that on|
|00001e90| 65 20 77 61 6e 74 73 20 | 74 6f 20 64 69 73 70 6c |e wants |to displ|
|00001ea0| 61 79 20 69 6e 20 61 0d | 0a 27 6c 69 73 74 27 20 |ay in a.|.'list' |
|00001eb0| 61 6e 64 20 70 65 72 66 | 6f 72 6d 20 61 63 74 69 |and perf|orm acti|
|00001ec0| 6f 6e 73 20 6f 6e 20 74 | 68 65 20 27 74 68 69 6e |ons on t|he 'thin|
|00001ed0| 67 27 20 63 6f 72 72 65 | 73 70 6f 6e 64 69 6e 67 |g' corre|sponding|
|00001ee0| 20 74 6f 20 74 68 65 20 | 76 69 73 75 61 6c 0d 0a | to the |visual..|
|00001ef0| 73 65 6c 65 63 74 69 6f | 6e 20 6f 66 20 61 6e 20 |selectio|n of an |
|00001f00| 65 6c 65 6d 65 6e 74 20 | 69 6e 20 74 68 65 20 64 |element |in the d|
|00001f10| 69 73 70 6c 61 79 65 64 | 20 6c 69 73 74 2e 20 78 |isplayed| list. x|
|00001f20| 6d 4c 69 73 74 57 69 64 | 67 65 74 43 6c 61 73 73 |mListWid|getClass|
|00001f30| 20 77 69 6c 6c 0d 0a 64 | 69 73 70 6c 61 79 20 61 | will..d|isplay a|
|00001f40| 6e 20 61 72 72 72 61 79 | 20 6f 66 20 58 6d 53 74 |n arrray| of XmSt|
|00001f50| 72 69 6e 67 73 20 69 6e | 20 61 20 6c 69 73 74 2e |rings in| a list.|
|00001f60| 20 57 68 65 6e 20 6f 6e | 65 20 6f 72 20 6d 6f 72 | When on|e or mor|
|00001f70| 65 20 65 6c 65 6d 65 6e | 74 73 20 69 6e 20 74 68 |e elemen|ts in th|
|00001f80| 65 0d 0a 6c 69 73 74 20 | 61 72 65 20 73 65 6c 65 |e..list |are sele|
|00001f90| 63 74 65 64 2c 20 58 6d | 53 74 72 69 6e 67 73 20 |cted, Xm|Strings |
|00001fa0| 63 6f 72 72 65 73 70 6f | 6e 64 69 6e 67 20 74 6f |correspo|nding to|
|00001fb0| 20 74 68 65 20 73 65 6c | 65 63 74 65 64 20 65 6c | the sel|ected el|
|00001fc0| 65 6d 65 6e 74 73 20 61 | 72 65 0d 0a 72 65 74 75 |ements a|re..retu|
|00001fd0| 72 6e 65 64 2e 20 53 69 | 6e 63 65 20 74 68 65 20 |rned. Si|nce the |
|00001fe0| 58 6d 53 74 72 69 6e 67 | 73 20 79 6f 75 20 70 75 |XmString|s you pu|
|00001ff0| 74 20 69 6e 74 6f 20 74 | 68 65 20 6c 69 73 74 20 |t into t|he list |
|00002000| 77 69 64 67 65 74 20 61 | 72 65 20 6e 6f 74 20 74 |widget a|re not t|
|00002010| 68 65 0d 0a 58 6d 53 74 | 72 69 6e 67 73 20 79 6f |he..XmSt|rings yo|
|00002020| 75 20 67 65 74 20 6f 75 | 74 2c 20 79 6f 75 20 6d |u get ou|t, you m|
|00002030| 75 73 74 20 63 61 6c 6c | 20 58 6d 53 74 72 69 6e |ust call| XmStrin|
|00002040| 67 43 6f 6d 70 61 72 65 | 20 6f 6e 20 65 61 63 68 |gCompare| on each|
|00002050| 20 65 6c 65 6d 65 6e 74 | 20 6f 66 20 74 68 65 0d | element| of the.|
|00002060| 0a 63 6f 6c 6c 65 63 74 | 69 6f 6e 20 6f 66 20 27 |.collect|ion of '|
|00002070| 74 68 69 6e 67 73 27 20 | 74 6f 20 66 69 6e 64 20 |things' |to find |
|00002080| 6f 75 74 20 77 68 69 63 | 68 20 6f 6e 65 73 20 61 |out whic|h ones a|
|00002090| 72 65 20 73 65 6c 65 63 | 74 65 64 2e 20 20 50 72 |re selec|ted. Pr|
|000020a0| 65 73 75 6d 61 62 6c 79 | 2c 0d 0a 79 6f 75 27 6c |esumably|,..you'l|
|000020b0| 6c 20 77 61 6e 74 20 74 | 6f 20 64 6f 20 6d 6f 72 |l want t|o do mor|
|000020c0| 65 20 74 68 61 6e 20 6a | 75 73 74 20 67 65 74 20 |e than j|ust get |
|000020d0| 62 61 63 6b 20 61 6e 20 | 58 6d 53 74 72 69 6e 67 |back an |XmString|
|000020e0| 2e 2e 2e 20 20 6e 6f 72 | 6d 61 6c 6c 79 20 6f 6e |... nor|mally on|
|000020f0| 65 20 77 69 6c 6c 0d 0a | 77 61 6e 74 20 74 6f 20 |e will..|want to |
|00002100| 61 63 63 65 73 73 20 64 | 61 74 61 20 73 74 72 75 |access d|ata stru|
|00002110| 63 74 75 72 65 73 20 61 | 73 73 6f 63 69 61 74 65 |ctures a|ssociate|
|00002120| 64 20 77 69 74 68 20 74 | 68 65 20 58 6d 53 74 72 |d with t|he XmStr|
|00002130| 69 6e 67 20 73 6f 20 61 | 73 20 74 6f 20 70 65 72 |ing so a|s to per|
|00002140| 66 6f 72 6d 0d 0a 61 6e | 20 61 63 74 69 6f 6e 20 |form..an| action |
|00002150| 64 65 70 65 6e 64 65 6e | 74 20 6f 6e 20 74 68 6f |dependen|t on tho|
|00002160| 73 65 20 73 74 72 75 63 | 74 75 72 65 73 2e 20 54 |se struc|tures. T|
|00002170| 68 69 73 20 63 6f 75 6c | 64 20 62 65 20 64 6f 6e |his coul|d be don|
|00002180| 65 20 77 69 74 68 20 61 | 20 6c 6f 6f 6b 75 70 0d |e with a| lookup.|
|00002190| 0a 74 61 62 6c 65 2c 20 | 62 75 74 20 74 68 65 72 |.table, |but ther|
|000021a0| 65 27 73 20 61 6c 73 6f | 20 61 20 62 65 74 74 65 |e's also| a bette|
|000021b0| 72 20 77 61 79 2e 2e 2e | 0d 0a 0d 0a 57 49 4e 54 |r way...|....WINT|
|000021c0| 45 52 50 20 61 6c 6c 6f | 77 73 20 75 73 20 74 6f |ERP allo|ws us to|
|000021d0| 20 73 75 62 63 6c 61 73 | 73 20 74 68 65 20 4d 6f | subclas|s the Mo|
|000021e0| 74 69 66 20 6c 69 73 74 | 20 77 69 64 67 65 74 20 |tif list| widget |
|000021f0| 73 6f 20 61 73 20 74 6f | 20 6d 61 6b 65 20 69 74 |so as to| make it|
|00002200| 20 68 61 76 65 0d 0a 74 | 68 65 20 6b 69 6e 64 20 | have..t|he kind |
|00002210| 6f 66 20 66 75 6e 63 74 | 69 6f 6e 61 6c 69 74 79 |of funct|ionality|
|00002220| 20 77 65 20 77 61 6e 74 | 2e 20 54 68 69 73 20 73 | we want|. This s|
|00002230| 75 62 63 6c 61 73 73 20 | 77 69 6c 6c 20 63 6f 6e |ubclass |will con|
|00002240| 74 61 69 6e 20 61 6e 20 | 61 64 64 69 74 69 6f 6e |tain an |addition|
|00002250| 61 6c 0d 0a 69 6e 73 74 | 61 6e 63 65 20 76 61 72 |al..inst|ance var|
|00002260| 69 61 62 6c 65 20 27 69 | 74 65 6d 73 27 20 77 68 |iable 'i|tems' wh|
|00002270| 69 63 68 20 69 73 20 61 | 6e 20 61 72 72 61 79 20 |ich is a|n array |
|00002280| 6f 66 20 61 72 62 69 74 | 72 61 72 79 20 58 4c 49 |of arbit|rary XLI|
|00002290| 53 50 20 6f 62 6a 65 63 | 74 73 20 74 6f 0d 0a 62 |SP objec|ts to..b|
|000022a0| 65 20 64 69 73 70 6c 61 | 79 65 64 20 69 6e 20 61 |e displa|yed in a|
|000022b0| 20 74 65 78 74 75 61 6c | 20 62 72 6f 77 73 65 72 | textual| browser|
|000022c0| 20 6d 61 64 65 20 66 72 | 6f 6d 20 74 68 65 20 6c | made fr|om the l|
|000022d0| 69 73 74 20 77 69 64 67 | 65 74 2e 20 54 68 65 73 |ist widg|et. Thes|
|000022e0| 65 20 6f 62 6a 65 63 74 | 73 0d 0a 63 61 6e 20 68 |e object|s..can h|
|000022f0| 61 76 65 20 63 6f 6d 70 | 6c 65 74 65 6c 79 20 64 |ave comp|letely d|
|00002300| 69 66 66 65 72 65 6e 74 | 20 69 6e 74 65 72 6e 61 |ifferent| interna|
|00002310| 6c 20 72 65 70 72 65 73 | 65 6e 74 61 74 69 6f 6e |l repres|entation|
|00002320| 73 20 2d 2d 20 74 68 65 | 20 6f 6e 6c 79 0d 0a 72 |s -- the| only..r|
|00002330| 65 71 75 69 72 65 6d 65 | 6e 74 20 69 73 20 74 68 |equireme|nt is th|
|00002340| 61 74 20 74 68 65 79 20 | 66 6f 6c 6c 6f 77 20 74 |at they |follow t|
|00002350| 68 65 20 70 72 6f 74 6f | 63 6f 6c 20 6f 66 20 62 |he proto|col of b|
|00002360| 65 69 6e 67 20 61 62 6c | 65 20 74 6f 20 72 65 73 |eing abl|e to res|
|00002370| 70 6f 6e 64 20 74 6f 0d | 0a 74 68 65 20 6d 65 73 |pond to.|.the mes|
|00002380| 73 61 67 65 73 20 3a 44 | 49 53 50 4c 41 59 5f 53 |sages :D|ISPLAY_S|
|00002390| 54 52 49 4e 47 20 61 6e | 64 20 3a 44 45 46 41 55 |TRING an|d :DEFAU|
|000023a0| 4c 54 5f 41 43 54 49 4f | 4e 2e 20 3a 44 49 53 50 |LT_ACTIO|N. :DISP|
|000023b0| 4c 41 59 5f 53 54 52 49 | 4e 47 20 72 65 74 75 72 |LAY_STRI|NG retur|
|000023c0| 6e 73 20 61 0d 0a 73 74 | 72 69 6e 67 20 72 65 70 |ns a..st|ring rep|
|000023d0| 72 65 73 65 6e 74 61 74 | 69 6f 6e 20 6f 66 20 74 |resentat|ion of t|
|000023e0| 68 65 20 6f 62 6a 65 63 | 74 20 74 6f 20 62 65 20 |he objec|t to be |
|000023f0| 64 69 73 70 6c 61 79 65 | 64 20 69 6e 20 74 68 65 |displaye|d in the|
|00002400| 20 62 72 6f 77 73 65 72 | 2e 0d 0a 3a 44 45 46 41 | browser|...:DEFA|
|00002410| 55 4c 54 5f 41 43 54 49 | 4f 4e 20 69 73 20 74 68 |ULT_ACTI|ON is th|
|00002420| 65 20 61 63 74 69 6f 6e | 20 74 6f 20 62 65 20 70 |e action| to be p|
|00002430| 65 72 66 6f 72 6d 65 64 | 20 77 68 65 6e 20 61 20 |erformed| when a |
|00002440| 6c 69 73 74 20 69 74 65 | 6d 20 69 73 20 62 72 6f |list ite|m is bro|
|00002450| 77 73 65 64 0d 0a 28 62 | 79 20 64 6f 75 62 6c 65 |wsed..(b|y double|
|00002460| 20 63 6c 69 63 6b 69 6e | 67 20 6f 6e 20 74 68 65 | clickin|g on the|
|00002470| 20 69 74 65 6d 29 2e 0d | 0a 0d 0a 54 68 65 20 66 | item)..|...The f|
|00002480| 6f 6c 6c 6f 77 69 6e 67 | 20 63 72 65 61 74 65 73 |ollowing| creates|
|00002490| 20 74 68 65 20 73 75 62 | 63 6c 61 73 73 20 3c 4c | the sub|class <L|
|000024a0| 69 73 74 5f 42 72 6f 77 | 73 65 72 3e 20 66 72 6f |ist_Brow|ser> fro|
|000024b0| 6d 20 73 75 70 65 72 63 | 6c 61 73 73 0d 0a 3c 58 |m superc|lass..<X|
|000024c0| 4d 5f 4c 49 53 54 5f 57 | 49 44 47 45 54 5f 43 4c |M_LIST_W|IDGET_CL|
|000024d0| 41 53 53 3e 3a 0d 0a 0d | 0a 09 28 73 65 74 71 20 |ASS>:...|..(setq |
|000024e0| 4c 69 73 74 5f 42 72 6f | 77 73 65 72 20 0d 0a 09 |List_Bro|wser ...|
|000024f0| 09 28 73 65 6e 64 20 43 | 6c 61 73 73 20 3a 4e 45 |.(send C|lass :NE|
|00002500| 57 09 09 3b 63 72 65 61 | 74 65 20 61 20 63 6c 61 |W..;crea|te a cla|
|00002510| 73 73 20 69 6e 73 74 0d | 0a 09 09 09 27 28 69 74 |ss inst.|....'(it|
|00002520| 65 6d 73 29 09 09 3b 6e | 65 77 20 69 6e 73 74 61 |ems)..;n|ew insta|
|00002530| 6e 63 65 20 76 61 72 73 | 0d 0a 09 09 09 27 28 29 |nce vars|.....'()|
|00002540| 09 09 09 3b 6e 6f 20 63 | 6c 61 73 73 20 76 61 72 |...;no c|lass var|
|00002550| 73 0d 0a 09 09 09 58 4d | 5f 4c 49 53 54 5f 57 49 |s.....XM|_LIST_WI|
|00002560| 44 47 45 54 5f 43 4c 41 | 53 53 29 29 09 3b 73 75 |DGET_CLA|SS)).;su|
|00002570| 70 65 72 63 6c 61 73 73 | 0d 0a 0d 0a 53 6f 20 6e |perclass|....So n|
|00002580| 6f 77 20 61 6c 6c 20 69 | 6e 73 74 61 6e 63 65 73 |ow all i|nstances|
|00002590| 20 6f 66 20 3c 4c 69 73 | 74 5f 42 72 6f 77 73 65 | of <Lis|t_Browse|
|000025a0| 72 3e 20 77 69 6c 6c 20 | 63 6f 6e 74 61 69 6e 20 |r> will |contain |
|000025b0| 61 6e 20 69 6e 73 74 61 | 6e 63 65 20 76 61 72 69 |an insta|nce vari|
|000025c0| 61 62 6c 65 0d 0a 3c 69 | 74 65 6d 73 3e 20 61 6e |able..<i|tems> an|
|000025d0| 64 20 77 69 6c 6c 20 72 | 65 73 70 6f 6e 64 20 74 |d will r|espond t|
|000025e0| 6f 20 61 6c 6c 20 74 68 | 65 20 6d 65 73 73 61 67 |o all th|e messag|
|000025f0| 65 73 20 75 6e 64 65 72 | 73 74 6f 6f 64 20 62 79 |es under|stood by|
|00002600| 20 74 68 65 0d 0a 58 4d | 5f 4c 49 53 54 5f 57 49 | the..XM|_LIST_WI|
|00002610| 44 47 45 54 5f 43 4c 41 | 53 53 2e 20 57 65 20 77 |DGET_CLA|SS. We w|
|00002620| 61 6e 74 20 6f 75 72 20 | 6c 69 73 74 20 62 72 6f |ant our |list bro|
|00002630| 77 73 65 72 20 74 6f 20 | 62 65 68 61 76 65 20 61 |wser to |behave a|
|00002640| 73 20 64 65 73 63 72 69 | 62 65 64 0d 0a 61 62 6f |s descri|bed..abo|
|00002650| 76 65 2c 20 73 6f 20 77 | 65 20 64 65 66 69 6e 65 |ve, so w|e define|
|00002660| 20 61 6e 20 3a 49 53 4e | 45 57 20 6d 65 74 68 6f | an :ISN|EW metho|
|00002670| 64 20 74 6f 20 69 6e 69 | 74 69 61 6c 69 7a 65 20 |d to ini|tialize |
|00002680| 69 6e 73 74 61 6e 63 65 | 20 76 61 72 69 61 62 6c |instance| variabl|
|00002690| 65 0d 0a 3c 69 74 65 6d | 73 3e 20 74 6f 20 74 68 |e..<item|s> to th|
|000026a0| 65 20 6c 69 73 74 20 6f | 66 20 61 72 62 69 74 72 |e list o|f arbitr|
|000026b0| 61 72 79 20 6f 62 6a 65 | 63 74 73 20 74 6f 20 62 |ary obje|cts to b|
|000026c0| 65 20 64 69 73 70 6c 61 | 79 65 64 2e 20 20 3c 69 |e displa|yed. <i|
|000026d0| 74 65 6d 73 3e 20 67 65 | 74 73 0d 0a 69 6e 69 74 |tems> ge|ts..init|
|000026e0| 69 61 6c 69 7a 65 64 20 | 74 6f 20 61 6e 20 61 72 |ialized |to an ar|
|000026f0| 72 61 79 20 6f 66 20 6f | 62 6a 65 63 74 73 2c 20 |ray of o|bjects, |
|00002700| 74 68 65 20 6c 69 73 74 | 20 77 69 64 67 65 74 20 |the list| widget |
|00002710| 69 73 20 63 72 65 61 74 | 65 64 2c 20 61 6e 64 20 |is creat|ed, and |
|00002720| 61 0d 0a 58 6d 4e 64 65 | 66 61 75 6c 74 41 63 74 |a..XmNde|faultAct|
|00002730| 69 6f 6e 43 61 6c 6c 62 | 61 63 6b 20 69 73 20 73 |ionCallb|ack is s|
|00002740| 65 74 75 70 20 73 6f 20 | 74 68 61 74 20 61 20 64 |etup so |that a d|
|00002750| 6f 75 62 6c 65 20 63 6c | 69 63 6b 20 77 69 6c 6c |ouble cl|ick will|
|00002760| 20 73 65 6e 64 20 74 68 | 65 0d 0a 6d 65 73 73 61 | send th|e..messa|
|00002770| 67 65 20 3a 44 45 46 41 | 55 4c 54 5f 41 43 54 49 |ge :DEFA|ULT_ACTI|
|00002780| 4f 4e 20 74 6f 20 74 68 | 65 20 62 72 6f 77 73 65 |ON to th|e browse|
|00002790| 64 20 69 74 65 6d 3a 0d | 0a 0d 0a 09 3b 3b 20 28 |d item:.|....;; (|
|000027a0| 73 65 6e 64 20 4c 69 73 | 74 5f 42 72 6f 77 73 65 |send Lis|t_Browse|
|000027b0| 72 20 3a 6e 65 77 20 3c | 69 74 65 6d 73 5f 6c 69 |r :new <|items_li|
|000027c0| 73 74 3e 20 3c 61 72 67 | 73 2d 66 6f 72 2d 74 68 |st> <arg|s-for-th|
|000027d0| 65 2d 6c 69 73 74 2d 77 | 69 64 67 65 74 3e 29 0d |e-list-w|idget>).|
|000027e0| 0a 09 3b 3b 20 3c 69 74 | 65 6d 73 5f 6c 69 73 74 |..;; <it|ems_list|
|000027f0| 3e 20 69 73 20 61 20 6c | 69 73 74 20 6f 66 20 42 |> is a l|ist of B|
|00002800| 52 4f 57 53 45 52 5f 4f | 42 4a 45 43 54 73 20 61 |ROWSER_O|BJECTs a|
|00002810| 73 20 64 65 73 63 72 69 | 62 65 64 20 61 62 6f 76 |s descri|bed abov|
|00002820| 65 2e 0d 0a 09 3b 3b 20 | 3c 61 72 67 73 2d 66 6f |e....;; |<args-fo|
|00002830| 72 2d 74 68 65 2d 6c 69 | 73 74 2d 77 69 64 67 65 |r-the-li|st-widge|
|00002840| 74 3e 20 2d 2d 20 74 68 | 65 73 65 20 61 72 65 20 |t> -- th|ese are |
|00002850| 74 68 65 20 61 72 67 75 | 6d 65 6e 74 73 20 74 68 |the argu|ments th|
|00002860| 61 74 0d 0a 09 3b 3b 20 | 20 20 20 20 20 20 77 69 |at...;; | wi|
|00002870| 6c 6c 20 62 65 20 70 61 | 73 73 65 64 20 6f 6e 20 |ll be pa|ssed on |
|00002880| 74 6f 20 74 68 65 20 6c | 69 73 74 20 77 69 64 67 |to the l|ist widg|
|00002890| 65 74 0d 0a 09 3b 3b 0d | 0a 09 28 73 65 6e 64 20 |et...;;.|..(send |
|000028a0| 4c 69 73 74 5f 42 72 6f | 77 73 65 72 20 3a 61 6e |List_Bro|wser :an|
|000028b0| 73 77 65 72 20 3a 69 73 | 6e 65 77 20 27 28 69 74 |swer :is|new '(it|
|000028c0| 65 6d 73 5f 6c 69 73 74 | 20 26 72 65 73 74 20 61 |ems_list| &rest a|
|000028d0| 72 67 73 29 0d 0a 09 20 | 20 20 20 20 20 27 28 0d |rgs)... | '(.|
|000028e0| 0a 09 09 28 6c 65 74 2a | 20 28 0d 0a 09 09 20 20 |...(let*| (.... |
|000028f0| 20 20 20 20 20 28 69 74 | 65 6d 73 5f 65 6e 64 5f | (it|ems_end_|
|00002900| 69 64 78 20 28 6c 65 6e | 67 74 68 20 69 74 65 6d |idx (len|gth item|
|00002910| 73 5f 6c 69 73 74 29 29 | 0d 0a 09 09 20 20 20 20 |s_list))|.... |
|00002920| 20 20 20 28 64 69 73 70 | 6c 61 79 5f 69 74 65 6d | (disp|lay_item|
|00002930| 73 20 28 6d 61 6b 65 2d | 61 72 72 61 79 20 69 74 |s (make-|array it|
|00002940| 65 6d 73 5f 65 6e 64 5f | 69 64 78 29 29 29 0d 0a |ems_end_|idx)))..|
|00002950| 0d 0a 09 09 20 20 3b 3b | 20 69 6e 69 74 69 61 6c |.... ;;| initial|
|00002960| 69 7a 65 20 74 68 65 20 | 27 69 74 65 6d 73 27 20 |ize the |'items' |
|00002970| 69 6e 73 74 61 6e 63 65 | 20 76 61 72 69 61 62 6c |instance| variabl|
|00002980| 65 20 73 6f 20 74 68 61 | 74 20 69 74 0d 0a 09 09 |e so tha|t it....|
|00002990| 20 20 3b 3b 20 68 6f 6c | 64 73 20 61 6c 6c 20 74 | ;; hol|ds all t|
|000029a0| 68 65 20 42 52 4f 57 53 | 45 52 5f 4f 42 4a 45 43 |he BROWS|ER_OBJEC|
|000029b0| 54 73 20 70 61 73 73 65 | 64 20 69 6e 20 3c 69 74 |Ts passe|d in <it|
|000029c0| 65 6d 73 5f 6c 69 73 74 | 3e 0d 0a 09 09 20 20 28 |ems_list|>.... (|
|000029d0| 73 65 74 71 20 69 74 65 | 6d 73 20 28 6d 61 6b 65 |setq ite|ms (make|
|000029e0| 2d 61 72 72 61 79 20 69 | 74 65 6d 73 5f 65 6e 64 |-array i|tems_end|
|000029f0| 5f 69 64 78 29 29 20 3b | 63 72 65 61 74 65 20 74 |_idx)) ;|create t|
|00002a00| 68 65 20 61 72 72 61 79 | 0d 0a 09 09 20 20 28 64 |he array|.... (d|
|00002a10| 6f 20 28 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |o ( | |
|00002a20| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 63 6f 70 | | ;cop|
|00002a30| 79 20 65 6c 74 73 20 66 | 72 6f 6d 20 6c 69 73 74 |y elts f|rom list|
|00002a40| 20 74 6f 20 61 72 72 61 | 79 0d 0a 09 09 20 20 20 | to arra|y.... |
|00002a50| 20 20 20 20 28 69 20 20 | 20 20 30 20 20 20 20 20 | (i | 0 |
|00002a60| 20 20 20 20 20 28 31 2b | 20 69 29 29 0d 0a 09 09 | (1+| i))....|
|00002a70| 20 20 20 20 20 20 20 28 | 65 6c 74 73 20 69 74 65 | (|elts ite|
|00002a80| 6d 73 5f 6c 69 73 74 20 | 28 63 64 72 20 65 6c 74 |ms_list |(cdr elt|
|00002a90| 73 29 29 29 0d 0a 09 09 | 20 20 20 20 20 20 3b 3b |s)))....| ;;|
|00002aa0| 20 6c 6f 6f 70 20 74 69 | 6c 6c 20 6e 6f 20 6d 6f | loop ti|ll no mo|
|00002ab0| 72 65 20 65 6c 74 73 0d | 0a 09 09 20 20 20 20 20 |re elts.|... |
|00002ac0| 20 28 28 6e 75 6c 6c 20 | 65 6c 74 73 29 29 0d 0a | ((null |elts))..|
|00002ad0| 09 09 20 20 20 20 20 20 | 3b 3b 20 6c 6f 6f 70 20 |.. |;; loop |
|00002ae0| 62 6f 64 79 0d 0a 09 09 | 20 20 20 20 20 20 28 73 |body....| (s|
|00002af0| 65 74 66 20 28 61 72 65 | 66 20 69 74 65 6d 73 20 |etf (are|f items |
|00002b00| 69 29 20 28 63 61 72 20 | 65 6c 74 73 29 29 0d 0a |i) (car |elts))..|
|00002b10| 09 09 20 20 20 20 20 20 | 28 73 65 74 66 20 28 61 |.. |(setf (a|
|00002b20| 72 65 66 20 64 69 73 70 | 6c 61 79 5f 69 74 65 6d |ref disp|lay_item|
|00002b30| 73 20 69 29 20 0d 0a 09 | 09 09 20 20 20 20 28 73 |s i) ...|.. (s|
|00002b40| 65 6e 64 20 28 63 61 72 | 20 65 6c 74 73 29 20 3a |end (car| elts) :|
|00002b50| 64 69 73 70 6c 61 79 5f | 73 74 72 69 6e 67 29 29 |display_|string))|
|00002b60| 0d 0a 09 09 20 20 20 20 | 20 20 29 0d 0a 0d 0a 09 |.... | ).....|
|00002b70| 09 20 20 3b 3b 20 69 6e | 69 74 69 61 6c 69 7a 65 |. ;; in|itialize|
|00002b80| 20 74 68 65 20 77 69 64 | 67 65 74 2c 20 70 61 73 | the wid|get, pas|
|00002b90| 73 69 6e 67 20 69 6e 20 | 74 68 65 20 62 72 6f 77 |sing in |the brow|
|00002ba0| 73 65 72 20 69 74 65 6d | 73 2e 0d 0a 09 09 20 20 |ser item|s..... |
|00002bb0| 28 61 70 70 6c 79 20 27 | 73 65 6e 64 2d 73 75 70 |(apply '|send-sup|
|00002bc0| 65 72 20 60 28 3a 69 73 | 6e 65 77 0d 0a 09 09 09 |er `(:is|new.....|
|00002bd0| 09 20 20 20 20 20 20 20 | 2c 40 61 72 67 73 0d 0a |. |,@args..|
|00002be0| 09 09 09 09 20 20 20 20 | 20 20 20 3a 78 6d 6e 5f |.... | :xmn_|
|00002bf0| 73 65 6c 65 63 74 69 6f | 6e 5f 70 6f 6c 69 63 79 |selectio|n_policy|
|00002c00| 20 3a 62 72 6f 77 73 65 | 5f 73 65 6c 65 63 74 0d | :browse|_select.|
|00002c10| 0a 09 09 09 09 20 20 20 | 20 20 20 20 3a 78 6d 6e |..... | :xmn|
|00002c20| 5f 69 74 65 6d 73 20 2c | 64 69 73 70 6c 61 79 5f |_items ,|display_|
|00002c30| 69 74 65 6d 73 0d 0a 09 | 09 09 09 20 20 20 20 20 |items...|... |
|00002c40| 20 20 3a 78 6d 6e 5f 69 | 74 65 6d 5f 63 6f 75 6e | :xmn_i|tem_coun|
|00002c50| 74 20 2c 69 74 65 6d 73 | 5f 65 6e 64 5f 69 64 78 |t ,items|_end_idx|
|00002c60| 0d 0a 09 09 09 09 20 20 | 20 20 20 20 20 29 29 0d |...... | )).|
|00002c70| 0a 09 09 20 20 29 0d 0a | 0d 0a 09 09 3b 3b 20 73 |... )..|....;; s|
|00002c80| 65 74 20 75 70 20 61 20 | 63 61 6c 6c 62 61 63 6b |et up a |callback|
|00002c90| 20 6f 6e 20 74 68 65 20 | 6c 69 73 74 20 77 69 64 | on the |list wid|
|00002ca0| 67 65 74 20 69 6e 69 74 | 69 61 6c 69 7a 65 64 20 |get init|ialized |
|00002cb0| 61 62 6f 76 65 20 73 75 | 63 68 0d 0a 09 09 3b 3b |above su|ch....;;|
|00002cc0| 20 74 68 61 74 20 61 20 | 64 6f 75 62 6c 65 20 63 | that a |double c|
|00002cd0| 6c 69 63 6b 20 6f 6e 20 | 74 68 65 20 62 72 6f 77 |lick on |the brow|
|00002ce0| 73 65 72 2d 69 74 65 6d | 20 77 69 6c 6c 20 73 65 |ser-item| will se|
|00002cf0| 6e 64 20 74 68 65 0d 0a | 09 09 3b 3b 20 6d 65 73 |nd the..|..;; mes|
|00002d00| 73 61 67 65 20 3a 64 65 | 66 61 75 6c 74 5f 61 63 |sage :de|fault_ac|
|00002d10| 74 69 6f 6e 20 74 6f 20 | 74 68 65 20 42 52 4f 57 |tion to |the BROW|
|00002d20| 53 45 52 5f 4f 42 4a 45 | 43 54 2e 0d 0a 09 09 28 |SER_OBJE|CT.....(|
|00002d30| 73 65 6e 64 2d 73 75 70 | 65 72 20 3a 61 64 64 5f |send-sup|er :add_|
|00002d40| 63 61 6c 6c 62 61 63 6b | 20 3a 78 6d 6e 5f 64 65 |callback| :xmn_de|
|00002d50| 66 61 75 6c 74 5f 61 63 | 74 69 6f 6e 5f 63 61 6c |fault_ac|tion_cal|
|00002d60| 6c 62 61 63 6b 0d 0a 09 | 09 09 20 20 20 20 27 28 |lback...|.. '(|
|00002d70| 63 61 6c 6c 62 61 63 6b | 5f 69 74 65 6d 5f 70 6f |callback|_item_po|
|00002d80| 73 69 74 69 6f 6e 29 0d | 0a 09 09 09 20 20 20 20 |sition).|.... |
|00002d90| 27 28 28 73 65 6e 64 20 | 28 61 72 65 66 20 69 74 |'((send |(aref it|
|00002da0| 65 6d 73 20 28 31 2d 20 | 63 61 6c 6c 62 61 63 6b |ems (1- |callback|
|00002db0| 5f 69 74 65 6d 5f 70 6f | 73 69 74 69 6f 6e 29 29 |_item_po|sition))|
|00002dc0| 0d 0a 09 09 09 09 20 20 | 20 20 3a 64 65 66 61 75 |...... | :defau|
|00002dd0| 6c 74 5f 61 63 74 69 6f | 6e 29 29 0d 0a 09 09 09 |lt_actio|n)).....|
|00002de0| 20 20 20 20 29 0d 0a 09 | 09 29 0d 0a 09 20 20 20 | )...|.)... |
|00002df0| 20 20 20 29 0d 0a 0d 0a | 0d 0a 49 6e 20 74 68 65 | )....|..In the|
|00002e00| 20 61 62 6f 76 65 20 63 | 6f 64 65 2c 20 53 45 4e | above c|ode, SEN|
|00002e10| 44 2d 53 55 50 45 52 20 | 77 6f 72 6b 73 20 6a 75 |D-SUPER |works ju|
|00002e20| 73 74 20 6c 69 6b 65 20 | 73 65 6e 64 2c 20 65 78 |st like |send, ex|
|00002e30| 63 65 70 74 20 74 68 61 | 74 20 69 74 20 64 6f 65 |cept tha|t it doe|
|00002e40| 73 6e 27 74 0d 0a 72 65 | 71 75 69 72 65 20 79 6f |sn't..re|quire yo|
|00002e50| 75 20 74 6f 20 67 69 76 | 65 20 69 74 20 74 68 65 |u to giv|e it the|
|00002e60| 20 6f 62 6a 65 63 74 20 | 74 6f 20 73 65 6e 64 20 | object |to send |
|00002e70| 74 68 65 20 6d 65 73 73 | 61 67 65 20 74 6f 2e 20 |the mess|age to. |
|00002e80| 20 49 6e 73 74 65 61 64 | 2c 20 69 74 0d 0a 69 6d | Instead|, it..im|
|00002e90| 70 6c 69 63 69 74 6c 79 | 20 61 73 73 75 6d 65 73 |plicitly| assumes|
|00002ea0| 20 74 68 61 74 20 69 74 | 20 77 69 6c 6c 20 62 65 | that it| will be|
|00002eb0| 20 63 61 6c 6c 65 64 20 | 66 72 6f 6d 20 77 69 74 | called |from wit|
|00002ec0| 68 69 6e 20 61 20 6d 65 | 74 68 6f 64 2c 20 61 6e |hin a me|thod, an|
|00002ed0| 64 20 77 69 6c 6c 0d 0a | 61 75 74 6f 6d 61 74 69 |d will..|automati|
|00002ee0| 63 61 6c 6c 79 20 73 65 | 6e 64 20 74 68 65 20 6d |cally se|nd the m|
|00002ef0| 65 73 73 61 67 65 20 74 | 6f 20 61 20 73 75 70 65 |essage t|o a supe|
|00002f00| 72 63 6c 61 73 73 20 6f | 66 20 74 68 65 20 6f 62 |rclass o|f the ob|
|00002f10| 6a 65 63 74 27 73 20 63 | 6c 61 73 73 2e 20 20 54 |ject's c|lass. T|
|00002f20| 68 65 0d 0a 28 61 70 70 | 6c 79 20 27 73 65 6e 64 |he..(app|ly 'send|
|00002f30| 2d 73 75 70 65 72 20 2e | 2e 2e 29 20 66 6f 72 6d |-super .|..) form|
|00002f40| 20 69 73 20 61 63 74 75 | 61 6c 6c 79 20 63 61 6c | is actu|ally cal|
|00002f50| 6c 69 6e 67 20 74 68 65 | 20 3a 49 53 4e 45 57 20 |ling the| :ISNEW |
|00002f60| 28 69 6e 73 74 61 6e 63 | 65 0d 0a 69 6e 69 74 69 |(instanc|e..initi|
|00002f70| 61 6c 69 7a 65 72 29 20 | 6d 65 74 68 6f 64 20 6f |alizer) |method o|
|00002f80| 6e 20 58 4d 5f 4c 49 53 | 54 5f 57 49 44 47 45 54 |n XM_LIS|T_WIDGET|
|00002f90| 5f 43 4c 41 53 53 2c 20 | 77 68 69 63 68 20 61 63 |_CLASS, |which ac|
|00002fa0| 74 75 61 6c 6c 79 20 63 | 72 65 61 74 65 73 20 74 |tually c|reates t|
|00002fb0| 68 65 0d 0a 77 69 64 67 | 65 74 20 76 69 61 20 58 |he..widg|et via X|
|00002fc0| 6d 43 72 65 61 74 65 4c | 69 73 74 28 29 20 6f 72 |mCreateL|ist() or|
|00002fd0| 20 58 6d 43 72 65 61 74 | 65 53 63 72 6f 6c 6c 65 | XmCreat|eScrolle|
|00002fe0| 64 4c 69 73 74 28 29 2e | 20 54 68 65 20 41 50 50 |dList().| The APP|
|00002ff0| 4c 59 20 27 60 27 0d 0a | 28 42 41 43 4b 51 55 4f |LY '`'..|(BACKQUO|
|00003000| 54 45 29 20 61 6e 64 20 | 27 26 72 65 73 74 20 61 |TE) and |'&rest a|
|00003010| 72 67 73 27 20 28 4c 41 | 4d 42 44 41 20 4c 49 53 |rgs' (LA|MBDA LIS|
|00003020| 54 29 20 66 65 61 74 75 | 72 65 73 20 6f 66 20 4c |T) featu|res of L|
|00003030| 69 73 70 20 61 6c 6c 6f | 77 20 75 73 20 74 6f 0d |isp allo|w us to.|
|00003040| 0a 73 70 6c 69 63 65 20 | 69 6e 20 74 68 65 20 61 |.splice |in the a|
|00003050| 72 67 75 6d 65 6e 74 20 | 6c 69 73 74 20 70 61 73 |rgument |list pas|
|00003060| 73 65 64 20 74 6f 20 74 | 68 65 20 69 6e 73 74 61 |sed to t|he insta|
|00003070| 6e 63 65 20 6f 66 20 4c | 69 73 74 5f 42 72 6f 77 |nce of L|ist_Brow|
|00003080| 73 65 72 20 69 6e 74 6f | 20 74 68 65 0d 0a 66 75 |ser into| the..fu|
|00003090| 6e 63 74 69 6f 6e 20 74 | 68 61 74 20 61 63 74 75 |nction t|hat actu|
|000030a0| 61 6c 6c 79 20 63 72 65 | 61 74 65 73 20 74 68 65 |ally cre|ates the|
|000030b0| 20 77 69 64 67 65 74 2e | 20 46 69 6e 61 6c 6c 79 | widget.| Finally|
|000030c0| 2c 20 6d 65 74 68 6f 64 | 20 3a 61 64 64 5f 63 61 |, method| :add_ca|
|000030d0| 6c 6c 62 61 63 6b 20 69 | 73 0d 0a 74 68 65 20 57 |llback i|s..the W|
|000030e0| 49 4e 54 45 52 50 20 65 | 71 75 69 76 61 6c 65 6e |INTERP e|quivalen|
|000030f0| 74 20 6f 66 20 58 74 41 | 64 64 43 61 6c 6c 62 61 |t of XtA|ddCallba|
|00003100| 63 6b 28 29 2e 20 53 65 | 65 20 74 68 65 20 64 6f |ck(). Se|e the do|
|00003110| 63 75 6d 65 6e 74 61 74 | 69 6f 6e 20 6f 6e 20 6d |cumentat|ion on m|
|00003120| 65 74 68 6f 64 73 0d 0a | 6f 6e 20 57 49 44 47 45 |ethods..|on WIDGE|
|00003130| 54 5f 43 4c 41 53 53 20 | 66 6f 72 20 6d 6f 72 65 |T_CLASS |for more|
|00003140| 20 64 65 74 61 69 6c 73 | 2e 0d 0a 0d 0a 54 68 65 | details|.....The|
|00003150| 20 4d 6f 74 69 66 20 4c | 69 73 74 20 77 69 64 67 | Motif L|ist widg|
|00003160| 65 74 20 61 6c 73 6f 20 | 64 65 66 69 6e 65 73 20 |et also |defines |
|00003170| 61 20 6e 75 6d 62 65 72 | 20 6f 66 20 22 6d 65 74 |a number| of "met|
|00003180| 68 6f 64 73 22 20 69 6d | 70 6c 65 6d 65 6e 74 65 |hods" im|plemente|
|00003190| 64 20 61 73 20 43 0d 0a | 72 6f 75 74 69 6e 65 73 |d as C..|routines|
|000031a0| 20 73 75 63 68 20 61 73 | 20 58 6d 4c 69 73 74 41 | such as| XmListA|
|000031b0| 64 64 49 74 65 6d 28 29 | 2c 20 58 6d 4c 69 73 74 |ddItem()|, XmList|
|000031c0| 41 64 64 49 74 65 6d 55 | 6e 73 65 6c 65 63 74 65 |AddItemU|nselecte|
|000031d0| 64 28 29 2c 0d 0a 58 6d | 4c 69 73 74 44 65 6c 65 |d(),..Xm|ListDele|
|000031e0| 74 65 49 74 65 6d 28 29 | 2c 20 61 6e 64 20 58 6d |teItem()|, and Xm|
|000031f0| 4c 69 73 74 44 65 6c 65 | 74 65 50 6f 73 28 29 2e |ListDele|tePos().|
|00003200| 20 49 6e 20 57 49 4e 54 | 45 52 50 2c 20 77 65 20 | In WINT|ERP, we |
|00003210| 64 65 66 69 6e 65 20 74 | 68 65 73 65 20 61 73 0d |define t|hese as.|
|00003220| 0a 6d 65 74 68 6f 64 73 | 20 3a 41 44 44 5f 49 54 |.methods| :ADD_IT|
|00003230| 45 4d 2c 20 3a 41 44 44 | 5f 49 54 45 4d 5f 55 4e |EM, :ADD|_ITEM_UN|
|00003240| 53 45 4c 45 43 54 45 44 | 2c 20 3a 44 45 4c 45 54 |SELECTED|, :DELET|
|00003250| 45 5f 49 54 45 4d 2c 20 | 61 6e 64 20 3a 44 45 4c |E_ITEM, |and :DEL|
|00003260| 45 54 45 5f 50 4f 53 0d | 0a 72 65 73 70 65 63 74 |ETE_POS.|.respect|
|00003270| 69 76 65 6c 79 2e 20 53 | 69 6e 63 65 20 74 68 65 |ively. S|ince the|
|00003280| 73 65 20 6d 65 74 68 6f | 64 73 20 6d 6f 64 69 66 |se metho|ds modif|
|00003290| 79 20 74 68 65 20 63 6f | 6c 6c 65 63 74 69 6f 6e |y the co|llection|
|000032a0| 20 6f 66 20 6f 62 6a 65 | 63 74 73 0d 0a 72 65 70 | of obje|cts..rep|
|000032b0| 72 65 73 65 6e 74 65 64 | 20 62 79 20 74 68 65 20 |resented| by the |
|000032c0| 6c 69 73 74 20 77 69 64 | 67 65 74 2c 20 77 65 20 |list wid|get, we |
|000032d0| 6d 75 73 74 20 75 70 64 | 61 74 65 20 74 68 65 20 |must upd|ate the |
|000032e0| 69 6e 74 65 72 6e 61 6c | 20 61 72 72 61 79 20 6f |internal| array o|
|000032f0| 66 0d 0a 6f 62 6a 65 63 | 74 73 20 3c 69 74 65 6d |f..objec|ts <item|
|00003300| 73 3e 20 74 6f 20 63 6f | 72 72 65 73 70 6f 6e 64 |s> to co|rrespond|
|00003310| 20 77 69 74 68 20 74 68 | 65 20 69 74 65 6d 73 20 | with th|e items |
|00003320| 64 69 73 70 6c 61 79 65 | 64 2e 20 57 65 20 64 6f |displaye|d. We do|
|00003330| 20 74 68 69 73 20 62 79 | 0d 0a 69 6e 74 65 72 63 | this by|..interc|
|00003340| 65 70 74 69 6e 67 20 74 | 68 6f 73 65 20 6d 65 73 |epting t|hose mes|
|00003350| 73 61 67 65 73 20 74 6f | 20 74 68 65 20 73 75 70 |sages to| the sup|
|00003360| 65 72 63 6c 61 73 73 20 | 6f 66 20 63 6c 61 73 73 |erclass |of class|
|00003370| 20 3c 4c 69 73 74 5f 42 | 72 6f 77 73 65 72 3e 20 | <List_B|rowser> |
|00003380| 61 6e 64 0d 0a 68 61 6e | 64 6c 65 20 74 68 65 6d |and..han|dle them|
|00003390| 20 69 6e 20 3c 4c 69 73 | 74 5f 42 72 6f 77 73 65 | in <Lis|t_Browse|
|000033a0| 72 3e 20 73 6f 20 61 73 | 20 74 6f 20 75 70 64 61 |r> so as| to upda|
|000033b0| 74 65 20 74 68 65 20 61 | 70 70 72 6f 70 72 69 61 |te the a|ppropria|
|000033c0| 74 65 20 64 61 74 61 3a | 0d 0a 0d 0a 09 28 73 65 |te data:|.....(se|
|000033d0| 6e 64 20 4c 69 73 74 5f | 42 72 6f 77 73 65 72 20 |nd List_|Browser |
|000033e0| 3a 61 6e 73 77 65 72 20 | 3a 41 44 44 5f 49 54 45 |:answer |:ADD_ITE|
|000033f0| 4d 20 27 28 69 74 65 6d | 20 70 6f 73 69 74 69 6f |M '(item| positio|
|00003400| 6e 29 0d 0a 09 20 20 20 | 20 20 20 27 28 0d 0a 09 |n)... | '(...|
|00003410| 09 28 73 65 74 71 20 69 | 74 65 6d 73 20 28 61 72 |.(setq i|tems (ar|
|00003420| 72 61 79 2d 69 6e 73 65 | 72 74 2d 70 6f 73 20 69 |ray-inse|rt-pos i|
|00003430| 74 65 6d 73 20 28 31 2d | 20 70 6f 73 69 74 69 6f |tems (1-| positio|
|00003440| 6e 29 20 69 74 65 6d 29 | 29 0d 0a 09 09 28 73 65 |n) item)|)....(se|
|00003450| 6e 64 2d 73 75 70 65 72 | 20 3a 61 64 64 5f 69 74 |nd-super| :add_it|
|00003460| 65 6d 20 0d 0a 09 09 09 | 20 20 20 20 28 73 65 6e |em .....| (sen|
|00003470| 64 20 69 74 65 6d 20 3a | 64 69 73 70 6c 61 79 5f |d item :|display_|
|00003480| 73 74 72 69 6e 67 29 20 | 0d 0a 09 09 09 20 20 20 |string) |..... |
|00003490| 20 70 6f 73 69 74 69 6f | 6e 29 0d 0a 09 09 29 0d | positio|n)....).|
|000034a0| 0a 09 20 20 20 20 20 20 | 29 0d 0a 0d 0a 09 28 73 |.. |).....(s|
|000034b0| 65 6e 64 20 4c 69 73 74 | 5f 42 72 6f 77 73 65 72 |end List|_Browser|
|000034c0| 20 3a 61 6e 73 77 65 72 | 20 3a 41 44 44 5f 49 54 | :answer| :ADD_IT|
|000034d0| 45 4d 5f 55 4e 53 45 4c | 45 43 54 45 44 20 27 28 |EM_UNSEL|ECTED '(|
|000034e0| 69 74 65 6d 20 70 6f 73 | 69 74 69 6f 6e 29 0d 0a |item pos|ition)..|
|000034f0| 09 20 20 20 20 20 20 27 | 28 0d 0a 09 09 28 73 65 |. '|(....(se|
|00003500| 74 71 20 69 74 65 6d 73 | 20 28 61 72 72 61 79 2d |tq items| (array-|
|00003510| 69 6e 73 65 72 74 2d 70 | 6f 73 20 69 74 65 6d 73 |insert-p|os items|
|00003520| 20 28 31 2d 20 70 6f 73 | 69 74 69 6f 6e 29 20 69 | (1- pos|ition) i|
|00003530| 74 65 6d 29 29 0d 0a 09 | 09 28 73 65 6e 64 2d 73 |tem))...|.(send-s|
|00003540| 75 70 65 72 20 3a 61 64 | 64 5f 69 74 65 6d 5f 75 |uper :ad|d_item_u|
|00003550| 6e 73 65 6c 65 63 74 65 | 64 20 0d 0a 09 09 09 20 |nselecte|d ..... |
|00003560| 20 20 20 28 73 65 6e 64 | 20 69 74 65 6d 20 3a 64 | (send| item :d|
|00003570| 69 73 70 6c 61 79 5f 73 | 74 72 69 6e 67 29 0d 0a |isplay_s|tring)..|
|00003580| 09 09 09 20 20 20 20 70 | 6f 73 69 74 69 6f 6e 29 |... p|osition)|
|00003590| 0d 0a 09 09 29 0d 0a 09 | 20 20 20 20 20 20 29 0d |....)...| ).|
|000035a0| 0a 0d 0a 09 28 73 65 6e | 64 20 4c 69 73 74 5f 42 |....(sen|d List_B|
|000035b0| 72 6f 77 73 65 72 20 3a | 61 6e 73 77 65 72 20 3a |rowser :|answer :|
|000035c0| 44 45 4c 45 54 45 5f 49 | 54 45 4d 20 27 28 69 74 |DELETE_I|TEM '(it|
|000035d0| 65 6d 29 0d 0a 09 20 20 | 20 20 20 20 27 28 0d 0a |em)... | '(..|
|000035e0| 09 09 3b 3b 20 74 68 69 | 73 20 69 73 20 74 6f 6f |..;; thi|s is too|
|000035f0| 20 6c 61 6d 65 20 74 6f | 20 69 6d 70 6c 65 6d 65 | lame to| impleme|
|00003600| 6e 74 2e 2e 2e 20 72 65 | 71 75 69 72 65 73 20 74 |nt... re|quires t|
|00003610| 68 61 74 20 77 65 20 63 | 6f 6d 70 61 72 65 0d 0a |hat we c|ompare..|
|00003620| 09 09 3b 3b 20 69 74 65 | 6d 20 77 69 74 68 20 74 |..;; ite|m with t|
|00003630| 68 65 20 72 65 73 75 6c | 74 20 6f 66 20 3a 64 69 |he resul|t of :di|
|00003640| 73 70 6c 61 79 5f 73 74 | 72 69 6e 67 20 64 6f 6e |splay_st|ring don|
|00003650| 65 20 6f 6e 20 65 76 65 | 72 79 20 65 6c 74 0d 0a |e on eve|ry elt..|
|00003660| 09 09 3b 3b 20 6f 66 20 | 69 76 61 72 20 27 69 74 |..;; of |ivar 'it|
|00003670| 65 6d 73 27 0d 0a 09 09 | 28 65 72 72 6f 72 20 22 |ems'....|(error "|
|00003680| 4d 65 73 73 61 67 65 20 | 3a 44 45 4c 45 54 45 5f |Message |:DELETE_|
|00003690| 49 54 45 4d 20 6e 6f 74 | 20 73 75 70 70 6f 72 74 |ITEM not| support|
|000036a0| 65 64 20 69 6e 20 4c 69 | 73 74 5f 42 72 6f 77 73 |ed in Li|st_Brows|
|000036b0| 65 72 22 29 0d 0a 09 09 | 29 0d 0a 09 20 20 20 20 |er")....|)... |
|000036c0| 20 20 29 0d 0a 0d 0a 09 | 28 73 65 6e 64 20 4c 69 | ).....|(send Li|
|000036d0| 73 74 5f 42 72 6f 77 73 | 65 72 20 3a 61 6e 73 77 |st_Brows|er :answ|
|000036e0| 65 72 20 3a 44 45 4c 45 | 54 45 5f 50 4f 53 20 27 |er :DELE|TE_POS '|
|000036f0| 28 70 6f 73 69 74 69 6f | 6e 29 0d 0a 09 20 20 20 |(positio|n)... |
|00003700| 20 20 20 27 28 0d 0a 09 | 09 28 73 65 74 71 20 69 | '(...|.(setq i|
|00003710| 74 65 6d 73 20 28 61 72 | 72 61 79 2d 64 65 6c 65 |tems (ar|ray-dele|
|00003720| 74 65 2d 70 6f 73 20 69 | 74 65 6d 73 20 28 31 2d |te-pos i|tems (1-|
|00003730| 20 70 6f 73 69 74 69 6f | 6e 29 29 29 0d 0a 09 09 | positio|n)))....|
|00003740| 28 73 65 6e 64 2d 73 75 | 70 65 72 20 3a 64 65 6c |(send-su|per :del|
|00003750| 65 74 65 5f 70 6f 73 20 | 70 6f 73 69 74 69 6f 6e |ete_pos |position|
|00003760| 29 0d 0a 09 20 20 20 20 | 20 20 20 29 0d 0a 09 20 |)... | )... |
|00003770| 20 20 20 20 29 0d 0a 0d | 0a 54 6f 20 73 65 65 20 | )...|.To see |
|00003780| 68 6f 77 20 74 68 69 73 | 20 73 75 62 63 6c 61 73 |how this| subclas|
|00003790| 73 65 64 20 6c 69 73 74 | 20 62 72 6f 77 73 65 72 |sed list| browser|
|000037a0| 20 69 73 20 75 73 65 64 | 2c 20 61 6e 64 20 61 6c | is used|, and al|
|000037b0| 73 6f 20 74 6f 20 73 65 | 65 20 68 6f 77 20 6f 6e |so to se|e how on|
|000037c0| 65 0d 0a 6d 69 67 68 74 | 20 77 72 69 74 65 20 61 |e..might| write a|
|000037d0| 20 73 61 6d 70 6c 65 20 | 61 70 70 6c 69 63 61 74 | sample |applicat|
|000037e0| 69 6f 6e 20 69 6e 20 57 | 49 4e 54 45 52 50 20 75 |ion in W|INTERP u|
|000037f0| 73 69 6e 67 20 74 68 65 | 20 6f 62 6a 65 63 74 20 |sing the| object |
|00003800| 6f 72 69 65 6e 74 65 64 | 0d 0a 66 65 61 74 75 72 |oriented|..featur|
|00003810| 65 73 20 6f 66 20 58 4c | 49 53 50 2c 20 73 65 65 |es of XL|ISP, see|
|00003820| 20 2e 2f 77 69 6e 74 65 | 72 70 2f 65 78 61 6d 70 | ./winte|rp/examp|
|00003830| 6c 65 73 2f 67 72 65 70 | 2d 62 72 2e 6c 73 70 2e |les/grep|-br.lsp.|
|00003840| 20 20 54 68 61 74 20 66 | 69 6c 65 0d 0a 69 6d 70 | That f|ile..imp|
|00003850| 6c 65 6d 65 6e 74 73 20 | 61 20 73 69 6d 70 6c 65 |lements |a simple|
|00003860| 20 73 65 61 72 63 68 20 | 62 72 6f 77 73 65 72 20 | search |browser |
|00003870| 62 61 73 65 64 20 6f 6e | 20 74 68 65 20 55 4e 2a |based on| the UN*|
|00003880| 58 20 63 6f 6d 6d 61 6e | 64 20 27 67 72 65 70 27 |X comman|d 'grep'|
|00003890| 2e 20 53 65 65 0d 0a 61 | 6c 73 6f 20 2e 2f 77 69 |. See..a|lso ./wi|
|000038a0| 6e 74 65 72 70 2f 65 78 | 61 6d 70 6c 65 73 2f 6d |nterp/ex|amples/m|
|000038b0| 61 69 6c 2d 62 72 2e 6c | 73 70 20 74 6f 20 73 65 |ail-br.l|sp to se|
|000038c0| 65 20 68 6f 77 20 79 6f | 75 20 63 61 6e 20 62 75 |e how yo|u can bu|
|000038d0| 69 6c 64 20 61 20 73 69 | 6d 70 6c 65 0d 0a 6d 68 |ild a si|mple..mh|
|000038e0| 2d 62 61 73 65 64 20 6d | 61 69 6c 20 62 72 6f 77 |-based m|ail brow|
|000038f0| 73 65 72 2e 20 46 69 6e | 61 6c 6c 79 2c 20 61 73 |ser. Fin|ally, as|
|00003900| 20 61 6e 6f 74 68 65 72 | 20 65 78 61 6d 70 6c 65 | another| example|
|00003910| 20 6f 66 20 73 75 62 63 | 6c 61 73 73 69 6e 67 20 | of subc|lassing |
|00003920| 4d 6f 74 69 66 0d 0a 77 | 69 64 67 65 74 73 2c 20 |Motif..w|idgets, |
|00003930| 73 65 65 20 2e 2f 77 69 | 6e 74 65 72 70 2f 65 78 |see ./wi|nterp/ex|
|00003940| 61 6d 70 6c 65 73 2f 72 | 61 64 69 6f 62 6f 78 32 |amples/r|adiobox2|
|00003950| 2e 6c 73 70 2e 0d 0a 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.lsp...-|--------|
|00003960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000039a0| 2d 2d 2d 2d 2d 2d 0d 0a | 09 20 20 20 20 4e 69 65 |------..|. Nie|
|000039b0| 6c 73 20 4d 61 79 65 72 | 20 2d 2d 20 68 70 6c 61 |ls Mayer| -- hpla|
|000039c0| 62 73 21 6d 61 79 65 72 | 20 2d 2d 20 6d 61 79 65 |bs!mayer| -- maye|
|000039d0| 72 40 68 70 6c 61 62 73 | 2e 68 70 2e 63 6f 6d 0d |r@hplabs|.hp.com.|
|000039e0| 0a 09 09 20 20 48 75 6d | 61 6e 2d 43 6f 6d 70 75 |... Hum|an-Compu|
|000039f0| 74 65 72 20 49 6e 74 65 | 72 61 63 74 69 6f 6e 20 |ter Inte|raction |
|00003a00| 44 65 70 61 72 74 6d 65 | 6e 74 0d 0a 09 09 20 20 |Departme|nt.... |
|00003a10| 20 20 20 20 20 48 65 77 | 6c 65 74 74 2d 50 61 63 | Hew|lett-Pac|
|00003a20| 6b 61 72 64 20 4c 61 62 | 6f 72 61 74 6f 72 69 65 |kard Lab|oratorie|
|00003a30| 73 0d 0a 09 09 09 20 20 | 20 20 20 20 50 61 6c 6f |s..... | Palo|
|00003a40| 20 41 6c 74 6f 2c 20 43 | 41 2e 0d 0a 09 09 09 09 | Alto, C|A.......|
|00003a50| 20 20 20 2a 0d 0a 0d 0a | 0d 0a | *....|.. |
+--------+-------------------------+-------------------------+--------+--------+