blob: 3c26cda03b7aff27bd20242f74c1dfd40c7b44f1 [file] [log] [blame]
Jack Jansenbf2f6021997-09-09 13:52:47 +00001
2/* ========================== Module Help =========================== */
3
4#include "Python.h"
5
6
7
Jack Jansenbf2f6021997-09-09 13:52:47 +00008#include "macglue.h"
Jack Jansen9d8b96c2000-07-14 22:16:45 +00009#include "pymactoolbox.h"
Jack Jansenbf2f6021997-09-09 13:52:47 +000010
11#include <Balloons.h>
12
Jack Jansenbf2f6021997-09-09 13:52:47 +000013static PyObject *Help_Error;
14
Jack Jansenfa77e1a2001-05-22 21:56:42 +000015static PyObject *Help_HMGetHelpMenuHandle(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +000016{
17 PyObject *_res = NULL;
18 OSErr _err;
Jack Jansen21f96871998-02-20 16:02:09 +000019 MenuHandle mh;
Jack Jansenbf2f6021997-09-09 13:52:47 +000020 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 Jansena755e681997-09-20 17:40:22 +000025 MenuObj_New, mh);
Jack Jansenbf2f6021997-09-09 13:52:47 +000026 return _res;
27}
28
Jack Jansenfa77e1a2001-05-22 21:56:42 +000029static PyObject *Help_HMRemoveBalloon(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +000030{
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 Jansenfa77e1a2001-05-22 21:56:42 +000042static PyObject *Help_HMIsBalloon(PyObject *_self, PyObject *_args)
Jack Jansen21f96871998-02-20 16:02:09 +000043{
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 Jansenfa77e1a2001-05-22 21:56:42 +000054static PyObject *Help_HMGetBalloons(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +000055{
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 Jansenfa77e1a2001-05-22 21:56:42 +000066static PyObject *Help_HMSetBalloons(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +000067{
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 Jansenfa77e1a2001-05-22 21:56:42 +000081static PyObject *Help_HMSetFont(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +000082{
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 Jansenfa77e1a2001-05-22 21:56:42 +000096static PyObject *Help_HMSetFontSize(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +000097{
98 PyObject *_res = NULL;
99 OSErr _err;
100 UInt16 fontSize;
Jack Jansen0b13e7c2000-07-07 13:09:35 +0000101 if (!PyArg_ParseTuple(_args, "H",
Jack Jansenbf2f6021997-09-09 13:52:47 +0000102 &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 Jansenfa77e1a2001-05-22 21:56:42 +0000111static PyObject *Help_HMGetFont(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +0000112{
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 Jansenfa77e1a2001-05-22 21:56:42 +0000125static PyObject *Help_HMGetFontSize(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +0000126{
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 Jansen0b13e7c2000-07-07 13:09:35 +0000134 _res = Py_BuildValue("H",
Jack Jansenbf2f6021997-09-09 13:52:47 +0000135 fontSize);
136 return _res;
137}
138
Jack Jansenfa77e1a2001-05-22 21:56:42 +0000139static PyObject *Help_HMSetDialogResID(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +0000140{
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 Jansenfa77e1a2001-05-22 21:56:42 +0000154static PyObject *Help_HMSetMenuResID(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +0000155{
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 Jansenfa77e1a2001-05-22 21:56:42 +0000172static PyObject *Help_HMScanTemplateItems(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +0000173{
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 Jansenfa77e1a2001-05-22 21:56:42 +0000193static PyObject *Help_HMGetDialogResID(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +0000194{
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 Jansenfa77e1a2001-05-22 21:56:42 +0000207static PyObject *Help_HMGetMenuResID(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +0000208{
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 Jansenfa77e1a2001-05-22 21:56:42 +0000224static PyObject *Help_HMGetBalloonWindow(PyObject *_self, PyObject *_args)
Jack Jansenbf2f6021997-09-09 13:52:47 +0000225{
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 Jansend8b382d2000-08-25 22:04:24 +0000234 WinObj_WhichWindow, window);
Jack Jansenbf2f6021997-09-09 13:52:47 +0000235 return _res;
236}
237
238static PyMethodDef Help_methods[] = {
239 {"HMGetHelpMenuHandle", (PyCFunction)Help_HMGetHelpMenuHandle, 1,
Jack Jansen21f96871998-02-20 16:02:09 +0000240 "() -> (MenuHandle mh)"},
Jack Jansenbf2f6021997-09-09 13:52:47 +0000241 {"HMRemoveBalloon", (PyCFunction)Help_HMRemoveBalloon, 1,
242 "() -> None"},
Jack Jansen21f96871998-02-20 16:02:09 +0000243 {"HMIsBalloon", (PyCFunction)Help_HMIsBalloon, 1,
244 "() -> (Boolean _rv)"},
Jack Jansenbf2f6021997-09-09 13:52:47 +0000245 {"HMGetBalloons", (PyCFunction)Help_HMGetBalloons, 1,
246 "() -> (Boolean _rv)"},
247 {"HMSetBalloons", (PyCFunction)Help_HMSetBalloons, 1,
248 "(Boolean flag) -> None"},
Jack Jansenbf2f6021997-09-09 13:52:47 +0000249 {"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 Jansenfa77e1a2001-05-22 21:56:42 +0000275void initHelp(void)
Jack Jansenbf2f6021997-09-09 13:52:47 +0000276{
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 Jansenf7d5aa62000-12-10 23:43:49 +0000288 return;
Jack Jansenbf2f6021997-09-09 13:52:47 +0000289}
290
291/* ======================== End module Help ========================= */
292