diff -r 000000000000 -r ae805ac0140d python-2.5.2/win32/tcl/tk8.4/spinbox.tcl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/python-2.5.2/win32/tcl/tk8.4/spinbox.tcl Fri Apr 03 17:19:34 2009 +0100 @@ -0,0 +1,568 @@ +# spinbox.tcl -- +# +# This file defines the default bindings for Tk spinbox widgets and provides +# procedures that help in implementing those bindings. The spinbox builds +# off the entry widget, so it can reuse Entry bindings and procedures. +# +# RCS: @(#) $Id: spinbox.tcl,v 1.6 2002/08/31 06:12:28 das Exp $ +# +# Copyright (c) 1992-1994 The Regents of the University of California. +# Copyright (c) 1994-1997 Sun Microsystems, Inc. +# Copyright (c) 1999-2000 Jeffrey Hobbs +# Copyright (c) 2000 Ajuba Solutions +# +# See the file "license.terms" for information on usage and redistribution +# of this file, and for a DISCLAIMER OF ALL WARRANTIES. +# + +#------------------------------------------------------------------------- +# Elements of tk::Priv that are used in this file: +# +# afterId - If non-null, it means that auto-scanning is underway +# and it gives the "after" id for the next auto-scan +# command to be executed. +# mouseMoved - Non-zero means the mouse has moved a significant +# amount since the button went down (so, for example, +# start dragging out a selection). +# pressX - X-coordinate at which the mouse button was pressed. +# selectMode - The style of selection currently underway: +# char, word, or line. +# x, y - Last known mouse coordinates for scanning +# and auto-scanning. +# data - Used for Cut and Copy +#------------------------------------------------------------------------- + +# Initialize namespace +namespace eval ::tk::spinbox {} + +#------------------------------------------------------------------------- +# The code below creates the default class bindings for entries. +#------------------------------------------------------------------------- +bind Spinbox <> { + if {![catch {::tk::spinbox::GetSelection %W} tk::Priv(data)]} { + clipboard clear -displayof %W + clipboard append -displayof %W $tk::Priv(data) + %W delete sel.first sel.last + unset tk::Priv(data) + } +} +bind Spinbox <> { + if {![catch {::tk::spinbox::GetSelection %W} tk::Priv(data)]} { + clipboard clear -displayof %W + clipboard append -displayof %W $tk::Priv(data) + unset tk::Priv(data) + } +} +bind Spinbox <> { + global tcl_platform + catch { + if {[tk windowingsystem] ne "x11"} { + catch { + %W delete sel.first sel.last + } + } + %W insert insert [::tk::GetSelection %W CLIPBOARD] + ::tk::EntrySeeInsert %W + } +} +bind Spinbox <> { + %W delete sel.first sel.last +} +bind Spinbox <> { + if {$tk_strictMotif || ![info exists tk::Priv(mouseMoved)] + || !$tk::Priv(mouseMoved)} { + ::tk::spinbox::Paste %W %x + } +} + +# Standard Motif bindings: + +bind Spinbox <1> { + ::tk::spinbox::ButtonDown %W %x %y +} +bind Spinbox { + ::tk::spinbox::Motion %W %x %y +} +bind Spinbox { + set tk::Priv(selectMode) word + ::tk::spinbox::MouseSelect %W %x sel.first +} +bind Spinbox { + set tk::Priv(selectMode) line + ::tk::spinbox::MouseSelect %W %x 0 +} +bind Spinbox { + set tk::Priv(selectMode) char + %W selection adjust @%x +} +bind Spinbox { + set tk::Priv(selectMode) word + ::tk::spinbox::MouseSelect %W %x +} +bind Spinbox { + set tk::Priv(selectMode) line + ::tk::spinbox::MouseSelect %W %x +} +bind Spinbox { + set tk::Priv(x) %x + ::tk::spinbox::AutoScan %W +} +bind Spinbox { + tk::CancelRepeat +} +bind Spinbox { + ::tk::spinbox::ButtonUp %W %x %y +} +bind Spinbox { + %W icursor @%x +} + +bind Spinbox { + %W invoke buttonup +} +bind Spinbox { + %W invoke buttondown +} + +bind Spinbox { + ::tk::EntrySetCursor %W [expr {[%W index insert] - 1}] +} +bind Spinbox { + ::tk::EntrySetCursor %W [expr {[%W index insert] + 1}] +} +bind Spinbox { + ::tk::EntryKeySelect %W [expr {[%W index insert] - 1}] + ::tk::EntrySeeInsert %W +} +bind Spinbox { + ::tk::EntryKeySelect %W [expr {[%W index insert] + 1}] + ::tk::EntrySeeInsert %W +} +bind Spinbox { + ::tk::EntrySetCursor %W [::tk::EntryPreviousWord %W insert] +} +bind Spinbox { + ::tk::EntrySetCursor %W [::tk::EntryNextWord %W insert] +} +bind Spinbox { + ::tk::EntryKeySelect %W [::tk::EntryPreviousWord %W insert] + ::tk::EntrySeeInsert %W +} +bind Spinbox { + ::tk::EntryKeySelect %W [::tk::EntryNextWord %W insert] + ::tk::EntrySeeInsert %W +} +bind Spinbox { + ::tk::EntrySetCursor %W 0 +} +bind Spinbox { + ::tk::EntryKeySelect %W 0 + ::tk::EntrySeeInsert %W +} +bind Spinbox { + ::tk::EntrySetCursor %W end +} +bind Spinbox { + ::tk::EntryKeySelect %W end + ::tk::EntrySeeInsert %W +} + +bind Spinbox { + if {[%W selection present]} { + %W delete sel.first sel.last + } else { + %W delete insert + } +} +bind Spinbox { + ::tk::EntryBackspace %W +} + +bind Spinbox { + %W selection from insert +} +bind Spinbox