ยปCore Development>Code coverage>Lib/plat-mac/Carbon/ControlAccessor.py

Python code coverage for Lib/plat-mac/Carbon/ControlAccessor.py

#countcontent
1n/a# Accessor functions for control properties
2n/a
3n/afrom Controls import *
4n/aimport struct
5n/a
6n/a# These needn't go through this module, but are here for completeness
7n/adef SetControlData_Handle(control, part, selector, data):
8n/a control.SetControlData_Handle(part, selector, data)
9n/a
10n/adef GetControlData_Handle(control, part, selector):
11n/a return control.GetControlData_Handle(part, selector)
12n/a
13n/a_accessdict = {
14n/a kControlPopupButtonMenuHandleTag: (SetControlData_Handle, GetControlData_Handle),
15n/a}
16n/a
17n/a_codingdict = {
18n/a kControlPushButtonDefaultTag : ("b", None, None),
19n/a
20n/a kControlEditTextTextTag: (None, None, None),
21n/a kControlEditTextPasswordTag: (None, None, None),
22n/a
23n/a kControlPopupButtonMenuIDTag: ("h", None, None),
24n/a
25n/a kControlListBoxDoubleClickTag: ("b", None, None),
26n/a}
27n/a
28n/adef SetControlData(control, part, selector, data):
29n/a if _accessdict.has_key(selector):
30n/a setfunc, getfunc = _accessdict[selector]
31n/a setfunc(control, part, selector, data)
32n/a return
33n/a if not _codingdict.has_key(selector):
34n/a raise KeyError, ('Unknown control selector', selector)
35n/a structfmt, coder, decoder = _codingdict[selector]
36n/a if coder:
37n/a data = coder(data)
38n/a if structfmt:
39n/a data = struct.pack(structfmt, data)
40n/a control.SetControlData(part, selector, data)
41n/a
42n/adef GetControlData(control, part, selector):
43n/a if _accessdict.has_key(selector):
44n/a setfunc, getfunc = _accessdict[selector]
45n/a return getfunc(control, part, selector, data)
46n/a if not _codingdict.has_key(selector):
47n/a raise KeyError, ('Unknown control selector', selector)
48n/a structfmt, coder, decoder = _codingdict[selector]
49n/a data = control.GetControlData(part, selector)
50n/a if structfmt:
51n/a data = struct.unpack(structfmt, data)
52n/a if decoder:
53n/a data = decoder(data)
54n/a if type(data) == type(()) and len(data) == 1:
55n/a data = data[0]
56n/a return data