.. 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.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 maintaining 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
Inheritance diagram for class DataViewItemObjectMapper:
| |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 maintaining 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.