|
|
1.1 root 1: # button.tcl --
2: #
3: # This file contains Tcl procedures used to manage Tk buttons.
4: #
5: # $Header: /user6/ouster/wish/scripts/RCS/button.tcl,v 1.7 92/07/28 15:41:13 ouster Exp $ SPRITE (Berkeley)
6: #
7: # Copyright 1992 Regents of the University of California
8: # Permission to use, copy, modify, and distribute this
9: # software and its documentation for any purpose and without
10: # fee is hereby granted, provided that this copyright
11: # notice appears in all copies. The University of California
12: # makes no representations about the suitability of this
13: # software for any purpose. It is provided "as is" without
14: # express or implied warranty.
15: #
16:
17: # The procedure below is invoked when the mouse pointer enters a
18: # button widget. It records the button we're in and changes the
19: # state of the button to active unless the button is disabled.
20:
21: proc tk_butEnter w {
22: global tk_priv tk_strictMotif
23: if {[lindex [$w config -state] 4] != "disabled"} {
24: if {!$tk_strictMotif} {
25: $w config -state active
26: }
27: set tk_priv(window) $w
28: }
29: }
30:
31: # The procedure below is invoked when the mouse pointer leaves a
32: # button widget. It changes the state of the button back to
33: # inactive.
34:
35: proc tk_butLeave w {
36: global tk_priv tk_strictMotif
37: if {[lindex [$w config -state] 4] != "disabled"} {
38: if {!$tk_strictMotif} {
39: $w config -state normal
40: }
41: }
42: set tk_priv(window) ""
43: }
44:
45: # The procedure below is invoked when the mouse button is pressed in
46: # a button/radiobutton/checkbutton widget. It records information
47: # (a) to indicate that the mouse is in the button, and
48: # (b) to save the button's relief so it can be restored later.
49:
50: proc tk_butDown w {
51: global tk_priv
52: set tk_priv(relief) [lindex [$w config -relief] 4]
53: if {[lindex [$w config -state] 4] != "disabled"} {
54: $w config -relief sunken
55: }
56: }
57:
58: # The procedure below is invoked when the mouse button is released
59: # for a button/radiobutton/checkbutton widget. It restores the
60: # button's relief and invokes the command as long as the mouse
61: # hasn't left the button.
62:
63: proc tk_butUp w {
64: global tk_priv
65: $w config -relief $tk_priv(relief)
66: if {($w == $tk_priv(window))
67: && ([lindex [$w config -state] 4] != "disabled")} {
68: uplevel #0 [list $w invoke]
69: }
70: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.