Skip to content

Commit c2e5d3b

Browse files
committed
Allow Masked Edit formatting codes Spec
1 parent 992f941 commit c2e5d3b

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

gui/controls/textbox.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,13 @@ class TextBox(Control):
2929

3030
def __init__(self, *args, **kwargs):
3131
# if mask is given, create a masked control
32+
# (formatting codes only supported in masked TextCtrl)
3233
if 'mask' in kwargs and kwargs['mask']:
33-
if all([(ch in ("#", ".")) for ch in kwargs['mask']]):
34+
fmt = kwargs.get("format")
35+
mask = kwargs['mask']
36+
if all([(ch in ("#", ".")) for ch in mask]) and not fmt:
3437
self._wx_class = wx_masked_NumCtrl
35-
elif kwargs['mask'] == 'date':
38+
elif kwargs['mask'] == 'date' and not fmt:
3639
self._wx_class = wx_DatePickerCtrl
3740
else:
3841
self._wx_class = wx_masked_TextCtrl
@@ -240,6 +243,8 @@ def _set_value(self, new_value):
240243

241244
mask = InitSpec(_get_mask, _set_mask, type='string', default=None,
242245
doc="template to control allowed user input")
246+
format = InitSpec(None, None, type='string', default=None,
247+
_name="_formatcodes", doc="internal format code")
243248

244249

245250
class wx_masked_TextCtrl(masked.TextCtrl):
@@ -295,6 +300,8 @@ def __init__(self, *args, **kwargs):
295300
#groupDigits = False,
296301
#min = None,
297302
#max = None,
303+
if "formatcodes" in kwargs:
304+
del kwargs["formatcodes"]
298305
masked.NumCtrl.__init__(self, *args, **kwargs)
299306

300307
def GetMask(self):

0 commit comments

Comments
 (0)