.. 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.numctrl

.. highlight:: python



.. _wx.lib.masked.numctrl.NumCtrl:

==========================================================================================================================================
|phoenix_title|  **wx.lib.masked.numctrl.NumCtrl**
==========================================================================================================================================

Masked edit control supporting "native" numeric values, ie. .SetValue(3), for
example, and supporting a variety of formatting options, including automatic
rounding specifiable precision, grouping and decimal place characters, etc.



|

|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>NumCtrl</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.numctrl.NumCtrl_inheritance.png" alt="Inheritance diagram of NumCtrl" 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.numctrl.NumCtrl.html" title="Masked edit control supporting 'native' numeric values, ie. .SetValue(3), for" alt="" coords="346,547,579,576"/> <area shape="rect" id="node2" 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="node3" href="wx.lib.masked.numctrl.NumCtrlAccessorsMixin.html" title="Defines masked.NumCtrl's list of attributes having their own" alt="" coords="469,469,803,499"/> <area shape="rect" id="node4" 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="node5" 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="node6" 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="node7" href="wx.TextEntry.html" title="Common base class for single line text entry fields." alt="" coords="181,315,291,344"/> <area shape="rect" id="node8" 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="node9" href="wx.WindowBase.html" title="wx.WindowBase" alt="" coords="45,160,176,189"/> <area shape="rect" id="node10" 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="node11" 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="node12" href="wx.Trackable.html" title="Add-on base class for a trackable object." alt="" coords="118,5,229,35"/> </map> 
   </p>
   </div>

|


|super_classes| Known Superclasses
==================================

:class:`wx.lib.masked.numctrl.NumCtrlAccessorsMixin`, :class:`wx.lib.masked.textctrl.BaseMaskedTextCtrl`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.lib.masked.numctrl.NumCtrl.__init__`                                  Default class constructor.
:meth:`~wx.lib.masked.numctrl.NumCtrl.ChangeValue`                               Sets the value of the control to the value specified.
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetAllowNegative`                          (For regularization of property accessors)
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetAllowNone`                              (For regularization of property accessors)
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetAutoSize`                               
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetBounds`                                 This function returns a two-tuple (min,max), indicating the
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetDecimalChar`                            
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetFraction`                               Returns the fractional portion of the value as a float. If there is no
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetFractionWidth`                          Get the fraction width.
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetGroupChar`                              
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetGroupDigits`                            (For regularization of property accessors)
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetIntegerWidth`                           Get the integer width.
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetLimited`                                (For regularization of property accessors)
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetLimitOnFieldChange`                     (For regularization of property accessors)
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetMax`                                    Gets the maximum value of the control.  It will return the current
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetMin`                                    Gets the lower bound value of the control.  It will return
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetSelectOnEntry`                          
:meth:`~wx.lib.masked.numctrl.NumCtrl.GetValue`                                  Returns the current numeric value of the control.
:meth:`~wx.lib.masked.numctrl.NumCtrl.IsGroupingAllowed`                         
:meth:`~wx.lib.masked.numctrl.NumCtrl.IsInBounds`                                Returns ``True`` if no value is specified and the current value
:meth:`~wx.lib.masked.numctrl.NumCtrl.IsLimited`                                 Returns ``True`` if the control is currently limiting the
:meth:`~wx.lib.masked.numctrl.NumCtrl.IsLimitedOnFieldChange`                    Returns ``True`` if the control is currently limiting the
:meth:`~wx.lib.masked.numctrl.NumCtrl.IsNegativeAllowed`                         
:meth:`~wx.lib.masked.numctrl.NumCtrl.IsNoneAllowed`                             
:meth:`~wx.lib.masked.numctrl.NumCtrl.OnTextChange`                              Handles an event indicating that the text control's value
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetAllowNegative`                          
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetAllowNone`                              Change the behavior of the validation code, allowing control
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetAutoSize`                               
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetBounds`                                 This function is a convenience function for setting the min and max
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetDecimalChar`                            
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetFractionWidth`                          Set the fraction width of the control
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetGroupChar`                              
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetGroupDigits`                            
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetIntegerWidth`                           Set the integer width of the control
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetLimited`                                If called with a value of True, this function will cause the control
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetLimitOnFieldChange`                     If called with a value of True, this function will cause the control
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetMax`                                    Sets the maximum value of the control. If a value of None
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetMin`                                    Sets the minimum value of the control.  If a value of None
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetParameters`                             This function is used to initialize and reconfigure the control.
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetSelectOnEntry`                          
:meth:`~wx.lib.masked.numctrl.NumCtrl.SetValue`                                  Sets the value of the control to the value specified.
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: NumCtrl(BaseMaskedTextCtrl, NumCtrlAccessorsMixin)

   Masked edit control supporting "native" numeric values, ie. .SetValue(3), for
   example, and supporting a variety of formatting options, including automatic
   rounding specifiable precision, grouping and decimal place characters, etc.

   .. method:: __init__ ( self, parent, id=-1, value = 0, pos = wx.DefaultPosition, size = wx.DefaultSize, style = wx.TE_PROCESS_TAB, validator = wx.DefaultValidator, name = "masked.num", \*\*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 integer `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;


   .. method:: ChangeValue(self, value)

      Sets the value of the control to the value specified.
      The resulting actual value of the control may be altered to
      conform with the bounds set on the control if limited,
      or colored if not limited but the value is out-of-bounds.
      A ValueError exception will be raised if an invalid value
      is specified.
      
      This method does not fire a change event.
      
      :param integer `value`: new value


   .. method:: GetAllowNegative(self)

      (For regularization of property accessors) 


   .. method:: GetAllowNone(self)

      (For regularization of property accessors) 


   .. method:: GetAutoSize(self)


   .. method:: GetBounds(self)

      This function returns a two-tuple (min,max), indicating the
      current bounds of the control.  Each value can be None if
      that bound is not set.


   .. method:: GetDecimalChar(self)


   .. method:: GetFraction(self, candidate=None)

      Returns the fractional portion of the value as a float. If there is no
      fractional portion, the value returned will be 0.0.


   .. method:: GetFractionWidth(self)

      Get the fraction width.


   .. method:: GetGroupChar(self)


   .. method:: GetGroupDigits(self)

      (For regularization of property accessors) 


   .. method:: GetIntegerWidth(self)

      Get the integer width.


   .. method:: GetLimited(self)

      (For regularization of property accessors) 


   .. method:: GetLimitOnFieldChange(self)

      (For regularization of property accessors) 


   .. method:: GetMax(self)

      Gets the maximum value of the control.  It will return the current
      maximum integer, or None if not specified.


   .. method:: GetMin(self)

      Gets the lower bound value of the control.  It will return
      None if not specified.


   .. method:: GetSelectOnEntry(self)


   .. method:: GetValue(self)

      Returns the current numeric value of the control.


   .. method:: IsGroupingAllowed(self)


   .. method:: IsInBounds(self, value=None)

      Returns ``True`` if no value is specified and the current value
      of the control falls within the current bounds.  This function can
      also be called with a value to see if that value would fall within
      the current bounds of the given control.
      
      :param `value`: value to check


   .. method:: IsLimited(self)

      Returns ``True`` if the control is currently limiting the
      value to fall within the current bounds.


   .. method:: IsLimitedOnFieldChange(self)

      Returns ``True`` if the control is currently limiting the
      value to fall within the current bounds.


   .. method:: IsNegativeAllowed(self)


   .. method:: IsNoneAllowed(self)


   .. method:: OnTextChange( self, event )

      Handles an event indicating that the text control's value
      has changed, and issue EVT_NUM event.
      
      .. note::
      
        Using :meth:`TextCtrl.SetValue` to change the control's contents from
        within a EVT_CHAR handler can cause double text events. So we check
        for actual changes to the text before passing the events on.


   .. method:: SetAllowNegative(self, value)


   .. method:: SetAllowNone(self, allow_none)

      Change the behavior of the validation code, allowing control
      to have a value of None or not, as appropriate.  If the value
      of the control is currently None, and allow_none is False, the
      value of the control will be set to the minimum value of the
      control, or 0 if no lower bound is set.
      
      :param boolean `allow_none`: ``True`` if None is allowed


   .. method:: SetAutoSize(self, value)


   .. method:: SetBounds(self, min=None, max=None)

      This function is a convenience function for setting the min and max
      values at the same time.  The function only applies the maximum bound
      if setting the minimum bound is successful, and returns ``True`` only if both operations succeed.
      
      .. note:: leaving out an argument will remove the corresponding bound.
      
      :param `min`: Minium value for the control
      :type `min`: integer or None
      :param `max`: Minium value for the control
      :type `max`: integer or None


   .. method:: SetDecimalChar(self, value)


   .. method:: SetFractionWidth(self, value)

      Set the fraction width of the control
      
      :param integer `value`: the width value


   .. method:: SetGroupChar(self, value)


   .. method:: SetGroupDigits(self, value)


   .. method:: SetIntegerWidth(self, value)

      Set the integer width of the control
      
      :param integer `value`: the width value


   .. method:: SetLimited(self, limited)

      If called with a value of True, this function will cause the control
      to limit the value to fall within the bounds currently specified.
      If the control's value currently exceeds the bounds, it will then
      be limited accordingly.
      
      If called with a value of False, this function will disable value
      limiting, but coloring of out-of-bounds values will still take
      place if bounds have been set for the control.
      
      :param boolean `limited`: define value limiting


   .. method:: SetLimitOnFieldChange(self, limit)

      If called with a value of True, this function will cause the control
      to prevent navigation out of the current field if its value is out-of-bounds,
      and limit the value to fall within the bounds currently specified if the
      control loses focus.
      
      If called with a value of False, this function will disable value
      limiting, but coloring of out-of-bounds values will still take
      place if bounds have been set for the control.
      
      :param boolean `limit`: define value limiting


   .. method:: SetMax(self, max=None)

      Sets the maximum value of the control. If a value of None
      is provided, then the control will have no explicit maximum value.
      If the value specified is less than the current minimum value, then
      the function returns ``False`` and the maximum will not change from its
      current setting. On success, the function returns True.
      
      If successful and the current value is greater than the new upper
      bound, if the control is limited the value will be automatically
      adjusted to this maximum value; if not limited, the value in the
      control will be colored as invalid.
      
      If max > the max value allowed by the width of the control,
      the function will return False, and the max will not be set.
      
      :param `max`: Minium value for the control
      :type `max`: integer or None


   .. method:: SetMin(self, min=None)

      Sets the minimum value of the control.  If a value of None
      is provided, then the control will have no explicit minimum value.
      If the value specified is greater than the current maximum value,
      then the function returns ``False`` and the minimum will not change from
      its current setting.  On success, the function returns True.
      
      If successful and the current value is lower than the new lower
      bound, if the control is limited, the value will be automatically
      adjusted to the new minimum value; if not limited, the value in the
      control will be colored as invalid.
      
      If min > the max value allowed by the width of the control,
      the function will return False, and the min will not be set.
      
      :param `min`: Minium value for the control
      :type `min`: integer or None


   .. method:: SetParameters(self, \*\*kwargs)

      This function is used to initialize and reconfigure the control.
      See :class:`~lib.masked.timectrl.TimeCtrl` module overview for available
      parameters.


   .. method:: SetSelectOnEntry(self, value)


   .. method:: SetValue(self, value)

      Sets the value of the control to the value specified.
      The resulting actual value of the control may be altered to
      conform with the bounds set on the control if limited,
      or colored if not limited but the value is out-of-bounds.
      A ValueError exception will be raised if an invalid value
      is specified.
      
      :param integer `value`: new value