summaryrefslogtreecommitdiffstats
path: root/Mac/Modules/menu/menusupport.py
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2008-05-12 22:25:16 (GMT)
committerBenjamin Peterson <benjamin@python.org>2008-05-12 22:25:16 (GMT)
commit69a07fbd9b2c1e2d203532d4babbc6d874d389ee (patch)
tree822d06c6602339d309b30584ca0bfd05f5b56edc /Mac/Modules/menu/menusupport.py
parenta005b34f14fd4548c84886244b68d2c34e75edbd (diff)
downloadcpython-69a07fbd9b2c1e2d203532d4babbc6d874d389ee.zip
cpython-69a07fbd9b2c1e2d203532d4babbc6d874d389ee.tar.gz
cpython-69a07fbd9b2c1e2d203532d4babbc6d874d389ee.tar.bz2
Remove the Mac modules
Diffstat (limited to 'Mac/Modules/menu/menusupport.py')
-rw-r--r--Mac/Modules/menu/menusupport.py108
1 files changed, 0 insertions, 108 deletions
diff --git a/Mac/Modules/menu/menusupport.py b/Mac/Modules/menu/menusupport.py
deleted file mode 100644
index 93d489b..0000000
--- a/Mac/Modules/menu/menusupport.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# This script generates a Python interface for an Apple Macintosh Manager.
-# It uses the "bgen" package to generate C code.
-# The function specifications are generated by scanning the mamager's header file,
-# using the "scantools" package (customized for this particular manager).
-
-import string
-
-# Declarations that change for each manager
-MACHEADERFILE = 'Menus.h' # The Apple header file
-MODNAME = '_Menu' # The name of the module
-OBJECTNAME = 'Menu' # The basic name of the objects used here
-
-# The following is *usually* unchanged but may still require tuning
-MODPREFIX = 'Menu' # The prefix for module-wide routines
-OBJECTTYPE = OBJECTNAME + 'Handle' # The C type used to represent them
-OBJECTPREFIX = MODPREFIX + 'Obj' # The prefix for object methods
-INPUTFILE = string.lower(MODPREFIX) + 'gen.py' # The file generated by the scanner
-EXTRAFILE = string.lower(MODPREFIX) + 'edit.py' # A similar file but hand-made
-OUTPUTFILE = MODNAME + "module.c" # The file generated by this program
-
-from macsupport import *
-
-# Create the type objects
-
-MenuHandle = OpaqueByValueType(OBJECTTYPE, OBJECTPREFIX)
-MenuRef = MenuHandle
-OptMenuRef = OpaqueByValueType(OBJECTTYPE, "Opt" + OBJECTPREFIX)
-Handle = OpaqueByValueType("Handle", "ResObj")
-MenuBarHandle = OpaqueByValueType("MenuBarHandle", "ResObj")
-MenuID = Type("MenuID", "h")
-MenuItemIndex = Type("MenuItemIndex", "h")
-MenuItemID = Type("MenuItemID", "l")
-MenuCommand = Type("MenuCommand", "l")
-MenuAttributes = Type("MenuAttributes", "l")
-MenuItemAttributes = Type("MenuItemAttributes", "l")
-unsigned_char = Type('unsigned char', 'b')
-FMFontFamily = Type("FMFontFamily", "h")
-FMFontStyle = Type("FMFontStyle", "h")
-UniChar = Type("UniChar", "h")
-
-includestuff = includestuff + """
-#include <Carbon/Carbon.h>
-
-
-#ifdef USE_TOOLBOX_OBJECT_GLUE
-
-extern PyObject *_MenuObj_New(MenuHandle);
-extern int _MenuObj_Convert(PyObject *, MenuHandle *);
-
-#define MenuObj_New _MenuObj_New
-#define MenuObj_Convert _MenuObj_Convert
-#endif
-
-#define as_Menu(h) ((MenuHandle)h)
-#define as_Resource(h) ((Handle)h)
-
-
-/* Alternative version of MenuObj_New, which returns None for NULL argument */
-PyObject *OptMenuObj_New(MenuRef itself)
-{
- if (itself == NULL) {
- Py_INCREF(Py_None);
- return Py_None;
- }
- return MenuObj_New(itself);
-}
-
-/* Alternative version of MenuObj_Convert, which returns NULL for a None argument */
-int OptMenuObj_Convert(PyObject *v, MenuRef *p_itself)
-{
- if ( v == Py_None ) {
- *p_itself = NULL;
- return 1;
- }
- return MenuObj_Convert(v, p_itself);
-}
-"""
-
-initstuff = initstuff + """
- PyMac_INIT_TOOLBOX_OBJECT_NEW(MenuHandle, MenuObj_New);
- PyMac_INIT_TOOLBOX_OBJECT_CONVERT(MenuHandle, MenuObj_Convert);
-"""
-
-class MyObjectDefinition(PEP253Mixin, GlobalObjectDefinition):
- pass
-
-# Create the generator groups and link them
-module = MacModule(MODNAME, MODPREFIX, includestuff, finalstuff, initstuff)
-object = MyObjectDefinition(OBJECTNAME, OBJECTPREFIX, OBJECTTYPE)
-module.addobject(object)
-
-# Create the generator classes used to populate the lists
-Function = OSErrWeakLinkFunctionGenerator
-Method = OSErrWeakLinkMethodGenerator
-
-# Create and populate the lists
-functions = []
-methods = []
-exec(open(INPUTFILE).read())
-exec(open(EXTRAFILE).read())
-
-# add the populated lists to the generator groups
-for f in functions: module.add(f)
-for f in methods: object.add(f)
-
-# generate output (open the output file as late as possible)
-SetOutputFileName(OUTPUTFILE)
-module.generate()