summaryrefslogtreecommitdiffstats
path: root/Mac/Modules/carbonevt/CarbonEvtscan.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/Modules/carbonevt/CarbonEvtscan.py')
-rw-r--r--Mac/Modules/carbonevt/CarbonEvtscan.py91
1 files changed, 91 insertions, 0 deletions
diff --git a/Mac/Modules/carbonevt/CarbonEvtscan.py b/Mac/Modules/carbonevt/CarbonEvtscan.py
new file mode 100644
index 0000000..96f9b55
--- /dev/null
+++ b/Mac/Modules/carbonevt/CarbonEvtscan.py
@@ -0,0 +1,91 @@
+# IBCarbonscan.py
+
+import sys
+import os
+import string
+import MacOS
+
+BGENDIR= '/Users/dsp/Documents/python/dist/src/Tools/bgen/bgen'
+sys.path.append(BGENDIR)
+
+from bgenlocations import TOOLBOXDIR
+
+from scantools import Scanner, Scanner_OSX
+
+def main():
+ print "---Scanning CarbonEvents.h---"
+ input = ["CarbonEvents.h"]
+ output = "CarbonEventsgen.py"
+ defsoutput = TOOLBOXDIR + "CarbonEvents.py"
+ scanner = CarbonEvents_Scanner(input, output, defsoutput)
+ scanner.scan()
+ scanner.close()
+ print "--done scanning, importing--"
+ import CarbonEventssupport
+ print "done"
+
+RefObjectTypes = ["EventRef",
+ "EventQueueRef",
+ "EventLoopRef",
+ "EventLoopTimerRef",
+ "EventHandlerRef",
+ "EventHandlerCallRef",
+ "EventTargetRef",
+ "EventHotKeyRef",
+ ]
+
+class CarbonEvents_Scanner(Scanner):
+ def destination(self, type, name, arglist):
+ classname = "CarbonEventsFunction"
+ listname = "functions"
+ if arglist:
+ t, n, m = arglist[0]
+ print "*********", t,
+ if t in RefObjectTypes and m == "InMode":
+ print "method"
+ classname = "CarbonEventsMethod"
+ listname = t + "methods"
+ else:
+ print "not method"
+ return classname, listname
+
+ def makeblacklistnames(self):
+ return [
+ "MacCreateEvent",
+ "TrackMouseLocationWithOptions",
+ "TrackMouseLocation",
+ "TrackMouseRegion",
+ "RegisterToolboxObjectClass",
+ "UnregisterToolboxObjectClass",
+ "ProcessHICommand",
+ "GetCFRunLoopFromEventLoop",
+
+ "InvokeEventHandlerUPP",
+ "InvokeEventComparatorUPP",
+ "InvokeEventLoopTimerUPP",
+
+ # Wrote by hand
+ "InstallEventHandler",
+ "RunApplicationEventLoop",
+
+ # Write by hand?
+ "GetEventParameter",
+ "FlushSpecificEventsFromQueue",
+ "FindSpecificEventInQueue",
+ "InstallEventLoopTimer",
+
+ # Don't do these because they require a CFRelease
+ "CreateTypeStringWithOSType",
+ "CopyEvent",
+ ]
+
+# def makeblacklisttypes(self):
+# return ["EventComparatorUPP",
+# "EventLoopTimerUPP",
+# #"EventHandlerUPP",
+# "EventComparatorProcPtr",
+# "EventLoopTimerProcPtr",
+# "EventHandlerProcPtr",
+# ]
+if __name__ == "__main__":
+ main()