/* ========================== Module Menu =========================== */ #include "Python.h" #define SystemSevenOrLater 1 #include "macglue.h" #include #include #include #include extern PyObject *ResObj_New(Handle); extern int ResObj_Convert(PyObject *, Handle *); extern PyObject *OptResObj_New(Handle); extern int OptResObj_Convert(PyObject *, Handle *); extern PyObject *WinObj_New(WindowPtr); extern int WinObj_Convert(PyObject *, WindowPtr *); extern PyTypeObject Window_Type; #define WinObj_Check(x) ((x)->ob_type == &Window_Type) extern PyObject *DlgObj_New(DialogPtr); extern int DlgObj_Convert(PyObject *, DialogPtr *); extern PyTypeObject Dialog_Type; #define DlgObj_Check(x) ((x)->ob_type == &Dialog_Type) extern PyObject *MenuObj_New(MenuHandle); extern int MenuObj_Convert(PyObject *, MenuHandle *); extern PyObject *CtlObj_New(ControlHandle); extern int CtlObj_Convert(PyObject *, ControlHandle *); extern PyObject *GrafObj_New(GrafPtr); extern int GrafObj_Convert(PyObject *, GrafPtr *); extern PyObject *BMObj_New(BitMapPtr); extern int BMObj_Convert(PyObject *, BitMapPtr *); extern PyObject *WinObj_WhichWindow(WindowPtr); #include /* Defines OpenDeskAcc in universal headers */ #include #define resNotFound -192 /* Can't include because of Python's "errors.h" */ static PyObject *Menu_Error; /* ------------------------ Object type Menu ------------------------ */ PyTypeObject Menu_Type; #define MenuObj_Check(x) ((x)->ob_type == &Menu_Type) typedef struct MenuObject { PyObject_HEAD MenuHandle ob_itself; } MenuObject; PyObject *MenuObj_New(itself) MenuHandle itself; { MenuObject *it; it = PyObject_NEW(MenuObject, &Menu_Type); if (it == NULL) return NULL; it->ob_itself = itself; return (PyObject *)it; } MenuObj_Convert(v, p_itself) PyObject *v; MenuHandle *p_itself; { if (!MenuObj_Check(v)) { PyErr_SetString(PyExc_TypeError, "Menu required"); return 0; } *p_itself = ((MenuObject *)v)->ob_itself; return 1; } static void MenuObj_dealloc(self) MenuObject *self; { /* Cleanup of self->ob_itself goes here */ PyMem_DEL(self); } static PyObject *MenuObj_DisposeMenu(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; if (!PyArg_ParseTuple(_args, "")) return NULL; DisposeMenu(_self->ob_itself); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_AppendMenu(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; Str255 data; if (!PyArg_ParseTuple(_args, "O&", PyMac_GetStr255, data)) return NULL; AppendMenu(_self->ob_itself, data); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_AppendResMenu(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; ResType theType; if (!PyArg_ParseTuple(_args, "O&", PyMac_GetOSType, &theType)) return NULL; AppendResMenu(_self->ob_itself, theType); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_InsertResMenu(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; ResType theType; short afterItem; if (!PyArg_ParseTuple(_args, "O&h", PyMac_GetOSType, &theType, &afterItem)) return NULL; InsertResMenu(_self->ob_itself, theType, afterItem); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_InsertMenu(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short beforeID; if (!PyArg_ParseTuple(_args, "h", &beforeID)) return NULL; InsertMenu(_self->ob_itself, beforeID); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_InsertMenuItem(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; Str255 itemString; short afterItem; if (!PyArg_ParseTuple(_args, "O&h", PyMac_GetStr255, itemString, &afterItem)) return NULL; InsertMenuItem(_self->ob_itself, itemString, afterItem); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_DeleteMenuItem(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; if (!PyArg_ParseTuple(_args, "h", &item)) return NULL; DeleteMenuItem(_self->ob_itself, item); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_SetMenuItemText(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; Str255 itemString; if (!PyArg_ParseTuple(_args, "hO&", &item, PyMac_GetStr255, itemString)) return NULL; SetMenuItemText(_self->ob_itself, item, itemString); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_GetMenuItemText(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; Str255 itemString; if (!PyArg_ParseTuple(_args, "h", &item)) return NULL; GetMenuItemText(_self->ob_itself, item, itemString); _res = Py_BuildValue("O&", PyMac_BuildStr255, itemString); return _res; } static PyObject *MenuObj_DisableItem(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; if (!PyArg_ParseTuple(_args, "h", &item)) return NULL; DisableItem(_self->ob_itself, item); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_EnableItem(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; if (!PyArg_ParseTuple(_args, "h", &item)) return NULL; EnableItem(_self->ob_itself, item); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_CheckItem(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; Boolean checked; if (!PyArg_ParseTuple(_args, "hb", &item, &checked)) return NULL; CheckItem(_self->ob_itself, item, checked); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_SetItemMark(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; short markChar; if (!PyArg_ParseTuple(_args, "hh", &item, &markChar)) return NULL; SetItemMark(_self->ob_itself, item, markChar); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_GetItemMark(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; short markChar; if (!PyArg_ParseTuple(_args, "h", &item)) return NULL; GetItemMark(_self->ob_itself, item, &markChar); _res = Py_BuildValue("h", markChar); return _res; } static PyObject *MenuObj_SetItemIcon(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; short iconIndex; if (!PyArg_ParseTuple(_args, "hh", &item, &iconIndex)) return NULL; SetItemIcon(_self->ob_itself, item, iconIndex); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_GetItemIcon(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; short iconIndex; if (!PyArg_ParseTuple(_args, "h", &item)) return NULL; GetItemIcon(_self->ob_itself, item, &iconIndex); _res = Py_BuildValue("h", iconIndex); return _res; } static PyObject *MenuObj_SetItemStyle(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; short chStyle; if (!PyArg_ParseTuple(_args, "hh", &item, &chStyle)) return NULL; SetItemStyle(_self->ob_itself, item, chStyle); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_GetItemStyle(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; Style chStyle; if (!PyArg_ParseTuple(_args, "h", &item)) return NULL; GetItemStyle(_self->ob_itself, item, &chStyle); _res = Py_BuildValue("b", chStyle); return _res; } static PyObject *MenuObj_CalcMenuSize(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; if (!PyArg_ParseTuple(_args, "")) return NULL; CalcMenuSize(_self->ob_itself); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_CountMItems(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short _rv; if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = CountMItems(_self->ob_itself); _res = Py_BuildValue("h", _rv); return _res; } static PyObject *MenuObj_GetItemCmd(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; short cmdChar; if (!PyArg_ParseTuple(_args, "h", &item)) return NULL; GetItemCmd(_self->ob_itself, item, &cmdChar); _res = Py_BuildValue("h", cmdChar); return _res; } static PyObject *MenuObj_SetItemCmd(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short item; short cmdChar; if (!PyArg_ParseTuple(_args, "hh", &item, &cmdChar)) return NULL; SetItemCmd(_self->ob_itself, item, cmdChar); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_PopUpMenuSelect(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; long _rv; short top; short left; short popUpItem; if (!PyArg_ParseTuple(_args, "hhh", &top, &left, &popUpItem)) return NULL; _rv = PopUpMenuSelect(_self->ob_itself, top, left, popUpItem); _res = Py_BuildValue("l", _rv); return _res; } static PyObject *MenuObj_InsertFontResMenu(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; short afterItem; short scriptFilter; if (!PyArg_ParseTuple(_args, "hh", &afterItem, &scriptFilter)) return NULL; InsertFontResMenu(_self->ob_itself, afterItem, scriptFilter); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_InsertIntlResMenu(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; ResType theType; short afterItem; short scriptFilter; if (!PyArg_ParseTuple(_args, "O&hh", PyMac_GetOSType, &theType, &afterItem, &scriptFilter)) return NULL; InsertIntlResMenu(_self->ob_itself, theType, afterItem, scriptFilter); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *MenuObj_as_Resource(_self, _args) MenuObject *_self; PyObject *_args; { PyObject *_res = NULL; return ResObj_New((Handle)_self->ob_itself); } static PyMethodDef MenuObj_methods[] = { {"DisposeMenu", (PyCFunction)MenuObj_DisposeMenu, 1, "() -> None"}, {"AppendMenu", (PyCFunction)MenuObj_AppendMenu, 1, "(Str255 data) -> None"}, {"AppendResMenu", (PyCFunction)MenuObj_AppendResMenu, 1, "(ResType theType) -> None"}, {"InsertResMenu", (PyCFunction)MenuObj_InsertResMenu, 1, "(ResType theType, short afterItem) -> None"}, {"InsertMenu", (PyCFunction)MenuObj_InsertMenu, 1, "(short beforeID) -> None"}, {"InsertMenuItem", (PyCFunction)MenuObj_InsertMenuItem, 1, "(Str255 itemString, short afterItem) -> None"}, {"DeleteMenuItem", (PyCFunction)MenuObj_DeleteMenuItem, 1, "(short item) -> None"}, {"SetMenuItemText", (PyCFunction)MenuObj_SetMenuItemText, 1, "(short item, Str255 itemString) -> None"}, {"GetMenuItemText", (PyCFunction)MenuObj_GetMenuItemText, 1, "(short item) -> (Str255 itemString)"}, {"DisableItem", (PyCFunction)MenuObj_DisableItem, 1, "(short item) -> None"}, {"EnableItem", (PyCFunction)MenuObj_EnableItem, 1, "(short item) -> None"}, {"CheckItem", (PyCFunction)MenuObj_CheckItem, 1, "(short item, Boolean checked) -> None"}, {"SetItemMark", (PyCFunction)MenuObj_SetItemMark, 1, "(short item, short markChar) -> None"}, {"GetItemMark", (PyCFunction)MenuObj_GetItemMark, 1, "(short item) -> (short markChar)"}, {"SetItemIcon", (PyCFunction)MenuObj_SetItemIcon, 1, "(short item, short iconIndex) -> None"}, {"GetItemIcon", (PyCFunction)MenuObj_GetItemIcon, 1, "(short item) -> (short iconIndex)"}, {"SetItemStyle", (PyCFunction)MenuObj_SetItemStyle, 1, "(short item, short chStyle) -> None"}, {"GetItemStyle", (PyCFunction)MenuObj_GetItemStyle, 1, "(short item) -> (Style chStyle)"}, {"CalcMenuSize", (PyCFunction)MenuObj_CalcMenuSize, 1, "() -> None"}, {"CountMItems", (PyCFunction)MenuObj_CountMItems, 1, "() -> (short _rv)"}, {"GetItemCmd", (PyCFunction)MenuObj_GetItemCmd, 1, "(short item) -> (short cmdChar)"}, {"SetItemCmd", (PyCFunction)MenuObj_SetItemCmd, 1, "(short item, short cmdChar) -> None"}, {"PopUpMenuSelect", (PyCFunction)MenuObj_PopUpMenuSelect, 1, "(short top, short left, short popUpItem) -> (long _rv)"}, {"InsertFontResMenu", (PyCFunction)MenuObj_InsertFontResMenu, 1, "(short afterItem, short scriptFilter) -> None"}, {"InsertIntlResMenu", (PyCFunction)MenuObj_InsertIntlResMenu, 1, "(ResType theType, short afterItem, short scriptFilter) -> None"}, {"as_Resource", (PyCFunction)MenuObj_as_Resource, 1, "Return this Menu as a Resource"}, {NULL, NULL, 0} }; PyMethodChain MenuObj_chain = { MenuObj_methods, NULL }; static PyObject *MenuObj_getattr(self, name) MenuObject *self; char *name; { return Py_FindMethodInChain(&MenuObj_chain, (PyObject *)self, name); } #define MenuObj_setattr NULL PyTypeObject Menu_Type = { PyObject_HEAD_INIT(&PyType_Type) 0, /*ob_size*/ "Menu", /*tp_name*/ sizeof(MenuObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ /* methods */ (destructor) MenuObj_dealloc, /*tp_dealloc*/ 0, /*tp_print*/ (getattrfunc) MenuObj_getattr, /*tp_getattr*/ (setattrfunc) MenuObj_setattr, /*tp_setattr*/ }; /* ---------------------- End object type Menu ---------------------- */ static PyObject *Menu_GetMBarHeight(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; short _rv; if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = GetMBarHeight(); _res = Py_BuildValue("h", _rv); return _res; } static PyObject *Menu_InitMenus(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; if (!PyArg_ParseTuple(_args, "")) return NULL; InitMenus(); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *Menu_NewMenu(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; MenuHandle _rv; short menuID; Str255 menuTitle; if (!PyArg_ParseTuple(_args, "hO&", &menuID, PyMac_GetStr255, menuTitle)) return NULL; _rv = NewMenu(menuID, menuTitle); _res = Py_BuildValue("O&", MenuObj_New, _rv); return _res; } static PyObject *Menu_GetMenu(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; MenuHandle _rv; short resourceID; if (!PyArg_ParseTuple(_args, "h", &resourceID)) return NULL; _rv = GetMenu(resourceID); _res = Py_BuildValue("O&", MenuObj_New, _rv); return _res; } static PyObject *Menu_DrawMenuBar(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; if (!PyArg_ParseTuple(_args, "")) return NULL; DrawMenuBar(); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *Menu_InvalMenuBar(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; if (!PyArg_ParseTuple(_args, "")) return NULL; InvalMenuBar(); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *Menu_DeleteMenu(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; short menuID; if (!PyArg_ParseTuple(_args, "h", &menuID)) return NULL; DeleteMenu(menuID); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *Menu_ClearMenuBar(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; if (!PyArg_ParseTuple(_args, "")) return NULL; ClearMenuBar(); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *Menu_GetNewMBar(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; Handle _rv; short menuBarID; if (!PyArg_ParseTuple(_args, "h", &menuBarID)) return NULL; _rv = GetNewMBar(menuBarID); _res = Py_BuildValue("O&", ResObj_New, _rv); return _res; } static PyObject *Menu_GetMenuBar(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; Handle _rv; if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = GetMenuBar(); _res = Py_BuildValue("O&", ResObj_New, _rv); return _res; } static PyObject *Menu_SetMenuBar(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; Handle menuList; if (!PyArg_ParseTuple(_args, "O&", ResObj_Convert, &menuList)) return NULL; SetMenuBar(menuList); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *Menu_MenuKey(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; long _rv; short ch; if (!PyArg_ParseTuple(_args, "h", &ch)) return NULL; _rv = MenuKey(ch); _res = Py_BuildValue("l", _rv); return _res; } static PyObject *Menu_HiliteMenu(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; short menuID; if (!PyArg_ParseTuple(_args, "h", &menuID)) return NULL; HiliteMenu(menuID); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *Menu_GetMenuHandle(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; MenuHandle _rv; short menuID; if (!PyArg_ParseTuple(_args, "h", &menuID)) return NULL; _rv = GetMenuHandle(menuID); _res = Py_BuildValue("O&", MenuObj_New, _rv); return _res; } static PyObject *Menu_FlashMenuBar(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; short menuID; if (!PyArg_ParseTuple(_args, "h", &menuID)) return NULL; FlashMenuBar(menuID); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *Menu_SetMenuFlash(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; short count; if (!PyArg_ParseTuple(_args, "h", &count)) return NULL; SetMenuFlash(count); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *Menu_MenuSelect(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; long _rv; Point startPt; if (!PyArg_ParseTuple(_args, "O&", PyMac_GetPoint, &startPt)) return NULL; _rv = MenuSelect(startPt); _res = Py_BuildValue("l", _rv); return _res; } static PyObject *Menu_InitProcMenu(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; short resID; if (!PyArg_ParseTuple(_args, "h", &resID)) return NULL; InitProcMenu(resID); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *Menu_MenuChoice(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; long _rv; if (!PyArg_ParseTuple(_args, "")) return NULL; _rv = MenuChoice(); _res = Py_BuildValue("l", _rv); return _res; } static PyObject *Menu_DeleteMCEntries(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; short menuID; short menuItem; if (!PyArg_ParseTuple(_args, "hh", &menuID, &menuItem)) return NULL; DeleteMCEntries(menuID, menuItem); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *Menu_SystemEdit(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; Boolean _rv; short editCmd; if (!PyArg_ParseTuple(_args, "h", &editCmd)) return NULL; _rv = SystemEdit(editCmd); _res = Py_BuildValue("b", _rv); return _res; } static PyObject *Menu_SystemMenu(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; long menuResult; if (!PyArg_ParseTuple(_args, "l", &menuResult)) return NULL; SystemMenu(menuResult); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *Menu_OpenDeskAcc(_self, _args) PyObject *_self; PyObject *_args; { PyObject *_res = NULL; Str255 name; if (!PyArg_ParseTuple(_args, "O&", PyMac_GetStr255, name)) return NULL; OpenDeskAcc(name); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyMethodDef Menu_methods[] = { {"GetMBarHeight", (PyCFunction)Menu_GetMBarHeight, 1, "() -> (short _rv)"}, {"InitMenus", (PyCFunction)Menu_InitMenus, 1, "() -> None"}, {"NewMenu", (PyCFunction)Menu_NewMenu, 1, "(short menuID, Str255 menuTitle) -> (MenuHandle _rv)"}, {"GetMenu", (PyCFunction)Menu_GetMenu, 1, "(short resourceID) -> (MenuHandle _rv)"}, {"DrawMenuBar", (PyCFunction)Menu_DrawMenuBar, 1, "() -> None"}, {"InvalMenuBar", (PyCFunction)Menu_InvalMenuBar, 1, "() -> None"}, {"DeleteMenu", (PyCFunction)Menu_DeleteMenu, 1, "(short menuID) -> None"}, {"ClearMenuBar", (PyCFunction)Menu_ClearMenuBar, 1, "() -> None"}, {"GetNewMBar", (PyCFunction)Menu_GetNewMBar, 1, "(short menuBarID) -> (Handle _rv)"}, {"GetMenuBar", (PyCFunction)Menu_GetMenuBar, 1, "() -> (Handle _rv)"}, {"SetMenuBar", (PyCFunction)Menu_SetMenuBar, 1, "(Handle menuList) -> None"}, {"MenuKey", (PyCFunction)Menu_MenuKey, 1, "(short ch) -> (long _rv)"}, {"HiliteMenu", (PyCFunction)Menu_HiliteMenu, 1, "(short menuID) -> None"}, {"GetMenuHandle", (PyCFunction)Menu_GetMenuHandle, 1, "(short menuID) -> (MenuHandle _rv)"}, {"FlashMenuBar", (PyCFunction)Menu_FlashMenuBar, 1, "(short menuID) -> None"}, {"SetMenuFlash", (PyCFunction)Menu_SetMenuFlash, 1, "(short count) -> None"}, {"MenuSelect", (PyCFunction)Menu_MenuSelect, 1, "(Point startPt) -> (long _rv)"}, {"InitProcMenu", (PyCFunction)Menu_InitProcMenu, 1, "(short resID) -> None"}, {"MenuChoice", (PyCFunction)Menu_MenuChoice, 1, "() -> (long _rv)"}, {"DeleteMCEntries", (PyCFunction)Menu_DeleteMCEntries, 1, "(short menuID, short menuItem) -> None"}, {"SystemEdit", (PyCFunction)Menu_SystemEdit, 1, "(short editCmd) -> (Boolean _rv)"}, {"SystemMenu", (PyCFunction)Menu_SystemMenu, 1, "(long menuResult) -> None"}, {"OpenDeskAcc", (PyCFunction)Menu_OpenDeskAcc, 1, "(Str255 name) -> None"}, {NULL, NULL, 0} }; void initMenu() { PyObject *m; PyObject *d; m = Py_InitModule("Menu", Menu_methods); d = PyModule_GetDict(m); Menu_Error = PyMac_GetOSErrException(); if (Menu_Error == NULL || PyDict_SetItemString(d, "Error", Menu_Error) != 0) Py_FatalError("can't initialize Menu.Error"); } /* ======================== End module Menu ========================= */