.. 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.png" 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="wx.propgrid.ArrayStringProperty" alt="" coords="9,237,240,267"/> <area shape="rect" id="node2" href="wx.propgrid.EditorDialogProperty.html" title="wx.propgrid.EditorDialogProperty" alt="" coords="5,160,244,189"/> <area shape="rect" id="node3" href="wx.propgrid.PGProperty.html" title="wx.propgrid.PGProperty" alt="" coords="37,83,213,112"/> <area shape="rect" id="node4" href="wx.Object.html" title="wx.Object" alt="" coords="81,5,168,35"/> </map> 
   </p>
   </div>

|


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

================================================================================ ================================================================================
:meth:`~wx.propgrid.ArrayStringProperty.__init__`                                
:meth:`~wx.propgrid.ArrayStringProperty.ArrayStringToString`                     Generates contents for string `dst`  based on the contents of :ref:`ArrayString`  `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 :ref:`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=[])
       
   
   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







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

      Generates contents for string `dst`  based on the contents of :ref:`ArrayString`  `src`.                  


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







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

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


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







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



                  



      :returns: 

         ( `bool`, `value` ) 








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





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

                 



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








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

   wx.propgrid.ArrayStringProperty.ConversionFlags.enumeration
