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