Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 1 | |
| 2 | /* ========================== Module Help =========================== */ |
| 3 | |
| 4 | #include "Python.h" |
| 5 | |
| 6 | |
| 7 | |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 8 | #include "macglue.h" |
Jack Jansen | 9d8b96c | 2000-07-14 22:16:45 +0000 | [diff] [blame] | 9 | #include "pymactoolbox.h" |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 10 | |
| 11 | #include <Balloons.h> |
| 12 | |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 13 | static PyObject *Help_Error; |
| 14 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 15 | static PyObject *Help_HMGetHelpMenuHandle(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 16 | { |
| 17 | PyObject *_res = NULL; |
| 18 | OSErr _err; |
Jack Jansen | 21f9687 | 1998-02-20 16:02:09 +0000 | [diff] [blame] | 19 | MenuHandle mh; |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 20 | if (!PyArg_ParseTuple(_args, "")) |
| 21 | return NULL; |
| 22 | _err = HMGetHelpMenuHandle(&mh); |
| 23 | if (_err != noErr) return PyMac_Error(_err); |
| 24 | _res = Py_BuildValue("O&", |
Jack Jansen | a755e68 | 1997-09-20 17:40:22 +0000 | [diff] [blame] | 25 | MenuObj_New, mh); |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 26 | return _res; |
| 27 | } |
| 28 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 29 | static PyObject *Help_HMRemoveBalloon(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 30 | { |
| 31 | PyObject *_res = NULL; |
| 32 | OSErr _err; |
| 33 | if (!PyArg_ParseTuple(_args, "")) |
| 34 | return NULL; |
| 35 | _err = HMRemoveBalloon(); |
| 36 | if (_err != noErr) return PyMac_Error(_err); |
| 37 | Py_INCREF(Py_None); |
| 38 | _res = Py_None; |
| 39 | return _res; |
| 40 | } |
| 41 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 42 | static PyObject *Help_HMIsBalloon(PyObject *_self, PyObject *_args) |
Jack Jansen | 21f9687 | 1998-02-20 16:02:09 +0000 | [diff] [blame] | 43 | { |
| 44 | PyObject *_res = NULL; |
| 45 | Boolean _rv; |
| 46 | if (!PyArg_ParseTuple(_args, "")) |
| 47 | return NULL; |
| 48 | _rv = HMIsBalloon(); |
| 49 | _res = Py_BuildValue("b", |
| 50 | _rv); |
| 51 | return _res; |
| 52 | } |
| 53 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 54 | static PyObject *Help_HMGetBalloons(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 55 | { |
| 56 | PyObject *_res = NULL; |
| 57 | Boolean _rv; |
| 58 | if (!PyArg_ParseTuple(_args, "")) |
| 59 | return NULL; |
| 60 | _rv = HMGetBalloons(); |
| 61 | _res = Py_BuildValue("b", |
| 62 | _rv); |
| 63 | return _res; |
| 64 | } |
| 65 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 66 | static PyObject *Help_HMSetBalloons(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 67 | { |
| 68 | PyObject *_res = NULL; |
| 69 | OSErr _err; |
| 70 | Boolean flag; |
| 71 | if (!PyArg_ParseTuple(_args, "b", |
| 72 | &flag)) |
| 73 | return NULL; |
| 74 | _err = HMSetBalloons(flag); |
| 75 | if (_err != noErr) return PyMac_Error(_err); |
| 76 | Py_INCREF(Py_None); |
| 77 | _res = Py_None; |
| 78 | return _res; |
| 79 | } |
| 80 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 81 | static PyObject *Help_HMSetFont(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 82 | { |
| 83 | PyObject *_res = NULL; |
| 84 | OSErr _err; |
| 85 | SInt16 font; |
| 86 | if (!PyArg_ParseTuple(_args, "h", |
| 87 | &font)) |
| 88 | return NULL; |
| 89 | _err = HMSetFont(font); |
| 90 | if (_err != noErr) return PyMac_Error(_err); |
| 91 | Py_INCREF(Py_None); |
| 92 | _res = Py_None; |
| 93 | return _res; |
| 94 | } |
| 95 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 96 | static PyObject *Help_HMSetFontSize(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 97 | { |
| 98 | PyObject *_res = NULL; |
| 99 | OSErr _err; |
| 100 | UInt16 fontSize; |
Jack Jansen | 0b13e7c | 2000-07-07 13:09:35 +0000 | [diff] [blame] | 101 | if (!PyArg_ParseTuple(_args, "H", |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 102 | &fontSize)) |
| 103 | return NULL; |
| 104 | _err = HMSetFontSize(fontSize); |
| 105 | if (_err != noErr) return PyMac_Error(_err); |
| 106 | Py_INCREF(Py_None); |
| 107 | _res = Py_None; |
| 108 | return _res; |
| 109 | } |
| 110 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 111 | static PyObject *Help_HMGetFont(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 112 | { |
| 113 | PyObject *_res = NULL; |
| 114 | OSErr _err; |
| 115 | SInt16 font; |
| 116 | if (!PyArg_ParseTuple(_args, "")) |
| 117 | return NULL; |
| 118 | _err = HMGetFont(&font); |
| 119 | if (_err != noErr) return PyMac_Error(_err); |
| 120 | _res = Py_BuildValue("h", |
| 121 | font); |
| 122 | return _res; |
| 123 | } |
| 124 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 125 | static PyObject *Help_HMGetFontSize(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 126 | { |
| 127 | PyObject *_res = NULL; |
| 128 | OSErr _err; |
| 129 | UInt16 fontSize; |
| 130 | if (!PyArg_ParseTuple(_args, "")) |
| 131 | return NULL; |
| 132 | _err = HMGetFontSize(&fontSize); |
| 133 | if (_err != noErr) return PyMac_Error(_err); |
Jack Jansen | 0b13e7c | 2000-07-07 13:09:35 +0000 | [diff] [blame] | 134 | _res = Py_BuildValue("H", |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 135 | fontSize); |
| 136 | return _res; |
| 137 | } |
| 138 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 139 | static PyObject *Help_HMSetDialogResID(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 140 | { |
| 141 | PyObject *_res = NULL; |
| 142 | OSErr _err; |
| 143 | SInt16 resID; |
| 144 | if (!PyArg_ParseTuple(_args, "h", |
| 145 | &resID)) |
| 146 | return NULL; |
| 147 | _err = HMSetDialogResID(resID); |
| 148 | if (_err != noErr) return PyMac_Error(_err); |
| 149 | Py_INCREF(Py_None); |
| 150 | _res = Py_None; |
| 151 | return _res; |
| 152 | } |
| 153 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 154 | static PyObject *Help_HMSetMenuResID(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 155 | { |
| 156 | PyObject *_res = NULL; |
| 157 | OSErr _err; |
| 158 | SInt16 menuID; |
| 159 | SInt16 resID; |
| 160 | if (!PyArg_ParseTuple(_args, "hh", |
| 161 | &menuID, |
| 162 | &resID)) |
| 163 | return NULL; |
| 164 | _err = HMSetMenuResID(menuID, |
| 165 | resID); |
| 166 | if (_err != noErr) return PyMac_Error(_err); |
| 167 | Py_INCREF(Py_None); |
| 168 | _res = Py_None; |
| 169 | return _res; |
| 170 | } |
| 171 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 172 | static PyObject *Help_HMScanTemplateItems(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 173 | { |
| 174 | PyObject *_res = NULL; |
| 175 | OSErr _err; |
| 176 | SInt16 whichID; |
| 177 | SInt16 whichResFile; |
| 178 | ResType whichType; |
| 179 | if (!PyArg_ParseTuple(_args, "hhO&", |
| 180 | &whichID, |
| 181 | &whichResFile, |
| 182 | PyMac_GetOSType, &whichType)) |
| 183 | return NULL; |
| 184 | _err = HMScanTemplateItems(whichID, |
| 185 | whichResFile, |
| 186 | whichType); |
| 187 | if (_err != noErr) return PyMac_Error(_err); |
| 188 | Py_INCREF(Py_None); |
| 189 | _res = Py_None; |
| 190 | return _res; |
| 191 | } |
| 192 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 193 | static PyObject *Help_HMGetDialogResID(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 194 | { |
| 195 | PyObject *_res = NULL; |
| 196 | OSErr _err; |
| 197 | SInt16 resID; |
| 198 | if (!PyArg_ParseTuple(_args, "")) |
| 199 | return NULL; |
| 200 | _err = HMGetDialogResID(&resID); |
| 201 | if (_err != noErr) return PyMac_Error(_err); |
| 202 | _res = Py_BuildValue("h", |
| 203 | resID); |
| 204 | return _res; |
| 205 | } |
| 206 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 207 | static PyObject *Help_HMGetMenuResID(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 208 | { |
| 209 | PyObject *_res = NULL; |
| 210 | OSErr _err; |
| 211 | SInt16 menuID; |
| 212 | SInt16 resID; |
| 213 | if (!PyArg_ParseTuple(_args, "h", |
| 214 | &menuID)) |
| 215 | return NULL; |
| 216 | _err = HMGetMenuResID(menuID, |
| 217 | &resID); |
| 218 | if (_err != noErr) return PyMac_Error(_err); |
| 219 | _res = Py_BuildValue("h", |
| 220 | resID); |
| 221 | return _res; |
| 222 | } |
| 223 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 224 | static PyObject *Help_HMGetBalloonWindow(PyObject *_self, PyObject *_args) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 225 | { |
| 226 | PyObject *_res = NULL; |
| 227 | OSErr _err; |
| 228 | WindowPtr window; |
| 229 | if (!PyArg_ParseTuple(_args, "")) |
| 230 | return NULL; |
| 231 | _err = HMGetBalloonWindow(&window); |
| 232 | if (_err != noErr) return PyMac_Error(_err); |
| 233 | _res = Py_BuildValue("O&", |
Jack Jansen | d8b382d | 2000-08-25 22:04:24 +0000 | [diff] [blame] | 234 | WinObj_WhichWindow, window); |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 235 | return _res; |
| 236 | } |
| 237 | |
| 238 | static PyMethodDef Help_methods[] = { |
| 239 | {"HMGetHelpMenuHandle", (PyCFunction)Help_HMGetHelpMenuHandle, 1, |
Jack Jansen | 21f9687 | 1998-02-20 16:02:09 +0000 | [diff] [blame] | 240 | "() -> (MenuHandle mh)"}, |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 241 | {"HMRemoveBalloon", (PyCFunction)Help_HMRemoveBalloon, 1, |
| 242 | "() -> None"}, |
Jack Jansen | 21f9687 | 1998-02-20 16:02:09 +0000 | [diff] [blame] | 243 | {"HMIsBalloon", (PyCFunction)Help_HMIsBalloon, 1, |
| 244 | "() -> (Boolean _rv)"}, |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 245 | {"HMGetBalloons", (PyCFunction)Help_HMGetBalloons, 1, |
| 246 | "() -> (Boolean _rv)"}, |
| 247 | {"HMSetBalloons", (PyCFunction)Help_HMSetBalloons, 1, |
| 248 | "(Boolean flag) -> None"}, |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 249 | {"HMSetFont", (PyCFunction)Help_HMSetFont, 1, |
| 250 | "(SInt16 font) -> None"}, |
| 251 | {"HMSetFontSize", (PyCFunction)Help_HMSetFontSize, 1, |
| 252 | "(UInt16 fontSize) -> None"}, |
| 253 | {"HMGetFont", (PyCFunction)Help_HMGetFont, 1, |
| 254 | "() -> (SInt16 font)"}, |
| 255 | {"HMGetFontSize", (PyCFunction)Help_HMGetFontSize, 1, |
| 256 | "() -> (UInt16 fontSize)"}, |
| 257 | {"HMSetDialogResID", (PyCFunction)Help_HMSetDialogResID, 1, |
| 258 | "(SInt16 resID) -> None"}, |
| 259 | {"HMSetMenuResID", (PyCFunction)Help_HMSetMenuResID, 1, |
| 260 | "(SInt16 menuID, SInt16 resID) -> None"}, |
| 261 | {"HMScanTemplateItems", (PyCFunction)Help_HMScanTemplateItems, 1, |
| 262 | "(SInt16 whichID, SInt16 whichResFile, ResType whichType) -> None"}, |
| 263 | {"HMGetDialogResID", (PyCFunction)Help_HMGetDialogResID, 1, |
| 264 | "() -> (SInt16 resID)"}, |
| 265 | {"HMGetMenuResID", (PyCFunction)Help_HMGetMenuResID, 1, |
| 266 | "(SInt16 menuID) -> (SInt16 resID)"}, |
| 267 | {"HMGetBalloonWindow", (PyCFunction)Help_HMGetBalloonWindow, 1, |
| 268 | "() -> (WindowPtr window)"}, |
| 269 | {NULL, NULL, 0} |
| 270 | }; |
| 271 | |
| 272 | |
| 273 | |
| 274 | |
Jack Jansen | fa77e1a | 2001-05-22 21:56:42 +0000 | [diff] [blame] | 275 | void initHelp(void) |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 276 | { |
| 277 | PyObject *m; |
| 278 | PyObject *d; |
| 279 | |
| 280 | |
| 281 | |
| 282 | |
| 283 | m = Py_InitModule("Help", Help_methods); |
| 284 | d = PyModule_GetDict(m); |
| 285 | Help_Error = PyMac_GetOSErrException(); |
| 286 | if (Help_Error == NULL || |
| 287 | PyDict_SetItemString(d, "Error", Help_Error) != 0) |
Jack Jansen | f7d5aa6 | 2000-12-10 23:43:49 +0000 | [diff] [blame] | 288 | return; |
Jack Jansen | bf2f602 | 1997-09-09 13:52:47 +0000 | [diff] [blame] | 289 | } |
| 290 | |
| 291 | /* ======================== End module Help ========================= */ |
| 292 | |