summaryrefslogtreecommitdiffstats
path: root/Mac/Modules/ctl/ctlscan.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/Modules/ctl/ctlscan.py')
-rw-r--r--Mac/Modules/ctl/ctlscan.py316
1 files changed, 158 insertions, 158 deletions
diff --git a/Mac/Modules/ctl/ctlscan.py b/Mac/Modules/ctl/ctlscan.py
index 818541e..25333f1 100644
--- a/Mac/Modules/ctl/ctlscan.py
+++ b/Mac/Modules/ctl/ctlscan.py
@@ -7,166 +7,166 @@ sys.path.append(BGENDIR)
from scantools import Scanner
def main():
-# input = "Controls.h" # Universal Headers < 3.3
- input = ["Controls.h", "ControlDefinitions.h"] # Universal Headers >= 3.3
- output = "ctlgen.py"
- defsoutput = TOOLBOXDIR + "Controls.py"
- scanner = MyScanner(input, output, defsoutput)
- scanner.scan()
- scanner.close()
- print "=== Testing definitions output code ==="
- execfile(defsoutput, {}, {})
- print "=== Done scanning and generating, now doing 'import ctlsupport' ==="
- import ctlsupport
- print "=== Done. It's up to you to compile Ctlmodule.c ==="
+# input = "Controls.h" # Universal Headers < 3.3
+ input = ["Controls.h", "ControlDefinitions.h"] # Universal Headers >= 3.3
+ output = "ctlgen.py"
+ defsoutput = TOOLBOXDIR + "Controls.py"
+ scanner = MyScanner(input, output, defsoutput)
+ scanner.scan()
+ scanner.close()
+ print "=== Testing definitions output code ==="
+ execfile(defsoutput, {}, {})
+ print "=== Done scanning and generating, now doing 'import ctlsupport' ==="
+ import ctlsupport
+ print "=== Done. It's up to you to compile Ctlmodule.c ==="
class MyScanner(Scanner):
- def destination(self, type, name, arglist):
- classname = "Function"
- listname = "functions"
- if arglist:
- t, n, m = arglist[0]
- if t in ("ControlHandle", "ControlRef") and m == "InMode":
- classname = "Method"
- listname = "methods"
- return classname, listname
-
- def writeinitialdefs(self):
- self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
- self.defsfile.write("from Carbon.TextEdit import *\n")
- self.defsfile.write("from Carbon.QuickDraw import *\n")
- self.defsfile.write("from Carbon.Dragconst import *\n")
- self.defsfile.write("from Carbon.CarbonEvents import *\n")
- self.defsfile.write("from Carbon.Appearance import *\n")
- self.defsfile.write("kDataBrowserItemAnyState = -1\n")
- self.defsfile.write("kControlBevelButtonCenterPopupGlyphTag = -1\n")
- self.defsfile.write("kDataBrowserClientPropertyFlagsMask = 0xFF000000\n")
- self.defsfile.write("\n")
-
- def makeblacklistnames(self):
- return [
- 'FindControlUnderMouse', # Generated manually, returns an existing control, not a new one.
- 'DisposeControl', # Generated manually
- 'KillControls', # Implied by close of dialog
- 'SetCtlAction',
- 'TrackControl', # Generated manually
- 'HandleControlClick', # Generated manually
- 'SetControlData', # Generated manually
- 'GetControlData', # Generated manually
- 'kControlBevelButtonCenterPopupGlyphTag', # Constant with funny definition
- 'kDataBrowserClientPropertyFlagsMask', # ditto
- 'kDataBrowserItemAnyState', # and ditto
- # The following are unavailable for static 68k (appearance manager)
-## 'GetBevelButtonMenuValue',
-## 'SetBevelButtonMenuValue',
-## 'GetBevelButtonMenuHandle',
-## 'SetBevelButtonTransform',
- 'SetBevelButtonGraphicAlignment',
- 'SetBevelButtonTextAlignment',
- 'SetBevelButtonTextPlacement',
-## 'SetImageWellTransform',
-## 'GetTabContentRect',
-## 'SetTabEnabled',
-## 'SetDisclosureTriangleLastValue',
-## # Unavailable in CW Pro 3 libraries
-## 'SetUpControlTextColor',
-## # Unavailable in Jack's CW Pro 5.1 libraries
-## 'GetControlRegion',
-## 'RemoveControlProperty',
-## 'IsValidControlHandle',
-## 'SetControl32BitMinimum',
-## 'GetControl32BitMinimum',
-## 'SetControl32BitMaximum',
-## 'GetControl32BitMaximum',
-## 'SetControl32BitValue',
-## 'GetControl32BitValue',
-## 'SetControlViewSize',
-## 'GetControlViewSize',
- # Generally Bad News
- 'GetControlProperty',
- 'SetControlProperty',
- 'GetControlPropertySize',
- 'SendControlMessage', # Parameter changed from long to void* from UH3.3 to UH3.4
- 'CreateTabsControl', # wrote manually
- 'GetControlAction', # too much effort for too little usefulness
-
- # too lazy for now
- 'GetImageWellContentInfo',
- 'GetBevelButtonContentInfo',
- # OS8 only
- 'GetAuxiliaryControlRecord',
- 'SetControlColor',
- ]
-
- def makeblacklisttypes(self):
- return [
- 'ProcPtr',
-# 'ControlActionUPP',
- 'Ptr',
- 'ControlDefSpec', # Don't know how to do this yet
- 'ControlDefSpec_ptr', # ditto
- 'Collection', # Ditto
- # not-yet-supported stuff in Universal Headers 3.4:
- 'ControlColorUPP',
- 'ControlKind', # XXX easy: 2-tuple containing 2 OSType's
-# 'ControlTabEntry_ptr', # XXX needed for tabs
-# 'ControlButtonContentInfoPtr',
-# 'ControlButtonContentInfo', # XXX ugh: a union
-# 'ControlButtonContentInfo_ptr', # XXX ugh: a union
- 'ListDefSpec_ptr', # XXX see _Listmodule.c, tricky but possible
- 'DataBrowserItemID_ptr', # XXX array of UInt32, for BrowserView
- 'DataBrowserItemUPP',
- 'DataBrowserItemDataRef', # XXX void *
- 'DataBrowserCallbacks', # difficult struct
- 'DataBrowserCallbacks_ptr',
- 'DataBrowserCustomCallbacks',
- 'DataBrowserCustomCallbacks_ptr',
-## 'DataBrowserTableViewColumnDesc',
-## 'DataBrowserListViewColumnDesc',
- 'CFDataRef',
- 'DataBrowserListViewHeaderDesc', # difficult struct
- ]
-
- def makerepairinstructions(self):
- return [
- ([("void_ptr", "*", "InMode"), ("long", "*", "InMode")],
- [("InBuffer", "*", "*")]),
-
- ([("void", "*", "OutMode"), ("long", "*", "InMode"),
- ("long", "*", "OutMode")],
- [("VarVarOutBuffer", "*", "InOutMode")]),
-
-## # For TrackControl
-## ([("ProcPtr", "actionProc", "InMode")],
-## [("FakeType('(ControlActionUPP)0')", "*", "*")]),
-## ([("ControlActionUPP", "actionProc", "InMode")],
-## [("FakeType('(ControlActionUPP)0')", "*", "*")]),
-
- # For GetControlTitle
- ([('Str255', 'title', 'InMode')],
- [('Str255', 'title', 'OutMode')]),
-
- ([("ControlHandle", "*", "OutMode")],
- [("ExistingControlHandle", "*", "*")]),
- ([("ControlRef", "*", "OutMode")], # Ditto, for Universal Headers
- [("ExistingControlHandle", "*", "*")]),
-
- ([("Rect_ptr", "*", "ReturnMode")], # GetControlBounds
- [("void", "*", "ReturnMode")]),
-
- ([("DataBrowserListViewColumnDesc", "*", "OutMode")],
- [("DataBrowserListViewColumnDesc", "*", "InMode")]),
-
- ([("ControlButtonContentInfoPtr", 'outContent', "InMode")],
- [("ControlButtonContentInfoPtr", '*', "OutMode")]),
-
- ([("ControlButtonContentInfo", '*', "OutMode")],
- [("ControlButtonContentInfo", '*', "InMode")]),
-
- ([("ControlActionUPP", 'liveTrackingProc', "InMode")],
- [("ControlActionUPPNewControl", 'liveTrackingProc', "InMode")]),
- ]
+ def destination(self, type, name, arglist):
+ classname = "Function"
+ listname = "functions"
+ if arglist:
+ t, n, m = arglist[0]
+ if t in ("ControlHandle", "ControlRef") and m == "InMode":
+ classname = "Method"
+ listname = "methods"
+ return classname, listname
+
+ def writeinitialdefs(self):
+ self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
+ self.defsfile.write("from Carbon.TextEdit import *\n")
+ self.defsfile.write("from Carbon.QuickDraw import *\n")
+ self.defsfile.write("from Carbon.Dragconst import *\n")
+ self.defsfile.write("from Carbon.CarbonEvents import *\n")
+ self.defsfile.write("from Carbon.Appearance import *\n")
+ self.defsfile.write("kDataBrowserItemAnyState = -1\n")
+ self.defsfile.write("kControlBevelButtonCenterPopupGlyphTag = -1\n")
+ self.defsfile.write("kDataBrowserClientPropertyFlagsMask = 0xFF000000\n")
+ self.defsfile.write("\n")
+
+ def makeblacklistnames(self):
+ return [
+ 'FindControlUnderMouse', # Generated manually, returns an existing control, not a new one.
+ 'DisposeControl', # Generated manually
+ 'KillControls', # Implied by close of dialog
+ 'SetCtlAction',
+ 'TrackControl', # Generated manually
+ 'HandleControlClick', # Generated manually
+ 'SetControlData', # Generated manually
+ 'GetControlData', # Generated manually
+ 'kControlBevelButtonCenterPopupGlyphTag', # Constant with funny definition
+ 'kDataBrowserClientPropertyFlagsMask', # ditto
+ 'kDataBrowserItemAnyState', # and ditto
+ # The following are unavailable for static 68k (appearance manager)
+## 'GetBevelButtonMenuValue',
+## 'SetBevelButtonMenuValue',
+## 'GetBevelButtonMenuHandle',
+## 'SetBevelButtonTransform',
+ 'SetBevelButtonGraphicAlignment',
+ 'SetBevelButtonTextAlignment',
+ 'SetBevelButtonTextPlacement',
+## 'SetImageWellTransform',
+## 'GetTabContentRect',
+## 'SetTabEnabled',
+## 'SetDisclosureTriangleLastValue',
+## # Unavailable in CW Pro 3 libraries
+## 'SetUpControlTextColor',
+## # Unavailable in Jack's CW Pro 5.1 libraries
+## 'GetControlRegion',
+## 'RemoveControlProperty',
+## 'IsValidControlHandle',
+## 'SetControl32BitMinimum',
+## 'GetControl32BitMinimum',
+## 'SetControl32BitMaximum',
+## 'GetControl32BitMaximum',
+## 'SetControl32BitValue',
+## 'GetControl32BitValue',
+## 'SetControlViewSize',
+## 'GetControlViewSize',
+ # Generally Bad News
+ 'GetControlProperty',
+ 'SetControlProperty',
+ 'GetControlPropertySize',
+ 'SendControlMessage', # Parameter changed from long to void* from UH3.3 to UH3.4
+ 'CreateTabsControl', # wrote manually
+ 'GetControlAction', # too much effort for too little usefulness
+
+ # too lazy for now
+ 'GetImageWellContentInfo',
+ 'GetBevelButtonContentInfo',
+ # OS8 only
+ 'GetAuxiliaryControlRecord',
+ 'SetControlColor',
+ ]
+
+ def makeblacklisttypes(self):
+ return [
+ 'ProcPtr',
+# 'ControlActionUPP',
+ 'Ptr',
+ 'ControlDefSpec', # Don't know how to do this yet
+ 'ControlDefSpec_ptr', # ditto
+ 'Collection', # Ditto
+ # not-yet-supported stuff in Universal Headers 3.4:
+ 'ControlColorUPP',
+ 'ControlKind', # XXX easy: 2-tuple containing 2 OSType's
+# 'ControlTabEntry_ptr', # XXX needed for tabs
+# 'ControlButtonContentInfoPtr',
+# 'ControlButtonContentInfo', # XXX ugh: a union
+# 'ControlButtonContentInfo_ptr', # XXX ugh: a union
+ 'ListDefSpec_ptr', # XXX see _Listmodule.c, tricky but possible
+ 'DataBrowserItemID_ptr', # XXX array of UInt32, for BrowserView
+ 'DataBrowserItemUPP',
+ 'DataBrowserItemDataRef', # XXX void *
+ 'DataBrowserCallbacks', # difficult struct
+ 'DataBrowserCallbacks_ptr',
+ 'DataBrowserCustomCallbacks',
+ 'DataBrowserCustomCallbacks_ptr',
+## 'DataBrowserTableViewColumnDesc',
+## 'DataBrowserListViewColumnDesc',
+ 'CFDataRef',
+ 'DataBrowserListViewHeaderDesc', # difficult struct
+ ]
+
+ def makerepairinstructions(self):
+ return [
+ ([("void_ptr", "*", "InMode"), ("long", "*", "InMode")],
+ [("InBuffer", "*", "*")]),
+
+ ([("void", "*", "OutMode"), ("long", "*", "InMode"),
+ ("long", "*", "OutMode")],
+ [("VarVarOutBuffer", "*", "InOutMode")]),
+
+## # For TrackControl
+## ([("ProcPtr", "actionProc", "InMode")],
+## [("FakeType('(ControlActionUPP)0')", "*", "*")]),
+## ([("ControlActionUPP", "actionProc", "InMode")],
+## [("FakeType('(ControlActionUPP)0')", "*", "*")]),
+
+ # For GetControlTitle
+ ([('Str255', 'title', 'InMode')],
+ [('Str255', 'title', 'OutMode')]),
+
+ ([("ControlHandle", "*", "OutMode")],
+ [("ExistingControlHandle", "*", "*")]),
+ ([("ControlRef", "*", "OutMode")], # Ditto, for Universal Headers
+ [("ExistingControlHandle", "*", "*")]),
+
+ ([("Rect_ptr", "*", "ReturnMode")], # GetControlBounds
+ [("void", "*", "ReturnMode")]),
+
+ ([("DataBrowserListViewColumnDesc", "*", "OutMode")],
+ [("DataBrowserListViewColumnDesc", "*", "InMode")]),
+
+ ([("ControlButtonContentInfoPtr", 'outContent', "InMode")],
+ [("ControlButtonContentInfoPtr", '*', "OutMode")]),
+
+ ([("ControlButtonContentInfo", '*', "OutMode")],
+ [("ControlButtonContentInfo", '*', "InMode")]),
+
+ ([("ControlActionUPP", 'liveTrackingProc', "InMode")],
+ [("ControlActionUPPNewControl", 'liveTrackingProc', "InMode")]),
+ ]
if __name__ == "__main__":
- main()
+ main()