summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
Diffstat (limited to 'library')
-rw-r--r--library/listbox.tcl27
-rw-r--r--library/scrlbar.tcl16
-rw-r--r--library/text.tcl47
3 files changed, 63 insertions, 27 deletions
diff --git a/library/listbox.tcl b/library/listbox.tcl
index 9143f22..27cb114 100644
--- a/library/listbox.tcl
+++ b/library/listbox.tcl
@@ -3,7 +3,7 @@
# This file defines the default bindings for Tk listbox widgets
# and provides procedures that help in implementing those bindings.
#
-# RCS: @(#) $Id: listbox.tcl,v 1.14 2005/07/25 09:06:00 dkf Exp $
+# RCS: @(#) $Id: listbox.tcl,v 1.15 2005/09/10 14:53:20 das Exp $
#
# Copyright (c) 1994 The Regents of the University of California.
# Copyright (c) 1994-1995 Sun Microsystems, Inc.
@@ -175,12 +175,27 @@ bind Listbox <B2-Motion> {
%W scan dragto %x %y
}
-# The MouseWheel will typically only fire on Windows. However,
-# someone could use the "event generate" command to produce one
-# on other platforms.
+# The MouseWheel will typically only fire on Windows and Mac OS X.
+# However, someone could use the "event generate" command to produce
+# one on other platforms.
-bind Listbox <MouseWheel> {
- %W yview scroll [expr {- (%D / 120) * 4}] units
+if {[tk windowingsystem] eq "aqua"} {
+ bind Listbox <MouseWheel> {
+ %W yview scroll [expr {- (%D)}] units
+ }
+ bind Listbox <Option-MouseWheel> {
+ %W yview scroll [expr {-10 * (%D)}] units
+ }
+ bind Listbox <Shift-MouseWheel> {
+ %W xview scroll [expr {- (%D)}] units
+ }
+ bind Listbox <Shift-Option-MouseWheel> {
+ %W xview scroll [expr {-10 * (%D)}] units
+ }
+} else {
+ bind Listbox <MouseWheel> {
+ %W yview scroll [expr {- (%D / 120) * 4}] units
+ }
}
if {"x11" eq [tk windowingsystem]} {
diff --git a/library/scrlbar.tcl b/library/scrlbar.tcl
index 6be187b..57275f2 100644
--- a/library/scrlbar.tcl
+++ b/library/scrlbar.tcl
@@ -3,7 +3,7 @@
# This file defines the default bindings for Tk scrollbar widgets.
# It also provides procedures that help in implementing the bindings.
#
-# RCS: @(#) $Id: scrlbar.tcl,v 1.11 2005/07/25 09:06:00 dkf Exp $
+# RCS: @(#) $Id: scrlbar.tcl,v 1.12 2005/09/10 14:53:20 das Exp $
#
# Copyright (c) 1994 The Regents of the University of California.
# Copyright (c) 1994-1996 Sun Microsystems, Inc.
@@ -130,6 +130,20 @@ bind Scrollbar <End> {
tk::ScrollToPos %W 1
}
}
+if {[tk windowingsystem] eq "aqua"} {
+ bind Scrollbar <MouseWheel> {
+ tk::ScrollByUnits %W v [expr {- (%D)}]
+ }
+ bind Scrollbar <Option-MouseWheel> {
+ tk::ScrollByUnits %W v [expr {-10 * (%D)}]
+ }
+ bind Scrollbar <Shift-MouseWheel> {
+ tk::ScrollByUnits %W h [expr {- (%D)}]
+ }
+ bind Scrollbar <Shift-Option-MouseWheel> {
+ tk::ScrollByUnits %W h [expr {-10 * (%D)}]
+ }
+}
# tk::ScrollButtonDown --
# This procedure is invoked when a button is pressed in a scrollbar.
# It changes the way the scrollbar is displayed and takes actions
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]} {