.. wxPython Phoenix documentation This file was generated by Phoenix's sphinx generator and associated tools, do not edit by hand. Copyright: (c) 2011-2017 by Total Control Software License: wxWindows License .. include:: headings.inc .. _wx.dataview.DataViewItemObjectMapper: ========================================================================================================================================== |phoenix_title| **wx.dataview.DataViewItemObjectMapper** ========================================================================================================================================== This class provides a mechanism for mapping between Python objects and the :class:`DataViewItem` objects used by the :class:`DataViewModel` for tracking the items in the view. The ID used for the item is the id() of the Python object. Use :meth:`ObjectToItem` to create a :class:`DataViewItem` using a Python object as its ID, and use :meth:`ItemToObject` to fetch that Python object again later for a given :class:`DataViewItem`. By default a regular dictionary is used to implement the ID to object mapping. Optionally a WeakValueDictionary can be useful when there will be a high turnover of objects and mantaining an extra reference to the objects would be unwise. If weak references are used then the objects associated with data items must be weak-referenceable. (Things like stock lists and dictionaries are not.) See :meth:`UseWeakRefs`. This class is used in :class:`PyDataViewModel` as a mixin for convenience. | |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>DataViewItemObjectMapper</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.dataview.DataViewItemObjectMapper_inheritance.png" alt="Inheritance diagram of DataViewItemObjectMapper" usemap="#dummy" class="inheritance"/></center> </div> <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script> <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.dataview.DataViewItemObjectMapper.html" title="This class provides a mechanism for mapping between Python objects and the" alt="" coords="5,5,285,35"/> </map> </p> | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.dataview.DataViewItemObjectMapper.__init__` :meth:`~wx.dataview.DataViewItemObjectMapper.ItemToObject` Retrieve the object that was used to create an item. :meth:`~wx.dataview.DataViewItemObjectMapper.ObjectToItem` Create a :class:`DataViewItem` for the object, and remember the ID-.obj mapping. :meth:`~wx.dataview.DataViewItemObjectMapper.UseWeakRefs` Switch to or from using a weak value dictionary for keeping the ``ID`` to ================================================================================ ================================================================================ | |api| Class API =============== .. class:: wx.dataview.DataViewItemObjectMapper(object) This class provides a mechanism for mapping between Python objects and the :class:`DataViewItem` objects used by the :class:`DataViewModel` for tracking the items in the view. The ID used for the item is the id() of the Python object. Use :meth:`ObjectToItem` to create a :class:`DataViewItem` using a Python object as its ID, and use :meth:`ItemToObject` to fetch that Python object again later for a given :class:`DataViewItem`. By default a regular dictionary is used to implement the ID to object mapping. Optionally a WeakValueDictionary can be useful when there will be a high turnover of objects and mantaining an extra reference to the objects would be unwise. If weak references are used then the objects associated with data items must be weak-referenceable. (Things like stock lists and dictionaries are not.) See :meth:`UseWeakRefs`. This class is used in :class:`PyDataViewModel` as a mixin for convenience. .. method:: __init__(self) .. method:: ItemToObject(self, item) Retrieve the object that was used to create an item. .. method:: ObjectToItem(self, obj) Create a :class:`DataViewItem` for the object, and remember the ID-->obj mapping. .. method:: UseWeakRefs(self, flag) Switch to or from using a weak value dictionary for keeping the ID to object map.