1 option add *font {Helvetica 10 bold}
3 wm title . {Cygnus Voice Pager $Revision$}
6 # not needed - just bind to the <Destroy> event.
7 frame .mbar -relief raised -bd 2
8 pack .mbar -before .screen -side top -fill x
9 menubutton .mbar.file -text File -underline 0 -menu .mbar.file.menu
10 #menubutton .mbar.help -text Help -underline 0 -menu .mbar.help.menu
11 pack .mbar.file -side left
12 #pack .mbar.help -side right
14 .mbar.file.menu add command -label Quit -command "done"
17 set this [sid::component::this]
19 # driven if "UP" button pressed and released. config name is "up-pin"
22 # driven if "DN" button pressed and released. config name is "down-pin"
25 # driven if "REC" button pressed. config name is "rec-pin"
28 # driven if "PLAY" button pressed and released. config name is "play-pin"
31 # driven if "DEL" button pressed and released. config name is "del-pin"
34 # driven if "Quit" menu item is selected. config name is "done-pin"
37 # driven if "Stop" Button is pressed.
40 # driven whenever any button is pressed. config name is "ack-pin"
43 proc find_pin {name} {
52 if {$name == "up-pin" } { return $up_pin }
53 if {$name == "down-pin" } { return $down_pin }
54 if {$name == "rec-pin" } { return $record_pin }
55 if {$name == "play-pin" } { return $play_pin }
56 if {$name == "del-pin" } { return $delete_pin }
57 if {$name == "done-pin" } { return $done_pin }
58 if {$name == "stop-pin" } { return $stop_pin }
59 if {$name == "ack-pin" } { return $ack_pin }
60 return [lcd::find_pin $name]
63 proc connect_pin {name pin} {
64 if { $name == "up-pin" } {
69 if { $name == "down-pin" } {
74 if { $name == "rec-pin" } {
79 if { $name == "play-pin" } {
84 if { $name == "del-pin" } {
89 if { $name == "done-pin" } {
94 if { $name == "stop-pin" } {
99 if { $name == "ack-pin" } {
107 proc up_button dr_val {
110 sid::pin::driven_h4 $up_pin $dr_val
111 sid::pin::driven_h4 $ack_pin 0
112 sid::pin::driven_h4 $ack_pin 1
115 proc down_button dr_val {
118 sid::pin::driven_h4 $down_pin $dr_val
119 sid::pin::driven_h4 $ack_pin 0
120 sid::pin::driven_h4 $ack_pin 1
123 proc record_button dr_val {
126 sid::pin::driven_h4 $record_pin $dr_val
127 sid::pin::driven_h4 $ack_pin 0
128 sid::pin::driven_h4 $ack_pin 1
131 proc play_button dr_val {
134 sid::pin::driven_h4 $play_pin $dr_val
135 sid::pin::driven_h4 $ack_pin 0
136 sid::pin::driven_h4 $ack_pin 1
139 proc delete_button dr_val {
142 sid::pin::driven_h4 $delete_pin $dr_val
143 sid::pin::driven_h4 $ack_pin 0
144 sid::pin::driven_h4 $ack_pin 1
147 proc stop_button dr_val {
150 sid::pin::driven_h4 $stop_pin $dr_val
151 sid::pin::driven_h4 $ack_pin 0
152 sid::pin::driven_h4 $ack_pin 1
158 sid::pin::driven_h4 $done_pin 1
159 sid::pin::driven_h4 $ack_pin 0
162 proc attribute_names {} {
163 return [lcd::attribute_names]
166 proc set_attribute_value {attr value} {
167 return [lcd::set_attribute_value $attr $value]
170 proc attribute_value {attr} {
171 return [lcd::attribute_value $attr]
174 proc driven_h4 {pin value} {
175 lcd::driven_h4 $pin $value
183 frame .control -relief groove -borderwidth 4
185 pack .control -side bottom -fill x
186 button .control.up -bitmap @bp1.bit
187 button .control.down -bitmap @bp2.bit
188 button .control.rec -bitmap @record.bit -fg red
189 button .control.play -bitmap @play.bit
190 button .control.del -bitmap @bp3.bit
191 button .control.stop -bitmap @stop.bit
193 bind .control.up <ButtonPress> {up_button 1}
194 bind .control.up <ButtonRelease> {up_button 0}
195 bind .control.down <ButtonPress> {down_button 1}
196 bind .control.down <ButtonRelease> {down_button 0}
197 bind .control.rec <ButtonPress> {record_button 1}
198 bind .control.rec <ButtonRelease> {record_button 0}
199 bind .control.play <ButtonPress> {play_button 1}
200 bind .control.play <ButtonRelease> {play_button 0}
201 bind .control.del <ButtonPress> {delete_button 1}
202 bind .control.del <ButtonRelease> {delete_button 0}
203 bind .control.stop <ButtonPress> {stop_button 1}
204 bind .control.stop <ButtonRelease> {stop_button 0}
206 pack .control.up .control.down -side left -ipadx 3m -ipady 1m
207 pack .control.rec .control.play .control.stop .control.del -side right\
210 bind . <Destroy> {done}