Annotation of micropolis/src/tk/library/button.tcl, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.