Artifact
cd15d4115252d0860f39a9ff876401676d8d9bd5 :
File
examples/tepam/1b_procedure_interactive_widgets.demo
— part of check-in
[5d628796d8]
at
2011-01-21 16:00:49
on branch trunk
— * TEPAM version 0.2.0
(user:
droll
size: 7153)
0000: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
0010: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
0040: 23 23 23 23 23 23 23 23 23 23 0a 23 20 54 45 50 ##########.# TEP
0050: 41 4d 20 2d 20 54 63 6c 27 73 20 45 6e 68 61 6e AM - Tcl's Enhan
0060: 63 65 64 20 50 72 6f 63 65 64 75 72 65 20 61 6e ced Procedure an
0070: 64 20 41 72 67 75 6d 65 6e 74 20 4d 61 6e 61 67 d Argument Manag
0080: 65 72 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 er.#############
0090: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
00a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
00b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
00c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 0a #############.#.
00d0: 23 20 31 62 5f 70 72 6f 63 65 64 75 72 65 5f 69 # 1b_procedure_i
00e0: 6e 74 65 72 61 63 74 69 76 65 5f 77 69 64 67 65 nteractive_widge
00f0: 74 73 2e 64 65 6d 6f 3a 20 54 68 69 73 20 66 69 ts.demo: This fi
0100: 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 le is part of th
0110: 65 20 54 45 50 41 4d 20 64 65 6d 6f 0a 23 0a 23 e TEPAM demo.#.#
0120: 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 Copyright (C) 2
0130: 30 30 39 2c 20 32 30 31 30 20 41 6e 64 72 65 61 009, 2010 Andrea
0140: 73 20 44 72 6f 6c 6c 69 6e 67 65 72 0a 23 20 0a s Drollinger.# .
0150: 23 20 52 43 53 3a 20 40 28 23 29 20 24 49 64 3a # RCS: @(#) $Id:
0160: 20 31 62 5f 70 72 6f 63 65 64 75 72 65 5f 69 6e 1b_procedure_in
0170: 74 65 72 61 63 74 69 76 65 5f 77 69 64 67 65 74 teractive_widget
0180: 73 2e 64 65 6d 6f 2c 76 20 31 2e 32 20 32 30 31 s.demo,v 1.2 201
0190: 31 2f 30 31 2f 32 31 20 31 36 3a 30 30 3a 34 39 1/01/21 16:00:49
01a0: 20 64 72 6f 6c 6c 20 45 78 70 20 24 0a 23 23 23 droll Exp $.###
01b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
01c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
01d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
01e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
01f0: 23 23 23 23 23 23 23 0a 23 20 53 65 65 20 74 68 #######.# See th
0200: 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e e file "license.
0210: 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 terms" for infor
0220: 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 mation on usage
0230: 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 and redistributi
0240: 6f 6e 0a 23 20 6f 66 20 74 68 69 73 20 66 69 6c on.# of this fil
0250: 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 e, and for a DIS
0260: 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 CLAIMER OF ALL W
0270: 41 52 52 41 4e 54 49 45 53 2e 0a 23 23 23 23 23 ARRANTIES..#####
0280: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
0290: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
02a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
02b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
02c0: 23 23 23 23 23 0a 0a 23 23 23 23 20 49 6e 69 74 #####..#### Init
02d0: 69 61 6c 69 7a 61 74 69 6f 6e 20 23 23 23 23 0a ialization ####.
02e0: 0a 44 65 6d 6f 43 6f 6e 74 72 6f 6c 28 49 6e 69 .DemoControl(Ini
02f0: 74 69 61 6c 69 7a 61 74 69 6f 6e 29 20 31 0a 44 tialization) 1.D
0300: 65 6d 6f 43 6f 6e 74 72 6f 6c 28 49 73 45 78 65 emoControl(IsExe
0310: 63 75 74 61 62 6c 65 29 20 7b 30 7d 0a 0a 23 20 cutable) {0}..#
0320: 54 68 69 73 20 64 65 6d 6f 20 73 68 6f 77 73 20 This demo shows
0330: 68 6f 77 20 74 68 65 20 69 6e 74 65 72 61 63 74 how the interact
0340: 69 76 65 20 70 72 6f 63 65 64 75 72 65 20 63 61 ive procedure ca
0350: 6c 6c 73 20 6f 70 65 6e 20 74 68 65 20 61 72 67 lls open the arg
0360: 75 6d 65 6e 74 20 65 6e 74 72 79 20 66 6f 72 6d ument entry form
0370: 0a 23 20 77 69 74 68 20 74 68 65 20 64 69 66 66 .# with the diff
0380: 65 72 65 6e 74 20 61 76 61 69 6c 61 62 6c 65 20 erent available
0390: 77 69 64 67 65 74 20 74 79 70 65 73 2e 0a 0a 20 widget types...
03a0: 20 20 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 package requir
03b0: 65 20 54 6b 0a 20 20 20 70 61 63 6b 61 67 65 20 e Tk. package
03c0: 72 65 71 75 69 72 65 20 74 65 70 61 6d 0a 20 20 require tepam.
03d0: 20 6e 61 6d 65 73 70 61 63 65 20 69 6d 70 6f 72 namespace impor
03e0: 74 20 2d 66 6f 72 63 65 20 74 65 70 61 6d 3a 3a t -force tepam::
03f0: 2a 3b 20 23 20 49 6d 70 6f 72 74 20 74 65 70 61 *; # Import tepa
0400: 6d 3a 3a 70 72 6f 63 65 64 75 72 65 20 61 6e 64 m::procedure and
0410: 20 74 65 70 61 6d 3a 3a 61 72 67 75 6d 65 6e 74 tepam::argument
0420: 5f 64 69 61 6c 6f 67 62 6f 78 0a 0a 23 23 23 23 _dialogbox..####
0430: 20 45 6e 74 72 79 20 23 23 23 23 0a 0a 44 65 6d Entry ####..Dem
0440: 6f 43 6f 6e 74 72 6f 6c 28 49 73 45 78 65 63 75 oControl(IsExecu
0450: 74 61 62 6c 65 29 20 7b 31 7d 0a 0a 23 20 54 68 table) {1}..# Th
0460: 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 65 6e e interactive en
0470: 74 72 79 20 66 6f 72 6d 20 70 72 6f 76 69 64 65 try form provide
0480: 73 20 73 69 6d 70 6c 79 20 65 6e 74 72 79 20 77 s simply entry w
0490: 69 64 67 65 74 73 20 66 6f 72 20 74 68 65 20 61 idgets for the a
04a0: 72 67 75 6d 65 6e 74 73 20 74 68 61 74 20 6d 65 rguments that me
04b0: 65 74 20 74 68 65 0a 23 20 66 6f 6c 6c 6f 77 69 et the.# followi
04c0: 6e 67 20 63 72 69 74 65 72 69 61 73 3a 0a 23 20 ng criterias:.#
04d0: 31 29 20 4e 6f 20 61 72 67 75 6d 65 6e 74 20 73 1) No argument s
04e0: 70 65 63 69 66 69 63 20 77 69 64 67 65 74 20 74 pecific widget t
04f0: 79 70 65 73 20 61 72 65 20 61 76 61 69 6c 61 62 ypes are availab
0500: 6c 65 0a 23 20 32 29 20 4e 6f 20 63 68 6f 69 63 le.# 2) No choic
0510: 65 20 6c 69 73 74 73 20 61 72 65 20 64 65 66 69 e lists are defi
0520: 6e 65 64 20 66 6f 72 20 74 68 65 20 61 72 67 75 ned for the argu
0530: 6d 65 6e 74 73 2e 0a 0a 20 20 20 70 72 6f 63 65 ments... proce
0540: 64 75 72 65 20 65 6e 74 72 79 5f 65 78 61 6d 70 dure entry_examp
0550: 6c 65 20 7b 0a 20 20 20 20 20 20 2d 61 72 67 73 le {. -args
0560: 20 7b 0a 20 20 20 20 20 20 20 20 20 7b 73 74 72 {. {str
0570: 20 2d 64 65 73 63 72 69 70 74 69 6f 6e 20 22 53 -description "S
0580: 74 72 69 6e 67 20 61 72 67 75 6d 65 6e 74 22 7d tring argument"}
0590: 0a 20 20 20 20 20 20 20 20 20 7b 76 61 6c 20 2d . {val -
05a0: 74 79 70 65 20 69 6e 74 65 67 65 72 20 2d 64 65 type integer -de
05b0: 66 61 75 6c 74 20 30 20 2d 64 65 73 63 72 69 70 fault 0 -descrip
05c0: 74 69 6f 6e 20 22 49 6e 74 65 67 65 72 20 61 72 tion "Integer ar
05d0: 67 75 6d 65 6e 74 22 7d 0a 20 20 20 20 20 20 7d gument"}. }
05e0: 0a 20 20 20 7d 20 7b 0a 20 20 20 20 20 20 72 65 . } {. re
05f0: 74 75 72 6e 20 22 73 74 72 3a 27 24 73 74 72 27 turn "str:'$str'
0600: 20 76 61 6c 3a 27 24 76 61 6c 27 22 0a 20 20 20 val:'$val'".
0610: 7d 0a 0a 20 20 20 65 6e 74 72 79 5f 65 78 61 6d }.. entry_exam
0620: 70 6c 65 20 2d 69 6e 74 65 72 61 63 74 69 76 65 ple -interactive
0630: 0a 0a 23 23 23 23 20 43 68 65 63 6b 62 6f 78 20 ..#### Checkbox
0640: 23 23 23 23 0a 0a 44 65 6d 6f 43 6f 6e 74 72 6f ####..DemoContro
0650: 6c 28 49 73 45 78 65 63 75 74 61 62 6c 65 29 20 l(IsExecutable)
0660: 7b 31 7d 0a 0a 23 20 54 68 65 20 69 6e 74 65 72 {1}..# The inter
0670: 61 63 74 69 76 65 20 65 6e 74 72 79 20 66 6f 72 active entry for
0680: 6d 20 70 72 6f 76 69 64 65 73 20 63 68 65 63 6b m provides check
0690: 62 6f 78 65 73 20 66 6f 72 20 74 68 65 20 61 72 boxes for the ar
06a0: 67 75 6d 65 6e 74 73 20 74 68 61 74 20 6d 65 65 guments that mee
06b0: 74 20 74 68 65 0a 23 20 66 6f 6c 6c 6f 77 69 6e t the.# followin
06c0: 67 20 63 72 69 74 65 72 69 61 73 3a 0a 23 20 31 g criterias:.# 1
06d0: 29 20 41 20 74 69 6e 79 20 63 68 6f 69 63 65 20 ) A tiny choice
06e0: 6c 69 73 74 20 69 73 20 70 72 6f 76 69 64 65 64 list is provided
06f0: 20 28 77 69 74 68 20 6c 65 73 73 20 6f 72 20 65 (with less or e
0700: 71 75 61 6c 20 74 68 61 6e 20 34 20 65 6c 65 6d qual than 4 elem
0710: 65 6e 74 73 29 0a 23 20 32 29 20 4e 6f 20 6d 75 ents).# 2) No mu
0720: 6c 74 69 70 6c 65 20 73 65 6c 65 63 74 69 6f 6e ltiple selection
0730: 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 0a 0a 20 s are allowed..
0740: 20 20 70 72 6f 63 65 64 75 72 65 20 63 68 65 63 procedure chec
0750: 6b 62 6f 78 5f 65 78 61 6d 70 6c 65 20 7b 0a 20 kbox_example {.
0760: 20 20 20 20 20 2d 61 72 67 73 20 7b 0a 20 20 20 -args {.
0770: 20 20 20 20 20 20 7b 46 6f 6e 74 53 74 79 6c 65 {FontStyle
0780: 20 2d 64 65 73 63 72 69 70 74 69 6f 6e 20 22 46 -description "F
0790: 6f 6e 74 20 73 79 74 6c 65 22 20 0a 20 20 20 20 ont sytle" .
07a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
07b0: 2d 6d 75 6c 74 69 70 6c 65 20 2d 63 68 6f 69 63 -multiple -choic
07c0: 65 73 20 7b 62 6f 6c 64 20 69 74 61 6c 69 63 20 es {bold italic
07d0: 75 6e 64 65 72 6c 69 6e 65 7d 20 0a 20 20 20 20 underline} .
07e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
07f0: 2d 63 68 6f 69 63 65 6c 61 62 65 6c 73 20 7b 42 -choicelabels {B
0800: 6f 6c 64 20 49 74 61 6c 69 63 20 55 6e 64 65 72 old Italic Under
0810: 6c 69 6e 65 7d 20 2d 64 65 66 61 75 6c 74 20 69 line} -default i
0820: 74 61 6c 69 63 7d 0a 20 20 20 20 20 20 7d 0a 20 talic}. }.
0830: 20 20 7d 20 7b 0a 20 20 20 20 20 20 72 65 74 75 } {. retu
0840: 72 6e 20 22 46 6f 6e 74 53 74 79 6c 65 3a 20 24 rn "FontStyle: $
0850: 46 6f 6e 74 53 74 79 6c 65 22 0a 20 20 20 7d 0a FontStyle". }.
0860: 0a 20 20 20 63 68 65 63 6b 62 6f 78 5f 65 78 61 . checkbox_exa
0870: 6d 70 6c 65 20 2d 69 6e 74 65 72 61 63 74 69 76 mple -interactiv
0880: 65 0a 0a 23 23 23 23 20 52 61 64 69 6f 62 6f 78 e..#### Radiobox
0890: 20 23 23 23 23 0a 0a 44 65 6d 6f 43 6f 6e 74 72 ####..DemoContr
08a0: 6f 6c 28 49 73 45 78 65 63 75 74 61 62 6c 65 29 ol(IsExecutable)
08b0: 20 7b 31 7d 0a 0a 23 20 54 68 65 20 69 6e 74 65 {1}..# The inte
08c0: 72 61 63 74 69 76 65 20 65 6e 74 72 79 20 66 6f ractive entry fo
08d0: 72 6d 20 70 72 6f 76 69 64 65 73 20 72 61 64 69 rm provides radi
08e0: 6f 62 6f 78 65 73 20 66 6f 72 20 74 68 65 20 61 oboxes for the a
08f0: 72 67 75 6d 65 6e 74 73 20 74 68 61 74 20 6d 65 rguments that me
0900: 65 74 20 74 68 65 0a 23 20 66 6f 6c 6c 6f 77 69 et the.# followi
0910: 6e 67 20 63 72 69 74 65 72 69 61 73 3a 0a 23 20 ng criterias:.#
0920: 31 29 20 41 20 74 69 6e 79 20 63 68 6f 69 63 65 1) A tiny choice
0930: 20 6c 69 73 74 20 69 73 20 70 72 6f 76 69 64 65 list is provide
0940: 64 20 28 77 69 74 68 20 6c 65 73 73 20 6f 72 20 d (with less or
0950: 65 71 75 61 6c 20 74 68 61 6e 20 34 20 65 6c 65 equal than 4 ele
0960: 6d 65 6e 74 73 29 0a 23 20 32 29 20 4d 75 6c 74 ments).# 2) Mult
0970: 69 70 6c 65 20 73 65 6c 65 63 74 69 6f 6e 73 20 iple selections
0980: 61 72 65 20 61 6c 6c 6f 77 65 64 0a 0a 20 20 20 are allowed..
0990: 70 72 6f 63 65 64 75 72 65 20 72 61 64 69 6f 62 procedure radiob
09a0: 6f 78 5f 65 78 61 6d 70 6c 65 20 7b 0a 20 20 20 ox_example {.
09b0: 20 20 20 2d 61 72 67 73 20 7b 0a 20 20 20 20 20 -args {.
09c0: 20 20 20 20 7b 41 64 6a 75 73 74 6d 65 6e 74 20 {Adjustment
09d0: 2d 64 65 73 63 72 69 70 74 69 6f 6e 20 22 54 65 -description "Te
09e0: 78 74 20 61 64 6a 75 73 74 6d 65 6e 74 22 20 0a xt adjustment" .
09f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0a00: 20 20 20 20 20 2d 63 68 6f 69 63 65 73 20 7b 6c -choices {l
0a10: 65 66 74 20 63 65 6e 74 65 72 20 72 69 67 68 74 eft center right
0a20: 7d 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 } .
0a30: 20 20 20 20 20 20 20 20 2d 63 68 6f 69 63 65 6c -choicel
0a40: 61 62 65 6c 73 20 7b 4c 65 66 74 20 43 65 6e 74 abels {Left Cent
0a50: 65 72 20 52 69 67 68 74 7d 20 2d 64 65 66 61 75 er Right} -defau
0a60: 6c 74 20 6c 65 66 74 7d 0a 20 20 20 20 20 20 7d lt left}. }
0a70: 0a 20 20 20 7d 20 7b 0a 20 20 20 20 20 20 72 65 . } {. re
0a80: 74 75 72 6e 20 22 41 64 6a 75 73 74 6d 65 6e 74 turn "Adjustment
0a90: 3a 20 24 41 64 6a 75 73 74 6d 65 6e 74 22 0a 20 : $Adjustment".
0aa0: 20 20 7d 0a 0a 20 20 20 72 61 64 69 6f 62 6f 78 }.. radiobox
0ab0: 5f 65 78 61 6d 70 6c 65 20 2d 69 6e 74 65 72 61 _example -intera
0ac0: 63 74 69 76 65 0a 0a 23 23 23 23 20 43 68 65 63 ctive..#### Chec
0ad0: 6b 62 75 74 74 6f 6e 20 23 23 23 23 0a 0a 44 65 kbutton ####..De
0ae0: 6d 6f 43 6f 6e 74 72 6f 6c 28 49 73 45 78 65 63 moControl(IsExec
0af0: 75 74 61 62 6c 65 29 20 7b 31 7d 0a 0a 23 20 54 utable) {1}..# T
0b00: 68 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 65 he interactive e
0b10: 6e 74 72 79 20 66 6f 72 6d 20 70 72 6f 76 69 64 ntry form provid
0b20: 65 73 20 63 68 65 63 6b 62 75 74 74 6f 6e 73 20 es checkbuttons
0b30: 66 6f 72 20 74 68 65 20 61 72 67 75 6d 65 6e 74 for the argument
0b40: 73 20 74 68 61 74 20 6d 65 65 74 20 74 68 65 0a s that meet the.
0b50: 23 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 72 69 74 # following crit
0b60: 65 72 69 61 73 3a 0a 23 20 31 29 20 54 68 65 20 erias:.# 1) The
0b70: 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 66 6c argument is a fl
0b80: 61 67 2f 73 77 69 74 63 68 2c 20 65 2e 67 2e 20 ag/switch, e.g.
0b90: 74 68 65 20 61 72 67 75 6d 65 6e 74 20 74 79 70 the argument typ
0ba0: 65 20 69 73 20 27 6e 6f 6e 65 27 2e 0a 0a 20 20 e is 'none'...
0bb0: 20 70 72 6f 63 65 64 75 72 65 20 63 68 65 63 6b procedure check
0bc0: 62 75 74 74 6f 6e 5f 65 78 61 6d 70 6c 65 20 7b button_example {
0bd0: 0a 20 20 20 20 20 20 2d 61 72 67 73 20 7b 0a 20 . -args {.
0be0: 20 20 20 20 20 20 20 20 7b 2d 43 61 70 69 74 61 {-Capita
0bf0: 6c 69 7a 65 20 2d 74 79 70 65 20 6e 6f 6e 65 20 lize -type none
0c00: 2d 64 65 73 63 72 69 70 74 69 6f 6e 20 22 43 61 -description "Ca
0c10: 70 69 74 61 6c 69 7a 65 22 20 2d 64 65 66 61 75 pitalize" -defau
0c20: 6c 74 20 31 7d 0a 20 20 20 20 20 20 7d 0a 20 20 lt 1}. }.
0c30: 20 7d 20 7b 0a 20 20 20 20 20 20 72 65 74 75 72 } {. retur
0c40: 6e 20 22 43 61 70 69 74 61 6c 69 7a 65 3a 20 24 n "Capitalize: $
0c50: 43 61 70 69 74 61 6c 69 7a 65 22 0a 20 20 20 7d Capitalize". }
0c60: 0a 0a 20 20 20 63 68 65 63 6b 62 75 74 74 6f 6e .. checkbutton
0c70: 5f 65 78 61 6d 70 6c 65 20 2d 69 6e 74 65 72 61 _example -intera
0c80: 63 74 69 76 65 0a 0a 23 23 23 23 20 4c 69 73 74 ctive..#### List
0c90: 62 6f 78 20 23 23 23 23 0a 0a 44 65 6d 6f 43 6f box ####..DemoCo
0ca0: 6e 74 72 6f 6c 28 49 73 45 78 65 63 75 74 61 62 ntrol(IsExecutab
0cb0: 6c 65 29 20 7b 31 7d 0a 0a 23 20 54 68 65 20 69 le) {1}..# The i
0cc0: 6e 74 65 72 61 63 74 69 76 65 20 65 6e 74 72 79 nteractive entry
0cd0: 20 66 6f 72 6d 20 70 72 6f 76 69 64 65 73 20 6c form provides l
0ce0: 69 73 74 62 6f 78 65 73 20 66 6f 72 20 74 68 65 istboxes for the
0cf0: 20 61 72 67 75 6d 65 6e 74 73 20 74 68 61 74 20 arguments that
0d00: 6d 65 65 74 20 74 68 65 0a 23 20 66 6f 6c 6c 6f meet the.# follo
0d10: 77 69 6e 67 20 63 72 69 74 65 72 69 61 73 3a 0a wing criterias:.
0d20: 23 20 31 29 20 41 20 6c 61 72 67 65 20 63 68 6f # 1) A large cho
0d30: 69 63 65 20 6c 69 73 74 20 69 73 20 70 72 6f 76 ice list is prov
0d40: 69 64 65 64 20 28 77 69 74 68 20 6d 6f 72 65 20 ided (with more
0d50: 74 68 61 6e 20 34 20 65 6c 65 6d 65 6e 74 73 29 than 4 elements)
0d60: 0a 23 20 32 29 20 4e 6f 20 6d 75 6c 74 69 70 6c .# 2) No multipl
0d70: 65 20 73 65 6c 65 63 74 69 6f 6e 73 20 61 72 65 e selections are
0d80: 20 61 6c 6c 6f 77 65 64 0a 0a 20 20 20 70 72 6f allowed.. pro
0d90: 63 65 64 75 72 65 20 6c 69 73 74 62 6f 78 5f 65 cedure listbox_e
0da0: 78 61 6d 70 6c 65 20 7b 0a 20 20 20 20 20 20 2d xample {. -
0db0: 61 72 67 73 20 7b 0a 20 20 20 20 20 20 20 20 20 args {.
0dc0: 7b 4c 6f 63 61 74 69 6f 6e 20 2d 64 65 73 63 72 {Location -descr
0dd0: 69 70 74 69 6f 6e 20 22 50 69 63 74 75 72 65 20 iption "Picture
0de0: 6c 6f 63 61 74 69 6f 6e 22 20 0a 20 20 20 20 20 location" .
0df0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 63 -c
0e00: 68 6f 69 63 65 73 20 7b 74 6f 70 20 6c 65 66 74 hoices {top left
0e10: 20 63 65 6e 74 65 72 20 72 69 67 68 74 20 62 75 center right bu
0e20: 74 74 6f 6d 7d 20 0a 20 20 20 20 20 20 20 20 20 ttom} .
0e30: 20 20 20 20 20 20 20 20 20 20 2d 63 68 6f 69 63 -choic
0e40: 65 6c 61 62 65 6c 73 20 7b 54 6f 70 20 4c 65 66 elabels {Top Lef
0e50: 74 20 43 65 6e 74 65 72 20 52 69 67 68 74 20 42 t Center Right B
0e60: 75 74 74 6f 6d 7d 20 2d 64 65 66 61 75 6c 74 20 uttom} -default
0e70: 63 65 6e 74 65 72 7d 0a 20 20 20 20 20 20 7d 0a center}. }.
0e80: 20 20 20 7d 20 7b 0a 20 20 20 20 20 20 72 65 74 } {. ret
0e90: 75 72 6e 20 22 4c 6f 63 61 74 69 6f 6e 3a 20 24 urn "Location: $
0ea0: 4c 6f 63 61 74 69 6f 6e 22 0a 20 20 20 7d 0a 0a Location". }..
0eb0: 20 20 20 6c 69 73 74 62 6f 78 5f 65 78 61 6d 70 listbox_examp
0ec0: 6c 65 20 2d 69 6e 74 65 72 61 63 74 69 76 65 0a le -interactive.
0ed0: 0a 23 23 23 23 20 44 69 73 6a 6f 69 6e 74 20 6c .#### Disjoint l
0ee0: 69 73 74 62 6f 78 20 23 23 23 23 0a 0a 44 65 6d istbox ####..Dem
0ef0: 6f 43 6f 6e 74 72 6f 6c 28 49 73 45 78 65 63 75 oControl(IsExecu
0f00: 74 61 62 6c 65 29 20 7b 31 7d 0a 0a 23 20 54 68 table) {1}..# Th
0f10: 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 65 6e e interactive en
0f20: 74 72 79 20 66 6f 72 6d 20 70 72 6f 76 69 64 65 try form provide
0f30: 73 20 64 69 73 6a 6f 69 6e 74 20 6c 69 73 74 62 s disjoint listb
0f40: 6f 78 65 73 20 66 6f 72 20 74 68 65 20 61 72 67 oxes for the arg
0f50: 75 6d 65 6e 74 73 20 74 68 61 74 20 6d 65 65 74 uments that meet
0f60: 20 74 68 65 0a 23 20 66 6f 6c 6c 6f 77 69 6e 67 the.# following
0f70: 20 63 72 69 74 65 72 69 61 73 3a 0a 23 20 31 29 criterias:.# 1)
0f80: 20 41 20 6c 61 72 67 65 20 63 68 6f 69 63 65 20 A large choice
0f90: 6c 69 73 74 20 69 73 20 70 72 6f 76 69 64 65 64 list is provided
0fa0: 20 28 77 69 74 68 20 6d 6f 72 65 20 74 68 61 6e (with more than
0fb0: 20 34 20 65 6c 65 6d 65 6e 74 73 29 0a 23 20 32 4 elements).# 2
0fc0: 29 20 4d 75 6c 74 69 70 6c 65 20 73 65 6c 65 63 ) Multiple selec
0fd0: 74 69 6f 6e 73 20 61 72 65 20 61 6c 6c 6f 77 65 tions are allowe
0fe0: 64 0a 0a 20 20 20 70 72 6f 63 65 64 75 72 65 20 d.. procedure
0ff0: 6c 69 73 74 62 6f 78 5f 65 78 61 6d 70 6c 65 20 listbox_example
1000: 7b 0a 20 20 20 20 20 20 2d 61 72 67 73 20 7b 0a {. -args {.
1010: 20 20 20 20 20 20 20 20 20 7b 46 6f 6e 74 53 74 {FontSt
1020: 79 6c 65 20 2d 64 65 73 63 72 69 70 74 69 6f 6e yle -description
1030: 20 22 46 6f 6e 74 20 73 79 74 6c 65 22 20 2d 6d "Font sytle" -m
1040: 75 6c 74 69 70 6c 65 20 0a 20 20 20 20 20 20 20 ultiple .
1050: 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 63 68 -ch
1060: 6f 69 63 65 73 20 7b 62 6f 6c 64 20 69 74 61 6c oices {bold ital
1070: 69 63 20 75 6e 64 65 72 6c 69 6e 65 20 6f 76 65 ic underline ove
1080: 72 73 74 72 69 6b 65 20 63 61 70 69 74 61 6c 69 rstrike capitali
1090: 7a 65 64 20 73 75 70 65 72 73 63 72 69 70 74 20 zed superscript
10a0: 73 75 62 73 63 72 69 70 74 7d 20 0a 20 20 20 20 subscript} .
10b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
10c0: 2d 63 68 6f 69 63 65 6c 61 62 65 6c 73 20 7b 42 -choicelabels {B
10d0: 6f 6c 64 20 49 74 61 6c 69 63 20 55 6e 64 65 72 old Italic Under
10e0: 6c 69 6e 65 20 4f 76 65 72 73 74 72 69 6b 65 20 line Overstrike
10f0: 43 61 70 69 74 61 6c 69 7a 65 64 20 53 75 70 65 Capitalized Supe
1100: 72 73 63 72 69 70 74 20 53 75 62 73 63 72 69 70 rscript Subscrip
1110: 74 7d 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 t} .
1120: 20 20 20 20 20 20 20 20 2d 64 65 66 61 75 6c 74 -default
1130: 20 7b 69 74 61 6c 69 63 20 62 6f 6c 64 7d 7d 0a {italic bold}}.
1140: 20 20 20 20 20 20 7d 0a 20 20 20 7d 20 7b 0a 20 }. } {.
1150: 20 20 20 20 20 72 65 74 75 72 6e 20 22 46 6f 6e return "Fon
1160: 74 53 74 79 6c 65 3a 20 27 24 46 6f 6e 74 53 74 tStyle: '$FontSt
1170: 79 6c 65 27 22 0a 20 20 20 7d 0a 0a 20 20 20 6c yle'". }.. l
1180: 69 73 74 62 6f 78 5f 65 78 61 6d 70 6c 65 20 2d istbox_example -
1190: 69 6e 74 65 72 61 63 74 69 76 65 0a 0a 23 23 23 interactive..###
11a0: 23 20 46 69 6c 65 73 20 23 23 23 23 0a 0a 44 65 # Files ####..De
11b0: 6d 6f 43 6f 6e 74 72 6f 6c 28 49 73 45 78 65 63 moControl(IsExec
11c0: 75 74 61 62 6c 65 29 20 7b 31 7d 0a 0a 23 20 54 utable) {1}..# T
11d0: 68 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 65 he interactive e
11e0: 6e 74 72 79 20 66 6f 72 6d 20 70 72 6f 76 69 64 ntry form provid
11f0: 65 73 20 66 69 6c 65 20 73 65 6c 65 63 74 69 6f es file selectio
1200: 6e 20 77 69 64 67 65 74 73 20 66 6f 72 20 74 68 n widgets for th
1210: 65 20 61 72 67 75 6d 65 6e 74 73 20 74 68 61 74 e arguments that
1220: 20 6d 65 65 74 20 74 68 65 0a 23 20 66 6f 6c 6c meet the.# foll
1230: 6f 77 69 6e 67 20 63 72 69 74 65 72 69 61 73 3a owing criterias:
1240: 0a 23 20 31 29 20 54 68 65 20 61 72 67 75 6d 65 .# 1) The argume
1250: 6e 74 20 74 79 70 65 20 69 73 20 27 66 69 6c 65 nt type is 'file
1260: 27 20 6f 72 20 27 65 78 69 73 74 69 6e 67 66 69 ' or 'existingfi
1270: 6c 65 27 2e 0a 0a 20 20 20 70 72 6f 63 65 64 75 le'... procedu
1280: 72 65 20 66 69 6c 65 5f 65 78 61 6d 70 6c 65 20 re file_example
1290: 7b 0a 20 20 20 20 20 20 2d 72 65 74 75 72 6e 20 {. -return
12a0: 20 20 20 20 20 20 20 20 20 20 20 2d 0a 20 20 20 -.
12b0: 20 20 20 2d 73 68 6f 72 74 5f 64 65 73 63 72 69 -short_descri
12c0: 70 74 69 6f 6e 20 22 46 69 6c 65 20 63 6f 70 79 ption "File copy
12d0: 22 0a 20 20 20 20 20 20 2d 64 65 73 63 72 69 70 ". -descrip
12e0: 74 69 6f 6e 20 20 20 20 20 20 20 22 54 68 69 73 tion "This
12f0: 20 70 72 6f 63 65 64 75 72 65 20 61 6c 6c 6f 77 procedure allow
1300: 73 20 63 6f 70 79 69 6e 67 20 61 20 66 69 6c 65 s copying a file
1310: 2e 22 0a 20 20 20 20 20 20 2d 61 72 67 73 20 7b .". -args {
1320: 0a 20 20 20 20 20 20 20 20 20 7b 2d 73 6f 75 72 . {-sour
1330: 63 65 20 2d 74 79 70 65 20 65 78 69 73 74 69 6e ce -type existin
1340: 67 66 69 6c 65 20 2d 64 65 73 63 72 69 70 74 69 gfile -descripti
1350: 6f 6e 20 22 45 78 69 73 74 69 6e 67 20 66 69 6c on "Existing fil
1360: 65 22 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 e" .
1370: 20 20 20 20 20 20 2d 61 75 78 61 72 67 73 20 7b -auxargs {
1380: 2d 66 69 6c 65 74 79 70 65 73 20 7b 7b 22 4c 6f -filetypes {{"Lo
1390: 67 20 66 69 6c 65 73 22 20 2a 2e 6c 6f 67 7d 20 g files" *.log}
13a0: 7b 22 41 6c 6c 20 66 69 6c 65 73 22 20 2a 2e 2a {"All files" *.*
13b0: 7d 7d 7d 7d 0a 20 20 20 20 20 20 20 20 20 7b 2d }}}}. {-
13c0: 64 65 73 74 20 2d 74 79 70 65 20 66 69 6c 65 20 dest -type file
13d0: 2d 64 65 73 63 72 69 70 74 69 6f 6e 20 22 41 72 -description "Ar
13e0: 63 68 69 76 65 64 20 6e 65 77 20 66 69 6c 65 22 chived new file"
13f0: 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 7d 20 7b }. }. } {
1400: 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 73 . return "s
1410: 6f 75 72 63 65 3a 20 27 24 73 6f 75 72 63 65 27 ource: '$source'
1420: 2c 20 64 65 73 74 3a 20 27 24 64 65 73 74 27 22 , dest: '$dest'"
1430: 0a 20 20 20 7d 0a 0a 20 20 20 66 69 6c 65 5f 65 . }.. file_e
1440: 78 61 6d 70 6c 65 20 2d 69 6e 74 65 72 61 63 74 xample -interact
1450: 69 76 65 0a 0a 23 23 23 23 20 44 69 72 65 63 74 ive..#### Direct
1460: 6f 72 69 65 73 20 23 23 23 23 0a 0a 44 65 6d 6f ories ####..Demo
1470: 43 6f 6e 74 72 6f 6c 28 49 73 45 78 65 63 75 74 Control(IsExecut
1480: 61 62 6c 65 29 20 7b 31 7d 0a 0a 23 20 54 68 65 able) {1}..# The
1490: 20 69 6e 74 65 72 61 63 74 69 76 65 20 65 6e 74 interactive ent
14a0: 72 79 20 66 6f 72 6d 20 70 72 6f 76 69 64 65 73 ry form provides
14b0: 20 64 69 72 65 63 74 6f 72 79 20 73 65 6c 65 63 directory selec
14c0: 74 69 6f 6e 20 77 69 64 67 65 74 73 20 66 6f 72 tion widgets for
14d0: 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 the arguments t
14e0: 68 61 74 20 6d 65 65 74 20 74 68 65 0a 23 20 66 hat meet the.# f
14f0: 6f 6c 6c 6f 77 69 6e 67 20 63 72 69 74 65 72 69 ollowing criteri
1500: 61 73 3a 0a 23 20 31 29 20 54 68 65 20 61 72 67 as:.# 1) The arg
1510: 75 6d 65 6e 74 20 74 79 70 65 20 69 73 20 27 64 ument type is 'd
1520: 69 72 65 63 74 6f 72 79 27 20 6f 72 20 27 65 78 irectory' or 'ex
1530: 69 73 74 69 6e 67 64 69 72 65 63 74 6f 72 79 27 istingdirectory'
1540: 2e 0a 0a 20 20 20 70 72 6f 63 65 64 75 72 65 20 ... procedure
1550: 64 69 72 65 63 74 6f 72 79 5f 65 78 61 6d 70 6c directory_exampl
1560: 65 20 7b 0a 20 20 20 20 20 20 2d 72 65 74 75 72 e {. -retur
1570: 6e 20 20 20 20 20 20 20 20 20 20 20 20 2d 0a 20 n -.
1580: 20 20 20 20 20 2d 73 68 6f 72 74 5f 64 65 73 63 -short_desc
1590: 72 69 70 74 69 6f 6e 20 22 46 69 6c 65 20 63 6f ription "File co
15a0: 70 79 22 0a 20 20 20 20 20 20 2d 64 65 73 63 72 py". -descr
15b0: 69 70 74 69 6f 6e 20 20 20 20 20 20 20 22 54 68 iption "Th
15c0: 69 73 20 70 72 6f 63 65 64 75 72 65 20 61 6c 6c is procedure all
15d0: 6f 77 73 20 63 6f 70 79 69 6e 67 20 61 20 66 69 ows copying a fi
15e0: 6c 65 2e 22 0a 20 20 20 20 20 20 2d 61 72 67 73 le.". -args
15f0: 20 7b 0a 20 20 20 20 20 20 20 20 20 7b 2d 73 6f {. {-so
1600: 75 72 63 65 20 2d 74 79 70 65 20 65 78 69 73 74 urce -type exist
1610: 69 6e 67 64 69 72 65 63 74 6f 72 79 20 2d 64 65 ingdirectory -de
1620: 73 63 72 69 70 74 69 6f 6e 20 22 53 6f 75 72 63 scription "Sourc
1630: 65 20 64 69 72 65 63 74 6f 72 79 22 7d 0a 20 20 e directory"}.
1640: 20 20 20 20 20 20 20 7b 2d 64 65 73 74 20 2d 74 {-dest -t
1650: 79 70 65 20 64 69 72 65 63 74 6f 72 79 20 2d 64 ype directory -d
1660: 65 73 63 72 69 70 74 69 6f 6e 20 22 44 65 73 74 escription "Dest
1670: 69 6e 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 ination director
1680: 79 22 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 7d y"}. }. }
1690: 20 7b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 {. return
16a0: 22 73 6f 75 72 63 65 3a 20 27 24 73 6f 75 72 63 "source: '$sourc
16b0: 65 27 2c 20 64 65 73 74 3a 20 27 24 64 65 73 74 e', dest: '$dest
16c0: 27 22 0a 20 20 20 7d 0a 0a 20 20 20 64 69 72 65 '". }.. dire
16d0: 63 74 6f 72 79 5f 65 78 61 6d 70 6c 65 20 2d 69 ctory_example -i
16e0: 6e 74 65 72 61 63 74 69 76 65 0a 0a 23 23 23 23 nteractive..####
16f0: 20 43 6f 6c 6f 72 20 23 23 23 23 0a 0a 44 65 6d Color ####..Dem
1700: 6f 43 6f 6e 74 72 6f 6c 28 49 73 45 78 65 63 75 oControl(IsExecu
1710: 74 61 62 6c 65 29 20 7b 31 7d 0a 0a 23 20 54 68 table) {1}..# Th
1720: 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 65 6e e interactive en
1730: 74 72 79 20 66 6f 72 6d 20 70 72 6f 76 69 64 65 try form provide
1740: 73 20 63 6f 6c 6f 72 20 73 65 6c 65 63 74 69 6f s color selectio
1750: 6e 20 77 69 64 67 65 74 73 20 66 6f 72 20 74 68 n widgets for th
1760: 65 20 61 72 67 75 6d 65 6e 74 73 20 74 68 61 74 e arguments that
1770: 20 6d 65 65 74 20 74 68 65 0a 23 20 66 6f 6c 6c meet the.# foll
1780: 6f 77 69 6e 67 20 63 72 69 74 65 72 69 61 73 3a owing criterias:
1790: 0a 23 20 31 29 20 54 68 65 20 61 72 67 75 6d 65 .# 1) The argume
17a0: 6e 74 20 74 79 70 65 20 69 73 20 27 63 6f 6c 6f nt type is 'colo
17b0: 72 27 2e 0a 0a 20 20 70 72 6f 63 65 64 75 72 65 r'... procedure
17c0: 20 63 6f 6c 6f 72 5f 65 78 61 6d 70 6c 65 20 7b color_example {
17d0: 0a 20 20 20 20 20 20 2d 61 72 67 73 20 7b 0a 20 . -args {.
17e0: 20 20 20 20 20 20 20 20 7b 63 6f 6c 6f 72 20 2d {color -
17f0: 74 79 70 65 20 63 6f 6c 6f 72 20 2d 64 65 73 63 type color -desc
1800: 72 69 70 74 69 6f 6e 20 22 43 6f 6c 6f 72 22 20 ription "Color"
1810: 2d 64 65 66 61 75 6c 74 20 72 65 64 7d 0a 20 20 -default red}.
1820: 20 20 20 20 7d 0a 20 20 20 7d 20 7b 0a 20 20 20 }. } {.
1830: 20 20 20 72 65 74 75 72 6e 20 22 63 6f 6c 6f 72 return "color
1840: 3a 27 24 63 6f 6c 6f 72 27 22 0a 20 20 20 7d 0a :'$color'". }.
1850: 0a 20 20 20 63 6f 6c 6f 72 5f 65 78 61 6d 70 6c . color_exampl
1860: 65 20 2d 69 6e 74 65 72 61 63 74 69 76 65 0a 0a e -interactive..
1870: 23 23 23 23 20 46 6f 6e 74 20 23 23 23 23 0a 0a #### Font ####..
1880: 44 65 6d 6f 43 6f 6e 74 72 6f 6c 28 49 73 45 78 DemoControl(IsEx
1890: 65 63 75 74 61 62 6c 65 29 20 7b 31 7d 0a 0a 23 ecutable) {1}..#
18a0: 20 54 68 65 20 69 6e 74 65 72 61 63 74 69 76 65 The interactive
18b0: 20 65 6e 74 72 79 20 66 6f 72 6d 20 70 72 6f 76 entry form prov
18c0: 69 64 65 73 20 66 6f 6e 74 20 73 65 6c 65 63 74 ides font select
18d0: 69 6f 6e 20 77 69 64 67 65 74 73 20 66 6f 72 20 ion widgets for
18e0: 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 68 the arguments th
18f0: 61 74 20 6d 65 65 74 20 74 68 65 0a 23 20 66 6f at meet the.# fo
1900: 6c 6c 6f 77 69 6e 67 20 63 72 69 74 65 72 69 61 llowing criteria
1910: 73 3a 0a 23 20 31 29 20 54 68 65 20 61 72 67 75 s:.# 1) The argu
1920: 6d 65 6e 74 20 74 79 70 65 20 69 73 20 27 66 6f ment type is 'fo
1930: 6e 74 27 2e 0a 0a 20 20 70 72 6f 63 65 64 75 72 nt'... procedur
1940: 65 20 66 6f 6e 74 5f 65 78 61 6d 70 6c 65 20 7b e font_example {
1950: 0a 20 20 20 20 20 20 2d 61 72 67 73 20 7b 0a 20 . -args {.
1960: 20 20 20 20 20 20 20 20 7b 66 6f 6e 74 20 2d 74 {font -t
1970: 79 70 65 20 66 6f 6e 74 20 2d 64 65 73 63 72 69 ype font -descri
1980: 70 74 69 6f 6e 20 22 46 6f 6e 74 22 20 2d 64 65 ption "Font" -de
1990: 66 61 75 6c 74 20 7b 41 72 69 61 6c 20 31 32 20 fault {Arial 12
19a0: 69 74 61 6c 69 63 7d 7d 0a 20 20 20 20 20 20 7d italic}}. }
19b0: 0a 20 20 20 7d 20 7b 0a 20 20 20 20 20 20 72 65 . } {. re
19c0: 74 75 72 6e 20 22 66 6f 6e 74 3a 27 24 66 6f 6e turn "font:'$fon
19d0: 74 27 22 0a 20 20 20 7d 0a 0a 20 20 20 66 6f 6e t'". }.. fon
19e0: 74 5f 65 78 61 6d 70 6c 65 20 2d 69 6e 74 65 72 t_example -inter
19f0: 61 63 74 69 76 65 0a 0a 23 23 23 23 23 23 23 23 active..########
1a00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1a10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1a20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1a30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1a40: 23 23 0a 23 20 24 52 43 53 66 69 6c 65 3a 20 31 ##.# $RCSfile: 1
1a50: 62 5f 70 72 6f 63 65 64 75 72 65 5f 69 6e 74 65 b_procedure_inte
1a60: 72 61 63 74 69 76 65 5f 77 69 64 67 65 74 73 2e ractive_widgets.
1a70: 64 65 6d 6f 2c 76 20 24 20 2d 20 28 24 4e 61 6d demo,v $ - ($Nam
1a80: 65 3a 20 20 24 29 0a 23 20 24 49 64 3a 20 31 62 e: $).# $Id: 1b
1a90: 5f 70 72 6f 63 65 64 75 72 65 5f 69 6e 74 65 72 _procedure_inter
1aa0: 61 63 74 69 76 65 5f 77 69 64 67 65 74 73 2e 64 active_widgets.d
1ab0: 65 6d 6f 2c 76 20 31 2e 32 20 32 30 31 31 2f 30 emo,v 1.2 2011/0
1ac0: 31 2f 32 31 20 31 36 3a 30 30 3a 34 39 20 64 72 1/21 16:00:49 dr
1ad0: 6f 6c 6c 20 45 78 70 20 24 0a 23 20 4d 6f 64 69 oll Exp $.# Modi
1ae0: 66 69 63 61 74 69 6f 6e 73 3a 0a 23 20 24 4c 6f fications:.# $Lo
1af0: 67 3a 20 31 62 5f 70 72 6f 63 65 64 75 72 65 5f g: 1b_procedure_
1b00: 69 6e 74 65 72 61 63 74 69 76 65 5f 77 69 64 67 interactive_widg
1b10: 65 74 73 2e 64 65 6d 6f 2c 76 20 24 0a 23 20 52 ets.demo,v $.# R
1b20: 65 76 69 73 69 6f 6e 20 31 2e 32 20 20 32 30 31 evision 1.2 201
1b30: 31 2f 30 31 2f 32 31 20 31 36 3a 30 30 3a 34 39 1/01/21 16:00:49
1b40: 20 20 64 72 6f 6c 6c 0a 23 20 2a 20 54 45 50 41 droll.# * TEPA
1b50: 4d 20 76 65 72 73 69 6f 6e 20 30 2e 32 2e 30 0a M version 0.2.0.
1b60: 23 0a 23 20 52 65 76 69 73 69 6f 6e 20 31 2e 31 #.# Revision 1.1
1b70: 20 20 32 30 31 30 2f 30 32 2f 31 31 20 32 31 3a 2010/02/11 21:
1b80: 35 34 3a 33 38 20 20 64 72 6f 6c 6c 0a 23 20 54 54:38 droll.# T
1b90: 45 50 41 4d 20 6d 6f 64 75 6c 65 20 63 68 65 63 EPAM module chec
1ba0: 6b 69 6e 0a 23 0a 23 23 23 23 23 23 23 23 23 23 kin.#.##########
1bb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1bc0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1bd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1be0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
1bf0: 0a .