.. wxPython Phoenix documentation

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

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

.. include:: headings.inc



.. _wx.SharedClientDataContainer:

==========================================================================================================================================
|phoenix_title|  **wx.SharedClientDataContainer**
==========================================================================================================================================

This class is a replacement for :ref:`wx.ClientDataContainer`, and unlike :ref:`wx.ClientDataContainer`  the :ref:`wx.SharedClientDataContainer`  client data is copiable, so it can be copied when objects containing it are cloned. 
         

Like :ref:`wx.ClientDataContainer`, :ref:`wx.SharedClientDataContainer`  is a mixin that provides storage and management of "client data.". The client data is reference counted and managed by the container. As the client data is a shared object, changing the client data used by any object changes it for all other objects, too. 








         



.. versionadded:: 4.1/wxWidgets-3.1.7  
     







.. note:: 

   If your class has a Clone function and needs to store client data, use :ref:`wx.SharedClientDataContainer`  and not ClientDataContainer!  







.. seealso:: :ref:`wx.ClientDataContainer`, `ClientData`         







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div class="collabsible-wrapper">
      <input id="collapsible-inheritance" class="collapsible-checkbox" type="checkbox">
      <label for="collapsible-inheritance" tabindex="0" title="Show inheritance diagram" class="collapsible-label">Inheritance diagram for class <strong>SharedClientDataContainer</strong>:</label>
      <div class="collapsible-content">
         <p class="graphviz">
            <center><img src="_static/images/inheritance/wx.SharedClientDataContainer_inheritance.svg" alt="Inheritance diagram of SharedClientDataContainer" usemap="#dummy" class="inheritance invert-in-dark-mode"/></center>
            <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.SharedClientDataContainer.html" title="This class is a replacement for wx.ClientDataContainer, and unlike wx.ClientDataContainer  the wx.SharedClientDataContainer  client data is copiable, so it can be copied when objects containing it are cloned." alt="" coords="5,5,256,34"/> </map> 
         </p>
      </div>
   </div>
   <script type="text/javascript" src="_static/inheritancetoggle.js"></script>



|


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

:ref:`wx.grid.GridCellAttr`, :ref:`wx.grid.GridCellEditor`, :ref:`wx.grid.GridCellRenderer`

|


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

================================================================================ ================================================================================
:meth:`~wx.SharedClientDataContainer.GetClientData`                              Get the untyped client data.
:meth:`~wx.SharedClientDataContainer.GetClientObject`                            Get a pointer to the client data object.
:meth:`~wx.SharedClientDataContainer.SetClientData`                              Set the untyped client data.
:meth:`~wx.SharedClientDataContainer.SetClientObject`                            Set the client data object.
================================================================================ ================================================================================


|


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

================================================================================ ================================================================================
:attr:`~wx.SharedClientDataContainer.ClientData`                                 See :meth:`~wx.SharedClientDataContainer.GetClientData` and :meth:`~wx.SharedClientDataContainer.SetClientData`
:attr:`~wx.SharedClientDataContainer.ClientObject`                               See :meth:`~wx.SharedClientDataContainer.GetClientObject` and :meth:`~wx.SharedClientDataContainer.SetClientObject`
================================================================================ ================================================================================


|


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


.. class:: wx.SharedClientDataContainer(object)

   This class is a replacement for ClientDataContainer, and unlike
   ClientDataContainer the SharedClientDataContainer client data is
   copiable, so it can be copied when objects containing it are cloned.



   .. method:: GetClientData(self)

      Get the untyped client data. 
                 

      :rtype: `Any`     








   .. method:: GetClientObject(self)

      Get a pointer to the client data object. 
                 

      :rtype: `ClientData`     








   .. method:: SetClientData(self, data)

      Set the untyped client data. 
                 


      :param `data`: 




      :rtype: `None`     








   .. method:: SetClientObject(self, data)

      Set the client data object. 
                 

      Any previous object will be deleted. 
                 


      :param `data`: 
      :type `data`: ClientData




      :rtype: `None`     








   .. attribute:: ClientData

      See :meth:`~wx.SharedClientDataContainer.GetClientData` and :meth:`~wx.SharedClientDataContainer.SetClientData`


   .. attribute:: ClientObject

      See :meth:`~wx.SharedClientDataContainer.GetClientObject` and :meth:`~wx.SharedClientDataContainer.SetClientObject`

