Signed-off-by: Bert Wesarg <redacted>
---
lib/line.tcl | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/lib/line.tcl b/lib/line.tcl
index 692485a..70785e1 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@@ -55,6 +59,14 @@ method editor {} {
return $w.ent
}
+method _validate {P} {
+ # only accept numbers as input
+ if {[regexp {\d*} $P]} {
+ return 1
+ }
+ return 0
+}
+
method _incrgoto {} {
if {$linenum ne {}} {
$ctext see $linenum.0--
1.7.6.789.gb4599