There's a discrepancy between the text widget
behaviour documented in
the man pages and the Tk 8.4.1 implementation. The
man page
description of the bindings has :
.IP [2]
Double-clicking with mouse button 1 selects the word
under the mouse
and positions the insertion cursor at the beginning of
the word.
Dragging after a double click will stroke out a selection
consisting
of whole words.
.IP [3]
Triple-clicking with mouse button 1 selects the line
under the mouse
and positions the insertion cursor at the beginning of
the line.
Dragging after a triple click will stroke out a selection
consisting
of whole lines.
However, text.tcl has :
bind Text <Double-1> {
set tk::Priv(selectMode) word
tk::TextSelectTo %W %x %y
catch {%W mark set insert sel.last}
}
bind Text <Triple-1> {
set tk::Priv(selectMode) line
tk::TextSelectTo %W %x %y
catch {%W mark set insert sel.last}
}
For reasons we are all only too familiar with the
observed behaviour
conforms with the code rather than the
documentation, and so the
insert cursor is positioned at the end of the word or at
the
beginning of the next line for double and triple clicks
respectively.
Is anyone aware of any reasons why this cannot simply
be rectified
with:
bind Text <Double-1> {
set tk::Priv(selectMode) word
tk::TextSelectTo %W %x %y
catch {%W mark set insert sel.first}
}
bind Text <Triple-1> {
set tk::Priv(selectMode) line
tk::TextSelectTo %W %x %y
catch {%W mark set insert sel.first}
}
Regards,
Brian Passingham, Passingham Software Ltd
Logged In: YES
user_id=72656
Mo was the one to actually set the behavior last on 2002-02-
14. Note that this bug should have been created against Tk,
not Tcl.
Logged In: YES
user_id=32170
Fixed.