| |
| /* ========================== Module Help =========================== */ |
| |
| #include "Python.h" |
| |
| |
| |
| #define SystemSevenOrLater 1 |
| |
| #include "macglue.h" |
| #include <Memory.h> |
| #include <Dialogs.h> |
| #include <Menus.h> |
| #include <Controls.h> |
| |
| 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 <Balloons.h> |
| |
| #define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */ |
| |
| static PyObject *Help_Error; |
| |
| static PyObject *Help_HMGetHelpMenuHandle(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| OSErr _err; |
| MenuHandle mh; |
| if (!PyArg_ParseTuple(_args, "")) |
| return NULL; |
| _err = HMGetHelpMenuHandle(&mh); |
| if (_err != noErr) return PyMac_Error(_err); |
| _res = Py_BuildValue("O&", |
| MenuObj_New, mh); |
| return _res; |
| } |
| |
| static PyObject *Help_HMRemoveBalloon(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| OSErr _err; |
| if (!PyArg_ParseTuple(_args, "")) |
| return NULL; |
| _err = HMRemoveBalloon(); |
| if (_err != noErr) return PyMac_Error(_err); |
| Py_INCREF(Py_None); |
| _res = Py_None; |
| return _res; |
| } |
| |
| static PyObject *Help_HMIsBalloon(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| Boolean _rv; |
| if (!PyArg_ParseTuple(_args, "")) |
| return NULL; |
| _rv = HMIsBalloon(); |
| _res = Py_BuildValue("b", |
| _rv); |
| return _res; |
| } |
| |
| static PyObject *Help_HMGetBalloons(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| Boolean _rv; |
| if (!PyArg_ParseTuple(_args, "")) |
| return NULL; |
| _rv = HMGetBalloons(); |
| _res = Py_BuildValue("b", |
| _rv); |
| return _res; |
| } |
| |
| static PyObject *Help_HMSetBalloons(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| OSErr _err; |
| Boolean flag; |
| if (!PyArg_ParseTuple(_args, "b", |
| &flag)) |
| return NULL; |
| _err = HMSetBalloons(flag); |
| if (_err != noErr) return PyMac_Error(_err); |
| Py_INCREF(Py_None); |
| _res = Py_None; |
| return _res; |
| } |
| |
| static PyObject *Help_HMSetFont(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| OSErr _err; |
| SInt16 font; |
| if (!PyArg_ParseTuple(_args, "h", |
| &font)) |
| return NULL; |
| _err = HMSetFont(font); |
| if (_err != noErr) return PyMac_Error(_err); |
| Py_INCREF(Py_None); |
| _res = Py_None; |
| return _res; |
| } |
| |
| static PyObject *Help_HMSetFontSize(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| OSErr _err; |
| UInt16 fontSize; |
| if (!PyArg_ParseTuple(_args, "h", |
| &fontSize)) |
| return NULL; |
| _err = HMSetFontSize(fontSize); |
| if (_err != noErr) return PyMac_Error(_err); |
| Py_INCREF(Py_None); |
| _res = Py_None; |
| return _res; |
| } |
| |
| static PyObject *Help_HMGetFont(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| OSErr _err; |
| SInt16 font; |
| if (!PyArg_ParseTuple(_args, "")) |
| return NULL; |
| _err = HMGetFont(&font); |
| if (_err != noErr) return PyMac_Error(_err); |
| _res = Py_BuildValue("h", |
| font); |
| return _res; |
| } |
| |
| static PyObject *Help_HMGetFontSize(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| OSErr _err; |
| UInt16 fontSize; |
| if (!PyArg_ParseTuple(_args, "")) |
| return NULL; |
| _err = HMGetFontSize(&fontSize); |
| if (_err != noErr) return PyMac_Error(_err); |
| _res = Py_BuildValue("h", |
| fontSize); |
| return _res; |
| } |
| |
| static PyObject *Help_HMSetDialogResID(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| OSErr _err; |
| SInt16 resID; |
| if (!PyArg_ParseTuple(_args, "h", |
| &resID)) |
| return NULL; |
| _err = HMSetDialogResID(resID); |
| if (_err != noErr) return PyMac_Error(_err); |
| Py_INCREF(Py_None); |
| _res = Py_None; |
| return _res; |
| } |
| |
| static PyObject *Help_HMSetMenuResID(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| OSErr _err; |
| SInt16 menuID; |
| SInt16 resID; |
| if (!PyArg_ParseTuple(_args, "hh", |
| &menuID, |
| &resID)) |
| return NULL; |
| _err = HMSetMenuResID(menuID, |
| resID); |
| if (_err != noErr) return PyMac_Error(_err); |
| Py_INCREF(Py_None); |
| _res = Py_None; |
| return _res; |
| } |
| |
| static PyObject *Help_HMScanTemplateItems(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| OSErr _err; |
| SInt16 whichID; |
| SInt16 whichResFile; |
| ResType whichType; |
| if (!PyArg_ParseTuple(_args, "hhO&", |
| &whichID, |
| &whichResFile, |
| PyMac_GetOSType, &whichType)) |
| return NULL; |
| _err = HMScanTemplateItems(whichID, |
| whichResFile, |
| whichType); |
| if (_err != noErr) return PyMac_Error(_err); |
| Py_INCREF(Py_None); |
| _res = Py_None; |
| return _res; |
| } |
| |
| static PyObject *Help_HMGetDialogResID(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| OSErr _err; |
| SInt16 resID; |
| if (!PyArg_ParseTuple(_args, "")) |
| return NULL; |
| _err = HMGetDialogResID(&resID); |
| if (_err != noErr) return PyMac_Error(_err); |
| _res = Py_BuildValue("h", |
| resID); |
| return _res; |
| } |
| |
| static PyObject *Help_HMGetMenuResID(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| OSErr _err; |
| SInt16 menuID; |
| SInt16 resID; |
| if (!PyArg_ParseTuple(_args, "h", |
| &menuID)) |
| return NULL; |
| _err = HMGetMenuResID(menuID, |
| &resID); |
| if (_err != noErr) return PyMac_Error(_err); |
| _res = Py_BuildValue("h", |
| resID); |
| return _res; |
| } |
| |
| static PyObject *Help_HMGetBalloonWindow(_self, _args) |
| PyObject *_self; |
| PyObject *_args; |
| { |
| PyObject *_res = NULL; |
| OSErr _err; |
| WindowPtr window; |
| if (!PyArg_ParseTuple(_args, "")) |
| return NULL; |
| _err = HMGetBalloonWindow(&window); |
| if (_err != noErr) return PyMac_Error(_err); |
| _res = Py_BuildValue("O&", |
| WinObj_New, window); |
| return _res; |
| } |
| |
| static PyMethodDef Help_methods[] = { |
| {"HMGetHelpMenuHandle", (PyCFunction)Help_HMGetHelpMenuHandle, 1, |
| "() -> (MenuHandle mh)"}, |
| {"HMRemoveBalloon", (PyCFunction)Help_HMRemoveBalloon, 1, |
| "() -> None"}, |
| {"HMIsBalloon", (PyCFunction)Help_HMIsBalloon, 1, |
| "() -> (Boolean _rv)"}, |
| {"HMGetBalloons", (PyCFunction)Help_HMGetBalloons, 1, |
| "() -> (Boolean _rv)"}, |
| {"HMSetBalloons", (PyCFunction)Help_HMSetBalloons, 1, |
| "(Boolean flag) -> None"}, |
| {"HMSetFont", (PyCFunction)Help_HMSetFont, 1, |
| "(SInt16 font) -> None"}, |
| {"HMSetFontSize", (PyCFunction)Help_HMSetFontSize, 1, |
| "(UInt16 fontSize) -> None"}, |
| {"HMGetFont", (PyCFunction)Help_HMGetFont, 1, |
| "() -> (SInt16 font)"}, |
| {"HMGetFontSize", (PyCFunction)Help_HMGetFontSize, 1, |
| "() -> (UInt16 fontSize)"}, |
| {"HMSetDialogResID", (PyCFunction)Help_HMSetDialogResID, 1, |
| "(SInt16 resID) -> None"}, |
| {"HMSetMenuResID", (PyCFunction)Help_HMSetMenuResID, 1, |
| "(SInt16 menuID, SInt16 resID) -> None"}, |
| {"HMScanTemplateItems", (PyCFunction)Help_HMScanTemplateItems, 1, |
| "(SInt16 whichID, SInt16 whichResFile, ResType whichType) -> None"}, |
| {"HMGetDialogResID", (PyCFunction)Help_HMGetDialogResID, 1, |
| "() -> (SInt16 resID)"}, |
| {"HMGetMenuResID", (PyCFunction)Help_HMGetMenuResID, 1, |
| "(SInt16 menuID) -> (SInt16 resID)"}, |
| {"HMGetBalloonWindow", (PyCFunction)Help_HMGetBalloonWindow, 1, |
| "() -> (WindowPtr window)"}, |
| {NULL, NULL, 0} |
| }; |
| |
| |
| |
| |
| void initHelp() |
| { |
| PyObject *m; |
| PyObject *d; |
| |
| |
| |
| |
| m = Py_InitModule("Help", Help_methods); |
| d = PyModule_GetDict(m); |
| Help_Error = PyMac_GetOSErrException(); |
| if (Help_Error == NULL || |
| PyDict_SetItemString(d, "Error", Help_Error) != 0) |
| Py_FatalError("can't initialize Help.Error"); |
| } |
| |
| /* ======================== End module Help ========================= */ |
| |