summaryrefslogtreecommitdiffstats
path: root/Mac/Modules/app
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/Modules/app')
-rw-r--r--Mac/Modules/app/appscan.py120
-rw-r--r--Mac/Modules/app/appsupport.py43
2 files changed, 81 insertions, 82 deletions
diff --git a/Mac/Modules/app/appscan.py b/Mac/Modules/app/appscan.py
index 822651d..1b04859 100644
--- a/Mac/Modules/app/appscan.py
+++ b/Mac/Modules/app/appscan.py
@@ -11,71 +11,71 @@ SHORT = "app"
OBJECT = "ThemeDrawingState"
def main():
- input = LONG + ".h"
- output = SHORT + "gen.py"
- defsoutput = TOOLBOXDIR + LONG + ".py"
- scanner = MyScanner(input, output, defsoutput)
- scanner.scan()
- scanner.close()
- print "=== Testing definitions output code ==="
- execfile(defsoutput, {}, {})
- print "=== Done scanning and generating, now importing the generated code... ==="
- exec "import " + SHORT + "support"
- print "=== Done. It's up to you to compile it now! ==="
+ input = LONG + ".h"
+ output = SHORT + "gen.py"
+ defsoutput = TOOLBOXDIR + LONG + ".py"
+ scanner = MyScanner(input, output, defsoutput)
+ scanner.scan()
+ scanner.close()
+ print "=== Testing definitions output code ==="
+ execfile(defsoutput, {}, {})
+ print "=== Done scanning and generating, now importing the generated code... ==="
+ exec "import " + SHORT + "support"
+ print "=== Done. It's up to you to compile it now! ==="
class MyScanner(Scanner):
- def destination(self, type, name, arglist):
- classname = "Function"
- listname = "functions"
- if arglist:
- t, n, m = arglist[0]
- # This is non-functional today
- if t == OBJECT and m == "InMode":
- classname = "Method"
- listname = "methods"
- return classname, listname
+ def destination(self, type, name, arglist):
+ classname = "Function"
+ listname = "functions"
+ if arglist:
+ t, n, m = arglist[0]
+ # This is non-functional today
+ if t == OBJECT and m == "InMode":
+ classname = "Method"
+ listname = "methods"
+ return classname, listname
- def writeinitialdefs(self):
- self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
+ def writeinitialdefs(self):
+ self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
- def makeblacklistnames(self):
- return [
- "GetThemeFont", # Funny stringbuffer in/out parameter, I think...
- # Constants with funny definitions
- "appearanceBadBrushIndexErr",
- "appearanceProcessRegisteredErr",
- "appearanceProcessNotRegisteredErr",
- "appearanceBadTextColorIndexErr",
- "appearanceThemeHasNoAccents",
- "appearanceBadCursorIndexErr",
- ]
+ def makeblacklistnames(self):
+ return [
+ "GetThemeFont", # Funny stringbuffer in/out parameter, I think...
+ # Constants with funny definitions
+ "appearanceBadBrushIndexErr",
+ "appearanceProcessRegisteredErr",
+ "appearanceProcessNotRegisteredErr",
+ "appearanceBadTextColorIndexErr",
+ "appearanceThemeHasNoAccents",
+ "appearanceBadCursorIndexErr",
+ ]
- def makeblacklisttypes(self):
- return [
- "MenuTitleDrawingUPP",
- "MenuItemDrawingUPP",
- "ThemeIteratorUPP",
- "ThemeTabTitleDrawUPP",
-# "ThemeEraseUPP",
-# "ThemeButtonDrawUPP",
- "WindowTitleDrawingUPP",
- "ProcessSerialNumber_ptr", # Too much work for now.
- "ThemeTrackDrawInfo_ptr", # Too much work
-# "ThemeButtonDrawInfo_ptr", # ditto
- "ThemeWindowMetrics_ptr", # ditto
-# "ThemeDrawingState", # This is an opaque pointer, so it should be simple. Later.
- "Collection", # No interface to collection mgr yet.
- "BytePtr", # Not yet.
- ]
+ def makeblacklisttypes(self):
+ return [
+ "MenuTitleDrawingUPP",
+ "MenuItemDrawingUPP",
+ "ThemeIteratorUPP",
+ "ThemeTabTitleDrawUPP",
+# "ThemeEraseUPP",
+# "ThemeButtonDrawUPP",
+ "WindowTitleDrawingUPP",
+ "ProcessSerialNumber_ptr", # Too much work for now.
+ "ThemeTrackDrawInfo_ptr", # Too much work
+# "ThemeButtonDrawInfo_ptr", # ditto
+ "ThemeWindowMetrics_ptr", # ditto
+# "ThemeDrawingState", # This is an opaque pointer, so it should be simple. Later.
+ "Collection", # No interface to collection mgr yet.
+ "BytePtr", # Not yet.
+ ]
+
+ def makerepairinstructions(self):
+ return [
+ ([("void", 'inContext', "OutMode")],
+ [("NULL", 'inContext', "InMode")]),
+ ([("Point", 'ioBounds', "OutMode")],
+ [("Point", 'ioBounds', "InOutMode")]),
+ ]
- def makerepairinstructions(self):
- return [
- ([("void", 'inContext', "OutMode")],
- [("NULL", 'inContext', "InMode")]),
- ([("Point", 'ioBounds', "OutMode")],
- [("Point", 'ioBounds', "InOutMode")]),
- ]
-
if __name__ == "__main__":
- main()
+ main()
diff --git a/Mac/Modules/app/appsupport.py b/Mac/Modules/app/appsupport.py
index a9d8768..177dfd5 100644
--- a/Mac/Modules/app/appsupport.py
+++ b/Mac/Modules/app/appsupport.py
@@ -6,17 +6,17 @@
import string
# Declarations that change for each manager
-MACHEADERFILE = 'Appearance.h' # The Apple header file
-MODNAME = '_App' # The name of the module
-OBJECTNAME = 'ThemeDrawingState' # The basic name of the objects used here
-KIND = '' # Usually 'Ptr' or 'Handle'
+MACHEADERFILE = 'Appearance.h' # The Apple header file
+MODNAME = '_App' # The name of the module
+OBJECTNAME = 'ThemeDrawingState' # The basic name of the objects used here
+KIND = '' # Usually 'Ptr' or 'Handle'
# The following is *usually* unchanged but may still require tuning
-MODPREFIX = 'App' # The prefix for module-wide routines
-OBJECTTYPE = OBJECTNAME + KIND # The C type used to represent them
-OBJECTPREFIX = OBJECTNAME + 'Obj' # The prefix for object methods
+MODPREFIX = 'App' # The prefix for module-wide routines
+OBJECTTYPE = OBJECTNAME + KIND # The C type used to represent them
+OBJECTPREFIX = OBJECTNAME + 'Obj' # The prefix for object methods
INPUTFILE = string.lower(MODPREFIX) + 'gen.py' # The file generated by the scanner
-OUTPUTFILE = MODNAME + "module.c" # The file generated by this program
+OUTPUTFILE = MODNAME + "module.c" # The file generated by this program
from macsupport import *
@@ -84,24 +84,24 @@ includestuff = includestuff + """
int ThemeButtonDrawInfo_Convert(PyObject *v, ThemeButtonDrawInfo *p_itself)
{
- return PyArg_Parse(v, "(iHH)", &p_itself->state, &p_itself->value, &p_itself->adornment);
+ return PyArg_Parse(v, "(iHH)", &p_itself->state, &p_itself->value, &p_itself->adornment);
}
"""
class MyObjectDefinition(PEP253Mixin, GlobalObjectDefinition):
- pass
-## def outputCheckNewArg(self):
-## Output("if (itself == NULL) return PyMac_Error(resNotFound);")
-## def outputCheckConvertArg(self):
-## OutLbrace("if (DlgObj_Check(v))")
-## Output("*p_itself = ((WindowObject *)v)->ob_itself;")
-## Output("return 1;")
-## OutRbrace()
-## Out("""
-## if (v == Py_None) { *p_itself = NULL; return 1; }
-## if (PyInt_Check(v)) { *p_itself = (WindowPtr)PyInt_AsLong(v); return 1; }
-## """)
+ pass
+## def outputCheckNewArg(self):
+## Output("if (itself == NULL) return PyMac_Error(resNotFound);")
+## def outputCheckConvertArg(self):
+## OutLbrace("if (DlgObj_Check(v))")
+## Output("*p_itself = ((WindowObject *)v)->ob_itself;")
+## Output("return 1;")
+## OutRbrace()
+## Out("""
+## if (v == Py_None) { *p_itself = NULL; return 1; }
+## if (PyInt_Check(v)) { *p_itself = (WindowPtr)PyInt_AsLong(v); return 1; }
+## """)
# From here on it's basically all boiler plate...
@@ -131,4 +131,3 @@ for f in methods: object.add(f)
# generate output (open the output file as late as possible)
SetOutputFileName(OUTPUTFILE)
module.generate()
-