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

==========================================================================================================================================
|phoenix_title|  **wx.propgrid.ArrayStringProperty**
==========================================================================================================================================

Property that manages a list of strings. 
         

**Supported special attributes:**

- ``PG_ARRAY_DELIMITER``: Sets string delimiter character. 
- ``PG_DIALOG_TITLE``: Sets a specific title for the editor dialog (since 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>ArrayStringProperty</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.ArrayStringProperty_inheritance.svg" alt="Inheritance diagram of ArrayStringProperty" 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.ArrayStringProperty.html" title="Property that manages a list of strings." alt="" coords="10,236,266,265"/> <area shape="rect" id="node2" href="wx.propgrid.EditorDialogProperty.html" title="This is an abstract class which serves as a base class for the properties having a button triggering an editor dialog, like e.g." alt="" coords="5,159,270,188"/> <area shape="rect" id="node3" href="wx.propgrid.PGProperty.html" title="wx.propgrid.PGProperty  is base class for all wx.propgrid.PropertyGrid  properties and as such it is not intended to be instantiated directly." alt="" coords="38,82,237,111"/> <area shape="rect" id="node4" href="wx.Object.html" title="This is the root class of many of the wxWidgets classes." alt="" coords="88,5,187,34"/> </map> 
   </p>
   </div>

|


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

================================================================================ ================================================================================
:meth:`~wx.propgrid.ArrayStringProperty.__init__`                                
:meth:`~wx.propgrid.ArrayStringProperty.ArrayStringToString`                     Generates string based on the contents of list of strings       `src`.
:meth:`~wx.propgrid.ArrayStringProperty.ConvertArrayToString`                    Implement in derived class for custom array-to-string conversion.
:meth:`~wx.propgrid.ArrayStringProperty.CreateEditorDialog`                      Creates :ref:`wx.propgrid.PGArrayEditorDialog`  for string editing.
:meth:`~wx.propgrid.ArrayStringProperty.DisplayEditorDialog`                     Shows editor dialog.
:meth:`~wx.propgrid.ArrayStringProperty.DoSetAttribute`                          Reimplement this member function to add special handling for attributes of this property.
:meth:`~wx.propgrid.ArrayStringProperty.GenerateValueAsString`                   Previously this was to be implemented in derived class for array-to- string conversion.
:meth:`~wx.propgrid.ArrayStringProperty.OnCustomStringEdit`                      Shows string editor dialog to edit the individual item.
:meth:`~wx.propgrid.ArrayStringProperty.OnSetValue`                              This virtual function is called after m_value has been set.
:meth:`~wx.propgrid.ArrayStringProperty.StringToValue`                           Converts text into `Variant`       value appropriate for this property.
:meth:`~wx.propgrid.ArrayStringProperty.ValueToString`                           Converts property value into a text representation.
================================================================================ ================================================================================


|


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


.. class:: wx.propgrid.ArrayStringProperty(EditorDialogProperty)

   **Possible constructors**::

       ArrayStringProperty(label=PG_LABEL, name=PG_LABEL, value=[]) -> None
       
   
   Property that manages a list of strings.



   .. method:: __init__(self, label=PG_LABEL, name=PG_LABEL, value=[])




      :param `label`: 
      :type `label`: string
      :param `name`: 
      :type `name`: string
      :param `value`: 
      :type `value`: list of strings




      :rtype: `None`     








   .. staticmethod:: ArrayStringToString(src, delimiter, flags)

      Generates string based on the contents of list of strings       `src`. 
                 


      :param `src`: 
      :type `src`: list of strings
      :param `delimiter`: 
      :type `delimiter`: wx.UniChar
      :param `flags`: 
      :type `flags`: int




      :rtype: `str`








   .. method:: ConvertArrayToString(self, arr, delimiter)

      Implement in derived class for custom array-to-string conversion. 
                 


      :param `arr`: 
      :type `arr`: list of strings
      :param `delimiter`: 
      :type `delimiter`: wx.UniChar




      :rtype: `str`








   .. method:: CreateEditorDialog(self)

      Creates :ref:`wx.propgrid.PGArrayEditorDialog`  for string editing. 
                 

      :rtype: :ref:`wx.propgrid.PGArrayEditorDialog`








   .. method:: DisplayEditorDialog(self, pg, value)

      Shows editor dialog. 
                 

      Value to be edited should be read from `value`, and if dialog is not cancelled, it should be stored back and ``True`` should be returned. 




      :param `pg`: Property grid in which property is displayed.  
      :type `pg`: wx.propgrid.PropertyGrid
      :param `value`: Value to be edited.  
      :type `value`: PGVariant








      :rtype: :ref:`Tuple[bool, PGVariant]`




                  



      :returns: 

         Returns ``True`` if editor dialog was not cancelled and `value`  was updated.   








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

      Previously this was to be implemented in derived class for array-to- string conversion. 
                 

      Now you should implement ConvertValueToString() instead. 
                 

      :rtype: `None`     








   .. method:: OnCustomStringEdit(self, parent, value)

      Shows string editor dialog to edit the individual item. 
                 

      Value to be edited should be read from `value`, and if dialog is not cancelled, it should be stored back and ``True`` should be returned if that was the case. 
                 


      :param `parent`: 
      :type `parent`: wx.Window
      :param `value`: 
      :type `value`: string




      :rtype: `bool`








   .. method:: OnSetValue(self)

      This virtual function is called after m_value has been set. 
                 


                

      :rtype: `None`     







      .. 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:: StringToValue(self, text, argFlags=0)

      Converts text into `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: :ref:`Tuple[bool, PGVariant]`




      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: 

         Returns ``True`` if resulting `Variant`       value was different.  







      .. 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: `str`




                  



      .. note:: 

         Default implementation calls :meth:`GenerateComposedValue` .   








.. toctree::
   :maxdepth: 1
   :hidden:

   wx.propgrid.ArrayStringProperty.ConversionFlags.enumeration
