]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/wx/lib/masked/ctrl.py
   1 #---------------------------------------------------------------------------- 
   2 # Name:         wxPython.lib.masked.ctrl.py 
   5 # Copyright:   (c) 2003 by Will Sadkin 
   7 # License:     wxWindows license 
   8 #---------------------------------------------------------------------------- 
   9 # 12/09/2003 - Jeff Grimmett (grimmtooth@softhome.net) 
  11 # o Updated for wx namespace (minor) 
  13 # 12/20/2003 - Jeff Grimmett (grimmtooth@softhome.net) 
  20 <B>masked.Ctrl</B> is actually a factory function for several types of 
  24     <LI><b>masked.TextCtrl</b>   - standard masked edit text box</LI> 
  25     <LI><b>masked.ComboBox</b>   - adds combobox capabilities</LI> 
  26     <LI><b>masked.IpAddrCtrl</b> - adds logical input semantics for IP address entry</LI> 
  27     <LI><b>masked.TimeCtrl</b>   - special subclass handling lots of time formats as values</LI> 
  28     <LI><b>masked.NumCtrl</b>    - special subclass handling numeric values</LI> 
  31 <B>masked.Ctrl</B> works by looking for a special <b><i>controlType</i></b> 
  32 parameter in the variable arguments of the control, to determine 
  33 what kind of instance to return. 
  34 controlType can be one of: 
  42 These constants are also available individually, ie, you can 
  43 use either of the following: 
  45     from wxPython.wx.lib.masked import Ctrl, COMBO, TEXT, NUMBER, TIME 
  46     from wxPython.wx.lib.masked import Ctrl, controlTypes 
  48 If not specified as a keyword argument, the default controlType is 
  51 Each of the above classes has its own unique arguments, but MaskedCtrl 
  52 provides a single "unified" interface for masked controls.  Masked.TextCtrl, 
  53 masked.ComboBox and masked.IpAddrCtrl are all documented below; the others have 
  54 their own demo pages and interface descriptions. 
  58 from wx
.lib
.masked   
import TextCtrl
, ComboBox
, IpAddrCtrl
 
  59 from wx
.lib
.masked   
import NumCtrl
 
  60 from wx
.lib
.masked   
import TimeCtrl
 
  63 # "type" enumeration for class instance factory function 
  79 def Ctrl( *args
, **kwargs
): 
  81     Actually a factory function providing a unifying 
  82     interface for generating masked controls. 
  84     if not kwargs
.has_key('controlType'): 
  87         controlType 
= kwargs
['controlType'] 
  88         del kwargs
['controlType'] 
  90     if controlType 
== TEXT
: 
  91         return TextCtrl(*args
, **kwargs
) 
  93     elif controlType 
== COMBO
: 
  94         return ComboBox(*args
, **kwargs
) 
  96     elif controlType 
== IPADDR
: 
  97         return IpAddrCtrl(*args
, **kwargs
) 
  99     elif controlType 
== TIME
: 
 100         return TimeCtrl(*args
, **kwargs
) 
 102     elif controlType 
== NUMBER
: 
 103         return NumCtrl(*args
, **kwargs
) 
 106         raise AttributeError( 
 107             "invalid controlType specified: %s" % repr(controlType
))