1
<?xml version="1.0" encoding="iso-8859-1"?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
"DTD/xhtml1-transitional.dtd">
4
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
<title>kiwi.model.Model</title>
7
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
9
<body bgcolor="white" text="black" link="blue" vlink="#204080"
12
<!-- =========== START OF NAVBAR =========== -->
13
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
15
<th class="navbar"> <a class="navbar" href="kiwi.html">Home</a> </th>
16
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
17
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
18
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </th>
19
<th class="navbar" align="right" width="100%">
20
<table border="0" cellpadding="0" cellspacing="0">
21
<tr><th class="navbar" align="center">
23
<a class="navbar" target="_top" href="http://www.async.com.br/projects/kiwi/">Kiwi 1.9.12</a>
24
</p></th></tr></table>
28
<table width="100%" cellpadding="0" cellspacing="0">
31
<font size="-1"><b class="breadcrumbs">
32
<a href="kiwi.html">Package kiwi</a> ::
33
<a href="kiwi.model.html">Module model</a> ::
37
<td><table cellpadding="0" cellspacing="0">
38
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a> | <a href="kiwi.model.Model.html" target="_top">no frames</a>]</font></td></tr>
42
<!-- =========== START OF CLASS DESCRIPTION =========== -->
43
<h2 class="class">Class Model</h2>
45
<dl><dt><b>Known Subclasses:</b></dt>
47
<a href="kiwi.model.PickledModel.html"><code>PickledModel</code></a></dd></dl>
51
The Model is a mixin to be used by domain classes when attached to
52
Proxies. It also provides autonotification of changes to the attached
53
proxies. Note that if using setters, a specific call to notify_proxies()
54
may be necessary; see the doc for __setattr__.
58
<!-- =========== START OF METHOD SUMMARY =========== -->
59
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
60
<tr bgcolor="#70b0f0" class="summary">
61
<th colspan="2">Method Summary</th></tr>
62
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
63
<td><code><span class="summary-sig"><a href="kiwi.model.Model.html#block_proxy" class="summary-sig-name"><code>block_proxy</code></a>(<span class=summary-sig-arg>self</span>,
64
<span class=summary-sig-arg>proxy</span>)</span></code>
66
Temporarily block a proxy from receiving any notification.</td></tr>
67
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
68
<td><code><span class="summary-sig"><a href="kiwi.model.Model.html#disable_autonotify" class="summary-sig-name"><code>disable_autonotify</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
70
disable automatic notification to proxies based on __setattr__.</td></tr>
71
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
72
<td><code><span class="summary-sig"><a href="kiwi.model.Model.html#ensure_init" class="summary-sig-name"><code>ensure_init</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
74
Sets up the variables so the Model's getattr hook and proxy
75
notification work properly.</td></tr>
76
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
77
<td><code><span class="summary-sig"><a href="kiwi.model.Model.html#flush_proxies" class="summary-sig-name"><code>flush_proxies</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
79
Removes all proxies attached to Model</td></tr>
80
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
81
<td><code><span class="summary-sig"><a href="kiwi.model.Model.html#notify_proxies" class="summary-sig-name"><code>notify_proxies</code></a>(<span class=summary-sig-arg>self</span>,
82
<span class=summary-sig-arg>attr</span>)</span></code>
84
Notify proxies that an attribute value has changed.</td></tr>
85
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
86
<td><code><span class="summary-sig"><a href="kiwi.model.Model.html#register_proxy_for_attribute" class="summary-sig-name"><code>register_proxy_for_attribute</code></a>(<span class=summary-sig-arg>self</span>,
87
<span class=summary-sig-arg>attr</span>,
88
<span class=summary-sig-arg>proxy</span>)</span></code>
90
Attach a proxy to an attribute.</td></tr>
91
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
92
<td><code><span class="summary-sig"><a href="kiwi.model.Model.html#unblock_proxy" class="summary-sig-name"><code>unblock_proxy</code></a>(<span class=summary-sig-arg>self</span>,
93
<span class=summary-sig-arg>proxy</span>)</span></code>
95
Re-enable notifications to a proxy</td></tr>
96
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
97
<td><code><span class="summary-sig"><a href="kiwi.model.Model.html#unregister_proxy" class="summary-sig-name"><code>unregister_proxy</code></a>(<span class=summary-sig-arg>self</span>,
98
<span class=summary-sig-arg>proxy</span>)</span></code>
100
Deattach a proxy completely from the model</td></tr>
101
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
102
<td><code><span class="summary-sig"><a href="kiwi.model.Model.html#unregister_proxy_for_attribute" class="summary-sig-name"><code>unregister_proxy_for_attribute</code></a>(<span class=summary-sig-arg>self</span>,
103
<span class=summary-sig-arg>attr</span>,
104
<span class=summary-sig-arg>proxy</span>)</span></code>
106
Detach a proxy from an attribute.</td></tr>
110
<!-- =========== START OF METHOD DETAILS =========== -->
111
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
112
<tr bgcolor="#70b0f0" class="details">
113
<th colspan="2">Method Details</th></tr>
116
<a name="block_proxy"></a>
117
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
118
<h3><span class="sig"><span class="sig-name">block_proxy</span>(<span class=sig-arg>self</span>,
119
<span class=sig-arg>proxy</span>)</span>
121
Temporarily block a proxy from receiving any notification. See
127
<a name="disable_autonotify"></a>
128
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
129
<h3><span class="sig"><span class="sig-name">disable_autonotify</span>(<span class=sig-arg>self</span>)</span>
131
disable automatic notification to proxies based on __setattr__. All
132
changes to the model must be followed by a call to notify_proxies() to
133
allow the proxies to notice the change.
138
<a name="ensure_init"></a>
139
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
140
<h3><span class="sig"><span class="sig-name">ensure_init</span>(<span class=sig-arg>self</span>)</span>
142
Sets up the variables so the Model's getattr hook and proxy
143
notification work properly.
148
<a name="flush_proxies"></a>
149
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
150
<h3><span class="sig"><span class="sig-name">flush_proxies</span>(<span class=sig-arg>self</span>)</span>
152
Removes all proxies attached to Model
157
<a name="notify_proxies"></a>
158
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
159
<h3><span class="sig"><span class="sig-name">notify_proxies</span>(<span class=sig-arg>self</span>,
160
<span class=sig-arg>attr</span>)</span>
162
Notify proxies that an attribute value has changed.
167
<a name="register_proxy_for_attribute"></a>
168
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
169
<h3><span class="sig"><span class="sig-name">register_proxy_for_attribute</span>(<span class=sig-arg>self</span>,
170
<span class=sig-arg>attr</span>,
171
<span class=sig-arg>proxy</span>)</span>
173
Attach a proxy to an attribute. The proxy will be notified of
174
changes to that particular attribute (my means of Proxy.notify()).
179
<a name="unblock_proxy"></a>
180
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
181
<h3><span class="sig"><span class="sig-name">unblock_proxy</span>(<span class=sig-arg>self</span>,
182
<span class=sig-arg>proxy</span>)</span>
184
Re-enable notifications to a proxy
189
<a name="unregister_proxy"></a>
190
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
191
<h3><span class="sig"><span class="sig-name">unregister_proxy</span>(<span class=sig-arg>self</span>,
192
<span class=sig-arg>proxy</span>)</span>
194
Deattach a proxy completely from the model
199
<a name="unregister_proxy_for_attribute"></a>
200
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
201
<h3><span class="sig"><span class="sig-name">unregister_proxy_for_attribute</span>(<span class=sig-arg>self</span>,
202
<span class=sig-arg>attr</span>,
203
<span class=sig-arg>proxy</span>)</span>
205
Detach a proxy from an attribute.
212
<!-- =========== START OF NAVBAR =========== -->
213
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
215
<th class="navbar"> <a class="navbar" href="kiwi.html">Home</a> </th>
216
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
217
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
218
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </th>
219
<th class="navbar" align="right" width="100%">
220
<table border="0" cellpadding="0" cellspacing="0">
221
<tr><th class="navbar" align="center">
223
<a class="navbar" target="_top" href="http://www.async.com.br/projects/kiwi/">Kiwi 1.9.12</a>
224
</p></th></tr></table>
229
<table border="0" cellpadding="0" cellspacing="0" width="100%">
231
<td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Jan 29 16:42:59 2007</font></td>
232
<td align="right"><a href="http://epydoc.sourceforge.net"
233
><font size="-2">http://epydoc.sf.net</font></a></td>