home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
You can browse this item here: 2305
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Newsgroup Content (archive/news)
| magic
| Supported |
100%
| dexvert
| SHell self-extracting ARchive (archive/shar)
| magic
| Supported |
100%
| dexvert
| Internet Message Format (text/imf)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| news or mail, ASCII text
| default
| |
100%
| TrID
| E-Mail message (Var. 2)
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/329 Shell Archive Format
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
| |
100%
| xdgMime
| message/rfc822
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 3a 20 6a 61 | 73 6f 6e 40 67 63 78 31 |From: ja|son@gcx1|
|00000010| 2e 73 73 64 2e 63 73 64 | 2e 68 61 72 72 69 73 2e |.ssd.csd|.harris.|
|00000020| 63 6f 6d 20 28 4a 61 73 | 6f 6e 20 42 61 69 65 74 |com (Jas|on Baiet|
|00000030| 74 6f 29 0a 4e 65 77 73 | 67 72 6f 75 70 73 3a 20 |to).News|groups: |
|00000040| 61 6c 74 2e 73 6f 75 72 | 63 65 73 0a 53 75 62 6a |alt.sour|ces.Subj|
|00000050| 65 63 74 3a 20 78 64 69 | 61 72 79 20 35 2f 35 20 |ect: xdi|ary 5/5 |
|00000060| 28 58 20 62 61 73 65 64 | 20 63 61 6c 65 6e 64 61 |(X based| calenda|
|00000070| 72 20 61 6e 64 20 64 69 | 61 72 79 29 0a 4d 65 73 |r and di|ary).Mes|
|00000080| 73 61 67 65 2d 49 44 3a | 20 3c 31 37 39 38 40 74 |sage-ID:| <1798@t|
|00000090| 72 61 76 69 73 2e 63 73 | 64 2e 68 61 72 72 69 73 |ravis.cs|d.harris|
|000000a0| 2e 63 6f 6d 3e 0a 44 61 | 74 65 3a 20 31 32 20 44 |.com>.Da|te: 12 D|
|000000b0| 65 63 20 39 30 20 32 33 | 3a 32 39 3a 33 37 20 47 |ec 90 23|:29:37 G|
|000000c0| 4d 54 0a 0a 23 21 20 2f | 62 69 6e 2f 73 68 0a 23 |MT..#! /|bin/sh.#|
|000000d0| 20 54 68 69 73 20 69 73 | 20 61 20 73 68 65 6c 6c | This is| a shell|
|000000e0| 20 61 72 63 68 69 76 65 | 2e 20 20 52 65 6d 6f 76 | archive|. Remov|
|000000f0| 65 20 61 6e 79 74 68 69 | 6e 67 20 62 65 66 6f 72 |e anythi|ng befor|
|00000100| 65 20 74 68 69 73 20 6c | 69 6e 65 2c 20 74 68 65 |e this l|ine, the|
|00000110| 6e 20 75 6e 70 61 63 6b | 0a 23 20 69 74 20 62 79 |n unpack|.# it by|
|00000120| 20 73 61 76 69 6e 67 20 | 69 74 20 69 6e 74 6f 20 | saving |it into |
|00000130| 61 20 66 69 6c 65 20 61 | 6e 64 20 74 79 70 69 6e |a file a|nd typin|
|00000140| 67 20 22 73 68 20 66 69 | 6c 65 22 2e 20 20 54 6f |g "sh fi|le". To|
|00000150| 20 6f 76 65 72 77 72 69 | 74 65 20 65 78 69 73 74 | overwri|te exist|
|00000160| 69 6e 67 0a 23 20 66 69 | 6c 65 73 2c 20 74 79 70 |ing.# fi|les, typ|
|00000170| 65 20 22 73 68 20 66 69 | 6c 65 20 2d 63 22 2e 20 |e "sh fi|le -c". |
|00000180| 20 59 6f 75 20 63 61 6e | 20 61 6c 73 6f 20 66 65 | You can| also fe|
|00000190| 65 64 20 74 68 69 73 20 | 61 73 20 73 74 61 6e 64 |ed this |as stand|
|000001a0| 61 72 64 20 69 6e 70 75 | 74 20 76 69 61 0a 23 20 |ard inpu|t via.# |
|000001b0| 75 6e 73 68 61 72 2c 20 | 6f 72 20 62 79 20 74 79 |unshar, |or by ty|
|000001c0| 70 69 6e 67 20 22 73 68 | 20 3c 66 69 6c 65 22 2c |ping "sh| <file",|
|000001d0| 20 65 2e 67 2e 2e 20 20 | 49 66 20 74 68 69 73 20 | e.g.. |If this |
|000001e0| 61 72 63 68 69 76 65 20 | 69 73 20 63 6f 6d 70 6c |archive |is compl|
|000001f0| 65 74 65 2c 20 79 6f 75 | 0a 23 20 77 69 6c 6c 20 |ete, you|.# will |
|00000200| 73 65 65 20 74 68 65 20 | 66 6f 6c 6c 6f 77 69 6e |see the |followin|
|00000210| 67 20 6d 65 73 73 61 67 | 65 20 61 74 20 74 68 65 |g messag|e at the|
|00000220| 20 65 6e 64 3a 0a 23 09 | 09 22 45 6e 64 20 6f 66 | end:.#.|."End of|
|00000230| 20 61 72 63 68 69 76 65 | 20 35 20 28 6f 66 20 35 | archive| 5 (of 5|
|00000240| 29 2e 22 0a 23 20 43 6f | 6e 74 65 6e 74 73 3a 20 |).".# Co|ntents: |
|00000250| 20 43 61 6c 65 6e 64 61 | 72 2e 63 0a 23 20 57 72 | Calenda|r.c.# Wr|
|00000260| 61 70 70 65 64 20 62 79 | 20 6a 61 73 6f 6e 40 68 |apped by| jason@h|
|00000270| 63 78 32 20 6f 6e 20 54 | 68 75 20 44 65 63 20 20 |cx2 on T|hu Dec |
|00000280| 36 20 31 32 3a 34 39 3a | 32 33 20 31 39 39 30 0a |6 12:49:|23 1990.|
|00000290| 50 41 54 48 3d 2f 62 69 | 6e 3a 2f 75 73 72 2f 62 |PATH=/bi|n:/usr/b|
|000002a0| 69 6e 3a 2f 75 73 72 2f | 75 63 62 20 3b 20 65 78 |in:/usr/|ucb ; ex|
|000002b0| 70 6f 72 74 20 50 41 54 | 48 0a 69 66 20 74 65 73 |port PAT|H.if tes|
|000002c0| 74 20 2d 66 20 27 43 61 | 6c 65 6e 64 61 72 2e 63 |t -f 'Ca|lendar.c|
|000002d0| 27 20 2d 61 20 22 24 7b | 31 7d 22 20 21 3d 20 22 |' -a "${|1}" != "|
|000002e0| 2d 63 22 20 3b 20 74 68 | 65 6e 20 0a 20 20 65 63 |-c" ; th|en . ec|
|000002f0| 68 6f 20 73 68 61 72 3a | 20 57 69 6c 6c 20 6e 6f |ho shar:| Will no|
|00000300| 74 20 63 6c 6f 62 62 65 | 72 20 65 78 69 73 74 69 |t clobbe|r existi|
|00000310| 6e 67 20 66 69 6c 65 20 | 5c 22 27 43 61 6c 65 6e |ng file |\"'Calen|
|00000320| 64 61 72 2e 63 27 5c 22 | 0a 65 6c 73 65 0a 65 63 |dar.c'\"|.else.ec|
|00000330| 68 6f 20 73 68 61 72 3a | 20 45 78 74 72 61 63 74 |ho shar:| Extract|
|00000340| 69 6e 67 20 5c 22 27 43 | 61 6c 65 6e 64 61 72 2e |ing \"'C|alendar.|
|00000350| 63 27 5c 22 20 5c 28 35 | 38 31 37 31 20 63 68 61 |c'\" \(5|8171 cha|
|00000360| 72 61 63 74 65 72 73 5c | 29 0a 73 65 64 20 22 73 |racters\|).sed "s|
|00000370| 2f 5e 58 2f 2f 22 20 3e | 27 43 61 6c 65 6e 64 61 |/^X//" >|'Calenda|
|00000380| 72 2e 63 27 20 3c 3c 27 | 45 4e 44 5f 4f 46 5f 46 |r.c' <<'|END_OF_F|
|00000390| 49 4c 45 27 0a 58 2f 2a | 0a 58 20 2a 20 41 75 74 |ILE'.X/*|.X * Aut|
|000003a0| 68 6f 72 3a 20 4a 61 73 | 6f 6e 20 42 61 69 65 74 |hor: Jas|on Baiet|
|000003b0| 74 6f 2c 20 6a 61 73 6f | 6e 40 73 73 64 2e 63 73 |to, jaso|n@ssd.cs|
|000003c0| 64 2e 68 61 72 72 69 73 | 2e 63 6f 6d 0a 58 20 2a |d.harris|.com.X *|
|000003d0| 20 78 64 69 61 72 79 20 | 43 6f 70 79 72 69 67 68 | xdiary |Copyrigh|
|000003e0| 74 20 31 39 39 30 20 48 | 61 72 72 69 73 20 43 6f |t 1990 H|arris Co|
|000003f0| 72 70 6f 72 61 74 69 6f | 6e 0a 58 20 2a 0a 58 20 |rporatio|n.X *.X |
|00000400| 2a 20 50 65 72 6d 69 73 | 73 69 6f 6e 20 74 6f 20 |* Permis|sion to |
|00000410| 75 73 65 2c 20 63 6f 70 | 79 2c 20 6d 6f 64 69 66 |use, cop|y, modif|
|00000420| 79 2c 20 61 6e 64 20 64 | 69 73 74 72 69 62 75 74 |y, and d|istribut|
|00000430| 65 2c 20 74 68 69 73 20 | 73 6f 66 74 77 61 72 65 |e, this |software|
|00000440| 20 61 6e 64 20 69 74 73 | 0a 58 20 2a 20 64 6f 63 | and its|.X * doc|
|00000450| 75 6d 65 6e 74 61 74 69 | 6f 6e 20 66 6f 72 20 61 |umentati|on for a|
|00000460| 6e 79 20 70 75 72 70 6f | 73 65 20 69 73 20 68 65 |ny purpo|se is he|
|00000470| 72 65 62 79 20 67 72 61 | 6e 74 65 64 20 77 69 74 |reby gra|nted wit|
|00000480| 68 6f 75 74 20 66 65 65 | 2c 20 70 72 6f 76 69 64 |hout fee|, provid|
|00000490| 65 64 20 74 68 61 74 0a | 58 20 2a 20 74 68 65 20 |ed that.|X * the |
|000004a0| 61 62 6f 76 65 20 63 6f | 70 79 72 69 67 68 74 20 |above co|pyright |
|000004b0| 6e 6f 74 69 63 65 20 61 | 70 70 65 61 72 20 69 6e |notice a|ppear in|
|000004c0| 20 61 6c 6c 20 63 6f 70 | 69 65 73 20 61 6e 64 20 | all cop|ies and |
|000004d0| 74 68 61 74 20 62 6f 74 | 68 20 74 68 61 74 0a 58 |that bot|h that.X|
|000004e0| 20 2a 20 63 6f 70 79 72 | 69 67 68 74 20 6e 6f 74 | * copyr|ight not|
|000004f0| 69 63 65 20 61 6e 64 20 | 74 68 69 73 20 70 65 72 |ice and |this per|
|00000500| 6d 69 73 73 69 6f 6e 20 | 6e 6f 74 69 63 65 20 61 |mission |notice a|
|00000510| 70 70 65 61 72 20 69 6e | 20 73 75 70 70 6f 72 74 |ppear in| support|
|00000520| 69 6e 67 0a 58 20 2a 20 | 64 6f 63 75 6d 65 6e 74 |ing.X * |document|
|00000530| 61 74 69 6f 6e 2c 20 61 | 6e 64 20 74 68 61 74 20 |ation, a|nd that |
|00000540| 74 68 65 20 6e 61 6d 65 | 20 6f 66 20 74 68 65 20 |the name| of the |
|00000550| 63 6f 70 79 72 69 67 68 | 74 20 68 6f 6c 64 65 72 |copyrigh|t holder|
|00000560| 20 62 65 20 75 73 65 64 | 20 69 6e 0a 58 20 2a 20 | be used| in.X * |
|00000570| 61 64 76 65 72 74 69 73 | 69 6e 67 20 6f 72 20 70 |advertis|ing or p|
|00000580| 75 62 6c 69 63 69 74 79 | 20 70 65 72 74 61 69 6e |ublicity| pertain|
|00000590| 69 6e 67 20 74 6f 20 64 | 69 73 74 72 69 62 75 74 |ing to d|istribut|
|000005a0| 69 6f 6e 20 6f 66 20 74 | 68 65 20 73 6f 66 74 77 |ion of t|he softw|
|000005b0| 61 72 65 20 77 69 74 68 | 0a 58 20 2a 20 73 70 65 |are with|.X * spe|
|000005c0| 63 69 66 69 63 2c 20 77 | 72 69 74 74 65 6e 20 70 |cific, w|ritten p|
|000005d0| 72 69 6f 72 20 70 65 72 | 6d 69 73 73 69 6f 6e 2c |rior per|mission,|
|000005e0| 20 61 6e 64 20 74 68 61 | 74 20 6e 6f 20 66 65 65 | and tha|t no fee|
|000005f0| 20 69 73 20 63 68 61 72 | 67 65 64 20 66 6f 72 20 | is char|ged for |
|00000600| 66 75 72 74 68 65 72 0a | 58 20 2a 20 64 69 73 74 |further.|X * dist|
|00000610| 72 69 62 75 74 69 6f 6e | 20 6f 66 20 74 68 69 73 |ribution| of this|
|00000620| 20 73 6f 66 74 77 61 72 | 65 2c 20 6f 72 20 61 6e | softwar|e, or an|
|00000630| 79 20 6d 6f 64 69 66 69 | 63 61 74 69 6f 6e 73 20 |y modifi|cations |
|00000640| 74 68 65 72 65 6f 66 2e | 20 20 54 68 65 20 63 6f |thereof.| The co|
|00000650| 70 79 72 69 67 68 74 0a | 58 20 2a 20 68 6f 6c 64 |pyright.|X * hold|
|00000660| 65 72 20 6d 61 6b 65 73 | 20 6e 6f 20 72 65 70 72 |er makes| no repr|
|00000670| 65 73 65 6e 74 61 74 69 | 6f 6e 73 20 61 62 6f 75 |esentati|ons abou|
|00000680| 74 20 74 68 65 20 73 75 | 69 74 61 62 69 6c 69 74 |t the su|itabilit|
|00000690| 79 20 6f 66 20 74 68 69 | 73 20 73 6f 66 74 77 61 |y of thi|s softwa|
|000006a0| 72 65 20 66 6f 72 0a 58 | 20 2a 20 61 6e 79 20 70 |re for.X| * any p|
|000006b0| 75 72 70 6f 73 65 2e 20 | 20 49 74 20 69 73 20 70 |urpose. | It is p|
|000006c0| 72 6f 76 69 64 65 64 20 | 22 61 73 20 69 73 22 20 |rovided |"as is" |
|000006d0| 77 69 74 68 6f 75 74 20 | 65 78 70 72 65 73 73 20 |without |express |
|000006e0| 6f 72 20 69 6d 70 6c 69 | 65 64 20 77 61 72 72 61 |or impli|ed warra|
|000006f0| 6e 74 79 2e 0a 58 20 2a | 0a 58 20 2a 20 54 48 45 |nty..X *|.X * THE|
|00000700| 20 43 4f 50 59 52 49 47 | 48 54 20 48 4f 4c 44 45 | COPYRIG|HT HOLDE|
|00000710| 52 20 44 49 53 43 4c 41 | 49 4d 53 20 41 4c 4c 20 |R DISCLA|IMS ALL |
|00000720| 57 41 52 52 41 4e 54 49 | 45 53 20 57 49 54 48 20 |WARRANTI|ES WITH |
|00000730| 52 45 47 41 52 44 20 54 | 4f 20 54 48 49 53 20 53 |REGARD T|O THIS S|
|00000740| 4f 46 54 57 41 52 45 2c | 0a 58 20 2a 20 49 4e 43 |OFTWARE,|.X * INC|
|00000750| 4c 55 44 49 4e 47 20 41 | 4c 4c 20 49 4d 50 4c 49 |LUDING A|LL IMPLI|
|00000760| 45 44 20 57 41 52 52 41 | 4e 54 49 45 53 20 4f 46 |ED WARRA|NTIES OF|
|00000770| 20 4d 45 52 43 48 41 4e | 54 41 42 49 4c 49 54 59 | MERCHAN|TABILITY|
|00000780| 20 41 4e 44 20 46 49 54 | 4e 45 53 53 2c 20 41 4e | AND FIT|NESS, AN|
|00000790| 44 20 49 4e 20 4e 4f 0a | 58 20 2a 20 45 56 45 4e |D IN NO.|X * EVEN|
|000007a0| 54 20 53 48 41 4c 4c 20 | 54 48 45 20 43 4f 50 59 |T SHALL |THE COPY|
|000007b0| 52 49 47 48 54 20 48 4f | 4c 44 45 52 20 42 45 20 |RIGHT HO|LDER BE |
|000007c0| 4c 49 41 42 4c 45 20 46 | 4f 52 20 41 4e 59 20 53 |LIABLE F|OR ANY S|
|000007d0| 50 45 43 49 41 4c 2c 20 | 49 4e 44 49 52 45 43 54 |PECIAL, |INDIRECT|
|000007e0| 20 4f 52 0a 58 20 2a 20 | 43 4f 4e 53 45 51 55 45 | OR.X * |CONSEQUE|
|000007f0| 4e 54 49 41 4c 20 44 41 | 4d 41 47 45 53 20 4f 52 |NTIAL DA|MAGES OR|
|00000800| 20 41 4e 59 20 44 41 4d | 41 47 45 53 20 57 48 41 | ANY DAM|AGES WHA|
|00000810| 54 53 4f 45 56 45 52 20 | 52 45 53 55 4c 54 49 4e |TSOEVER |RESULTIN|
|00000820| 47 20 46 52 4f 4d 20 49 | 54 53 20 55 53 45 2c 0a |G FROM I|TS USE,.|
|00000830| 58 20 2a 20 4c 4f 53 53 | 20 4f 46 20 44 41 54 41 |X * LOSS| OF DATA|
|00000840| 2c 20 50 52 4f 46 49 54 | 53 2c 20 51 50 41 20 4f |, PROFIT|S, QPA O|
|00000850| 52 20 47 50 41 2c 20 57 | 48 45 54 48 45 52 20 49 |R GPA, W|HETHER I|
|00000860| 4e 20 41 4e 20 41 43 54 | 49 4f 4e 20 4f 46 20 43 |N AN ACT|ION OF C|
|00000870| 4f 4e 54 52 41 43 54 2c | 0a 58 20 2a 20 4e 45 47 |ONTRACT,|.X * NEG|
|00000880| 4c 49 47 45 4e 43 45 20 | 4f 52 20 4f 54 48 45 52 |LIGENCE |OR OTHER|
|00000890| 20 54 4f 52 54 49 4f 55 | 53 20 41 43 54 49 4f 4e | TORTIOU|S ACTION|
|000008a0| 2c 20 41 52 49 53 49 4e | 47 20 4f 55 54 20 4f 46 |, ARISIN|G OUT OF|
|000008b0| 20 4f 52 20 49 4e 20 43 | 4f 4e 4e 45 43 54 49 4f | OR IN C|ONNECTIO|
|000008c0| 4e 20 57 49 54 48 0a 58 | 20 2a 20 54 48 45 20 55 |N WITH.X| * THE U|
|000008d0| 53 45 20 4f 52 20 50 45 | 52 46 4f 52 4d 41 4e 43 |SE OR PE|RFORMANC|
|000008e0| 45 20 4f 46 20 54 48 49 | 53 20 53 4f 46 54 57 41 |E OF THI|S SOFTWA|
|000008f0| 52 45 2e 0a 58 20 2a 2f | 0a 58 0a 58 2f 2a 3d 3d |RE..X */|.X.X/*==|
|00000900| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000910| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000920| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000930| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000940| 3d 3d 3d 3d 3d 3d 3d 3d | 2a 2f 0a 58 2f 2a 20 20 |========|*/.X/* |
|00000950| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000960| 20 20 20 20 20 20 20 20 | 20 20 20 20 48 65 61 64 | | Head|
|00000970| 65 72 20 46 69 6c 65 73 | 3a 20 20 20 20 20 20 20 |er Files|: |
|00000980| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000990| 20 20 20 20 20 20 20 20 | 2a 2f 0a 58 2f 2a 3d 3d | |*/.X/*==|
|000009a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000009b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000009c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000009d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000009e0| 3d 3d 3d 3d 3d 3d 3d 3d | 2a 2f 0a 58 23 69 6e 63 |========|*/.X#inc|
|000009f0| 6c 75 64 65 20 3c 73 74 | 64 69 6f 2e 68 3e 0a 58 |lude <st|dio.h>.X|
|00000a00| 23 69 6e 63 6c 75 64 65 | 20 3c 58 31 31 2f 58 6f |#include| <X11/Xo|
|00000a10| 73 2e 68 3e 0a 58 23 69 | 6e 63 6c 75 64 65 20 3c |s.h>.X#i|nclude <|
|00000a20| 58 31 31 2f 53 74 72 69 | 6e 67 44 65 66 73 2e 68 |X11/Stri|ngDefs.h|
|00000a30| 3e 0a 58 23 69 6e 63 6c | 75 64 65 20 3c 58 31 31 |>.X#incl|ude <X11|
|00000a40| 2f 49 6e 74 72 69 6e 73 | 69 63 50 2e 68 3e 0a 58 |/Intrins|icP.h>.X|
|00000a50| 23 69 6e 63 6c 75 64 65 | 20 3c 58 31 31 2f 58 6d |#include| <X11/Xm|
|00000a60| 75 2f 43 6f 6e 76 65 72 | 74 65 72 73 2e 68 3e 0a |u/Conver|ters.h>.|
|00000a70| 58 23 69 6e 63 6c 75 64 | 65 20 22 43 61 6c 65 6e |X#includ|e "Calen|
|00000a80| 64 61 72 50 2e 68 22 0a | 58 0a 58 23 69 66 64 65 |darP.h".|X.X#ifde|
|00000a90| 66 20 44 45 42 55 47 0a | 58 23 64 65 66 69 6e 65 |f DEBUG.|X#define|
|00000aa0| 20 42 45 47 49 4e 28 73 | 74 72 29 20 28 2f 2a 56 | BEGIN(s|tr) (/*V|
|00000ab0| 41 52 41 52 47 53 30 2a | 2f 66 70 72 69 6e 74 66 |ARARGS0*|/fprintf|
|00000ac0| 28 73 74 64 65 72 72 2c | 20 22 25 73 28 29 5c 6e |(stderr,| "%s()\n|
|00000ad0| 22 2c 20 28 73 74 72 29 | 29 29 0a 58 23 64 65 66 |", (str)|)).X#def|
|00000ae0| 69 6e 65 20 45 4e 44 28 | 73 74 72 29 20 3b 0a 58 |ine END(|str) ;.X|
|00000af0| 23 65 6c 73 65 0a 58 23 | 64 65 66 69 6e 65 20 42 |#else.X#|define B|
|00000b00| 45 47 49 4e 28 73 74 72 | 29 20 3b 0a 58 23 64 65 |EGIN(str|) ;.X#de|
|00000b10| 66 69 6e 65 20 45 4e 44 | 28 73 74 72 29 20 3b 0a |fine END|(str) ;.|
|00000b20| 58 23 65 6e 64 69 66 0a | 58 0a 58 0a 58 2f 2a 3d |X#endif.|X.X.X/*=|
|00000b30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 2a 2f 0a 58 2f 2a 20 |========|=*/.X/* |
|00000b80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000b90| 20 20 20 20 20 20 20 20 | 20 20 20 46 6f 72 77 61 | | Forwa|
|00000ba0| 72 64 20 52 65 66 65 72 | 65 6e 63 65 73 3a 20 20 |rd Refer|ences: |
|00000bb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000bc0| 20 20 20 20 20 20 20 20 | 20 2a 2f 0a 58 2f 2a 3d | | */.X/*=|
|00000bd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000be0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000bf0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000c00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000c10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 2a 2f 0a 58 73 74 61 |========|=*/.Xsta|
|00000c20| 74 69 63 20 76 6f 69 64 | 20 69 6e 69 74 69 61 6c |tic void| initial|
|00000c30| 69 7a 65 5f 6c 69 6e 65 | 5f 47 43 73 28 29 3b 0a |ize_line|_GCs();.|
|00000c40| 58 73 74 61 74 69 63 20 | 76 6f 69 64 20 69 6e 69 |Xstatic |void ini|
|00000c50| 74 69 61 6c 69 7a 65 5f | 66 6f 6e 74 5f 47 43 73 |tialize_|font_GCs|
|00000c60| 5f 61 6e 64 5f 69 6e 66 | 6f 28 29 3b 0a 58 73 74 |_and_inf|o();.Xst|
|00000c70| 61 74 69 63 20 76 6f 69 | 64 20 63 6f 6d 70 75 74 |atic voi|d comput|
|00000c80| 65 5f 6d 69 6e 69 6d 75 | 6d 5f 63 65 6c 6c 5f 73 |e_minimu|m_cell_s|
|00000c90| 69 7a 65 28 29 3b 0a 58 | 73 74 61 74 69 63 20 76 |ize();.X|static v|
|00000ca0| 6f 69 64 20 63 6f 6d 70 | 75 74 65 5f 63 65 6c 6c |oid comp|ute_cell|
|00000cb0| 5f 67 65 6f 6d 65 74 72 | 79 28 29 3b 0a 58 73 74 |_geometr|y();.Xst|
|00000cc0| 61 74 69 63 20 76 6f 69 | 64 20 66 72 65 65 5f 6c |atic voi|d free_l|
|00000cd0| 69 6e 65 5f 47 43 73 28 | 29 3b 0a 58 73 74 61 74 |ine_GCs(|);.Xstat|
|00000ce0| 69 63 20 76 6f 69 64 20 | 66 72 65 65 5f 66 6f 6e |ic void |free_fon|
|00000cf0| 74 5f 47 43 73 5f 61 6e | 64 5f 69 6e 66 6f 28 29 |t_GCs_an|d_info()|
|00000d00| 3b 0a 58 73 74 61 74 69 | 63 20 76 6f 69 64 20 63 |;.Xstati|c void c|
|00000d10| 6f 6d 70 75 74 65 5f 67 | 72 69 64 28 29 3b 0a 58 |ompute_g|rid();.X|
|00000d20| 73 74 61 74 69 63 20 76 | 6f 69 64 20 64 72 61 77 |static v|oid draw|
|00000d30| 5f 67 72 69 64 28 29 3b | 0a 58 73 74 61 74 69 63 |_grid();|.Xstatic|
|00000d40| 20 76 6f 69 64 20 64 72 | 61 77 5f 77 65 65 6b 64 | void dr|aw_weekd|
|00000d50| 61 79 73 28 29 3b 0a 58 | 73 74 61 74 69 63 20 76 |ays();.X|static v|
|00000d60| 6f 69 64 20 64 72 61 77 | 5f 74 69 74 6c 65 28 29 |oid draw|_title()|
|00000d70| 3b 0a 58 73 74 61 74 69 | 63 20 76 6f 69 64 20 64 |;.Xstati|c void d|
|00000d80| 72 61 77 5f 64 69 67 69 | 74 73 28 29 3b 0a 58 73 |raw_digi|ts();.Xs|
|00000d90| 74 61 74 69 63 20 76 6f | 69 64 20 63 6f 6d 70 75 |tatic vo|id compu|
|00000da0| 74 65 5f 74 69 74 6c 65 | 5f 73 74 72 69 6e 67 28 |te_title|_string(|
|00000db0| 29 3b 0a 58 73 74 61 74 | 69 63 20 76 6f 69 64 20 |);.Xstat|ic void |
|00000dc0| 74 6f 67 67 6c 65 5f 68 | 69 67 68 6c 69 67 68 74 |toggle_h|ighlight|
|00000dd0| 28 29 3b 0a 58 73 74 61 | 74 69 63 20 76 6f 69 64 |();.Xsta|tic void|
|00000de0| 20 72 6f 74 61 74 65 5f | 77 65 65 6b 64 61 79 73 | rotate_|weekdays|
|00000df0| 28 29 3b 0a 58 73 74 61 | 74 69 63 20 76 6f 69 64 |();.Xsta|tic void|
|00000e00| 20 63 61 6c 65 6e 64 61 | 72 5f 75 70 64 61 74 65 | calenda|r_update|
|00000e10| 28 29 3b 0a 58 73 74 61 | 74 69 63 20 76 6f 69 64 |();.Xsta|tic void|
|00000e20| 20 63 6f 6d 70 75 74 65 | 5f 6d 6f 6e 74 68 5f 64 | compute|_month_d|
|00000e30| 61 74 61 28 29 3b 0a 58 | 0a 58 0a 58 0a 58 0a 58 |ata();.X|.X.X.X.X|
|00000e40| 2f 2a 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/*======|========|
|00000e50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 2a 2f 0a 58 |========|====*/.X|
|00000e90| 2f 2a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |/* | |
|00000ea0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 53 74 | | St|
|00000eb0| 61 74 69 63 20 47 6c 6f | 62 61 6c 20 44 61 74 61 |atic Glo|bal Data|
|00000ec0| 3a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |: | |
|00000ed0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2a 2f 0a 58 | | */.X|
|00000ee0| 2f 2a 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/*======|========|
|00000ef0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000f00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000f10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000f20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 2a 2f 0a 58 |========|====*/.X|
|00000f30| 73 74 61 74 69 63 20 69 | 6e 74 20 64 61 79 73 5f |static i|nt days_|
|00000f40| 69 6e 5f 6d 6f 6e 74 68 | 5b 5d 20 3d 20 0a 58 20 |in_month|[] = .X |
|00000f50| 20 20 2f 2a 20 6a 61 6e | 20 66 65 62 20 6d 61 72 | /* jan| feb mar|
|00000f60| 20 61 70 72 20 6d 61 79 | 20 6a 75 6e 20 6a 75 6c | apr may| jun jul|
|00000f70| 20 61 75 67 20 73 65 70 | 20 6f 63 74 20 6e 6f 76 | aug sep| oct nov|
|00000f80| 20 64 65 63 20 2a 2f 0a | 58 20 20 20 7b 20 20 33 | dec */.|X { 3|
|00000f90| 31 2c 20 2d 31 2c 20 33 | 31 2c 20 33 30 2c 20 33 |1, -1, 3|1, 30, 3|
|00000fa0| 31 2c 20 33 30 2c 20 33 | 31 2c 20 33 31 2c 20 33 |1, 30, 3|1, 31, 3|
|00000fb0| 30 2c 20 33 31 2c 20 33 | 30 2c 20 33 31 20 20 7d |0, 31, 3|0, 31 }|
|00000fc0| 3b 0a 58 0a 58 0a 58 0a | 58 0a 58 2f 2a 3d 3d 3d |;.X.X.X.|X.X/*===|
|00000fd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000fe0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000ff0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001000| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001010| 3d 3d 3d 3d 3d 3d 3d 2a | 2f 0a 58 2f 2a 20 20 20 |=======*|/.X/* |
|00001020| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001030| 20 20 20 20 20 20 20 20 | 20 20 20 52 65 73 6f 75 | | Resou|
|00001040| 72 63 65 20 4c 69 73 74 | 3a 20 20 20 20 20 20 20 |rce List|: |
|00001050| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001060| 20 20 20 20 20 20 20 2a | 2f 0a 58 2f 2a 3d 3d 3d | *|/.X/*===|
|00001070| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001080| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001090| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000010a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000010b0| 3d 3d 3d 3d 3d 3d 3d 2a | 2f 0a 58 23 64 65 66 69 |=======*|/.X#defi|
|000010c0| 6e 65 20 6f 66 66 73 65 | 74 28 66 69 65 6c 64 29 |ne offse|t(field)|
|000010d0| 20 58 74 4f 66 66 73 65 | 74 28 43 61 6c 65 6e 64 | XtOffse|t(Calend|
|000010e0| 61 72 57 69 64 67 65 74 | 2c 20 66 69 65 6c 64 29 |arWidget|, field)|
|000010f0| 0a 58 73 74 61 74 69 63 | 20 58 74 52 65 73 6f 75 |.Xstatic| XtResou|
|00001100| 72 63 65 20 63 61 6c 65 | 6e 64 61 72 5f 72 65 73 |rce cale|ndar_res|
|00001110| 6f 75 72 63 65 73 5b 5d | 20 3d 20 7b 0a 58 20 20 |ources[]| = {.X |
|00001120| 20 7b 0a 58 20 20 20 20 | 20 20 58 74 4e 63 61 6c | {.X | XtNcal|
|00001130| 6c 62 61 63 6b 2c 0a 58 | 20 20 20 20 20 20 58 74 |lback,.X| Xt|
|00001140| 43 43 61 6c 6c 62 61 63 | 6b 2c 0a 58 20 20 20 20 |CCallbac|k,.X |
|00001150| 20 20 58 74 52 43 61 6c | 6c 62 61 63 6b 2c 0a 58 | XtRCal|lback,.X|
|00001160| 20 20 20 20 20 20 73 69 | 7a 65 6f 66 28 58 74 50 | si|zeof(XtP|
|00001170| 6f 69 6e 74 65 72 29 2c | 0a 58 20 20 20 20 20 20 |ointer),|.X |
|00001180| 6f 66 66 73 65 74 28 63 | 61 6c 65 6e 64 61 72 2e |offset(c|alendar.|
|00001190| 63 61 6c 6c 62 61 63 6b | 29 2c 0a 58 20 20 20 20 |callback|),.X |
|000011a0| 20 20 58 74 52 43 61 6c | 6c 62 61 63 6b 2c 0a 58 | XtRCal|lback,.X|
|000011b0| 20 20 20 20 20 20 4e 55 | 4c 4c 0a 58 20 20 20 7d | NU|LL.X }|
|000011c0| 2c 0a 58 20 20 20 7b 0a | 58 20 20 20 20 20 20 58 |,.X {.|X X|
|000011d0| 74 4e 6c 69 6e 65 57 69 | 64 74 68 2c 0a 58 20 20 |tNlineWi|dth,.X |
|000011e0| 20 20 20 20 58 74 43 4c | 69 6e 65 57 69 64 74 68 | XtCL|ineWidth|
|000011f0| 2c 0a 58 20 20 20 20 20 | 20 58 74 52 49 6e 74 2c |,.X | XtRInt,|
|00001200| 0a 58 20 20 20 20 20 20 | 73 69 7a 65 6f 66 28 69 |.X |sizeof(i|
|00001210| 6e 74 29 2c 0a 58 20 20 | 20 20 20 20 6f 66 66 73 |nt),.X | offs|
|00001220| 65 74 28 63 61 6c 65 6e | 64 61 72 2e 6c 69 6e 65 |et(calen|dar.line|
|00001230| 5f 77 69 64 74 68 29 2c | 0a 58 20 20 20 20 20 20 |_width),|.X |
|00001240| 58 74 52 49 6d 6d 65 64 | 69 61 74 65 2c 0a 58 20 |XtRImmed|iate,.X |
|00001250| 20 20 20 20 20 28 58 74 | 50 6f 69 6e 74 65 72 29 | (Xt|Pointer)|
|00001260| 44 45 46 41 55 4c 54 5f | 4c 49 4e 45 5f 57 49 44 |DEFAULT_|LINE_WID|
|00001270| 54 48 0a 58 20 20 20 7d | 2c 0a 58 20 20 20 7b 0a |TH.X }|,.X {.|
|00001280| 58 20 20 20 20 20 20 58 | 74 4e 66 6f 72 65 67 72 |X X|tNforegr|
|00001290| 6f 75 6e 64 2c 0a 58 20 | 20 20 20 20 20 58 74 43 |ound,.X | XtC|
|000012a0| 46 6f 72 65 67 72 6f 75 | 6e 64 2c 0a 58 20 20 20 |Foregrou|nd,.X |
|000012b0| 20 20 20 58 74 52 50 69 | 78 65 6c 2c 0a 58 20 20 | XtRPi|xel,.X |
|000012c0| 20 20 20 20 73 69 7a 65 | 6f 66 28 50 69 78 65 6c | size|of(Pixel|
|000012d0| 29 2c 0a 58 20 20 20 20 | 20 20 6f 66 66 73 65 74 |),.X | offset|
|000012e0| 28 63 61 6c 65 6e 64 61 | 72 2e 66 6f 72 65 67 72 |(calenda|r.foregr|
|000012f0| 6f 75 6e 64 29 2c 0a 58 | 20 20 20 20 20 20 58 74 |ound),.X| Xt|
|00001300| 52 53 74 72 69 6e 67 2c | 0a 58 20 20 20 20 20 20 |RString,|.X |
|00001310| 58 74 44 65 66 61 75 6c | 74 46 6f 72 65 67 72 6f |XtDefaul|tForegro|
|00001320| 75 6e 64 0a 58 20 20 20 | 7d 2c 0a 58 20 20 20 7b |und.X |},.X {|
|00001330| 0a 58 20 20 20 20 20 20 | 58 74 4e 62 61 63 6b 67 |.X |XtNbackg|
|00001340| 72 6f 75 6e 64 2c 0a 58 | 20 20 20 20 20 20 58 74 |round,.X| Xt|
|00001350| 43 42 61 63 6b 67 72 6f | 75 6e 64 2c 0a 58 20 20 |CBackgro|und,.X |
|00001360| 20 20 20 20 58 74 52 50 | 69 78 65 6c 2c 0a 58 20 | XtRP|ixel,.X |
|00001370| 20 20 20 20 20 73 69 7a | 65 6f 66 28 50 69 78 65 | siz|eof(Pixe|
|00001380| 6c 29 2c 0a 58 20 20 20 | 20 20 20 6f 66 66 73 65 |l),.X | offse|
|00001390| 74 28 63 61 6c 65 6e 64 | 61 72 2e 62 61 63 6b 67 |t(calend|ar.backg|
|000013a0| 72 6f 75 6e 64 29 2c 0a | 58 20 20 20 20 20 20 58 |round),.|X X|
|000013b0| 74 52 53 74 72 69 6e 67 | 2c 0a 58 20 20 20 20 20 |tRString|,.X |
|000013c0| 20 58 74 44 65 66 61 75 | 6c 74 42 61 63 6b 67 72 | XtDefau|ltBackgr|
|000013d0| 6f 75 6e 64 0a 58 20 20 | 20 7d 2c 0a 58 20 20 20 |ound.X | },.X |
|000013e0| 7b 0a 58 20 20 20 20 20 | 20 58 74 4e 64 69 67 69 |{.X | XtNdigi|
|000013f0| 74 46 6f 6e 74 2c 0a 58 | 20 20 20 20 20 20 58 74 |tFont,.X| Xt|
|00001400| 43 43 61 6c 65 6e 64 61 | 72 46 6f 6e 74 2c 0a 58 |CCalenda|rFont,.X|
|00001410| 20 20 20 20 20 20 58 74 | 52 46 6f 6e 74 2c 0a 58 | Xt|RFont,.X|
|00001420| 20 20 20 20 20 20 73 69 | 7a 65 6f 66 28 46 6f 6e | si|zeof(Fon|
|00001430| 74 29 2c 0a 58 20 20 20 | 20 20 20 6f 66 66 73 65 |t),.X | offse|
|00001440| 74 28 63 61 6c 65 6e 64 | 61 72 2e 64 69 67 69 74 |t(calend|ar.digit|
|00001450| 5f 66 6f 6e 74 29 2c 0a | 58 20 20 20 20 20 20 58 |_font),.|X X|
|00001460| 74 52 53 74 72 69 6e 67 | 2c 0a 58 20 20 20 20 20 |tRString|,.X |
|00001470| 20 43 41 4c 45 4e 44 41 | 52 5f 44 45 46 41 55 4c | CALENDA|R_DEFAUL|
|00001480| 54 5f 46 4f 4e 54 0a 58 | 20 20 20 7d 2c 0a 58 20 |T_FONT.X| },.X |
|00001490| 20 20 7b 0a 58 20 20 20 | 20 20 20 58 74 4e 77 65 | {.X | XtNwe|
|000014a0| 65 6b 64 61 79 46 6f 6e | 74 2c 0a 58 20 20 20 20 |ekdayFon|t,.X |
|000014b0| 20 20 58 74 43 43 61 6c | 65 6e 64 61 72 46 6f 6e | XtCCal|endarFon|
|000014c0| 74 2c 0a 58 20 20 20 20 | 20 20 58 74 52 46 6f 6e |t,.X | XtRFon|
|000014d0| 74 2c 0a 58 20 20 20 20 | 20 20 73 69 7a 65 6f 66 |t,.X | sizeof|
|000014e0| 28 46 6f 6e 74 29 2c 0a | 58 20 20 20 20 20 20 6f |(Font),.|X o|
|000014f0| 66 66 73 65 74 28 63 61 | 6c 65 6e 64 61 72 2e 77 |ffset(ca|lendar.w|
|00001500| 65 65 6b 64 61 79 5f 66 | 6f 6e 74 29 2c 0a 58 20 |eekday_f|ont),.X |
|00001510| 20 20 20 20 20 58 74 52 | 53 74 72 69 6e 67 2c 0a | XtR|String,.|
|00001520| 58 20 20 20 20 20 20 43 | 41 4c 45 4e 44 41 52 5f |X C|ALENDAR_|
|00001530| 44 45 46 41 55 4c 54 5f | 46 4f 4e 54 0a 58 20 20 |DEFAULT_|FONT.X |
|00001540| 20 7d 2c 0a 58 20 20 20 | 7b 0a 58 20 20 20 20 20 | },.X |{.X |
|00001550| 20 58 74 4e 74 69 74 6c | 65 46 6f 6e 74 2c 0a 58 | XtNtitl|eFont,.X|
|00001560| 20 20 20 20 20 20 58 74 | 43 43 61 6c 65 6e 64 61 | Xt|CCalenda|
|00001570| 72 46 6f 6e 74 2c 0a 58 | 20 20 20 20 20 20 58 74 |rFont,.X| Xt|
|00001580| 52 46 6f 6e 74 2c 0a 58 | 20 20 20 20 20 20 73 69 |RFont,.X| si|
|00001590| 7a 65 6f 66 28 46 6f 6e | 74 29 2c 0a 58 20 20 20 |zeof(Fon|t),.X |
|000015a0| 20 20 20 6f 66 66 73 65 | 74 28 63 61 6c 65 6e 64 | offse|t(calend|
|000015b0| 61 72 2e 74 69 74 6c 65 | 5f 66 6f 6e 74 29 2c 0a |ar.title|_font),.|
|000015c0| 58 20 20 20 20 20 20 58 | 74 52 53 74 72 69 6e 67 |X X|tRString|
|000015d0| 2c 0a 58 20 20 20 20 20 | 20 43 41 4c 45 4e 44 41 |,.X | CALENDA|
|000015e0| 52 5f 44 45 46 41 55 4c | 54 5f 46 4f 4e 54 0a 58 |R_DEFAUL|T_FONT.X|
|000015f0| 20 20 20 7d 2c 0a 58 20 | 20 20 7b 0a 58 20 20 20 | },.X | {.X |
|00001600| 20 20 20 58 74 4e 69 6e | 66 6f 46 6f 6e 74 2c 0a | XtNin|foFont,.|
|00001610| 58 20 20 20 20 20 20 58 | 74 43 43 61 6c 65 6e 64 |X X|tCCalend|
|00001620| 61 72 46 6f 6e 74 2c 0a | 58 20 20 20 20 20 20 58 |arFont,.|X X|
|00001630| 74 52 46 6f 6e 74 2c 0a | 58 20 20 20 20 20 20 73 |tRFont,.|X s|
|00001640| 69 7a 65 6f 66 28 46 6f | 6e 74 29 2c 0a 58 20 20 |izeof(Fo|nt),.X |
|00001650| 20 20 20 20 6f 66 66 73 | 65 74 28 63 61 6c 65 6e | offs|et(calen|
|00001660| 64 61 72 2e 69 6e 66 6f | 5f 66 6f 6e 74 29 2c 0a |dar.info|_font),.|
|00001670| 58 20 20 20 20 20 20 58 | 74 52 53 74 72 69 6e 67 |X X|tRString|
|00001680| 2c 0a 58 20 20 20 20 20 | 20 43 41 4c 45 4e 44 41 |,.X | CALENDA|
|00001690| 52 5f 44 45 46 41 55 4c | 54 5f 46 4f 4e 54 0a 58 |R_DEFAUL|T_FONT.X|
|000016a0| 20 20 20 7d 2c 0a 58 20 | 20 20 7b 0a 58 20 20 20 | },.X | {.X |
|000016b0| 20 20 20 58 74 4e 64 69 | 67 69 74 47 72 61 76 69 | XtNdi|gitGravi|
|000016c0| 74 79 2c 0a 58 20 20 20 | 20 20 20 58 74 43 44 69 |ty,.X | XtCDi|
|000016d0| 67 69 74 47 72 61 76 69 | 74 79 2c 0a 58 20 20 20 |gitGravi|ty,.X |
|000016e0| 20 20 20 58 74 52 47 72 | 61 76 69 74 79 2c 0a 58 | XtRGr|avity,.X|
|000016f0| 20 20 20 20 20 20 73 69 | 7a 65 6f 66 28 58 74 47 | si|zeof(XtG|
|00001700| 72 61 76 69 74 79 29 2c | 0a 58 20 20 20 20 20 20 |ravity),|.X |
|00001710| 6f 66 66 73 65 74 28 63 | 61 6c 65 6e 64 61 72 2e |offset(c|alendar.|
|00001720| 64 69 67 69 74 5f 67 72 | 61 76 69 74 79 29 2c 0a |digit_gr|avity),.|
|00001730| 58 20 20 20 20 20 20 58 | 74 52 49 6d 6d 65 64 69 |X X|tRImmedi|
|00001740| 61 74 65 2c 0a 58 20 20 | 20 20 20 20 28 58 74 50 |ate,.X | (XtP|
|00001750| 6f 69 6e 74 65 72 29 43 | 65 6e 74 65 72 0a 58 20 |ointer)C|enter.X |
|00001760| 20 20 7d 2c 0a 58 20 20 | 20 7b 20 20 58 74 4e 64 | },.X | { XtNd|
|00001770| 69 67 69 74 4e 61 6d 65 | 73 2c 0a 58 20 20 20 20 |igitName|s,.X |
|00001780| 20 20 58 74 43 44 69 67 | 69 74 4e 61 6d 65 73 2c | XtCDig|itNames,|
|00001790| 0a 58 20 20 20 20 20 20 | 58 74 52 53 74 72 69 6e |.X |XtRStrin|
|000017a0| 67 54 61 62 6c 65 2c 0a | 58 20 20 20 20 20 20 73 |gTable,.|X s|
|000017b0| 69 7a 65 6f 66 28 53 74 | 72 69 6e 67 54 61 62 6c |izeof(St|ringTabl|
|000017c0| 65 29 2c 0a 58 20 20 20 | 20 20 20 6f 66 66 73 65 |e),.X | offse|
|000017d0| 74 28 63 61 6c 65 6e 64 | 61 72 2e 64 69 67 69 74 |t(calend|ar.digit|
|000017e0| 5f 6e 61 6d 65 73 29 2c | 0a 58 20 20 20 20 20 20 |_names),|.X |
|000017f0| 58 74 52 53 74 72 69 6e | 67 2c 0a 58 20 20 20 20 |XtRStrin|g,.X |
|00001800| 20 20 58 74 4e 44 65 66 | 61 75 6c 74 44 69 67 69 | XtNDef|aultDigi|
|00001810| 74 4e 61 6d 65 73 0a 58 | 20 20 20 7d 2c 0a 58 20 |tNames.X| },.X |
|00001820| 20 20 7b 20 20 58 74 4e | 77 65 65 6b 64 61 79 4e | { XtN|weekdayN|
|00001830| 61 6d 65 73 2c 0a 58 20 | 20 20 20 20 20 58 74 43 |ames,.X | XtC|
|00001840| 57 65 65 6b 64 61 79 4e | 61 6d 65 73 2c 0a 58 20 |WeekdayN|ames,.X |
|00001850| 20 20 20 20 20 58 74 52 | 53 74 72 69 6e 67 54 61 | XtR|StringTa|
|00001860| 62 6c 65 2c 0a 58 20 20 | 20 20 20 20 73 69 7a 65 |ble,.X | size|
|00001870| 6f 66 28 53 74 72 69 6e | 67 54 61 62 6c 65 29 2c |of(Strin|gTable),|
|00001880| 0a 58 20 20 20 20 20 20 | 6f 66 66 73 65 74 28 63 |.X |offset(c|
|00001890| 61 6c 65 6e 64 61 72 2e | 77 65 65 6b 64 61 79 5f |alendar.|weekday_|
|000018a0| 6e 61 6d 65 73 29 2c 0a | 58 20 20 20 20 20 20 58 |names),.|X X|
|000018b0| 74 52 53 74 72 69 6e 67 | 2c 0a 58 20 20 20 20 20 |tRString|,.X |
|000018c0| 20 58 74 4e 44 65 66 61 | 75 6c 74 57 65 65 6b 64 | XtNDefa|ultWeekd|
|000018d0| 61 79 4e 61 6d 65 73 0a | 58 20 20 20 7d 2c 0a 58 |ayNames.|X },.X|
|000018e0| 20 20 20 7b 20 20 58 74 | 4e 6d 6f 6e 74 68 4e 61 | { Xt|NmonthNa|
|000018f0| 6d 65 73 2c 0a 58 20 20 | 20 20 20 20 58 74 43 4d |mes,.X | XtCM|
|00001900| 6f 6e 74 68 4e 61 6d 65 | 73 2c 0a 58 20 20 20 20 |onthName|s,.X |
|00001910| 20 20 58 74 52 53 74 72 | 69 6e 67 54 61 62 6c 65 | XtRStr|ingTable|
|00001920| 2c 0a 58 20 20 20 20 20 | 20 73 69 7a 65 6f 66 28 |,.X | sizeof(|
|00001930| 53 74 72 69 6e 67 54 61 | 62 6c 65 29 2c 0a 58 20 |StringTa|ble),.X |
|00001940| 20 20 20 20 20 6f 66 66 | 73 65 74 28 63 61 6c 65 | off|set(cale|
|00001950| 6e 64 61 72 2e 6d 6f 6e | 74 68 5f 6e 61 6d 65 73 |ndar.mon|th_names|
|00001960| 29 2c 0a 58 20 20 20 20 | 20 20 58 74 52 53 74 72 |),.X | XtRStr|
|00001970| 69 6e 67 2c 0a 58 20 20 | 20 20 20 20 58 74 4e 44 |ing,.X | XtND|
|00001980| 65 66 61 75 6c 74 4d 6f | 6e 74 68 4e 61 6d 65 73 |efaultMo|nthNames|
|00001990| 0a 58 20 20 20 7d 2c 0a | 58 20 20 20 7b 20 20 58 |.X },.|X { X|
|000019a0| 74 4e 68 69 67 68 6c 69 | 67 68 74 2c 0a 58 20 20 |tNhighli|ght,.X |
|000019b0| 20 20 20 20 58 74 43 48 | 69 67 68 6c 69 67 68 74 | XtCH|ighlight|
|000019c0| 2c 0a 58 20 20 20 20 20 | 20 58 74 52 42 6f 6f 6c |,.X | XtRBool|
|000019d0| 65 61 6e 2c 0a 58 20 20 | 20 20 20 20 73 69 7a 65 |ean,.X | size|
|000019e0| 6f 66 28 42 6f 6f 6c 65 | 61 6e 29 2c 0a 58 20 20 |of(Boole|an),.X |
|000019f0| 20 20 20 20 6f 66 66 73 | 65 74 28 63 61 6c 65 6e | offs|et(calen|
|00001a00| 64 61 72 2e 68 69 67 68 | 6c 69 67 68 74 29 2c 0a |dar.high|light),.|
|00001a10| 58 20 20 20 20 20 20 58 | 74 52 49 6d 6d 65 64 69 |X X|tRImmedi|
|00001a20| 61 74 65 2c 0a 58 20 20 | 20 20 20 20 28 58 74 50 |ate,.X | (XtP|
|00001a30| 6f 69 6e 74 65 72 29 54 | 72 75 65 0a 58 20 20 20 |ointer)T|rue.X |
|00001a40| 7d 2c 0a 58 20 20 20 7b | 20 20 58 74 4e 73 68 6f |},.X {| XtNsho|
|00001a50| 77 59 65 61 72 2c 0a 58 | 20 20 20 20 20 20 58 74 |wYear,.X| Xt|
|00001a60| 43 53 68 6f 77 59 65 61 | 72 2c 0a 58 20 20 20 20 |CShowYea|r,.X |
|00001a70| 20 20 58 74 52 42 6f 6f | 6c 65 61 6e 2c 0a 58 20 | XtRBoo|lean,.X |
|00001a80| 20 20 20 20 20 73 69 7a | 65 6f 66 28 42 6f 6f 6c | siz|eof(Bool|
|00001a90| 65 61 6e 29 2c 0a 58 20 | 20 20 20 20 20 6f 66 66 |ean),.X | off|
|00001aa0| 73 65 74 28 63 61 6c 65 | 6e 64 61 72 2e 73 68 6f |set(cale|ndar.sho|
|00001ab0| 77 5f 79 65 61 72 29 2c | 0a 58 20 20 20 20 20 20 |w_year),|.X |
|00001ac0| 58 74 52 49 6d 6d 65 64 | 69 61 74 65 2c 0a 58 20 |XtRImmed|iate,.X |
|00001ad0| 20 20 20 20 20 28 58 74 | 50 6f 69 6e 74 65 72 29 | (Xt|Pointer)|
|00001ae0| 54 72 75 65 0a 58 20 20 | 20 7d 2c 0a 58 20 20 20 |True.X | },.X |
|00001af0| 7b 20 20 58 74 4e 73 74 | 61 72 74 69 6e 67 57 65 |{ XtNst|artingWe|
|00001b00| 65 6b 64 61 79 2c 0a 58 | 20 20 20 20 20 20 58 74 |ekday,.X| Xt|
|00001b10| 43 53 74 61 72 74 69 6e | 67 57 65 65 6b 64 61 79 |CStartin|gWeekday|
|00001b20| 2c 0a 58 20 20 20 20 20 | 20 58 74 52 44 61 79 4e |,.X | XtRDayN|
|00001b30| 61 6d 65 2c 0a 58 20 20 | 20 20 20 20 73 69 7a 65 |ame,.X | size|
|00001b40| 6f 66 28 58 74 44 61 79 | 4e 61 6d 65 29 2c 0a 58 |of(XtDay|Name),.X|
|00001b50| 20 20 20 20 20 20 6f 66 | 66 73 65 74 28 63 61 6c | of|fset(cal|
|00001b60| 65 6e 64 61 72 2e 73 74 | 61 72 74 69 6e 67 5f 77 |endar.st|arting_w|
|00001b70| 65 65 6b 64 61 79 29 2c | 0a 58 20 20 20 20 20 20 |eekday),|.X |
|00001b80| 58 74 52 49 6d 6d 65 64 | 69 61 74 65 2c 0a 58 20 |XtRImmed|iate,.X |
|00001b90| 20 20 20 20 20 28 58 74 | 50 6f 69 6e 74 65 72 29 | (Xt|Pointer)|
|00001ba0| 53 75 6e 64 61 79 0a 58 | 20 20 20 7d 0a 58 7d 3b |Sunday.X| }.X};|
|00001bb0| 0a 58 0a 58 0a 58 0a 58 | 2f 2a 3d 3d 3d 3d 3d 3d |.X.X.X.X|/*======|
|00001bc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001bd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001be0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001bf0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001c00| 3d 3d 3d 3d 2a 2f 0a 58 | 2f 2a 20 20 20 20 20 20 |====*/.X|/* |
|00001c10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c20| 20 20 20 20 20 41 63 74 | 69 6f 6e 20 44 65 63 6c | Act|ion Decl|
|00001c30| 61 72 61 74 69 6f 6e 73 | 3a 20 20 20 20 20 20 20 |arations|: |
|00001c40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c50| 20 20 20 20 2a 2f 0a 58 | 2f 2a 3d 3d 3d 3d 3d 3d | */.X|/*======|
|00001c60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001c70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001c80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001c90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001ca0| 3d 3d 3d 3d 2a 2f 0a 58 | 73 74 61 74 69 63 20 76 |====*/.X|static v|
|00001cb0| 6f 69 64 20 73 65 6c 65 | 63 74 5f 63 65 6c 6c 5f |oid sele|ct_cell_|
|00001cc0| 61 63 74 69 6f 6e 28 29 | 3b 0a 58 73 74 61 74 69 |action()|;.Xstati|
|00001cd0| 63 20 76 6f 69 64 20 64 | 65 66 61 75 6c 74 5f 62 |c void d|efault_b|
|00001ce0| 75 74 74 6f 6e 5f 75 70 | 5f 61 63 74 69 6f 6e 28 |utton_up|_action(|
|00001cf0| 29 3b 0a 58 0a 58 0a 58 | 0a 58 2f 2a 3d 3d 3d 3d |);.X.X.X|.X/*====|
|00001d00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001d10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001d20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001d30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001d40| 3d 3d 3d 3d 3d 3d 2a 2f | 0a 58 2f 2a 20 20 20 20 |======*/|.X/* |
|00001d50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001d60| 20 20 20 20 20 20 20 20 | 20 20 41 63 74 69 6f 6e | | Action|
|00001d70| 73 20 54 61 62 6c 65 3a | 20 20 20 20 20 20 20 20 |s Table:| |
|00001d80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001d90| 20 20 20 20 20 20 2a 2f | 0a 58 2f 2a 3d 3d 3d 3d | */|.X/*====|
|00001da0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001db0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001dc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001dd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001de0| 3d 3d 3d 3d 3d 3d 2a 2f | 0a 58 73 74 61 74 69 63 |======*/|.Xstatic|
|00001df0| 20 58 74 41 63 74 69 6f | 6e 73 52 65 63 20 63 61 | XtActio|nsRec ca|
|00001e00| 6c 65 6e 64 61 72 5f 61 | 63 74 69 6f 6e 73 5b 5d |lendar_a|ctions[]|
|00001e10| 20 3d 20 7b 0a 58 20 20 | 20 7b 20 22 73 65 6c 65 | = {.X | { "sele|
|00001e20| 63 74 22 2c 20 20 73 65 | 6c 65 63 74 5f 63 65 6c |ct", se|lect_cel|
|00001e30| 6c 5f 61 63 74 69 6f 6e | 20 20 20 20 20 20 20 7d |l_action| }|
|00001e40| 2c 0a 58 20 20 20 7b 20 | 22 6e 6f 74 69 66 79 22 |,.X { |"notify"|
|00001e50| 2c 20 20 64 65 66 61 75 | 6c 74 5f 62 75 74 74 6f |, defau|lt_butto|
|00001e60| 6e 5f 75 70 5f 61 63 74 | 69 6f 6e 20 7d 0a 58 7d |n_up_act|ion }.X}|
|00001e70| 3b 0a 58 0a 58 73 74 61 | 74 69 63 20 63 68 61 72 |;.X.Xsta|tic char|
|00001e80| 20 63 61 6c 65 6e 64 61 | 72 5f 64 65 66 61 75 6c | calenda|r_defaul|
|00001e90| 74 5f 74 72 61 6e 73 6c | 61 74 69 6f 6e 73 5b 5d |t_transl|ations[]|
|00001ea0| 20 3d 20 58 74 52 63 61 | 6c 65 6e 64 61 72 44 65 | = XtRca|lendarDe|
|00001eb0| 66 61 75 6c 74 54 72 61 | 6e 73 6c 61 74 69 6f 6e |faultTra|nslation|
|00001ec0| 73 3b 0a 58 0a 58 0a 58 | 2f 2a 3d 3d 3d 3d 3d 3d |s;.X.X.X|/*======|
|00001ed0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001ee0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001ef0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001f00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001f10| 3d 3d 3d 3d 2a 2f 0a 58 | 2f 2a 20 20 20 20 20 20 |====*/.X|/* |
|00001f20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f30| 20 20 20 20 20 4d 65 74 | 68 6f 64 20 44 65 63 6c | Met|hod Decl|
|00001f40| 61 72 61 74 69 6f 6e 73 | 3a 20 20 20 20 20 20 20 |arations|: |
|00001f50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f60| 20 20 20 20 2a 2f 0a 58 | 2f 2a 3d 3d 3d 3d 3d 3d | */.X|/*======|
|00001f70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001f80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001f90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001fa0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001fb0| 3d 3d 3d 3d 2a 2f 0a 58 | 73 74 61 74 69 63 20 76 |====*/.X|static v|
|00001fc0| 6f 69 64 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |oid | |
|00001fd0| 63 61 6c 65 6e 64 61 72 | 5f 69 6e 69 74 69 61 6c |calendar|_initial|
|00001fe0| 69 7a 65 5f 6d 65 74 68 | 6f 64 28 29 3b 0a 58 73 |ize_meth|od();.Xs|
|00001ff0| 74 61 74 69 63 20 76 6f | 69 64 20 20 20 20 20 20 |tatic vo|id |
|00002000| 20 20 20 20 20 20 20 63 | 61 6c 65 6e 64 61 72 5f | c|alendar_|
|00002010| 63 6c 61 73 73 5f 69 6e | 69 74 69 61 6c 69 7a 65 |class_in|itialize|
|00002020| 5f 6d 65 74 68 6f 64 28 | 29 3b 0a 58 73 74 61 74 |_method(|);.Xstat|
|00002030| 69 63 20 76 6f 69 64 20 | 20 20 20 20 20 20 20 20 |ic void | |
|00002040| 20 20 20 20 63 61 6c 65 | 6e 64 61 72 5f 65 78 70 | cale|ndar_exp|
|00002050| 6f 73 65 5f 6d 65 74 68 | 6f 64 28 29 3b 0a 58 73 |ose_meth|od();.Xs|
|00002060| 74 61 74 69 63 20 76 6f | 69 64 20 20 20 20 20 20 |tatic vo|id |
|00002070| 20 20 20 20 20 20 20 63 | 61 6c 65 6e 64 61 72 5f | c|alendar_|
|00002080| 64 65 73 74 72 6f 79 5f | 6d 65 74 68 6f 64 28 29 |destroy_|method()|
|00002090| 3b 0a 58 73 74 61 74 69 | 63 20 76 6f 69 64 20 20 |;.Xstati|c void |
|000020a0| 20 20 20 20 20 20 20 20 | 20 20 20 63 61 6c 65 6e | | calen|
|000020b0| 64 61 72 5f 72 65 73 69 | 7a 65 5f 6d 65 74 68 6f |dar_resi|ze_metho|
|000020c0| 64 28 29 3b 0a 58 73 74 | 61 74 69 63 20 42 6f 6f |d();.Xst|atic Boo|
|000020d0| 6c 65 61 6e 20 20 20 20 | 20 20 20 20 20 20 63 61 |lean | ca|
|000020e0| 6c 65 6e 64 61 72 5f 73 | 65 74 5f 76 61 6c 75 65 |lendar_s|et_value|
|000020f0| 73 5f 6d 65 74 68 6f 64 | 28 29 3b 0a 58 73 74 61 |s_method|();.Xsta|
|00002100| 74 69 63 20 58 74 47 65 | 6f 6d 65 74 72 79 52 65 |tic XtGe|ometryRe|
|00002110| 73 75 6c 74 20 63 61 6c | 65 6e 64 61 72 5f 71 75 |sult cal|endar_qu|
|00002120| 65 72 79 5f 67 65 6f 6d | 65 74 72 79 5f 6d 65 74 |ery_geom|etry_met|
|00002130| 68 6f 64 28 29 3b 0a 58 | 0a 58 0a 58 0a 58 2f 2a |hod();.X|.X.X.X/*|
|00002140| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002150| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002160| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002170| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002180| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 2a 2f 0a 58 2f 2a |========|==*/.X/*|
|00002190| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000021a0| 20 20 20 20 20 20 20 43 | 6c 61 73 73 20 52 65 63 | C|lass Rec|
|000021b0| 6f 72 64 20 49 6e 69 74 | 69 61 6c 69 7a 61 74 69 |ord Init|ializati|
|000021c0| 6f 6e 3a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |on: | |
|000021d0| 20 20 20 20 20 20 20 20 | 20 20 2a 2f 0a 58 2f 2a | | */.X/*|
|000021e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000021f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002200| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002210| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002220| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 2a 2f 0a 58 43 61 |========|==*/.XCa|
|00002230| 6c 65 6e 64 61 72 43 6c | 61 73 73 52 65 63 20 63 |lendarCl|assRec c|
|00002240| 61 6c 65 6e 64 61 72 43 | 6c 61 73 73 52 65 63 20 |alendarC|lassRec |
|00002250| 3d 20 7b 0a 58 20 20 20 | 7b 0a 58 20 20 20 20 20 |= {.X |{.X |
|00002260| 20 2f 2a 20 43 4f 52 45 | 20 43 4c 41 53 53 20 50 | /* CORE| CLASS P|
|00002270| 41 52 54 3a 20 20 20 20 | 20 20 2a 2f 0a 58 20 20 |ART: | */.X |
|00002280| 20 20 20 20 2f 2a 20 73 | 75 70 65 72 63 6c 61 73 | /* s|uperclas|
|00002290| 73 20 20 20 20 20 20 20 | 20 20 20 20 20 2a 2f 20 |s | */ |
|000022a0| 28 57 69 64 67 65 74 43 | 6c 61 73 73 29 20 26 63 |(WidgetC|lass) &c|
|000022b0| 6f 72 65 43 6c 61 73 73 | 52 65 63 2c 0a 58 20 20 |oreClass|Rec,.X |
|000022c0| 20 20 20 20 2f 2a 20 63 | 6c 61 73 73 5f 6e 61 6d | /* c|lass_nam|
|000022d0| 65 20 20 20 20 20 20 20 | 20 20 20 20 20 2a 2f 20 |e | */ |
|000022e0| 22 43 61 6c 65 6e 64 61 | 72 22 2c 0a 58 20 20 20 |"Calenda|r",.X |
|000022f0| 20 20 20 2f 2a 20 77 69 | 64 67 65 74 5f 73 69 7a | /* wi|dget_siz|
|00002300| 65 20 20 20 20 20 20 20 | 20 20 20 20 2a 2f 20 73 |e | */ s|
|00002310| 69 7a 65 6f 66 28 43 61 | 6c 65 6e 64 61 72 52 65 |izeof(Ca|lendarRe|
|00002320| 63 29 2c 0a 58 20 20 20 | 20 20 20 2f 2a 20 63 6c |c),.X | /* cl|
|00002330| 61 73 73 5f 69 6e 69 74 | 69 61 6c 69 7a 65 20 20 |ass_init|ialize |
|00002340| 20 20 20 20 2a 2f 20 63 | 61 6c 65 6e 64 61 72 5f | */ c|alendar_|
|00002350| 63 6c 61 73 73 5f 69 6e | 69 74 69 61 6c 69 7a 65 |class_in|itialize|
|00002360| 5f 6d 65 74 68 6f 64 2c | 0a 58 20 20 20 20 20 20 |_method,|.X |
|00002370| 2f 2a 20 63 6c 61 73 73 | 5f 70 61 72 74 5f 69 6e |/* class|_part_in|
|00002380| 69 74 69 61 6c 69 7a 65 | 20 2a 2f 20 4e 55 4c 4c |itialize| */ NULL|
|00002390| 2c 0a 58 20 20 20 20 20 | 20 2f 2a 20 63 6c 61 73 |,.X | /* clas|
|000023a0| 73 5f 69 6e 69 74 65 64 | 20 20 20 20 20 20 20 20 |s_inited| |
|000023b0| 20 20 2a 2f 20 46 41 4c | 53 45 2c 0a 58 20 20 20 | */ FAL|SE,.X |
|000023c0| 20 20 20 2f 2a 20 69 6e | 69 74 69 61 6c 69 7a 65 | /* in|itialize|
|000023d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2a 2f 20 63 | | */ c|
|000023e0| 61 6c 65 6e 64 61 72 5f | 69 6e 69 74 69 61 6c 69 |alendar_|initiali|
|000023f0| 7a 65 5f 6d 65 74 68 6f | 64 2c 0a 58 20 20 20 20 |ze_metho|d,.X |
|00002400| 20 20 2f 2a 20 69 6e 69 | 74 69 61 6c 69 7a 65 5f | /* ini|tialize_|
|00002410| 68 6f 6f 6b 20 20 20 20 | 20 20 20 2a 2f 20 4e 55 |hook | */ NU|
|00002420| 4c 4c 2c 0a 58 20 20 20 | 20 20 20 2f 2a 20 72 65 |LL,.X | /* re|
|00002430| 61 6c 69 7a 65 20 20 20 | 20 20 20 20 20 20 20 20 |alize | |
|00002440| 20 20 20 20 2a 2f 20 58 | 74 49 6e 68 65 72 69 74 | */ X|tInherit|
|00002450| 52 65 61 6c 69 7a 65 2c | 0a 58 20 20 20 20 20 20 |Realize,|.X |
|00002460| 2f 2a 20 61 63 74 69 6f | 6e 73 20 20 20 20 20 20 |/* actio|ns |
|00002470| 20 20 20 20 20 20 20 20 | 20 2a 2f 20 63 61 6c 65 | | */ cale|
|00002480| 6e 64 61 72 5f 61 63 74 | 69 6f 6e 73 2c 0a 58 20 |ndar_act|ions,.X |
|00002490| 20 20 20 20 20 2f 2a 20 | 6e 75 6d 5f 61 63 74 69 | /* |num_acti|
|000024a0| 6f 6e 73 20 20 20 20 20 | 20 20 20 20 20 20 2a 2f |ons | */|
|000024b0| 20 58 74 4e 75 6d 62 65 | 72 28 63 61 6c 65 6e 64 | XtNumbe|r(calend|
|000024c0| 61 72 5f 61 63 74 69 6f | 6e 73 29 2c 0a 58 20 20 |ar_actio|ns),.X |
|000024d0| 20 20 20 20 2f 2a 20 72 | 65 73 6f 75 72 63 65 73 | /* r|esources|
|000024e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2a 2f 20 | | */ |
|000024f0| 63 61 6c 65 6e 64 61 72 | 5f 72 65 73 6f 75 72 63 |calendar|_resourc|
|00002500| 65 73 2c 0a 58 20 20 20 | 20 20 20 2f 2a 20 6e 75 |es,.X | /* nu|
|00002510| 6d 5f 72 65 73 6f 75 72 | 63 65 73 20 20 20 20 20 |m_resour|ces |
|00002520| 20 20 20 20 2a 2f 20 58 | 74 4e 75 6d 62 65 72 28 | */ X|tNumber(|
|00002530| 63 61 6c 65 6e 64 61 72 | 5f 72 65 73 6f 75 72 63 |calendar|_resourc|
|00002540| 65 73 29 2c 0a 58 20 20 | 20 20 20 20 2f 2a 20 78 |es),.X | /* x|
|00002550| 72 6d 5f 63 6c 61 73 73 | 20 20 20 20 20 20 20 20 |rm_class| |
|00002560| 20 20 20 20 20 2a 2f 20 | 4e 55 4c 4c 51 55 41 52 | */ |NULLQUAR|
|00002570| 4b 2c 0a 58 20 20 20 20 | 20 20 2f 2a 20 63 6f 6d |K,.X | /* com|
|00002580| 70 72 65 73 73 5f 6d 6f | 74 69 6f 6e 20 20 20 20 |press_mo|tion |
|00002590| 20 20 20 2a 2f 20 54 52 | 55 45 2c 0a 58 20 20 20 | */ TR|UE,.X |
|000025a0| 20 20 20 2f 2a 20 63 6f | 6d 70 72 65 73 73 5f 65 | /* co|mpress_e|
|000025b0| 78 70 6f 73 75 72 65 20 | 20 20 20 20 2a 2f 20 54 |xposure | */ T|
|000025c0| 52 55 45 2c 0a 58 20 20 | 20 20 20 20 2f 2a 20 63 |RUE,.X | /* c|
|000025d0| 6f 6d 70 72 65 73 73 5f | 65 6e 74 65 72 6c 65 61 |ompress_|enterlea|
|000025e0| 76 65 20 20 20 2a 2f 20 | 54 52 55 45 2c 0a 58 20 |ve */ |TRUE,.X |
|000025f0| 20 20 20 20 20 2f 2a 20 | 76 69 73 69 62 6c 65 5f | /* |visible_|
|00002600| 69 6e 74 65 72 65 73 74 | 20 20 20 20 20 20 2a 2f |interest| */|
|00002610| 20 46 41 4c 53 45 2c 0a | 58 20 20 20 20 20 20 2f | FALSE,.|X /|
|00002620| 2a 20 64 65 73 74 72 6f | 79 20 20 20 20 20 20 20 |* destro|y |
|00002630| 20 20 20 20 20 20 20 20 | 2a 2f 20 63 61 6c 65 6e | |*/ calen|
|00002640| 64 61 72 5f 64 65 73 74 | 72 6f 79 5f 6d 65 74 68 |dar_dest|roy_meth|
|00002650| 6f 64 2c 0a 58 20 20 20 | 20 20 20 2f 2a 20 72 65 |od,.X | /* re|
|00002660| 73 69 7a 65 20 20 20 20 | 20 20 20 20 20 20 20 20 |size | |
|00002670| 20 20 20 20 2a 2f 20 63 | 61 6c 65 6e 64 61 72 5f | */ c|alendar_|
|00002680| 72 65 73 69 7a 65 5f 6d | 65 74 68 6f 64 2c 0a 58 |resize_m|ethod,.X|
|00002690| 20 20 20 20 20 20 2f 2a | 20 65 78 70 6f 73 65 20 | /*| expose |
|000026a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2a | | *|
|000026b0| 2f 20 63 61 6c 65 6e 64 | 61 72 5f 65 78 70 6f 73 |/ calend|ar_expos|
|000026c0| 65 5f 6d 65 74 68 6f 64 | 2c 0a 58 20 20 20 20 20 |e_method|,.X |
|000026d0| 20 2f 2a 20 73 65 74 5f | 76 61 6c 75 65 73 20 20 | /* set_|values |
|000026e0| 20 20 20 20 20 20 20 20 | 20 20 2a 2f 20 63 61 6c | | */ cal|
|000026f0| 65 6e 64 61 72 5f 73 65 | 74 5f 76 61 6c 75 65 73 |endar_se|t_values|
|00002700| 5f 6d 65 74 68 6f 64 2c | 0a 58 20 20 20 20 20 20 |_method,|.X |
|00002710| 2f 2a 20 73 65 74 5f 76 | 61 6c 75 65 73 5f 68 6f |/* set_v|alues_ho|
|00002720| 6f 6b 20 20 20 20 20 20 | 20 2a 2f 20 4e 55 4c 4c |ok | */ NULL|
|00002730| 2c 0a 58 20 20 20 20 20 | 20 2f 2a 20 73 65 74 5f |,.X | /* set_|
|00002740| 76 61 6c 75 65 73 5f 61 | 6c 6d 6f 73 74 20 20 20 |values_a|lmost |
|00002750| 20 20 2a 2f 20 58 74 49 | 6e 68 65 72 69 74 53 65 | */ XtI|nheritSe|
|00002760| 74 56 61 6c 75 65 73 41 | 6c 6d 6f 73 74 2c 0a 58 |tValuesA|lmost,.X|
|00002770| 20 20 20 20 20 20 2f 2a | 20 67 65 74 5f 76 61 6c | /*| get_val|
|00002780| 75 65 73 5f 68 6f 6f 6b | 20 20 20 20 20 20 20 2a |ues_hook| *|
|00002790| 2f 20 4e 55 4c 4c 2c 0a | 58 20 20 20 20 20 20 2f |/ NULL,.|X /|
|000027a0| 2a 20 61 63 63 65 70 74 | 5f 66 6f 63 75 73 20 20 |* accept|_focus |
|000027b0| 20 20 20 20 20 20 20 20 | 2a 2f 20 4e 55 4c 4c 2c | |*/ NULL,|
|000027c0| 0a 58 20 20 20 20 20 20 | 2f 2a 20 76 65 72 73 69 |.X |/* versi|
|000027d0| 6f 6e 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |on | |
|000027e0| 20 2a 2f 20 58 74 56 65 | 72 73 69 6f 6e 2c 0a 58 | */ XtVe|rsion,.X|
|000027f0| 20 20 20 20 20 20 2f 2a | 20 63 61 6c 6c 62 61 63 | /*| callbac|
|00002800| 6b 5f 70 72 69 76 61 74 | 65 20 20 20 20 20 20 2a |k_privat|e *|
|00002810| 2f 20 4e 55 4c 4c 2c 0a | 58 20 20 20 20 20 20 2f |/ NULL,.|X /|
|00002820| 2a 20 74 6d 5f 74 61 62 | 6c 65 20 20 20 20 20 20 |* tm_tab|le |
|00002830| 20 20 20 20 20 20 20 20 | 2a 2f 20 63 61 6c 65 6e | |*/ calen|
|00002840| 64 61 72 5f 64 65 66 61 | 75 6c 74 5f 74 72 61 6e |dar_defa|ult_tran|
|00002850| 73 6c 61 74 69 6f 6e 73 | 2c 0a 58 20 20 20 20 20 |slations|,.X |
|00002860| 20 2f 2a 20 71 75 65 72 | 79 5f 67 65 6f 6d 65 74 | /* quer|y_geomet|
|00002870| 72 79 20 20 20 20 20 20 | 20 20 2a 2f 20 63 61 6c |ry | */ cal|
|00002880| 65 6e 64 61 72 5f 71 75 | 65 72 79 5f 67 65 6f 6d |endar_qu|ery_geom|
|00002890| 65 74 72 79 5f 6d 65 74 | 68 6f 64 2c 0a 58 20 20 |etry_met|hod,.X |
|000028a0| 20 20 20 20 2f 2a 20 64 | 69 73 70 6c 61 79 5f 61 | /* d|isplay_a|
|000028b0| 63 63 65 6c 65 72 61 74 | 6f 72 20 20 20 2a 2f 20 |ccelerat|or */ |
|000028c0| 58 74 49 6e 68 65 72 69 | 74 44 69 73 70 6c 61 79 |XtInheri|tDisplay|
|000028d0| 41 63 63 65 6c 65 72 61 | 74 6f 72 2c 0a 58 20 20 |Accelera|tor,.X |
|000028e0| 20 20 20 20 2f 2a 20 65 | 78 74 65 6e 73 69 6f 6e | /* e|xtension|
|000028f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2a 2f 20 | | */ |
|00002900| 4e 55 4c 4c 0a 58 20 20 | 20 7d 2c 0a 58 20 20 20 |NULL.X | },.X |
|00002910| 7b 0a 58 20 20 20 20 20 | 20 2f 2a 20 43 41 4c 45 |{.X | /* CALE|
|00002920| 4e 44 41 52 20 43 4c 41 | 53 53 20 50 41 52 54 3a |NDAR CLA|SS PART:|
|00002930| 20 20 2a 2f 0a 58 20 20 | 20 20 20 20 2f 2a 20 64 | */.X | /* d|
|00002940| 75 6d 6d 79 20 66 69 65 | 6c 64 20 20 20 20 20 20 |ummy fie|ld |
|00002950| 20 20 20 20 20 2a 2f 20 | 30 0a 58 20 20 20 7d 0a | */ |0.X }.|
|00002960| 58 7d 3b 0a 58 0a 58 2f | 2a 20 44 65 66 69 6e 65 |X};.X.X/|* Define|
|00002970| 20 74 68 65 20 63 61 6c | 65 6e 64 61 72 20 77 69 | the cal|endar wi|
|00002980| 64 67 65 74 20 63 6c 61 | 73 73 20 69 6e 20 74 65 |dget cla|ss in te|
|00002990| 72 6d 73 20 6f 66 20 74 | 68 65 20 61 62 6f 76 65 |rms of t|he above|
|000029a0| 20 72 65 63 6f 72 64 2e | 20 2a 2f 0a 58 57 69 64 | record.| */.XWid|
|000029b0| 67 65 74 43 6c 61 73 73 | 20 63 61 6c 65 6e 64 61 |getClass| calenda|
|000029c0| 72 57 69 64 67 65 74 43 | 6c 61 73 73 20 3d 20 28 |rWidgetC|lass = (|
|000029d0| 57 69 64 67 65 74 43 6c | 61 73 73 29 20 26 63 61 |WidgetCl|ass) &ca|
|000029e0| 6c 65 6e 64 61 72 43 6c | 61 73 73 52 65 63 3b 0a |lendarCl|assRec;.|
|000029f0| 58 0a 58 0a 58 73 74 61 | 74 69 63 20 58 74 43 6f |X.X.Xsta|tic XtCo|
|00002a00| 6e 76 65 72 74 41 72 67 | 52 65 63 20 73 63 72 65 |nvertArg|Rec scre|
|00002a10| 65 6e 43 6f 6e 76 65 72 | 74 41 72 67 5b 5d 20 3d |enConver|tArg[] =|
|00002a20| 20 7b 0a 58 20 20 20 7b | 20 20 0a 58 20 20 20 20 | {.X {| .X |
|00002a30| 20 20 58 74 42 61 73 65 | 4f 66 66 73 65 74 2c 0a | XtBase|Offset,.|
|00002a40| 58 20 20 20 20 20 20 28 | 58 74 50 6f 69 6e 74 65 |X (|XtPointe|
|00002a50| 72 29 58 74 4f 66 66 73 | 65 74 28 57 69 64 67 65 |r)XtOffs|et(Widge|
|00002a60| 74 2c 20 63 6f 72 65 2e | 73 63 72 65 65 6e 29 2c |t, core.|screen),|
|00002a70| 0a 58 20 20 20 20 20 20 | 73 69 7a 65 6f 66 28 53 |.X |sizeof(S|
|00002a80| 63 72 65 65 6e 20 2a 29 | 0a 58 20 20 20 7d 0a 58 |creen *)|.X }.X|
|00002a90| 7d 3b 0a 58 0a 58 0a 58 | 0a 58 2f 2a 3d 3d 3d 3d |};.X.X.X|.X/*====|
|00002aa0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002ab0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002ac0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002ad0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002ae0| 3d 3d 3d 3d 3d 3d 2a 2f | 0a 58 2f 2a 20 20 20 20 |======*/|.X/* |
|00002af0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002b00| 20 20 20 20 20 20 20 4d | 65 74 68 6f 64 20 44 65 | M|ethod De|
|00002b10| 66 69 6e 69 74 69 6f 6e | 73 3a 20 20 20 20 20 20 |finition|s: |
|00002b20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002b30| 20 20 20 20 20 20 2a 2f | 0a 58 2f 2a 3d 3d 3d 3d | */|.X/*====|
|00002b40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002b50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002b60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002b70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002b80| 3d 3d 3d 3d 3d 3d 2a 2f | 0a 58 73 74 61 74 69 63 |======*/|.Xstatic|
|00002b90| 20 76 6f 69 64 20 63 61 | 6c 65 6e 64 61 72 5f 63 | void ca|lendar_c|
|00002ba0| 6c 61 73 73 5f 69 6e 69 | 74 69 61 6c 69 7a 65 5f |lass_ini|tialize_|
|00002bb0| 6d 65 74 68 6f 64 28 29 | 0a 58 7b 0a 58 20 20 20 |method()|.X{.X |
|00002bc0| 2f 2a 20 52 65 67 69 73 | 74 65 72 20 74 68 65 20 |/* Regis|ter the |
|00002bd0| 73 74 72 69 6e 67 20 74 | 6f 20 67 72 61 76 69 74 |string t|o gravit|
|00002be0| 79 20 72 65 73 6f 75 72 | 63 65 20 63 6f 6e 76 65 |y resour|ce conve|
|00002bf0| 72 74 65 72 2e 20 2a 2f | 0a 58 20 20 20 58 74 41 |rter. */|.X XtA|
|00002c00| 64 64 43 6f 6e 76 65 72 | 74 65 72 28 0a 58 20 20 |ddConver|ter(.X |
|00002c10| 20 20 20 20 58 74 52 53 | 74 72 69 6e 67 2c 20 20 | XtRS|tring, |
|00002c20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002c30| 20 2f 2a 20 73 6f 75 72 | 63 65 20 74 79 70 65 20 | /* sour|ce type |
|00002c40| 2a 2f 0a 58 20 20 20 20 | 20 20 58 74 52 47 72 61 |*/.X | XtRGra|
|00002c50| 76 69 74 79 2c 20 20 20 | 20 20 20 20 20 20 20 20 |vity, | |
|00002c60| 20 20 20 20 20 20 20 2f | 2a 20 74 61 72 67 65 74 | /|* target|
|00002c70| 20 74 79 70 65 20 2a 2f | 0a 58 20 20 20 20 20 20 | type */|.X |
|00002c80| 47 72 61 76 69 74 79 43 | 6f 6e 76 65 72 74 65 72 |GravityC|onverter|
|00002c90| 2c 20 20 20 20 20 20 20 | 20 20 20 20 20 2f 2a 20 |, | /* |
|00002ca0| 63 6f 6e 76 65 72 74 65 | 72 20 72 6f 75 74 69 6e |converte|r routin|
|00002cb0| 65 20 2a 2f 0a 58 20 20 | 20 20 20 20 4e 55 4c 4c |e */.X | NULL|
|00002cc0| 2c 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |, | |
|00002cd0| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 61 72 67 73 | | /* args|
|00002ce0| 20 66 6f 72 20 63 6f 6e | 76 65 72 74 65 72 20 2a | for con|verter *|
|00002cf0| 2f 0a 58 20 20 20 20 20 | 20 30 20 20 20 20 20 20 |/.X | 0 |
|00002d00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002d10| 20 20 20 20 20 20 2f 2a | 20 6e 75 6d 20 61 72 67 | /*| num arg|
|00002d20| 73 20 66 6f 72 20 63 6f | 6e 76 65 72 74 65 72 20 |s for co|nverter |
|00002d30| 2a 2f 0a 58 20 20 20 29 | 3b 0a 58 0a 58 20 20 20 |*/.X )|;.X.X |
|00002d40| 2f 2a 20 52 65 67 69 73 | 74 65 72 20 74 68 65 20 |/* Regis|ter the |
|00002d50| 73 74 72 69 6e 67 20 74 | 6f 20 67 72 61 76 69 74 |string t|o gravit|
|00002d60| 79 20 72 65 73 6f 75 72 | 63 65 20 63 6f 6e 76 65 |y resour|ce conve|
|00002d70| 72 74 65 72 2e 20 2a 2f | 0a 58 20 20 20 58 74 41 |rter. */|.X XtA|
|00002d80| 64 64 43 6f 6e 76 65 72 | 74 65 72 28 0a 58 20 20 |ddConver|ter(.X |
|00002d90| 20 20 20 20 58 74 52 53 | 74 72 69 6e 67 2c 20 20 | XtRS|tring, |
|00002da0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002db0| 20 2f 2a 20 73 6f 75 72 | 63 65 20 74 79 70 65 20 | /* sour|ce type |
|00002dc0| 2a 2f 0a 58 20 20 20 20 | 20 20 58 74 52 44 61 79 |*/.X | XtRDay|
|00002dd0| 4e 61 6d 65 2c 20 20 20 | 20 20 20 20 20 20 20 20 |Name, | |
|00002de0| 20 20 20 20 20 20 20 2f | 2a 20 74 61 72 67 65 74 | /|* target|
|00002df0| 20 74 79 70 65 20 2a 2f | 0a 58 20 20 20 20 20 20 | type */|.X |
|00002e00| 44 61 79 4e 61 6d 65 43 | 6f 6e 76 65 72 74 65 72 |DayNameC|onverter|
|00002e10| 2c 20 20 20 20 20 20 20 | 20 20 20 20 20 2f 2a 20 |, | /* |
|00002e20| 63 6f 6e 76 65 72 74 65 | 72 20 72 6f 75 74 69 6e |converte|r routin|
|00002e30| 65 20 2a 2f 0a 58 20 20 | 20 20 20 20 4e 55 4c 4c |e */.X | NULL|
|00002e40| 2c 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |, | |
|00002e50| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 61 72 67 73 | | /* args|
|00002e60| 20 66 6f 72 20 63 6f 6e | 76 65 72 74 65 72 20 2a | for con|verter *|
|00002e70| 2f 0a 58 20 20 20 20 20 | 20 30 20 20 20 20 20 20 |/.X | 0 |
|00002e80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002e90| 20 20 20 20 20 20 2f 2a | 20 6e 75 6d 20 61 72 67 | /*| num arg|
|00002ea0| 73 20 66 6f 72 20 63 6f | 6e 76 65 72 74 65 72 20 |s for co|nverter |
|00002eb0| 2a 2f 0a 58 20 20 20 29 | 3b 0a 58 0a 58 20 20 20 |*/.X )|;.X.X |
|00002ec0| 2f 2a 20 52 65 67 69 73 | 74 65 72 20 74 68 65 20 |/* Regis|ter the |
|00002ed0| 73 74 72 69 6e 67 20 74 | 6f 20 73 74 72 69 6e 67 |string t|o string|
|00002ee0| 20 74 61 62 6c 65 20 72 | 65 73 6f 75 72 63 65 20 | table r|esource |
|00002ef0| 63 6f 6e 76 65 72 74 65 | 72 2e 20 2a 2f 0a 58 20 |converte|r. */.X |
|00002f00| 20 20 58 74 41 64 64 43 | 6f 6e 76 65 72 74 65 72 | XtAddC|onverter|
|00002f10| 28 0a 58 20 20 20 20 20 | 20 58 74 52 53 74 72 69 |(.X | XtRStri|
|00002f20| 6e 67 2c 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ng, | |
|00002f30| 20 20 20 20 20 20 2f 2a | 20 73 6f 75 72 63 65 20 | /*| source |
|00002f40| 74 79 70 65 20 2a 2f 0a | 58 20 20 20 20 20 20 58 |type */.|X X|
|00002f50| 74 52 53 74 72 69 6e 67 | 54 61 62 6c 65 2c 20 20 |tRString|Table, |
|00002f60| 20 20 20 20 20 20 20 20 | 20 20 20 20 2f 2a 20 74 | | /* t|
|00002f70| 61 72 67 65 74 20 74 79 | 70 65 20 2a 2f 0a 58 20 |arget ty|pe */.X |
|00002f80| 20 20 20 20 20 53 74 72 | 69 6e 67 54 61 62 6c 65 | Str|ingTable|
|00002f90| 43 6f 6e 76 65 72 74 65 | 72 2c 20 20 20 20 20 20 |Converte|r, |
|00002fa0| 20 20 2f 2a 20 63 6f 6e | 76 65 72 74 65 72 20 72 | /* con|verter r|
|00002fb0| 6f 75 74 69 6e 65 20 2a | 2f 0a 58 20 20 20 20 20 |outine *|/.X |
|00002fc0| 20 4e 55 4c 4c 2c 20 20 | 20 20 20 20 20 20 20 20 | NULL, | |
|00002fd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2f 2a | | /*|
|00002fe0| 20 61 72 67 73 20 66 6f | 72 20 63 6f 6e 76 65 72 | args fo|r conver|
|00002ff0| 74 65 72 20 2a 2f 0a 58 | 20 20 20 20 20 20 30 20 |ter */.X| 0 |
|00003000| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003010| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2a 20 6e 75 | | /* nu|
|00003020| 6d 20 61 72 67 73 20 66 | 6f 72 20 63 6f 6e 76 65 |m args f|or conve|
|00003030| 72 74 65 72 20 2a 2f 0a | 58 20 20 20 29 3b 0a 58 |rter */.|X );.X|
|00003040| 0a 58 20 20 20 2f 2a 20 | 52 65 67 69 73 74 65 72 |.X /* |Register|
|00003050| 20 74 68 65 20 73 74 72 | 69 6e 67 20 74 6f 20 62 | the str|ing to b|
|00003060| 69 74 6d 61 70 20 72 65 | 73 6f 75 72 63 65 20 63 |itmap re|source c|
|00003070| 6f 6e 76 65 72 74 65 72 | 2e 20 2a 2f 0a 58 20 20 |onverter|. */.X |
|00003080| 20 58 74 41 64 64 43 6f | 6e 76 65 72 74 65 72 28 | XtAddCo|nverter(|
|00003090| 0a 58 20 20 20 20 20 20 | 58 74 52 53 74 72 69 6e |.X |XtRStrin|
|000030a0| 67 2c 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |g, | |
|000030b0| 20 20 20 20 20 2f 2a 20 | 73 6f 75 72 63 65 20 74 | /* |source t|
|000030c0| 79 70 65 20 2a 2f 0a 58 | 20 20 20 20 20 20 58 74 |ype */.X| Xt|
|000030d0| 52 42 69 74 6d 61 70 2c | 20 20 20 20 20 20 20 20 |RBitmap,| |
|000030e0| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2a 20 74 61 | | /* ta|
|000030f0| 72 67 65 74 20 74 79 70 | 65 20 2a 2f 0a 58 20 20 |rget typ|e */.X |
|00003100| 20 20 20 20 58 6d 75 43 | 76 74 53 74 72 69 6e 67 | XmuC|vtString|
|00003110| 54 6f 42 69 74 6d 61 70 | 2c 20 20 20 20 20 20 20 |ToBitmap|, |
|00003120| 20 2f 2a 20 63 6f 6e 76 | 65 72 74 65 72 20 72 6f | /* conv|erter ro|
|00003130| 75 74 69 6e 65 20 2a 2f | 0a 58 20 20 20 20 20 20 |utine */|.X |
|00003140| 73 63 72 65 65 6e 43 6f | 6e 76 65 72 74 41 72 67 |screenCo|nvertArg|
|00003150| 2c 20 20 20 20 20 20 20 | 20 20 20 20 20 2f 2a 20 |, | /* |
|00003160| 61 72 67 73 20 66 6f 72 | 20 63 6f 6e 76 65 72 74 |args for| convert|
|00003170| 65 72 20 2a 2f 0a 58 20 | 20 20 20 20 20 58 74 4e |er */.X | XtN|
|00003180| 75 6d 62 65 72 28 73 63 | 72 65 65 6e 43 6f 6e 76 |umber(sc|reenConv|
|00003190| 65 72 74 41 72 67 29 20 | 20 20 2f 2a 20 6e 75 6d |ertArg) | /* num|
|000031a0| 20 61 72 67 73 20 66 6f | 72 20 63 6f 6e 76 65 72 | args fo|r conver|
|000031b0| 74 65 72 20 2a 2f 0a 58 | 20 20 20 29 3b 0a 58 7d |ter */.X| );.X}|
|000031c0| 0a 58 0a 58 0a 58 73 74 | 61 74 69 63 20 76 6f 69 |.X.X.Xst|atic voi|
|000031d0| 64 20 63 61 6c 65 6e 64 | 61 72 5f 69 6e 69 74 69 |d calend|ar_initi|
|000031e0| 61 6c 69 7a 65 5f 6d 65 | 74 68 6f 64 28 72 65 71 |alize_me|thod(req|
|000031f0| 75 65 73 74 2c 20 6e 65 | 77 29 0a 58 43 61 6c 65 |uest, ne|w).XCale|
|00003200| 6e 64 61 72 57 69 64 67 | 65 74 20 72 65 71 75 65 |ndarWidg|et reque|
|00003210| 73 74 3b 0a 58 43 61 6c | 65 6e 64 61 72 57 69 64 |st;.XCal|endarWid|
|00003220| 67 65 74 20 6e 65 77 3b | 0a 58 7b 0a 58 20 20 20 |get new;|.X{.X |
|00003230| 58 72 6d 56 61 6c 75 65 | 20 66 72 6f 6d 3b 0a 58 |XrmValue| from;.X|
|00003240| 20 20 20 58 72 6d 56 61 | 6c 75 65 20 74 6f 3b 0a | XrmVa|lue to;.|
|00003250| 58 20 20 20 69 6e 74 20 | 69 3b 0a 58 20 20 20 66 |X int |i;.X f|
|00003260| 6c 6f 61 74 20 69 6e 69 | 74 69 61 6c 5f 63 65 6c |loat ini|tial_cel|
|00003270| 6c 5f 77 69 64 74 68 20 | 20 3d 20 28 66 6c 6f 61 |l_width | = (floa|
|00003280| 74 29 20 72 65 71 75 65 | 73 74 2d 3e 63 6f 72 65 |t) reque|st->core|
|00003290| 2e 77 69 64 74 68 20 2f | 20 28 66 6c 6f 61 74 29 |.width /| (float)|
|000032a0| 20 43 4f 4c 53 3b 0a 58 | 20 20 20 66 6c 6f 61 74 | COLS;.X| float|
|000032b0| 20 69 6e 69 74 69 61 6c | 5f 63 65 6c 6c 5f 68 65 | initial|_cell_he|
|000032c0| 69 67 68 74 20 3d 20 28 | 66 6c 6f 61 74 29 20 72 |ight = (|float) r|
|000032d0| 65 71 75 65 73 74 2d 3e | 63 6f 72 65 2e 68 65 69 |equest->|core.hei|
|000032e0| 67 68 74 20 2f 20 28 66 | 6c 6f 61 74 29 20 52 4f |ght / (f|loat) RO|
|000032f0| 57 53 3b 0a 58 0a 58 20 | 20 20 42 45 47 49 4e 28 |WS;.X.X | BEGIN(|
|00003300| 22 63 61 6c 65 6e 64 61 | 72 5f 69 6e 69 74 69 61 |"calenda|r_initia|
|00003310| 6c 69 7a 65 5f 6d 65 74 | 68 6f 64 22 29 3b 0a 58 |lize_met|hod");.X|
|00003320| 0a 58 20 20 20 2f 2a 20 | 4e 6f 77 20 65 6e 74 65 |.X /* |Now ente|
|00003330| 72 69 6e 67 20 74 68 65 | 20 66 6f 67 67 79 20 7a |ring the| foggy z|
|00003340| 6f 6e 65 2e 20 2a 2f 0a | 58 20 20 20 6e 65 77 2d |one. */.|X new-|
|00003350| 3e 63 61 6c 65 6e 64 61 | 72 2e 73 74 61 74 65 20 |>calenda|r.state |
|00003360| 3d 20 66 6f 67 67 79 3b | 0a 58 0a 58 20 20 20 2f |= foggy;|.X.X /|
|00003370| 2a 20 46 69 72 73 74 20 | 63 68 65 63 6b 20 72 65 |* First |check re|
|00003380| 73 6f 75 72 63 65 73 3a | 20 2a 2f 0a 58 0a 58 20 |sources:| */.X.X |
|00003390| 20 20 2f 2a 20 44 69 64 | 20 77 65 20 67 65 74 20 | /* Did| we get |
|000033a0| 37 20 77 65 65 6b 64 61 | 79 20 6e 61 6d 65 73 3f |7 weekda|y names?|
|000033b0| 20 2a 2f 0a 58 20 20 20 | 69 66 20 28 53 74 72 69 | */.X |if (Stri|
|000033c0| 6e 67 54 61 62 6c 65 4e | 75 6d 62 65 72 28 72 65 |ngTableN|umber(re|
|000033d0| 71 75 65 73 74 2d 3e 63 | 61 6c 65 6e 64 61 72 2e |quest->c|alendar.|
|000033e0| 77 65 65 6b 64 61 79 5f | 6e 61 6d 65 73 29 20 21 |weekday_|names) !|
|000033f0| 3d 20 37 29 20 7b 0a 58 | 20 20 20 20 20 20 2f 2a |= 7) {.X| /*|
|00003400| 56 41 52 41 52 47 53 2a | 2f 0a 58 20 20 20 20 20 |VARARGS*|/.X |
|00003410| 20 66 70 72 69 6e 74 66 | 28 73 74 64 65 72 72 2c | fprintf|(stderr,|
|00003420| 20 22 43 61 6c 65 6e 64 | 61 72 57 69 64 67 65 74 | "Calend|arWidget|
|00003430| 3a 20 59 6f 75 20 6d 75 | 73 74 20 73 70 65 63 69 |: You mu|st speci|
|00003440| 66 79 20 37 20 77 65 65 | 6b 64 61 79 20 6e 61 6d |fy 7 wee|kday nam|
|00003450| 65 73 2e 5c 6e 22 29 3b | 0a 58 0a 58 20 20 20 20 |es.\n");|.X.X |
|00003460| 20 20 2f 2a 20 45 78 70 | 6c 69 63 69 74 6c 79 20 | /* Exp|licitly |
|00003470| 69 6e 76 6f 6b 65 20 63 | 6f 6e 76 65 72 74 65 72 |invoke c|onverter|
|00003480| 20 6f 6e 20 64 65 66 61 | 75 6c 74 20 76 61 6c 75 | on defa|ult valu|
|00003490| 65 20 2a 2f 0a 58 20 20 | 20 20 20 20 66 72 6f 6d |e */.X | from|
|000034a0| 2e 61 64 64 72 20 3d 20 | 58 74 4e 44 65 66 61 75 |.addr = |XtNDefau|
|000034b0| 6c 74 57 65 65 6b 64 61 | 79 4e 61 6d 65 73 3b 0a |ltWeekda|yNames;.|
|000034c0| 58 20 20 20 20 20 20 66 | 72 6f 6d 2e 73 69 7a 65 |X f|rom.size|
|000034d0| 20 3d 20 73 69 7a 65 6f | 66 28 53 74 72 69 6e 67 | = sizeo|f(String|
|000034e0| 54 61 62 6c 65 29 3b 0a | 58 20 20 20 20 20 20 58 |Table);.|X X|
|000034f0| 74 43 6f 6e 76 65 72 74 | 28 6e 65 77 2c 20 58 74 |tConvert|(new, Xt|
|00003500| 52 53 74 72 69 6e 67 2c | 20 26 66 72 6f 6d 2c 20 |RString,| &from, |
|00003510| 58 74 52 53 74 72 69 6e | 67 54 61 62 6c 65 2c 20 |XtRStrin|gTable, |
|00003520| 26 74 6f 29 3b 0a 58 20 | 20 20 20 20 20 72 65 71 |&to);.X | req|
|00003530| 75 65 73 74 2d 3e 63 61 | 6c 65 6e 64 61 72 2e 77 |uest->ca|lendar.w|
|00003540| 65 65 6b 64 61 79 5f 6e | 61 6d 65 73 20 3d 20 2a |eekday_n|ames = *|
|00003550| 28 53 74 72 69 6e 67 54 | 61 62 6c 65 20 2a 29 74 |(StringT|able *)t|
|00003560| 6f 2e 61 64 64 72 3b 0a | 58 20 20 20 7d 0a 58 20 |o.addr;.|X }.X |
|00003570| 20 20 0a 58 20 20 20 2f | 2a 20 4d 61 6b 65 20 61 | .X /|* Make a|
|00003580| 20 77 69 64 67 65 74 20 | 73 70 65 63 69 66 69 63 | widget |specific|
|00003590| 20 63 6f 70 79 20 73 6f | 20 77 65 20 63 61 6e 20 | copy so| we can |
|000035a0| 74 77 69 64 64 6c 65 20 | 77 69 74 68 20 69 74 20 |twiddle |with it |
|000035b0| 69 66 20 6e 65 63 65 73 | 73 61 72 79 2e 20 2a 2f |if neces|sary. */|
|000035c0| 0a 58 20 20 20 6e 65 77 | 2d 3e 63 61 6c 65 6e 64 |.X new|->calend|
|000035d0| 61 72 2e 77 65 65 6b 64 | 61 79 5f 6e 61 6d 65 73 |ar.weekd|ay_names|
|000035e0| 20 0a 58 20 20 20 20 20 | 20 3d 20 53 74 72 69 6e | .X | = Strin|
|000035f0| 67 54 61 62 6c 65 43 6f | 70 79 28 72 65 71 75 65 |gTableCo|py(reque|
|00003600| 73 74 2d 3e 63 61 6c 65 | 6e 64 61 72 2e 77 65 65 |st->cale|ndar.wee|
|00003610| 6b 64 61 79 5f 6e 61 6d | 65 73 29 3b 0a 58 0a 58 |kday_nam|es);.X.X|
|00003620| 20 20 20 2f 2a 20 44 6f | 20 77 65 20 6e 65 65 64 | /* Do| we need|
|00003630| 20 74 6f 20 72 6f 74 61 | 74 65 20 74 68 65 20 77 | to rota|te the w|
|00003640| 65 65 6b 64 61 79 73 3f | 20 2a 2f 0a 58 20 20 20 |eekdays?| */.X |
|00003650| 69 66 20 28 6e 65 77 2d | 3e 63 61 6c 65 6e 64 61 |if (new-|>calenda|
|00003660| 72 2e 73 74 61 72 74 69 | 6e 67 5f 77 65 65 6b 64 |r.starti|ng_weekd|
|00003670| 61 79 20 21 3d 20 53 55 | 4e 44 41 59 29 20 7b 0a |ay != SU|NDAY) {.|
|00003680| 58 20 20 20 20 20 20 72 | 6f 74 61 74 65 5f 77 65 |X r|otate_we|
|00003690| 65 6b 64 61 79 73 28 6e | 65 77 29 3b 0a 58 20 20 |ekdays(n|ew);.X |
|000036a0| 20 7d 0a 58 0a 58 20 20 | 20 2f 2a 20 44 69 64 20 | }.X.X | /* Did |
|000036b0| 77 65 20 67 65 74 20 31 | 32 20 6d 6f 6e 74 68 20 |we get 1|2 month |
|000036c0| 6e 61 6d 65 73 3f 20 2a | 2f 0a 58 20 20 20 69 66 |names? *|/.X if|
|000036d0| 20 28 53 74 72 69 6e 67 | 54 61 62 6c 65 4e 75 6d | (String|TableNum|
|000036e0| 62 65 72 28 72 65 71 75 | 65 73 74 2d 3e 63 61 6c |ber(requ|est->cal|
|000036f0| 65 6e 64 61 72 2e 6d 6f | 6e 74 68 5f 6e 61 6d 65 |endar.mo|nth_name|
|00003700| 73 29 20 21 3d 20 31 32 | 29 20 7b 0a 58 20 20 20 |s) != 12|) {.X |
|00003710| 20 20 20 2f 2a 56 41 52 | 41 52 47 53 2a 2f 0a 58 | /*VAR|ARGS*/.X|
|00003720| 20 20 20 20 20 20 66 70 | 72 69 6e 74 66 28 73 74 | fp|rintf(st|
|00003730| 64 65 72 72 2c 20 22 43 | 61 6c 65 6e 64 61 72 57 |derr, "C|alendarW|
|00003740| 69 64 67 65 74 3a 20 59 | 6f 75 20 6d 75 73 74 20 |idget: Y|ou must |
|00003750| 73 70 65 63 69 66 79 20 | 31 32 20 6d 6f 6e 74 68 |specify |12 month|
|00003760| 20 6e 61 6d 65 73 2e 5c | 6e 22 29 3b 0a 58 0a 58 | names.\|n");.X.X|
|00003770| 20 20 20 20 20 20 2f 2a | 20 45 78 70 6c 69 63 69 | /*| Explici|
|00003780| 74 6c 79 20 69 6e 76 6f | 6b 65 20 63 6f 6e 76 65 |tly invo|ke conve|
|00003790| 72 74 65 72 20 6f 6e 20 | 64 65 66 61 75 6c 74 20 |rter on |default |
|000037a0| 76 61 6c 75 65 20 2a 2f | 0a 58 20 20 20 20 20 20 |value */|.X |
|000037b0| 66 72 6f 6d 2e 61 64 64 | 72 20 3d 20 58 74 4e 44 |from.add|r = XtND|
|000037c0| 65 66 61 75 6c 74 4d 6f | 6e 74 68 4e 61 6d 65 73 |efaultMo|nthNames|
|000037d0| 3b 0a 58 20 20 20 20 20 | 20 66 72 6f 6d 2e 73 69 |;.X | from.si|
|000037e0| 7a 65 20 3d 20 73 69 7a | 65 6f 66 28 53 74 72 69 |ze = siz|eof(Stri|
|000037f0| 6e 67 54 61 62 6c 65 29 | 3b 0a 58 20 20 20 20 20 |ngTable)|;.X |
|00003800| 20 58 74 43 6f 6e 76 65 | 72 74 28 6e 65 77 2c 20 | XtConve|rt(new, |
|00003810| 58 74 52 53 74 72 69 6e | 67 2c 20 26 66 72 6f 6d |XtRStrin|g, &from|
|00003820| 2c 20 58 74 52 53 74 72 | 69 6e 67 54 61 62 6c 65 |, XtRStr|ingTable|
|00003830| 2c 20 26 74 6f 29 3b 0a | 58 20 20 20 20 20 20 6e |, &to);.|X n|
|00003840| 65 77 2d 3e 63 61 6c 65 | 6e 64 61 72 2e 6d 6f 6e |ew->cale|ndar.mon|
|00003850| 74 68 5f 6e 61 6d 65 73 | 20 3d 20 2a 28 53 74 72 |th_names| = *(Str|
|00003860| 69 6e 67 54 61 62 6c 65 | 20 2a 29 74 6f 2e 61 64 |ingTable| *)to.ad|
|00003870| 64 72 3b 0a 58 20 20 20 | 20 20 20 0a 58 20 20 20 |dr;.X | .X |
|00003880| 7d 0a 58 0a 58 20 20 20 | 2f 2a 20 44 69 64 20 77 |}.X.X |/* Did w|
|00003890| 65 20 67 65 74 20 33 31 | 20 64 69 67 69 74 20 6e |e get 31| digit n|
|000038a0| 61 6d 65 73 3f 20 2a 2f | 0a 58 20 20 20 69 66 20 |ames? */|.X if |
|000038b0| 28 53 74 72 69 6e 67 54 | 61 62 6c 65 4e 75 6d 62 |(StringT|ableNumb|
|000038c0| 65 72 28 72 65 71 75 65 | 73 74 2d 3e 63 61 6c 65 |er(reque|st->cale|
|000038d0| 6e 64 61 72 2e 64 69 67 | 69 74 5f 6e 61 6d 65 73 |ndar.dig|it_names|
|000038e0| 29 20 21 3d 20 33 31 29 | 20 7b 0a 58 20 20 20 20 |) != 31)| {.X |
|000038f0| 20 20 2f 2a 56 41 52 41 | 52 47 53 2a 2f 0a 58 20 | /*VARA|RGS*/.X |
|00003900| 20 20 20 20 20 66 70 72 | 69 6e 74 66 28 73 74 64 | fpr|intf(std|
|00003910| 65 72 72 2c 20 22 43 61 | 6c 65 6e 64 61 72 57 69 |err, "Ca|lendarWi|
|00003920| 64 67 65 74 3a 20 59 6f | 75 20 6d 75 73 74 20 73 |dget: Yo|u must s|
|00003930| 70 65 63 69 66 79 20 33 | 31 20 64 69 67 69 74 20 |pecify 3|1 digit |
|00003940| 6e 61 6d 65 73 2e 5c 6e | 22 29 3b 0a 58 0a 58 20 |names.\n|");.X.X |
|00003950| 20 20 20 20 20 2f 2a 20 | 45 78 70 6c 69 63 69 74 | /* |Explicit|
|00003960| 6c 79 20 69 6e 76 6f 6b | 65 20 63 6f 6e 76 65 72 |ly invok|e conver|
|00003970| 74 65 72 20 6f 6e 20 64 | 65 66 61 75 6c 74 20 76 |ter on d|efault v|
|00003980| 61 6c 75 65 20 2a 2f 0a | 58 20 20 20 20 20 20 66 |alue */.|X f|
|00003990| 72 6f 6d 2e 61 64 64 72 | 20 3d 20 58 74 4e 44 65 |rom.addr| = XtNDe|
|000039a0| 66 61 75 6c 74 44 69 67 | 69 74 4e 61 6d 65 73 3b |faultDig|itNames;|
|000039b0| 0a 58 20 20 20 20 20 20 | 66 72 6f 6d 2e 73 69 7a |.X |from.siz|
|000039c0| 65 20 3d 20 73 69 7a 65 | 6f 66 28 53 74 72 69 6e |e = size|of(Strin|
|000039d0| 67 54 61 62 6c 65 29 3b | 0a 58 20 20 20 20 20 20 |gTable);|.X |
|000039e0| 58 74 43 6f 6e 76 65 72 | 74 28 6e 65 77 2c 20 58 |XtConver|t(new, X|
|000039f0| 74 52 53 74 72 69 6e 67 | 2c 20 26 66 72 6f 6d 2c |tRString|, &from,|
|00003a00| 20 58 74 52 53 74 72 69 | 6e 67 54 61 62 6c 65 2c | XtRStri|ngTable,|
|00003a10| 20 26 74 6f 29 3b 0a 58 | 20 20 20 20 20 20 6e 65 | &to);.X| ne|
|00003a20| 77 2d 3e 63 61 6c 65 6e | 64 61 72 2e 64 69 67 69 |w->calen|dar.digi|
|00003a30| 74 5f 6e 61 6d 65 73 20 | 3d 20 2a 28 53 74 72 69 |t_names |= *(Stri|
|00003a40| 6e 67 54 61 62 6c 65 20 | 2a 29 74 6f 2e 61 64 64 |ngTable |*)to.add|
|00003a50| 72 3b 0a 58 20 20 20 7d | 0a 58 0a 58 20 20 20 72 |r;.X }|.X.X r|
|00003a60| 61 6e 67 65 5f 63 68 65 | 63 6b 28 0a 58 20 20 20 |ange_che|ck(.X |
|00003a70| 20 20 20 58 74 4e 6c 69 | 6e 65 57 69 64 74 68 2c | XtNli|neWidth,|
|00003a80| 0a 58 20 20 20 20 20 20 | 6e 65 77 2d 3e 63 61 6c |.X |new->cal|
|00003a90| 65 6e 64 61 72 2e 6c 69 | 6e 65 5f 77 69 64 74 68 |endar.li|ne_width|
|00003aa0| 2c 0a 58 20 20 20 20 20 | 20 4d 49 4e 5f 4c 49 4e |,.X | MIN_LIN|
|00003ab0| 45 5f 57 49 44 54 48 2c | 0a 58 20 20 20 20 20 20 |E_WIDTH,|.X |
|00003ac0| 4d 41 58 5f 4c 49 4e 45 | 5f 57 49 44 54 48 0a 58 |MAX_LINE|_WIDTH.X|
|00003ad0| 20 20 20 29 3b 0a 58 0a | 58 20 20 20 72 61 6e 67 | );.X.|X rang|
|00003ae0| 65 5f 63 68 65 63 6b 28 | 0a 58 20 20 20 20 20 20 |e_check(|.X |
|00003af0| 58 74 4e 64 69 67 69 74 | 47 72 61 76 69 74 79 2c |XtNdigit|Gravity,|
|00003b00| 0a 58 20 20 20 20 20 20 | 6e 65 77 2d 3e 63 61 6c |.X |new->cal|
|00003b10| 65 6e 64 61 72 2e 64 69 | 67 69 74 5f 67 72 61 76 |endar.di|git_grav|
|00003b20| 69 74 79 2c 0a 58 20 20 | 20 20 20 20 4e 6f 72 74 |ity,.X | Nort|
|00003b30| 68 57 65 73 74 2c 0a 58 | 20 20 20 20 20 20 53 6f |hWest,.X| So|
|00003b40| 75 74 68 45 61 73 74 0a | 58 20 20 20 29 3b 0a 58 |uthEast.|X );.X|
|00003b50| 0a 58 20 20 20 2f 2a 20 | 4e 65 78 74 20 63 6f 6d |.X /* |Next com|
|00003b60| 70 75 74 65 20 69 6e 69 | 74 69 61 6c 20 73 74 61 |pute ini|tial sta|
|00003b70| 74 65 3a 20 2a 2f 0a 58 | 0a 58 20 20 20 2f 2a 20 |te: */.X|.X /* |
|00003b80| 43 6f 6d 70 75 74 65 20 | 74 68 65 20 6c 65 6e 67 |Compute |the leng|
|00003b90| 74 68 73 20 6f 66 20 74 | 68 65 20 6d 6f 6e 74 68 |ths of t|he month|
|00003ba0| 2c 20 77 65 65 6b 64 61 | 79 20 61 6e 64 20 64 69 |, weekda|y and di|
|00003bb0| 67 69 74 20 6e 61 6d 65 | 73 20 6f 6e 63 65 20 61 |git name|s once a|
|00003bc0| 6e 64 20 6b 65 65 70 20 | 2a 2f 0a 58 20 20 20 2f |nd keep |*/.X /|
|00003bd0| 2a 20 61 72 6f 75 6e 64 | 20 73 6f 20 77 65 20 77 |* around| so we w|
|00003be0| 6f 6e 27 74 20 68 61 76 | 65 20 74 6f 20 72 65 63 |on't hav|e to rec|
|00003bf0| 6f 6d 70 75 74 65 20 74 | 68 65 6d 20 65 76 65 72 |ompute t|hem ever|
|00003c00| 79 20 74 69 6d 65 20 74 | 68 65 79 27 72 65 20 64 |y time t|hey're d|
|00003c10| 72 61 77 6e 2e 20 2a 2f | 0a 58 20 20 20 66 6f 72 |rawn. */|.X for|
|00003c20| 20 28 69 3d 30 3b 20 69 | 20 3c 20 44 41 59 53 5f | (i=0; i| < DAYS_|
|00003c30| 49 4e 5f 57 45 45 4b 3b | 20 69 2b 2b 29 20 7b 0a |IN_WEEK;| i++) {.|
|00003c40| 58 20 20 20 20 20 20 6e | 65 77 2d 3e 63 61 6c 65 |X n|ew->cale|
|00003c50| 6e 64 61 72 2e 77 65 65 | 6b 64 61 79 5f 6e 61 6d |ndar.wee|kday_nam|
|00003c60| 65 5f 6c 65 6e 67 74 68 | 73 5b 69 5d 20 3d 20 73 |e_length|s[i] = s|
|00003c70| 74 72 6c 65 6e 28 6e 65 | 77 2d 3e 63 61 6c 65 6e |trlen(ne|w->calen|
|00003c80| 64 61 72 2e 77 65 65 6b | 64 61 79 5f 6e 61 6d 65 |dar.week|day_name|
|00003c90| 73 5b 69 5d 29 3b 0a 58 | 20 20 20 7d 0a 58 20 20 |s[i]);.X| }.X |
|00003ca0| 20 66 6f 72 20 28 69 3d | 30 3b 20 69 20 3c 20 4d | for (i=|0; i < M|
|00003cb0| 4f 4e 54 48 53 5f 49 4e | 5f 59 45 41 52 3b 20 69 |ONTHS_IN|_YEAR; i|
|00003cc0| 2b 2b 29 20 7b 0a 58 20 | 20 20 20 20 20 6e 65 77 |++) {.X | new|
|00003cd0| 2d 3e 63 61 6c 65 6e 64 | 61 72 2e 6d 6f 6e 74 68 |->calend|ar.month|
|00003ce0| 5f 6e 61 6d 65 5f 6c 65 | 6e 67 74 68 73 5b 69 5d |_name_le|ngths[i]|
|00003cf0| 20 3d 20 73 74 72 6c 65 | 6e 28 6e 65 77 2d 3e 63 | = strle|n(new->c|
|00003d00| 61 6c 65 6e 64 61 72 2e | 6d 6f 6e 74 68 5f 6e 61 |alendar.|month_na|
|00003d10| 6d 65 73 5b 69 5d 29 3b | 0a 58 20 20 20 7d 0a 58 |mes[i]);|.X }.X|
|00003d20| 20 20 20 66 6f 72 20 28 | 69 3d 30 3b 20 69 20 3c | for (|i=0; i <|
|00003d30| 20 4d 41 58 5f 44 41 59 | 53 5f 49 4e 5f 4d 4f 4e | MAX_DAY|S_IN_MON|
|00003d40| 54 48 3b 20 69 2b 2b 29 | 20 7b 0a 58 20 20 20 20 |TH; i++)| {.X |
|00003d50| 20 20 6e 65 77 2d 3e 63 | 61 6c 65 6e 64 61 72 2e | new->c|alendar.|
|00003d60| 64 69 67 69 74 5f 6e 61 | 6d 65 5f 6c 65 6e 67 74 |digit_na|me_lengt|
|00003d70| 68 73 5b 69 5d 20 3d 20 | 73 74 72 6c 65 6e 28 6e |hs[i] = |strlen(n|
|00003d80| 65 77 2d 3e 63 61 6c 65 | 6e 64 61 72 2e 64 69 67 |ew->cale|ndar.dig|
|00003d90| 69 74 5f 6e 61 6d 65 73 | 5b 69 5d 29 3b 0a 58 20 |it_names|[i]);.X |
|00003da0| 20 20 7d 0a 58 0a 58 20 | 20 20 69 6e 69 74 69 61 | }.X.X | initia|
|00003db0| 6c 69 7a 65 5f 6c 69 6e | 65 5f 47 43 73 28 6e 65 |lize_lin|e_GCs(ne|
|00003dc0| 77 29 3b 0a 58 20 20 20 | 69 6e 69 74 69 61 6c 69 |w);.X |initiali|
|00003dd0| 7a 65 5f 66 6f 6e 74 5f | 47 43 73 5f 61 6e 64 5f |ze_font_|GCs_and_|
|00003de0| 69 6e 66 6f 28 6e 65 77 | 29 3b 0a 58 20 20 20 63 |info(new|);.X c|
|00003df0| 6f 6d 70 75 74 65 5f 6d | 69 6e 69 6d 75 6d 5f 63 |ompute_m|inimum_c|
|00003e00| 65 6c 6c 5f 73 69 7a 65 | 28 6e 65 77 29 3b 0a 58 |ell_size|(new);.X|
|00003e10| 0a 58 20 20 20 6e 65 77 | 2d 3e 63 61 6c 65 6e 64 |.X new|->calend|
|00003e20| 61 72 2e 72 65 61 6c 5f | 63 65 6c 6c 5f 77 69 64 |ar.real_|cell_wid|
|00003e30| 74 68 0a 58 20 20 20 20 | 20 20 3d 20 4d 41 58 28 |th.X | = MAX(|
|00003e40| 6e 65 77 2d 3e 63 61 6c | 65 6e 64 61 72 2e 6d 69 |new->cal|endar.mi|
|00003e50| 6e 5f 63 65 6c 6c 5f 77 | 69 64 74 68 20 2b 20 31 |n_cell_w|idth + 1|
|00003e60| 2c 20 69 6e 69 74 69 61 | 6c 5f 63 65 6c 6c 5f 77 |, initia|l_cell_w|
|00003e70| 69 64 74 68 29 3b 0a 58 | 20 20 20 6e 65 77 2d 3e |idth);.X| new->|
|00003e80| 63 61 6c 65 6e 64 61 72 | 2e 72 65 61 6c 5f 63 65 |calendar|.real_ce|
|00003e90| 6c 6c 5f 68 65 69 67 68 | 74 0a 58 20 20 20 20 20 |ll_heigh|t.X |
|00003ea0| 20 3d 20 4d 41 58 28 6e | 65 77 2d 3e 63 61 6c 65 | = MAX(n|ew->cale|
|00003eb0| 6e 64 61 72 2e 6d 69 6e | 5f 63 65 6c 6c 5f 68 65 |ndar.min|_cell_he|
|00003ec0| 69 67 68 74 20 2b 20 31 | 2c 20 69 6e 69 74 69 61 |ight + 1|, initia|
|00003ed0| 6c 5f 63 65 6c 6c 5f 68 | 65 69 67 68 74 29 3b 0a |l_cell_h|eight);.|
|00003ee0| 58 0a 58 20 20 20 6e 65 | 77 2d 3e 63 61 6c 65 6e |X.X ne|w->calen|
|00003ef0| 64 61 72 2e 6f 6c 64 5f | 77 69 6e 64 6f 77 5f 77 |dar.old_|window_w|
|00003f00| 69 64 74 68 20 3d 20 2d | 31 3b 0a 58 20 20 20 6e |idth = -|1;.X n|
|00003f10| 65 77 2d 3e 63 61 6c 65 | 6e 64 61 72 2e 6f 6c 64 |ew->cale|ndar.old|
|00003f20| 5f 77 69 6e 64 6f 77 5f | 68 65 69 67 68 74 20 3d |_window_|height =|
|00003f30| 20 2d 31 3b 0a 58 0a 58 | 20 20 20 69 66 20 28 6e | -1;.X.X| if (n|
|00003f40| 65 77 2d 3e 63 6f 72 65 | 2e 77 69 64 74 68 20 3d |ew->core|.width =|
|00003f50| 3d 20 30 29 20 7b 0a 58 | 20 20 20 20 20 20 6e 65 |= 0) {.X| ne|
|00003f60| 77 2d 3e 63 6f 72 65 2e | 77 69 64 74 68 20 3d 20 |w->core.|width = |
|00003f70| 57 49 4e 44 4f 57 5f 57 | 49 44 54 48 28 6e 65 77 |WINDOW_W|IDTH(new|
|00003f80| 2d 3e 63 61 6c 65 6e 64 | 61 72 2e 72 65 61 6c 5f |->calend|ar.real_|
|00003f90| 63 65 6c 6c 5f 77 69 64 | 74 68 29 3b 0a 58 20 20 |cell_wid|th);.X |
|00003fa0| 20 7d 0a 58 20 20 20 69 | 66 20 28 6e 65 77 2d 3e | }.X i|f (new->|
|00003fb0| 63 6f 72 65 2e 68 65 69 | 67 68 74 20 3d 3d 20 30 |core.hei|ght == 0|
|00003fc0| 29 20 7b 0a 58 20 20 20 | 20 20 20 6e 65 77 2d 3e |) {.X | new->|
|00003fd0| 63 6f 72 65 2e 68 65 69 | 67 68 74 20 3d 20 57 49 |core.hei|ght = WI|
|00003fe0| 4e 44 4f 57 5f 48 45 49 | 47 48 54 28 6e 65 77 2d |NDOW_HEI|GHT(new-|
|00003ff0| 3e 63 61 6c 65 6e 64 61 | 72 2e 72 65 61 6c 5f 63 |>calenda|r.real_c|
|00004000| 65 6c 6c 5f 68 65 69 67 | 68 74 29 3b 0a 58 20 20 |ell_heig|ht);.X |
|00004010| 20 7d 0a 58 0a 58 20 20 | 20 63 6f 6d 70 75 74 65 | }.X.X | compute|
|00004020| 5f 67 72 69 64 20 20 20 | 20 20 20 20 20 20 20 28 |_grid | (|
|00004030| 6e 65 77 29 3b 0a 58 20 | 20 20 63 6f 6d 70 75 74 |new);.X | comput|
|00004040| 65 5f 63 65 6c 6c 5f 67 | 65 6f 6d 65 74 72 79 20 |e_cell_g|eometry |
|00004050| 28 6e 65 77 29 3b 0a 58 | 0a 58 20 20 20 2f 2a 20 |(new);.X|.X /* |
|00004060| 43 61 6c 65 6e 64 61 72 | 20 64 65 66 61 75 6c 74 |Calendar| default|
|00004070| 73 20 74 6f 20 63 75 72 | 72 65 6e 74 20 64 61 74 |s to cur|rent dat|
|00004080| 65 2e 20 2a 2f 0a 58 20 | 20 20 6e 65 77 2d 3e 63 |e. */.X | new->c|
|00004090| 61 6c 65 6e 64 61 72 2e | 64 61 74 65 20 3d 20 47 |alendar.|date = G|
|000040a0| 65 74 54 6f 64 61 79 73 | 44 61 74 65 28 29 3b 0a |etTodays|Date();.|
|000040b0| 58 0a 58 20 20 20 2f 2a | 20 41 6c 6c 6f 63 61 74 |X.X /*| Allocat|
|000040c0| 65 20 61 20 66 69 78 65 | 64 20 61 6d 6f 75 6e 74 |e a fixe|d amount|
|000040d0| 20 6f 66 20 73 70 61 63 | 65 20 66 6f 72 20 74 68 | of spac|e for th|
|000040e0| 65 20 74 69 74 6c 65 20 | 73 74 72 69 6e 67 2e 20 |e title |string. |
|000040f0| 2a 2f 0a 58 20 20 20 6e | 65 77 2d 3e 63 61 6c 65 |*/.X n|ew->cale|
|00004100| 6e 64 61 72 2e 74 69 74 | 6c 65 5f 73 74 72 69 6e |ndar.tit|le_strin|
|00004110| 67 20 3d 20 28 63 68 61 | 72 20 2a 29 58 74 4d 61 |g = (cha|r *)XtMa|
|00004120| 6c 6c 6f 63 28 4d 41 58 | 5f 54 49 54 4c 45 5f 4c |lloc(MAX|_TITLE_L|
|00004130| 45 4e 2a 73 69 7a 65 6f | 66 28 63 68 61 72 29 29 |EN*sizeo|f(char))|
|00004140| 3b 0a 58 0a 58 20 20 20 | 2f 2a 20 46 6f 72 63 65 |;.X.X |/* Force|
|00004150| 20 61 20 72 65 2d 63 61 | 6c 63 75 6c 61 74 69 6f | a re-ca|lculatio|
|00004160| 6e 20 6f 66 20 74 68 65 | 20 6d 6f 6e 74 68 20 64 |n of the| month d|
|00004170| 61 74 61 20 66 6f 72 20 | 74 68 65 20 63 75 72 72 |ata for |the curr|
|00004180| 65 6e 74 20 79 65 61 72 | 2e 20 2a 2f 0a 58 20 20 |ent year|. */.X |
|00004190| 20 6e 65 77 2d 3e 63 61 | 6c 65 6e 64 61 72 2e 63 | new->ca|lendar.c|
|000041a0| 75 72 72 65 6e 74 5f 79 | 65 61 72 20 3d 20 30 3b |urrent_y|ear = 0;|
|000041b0| 0a 58 20 20 20 63 6f 6d | 70 75 74 65 5f 6d 6f 6e |.X com|pute_mon|
|000041c0| 74 68 5f 64 61 74 61 28 | 6e 65 77 29 3b 0a 58 0a |th_data(|new);.X.|
|000041d0| 58 20 20 20 6e 65 77 2d | 3e 63 61 6c 65 6e 64 61 |X new-|>calenda|
|000041e0| 72 2e 68 69 67 68 6c 69 | 67 68 74 5f 64 61 79 73 |r.highli|ght_days|
|000041f0| 5f 69 6e 5f 66 65 62 72 | 75 61 72 79 20 0a 58 20 |_in_febr|uary .X |
|00004200| 20 20 20 20 20 3d 20 6e | 65 77 2d 3e 63 61 6c 65 | = n|ew->cale|
|00004210| 6e 64 61 72 2e 64 61 79 | 73 5f 69 6e 5f 66 65 62 |ndar.day|s_in_feb|
|00004220| 72 75 61 72 79 3b 0a 58 | 0a 58 20 20 20 2f 2a 20 |ruary;.X|.X /* |
|00004230| 43 61 6c 65 6e 64 61 72 | 20 68 69 67 68 6c 69 67 |Calendar| highlig|
|00004240| 68 74 73 20 63 75 72 72 | 65 6e 74 20 64 61 79 20 |hts curr|ent day |
|00004250| 62 79 20 64 65 66 61 75 | 6c 74 2c 20 69 66 20 68 |by defau|lt, if h|
|00004260| 69 67 68 6c 69 67 68 20 | 69 73 20 74 72 75 65 2e |ighligh |is true.|
|00004270| 20 2a 2f 0a 58 20 20 20 | 6e 65 77 2d 3e 63 61 6c | */.X |new->cal|
|00004280| 65 6e 64 61 72 2e 68 69 | 67 68 6c 69 67 68 74 5f |endar.hi|ghlight_|
|00004290| 64 61 74 65 20 3d 20 6e | 65 77 2d 3e 63 61 6c 65 |date = n|ew->cale|
|000042a0| 6e 64 61 72 2e 64 61 74 | 65 3b 0a 58 0a 58 20 20 |ndar.dat|e;.X.X |
|000042b0| 20 63 6f 6d 70 75 74 65 | 5f 74 69 74 6c 65 5f 73 | compute|_title_s|
|000042c0| 74 72 69 6e 67 28 6e 65 | 77 29 3b 0a 58 0a 58 20 |tring(ne|w);.X.X |
|000042d0| 20 20 45 4e 44 28 22 63 | 61 6c 65 6e 64 61 72 5f | END("c|alendar_|
|000042e0| 69 6e 69 74 69 61 6c 69 | 7a 65 5f 6d 65 74 68 6f |initiali|ze_metho|
|000042f0| 64 22 29 3b 0a 58 7d 0a | 58 0a 58 0a 58 0a 58 2f |d");.X}.|X.X.X.X/|
|00004300| 2a 41 52 47 53 55 53 45 | 44 2a 2f 0a 58 73 74 61 |*ARGSUSE|D*/.Xsta|
|00004310| 74 69 63 20 76 6f 69 64 | 20 63 61 6c 65 6e 64 61 |tic void| calenda|
|00004320| 72 5f 65 78 70 6f 73 65 | 5f 6d 65 74 68 6f 64 28 |r_expose|_method(|
|00004330| 77 69 64 67 65 74 2c 20 | 65 76 65 6e 74 29 0a 58 |widget, |event).X|
|00004340| 43 61 6c 65 6e 64 61 72 | 57 69 64 67 65 74 20 77 |Calendar|Widget w|
|00004350| 69 64 67 65 74 3b 0a 58 | 58 45 78 70 6f 73 65 45 |idget;.X|XExposeE|
|00004360| 76 65 6e 74 20 2a 65 76 | 65 6e 74 3b 0a 58 7b 0a |vent *ev|ent;.X{.|
|00004370| 58 20 20 20 42 45 47 49 | 4e 28 22 63 61 6c 65 6e |X BEGI|N("calen|
|00004380| 64 61 72 5f 65 78 70 6f | 73 65 5f 6d 65 74 68 6f |dar_expo|se_metho|
|00004390| 64 22 29 3b 0a 58 0a 58 | 20 20 20 2f 2a 20 4f 6b |d");.X.X| /* Ok|
|000043a0| 61 79 2c 20 69 74 27 73 | 20 73 61 66 65 20 74 6f |ay, it's| safe to|
|000043b0| 20 64 72 61 77 20 6e 6f | 77 2e 20 2a 2f 0a 58 20 | draw no|w. */.X |
|000043c0| 20 20 77 69 64 67 65 74 | 2d 3e 63 61 6c 65 6e 64 | widget|->calend|
|000043d0| 61 72 2e 73 74 61 74 65 | 20 3d 20 73 6f 6c 69 64 |ar.state| = solid|
|000043e0| 3b 0a 58 0a 58 20 20 20 | 64 72 61 77 5f 77 65 65 |;.X.X |draw_wee|
|000043f0| 6b 64 61 79 73 20 20 20 | 20 28 77 69 64 67 65 74 |kdays | (widget|
|00004400| 29 3b 0a 58 20 20 20 64 | 72 61 77 5f 74 69 74 6c |);.X d|raw_titl|
|00004410| 65 20 20 20 20 20 20 20 | 28 77 69 64 67 65 74 29 |e |(widget)|
|00004420| 3b 0a 58 20 20 20 64 72 | 61 77 5f 64 69 67 69 74 |;.X dr|aw_digit|
|00004430| 73 20 20 20 20 20 20 28 | 77 69 64 67 65 74 29 3b |s (|widget);|
|00004440| 0a 58 0a 58 20 20 20 69 | 66 20 28 53 59 4e 43 28 |.X.X i|f (SYNC(|
|00004450| 77 69 64 67 65 74 29 29 | 20 7b 0a 58 20 20 20 20 |widget))| {.X |
|00004460| 20 20 74 6f 67 67 6c 65 | 5f 68 69 67 68 6c 69 67 | toggle|_highlig|
|00004470| 68 74 20 28 77 69 64 67 | 65 74 2c 20 4f 4e 29 3b |ht (widg|et, ON);|
|00004480| 0a 58 20 20 20 7d 0a 58 | 0a 58 20 20 20 64 72 61 |.X }.X|.X dra|
|00004490| 77 5f 67 72 69 64 20 20 | 20 20 20 20 20 20 28 77 |w_grid | (w|
|000044a0| 69 64 67 65 74 29 3b 0a | 58 20 20 20 0a 58 20 20 |idget);.|X .X |
|000044b0| 20 45 4e 44 28 22 63 61 | 6c 65 6e 64 61 72 5f 65 | END("ca|lendar_e|
|000044c0| 78 70 6f 73 65 5f 6d 65 | 74 68 6f 64 22 29 3b 0a |xpose_me|thod");.|
|000044d0| 58 7d 0a 58 0a 58 0a 58 | 0a 58 73 74 61 74 69 63 |X}.X.X.X|.Xstatic|
|000044e0| 20 42 6f 6f 6c 65 61 6e | 20 63 61 6c 65 6e 64 61 | Boolean| calenda|
|000044f0| 72 5f 73 65 74 5f 76 61 | 6c 75 65 73 5f 6d 65 74 |r_set_va|lues_met|
|00004500| 68 6f 64 28 63 75 72 72 | 65 6e 74 2c 20 72 65 71 |hod(curr|ent, req|
|00004510| 75 65 73 74 2c 20 6e 65 | 77 29 0a 58 43 61 6c 65 |uest, ne|w).XCale|
|00004520| 6e 64 61 72 57 69 64 67 | 65 74 20 63 75 72 72 65 |ndarWidg|et curre|
|00004530| 6e 74 3b 0a 58 43 61 6c | 65 6e 64 61 72 57 69 64 |nt;.XCal|endarWid|
|00004540| 67 65 74 20 72 65 71 75 | 65 73 74 3b 0a 58 43 61 |get requ|est;.XCa|
|00004550| 6c 65 6e 64 61 72 57 69 | 64 67 65 74 20 6e 65 77 |lendarWi|dget new|
|00004560| 3b 0a 58 7b 0a 58 20 20 | 20 42 6f 6f 6c 65 61 6e |;.X{.X | Boolean|
|00004570| 20 72 65 64 72 61 77 20 | 3d 20 46 61 6c 73 65 3b | redraw |= False;|
|00004580| 0a 58 20 20 20 42 6f 6f | 6c 65 61 6e 20 72 65 73 |.X Boo|lean res|
|00004590| 69 7a 65 20 3d 20 46 61 | 6c 73 65 3b 0a 58 20 20 |ize = Fa|lse;.X |
|000045a0| 20 42 6f 6f 6c 65 61 6e | 20 6e 65 77 5f 77 65 65 | Boolean| new_wee|
|000045b0| 6b 64 61 79 5f 6e 61 6d | 65 73 20 3d 20 46 61 6c |kday_nam|es = Fal|
|000045c0| 73 65 3b 0a 58 20 20 20 | 42 6f 6f 6c 65 61 6e 20 |se;.X |Boolean |
|000045d0| 6e 65 77 5f 73 74 61 72 | 74 69 6e 67 5f 77 65 65 |new_star|ting_wee|
|000045e0| 6b 64 61 79 20 3d 20 46 | 61 6c 73 65 3b 0a 58 20 |kday = F|alse;.X |
|000045f0| 20 20 44 69 73 70 6c 61 | 79 20 2a 20 64 69 73 70 | Displa|y * disp|
|00004600| 6c 61 79 3b 0a 58 20 20 | 20 58 47 43 56 61 6c 75 |lay;.X | XGCValu|
|00004610| 65 73 20 76 61 6c 75 65 | 73 3b 0a 58 20 20 20 58 |es value|s;.X X|
|00004620| 74 47 43 4d 61 73 6b 20 | 6d 61 73 6b 3b 0a 58 20 |tGCMask |mask;.X |
|00004630| 20 20 69 6e 74 20 69 3b | 20 0a 58 20 20 20 69 6e | int i;| .X in|
|00004640| 74 20 6e 65 77 5f 77 69 | 64 74 68 3b 0a 58 20 20 |t new_wi|dth;.X |
|00004650| 20 69 6e 74 20 6e 65 77 | 5f 68 65 69 67 68 74 3b | int new|_height;|
|00004660| 0a 58 0a 58 20 20 20 42 | 45 47 49 4e 28 22 63 61 |.X.X B|EGIN("ca|
|00004670| 6c 65 6e 64 61 72 5f 73 | 65 74 5f 76 61 6c 75 65 |lendar_s|et_value|
|00004680| 73 5f 6d 65 74 68 6f 64 | 22 29 3b 0a 58 0a 58 20 |s_method|");.X.X |
|00004690| 20 20 64 69 73 70 6c 61 | 79 20 3d 20 58 74 44 69 | displa|y = XtDi|
|000046a0| 73 70 6c 61 79 28 63 75 | 72 72 65 6e 74 29 3b 0a |splay(cu|rrent);.|
|000046b0| 58 20 20 20 0a 58 20 20 | 20 2f 2a 20 4c 69 6e 65 |X .X | /* Line|
|000046c0| 20 57 69 64 74 68 3a 20 | 2a 2f 0a 58 20 20 20 69 | Width: |*/.X i|
|000046d0| 66 20 20 28 72 65 71 75 | 65 73 74 2d 3e 63 61 6c |f (requ|est->cal|
|000046e0| 65 6e 64 61 72 2e 6c 69 | 6e 65 5f 77 69 64 74 68 |endar.li|ne_width|
|000046f0| 20 21 3d 20 63 75 72 72 | 65 6e 74 2d 3e 63 61 6c | != curr|ent->cal|
|00004700| 65 6e 64 61 72 2e 6c 69 | 6e 65 5f 77 69 64 74 68 |endar.li|ne_width|
|00004710| 29 20 7b 0a 58 20 20 20 | 20 20 20 6e 65 77 2d 3e |) {.X | new->|
|00004720| 63 61 6c 65 6e 64 61 72 | 2e 6c 69 6e 65 5f 77 69 |calendar|.line_wi|
|00004730| 64 74 68 20 3d 20 62 6f | 75 6e 64 28 0a 58 20 20 |dth = bo|und(.X |
|00004740| 20 20 20 20 20 20 20 72 | 65 71 75 65 73 74 2d 3e | r|equest->|
|00004750| 63 61 6c 65 6e 64 61 72 | 2e 6c 69 6e 65 5f 77 69 |calendar|.line_wi|
|00004760| 64 74 68 2c 0a 58 20 20 | 20 20 20 20 20 20 20 4d |dth,.X | M|
|00004770| 49 4e 5f 4c 49 4e 45 5f | 57 49 44 54 48 2c 0a 58 |IN_LINE_|WIDTH,.X|
|00004780| 20 20 20 20 20 20 20 20 | 20 4d 41 58 5f 4c 49 4e | | MAX_LIN|
|00004790| 45 5f 57 49 44 54 48 0a | 58 20 20 20 20 20 20 29 |E_WIDTH.|X )|
|000047a0| 3b 0a 58 20 20 20 7d 0a | 58 20 20 20 69 66 20 28 |;.X }.|X if (|
|000047b0| 6e 65 77 2d 3e 63 61 6c | 65 6e 64 61 72 2e 6c 69 |new->cal|endar.li|
|000047c0| 6e 65 5f 77 69 64 74 68 | 20 21 3d 20 63 75 72 72 |ne_width| != curr|
|000047d0| 65 6e 74 2d 3e 63 61 6c | 65 6e 64 61 72 2e 6c 69 |ent->cal|endar.li|
|000047e0| 6e 65 5f 77 69 64 74 68 | 29 20 7b 0a 58 20 20 20 |ne_width|) {.X |
|000047f0| 20 20 20 6d 61 73 6b 20 | 3d 20 47 43 4c 69 6e 65 | mask |= GCLine|
|00004800| 57 69 64 74 68 3b 0a 58 | 20 20 20 20 20 20 76 61 |Width;.X| va|
|00004810| 6c 75 65 73 2e 6c 69 6e | 65 5f 77 69 64 74 68 20 |lues.lin|e_width |
|00004820| 3d 20 6e 65 77 2d 3e 63 | 61 6c 65 6e 64 61 72 2e |= new->c|alendar.|
|00004830| 6c 69 6e 65 5f 77 69 64 | 74 68 3b 0a 58 20 20 20 |line_wid|th;.X |
|00004840| 20 20 20 58 43 68 61 6e | 67 65 47 43 28 0a 58 20 | XChan|geGC(.X |
|00004850| 20 20 20 20 20 20 20 20 | 64 69 73 70 6c 61 79 2c | |display,|
|00004860| 0a 58 20 20 20 20 20 20 | 20 20 20 6e 65 77 2d 3e |.X | new->|
|00004870| 63 61 6c 65 6e 64 61 72 | 2e 64 72 61 77 5f 67 63 |calendar|.draw_gc|
|00004880| 2c 0a 58 20 20 20 20 20 | 20 20 20 20 6d 61 73 6b |,.X | mask|
|00004890| 2c 0a 58 20 20 20 20 20 | 20 20 20 20 26 76 61 6c |,.X | &val|
|000048a0| 75 65 73 0a 58 20 20 20 | 20 20 20 29 3b 0a 58 20 |ues.X | );.X |
|000048b0| 20 20 20 20 20 72 65 64 | 72 61 77 20 3d 20 54 72 | red|raw = Tr|
|000048c0| 75 65 3b 0a 58 20 20 20 | 7d 0a 58 0a 58 20 20 20 |ue;.X |}.X.X |
|000048d0| 2f 2a 20 44 69 67 69 74 | 20 47 72 61 76 69 74 79 |/* Digit| Gravity|
|000048e0| 3a 20 2a 2f 0a 58 20 20 | 20 69 66 20 28 72 65 71 |: */.X | if (req|
|000048f0| 75 65 73 74 2d 3e 63 61 | 6c 65 6e 64 61 72 2e 64 |uest->ca|lendar.d|
|00004900| 69 67 69 74 5f 67 72 61 | 76 69 74 79 20 21 3d 20 |igit_gra|vity != |
|00004910| 63 75 72 72 65 6e 74 2d | 3e 63 61 6c 65 6e 64 61 |current-|>calenda|
|00004920| 72 2e 64 69 67 69 74 5f | 67 72 61 76 69 74 79 29 |r.digit_|gravity)|
|00004930| 20 7b 0a 58 20 20 20 20 | 20 20 6e 65 77 2d 3e 63 | {.X | new->c|
|00004940| 61 6c 65 6e 64 61 72 2e | 64 69 67 69 74 5f 67 72 |alendar.|digit_gr|
|00004950| 61 76 69 74 79 20 3d 20 | 28 58 74 47 72 61 76 69 |avity = |(XtGravi|
|00004960| 74 79 29 20 62 6f 75 6e | 64 28 0a 58 20 20 20 20 |ty) boun|d(.X |
|00004970| 20 20 20 20 20 28 69 6e | 74 29 20 72 65 71 75 65 | (in|t) reque|
|00004980| 73 74 2d 3e 63 61 6c 65 | 6e 64 61 72 2e 64 69 67 |st->cale|ndar.dig|
|00004990| 69 74 5f 67 72 61 76 69 | 74 79 2c 0a 58 20 20 20 |it_gravi|ty,.X |
|000049a0| 20 20 20 20 20 20 28 69 | 6e 74 29 20 4e 6f 72 74 | (i|nt) Nort|
|000049b0| 68 57 65 73 74 2c 0a 58 | 20 20 20 20 20 20 20 20 |hWest,.X| |
|000049c0| 20 28 69 6e 74 29 20 53 | 6f 75 74 68 45 61 73 74 | (int) S|outhEast|
|000049d0| 0a 58 20 20 20 20 20 20 | 29 3b 0a 58 20 20 20 7d |.X |);.X }|
|000049e0| 0a 58 20 20 20 69 66 20 | 28 6e 65 77 2d 3e 63 61 |.X if |(new->ca|
|000049f0| 6c 65 6e 64 61 72 2e 64 | 69 67 69 74 5f 67 72 61 |lendar.d|igit_gra|
|00004a00| 76 69 74 79 20 21 3d 20 | 63 75 72 72 65 6e 74 2d |vity != |current-|
|00004a10| 3e 63 61 6c 65 6e 64 61 | 72 2e 64 69 67 69 74 5f |>calenda|r.digit_|
|00004a20| 67 72 61 76 69 74 79 29 | 20 7b 0a 58 20 20 20 20 |gravity)| {.X |
|00004a30| 20 20 72 65 64 72 61 77 | 20 3d 20 54 72 75 65 3b | redraw| = True;|
|00004a40| 0a 58 20 20 20 7d 0a 58 | 20 20 20 0a 58 20 20 20 |.X }.X| .X |
|00004a50| 2f 2a 20 57 65 65 6b 64 | 61 79 20 4e 61 6d 65 73 |/* Weekd|ay Names|
|00004a60| 3a 20 2a 2f 0a 58 20 20 | 20 69 66 20 28 72 65 71 |: */.X | if (req|
|00004a70| 75 65 73 74 2d 3e 63 61 | 6c 65 6e 64 61 72 2e 77 |uest->ca|lendar.w|
|00004a80| 65 65 6b 64 61 79 5f 6e | 61 6d 65 73 20 21 3d 20 |eekday_n|ames != |
|00004a90| 63 75 72 72 65 6e 74 2d | 3e 63 61 6c 65 6e 64 61 |current-|>calenda|
|00004aa0| 72 2e 77 65 65 6b 64 61 | 79 5f 6e 61 6d 65 73 29 |r.weekda|y_names)|
|00004ab0| 20 7b 0a 58 20 20 20 20 | 20 20 69 66 20 28 53 74 | {.X | if (St|
|00004ac0| 72 69 6e 67 54 61 62 6c | 65 4e 75 6d 62 65 72 28 |ringTabl|eNumber(|
|00004ad0| 72 65 71 75 65 73 74 2d | 3e 63 61 6c 65 6e 64 61 |request-|>calenda|
|00004ae0| 72 2e 77 65 65 6b 64 61 | 79 5f 6e 61 6d 65 73 29 |r.weekda|y_names)|
|00004af0| 20 21 3d 20 44 41 59 53 | 5f 49 4e 5f 57 45 45 4b | != DAYS|_IN_WEEK|
|00004b00| 29 20 7b 0a 58 20 20 20 | 20 20 20 20 20 20 2f 2a |) {.X | /*|
|00004b10| 56 41 52 41 52 47 53 2a | 2f 0a 58 20 20 20 20 20 |VARARGS*|/.X |
|00004b20| 20 20 20 20 66 70 72 69 | 6e 74 66 28 73 74 64 65 | fpri|ntf(stde|
|00004b30| 72 72 2c 20 22 43 61 6c | 65 6e 64 61 72 57 69 64 |rr, "Cal|endarWid|
|00004b40| 67 65 74 3a 20 6d 75 73 | 74 20 73 70 65 63 69 66 |get: mus|t specif|
|00004b50| 79 20 37 20 77 65 65 6b | 64 61 79 20 6e 61 6d 65 |y 7 week|day name|
|00004b60| 73 5c 6e 22 29 3b 0a 58 | 20 20 20 20 20 20 7d 20 |s\n");.X| } |
|00004b70| 65 6c 73 65 20 7b 0a 58 | 20 20 20 20 20 20 20 20 |else {.X| |
|00004b80| 20 2f 2a 20 43 6f 70 79 | 20 74 68 65 20 73 74 72 | /* Copy| the str|
|00004b90| 69 6e 67 20 74 61 62 6c | 65 20 73 6f 20 77 65 20 |ing tabl|e so we |
|00004ba0| 63 61 6e 20 72 6f 74 61 | 74 65 20 69 74 20 69 66 |can rota|te it if|
|00004bb0| 20 6e 65 63 65 73 73 61 | 72 79 2e 20 2a 2f 0a 58 | necessa|ry. */.X|
|00004bc0| 20 20 20 20 20 20 20 20 | 20 6e 65 77 2d 3e 63 61 | | new->ca|
|00004bd0| 6c 65 6e 64 61 72 2e 77 | 65 65 6b 64 61 79 5f 6e |lendar.w|eekday_n|
|00004be0| 61 6d 65 73 20 3d 20 0a | 58 20 20 20 20 20 20 20 |ames = .|X |
|00004bf0| 20 20 20 20 20 53 74 72 | 69 6e 67 54 61 62 6c 65 | Str|ingTable|
|00004c00| 43 6f 70 79 28 72 65 71 | 75 65 73 74 2d 3e 63 61 |Copy(req|uest->ca|
|00004c10| 6c 65 6e 64 61 72 2e 77 | 65 65 6b 64 61 79 5f 6e |lendar.w|eekday_n|
|00004c20| 61 6d 65 73 29 3b 0a 58 | 20 20 20 20 20 20 20 20 |ames);.X| |
|00004c30| 20 66 6f 72 20 28 69 3d | 30 3b 20 69 20 3c 20 44 | for (i=|0; i < D|
|00004c40| 41 59 53 5f 49 4e 5f 57 | 45 45 4b 3b 20 69 2b 2b |AYS_IN_W|EEK; i++|
|00004c50| 29 20 7b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |) {.X | |
|00004c60| 20 6e 65 77 2d 3e 63 61 | 6c 65 6e 64 61 72 2e 77 | new->ca|lendar.w|
|00004c70| 65 65 6b 64 61 79 5f 6e | 61 6d 65 5f 6c 65 6e 67 |eekday_n|ame_leng|
|00004c80| 74 68 73 5b 69 5d 20 0a | 58 20 20 20 20 20 20 20 |ths[i] .|X |
|00004c90| 20 20 20 20 20 20 20 20 | 3d 20 73 74 72 6c 65 6e | |= strlen|
|00004ca0| 28 72 65 71 75 65 73 74 | 2d 3e 63 61 6c 65 6e 64 |(request|->calend|
|00004cb0| 61 72 2e 77 65 65 6b 64 | 61 79 5f 6e 61 6d 65 73 |ar.weekd|ay_names|
|00004cc0| 5b 69 5d 29 3b 0a 58 20 | 20 20 20 20 20 20 20 20 |[i]);.X | |
|00004cd0| 7d 0a 58 20 20 20 20 20 | 20 20 20 20 6e 65 77 5f |}.X | new_|
|00004ce0| 77 65 65 6b 64 61 79 5f | 6e 61 6d 65 73 20 3d 20 |weekday_|names = |
|00004cf0| 54 72 75 65 3b 0a 58 20 | 20 20 20 20 20 20 20 20 |True;.X | |
|00004d00| 72 65 64 72 61 77 20 3d | 20 54 72 75 65 3b 0a 58 |redraw =| True;.X|
|00004d10| 20 20 20 20 20 20 20 20 | 20 72 65 73 69 7a 65 20 | | resize |
|00004d20| 3d 20 54 72 75 65 3b 0a | 58 20 20 20 20 20 20 7d |= True;.|X }|
|00004d30| 0a 58 20 20 20 7d 0a 58 | 0a 58 20 20 20 2f 2a 20 |.X }.X|.X /* |
|00004d40| 4d 6f 6e 74 68 20 4e 61 | 6d 65 73 3a 20 2a 2f 0a |Month Na|mes: */.|
|00004d50| 58 20 20 20 69 66 20 28 | 72 65 71 75 65 73 74 2d |X if (|request-|
|00004d60| 3e 63 61 6c 65 6e 64 61 | 72 2e 6d 6f 6e 74 68 5f |>calenda|r.month_|
|00004d70| 6e 61 6d 65 73 20 21 3d | 20 63 75 72 72 65 6e 74 |names !=| current|
|00004d80| 2d 3e 63 61 6c 65 6e 64 | 61 72 2e 6d 6f 6e 74 68 |->calend|ar.month|
|00004d90| 5f 6e 61 6d 65 73 29 20 | 7b 0a 58 20 20 20 20 20 |_names) |{.X |
|00004da0| 20 69 66 20 28 53 74 72 | 69 6e 67 54 61 62 6c 65 | if (Str|ingTable|
|00004db0| 4e 75 6d 62 65 72 28 72 | 65 71 75 65 73 74 2d 3e |Number(r|equest->|
|00004dc0| 63 61 6c 65 6e 64 61 72 | 2e 6d 6f 6e 74 68 5f 6e |calendar|.month_n|
|00004dd0| 61 6d 65 73 29 20 21 3d | 20 4d 4f 4e 54 48 53 5f |ames) !=| MONTHS_|
|00004de0| 49 4e 5f 59 45 41 52 29 | 20 7b 0a 58 20 20 20 20 |IN_YEAR)| {.X |
|00004df0| 20 20 20 20 20 2f 2a 56 | 41 52 41 52 47 53 2a 2f | /*V|ARARGS*/|
|00004e00| 0a 58 20 20 20 20 20 20 | 20 20 20 66 70 72 69 6e |.X | fprin|
|00004e10| 74 66 28 73 74 64 65 72 | 72 2c 20 22 43 61 6c 65 |tf(stder|r, "Cale|
|00004e20| 6e 64 61 72 57 69 64 67 | 65 74 3a 20 6d 75 73 74 |ndarWidg|et: must|
|00004e30| 20 73 70 65 63 69 66 79 | 20 31 32 20 6d 6f 6e 74 | specify| 12 mont|
|00004e40| 68 20 6e 61 6d 65 73 5c | 6e 22 29 3b 0a 58 20 20 |h names\|n");.X |
|00004e50| 20 20 20 20 7d 20 65 6c | 73 65 20 7b 0a 58 20 20 | } el|se {.X |
|00004e60| 20 20 20 20 20 20 20 6e | 65 77 2d 3e 63 61 6c 65 | n|ew->cale|
|00004e70| 6e 64 61 72 2e 6d 6f 6e | 74 68 5f 6e 61 6d 65 73 |ndar.mon|th_names|
|00004e80| 20 3d 20 72 65 71 75 65 | 73 74 2d 3e 63 61 6c 65 | = reque|st->cale|
|00004e90| 6e 64 61 72 2e 6d 6f 6e | 74 68 5f 6e 61 6d 65 73 |ndar.mon|th_names|
|00004ea0| 3b 0a 58 20 20 20 20 20 | 20 20 20 20 66 6f 72 20 |;.X | for |
|00004eb0| 28 69 3d 30 3b 20 69 20 | 3c 20 4d 4f 4e 54 48 53 |(i=0; i |< MONTHS|
|00004ec0| 5f 49 4e 5f 59 45 41 52 | 3b 20 69 2b 2b 29 20 7b |_IN_YEAR|; i++) {|
|00004ed0| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 6e 65 |.X | ne|
|00004ee0| 77 2d 3e 63 61 6c 65 6e | 64 61 72 2e 6d 6f 6e 74 |w->calen|dar.mont|
|00004ef0| 68 5f 6e 61 6d 65 5f 6c | 65 6e 67 74 68 73 5b 69 |h_name_l|engths[i|
|00004f00| 5d 20 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |] .X | |
|00004f10| 20 20 20 3d 20 73 74 72 | 6c 65 6e 28 72 65 71 75 | = str|len(requ|
|00004f20| 65 73 74 2d 3e 63 61 6c | 65 6e 64 61 72 2e 6d 6f |est->cal|endar.mo|
|00004f30| 6e 74 68 5f 6e 61 6d 65 | 73 5b 69 5d 29 3b 0a 58 |nth_name|s[i]);.X|
|00004f40| 20 20 20 20 20 20 20 20 | 20 7d 0a 58 20 20 20 20 | | }.X |
|00004f50| 20 20 20 20 20 63 6f 6d | 70 75 74 65 5f 74 69 74 | com|pute_tit|
|00004f60| 6c 65 5f 73 74 72 69 6e | 67 28 6e 65 77 29 3b 0a |le_strin|g(new);.|
|00004f70| 58 20 20 20 20 20 20 20 | 20 20 72 65 64 72 61 77 |X | redraw|
|00004f80| 20 3d 20 54 72 75 65 3b | 0a 58 20 20 20 20 20 20 | = True;|.X |
|00004f90| 20 20 20 72 65 73 69 7a | 65 20 3d 20 54 72 75 65 | resiz|e = True|
|00004fa0| 3b 0a 58 20 20 20 20 20 | 20 7d 0a 58 20 20 20 7d |;.X | }.X }|
|00004fb0| 0a 58 0a 58 20 20 20 2f | 2a 20 44 69 67 69 74 20 |.X.X /|* Digit |
|00004fc0| 4e 61 6d 65 73 3a 20 2a | 2f 0a 58 20 20 20 69 66 |Names: *|/.X if|
|00004fd0| 20 28 72 65 71 75 65 73 | 74 2d 3e 63 61 6c 65 6e | (reques|t->calen|
|00004fe0| 64 61 72 2e 64 69 67 69 | 74 5f 6e 61 6d 65 73 20 |dar.digi|t_names |
|00004ff0| 21 3d 20 63 75 72 72 65 | 6e 74 2d 3e 63 61 6c 65 |!= curre|nt->cale|
|00005000| 6e 64 61 72 2e 64 69 67 | 69 74 5f 6e 61 6d 65 73 |ndar.dig|it_names|
|00005010| 29 20 7b 0a 58 20 20 20 | 20 20 20 69 66 20 28 53 |) {.X | if (S|
|00005020| 74 72 69 6e 67 54 61 62 | 6c 65 4e 75 6d 62 65 72 |tringTab|leNumber|
|00005030| 28 72 65 71 75 65 73 74 | 2d 3e 63 61 6c 65 6e 64 |(request|->calend|
|00005040| 61 72 2e 64 69 67 69 74 | 5f 6e 61 6d 65 73 29 20 |ar.digit|_names) |
|00005050| 21 3d 20 4d 41 58 5f 44 | 41 59 53 5f 49 4e 5f 4d |!= MAX_D|AYS_IN_M|
|00005060| 4f 4e 54 48 29 20 7b 0a | 58 20 20 20 20 20 20 20 |ONTH) {.|X |
|00005070| 20 20 2f 2a 56 41 52 41 | 52 47 53 2a 2f 0a 58 20 | /*VARA|RGS*/.X |
|00005080| 20 20 20 20 20 20 20 20 | 66 70 72 69 6e 74 66 28 | |fprintf(|
|00005090| 73 74 64 65 72 72 2c 20 | 22 43 61 6c 65 6e 64 61 |stderr, |"Calenda|
|000050a0| 72 57 69 64 67 65 74 3a | 20 6d 75 73 74 20 73 70 |rWidget:| must sp|
|000050b0| 65 63 69 66 79 20 33 31 | 20 64 69 67 69 74 20 6e |ecify 31| digit n|
|000050c0| 61 6d 65 73 5c 6e 22 29 | 3b 0a 58 20 20 20 20 20 |ames\n")|;.X |
|000050d0| 20 7d 20 65 6c 73 65 20 | 7b 0a 58 20 20 20 20 20 | } else |{.X |
|000050e0| 20 20 20 20 6e 65 77 2d | 3e 63 61 6c 65 6e 64 61 | new-|>calenda|
|000050f0| 72 2e 64 69 67 69 74 5f | 6e 61 6d 65 73 20 3d 20 |r.digit_|names = |
|00005100| 72 65 71 75 65 73 74 2d | 3e 63 61 6c 65 6e 64 61 |request-|>calenda|
|00005110| 72 2e 64 69 67 69 74 5f | 6e 61 6d 65 73 3b 0a 58 |r.digit_|names;.X|
|00005120| 20 20 20 20 20 20 20 20 | 20 66 6f 72 20 28 69 3d | | for (i=|
|00005130| 30 3b 20 69 20 3c 20 4d | 41 58 5f 44 41 59 53 5f |0; i < M|AX_DAYS_|
|00005140| 49 4e 5f 4d 4f 4e 54 48 | 3b 20 69 2b 2b 29 20 7b |IN_MONTH|; i++) {|
|00005150| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 6e 65 |.X | ne|
|00005160| 77 2d 3e 63 61 6c 65 6e | 64 61 72 2e 64 69 67 69 |w->calen|dar.digi|
|00005170| 74 5f 6e 61 6d 65 5f 6c | 65 6e 67 74 68 73 5b 69 |t_name_l|engths[i|
|00005180| 5d 20 0a 58 20 20 20 20 | 20 20 20 20 20 20 20 20 |] .X | |
|00005190| 20 20 20 3d 20 73 74 72 | 6c 65 6e 28 72 65 71 75 | = str|len(requ|
|000051a0| 65 73 74 2d 3e 63 61 6c | 65 6e 64 61 72 2e 64 69 |est->cal|endar.di|
|000051b0| 67 69 74 5f 6e 61 6d 65 | 73 5b 69 5d 29 3b 0a 58 |git_name|s[i]);.X|
|000051c0| 20 20 20 20 20 20 20 20 | 20 7d 0a 58 20 20 20 20 | | }.X |
|000051d0| 20 20 20 20 20 72 65 64 | 72 61 77 20 3d 20 54 72 | red|raw = Tr|
|000051e0| 75 65 3b 0a 58 20 20 20 | 20 20 20 20 20 20 72 65 |ue;.X | re|
|000051f0| 73 69 7a 65 20 3d 20 54 | 72 75 65 3b 0a 58 20 20 |size = T|rue;.X |
|00005200| 20 20 20 20 7d 0a 58 20 | 20 20 7d 0a 58 0a 58 20 | }.X | }.X.X |
|00005210| 20 20 2f 2a 20 53 74 61 | 72 74 69 6e 67 20 57 65 | /* Sta|rting We|
|00005220| 65 6b 64 61 79 2e 20 2a | 2f 0a 58 20 20 20 6e 65 |ekday. *|/.X ne|
|00005230| 77 5f 73 74 61 72 74 69 | 6e 67 5f 77 65 65 6b 64 |w_starti|ng_weekd|
|00005240| 61 79 20 3d 20 28 72 65 | 71 75 65 73 74 2d 3e 63 |ay = (re|quest->c|
|00005250| 61 6c 65 6e 64 61 72 2e | 73 74 61 72 74 69 6e 67 |alendar.|starting|
|00005260| 5f 77 65 65 6b 64 61 79 | 20 0a 58 20 20 20 20 20 |_weekday| .X |
|00005270| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005280| 20 20 20 20 20 20 21 3d | 20 63 75 72 72 65 6e 74 | !=| current|
|00005290| 2d 3e 63 61 6c 65 6e 64 | 61 72 2e 73 74 61 72 74 |->calend|ar.start|
|000052a0| 69 6e 67 5f 77 65 65 6b | 64 61 79 29 3b 0a 58 20 |ing_week|day);.X |
|000052b0| 20 20 69 66 20 28 6e 65 | 77 5f 73 74 61 72 74 69 | if (ne|w_starti|
|000052c0| 6e 67 5f 77 65 65 6b 64 | 61 79 20 0a 58 20 20 20 |ng_weekd|ay .X |
|000052d0| 20 20 20 20 26 26 20 28 | 72 65 71 75 65 73 74 2d | && (|request-|
|000052e0| 3e 63 61 6c 65 6e 64 61 | 72 2e 73 74 61 72 74 69 |>calenda|r.starti|
|000052f0| 6e 67 5f 77 65 65 6b 64 | 61 79 20 3c 20 53 55 4e |ng_weekd|ay < SUN|
|00005300| 44 41 59 0a 58 20 20 20 | 20 20 20 20 7c 7c 20 72 |DAY.X | || r|
|00005310| 65 71 75 65 73 74 2d 3e | 63 61 6c 65 6e 64 61 72 |equest->|calendar|
|00005320| 2e 73 74 61 72 74 69 6e | 67 5f 77 65 65 6b 64 61 |.startin|g_weekda|
|00005330| 79 20 3e 20 53 41 54 55 | 52 44 41 59 29 29 20 7b |y > SATU|RDAY)) {|
|00005340| 0a 58 20 20 20 20 20 20 | 2f 2a 20 42 6f 67 75 73 |.X |/* Bogus|
|00005350| 20 76 61 6c 75 65 20 73 | 70 65 63 69 66 69 65 64 | value s|pecified|
|00005360| 2e 20 2a 2f 0a 58 20 20 | 20 20 20 20 2f 2a 56 41 |. */.X | /*VA|
|00005370| 52 41 52 47 53 2a 2f 0a | 58 20 20 20 20 20 20 66 |RARGS*/.|X f|
|00005380| 70 72 69 6e 74 66 28 73 | 74 64 65 72 72 2c 20 22 |printf(s|tderr, "|
|00005390| 43 61 6c 65 6e 64 61 72 | 57 69 64 67 65 74 3a 20 |Calendar|Widget: |
|000053a0| 69 6e 76 61 6c 69 64 20 | 73 74 61 72 74 69 6e 67 |invalid |starting|
|000053b0| 20 77 65 65 6b 64 61 79 | 2c 20 75 73 65 20 5b 30 | weekday|, use [0|
|000053c0| 2e 2e 36 5d 5c 6e 22 29 | 3b 0a 58 20 20 20 20 20 |..6]\n")|;.X |
|000053d0| 20 6e 65 77 5f 73 74 61 | 72 74 69 6e 67 5f 77 65 | new_sta|rting_we|
|000053e0| 65 6b 64 61 79 20 3d 20 | 46 41 4c 53 45 3b 0a 58 |ekday = |FALSE;.X|
|000053f0| 20 20 20 7d 0a 58 20 20 | 20 69 66 20 28 6e 65 77 | }.X | if (new|
|00005400| 5f 73 74 61 72 74 69 6e | 67 5f 77 65 65 6b 64 61 |_startin|g_weekda|
|00005410| 79 20 26 26 20 6e 65 77 | 5f 77 65 65 6b 64 61 79 |y && new|_weekday|
|00005420| 5f 6e 61 6d 65 73 29 20 | 7b 0a 58 20 20 20 20 20 |_names) |{.X |
|00005430| 20 6e 65 77 2d 3e 63 61 | 6c 65 6e 64 61 72 2e 73 | new->ca|lendar.s|
|00005440| 74 61 72 74 69 6e 67 5f | 77 65 65 6b 64 61 79 20 |tarting_|weekday |
|00005450| 3d 20 72 65 71 75 65 73 | 74 2d 3e 63 61 6c 65 6e |= reques|t->calen|
|00005460| 64 61 72 2e 73 74 61 72 | 74 69 6e 67 5f 77 65 65 |dar.star|ting_wee|
|00005470| 6b 64 61 79 3b 0a 58 20 | 20 20 20 20 20 72 6f 74 |kday;.X | rot|
|00005480| 61 74 65 5f 77 65 65 6b | 64 61 79 73 28 6e 65 77 |ate_week|days(new|
|00005490| 29 3b 0a 58 20 20 20 7d | 20 65 6c 73 65 20 69 66 |);.X }| else if|
|000054a0| 20 28 6e 65 77 5f 77 65 | 65 6b 64 61 79 5f 6e 61 | (new_we|ekday_na|
|000054b0| 6d 65 73 29 20 7b 0a 58 | 20 20 20 20 20 20 72 6f |mes) {.X| ro|
|000054c0| 74 61 74 65 5f 77 65 65 | 6b 64 61 79 73 28 6e 65 |tate_wee|kdays(ne|
|000054d0| 77 29 3b 0a 58 20 20 20 | 7d 20 65 6c 73 65 20 69 |w);.X |} else i|
|000054e0| 66 20 28 6e 65 77 5f 73 | 74 61 72 74 69 6e 67 5f |f (new_s|tarting_|
|000054f0| 77 65 65 6b 64 61 79 29 | 20 7b 0a 58 20 20 20 20 |weekday)| {.X |
|00005500| 20 20 2f 2a 20 52 6f 74 | 61 74 65 20 77 65 65 6b | /* Rot|ate week|
|00005510| 64 61 79 73 2c 20 74 61 | 6b 69 6e 67 20 69 6e 74 |days, ta|king int|
|00005520| 6f 20 61 63 63 6f 75 6e | 74 20 63 75 72 72 65 6e |o accoun|t curren|
|00005530| 74 20 72 6f 74 61 74 69 | 6f 6e 2e 20 2a 2f 0a 58 |t rotati|on. */.X|
|00005540| 20 20 20 20 20 20 6e 65 | 77 2d 3e 63 61 6c 65 6e | ne|w->calen|
|00005550| 64 61 72 2e 73 74 61 72 | 74 69 6e 67 5f 77 65 65 |dar.star|ting_wee|
|00005560| 6b 64 61 79 20 3d 0a 58 | 20 20 20 20 20 20 20 20 |kday =.X| |
|00005570| 20 28 20 28 37 20 2d 20 | 63 75 72 72 65 6e 74 2d | ( (7 - |current-|
|00005580| 3e 63 61 6c 65 6e 64 61 | 72 2e 73 74 61 72 74 69 |>calenda|r.starti|
|00005590| 6e 67 5f 77 65 65 6b 64 | 61 79 29 20 0a 58 20 20 |ng_weekd|ay) .X |
|000055a0| 20 20 20 20 20 20 20 20 | 20 2b 20 72 65 71 75 65 | | + reque|
|000055b0| 73 74 2d 3e 63 61 6c 65 | 6e 64 61 72 2e 73 74 61 |st->cale|ndar.sta|
|000055c0| 72 74 69 6e 67 5f 77 65 | 65 6b 64 61 79 20 29 20 |rting_we|ekday ) |
|000055d0| 25 37 3b 0a 58 20 20 20 | 20 20 20 72 6f 74 61 74 |%7;.X | rotat|
|000055e0| 65 5f 77 65 65 6b 64 61 | 79 73 28 6e 65 77 29 3b |e_weekda|ys(new);|
|000055f0| 0a 58 20 20 20 20 20 20 | 6e 65 77 2d 3e 63 61 6c |.X |new->cal|
|00005600| 65 6e 64 61 72 2e 73 74 | 61 72 74 69 6e 67 5f 77 |endar.st|arting_w|
|00005610| 65 65 6b 64 61 79 20 3d | 20 72 65 71 75 65 73 74 |eekday =| request|
|00005620| 2d 3e 63 61 6c 65 6e 64 | 61 72 2e 73 74 61 72 74 |->calend|ar.start|
|00005630| 69 6e 67 5f 77 65 65 6b | 64 61 79 3b 0a 58 20 20 |ing_week|day;.X |
|00005640| 20 20 20 20 72 65 64 72 | 61 77 20 3d 20 54 72 75 | redr|aw = Tru|
|00005650| 65 3b 0a 58 20 20 20 7d | 0a 58 0a 58 20 20 20 2f |e;.X }|.X.X /|
|00005660| 2a 20 48 69 67 68 6c 69 | 67 68 74 2e 20 2a 2f 0a |* Highli|ght. */.|
|00005670| 58 20 20 20 69 66 20 28 | 72 65 71 75 65 73 74 2d |X if (|request-|
|00005680| 3e 63 61 6c 65 6e 64 61 | 72 2e 68 69 67 68 6c 69 |>calenda|r.highli|
|00005690| 67 68 74 20 21 3d 20 63 | 75 72 72 65 6e 74 2d 3e |ght != c|urrent->|
|000056a0| 63 61 6c 65 6e 64 61 72 | 2e 68 69 67 68 6c 69 67 |calendar|.highlig|
|000056b0| 68 74 29 20 7b 0a 58 20 | 20 20 20 20 20 6e 65 77 |ht) {.X | new|
|000056c0| 2d 3e 63 61 6c 65 6e 64 | 61 72 2e 68 69 67 68 6c |->calend|ar.highl|
|000056d0| 69 67 68 74 20 3d 20 72 | 65 71 75 65 73 74 2d 3e |ight = r|equest->|
|000056e0| 63 61 6c 65 6e 64 61 72 | 2e 68 69 67 68 6c 69 67 |calendar|.highlig|
|000056f0| 68 74 3b 0a 58 20 20 20 | 7d 0a 58 0a 58 20 20 20 |ht;.X |}.X.X |
|00005700| 69 66 20 28 72 65 73 69 | 7a 65 29 20 7b 0a 58 20 |if (resi|ze) {.X |
|00005710| 20 20 20 20 20 63 6f 6d | 70 75 74 65 5f 6d 69 6e | com|pute_min|
|00005720| 69 6d 75 6d 5f 63 65 6c | 6c 5f 73 69 7a 65 28 6e |imum_cel|l_size(n|
|00005730| 65 77 29 3b 0a 58 20 20 | 20 20 20 20 6e 65 77 5f |ew);.X | new_|
|00005740| 77 69 64 74 68 20 3d 20 | 20 57 49 4e 44 4f 57 5f |width = | WINDOW_|
|00005750| 57 49 44 54 48 28 6e 65 | 77 2d 3e 63 61 6c 65 6e |WIDTH(ne|w->calen|
|00005760| 64 61 72 2e 6d 69 6e 5f | 63 65 6c 6c 5f 77 69 64 |dar.min_|cell_wid|
|00005770| 74 68 29 3b 0a 58 20 20 | 20 20 20 20 6e 65 77 5f |th);.X | new_|
|00005780| 68 65 69 67 68 74 20 3d | 20 57 49 4e 44 4f 57 5f |height =| WINDOW_|
|00005790| 48 45 49 47 48 54 28 6e | 65 77 2d 3e 63 61 6c 65 |HEIGHT(n|ew->cale|
|000057a0| 6e 64 61 72 2e 6d 69 6e | 5f 63 65 6c 6c 5f 68 65 |ndar.min|_cell_he|
|000057b0| 69 67 68 74 29 3b 0a 58 | 20 20 20 20 20 20 58 74 |ight);.X| Xt|
|000057c0| 4d 61 6b 65 52 65 73 69 | 7a 65 52 65 71 75 65 73 |MakeResi|zeReques|
|000057d0| 74 28 6e 65 77 2c 20 6e | 65 77 5f 77 69 64 74 68 |t(new, n|ew_width|
|000057e0| 2c 20 6e 65 77 5f 68 65 | 69 67 68 74 2c 20 4e 55 |, new_he|ight, NU|
|000057f0| 4c 4c 2c 20 4e 55 4c 4c | 29 3b 0a 58 20 20 20 7d |LL, NULL|);.X }|
|00005800| 0a 58 0a 58 20 20 20 45 | 4e 44 28 22 63 61 6c 65 |.X.X E|ND("cale|
|00005810| 6e 64 61 72 5f 73 65 74 | 5f 76 61 6c 75 65 73 5f |ndar_set|_values_|
|00005820| 6d 65 74 68 6f 64 22 29 | 3b 0a 58 0a 58 20 20 20 |method")|;.X.X |
|00005830| 2f 2a 20 52 65 74 75 72 | 6e 20 74 72 75 65 20 69 |/* Retur|n true i|
|00005840| 66 20 76 61 6c 75 65 20 | 63 68 61 6e 67 65 20 72 |f value |change r|
|00005850| 65 71 75 69 72 65 73 20 | 65 78 70 6f 73 65 20 65 |equires |expose e|
|00005860| 76 65 6e 74 20 74 6f 20 | 72 65 64 72 61 77 2e 20 |vent to |redraw. |
|00005870| 2a 2f 0a 58 20 20 20 72 | 65 74 75 72 6e 20 28 72 |*/.X r|eturn (r|
|00005880| 65 64 72 61 77 29 3b 0a | 58 7d 0a 58 0a 58 0a 58 |edraw);.|X}.X.X.X|
|00005890| 0a 58 0a 58 73 74 61 74 | 69 63 20 76 6f 69 64 20 |.X.Xstat|ic void |
|000058a0| 63 61 6c 65 6e 64 61 72 | 5f 72 65 73 69 7a 65 5f |calendar|_resize_|
|000058b0| 6d 65 74 68 6f 64 28 77 | 69 64 67 65 74 29 0a 58 |method(w|idget).X|
|000058c0| 43 61 6c 65 6e 64 61 72 | 57 69 64 67 65 74 20 77 |Calendar|Widget w|
|000058d0| 69 64 67 65 74 3b 0a 58 | 7b 0a 58 20 20 20 69 6e |idget;.X|{.X in|
|000058e0| 74 20 77 69 6e 64 6f 77 | 5f 77 69 64 74 68 20 3d |t window|_width =|
|000058f0| 20 77 69 64 67 65 74 2d | 3e 63 6f 72 65 2e 77 69 | widget-|>core.wi|
|00005900| 64 74 68 3b 0a 58 20 20 | 20 69 6e 74 20 77 69 6e |dth;.X | int win|
|00005910| 64 6f 77 5f 68 65 69 67 | 68 74 20 3d 20 77 69 64 |dow_heig|ht = wid|
|00005920| 67 65 74 2d 3e 63 6f 72 | 65 2e 68 65 69 67 68 74 |get->cor|e.height|
|00005930| 3b 0a 58 20 20 20 66 6c | 6f 61 74 20 61 76 61 69 |;.X fl|oat avai|
|00005940| 6c 5f 63 65 6c 6c 5f 77 | 69 64 74 68 20 20 3d 20 |l_cell_w|idth = |
|00005950| 28 66 6c 6f 61 74 29 20 | 77 69 6e 64 6f 77 5f 77 |(float) |window_w|
|00005960| 69 64 74 68 20 20 2f 20 | 28 66 6c 6f 61 74 29 20 |idth / |(float) |
|00005970| 43 4f 4c 53 3b 0a 58 20 | 20 20 66 6c 6f 61 74 20 |COLS;.X | float |
|00005980| 61 76 61 69 6c 5f 63 65 | 6c 6c 5f 68 65 69 67 68 |avail_ce|ll_heigh|
|00005990| 74 20 3d 20 28 66 6c 6f | 61 74 29 20 77 69 6e 64 |t = (flo|at) wind|
|000059a0| 6f 77 5f 68 65 69 67 68 | 74 20 2f 20 28 66 6c 6f |ow_heigh|t / (flo|
|000059b0| 61 74 29 20 52 4f 57 53 | 3b 0a 58 0a 58 20 20 20 |at) ROWS|;.X.X |
|000059c0| 42 45 47 49 4e 28 22 63 | 61 6c 65 6e 64 61 72 5f |BEGIN("c|alendar_|
|000059d0| 72 65 73 69 7a 65 5f 6d | 65 74 68 6f 64 22 29 3b |resize_m|ethod");|
|000059e0| 0a 58 0a 58 20 20 20 2f | 2a 20 4e 6f 77 20 65 6e |.X.X /|* Now en|
|000059f0| 74 65 72 69 6e 67 20 74 | 68 65 20 66 6f 67 67 79 |tering t|he foggy|
|00005a00| 20 7a 6f 6e 65 2e 20 2a | 2f 0a 58 20 20 20 77 69 | zone. *|/.X wi|
|00005a10| 64 67 65 74 2d 3e 63 61 | 6c 65 6e 64 61 72 2e 73 |dget->ca|lendar.s|
|00005a20| 74 61 74 65 20 3d 20 66 | 6f 67 67 79 3b 0a 58 0a |tate = f|oggy;.X.|
|00005a30| 58 20 20 20 77 69 64 67 | 65 74 2d 3e 63 61 6c 65 |X widg|et->cale|
|00005a40| 6e 64 61 72 2e 72 65 61 | 6c 5f 63 65 6c 6c 5f 77 |ndar.rea|l_cell_w|
|00005a50| 69 64 74 68 20 3d 20 6c | 6f 77 5f 62 6f 75 6e 64 |idth = l|ow_bound|
|00005a60| 28 0a 58 20 20 20 20 20 | 20 61 76 61 69 6c 5f 63 |(.X | avail_c|
|00005a70| 65 6c 6c 5f 77 69 64 74 | 68 2c 20 0a 58 20 20 20 |ell_widt|h, .X |
|00005a80| 20 20 20 77 69 64 67 65 | 74 2d 3e 63 61 6c 65 6e | widge|t->calen|
|00005a90| 64 61 72 2e 6d 69 6e 5f | 63 65 6c 6c 5f 77 69 64 |dar.min_|cell_wid|
|00005aa0| 74 68 0a 58 20 20 20 29 | 3b 0a 58 0a 58 20 20 20 |th.X )|;.X.X |
|00005ab0| 77 69 64 67 65 74 2d 3e | 63 61 6c 65 6e 64 61 72 |widget->|calendar|
|00005ac0| 2e 72 65 61 6c 5f 63 65 | 6c 6c 5f 68 65 69 67 68 |.real_ce|ll_heigh|
|00005ad0| 74 20 3d 20 6c 6f 77 5f | 62 6f 75 6e 64 28 0a 58 |t = low_|bound(.X|
|00005ae0| 20 20 20 20 20 20 61 76 | 61 69 6c 5f 63 65 6c 6c | av|ail_cell|
|00005af0| 5f 68 65 69 67 68 74 2c | 20 0a 58 20 20 20 20 20 |_height,| .X |
|00005b00| 20 77 69 64 67 65 74 2d | 3e 63 61 6c 65 6e 64 61 | widget-|>calenda|
|00005b10| 72 2e 6d 69 6e 5f 63 65 | 6c 6c 5f 68 65 69 67 68 |r.min_ce|ll_heigh|
|00005b20| 74 0a 58 20 20 20 29 3b | 0a 58 0a 58 20 20 20 63 |t.X );|.X.X c|
|00005b30| 6f 6d 70 75 74 65 5f 67 | 72 69 64 20 20 20 20 20 |ompute_g|rid |
|00005b40| 20 20 20 20 20 28 77 69 | 64 67 65 74 29 3b 0a 58 | (wi|dget);.X|
|00005b50| 20 20 20 63 6f 6d 70 75 | 74 65 5f 63 65 6c 6c 5f | compu|te_cell_|
|00005b60| 67 65 6f 6d 65 74 72 79 | 20 28 77 69 64 67 65 74 |geometry| (widget|
|00005b70| 29 3b 0a 58 0a 58 20 20 | 20 2f 2a 20 44 6f 6e 27 |);.X.X | /* Don'|
|00005b80| 74 20 6e 65 65 64 20 74 | 6f 20 72 65 64 72 61 77 |t need t|o redraw|
|00005b90| 20 74 68 65 20 63 61 6c | 65 6e 64 61 72 2c 20 61 | the cal|endar, a|
|00005ba0| 6e 20 65 78 70 6f 73 65 | 20 65 76 65 6e 74 20 66 |n expose| event f|
|00005bb0| 6f 6c 6c 6f 77 73 2e 20 | 2a 2f 0a 58 20 20 20 45 |ollows. |*/.X E|
|00005bc0| 4e 44 28 22 63 61 6c 65 | 6e 64 61 72 5f 72 65 73 |ND("cale|ndar_res|
|00005bd0| 69 7a 65 5f 6d 65 74 68 | 6f 64 22 29 3b 0a 58 7d |ize_meth|od");.X}|
|00005be0| 0a 58 0a 58 0a 58 0a 58 | 0a 58 73 74 61 74 69 63 |.X.X.X.X|.Xstatic|
|00005bf0| 20 58 74 47 65 6f 6d 65 | 74 72 79 52 65 73 75 6c | XtGeome|tryResul|
|00005c00| 74 20 63 61 6c 65 6e 64 | 61 72 5f 71 75 65 72 79 |t calend|ar_query|
|00005c10| 5f 67 65 6f 6d 65 74 72 | 79 5f 6d 65 74 68 6f 64 |_geometr|y_method|
|00005c20| 28 77 69 64 67 65 74 2c | 20 70 72 6f 70 6f 73 65 |(widget,| propose|
|00005c30| 64 2c 20 70 72 65 66 65 | 72 72 65 64 29 0a 58 43 |d, prefe|rred).XC|
|00005c40| 61 6c 65 6e 64 61 72 57 | 69 64 67 65 74 20 77 69 |alendarW|idget wi|
|00005c50| 64 67 65 74 3b 0a 58 58 | 74 57 69 64 67 65 74 47 |dget;.XX|tWidgetG|
|00005c60| 65 6f 6d 65 74 72 79 20 | 2a 70 72 6f 70 6f 73 65 |eometry |*propose|
|00005c70| 64 3b 0a 58 58 74 57 69 | 64 67 65 74 47 65 6f 6d |d;.XXtWi|dgetGeom|
|00005c80| 65 74 72 79 20 2a 70 72 | 65 66 65 72 72 65 64 3b |etry *pr|eferred;|
|00005c90| 0a 58 7b 0a 58 20 20 20 | 2f 2a 20 0a 58 20 20 20 |.X{.X |/* .X |
|00005ca0| 20 2a 20 54 68 65 72 65 | 20 61 72 65 20 74 68 72 | * There| are thr|
|00005cb0| 65 65 20 73 63 65 6e 61 | 72 69 6f 73 3a 0a 58 20 |ee scena|rios:.X |
|00005cc0| 20 20 20 2a 0a 58 20 20 | 20 20 2a 20 20 20 31 2e | *.X | * 1.|
|00005cd0| 20 54 68 65 20 67 65 6f | 6d 65 74 72 79 20 70 72 | The geo|metry pr|
|00005ce0| 6f 70 6f 73 65 64 20 62 | 79 20 6f 75 72 20 70 61 |oposed b|y our pa|
|00005cf0| 72 65 6e 74 20 69 73 20 | 74 68 65 20 73 61 6d 65 |rent is |the same|
|00005d00| 20 61 73 20 6f 75 72 20 | 70 72 65 66 65 72 72 65 | as our |preferre|
|00005d10| 64 0a 58 20 20 20 20 2a | 20 20 20 20 20 20 67 65 |d.X *| ge|
|00005d20| 6f 6d 65 74 72 79 2e 20 | 20 52 65 74 75 72 6e 20 |ometry. | Return |
|00005d30| 58 74 47 65 6f 6d 65 74 | 72 79 59 65 73 20 74 6f |XtGeomet|ryYes to|
|00005d40| 20 73 61 79 2c 20 22 59 | 65 73 2c 20 49 27 6d 20 | say, "Y|es, I'm |
|00005d50| 68 61 70 70 79 20 77 69 | 74 68 20 79 6f 75 72 0a |happy wi|th your.|
|00005d60| 58 20 20 20 20 2a 20 20 | 20 20 20 20 70 72 6f 70 |X * | prop|
|00005d70| 6f 73 65 64 20 67 65 6f | 6d 65 74 72 79 20 73 6f |osed geo|metry so|
|00005d80| 20 70 6c 65 61 73 65 20 | 72 65 73 69 7a 65 20 6d | please |resize m|
|00005d90| 65 20 74 6f 20 69 74 2e | 22 0a 58 20 20 20 20 2a |e to it.|".X *|
|00005da0| 0a 58 20 20 20 20 2a 20 | 20 20 32 2e 20 4d 79 20 |.X * | 2. My |
|00005db0| 70 72 65 66 65 72 72 65 | 64 20 67 65 6f 6d 65 74 |preferre|d geomet|
|00005dc0| 72 79 20 69 73 20 74 68 | 65 20 73 61 6d 65 20 61 |ry is th|e same a|
|00005dd0| 73 20 6f 75 72 20 63 75 | 72 72 65 6e 74 20 67 65 |s our cu|rrent ge|
|00005de0| 6f 6d 65 74 72 79 2e 20 | 20 52 65 74 75 72 6e 0a |ometry. | Return.|
|00005df0| 58 20 20 20 20 2a 20 20 | 20 20 20 20 58 74 47 65 |X * | XtGe|
|00005e00| 6f 6d 65 74 72 79 4e 6f | 20 74 6f 20 73 61 79 2c |ometryNo| to say,|
|00005e10| 20 22 49 27 6d 20 61 74 | 20 6d 79 20 70 72 65 66 | "I'm at| my pref|
|00005e20| 65 72 72 65 64 20 67 65 | 6f 6d 65 74 72 79 20 73 |erred ge|ometry s|
|00005e30| 6f 20 70 6c 65 61 73 65 | 20 64 6f 6e 27 74 0a 58 |o please| don't.X|
|00005e40| 20 20 20 20 2a 20 20 20 | 20 20 20 72 65 73 69 7a | * | resiz|
|00005e50| 65 20 6d 65 2e 22 0a 58 | 20 20 20 20 2a 0a 58 20 |e me.".X| *.X |
|00005e60| 20 20 20 2a 20 20 20 33 | 2e 20 54 68 65 20 67 65 | * 3|. The ge|
|00005e70| 6f 6d 65 74 72 79 20 70 | 72 6f 70 6f 73 65 64 20 |ometry p|roposed |
|00005e80| 62 79 20 6f 75 72 20 70 | 61 72 65 6e 74 20 69 73 |by our p|arent is|
|00005e90| 20 6e 6f 74 20 6f 75 72 | 20 70 72 65 66 65 72 72 | not our| preferr|
|00005ea0| 65 64 20 67 65 6f 6d 65 | 74 72 79 2c 0a 58 20 20 |ed geome|try,.X |
|00005eb0| 20 20 2a 20 20 20 20 20 | 20 6e 6f 72 20 61 6d 20 | * | nor am |
|00005ec0| 49 20 61 74 20 6d 79 20 | 70 72 65 66 65 72 72 65 |I at my |preferre|
|00005ed0| 64 20 67 65 6f 6d 65 74 | 72 79 2e 20 20 52 65 74 |d geomet|ry. Ret|
|00005ee0| 75 72 6e 20 58 74 47 65 | 6f 6d 65 74 72 79 41 6c |urn XtGe|ometryAl|
|00005ef0| 6d 6f 73 74 20 74 6f 20 | 73 61 79 0a 58 20 20 20 |most to |say.X |
|00005f00| 20 2a 20 20 20 20 20 20 | 22 49 27 6d 20 73 65 6e | * |"I'm sen|
|00005f10| 64 69 6e 67 20 79 6f 75 | 20 6d 79 20 70 72 65 66 |ding you| my pref|
|00005f20| 65 72 72 65 64 20 67 65 | 6f 6d 65 74 72 79 2e 20 |erred ge|ometry. |
|00005f30| 20 43 61 6e 27 74 20 79 | 6f 75 20 74 72 79 20 61 | Can't y|ou try a|
|00005f40| 67 61 69 6e 20 74 6f 20 | 67 65 74 0a 58 20 20 20 |gain to |get.X |
|00005f50| 20 2a 20 20 20 20 20 20 | 6d 65 20 74 68 65 20 73 | * |me the s|
|00005f60| 69 7a 65 20 49 20 77 61 | 6e 74 3f 22 0a 58 20 20 |ize I wa|nt?".X |
|00005f70| 20 20 2a 0a 58 20 20 20 | 20 2a 20 4e 6f 74 65 20 | *.X | * Note |
|00005f80| 74 68 61 74 20 6d 79 20 | 70 61 72 65 6e 74 20 69 |that my |parent i|
|00005f90| 73 20 66 72 65 65 20 74 | 6f 20 74 6f 74 61 6c 6c |s free t|o totall|
|00005fa0| 79 20 69 67 6e 6f 72 65 | 20 74 68 69 73 20 69 6e |y ignore| this in|
|00005fb0| 66 6f 72 6d 61 74 69 6f | 6e 2c 20 6a 75 73 74 20 |formatio|n, just |
|00005fc0| 6c 69 6b 65 0a 58 20 20 | 20 20 2a 20 6d 6f 73 74 |like.X | * most|
|00005fd0| 20 70 61 72 65 6e 74 73 | 20 69 67 6e 6f 72 65 20 | parents| ignore |
|00005fe0| 77 68 61 74 20 74 68 65 | 69 72 20 6b 69 64 73 20 |what the|ir kids |
|00005ff0| 74 65 6c 6c 20 74 68 65 | 6d 2e 0a 58 20 20 20 20 |tell the|m..X |
|00006000| 2a 2f 0a 58 0a 58 20 20 | 20 42 45 47 49 4e 28 22 |*/.X.X | BEGIN("|
|00006010| 63 61 6c 65 6e 64 61 72 | 5f 71 75 65 72 79 5f 67 |calendar|_query_g|
|00006020| 65 6f 6d 65 74 72 79 5f | 6d 65 74 68 6f 64 22 29 |eometry_|method")|
|00006030| 3b 0a 58 0a 58 20 20 20 | 70 72 65 66 65 72 72 65 |;.X.X |preferre|
|00006040| 64 2d 3e 72 65 71 75 65 | 73 74 5f 6d 6f 64 65 20 |d->reque|st_mode |
|00006050| 3d 20 43 57 57 69 64 74 | 68 20 7c 20 43 57 48 65 |= CWWidt|h | CWHe|
|00006060| 69 67 68 74 3b 0a 58 20 | 20 20 70 72 65 66 65 72 |ight;.X | prefer|
|00006070| 72 65 64 2d 3e 77 69 64 | 74 68 20 20 20 20 20 20 |red->wid|th |
|00006080| 20 20 3d 20 57 49 4e 44 | 4f 57 5f 57 49 44 54 48 | = WIND|OW_WIDTH|
|00006090| 28 77 69 64 67 65 74 2d | 3e 63 61 6c 65 6e 64 61 |(widget-|>calenda|
|000060a0| 72 2e 6d 69 6e 5f 63 65 | 6c 6c 5f 77 69 64 74 68 |r.min_ce|ll_width|
|000060b0| 29 20 20 20 2b 20 37 3b | 0a 58 20 20 20 70 72 65 |) + 7;|.X pre|
|000060c0| 66 65 72 72 65 64 2d 3e | 68 65 69 67 68 74 20 20 |ferred->|height |
|000060d0| 20 20 20 20 20 3d 20 57 | 49 4e 44 4f 57 5f 48 45 | = W|INDOW_HE|
|000060e0| 49 47 48 54 28 77 69 64 | 67 65 74 2d 3e 63 61 6c |IGHT(wid|get->cal|
|000060f0| 65 6e 64 61 72 2e 6d 69 | 6e 5f 63 65 6c 6c 5f 68 |endar.mi|n_cell_h|
|00006100| 65 69 67 68 74 29 20 2b | 20 38 3b 0a 58 0a 58 20 |eight) +| 8;.X.X |
|00006110| 20 20 69 66 20 28 20 28 | 28 70 72 6f 70 6f 73 65 | if ( (|(propose|
|00006120| 64 2d 3e 72 65 71 75 65 | 73 74 5f 6d 6f 64 65 20 |d->reque|st_mode |
|00006130| 26 20 28 43 57 57 69 64 | 74 68 20 7c 20 43 57 48 |& (CWWid|th | CWH|
|00006140| 65 69 67 68 74 29 29 20 | 3d 3d 20 28 43 57 57 69 |eight)) |== (CWWi|
|00006150| 64 74 68 20 7c 20 43 57 | 48 65 69 67 68 74 29 29 |dth | CW|Height))|
|00006160| 0a 58 20 20 20 20 20 20 | 20 20 20 26 26 20 28 28 |.X | && ((|
|00006170| 70 72 6f 70 6f 73 65 64 | 2d 3e 77 69 64 74 68 20 |proposed|->width |
|00006180| 3d 3d 20 70 72 65 66 65 | 72 72 65 64 2d 3e 77 69 |== prefe|rred->wi|
|00006190| 64 74 68 29 20 0a 58 20 | 20 20 20 20 20 20 20 20 |dth) .X | |
|000061a0| 26 26 20 28 70 72 6f 70 | 6f 73 65 64 2d 3e 68 65 |&& (prop|osed->he|
|000061b0| 69 67 68 74 20 3d 3d 20 | 70 72 65 66 65 72 72 65 |ight == |preferre|
|000061c0| 64 2d 3e 68 65 69 67 68 | 74 29 29 20 29 20 7b 0a |d->heigh|t)) ) {.|
|000061d0| 58 20 20 20 20 20 20 2f | 2a 20 59 65 73 2c 20 49 |X /|* Yes, I|
|000061e0| 20 6c 69 6b 65 20 79 6f | 75 72 20 70 72 6f 70 6f | like yo|ur propo|
|000061f0| 73 61 6c 2e 20 2a 2f 0a | 58 20 20 20 20 20 20 72 |sal. */.|X r|
|00006200| 65 74 75 72 6e 20 58 74 | 47 65 6f 6d 65 74 72 79 |eturn Xt|Geometry|
|00006210| 59 65 73 3b 0a 58 20 20 | 20 7d 20 65 6c 73 65 20 |Yes;.X | } else |
|00006220| 7b 0a 58 20 20 20 20 20 | 20 69 66 20 28 20 28 70 |{.X | if ( (p|
|00006230| 72 65 66 65 72 72 65 64 | 2d 3e 77 69 64 74 68 20 |referred|->width |
|00006240| 20 3d 3d 20 77 69 64 67 | 65 74 2d 3e 63 6f 72 65 | == widg|et->core|
|00006250| 2e 77 69 64 74 68 29 20 | 26 26 0a 58 20 20 20 20 |.width) |&&.X |
|00006260| 20 20 20 20 20 20 20 28 | 70 72 65 66 65 72 72 65 | (|preferre|
|00006270| 64 2d 3e 68 65 69 67 68 | 74 20 3d 3d 20 77 69 64 |d->heigh|t == wid|
|00006280| 67 65 74 2d 3e 63 6f 72 | 65 2e 68 65 69 67 68 74 |get->cor|e.height|
|00006290| 29 20 29 20 7b 0a 58 20 | 20 20 20 20 20 20 20 20 |) ) {.X | |
|000062a0| 2f 2a 20 44 6f 6e 27 74 | 20 72 65 73 69 7a 65 20 |/* Don't| resize |
|000062b0| 6d 65 21 20 20 49 27 6d | 20 61 6c 72 65 61 64 79 |me! I'm| already|
|000062c0| 20 61 74 20 6d 79 20 70 | 72 65 66 65 72 72 65 64 | at my p|referred|
|000062d0| 20 67 65 6f 6d 65 74 72 | 79 2e 20 2a 2f 0a 58 20 | geometr|y. */.X |
|000062e0| 20 20 20 20 20 20 20 20 | 72 65 74 75 72 6e 20 58 | |return X|
|000062f0| 74 47 65 6f 6d 65 74 72 | 79 4e 6f 3b 0a 58 20 20 |tGeometr|yNo;.X |
|00006300| 20 20 20 20 7d 20 65 6c | 73 65 20 7b 0a 58 20 20 | } el|se {.X |
|00006310| 20 20 20 20 20 20 20 2f | 2a 20 50 6c 65 61 73 65 | /|* Please|
|00006320| 20 74 72 79 20 61 67 61 | 69 6e 2e 20 2a 2f 0a 58 | try aga|in. */.X|
|00006330| 20 20 20 20 20 20 20 20 | 20 72 65 74 75 72 6e 20 | | return |
|00006340| 58 74 47 65 6f 6d 65 74 | 72 79 41 6c 6d 6f 73 74 |XtGeomet|ryAlmost|
|00006350| 3b 0a 58 20 20 20 20 20 | 20 7d 0a 58 20 20 20 7d |;.X | }.X }|
|00006360| 0a 58 0a 58 20 20 20 45 | 4e 44 28 22 63 61 6c 65 |.X.X E|ND("cale|
|00006370| 6e 64 61 72 5f 71 75 65 | 72 79 5f 67 65 6f 6d 65 |ndar_que|ry_geome|
|00006380| 74 72 79 5f 6d 65 74 68 | 6f 64 22 29 3b 0a 58 7d |try_meth|od");.X}|
|00006390| 0a 58 0a 58 0a 58 0a 58 | 73 74 61 74 69 63 20 76 |.X.X.X.X|static v|
|000063a0| 6f 69 64 20 63 61 6c 65 | 6e 64 61 72 5f 64 65 73 |oid cale|ndar_des|
|000063b0| 74 72 6f 79 5f 6d 65 74 | 68 6f 64 28 77 29 0a 58 |troy_met|hod(w).X|
|000063c0| 57 69 64 67 65 74 20 77 | 3b 0a 58 7b 0a 58 20 20 |Widget w|;.X{.X |
|000063d0| 20 66 72 65 65 5f 6c 69 | 6e 65 5f 47 43 73 28 77 | free_li|ne_GCs(w|
|000063e0| 29 3b 0a 58 20 20 20 66 | 72 65 65 5f 66 6f 6e 74 |);.X f|ree_font|
|000063f0| 5f 47 43 73 5f 61 6e 64 | 5f 69 6e 66 6f 28 77 29 |_GCs_and|_info(w)|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.