diff options
Diffstat (limited to 'library/text.tcl')
-rw-r--r-- | library/text.tcl | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/library/text.tcl b/library/text.tcl index 051f9b8..22d96d7 100644 --- a/library/text.tcl +++ b/library/text.tcl @@ -3,7 +3,7 @@ # This file defines the default bindings for Tk text widgets and provides # procedures that help in implementing the bindings. # -# RCS: @(#) $Id: text.tcl,v 1.39 2005/07/26 12:38:19 dkf Exp $ +# RCS: @(#) $Id: text.tcl,v 1.40 2005/09/10 14:53:20 das Exp $ # # Copyright (c) 1992-1994 The Regents of the University of California. # Copyright (c) 1994-1997 Sun Microsystems, Inc. @@ -452,26 +452,33 @@ set ::tk::Priv(prevPos) {} # on other platforms. We must be careful not to round -ve values of %D # down to zero. -# We must make sure that positive and negative movements are rounded -# equally to integers, avoiding the problem that -# (int)1/3 = 0, -# but -# (int)-1/3 = -1 -# The following code ensure equal +/- behaviour. -bind Text <MouseWheel> { - if {%D >= 0} { - %W yview scroll [expr {-%D/3}] pixels - } else { - %W yview scroll [expr {(2-%D)/3}] pixels - } -} if {[tk windowingsystem] eq "aqua"} { -bind Text <Option-MouseWheel> { - %W yview scroll [expr {-150 * %D}] pixels -} -bind Text <MouseWheel> { - %W yview scroll [expr {-15 * %D}] pixels -} + bind Text <MouseWheel> { + %W yview scroll [expr {-15 * (%D)}] pixels + } + bind Text <Option-MouseWheel> { + %W yview scroll [expr {-150 * (%D)}] pixels + } + bind Text <Shift-MouseWheel> { + %W xview scroll [expr {-15 * (%D)}] pixels + } + bind Text <Shift-Option-MouseWheel> { + %W xview scroll [expr {-150 * (%D)}] pixels + } +} else { + # We must make sure that positive and negative movements are rounded + # equally to integers, avoiding the problem that + # (int)1/3 = 0, + # but + # (int)-1/3 = -1 + # The following code ensure equal +/- behaviour. + bind Text <MouseWheel> { + if {%D >= 0} { + %W yview scroll [expr {-%D/3}] pixels + } else { + %W yview scroll [expr {(2-%D)/3}] pixels + } + } } if {"x11" eq [tk windowingsystem]} { |