.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.propgrid.NumericProperty:

==========================================================================================================================================
|phoenix_title|  **wx.propgrid.NumericProperty**
==========================================================================================================================================

This is an abstract class which serves as a base class for numeric properties, like :ref:`wx.propgrid.IntProperty`, :ref:`wx.propgrid.UIntProperty`, :ref:`wx.propgrid.FloatProperty`.          

**Supported special attributes:**

- ``PG_ATTR_MIN``, ``PG_ATTR_MAX``: Specify acceptable value range. 
- ``PG_ATTR_SPINCTRL_STEP``: How much number changes when SpinCtrl editor button is pressed (or up/down on keyboard). 
- ``PG_ATTR_SPINCTRL_WRAP``: Specify if value modified with SpinCtrl editor wraps at Min/Max. 
- ``PG_ATTR_SPINCTRL_MOTION``: Specify if value can also by changed with SpinCtrl editor by moving mouse when left mouse button is being pressed. 




         



.. versionadded:: 4.1/wxWidgets-3.1.3  
     







|

|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>NumericProperty</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.propgrid.NumericProperty_inheritance.png" alt="Inheritance diagram of NumericProperty" 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.propgrid.NumericProperty.html" title="wx.propgrid.NumericProperty" alt="" coords="5,160,219,189"/> <area shape="rect" id="node2" href="wx.propgrid.PGProperty.html" title="wx.propgrid.PGProperty" alt="" coords="24,83,200,112"/> <area shape="rect" id="node3" href="wx.Object.html" title="wx.Object" alt="" coords="69,5,155,35"/> </map> 
   </p>
   </div>

|


|sub_classes| Known Subclasses
==============================

:ref:`wx.propgrid.FloatProperty`, :ref:`wx.propgrid.IntProperty`, :ref:`wx.propgrid.UIntProperty`

|


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

================================================================================ ================================================================================
:meth:`~wx.propgrid.NumericProperty.AddSpinStepValue`                            Returns what would be the new value of the property after adding SpinCtrl editor step to the current value.
:meth:`~wx.propgrid.NumericProperty.DoSetAttribute`                              Reimplement this member function to add special handling for attributes of this property.
:meth:`~wx.propgrid.NumericProperty.UseSpinMotion`                               Return ``True`` if value can be changed with SpinCtrl editor by moving the mouse.
:meth:`~wx.propgrid.NumericProperty.__init__`                                    Constructor is protected because :ref:`wx.propgrid.NumericProperty`  is only a base class for other numeric property classes.
================================================================================ ================================================================================


|


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


.. class:: wx.propgrid.NumericProperty(PGProperty)

   **Possible constructors**::

       NumericProperty(label, name)
       
   
   This is an abstract class which serves as a base class for numeric
   properties, like IntProperty, UIntProperty, FloatProperty.



   .. method:: AddSpinStepValue(self, stepScale)

      Returns what would be the new value of the property after adding SpinCtrl editor step to the current value.                  

      Current value range and wrapping (if enabled) are taken into account. This member has to be implemented in derived properties. 




      :param `stepScale`: SpinCtrl editor step is first multiplied by this factor and next added to the current value.  
      :type `stepScale`: long






      :rtype: :ref:`PGVariant`



                  



      :returns: 

         Value which property would have after adding SpinCtrl editor step.  







      .. note:: 

         Current property value is not changed.   








   .. method:: DoSetAttribute(self, name, value)

      Reimplement this member function to add special handling for attributes of this property.                  

                


      :param `name`: 
      :type `name`: string
      :param `value`: 
      :type `value`: PGVariant




      :rtype: `bool`







      :returns: 

         Return ``False`` to have the attribute automatically stored in m_attributes. Default implementation simply does that and nothing else.  







      .. note:: 

         To actually set property attribute values from the application, use :meth:`wx.propgrid.PGProperty.SetAttribute`   instead.   








   .. method:: UseSpinMotion(self)

      Return ``True`` if value can be changed with SpinCtrl editor by moving the mouse.                  

      :rtype: `bool`








   .. method:: __init__(self, label, name)

      Constructor is protected because :ref:`wx.propgrid.NumericProperty`  is only a base class for other numeric property classes.                  


      :param `label`: 
      :type `label`: string
      :param `name`: 
      :type `name`: string






