summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Mac/Lib/lib-toolbox/ControlAccessor.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/Mac/Lib/lib-toolbox/ControlAccessor.py b/Mac/Lib/lib-toolbox/ControlAccessor.py
index d3952f7..93805ab 100644
--- a/Mac/Lib/lib-toolbox/ControlAccessor.py
+++ b/Mac/Lib/lib-toolbox/ControlAccessor.py
@@ -3,13 +3,31 @@
from Controls import *
import struct
+# These needn't go through this module, but are here for completeness
+def SetControlDataHandle(control, part, selector, data):
+ control.SetControlDataHandle(part, selector, data)
+
+def GetControlDataHandle(control, part, selector):
+ return control.GetControlDataHandle(part, selector)
+
+_accessdict = {
+ kControlPopupButtonMenuHandleTag: (SetControlDataHandle, GetControlDataHandle),
+}
+
_codingdict = {
kControlPushButtonDefaultTag : ("b", None, None),
+
kControlEditTextTextTag: (None, None, None),
kControlEditTextPasswordTag: (None, None, None),
+
+ kControlPopupButtonMenuIDTag: ("h", None, None),
}
def SetControlData(control, part, selector, data):
+ if _accessdict.has_key(selector):
+ setfunc, getfunc = _accessdict[selector]
+ setfunc(control, part, selector, data)
+ return
if not _codingdict.has_key(selector):
raise KeyError, ('Unknown control selector', selector)
structfmt, coder, decoder = _codingdict[selector]
@@ -20,6 +38,9 @@ def SetControlData(control, part, selector, data):
control.SetControlData(part, selector, data)
def GetControlData(control, part, selector):
+ if _accessdict.has_key(selector):
+ setfunc, getfunc = _accessdict[selector]
+ return getfunc(control, part, selector, data)
if not _codingdict.has_key(selector):
raise KeyError, ('Unknown control selector', selector)
structfmt, coder, decoder = _codingdict[selector]