0
|
1 #-----------------------------------------------------------------------------#
|
|
2 # PROJECT: XPANEL (8446) $Workfile:: TARGET_csample_smi_lo.tcl$#
|
|
3 # Author:: RK CONDAT GmbH $Revision:: 1 $#
|
|
4 # CREATED: 29.06.00 $Modtime:: 16.02.00 15:17 $#
|
|
5 # STATE : code #
|
|
6 #-----------------------------------------------------------------------------#
|
|
7
|
|
8 # MODULE : CSAMPLE_LAYOUT (smi)
|
|
9
|
|
10 # PURPOSE : This modul provides specific layout file for a csample
|
|
11 # running a SMI version.
|
|
12
|
|
13 #*==== CONSTANTS ===================================================*#
|
|
14
|
|
15 # specify text display colors
|
|
16 set DISPL_BG black
|
|
17 set DISPL_FG white
|
|
18
|
|
19 # key count
|
|
20 set COLUMNS 3
|
|
21 set ROWS 7
|
|
22
|
|
23 # key IDs
|
|
24 set KEY_NOKEY -1
|
|
25 set KEY_0 48
|
|
26 set KEY_1 49
|
|
27 set KEY_2 50
|
|
28 set KEY_3 51
|
|
29 set KEY_4 52
|
|
30 set KEY_5 53
|
|
31 set KEY_6 54
|
|
32 set KEY_7 55
|
|
33 set KEY_8 56
|
|
34 set KEY_9 57
|
|
35 set KEY_MNUUP 45
|
|
36 set KEY_MNUDOWN 98
|
|
37 set KEY_LEFT 67
|
|
38 set KEY_RIGHT 94
|
|
39 set KEY_CALL 97
|
|
40 set KEY_HUP 86
|
|
41 set KEY_STAR 42
|
|
42 set KEY_HASH 35
|
|
43 set KEY_POWER 69
|
|
44
|
|
45 # not used
|
|
46 set KEY_VOLUP 254
|
|
47 set KEY_VOLDOWN 254
|
|
48 set KEY_OK 254
|
|
49 set KEY_CLEAR 254
|
|
50 set KEY_ABC 254
|
|
51 set KEY_F1 254
|
|
52 set KEY_F2 254
|
|
53 set KEY_F3 254
|
|
54 set KEY_F4 254
|
|
55 set KEY_MAX 254
|
|
56
|
|
57 # keys with their IDs
|
|
58 set KEY_ID { $KEY_LEFT $KEY_MNUUP $KEY_RIGHT
|
|
59 $KEY_CALL $KEY_MNUDOWN $KEY_HUP
|
|
60 $KEY_NOKEY $KEY_POWER $KEY_NOKEY
|
|
61 $KEY_1 $KEY_2 $KEY_3
|
|
62 $KEY_4 $KEY_5 $KEY_6
|
|
63 $KEY_7 $KEY_8 $KEY_9
|
|
64 $KEY_STAR $KEY_0 $KEY_HASH }
|
|
65
|
|
66 # keys with their second IDs, activated after pressing 3 sec
|
|
67 set KEY_ID2 { $KEY_NOKEY $KEY_NOKEY $KEY_NOKEY
|
|
68 $KEY_NOKEY $KEY_NOKEY $KEY_POWER
|
|
69 $KEY_NOKEY $KEY_NOKEY $KEY_NOKEY
|
|
70 $KEY_NOKEY $KEY_NOKEY $KEY_NOKEY
|
|
71 $KEY_NOKEY $KEY_NOKEY $KEY_NOKEY
|
|
72 $KEY_NOKEY $KEY_NOKEY $KEY_NOKEY
|
|
73 $KEY_NOKEY $KEY_NOKEY $KEY_NOKEY}
|
|
74
|
|
75 # key labels
|
|
76 set KEY_LABEL {"----" "/\\" "----"
|
|
77 "CALL" "\\/" "HUP"
|
|
78 "" "POWER" ""
|
|
79 "1\nl__l" "2\nabc" "3\ndef"
|
|
80 "4\nghi" "5\njkl" "6\nmno"
|
|
81 "7\npqrs" "8\ntuv" "9\nwxyz"
|
|
82 "*" "0\n+" "#" }
|
|
83
|
|
84 # optional key images instead of labels
|
|
85 set KEY_IMG {"" "" ""
|
|
86 "" "" ""
|
|
87 "" "" ""
|
|
88 "" "" ""
|
|
89 "" "" ""
|
|
90 "" "" ""
|
|
91 "" "" "" }
|
|
92
|
|
93 # key sizes
|
|
94 set KEY_HEIGHT {3 3 3
|
|
95 3 3 3
|
|
96 2 2 2
|
|
97 2 2 2
|
|
98 2 2 2
|
|
99 2 2 2
|
|
100 2 2 2}
|
|
101
|
|
102 set KEY_WIDTH {5 5 5
|
|
103 5 5 5
|
|
104 0 6 0
|
|
105 4 4 4
|
|
106 4 4 4
|
|
107 4 4 4
|
|
108 4 4 4}
|
|
109
|
|
110 # key positions
|
|
111 set KEY_STICKY {"" "" ""
|
|
112 "" "" ""
|
|
113 "" "" ""
|
|
114 "" "" ""
|
|
115 "" "" ""
|
|
116 "" "" ""
|
|
117 "" "" ""}
|
|
118
|
|
119 # key relief style (raised, sunken, flat, ridge, solid, groove)
|
|
120 set RELIEF raised
|
|
121
|
|
122
|
|
123
|
|
124
|
|
125 #*==== IMPLEMENTATION ==============================================*#
|
|
126
|
|
127 frame .keys
|
|
128 pack .keys -side bottom -pady 2 -anchor center
|
|
129
|
|
130 for {set q 0} {$q<$ROWS} {incr q} {
|
|
131 for {set w 1} {$w<=$COLUMNS} {incr w} {
|
|
132 set nr [expr $q*$COLUMNS+$w-1]
|
|
133 if {[subst [lindex $KEY_ID $nr]] == [subst $KEY_NOKEY]} continue
|
|
134
|
|
135 set key [format ".keys.no%s" $nr]
|
|
136 set imgFile [lindex $KEY_IMG $nr]
|
|
137 if {$imgFile == ""} {
|
|
138 button $key \
|
|
139 -text [lindex $KEY_LABEL $nr] \
|
|
140 -width [lindex $KEY_WIDTH $nr] -height [lindex $KEY_HEIGHT $nr] \
|
|
141 -relief $RELIEF
|
|
142 } else {
|
|
143 set img [format "%s%s" $imgFile $nr]
|
|
144 image create photo $img -file $imgFile
|
|
145 button $key -image $img \
|
|
146 -relief $RELIEF
|
|
147 # -width [expr 7*[lindex $KEY_WIDTH $nr]] \
|
|
148 # -height [expr 13*[lindex $KEY_HEIGHT $nr]] \
|
|
149 }
|
|
150 set st [lindex $KEY_STICKY $nr]
|
|
151 if {$st == ""} {
|
|
152 if {$w == 1} {
|
|
153 set st w
|
|
154 }
|
|
155 if {$w == $COLUMNS} {
|
|
156 set st e
|
|
157 }
|
|
158 }
|
|
159 grid $key -row $q -column $w -sticky $st
|
|
160
|
|
161 if {[subst [lindex $KEY_ID2 $nr]] == [subst $KEY_NOKEY]} {
|
|
162 set cmd [format "c_onkey %s 0" [subst [lindex $KEY_ID $nr]]]
|
|
163 } else {
|
|
164 set cmd [format "c_onkey %s 0 %s" [subst [lindex $KEY_ID $nr]] \
|
|
165 [subst [lindex $KEY_ID2 $nr]]]
|
|
166 }
|
|
167 bind $key <ButtonPress> $cmd
|
|
168 set cmd [format "c_onkey %s 1" [subst [lindex $KEY_ID $nr]]]
|
|
169 bind $key <ButtonRelease> $cmd
|
|
170 }
|
|
171 }
|