ctrl.py :  » GUI » wxPython » wxPython-src-2.8.11.0 » wxPython » wx » lib » masked » Python Open Source

Home
Python Open Source
1.3.1.2 Python
2.Ajax
3.Aspect Oriented
4.Blog
5.Build
6.Business Application
7.Chart Report
8.Content Management Systems
9.Cryptographic
10.Database
11.Development
12.Editor
13.Email
14.ERP
15.Game 2D 3D
16.GIS
17.GUI
18.IDE
19.Installer
20.IRC
21.Issue Tracker
22.Language Interface
23.Log
24.Math
25.Media Sound Audio
26.Mobile
27.Network
28.Parser
29.PDF
30.Project Management
31.RSS
32.Search
33.Security
34.Template Engines
35.Test
36.UML
37.USB Serial
38.Web Frameworks
39.Web Server
40.Web Services
41.Web Unit
42.Wiki
43.Windows
44.XML
Python Open Source » GUI » wxPython 
wxPython » wxPython src 2.8.11.0 » wxPython » wx » lib » masked » ctrl.py
#----------------------------------------------------------------------------
# Name:         wxPython.lib.masked.ctrl.py
# Author:       Will Sadkin
# Created:      09/24/2003
# Copyright:   (c) 2003 by Will Sadkin
# RCS-ID:      $Id: ctrl.py 29787 2004-10-11 22:13:18Z RD $
# 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
#

"""

*masked.Ctrl* is actually a factory function for several types of
masked edit controls:

    =================  =========================================================
    masked.TextCtrl     standard masked edit text box
    masked.ComboBox     adds combobox capabilities
    masked.IpAddrCtrl   adds logical input semantics for IP address entry
    masked.TimeCtrl     special subclass handling lots of time formats as values
    masked.NumCtrl      special subclass handling numeric values
    =================  =========================================================

masked.Ctrl 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.TEXT
    controlTypes.COMBO
    controlTypes.IPADDR
    controlTypes.TIME
    controlTypes.NUMBER

These constants are also available individually, ie, you can
use either of the following::

    from wxPython.wx.lib.masked import Ctrl, COMBO, TEXT, NUMBER, TIME
    from wxPython.wx.lib.masked import Ctrl, controlTypes

If not specified as a keyword argument, the default controlType is
controlTypes.TEXT.

Each of the above classes has its own unique arguments, but Masked.Ctrl
provides a single "unified" interface for masked controls.


"""

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))


www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.