Support keys that have a Handle as parameter, by using the new GetControlDataHandle and SetControlDataHandle methods.
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 @@
 	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]