.. wxPython Phoenix documentation This file was generated by Phoenix's sphinx generator and associated tools, do not edit by hand. Copyright: (c) 2011-2018 by Total Control Software License: wxWindows License .. include:: headings.inc .. currentmodule:: wx.lib.masked.textctrl .. highlight:: python .. _wx.lib.masked.textctrl.BaseMaskedTextCtrl: ========================================================================================================================================== |phoenix_title| **wx.lib.masked.textctrl.BaseMaskedTextCtrl** ========================================================================================================================================== This is the primary derivation from MaskedEditMixin. It provides a general masked text control that can be configured with different masks. However, this is done with an extra level of inheritance, so that "general" classes like masked.TextCtrl can have all possible attributes, while derived classes, like masked.TimeCtrl and masked.NumCtrl can prevent exposure of those optional attributes of their base class that do not make sense for their derivation. Therefore, we define:: BaseMaskedTextCtrl(TextCtrl, MaskedEditMixin) and:: masked.TextCtrl(BaseMaskedTextCtrl, MaskedEditAccessorsMixin). This allows us to then derive:: masked.NumCtrl( BaseMaskedTextCtrl ) and not have to expose all the same accessor functions for the derived control when they don't all make sense for it. In practice, BaseMaskedTextCtrl should never be instantiated directly, but should only be used in derived classes. | |class_hierarchy| Class Hierarchy ================================= .. raw:: html <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;"> <img id="toggleBlock-trigger" src="_static/images/closed.png"/> Inheritance diagram for class <strong>BaseMaskedTextCtrl</strong>: </div> <div id="toggleBlock-summary" style="display:block;"></div> <div id="toggleBlock-content" style="display:none;"> <p class="graphviz"> <center><img src="_static/images/inheritance/wx.lib.masked.textctrl.BaseMaskedTextCtrl_inheritance.png" alt="Inheritance diagram of BaseMaskedTextCtrl" usemap="#dummy" class="inheritance"/></center> <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script> <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.masked.textctrl.BaseMaskedTextCtrl.html" title="This is the primary derivation from MaskedEditMixin. It provides" alt="" coords="134,469,445,499"/> <area shape="rect" id="node2" href="wx.TextCtrl.html" title="A text control allows text to be displayed and edited." alt="" coords="124,392,223,421"/> <area shape="rect" id="node3" href="wx.lib.masked.maskededit.MaskedEditMixin.html" title="This class allows us to abstract the masked edit functionality that could" alt="" coords="247,392,563,421"/> <area shape="rect" id="node4" href="wx.Control.html" title="This is the base class for a control or 'widget'." alt="" coords="64,315,157,344"/> <area shape="rect" id="node5" href="wx.TextEntry.html" title="Common base class for single line text entry fields." alt="" coords="181,315,291,344"/> <area shape="rect" id="node6" href="wx.Window.html" title="wx.Window is the base class for all windows and represents any visible object on screen." alt="" coords="62,237,159,267"/> <area shape="rect" id="node7" href="wx.WindowBase.html" title="wx.WindowBase" alt="" coords="45,160,176,189"/> <area shape="rect" id="node8" href="wx.EvtHandler.html" title="A class that can handle events from the windowing system." alt="" coords="51,83,170,112"/> <area shape="rect" id="node9" href="wx.Object.html" title="This is the root class of many of the wxWidgets classes." alt="" coords="5,5,93,35"/> <area shape="rect" id="node10" href="wx.Trackable.html" title="Add-on base class for a trackable object." alt="" coords="118,5,229,35"/> </map> </p> </div> | |sub_classes| Known Subclasses ============================== :class:`wx.lib.masked.ipaddrctrl.IpAddrCtrl`, :class:`wx.lib.masked.numctrl.NumCtrl`, :class:`wx.lib.masked.textctrl.PreMaskedTextCtrl`, :class:`wx.lib.masked.textctrl.TextCtrl`, :class:`wx.lib.masked.timectrl.TimeCtrl` | |super_classes| Known Superclasses ================================== :class:`wx.TextCtrl`, :class:`wx.lib.masked.maskededit.MaskedEditMixin` | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.lib.masked.textctrl.BaseMaskedTextCtrl.__init__` Default class constructor. :meth:`~wx.lib.masked.textctrl.BaseMaskedTextCtrl.ChangeValue` Provided to accomodate similar functionality added to base :meth:`~wx.lib.masked.textctrl.BaseMaskedTextCtrl.Clear` Blanks the current control value by replacing it with the default value. :meth:`~wx.lib.masked.textctrl.BaseMaskedTextCtrl.Cut` This function redefines the externally accessible :meth:`TextCtrl.Cut` :meth:`~wx.lib.masked.textctrl.BaseMaskedTextCtrl.IsEmpty` IsEmpty() -> bool :meth:`~wx.lib.masked.textctrl.BaseMaskedTextCtrl.IsModified` This function overrides the raw :meth:`TextCtrl.IsModified` method, :meth:`~wx.lib.masked.textctrl.BaseMaskedTextCtrl.ModifyValue` This factored function of common code does the bulk of the work for :meth:`~wx.lib.masked.textctrl.BaseMaskedTextCtrl.Paste` This function redefines the externally accessible :meth:`TextCtrl.Paste` :meth:`~wx.lib.masked.textctrl.BaseMaskedTextCtrl.Refresh` This function redefines the externally accessible :meth:`TextCtrl.Refresh` :meth:`~wx.lib.masked.textctrl.BaseMaskedTextCtrl.SetFont` Set the font, then recalculate control size, if appropriate. :meth:`~wx.lib.masked.textctrl.BaseMaskedTextCtrl.SetValue` This function redefines the externally accessible :meth:`TextCtrl.SetValue` :meth:`~wx.lib.masked.textctrl.BaseMaskedTextCtrl.Undo` This function defines the undo operation for the control. ================================================================================ ================================================================================ | |api| Class API =============== .. class:: BaseMaskedTextCtrl( wx.TextCtrl, MaskedEditMixin ) This is the primary derivation from MaskedEditMixin. It provides a general masked text control that can be configured with different masks. However, this is done with an extra level of inheritance, so that "general" classes like masked.TextCtrl can have all possible attributes, while derived classes, like masked.TimeCtrl and masked.NumCtrl can prevent exposure of those optional attributes of their base class that do not make sense for their derivation. Therefore, we define:: BaseMaskedTextCtrl(TextCtrl, MaskedEditMixin) and:: masked.TextCtrl(BaseMaskedTextCtrl, MaskedEditAccessorsMixin). This allows us to then derive:: masked.NumCtrl( BaseMaskedTextCtrl ) and not have to expose all the same accessor functions for the derived control when they don't all make sense for it. In practice, BaseMaskedTextCtrl should never be instantiated directly, but should only be used in derived classes. .. method:: __init__( self, parent, id=-1, value = '', pos = wx.DefaultPosition, size = wx.DefaultSize, style = wx.TE_PROCESS_TAB, validator=wx.DefaultValidator, name = 'maskedTextCtrl', setupEventHandling = True, \*\*kwargs) Default class constructor. :param wx.Window `parent`: the window parent. Must not be ``None``; :param integer `id`: window identifier. A value of -1 indicates a default value; :param string `value`: value to be shown; :param `pos`: the control position. A value of (-1, -1) indicates a default position, chosen by either the windowing system or wxPython, depending on platform; :type `pos`: tuple or :class:`wx.Point` :param `size`: the control size. A value of (-1, -1) indicates a default size, chosen by either the windowing system or wxPython, depending on platform; :param integer `style`: the window style; :param wx.Validator `validator`: this is mainly provided for data-transfer, as control does its own validation; :param string `name`: the window name; :param boolean `setupEventHandling`: setup event handling by default. .. method:: ChangeValue(self, value) Provided to accomodate similar functionality added to base control in wxPython 2.7.1.1. :param string `value`: new value for control, this will not fire an event .. method:: Clear(self) Blanks the current control value by replacing it with the default value. .. method:: Cut(self) This function redefines the externally accessible :meth:`TextCtrl.Cut` to be a smart "erase" of the text in question, so as not to corrupt the masked control. .. note:: This must be done in the class derived from the base wx control. .. method:: IsEmpty(\*args, \*\*kw) IsEmpty() -> bool Returns true if the control is currently empty. .. method:: IsModified(self) This function overrides the raw :meth:`TextCtrl.IsModified` method, because the masked edit mixin uses SetValue to change the value, which doesn't modify the state of this attribute. So, the derived control keeps track on each keystroke to see if the value changes, and if so, it's been modified. .. method:: ModifyValue(self, value, use_change_value=False) This factored function of common code does the bulk of the work for SetValue and ChangeValue. :param string `value`: new value for control :param boolean `use_change_value`: if ``True`` uses :meth:`~lib.masked.textctrl.TextCtrl.ChangeValue` .. method:: Paste(self) This function redefines the externally accessible :meth:`TextCtrl.Paste` to be a smart "paste" of the text in question, so as not to corrupt the masked control. .. note:: This must be done in the class derived from the base wx control. .. method:: Refresh(self) This function redefines the externally accessible :meth:`TextCtrl.Refresh` to validate the contents of the masked control as it refreshes. .. note:: This must be done in the class derived from the base wx control. .. method:: SetFont(self, \*args, \*\*kwargs) Set the font, then recalculate control size, if appropriate. see :meth:`TextCtrl.SetFont` for valid arguements .. method:: SetValue(self, value) This function redefines the externally accessible :meth:`TextCtrl.SetValue` to be a smart "paste" of the text in question, so as not to corrupt the masked control. .. note:: This must be done in the class derived from the base wx control. .. method:: Undo(self) This function defines the undo operation for the control. (The default undo is 1-deep.)