This command will stops the execution of the current signal emission for the specified widget.Synoposisgnocl::signalStop widget-id signal-type
event button_press_event button_release_event scroll_event motion_notify_event delete_event destroy_event expose_event key_press_event key_release_event enter_notify_event leave_notify_event configure_event focus_in_event focus_out_event map_event unmap_event property_notify_event selection_clear_event selection_request_event selection_notify_event proximity_in_eventfocusIn
proximity_out_event visibility_notify_event client_event no_expose_event window_state_event
NOTE: The above list is experimental and subject to change. Whilst the event names are exactly those used internally by the Gtk+ libraries, these are not consistent with the established Gnocl naming conventions which, for example, would prefer 'buttonPress' rather than 'button_press_event'. DescriptionThe gnocl::signalStop command effectively forces a break in the execution of the current event loop. The value behind it use is to interrupt the completion of the processes that are consequent upon the normal execution of the signal. Such an example would be the validation or filtering of keyboard entries. Example# test_EntryValidate.tcl
#!/bin/sh
# the next line restarts using tclsh \
exec tclsh "$0" "$@"
package require Gnocl
set ent1 [gnocl::entry ]
gnocl::window -child $ent1
$ent1 configure -onKeyPress {
if {[string is alpha %K] } {
puts %a
} else {
gnocl::signalStop %w %e
}
}
|
|