#---------------------------------------------------------------------------- # Name: wxPython.lib.maskedctrl.py # Author: Will Sadkin # Created: 09/24/2003 # Copyright: (c) 2003 by Will Sadkin # RCS-ID: $Id$ # License: wxWindows license #---------------------------------------------------------------------------- # 12/09/2003 - Jeff Grimmett (grimmtooth@softhome.net) # # o Updated for wx namespace (minor) # # 12/20/2003 - Jeff Grimmett (grimmtooth@softhome.net) # # o Removed wx prefix # """
MaskedCtrl is actually a factory function for several types of masked edit controls:
MaskedCtrl works by looking for a special controlType parameter in the variable arguments of the control, to determine what kind of instance to return. controlType can be one of:
controlTypes.MASKEDTEXT controlTypes.MASKEDCOMBO controlTypes.IPADDR controlTypes.TIME controlTypes.NUMBERThese constants are also available individually, ie, you can use either of the following:
from wxPython.wx.lib.maskedctrl import MaskedCtrl, MASKEDCOMBO, MASKEDTEXT, NUMBER from wxPython.wx.lib.maskedctrl import MaskedCtrl, controlTypesIf not specified as a keyword argument, the default controlType is controlTypes.MASKEDTEXT.
Each of the above classes has its own unique arguments, but MaskedCtrl provides a single "unified" interface for masked controls. MaskedTextCtrl, MaskedComboBox and IpAddrCtrl are all documented below; the others have their own demo pages and interface descriptions. """ from wx.lib.maskededit import MaskedTextCtrl, MaskedComboBox, IpAddrCtrl from wx.lib.maskednumctrl import MaskedNumCtrl from wx.lib.timectrl import TimeCtrl # "type" enumeration for class instance factory function MASKEDTEXT = 0 MASKEDCOMBO = 1 IPADDR = 2 TIME = 3 NUMBER = 4 # for ease of import class controlTypes: MASKEDTEXT = MASKEDTEXT MASKEDCOMBO = MASKEDCOMBO IPADDR = IPADDR TIME = TIME NUMBER = NUMBER def MaskedCtrl( *args, **kwargs): """ Actually a factory function providing a unifying interface for generating masked controls. """ if not kwargs.has_key('controlType'): controlType = MASKEDTEXT else: controlType = kwargs['controlType'] del kwargs['controlType'] if controlType == MASKEDTEXT: return MaskedTextCtrl(*args, **kwargs) elif controlType == MASKEDCOMBO: return MaskedComboBox(*args, **kwargs) elif controlType == IPADDR: return IpAddrCtrl(*args, **kwargs) elif controlType == TIME: return TimeCtrl(*args, **kwargs) elif controlType == NUMBER: return MaskedNumCtrl(*args, **kwargs) else: raise AttributeError( "invalid controlType specified: %s" % repr(controlType))