Using the demo program for MaskedNumCtrl, it's almost impossible to enter the fractional part of any floating number (10.2 for ex.). Once you type in the integer part followed by the decimal character, the fractional part is selected but any num key that you type in is rejected. The only way I found to enter a fractional part is to position the cursor to the end of it and then to backspace to its beginning. Same demo works under Windows. I looked at the code in maskededit.py and activated some dbg functions in the _OnChar event. The difference between the Windows port and the Linux/GTK port is as follows:
Under Windows
MaskedEditMixin::_OnChar
keycode = 49
current pos = 14
current selection = (14, 16)
pos, sel_start, sel_to: 14 14 16
key allowed by mask
Under Linux/GTK
MaskedEditMixin::_OnChar
keycode = 49
current pos = 16
current selection = (14, 16)
pos, sel_start, sel_to: 16 14 16
char not allowed
It seems that the insertion point (current pos) is reported to be at the end of the selected fractional part (current selection) in Linux/GTK (instead of the beginning as in Windows) and thus the input character is rejected.
···
--
jean-marie pacquet