Hi, On Sun, Oct 16, 2011 at 00:17, Pat Thoyts <patthoyts@xxxxxxxxxxxxxxxxxxxxx> wrote: > 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. Sorry, the correct regexp would have been {^\d*$}. But your [string is integer] should completely suffice. Thanks. > Looks like it needs theming too but that can be a separate patch. Theming is not my field, sorry. Bert > -- > 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