Bert Wesarg <bert.wesarg@xxxxxxxxxxxxxx> writes: >Signed-off-by: Bert Wesarg <bert.wesarg@xxxxxxxxxxxxxx> >--- > 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 This one doesn't actually work when I try it it accepts alphanumeric input. However, replacing the validate body with string is integer $P fixes it to operate as intended so I'll replace it with this. Looks like it needs theming too but that can be a separate patch. -- Pat Thoyts http://www.patthoyts.tk/ PGP fingerprint 2C 6E 98 07 2C 59 C8 97 10 CE 11 E6 04 E0 B9 DD -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html