|
Verifying Entry inputs: msg#00134gnome.gtk+.python
Hi all, I'd like to have Entry widgets that allow only numbers (float) as inputs, and only in a certain range. This verification should be done as soon as the user is done with editing. I tried the focus-out-event, but pygtk didn't like me bringing up a modal (error) dialog in the callback. Second try was with an insert-text handler which just ignored invalid inputs. It looks like this: def myInsertText(self, widget, new_text, new_text_length, position): oldtext = widget.get_text() # Avoid recursion widget.handler_block(widget.mySigHandID) # Insert text and check for validity pos = widget.get_position() widget.insert_text(new_text, pos) newtext = widget.get_text() try: value = float(newtext) except ValueError: # Restore previous contents widget.delete_text(pos, pos + new_text_length) # XXX Something like a beep might be nice here else: widget.set_position(pos + new_text_length) widget.handler_unblock(widget.mySigHandID) # Keep normal handler from running widget.stop_emission("insert-text") In this version I simply can't get the cursor to appear *after* the inserted text, the widget.set_position() call seems to do just nothing. Is there a fundamental flaw in my routine or my whole concept? I'd be really glad to get some recommendations. Thanks, Hans-J. Widmaier ______________________________________________________________ Verschicken Sie romantische, coole und witzige Bilder per SMS! Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193 _______________________________________________ pygtk mailing list pygtk@xxxxxxxxxx http://www.daa.com.au/mailman/listinfo/pygtk Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/ |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Non blocking dialog window: 00134, Nicolas Évrard |
|---|---|
| Next by Date: | licensing question: 00134, Sorin C. |
| Previous by Thread: | Non blocking dialog windowi: 00134, Nicolas Évrard |
| Next by Thread: | Re: Verifying Entry inputs: 00134, Baiju M |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |