File: wx.dataview.DataViewItemObjectMapper.txt

package info (click to toggle)
wxpython4.0 4.2.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 232,540 kB
  • sloc: cpp: 958,937; python: 233,059; ansic: 150,441; makefile: 51,662; sh: 8,687; perl: 1,563; javascript: 584; php: 326; xml: 200
file content (131 lines) | stat: -rw-r--r-- 5,017 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
.. 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

   <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>
   <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="wx.dataview.DataViewItemObjectMapper" alt="" coords="5,5,296,35"/> </map> 
   </p>
   </div>

|


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