Phoenix Logo

phoenix_title wx.dataview.DataViewItemObjectMapper

This class provides a mechanism for mapping between Python objects and the DataViewItem objects used by the DataViewModel for tracking the items in the view. The ID used for the item is the id() of the Python object. Use ObjectToItem to create a DataViewItem using a Python object as its ID, and use ItemToObject to fetch that Python object again later for a given 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 UseWeakRefs.

This class is used in PyDataViewModel as a mixin for convenience.


class_hierarchy Class Hierarchy

Inheritance diagram for class DataViewItemObjectMapper:

method_summary Methods Summary

__init__  
ItemToObject Retrieve the object that was used to create an item.
ObjectToItem Create a DataViewItem for the object, and remember the ID-.obj mapping.
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 DataViewItem objects used by the DataViewModel for tracking the items in the view. The ID used for the item is the id() of the Python object. Use ObjectToItem to create a DataViewItem using a Python object as its ID, and use ItemToObject to fetch that Python object again later for a given 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 UseWeakRefs.

This class is used in PyDataViewModel as a mixin for convenience.


Methods



__init__(self)


ItemToObject(self, item)

Retrieve the object that was used to create an item.



ObjectToItem(self, obj)

Create a DataViewItem for the object, and remember the ID–>obj mapping.



UseWeakRefs(self, flag)

Switch to or from using a weak value dictionary for keeping the ID to object map.