summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--library/listbox.tcl11
-rw-r--r--library/scrlbar.tcl17
-rw-r--r--library/text.tcl11
-rw-r--r--macosx/Wish.pbproj/project.pbxproj2
-rw-r--r--macosx/tkAboutDlg.r4
-rw-r--r--macosx/tkMacOSXMouseEvent.c1
7 files changed, 53 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index b8ffd76..fc96a7a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2004-02-17 Daniel Steffen <das@users.sourceforge.net>
+
+ * macosx/tkMacOSXMouseEvent.c: fixed modifiers for MouseWheel events.
+
+ * library/listbox.tcl:
+ * library/text.tcl:
+ * library/scrlbar.tcl: on Mac OS, add bindings for MouseWheel with
+ modifiers, according to platform convention:
+ Option increases scrolling speed 10 fold; Space scrolls horizontally.
+
+ * macosx/Wish.pbproj/project.pbxproj:
+ * macosx/tkAboutDlg.r: changed year in copyright strings to 2004.
+
2004-02-16 Jim Ingham <jingham@apple.com>
Fix for MouseWheel Events (from Daniel Steffen):
diff --git a/library/listbox.tcl b/library/listbox.tcl
index dcc3cde..b2abe11 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.13.2.1 2004/02/16 23:09:25 wolfsuit Exp $
+# RCS: @(#) $Id: listbox.tcl,v 1.13.2.2 2004/02/17 07:17:17 das Exp $
#
# Copyright (c) 1994 The Regents of the University of California.
# Copyright (c) 1994-1995 Sun Microsystems, Inc.
@@ -184,6 +184,15 @@ if {[string equal [tk windowingsystem] "classic"]
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
diff --git a/library/scrlbar.tcl b/library/scrlbar.tcl
index b31686d..49cd1b6 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.10 2002/08/31 06:12:28 das Exp $
+# RCS: @(#) $Id: scrlbar.tcl,v 1.10.2.1 2004/02/17 07:17:17 das Exp $
#
# Copyright (c) 1994 The Regents of the University of California.
# Copyright (c) 1994-1996 Sun Microsystems, Inc.
@@ -130,6 +130,21 @@ bind Scrollbar <End> {
tk::ScrollToPos %W 1
}
}
+if {[string equal [tk windowingsystem] "classic"]
+ || [string equal [tk windowingsystem] "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 85d83f1..8509892 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.24.2.1 2004/02/16 23:09:25 wolfsuit Exp $
+# RCS: @(#) $Id: text.tcl,v 1.24.2.2 2004/02/17 07:17:17 das Exp $
#
# Copyright (c) 1992-1994 The Regents of the University of California.
# Copyright (c) 1994-1997 Sun Microsystems, Inc.
@@ -463,6 +463,15 @@ if {[string equal [tk windowingsystem] "classic"]
bind Text <MouseWheel> {
%W yview scroll [expr {- (%D)}] units
}
+ bind Text <Option-MouseWheel> {
+ %W yview scroll [expr {-10 * (%D)}] units
+ }
+ bind Text <Shift-MouseWheel> {
+ %W xview scroll [expr {- (%D)}] units
+ }
+ bind Text <Shift-Option-MouseWheel> {
+ %W xview scroll [expr {-10 * (%D)}] units
+ }
} else {
bind Text <MouseWheel> {
%W yview scroll [expr {- (%D / 120) * 4}] units
diff --git a/macosx/Wish.pbproj/project.pbxproj b/macosx/Wish.pbproj/project.pbxproj
index 0a64e04..0d7992c 100644
--- a/macosx/Wish.pbproj/project.pbxproj
+++ b/macosx/Wish.pbproj/project.pbxproj
@@ -1552,7 +1552,7 @@
<key>CFBundleExecutable</key>
<string>Tk</string>
<key>CFBundleGetInfoString</key>
- <string>Tk Library 8.4, Copyright © 2003 Tcl Core Team.
+ <string>Tk Library 8.4, Copyright © 2004 Tcl Core Team.
MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright © 2001-2002, Apple Computer, Inc.</string>
<key>CFBundleIconFile</key>
<string></string>
diff --git a/macosx/tkAboutDlg.r b/macosx/tkAboutDlg.r
index aebdac7..29860ec 100644
--- a/macosx/tkAboutDlg.r
+++ b/macosx/tkAboutDlg.r
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkAboutDlg.r,v 1.3.2.1 2003/05/13 02:42:57 das Exp $
+ * RCS: @(#) $Id: tkAboutDlg.r,v 1.3.2.2 2004/02/17 07:17:18 das Exp $
*/
/*
@@ -48,7 +48,7 @@ resource 'DITL' (128, "About Box", purgeable) {
{200, 147, 220, 217}, Button {enabled, "Ok"},
{ 20, 108, 180, 344}, StaticText {disabled,
"Tcl " TCL_PATCH_LEVEL " & Tk " TK_PATCH_LEVEL "\n\n"
- "© 2003 Tcl Core Team." "\n\n"
+ "© 2004 Tcl Core Team." "\n\n"
"Jim Ingham & Ian Reid" "\n"
"© 2001-2002 Apple Computer, Inc." "\n\n"
"Jim Ingham & Ray Johnson" "\n"
diff --git a/macosx/tkMacOSXMouseEvent.c b/macosx/tkMacOSXMouseEvent.c
index 150519c..cab8a93 100644
--- a/macosx/tkMacOSXMouseEvent.c
+++ b/macosx/tkMacOSXMouseEvent.c
@@ -608,6 +608,7 @@ GenerateMouseWheelEvent(MouseEventData * medPtr)
winPtr = ( TkWindow *)tkwin;
xEvent.type = MouseWheelEvent;
xEvent.xkey.keycode = medPtr->delta;
+ xEvent.xbutton.state = TkMacOSXButtonKeyState();
xEvent.xany.serial = LastKnownRequestProcessed(winPtr->display);
xEvent.xany.send_event = false;
xEvent.xany.display = winPtr->display;