now locaed in their own sub-package, wx.lib.masked. Demos updated. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26874 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			110 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #----------------------------------------------------------------------------
 | |
| # Name:         wxPython.lib.masked.ctrl.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
 | |
| #
 | |
| 
 | |
| """<html><body>
 | |
| <P>
 | |
| <B>masked.Ctrl</B> is actually a factory function for several types of
 | |
| masked edit controls:
 | |
| <P>
 | |
| <UL>
 | |
|     <LI><b>masked.TextCtrl</b>   - standard masked edit text box</LI>
 | |
|     <LI><b>masked.ComboBox</b>   - adds combobox capabilities</LI>
 | |
|     <LI><b>masked.IpAddrCtrl</b> - adds logical input semantics for IP address entry</LI>
 | |
|     <LI><b>masked.TimeCtrl</b>   - special subclass handling lots of time formats as values</LI>
 | |
|     <LI><b>masked.NumCtrl</b>    - special subclass handling numeric values</LI>
 | |
| </UL>
 | |
| <P>
 | |
| <B>masked.Ctrl</B> works by looking for a special <b><i>controlType</i></b>
 | |
| parameter in the variable arguments of the control, to determine
 | |
| what kind of instance to return.
 | |
| controlType can be one of:
 | |
| <PRE><FONT SIZE=-1>
 | |
|     controlTypes.TEXT
 | |
|     controlTypes.COMBO
 | |
|     controlTypes.IPADDR
 | |
|     controlTypes.TIME
 | |
|     controlTypes.NUMBER
 | |
| </FONT></PRE>
 | |
| These constants are also available individually, ie, you can
 | |
| use either of the following:
 | |
| <PRE><FONT SIZE=-1>
 | |
|     from wxPython.wx.lib.masked import Ctrl, COMBO, TEXT, NUMBER, TIME
 | |
|     from wxPython.wx.lib.masked import Ctrl, controlTypes
 | |
| </FONT></PRE>
 | |
| If not specified as a keyword argument, the default controlType is
 | |
| controlTypes.TEXT.
 | |
| <P>
 | |
| Each of the above classes has its own unique arguments, but MaskedCtrl
 | |
| provides a single "unified" interface for masked controls.  Masked.TextCtrl,
 | |
| masked.ComboBox and masked.IpAddrCtrl are all documented below; the others have
 | |
| their own demo pages and interface descriptions.
 | |
| </body></html>
 | |
| """
 | |
| 
 | |
| from wx.lib.masked   import TextCtrl, ComboBox, IpAddrCtrl
 | |
| from wx.lib.masked   import NumCtrl
 | |
| from wx.lib.masked   import TimeCtrl
 | |
| 
 | |
| 
 | |
| # "type" enumeration for class instance factory function
 | |
| TEXT        = 0
 | |
| COMBO       = 1
 | |
| IPADDR      = 2
 | |
| TIME        = 3
 | |
| NUMBER      = 4
 | |
| 
 | |
| # for ease of import
 | |
| class controlTypes:
 | |
|     TEXT        = TEXT
 | |
|     COMBO       = COMBO
 | |
|     IPADDR      = IPADDR
 | |
|     TIME        = TIME
 | |
|     NUMBER      = NUMBER
 | |
| 
 | |
| 
 | |
| def Ctrl( *args, **kwargs):
 | |
|     """
 | |
|     Actually a factory function providing a unifying
 | |
|     interface for generating masked controls.
 | |
|     """
 | |
|     if not kwargs.has_key('controlType'):
 | |
|         controlType = TEXT
 | |
|     else:
 | |
|         controlType = kwargs['controlType']
 | |
|         del kwargs['controlType']
 | |
| 
 | |
|     if controlType == TEXT:
 | |
|         return TextCtrl(*args, **kwargs)
 | |
| 
 | |
|     elif controlType == COMBO:
 | |
|         return ComboBox(*args, **kwargs)
 | |
| 
 | |
|     elif controlType == IPADDR:
 | |
|         return IpAddrCtrl(*args, **kwargs)
 | |
| 
 | |
|     elif controlType == TIME:
 | |
|         return TimeCtrl(*args, **kwargs)
 | |
| 
 | |
|     elif controlType == NUMBER:
 | |
|         return NumCtrl(*args, **kwargs)
 | |
| 
 | |
|     else:
 | |
|         raise AttributeError(
 | |
|             "invalid controlType specified: %s" % repr(controlType))
 | |
| 
 | |
| 
 |