.. 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.FlagsProperty:

==========================================================================================================================================
|phoenix_title|  **wx.propgrid.FlagsProperty**
==========================================================================================================================================

Represents a bit set that fits in a long integer.          

:ref:`wx.propgrid.BoolProperty`  sub-properties are created for editing individual bits. Textctrl is created to manually edit the flags as a text; a continuous sequence of spaces, commas and semicolons is considered as a flag id separator. **Note:**  When changing "choices" (ie. flag labels) of :ref:`wx.propgrid.FlagsProperty`, you will need to use SetPropertyChoices - otherwise they will not get updated properly.           




|

|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>FlagsProperty</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.FlagsProperty_inheritance.png" alt="Inheritance diagram of FlagsProperty" 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.FlagsProperty.html" title="wx.propgrid.FlagsProperty" alt="" coords="5,160,197,189"/> <area shape="rect" id="node2" href="wx.propgrid.PGProperty.html" title="wx.propgrid.PGProperty" alt="" coords="13,83,189,112"/> <area shape="rect" id="node3" href="wx.Object.html" title="wx.Object" alt="" coords="58,5,145,35"/> </map> 
   </p>
   </div>

|


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

================================================================================ ================================================================================
:meth:`~wx.propgrid.FlagsProperty.__init__`                                      
:meth:`~wx.propgrid.FlagsProperty.ChildChanged`                                  Called after value of a child property has been altered.
:meth:`~wx.propgrid.FlagsProperty.DoSetAttribute`                                Reimplement this member function to add special handling for attributes of this property.
:meth:`~wx.propgrid.FlagsProperty.GetChoiceSelection`                            Returns which choice is currently selected.
:meth:`~wx.propgrid.FlagsProperty.GetItemCount`                                  
:meth:`~wx.propgrid.FlagsProperty.GetLabel`                                      
:meth:`~wx.propgrid.FlagsProperty.OnSetValue`                                    This virtual function is called after m_value has been set.
:meth:`~wx.propgrid.FlagsProperty.RefreshChildren`                               Refresh values of child properties.
:meth:`~wx.propgrid.FlagsProperty.StringToValue`                                 Converts text into :ref:`Variant`  value appropriate for this property.
:meth:`~wx.propgrid.FlagsProperty.ValueToString`                                 Converts property value into a text representation.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.propgrid.FlagsProperty.ChoiceSelection`                               See :meth:`~wx.propgrid.FlagsProperty.GetChoiceSelection`
:attr:`~wx.propgrid.FlagsProperty.ItemCount`                                     See :meth:`~wx.propgrid.FlagsProperty.GetItemCount`
================================================================================ ================================================================================


|


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


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

   **Possible constructors**::

       FlagsProperty(label, name, choices, value=0)
       
       FlagsProperty(label=PG_LABEL, name=PG_LABEL, labels=[], values=[],
                     value=0)
       
   
   Represents a bit set that fits in a long integer.



   .. method:: __init__(self, *args, **kw)



      |overload| Overloaded Implementations:

      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self, label, name, choices, value=0)`
      
      
      
      
      :param `label`: 
      :type `label`: string
      :param `name`: 
      :type `name`: string
      :param `choices`: 
      :type `choices`: wx.propgrid.PGChoices
      :param `value`: 
      :type `value`: long
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self, label=PG_LABEL, name=PG_LABEL, labels=[], values=[], value=0)`
      
      
      
      
      :param `label`: 
      :type `label`: string
      :param `name`: 
      :type `name`: string
      :param `labels`: 
      :type `labels`: list of strings
      :param `values`: 
      :type `values`: list of integers
      :param `value`: 
      :type `value`: int
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: ChildChanged(self, thisValue, childIndex, childValue)

      Called after value of a child property has been altered.                  

      Must return new value of the whole property (after any alterations warranted by child's new value). 

      Note that this function is usually called at the time that value of this property, or given child property, is still pending for change, and as such, result of :meth:`GetValue`   or m_value should not be relied on. 

      Sample pseudo-code implementation: 

      ::

          # TBW






      :param `thisValue`: Value of this property. Changed value should be returned (in previous versions of :ref:`wx.propgrid.PropertyGrid`  it was only necessary to write value back to this argument).   
      :type `thisValue`: PGVariant
      :param `childIndex`: Index of child changed (you can use Item(childIndex) to get child property).   
      :type `childIndex`: int
      :param `childValue`: (Pending) value of the child property.  
      :type `childValue`: PGVariant










      :rtype: :ref:`PGVariant`



                  



      :returns: 

         Modified value of the whole property.   








   .. 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:: GetChoiceSelection(self)

      Returns which choice is currently selected.                  

      Only applies to properties which have choices. 

      Needs to reimplemented in derived class if property value does not map directly to a choice. Integer as index, bool, and string usually do.                  

      :rtype: `int`








   .. method:: GetItemCount(self)



      :rtype: `int`








   .. method:: GetLabel(self, ind)




      :param `ind`: 
      :type `ind`: int




      :rtype: `string`








   .. method:: OnSetValue(self)

      This virtual function is called after m_value has been set.                  

                 



      .. note:: 

   

         - If m_value was set to Null variant (i.e. unspecified value), :meth:`OnSetValue`   will not be called. 
         - m_value may be of any variant type. Typically properties internally support only one variant type, and as such :meth:`OnSetValue`   provides a good opportunity to convert supported values into internal type. 
         - Default implementation does nothing.  











   .. method:: RefreshChildren(self)

      Refresh values of child properties.                  

      Automatically called after value is set.                   





   .. method:: StringToValue(self, text, argFlags)

      Converts text into :ref:`Variant`  value appropriate for this property.                  




      :param `text`: Text to be translated into variant.  
      :type `text`: string
      :param `argFlags`: If ``PG_FULL_VALUE``  is set, returns complete, storable value instead of displayable one (they may be different). If ``PG_COMPOSITE_FRAGMENT``  is set, text is interpreted as a part of composite property string value (as generated by :meth:`ValueToString`   called with this same flag).  
      :type `argFlags`: int










      :rtype: `tuple`




      You might want to take into account that m_value is Null variant if property value is unspecified (which is usually only case if you explicitly enabled that sort behaviour).                    



      :returns: 

         ( `bool`, `variant` ) 







      .. note:: 

         Default implementation converts semicolon delimited tokens into child values. Only works for properties with children.  








   .. method:: ValueToString(self, value, argFlags=0)

      Converts property value into a text representation.                  




      :param `value`: Value to be converted.   
      :type `value`: PGVariant
      :param `argFlags`: If 0 (default value), then displayed string is returned. If ``PG_FULL_VALUE``  is set, returns complete, storable string value instead of displayable. If ``PG_EDITABLE_VALUE``  is set, returns string value that must be editable in textctrl. If ``PG_COMPOSITE_FRAGMENT``  is set, returns text that is appropriate to display as a part of string property's composite text representation.  
      :type `argFlags`: int








      :rtype: `string`



                  



      .. note:: 

         Default implementation calls :meth:`GenerateComposedValue` .   








   .. attribute:: ChoiceSelection

      See :meth:`~wx.propgrid.FlagsProperty.GetChoiceSelection`


   .. attribute:: ItemCount

      See :meth:`~wx.propgrid.FlagsProperty.GetItemCount`

