summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authordas <das>2005-09-10 14:53:20 (GMT)
committerdas <das>2005-09-10 14:53:20 (GMT)
commit772a802bd1a149cefda0f2fb72e01c827e2eec09 (patch)
treeeb43350948b33779841a8e19cbb6b55c5f48f690 /library
parent4b772de94c71a044fa1a55d3e325b99807c0ba6a (diff)
downloadtk-772a802bd1a149cefda0f2fb72e01c827e2eec09.zip
tk-772a802bd1a149cefda0f2fb72e01c827e2eec09.tar.gz
tk-772a802bd1a149cefda0f2fb72e01c827e2eec09.tar.bz2
* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): check if
process is in front on MouseDown, otherwise request process activation from BringWindowForward() via new isFrontProcess param. * macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents): register our event handler on the dispatcher target for all carbon events of interest to TkAqua; this replaces event processing directly from the event queue and thus allows to capture events that are syntesized by Carbon and sent directly to the dispatcher and not to the event queue. * macosx/tkMacOSXEvent.c: remove TkMacOSXCountAndProcessMacEvents(), rename ReceiveAndProcessEvent() to TkMacOSXReceiveAndProcessEvent(). (TkMacOSXReceiveAndProcessEvent): remove tk event processing before sending events to the dispatcher, all events of interest are now processed in our dispatcher target event handler. * macosx/tkMacOSXNotify.c (CarbonEventsCheckProc): dispatch events directly via TkMacOSXReceiveAndProcessEvent(), but dispatch no more than four carbon events at one time to avoid starving other event sources. * macosx/tkMacOSXEvent.c: formatting cleanup, move XSync() to XStubs, * macosx/tkMacOSXEvent.h: removed obsolete kEventClassWish handling. * macosx/tkMacOSXXStubs.c * macosx/tkMacOSXEvent.h: declare macosx internal procs as MODULE_SCOPE. * macosx/tkMacOSXEvent.c: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXButton.c: conditionalize all debug message printing to * macosx/tkMacOSXCursor.c: stderr via TK_MAC_DEBUG define. * macosx/tkMacOSXDebug.c: * macosx/tkMacOSXDebug.h: * macosx/tkMacOSXDialog.c: * macosx/tkMacOSXEvent.c: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMenubutton.c: * macosx/tkMacOSXScale.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: * unix/configure.in: define TK_MAC_DEBUG on aqua when symbols enabled. * unix/configure: autoconf-2.59 * unix/tkConfig.h.in: autoheader-2.59 * library/listbox.tcl: synced aqua MouseWheel bindings with * library/scrlbar.tcl: core-8-4-branch. * library/text.tcl: * xlib/xcolors.c: fixed warning
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]} {