summaryrefslogtreecommitdiff
path: root/lib/line.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/line.tcl')
-rw-r--r--lib/line.tcl13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/line.tcl b/lib/line.tcl
index 4913bdd9a8..904722e677 100644
--- a/lib/line.tcl
+++ b/lib/line.tcl
@@ -15,7 +15,11 @@ constructor new {i_w i_text args} {
${NS}::frame $w
${NS}::label $w.l -text [mc "Goto Line:"]
- entry $w.ent -textvariable ${__this}::linenum -background lightgreen
+ entry $w.ent \
+ -textvariable ${__this}::linenum \
+ -background lightgreen \
+ -validate key \
+ -validatecommand [cb _validate %P]
${NS}::button $w.bn -text [mc Go] -command [cb _incrgoto]
pack $w.l -side left
@@ -26,7 +30,7 @@ constructor new {i_w i_text args} {
grid remove $w
bind $w.ent <Return> [cb _incrgoto]
- bind $w.ent <Escape> [list linebar::hide $this]
+ bind $w.ent <Escape> [cb hide]
bind $w <Destroy> [list delete_this $this]
return $this
@@ -54,6 +58,11 @@ method editor {} {
return $w.ent
}
+method _validate {P} {
+ # only accept numbers as input
+ string is integer $P
+}
+
method _incrgoto {} {
if {$linenum ne {}} {
$ctext see $linenum.0