Mercurial > cpython-lru_cache-weakref
view Mac/Modules/ctl/ctlscan.py @ 5817:48b94de85bf3 legacy-trunk
Extensive changes by AMK.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 17 Jul 1997 16:29:42 +0000 |
| parents | 852ca23c80cc |
| children | 36df4434b3b3 |
line wrap: on
line source
# Scan <Controls.h>, generating ctlgen.py. import addpack addpack.addpack(':Tools:bgen:bgen') from scantools import Scanner from bgenlocations import TOOLBOXDIR def main(): input = "Controls.h" output = "ctlgen.py" defsoutput = TOOLBOXDIR + "Controls.py" scanner = MyScanner(input, output, defsoutput) scanner.scan() scanner.close() 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 makeblacklistnames(self): return [ 'DisposeControl', # Generated manually 'KillControls', # Implied by close of dialog 'SetCtlAction', ] def makeblacklisttypes(self): return [ 'ProcPtr', 'ControlActionUPP', 'CCTabHandle', 'AuxCtlHandle', ] 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')", "*", "*")]), ([("ControlHandle", "*", "OutMode")], [("ExistingControlHandle", "*", "*")]), ([("ControlRef", "*", "OutMode")], # Ditto, for Universal Headers [("ExistingControlHandle", "*", "*")]), ] if __name__ == "__main__": main()
