2 /* ========================== Module _Help ========================== */
9 #include "pywintoolbox.h"
12 #include "pymactoolbox.h"
15 /* Macro to test whether a weak-loaded CFM function exists */
16 #define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
17 PyErr_SetString(PyExc_NotImplementedError, \
18 "Not available in this shared library/OS version"); \
24 #define PyDoc_STR(x) (x)
26 #ifdef WITHOUT_FRAMEWORKS
29 #include <Carbon/Carbon.h>
32 static PyObject
*Help_Error
;
34 static PyObject
*Help_HMGetHelpMenu(PyObject
*_self
, PyObject
*_args
)
36 PyObject
*_res
= NULL
;
39 MenuItemIndex outFirstCustomItemIndex
;
40 if (!PyArg_ParseTuple(_args
, ""))
42 _err
= HMGetHelpMenu(&outHelpMenu
,
43 &outFirstCustomItemIndex
);
44 if (_err
!= noErr
) return PyMac_Error(_err
);
45 _res
= Py_BuildValue("O&H",
46 MenuObj_New
, outHelpMenu
,
47 outFirstCustomItemIndex
);
51 static PyObject
*Help_HMAreHelpTagsDisplayed(PyObject
*_self
, PyObject
*_args
)
53 PyObject
*_res
= NULL
;
55 if (!PyArg_ParseTuple(_args
, ""))
57 _rv
= HMAreHelpTagsDisplayed();
58 _res
= Py_BuildValue("b",
63 static PyObject
*Help_HMSetHelpTagsDisplayed(PyObject
*_self
, PyObject
*_args
)
65 PyObject
*_res
= NULL
;
67 Boolean inDisplayTags
;
68 if (!PyArg_ParseTuple(_args
, "b",
71 _err
= HMSetHelpTagsDisplayed(inDisplayTags
);
72 if (_err
!= noErr
) return PyMac_Error(_err
);
78 static PyObject
*Help_HMSetTagDelay(PyObject
*_self
, PyObject
*_args
)
80 PyObject
*_res
= NULL
;
83 if (!PyArg_ParseTuple(_args
, "l",
86 _err
= HMSetTagDelay(inDelay
);
87 if (_err
!= noErr
) return PyMac_Error(_err
);
93 static PyObject
*Help_HMGetTagDelay(PyObject
*_self
, PyObject
*_args
)
95 PyObject
*_res
= NULL
;
98 if (!PyArg_ParseTuple(_args
, ""))
100 _err
= HMGetTagDelay(&outDelay
);
101 if (_err
!= noErr
) return PyMac_Error(_err
);
102 _res
= Py_BuildValue("l",
107 static PyObject
*Help_HMSetMenuHelpFromBalloonRsrc(PyObject
*_self
, PyObject
*_args
)
109 PyObject
*_res
= NULL
;
113 if (!PyArg_ParseTuple(_args
, "O&h",
114 MenuObj_Convert
, &inMenu
,
117 _err
= HMSetMenuHelpFromBalloonRsrc(inMenu
,
119 if (_err
!= noErr
) return PyMac_Error(_err
);
125 static PyObject
*Help_HMSetDialogHelpFromBalloonRsrc(PyObject
*_self
, PyObject
*_args
)
127 PyObject
*_res
= NULL
;
132 if (!PyArg_ParseTuple(_args
, "O&hh",
133 DlgObj_Convert
, &inDialog
,
137 _err
= HMSetDialogHelpFromBalloonRsrc(inDialog
,
140 if (_err
!= noErr
) return PyMac_Error(_err
);
146 static PyMethodDef Help_methods
[] = {
147 {"HMGetHelpMenu", (PyCFunction
)Help_HMGetHelpMenu
, 1,
148 PyDoc_STR("() -> (MenuRef outHelpMenu, MenuItemIndex outFirstCustomItemIndex)")},
149 {"HMAreHelpTagsDisplayed", (PyCFunction
)Help_HMAreHelpTagsDisplayed
, 1,
150 PyDoc_STR("() -> (Boolean _rv)")},
151 {"HMSetHelpTagsDisplayed", (PyCFunction
)Help_HMSetHelpTagsDisplayed
, 1,
152 PyDoc_STR("(Boolean inDisplayTags) -> None")},
153 {"HMSetTagDelay", (PyCFunction
)Help_HMSetTagDelay
, 1,
154 PyDoc_STR("(Duration inDelay) -> None")},
155 {"HMGetTagDelay", (PyCFunction
)Help_HMGetTagDelay
, 1,
156 PyDoc_STR("() -> (Duration outDelay)")},
157 {"HMSetMenuHelpFromBalloonRsrc", (PyCFunction
)Help_HMSetMenuHelpFromBalloonRsrc
, 1,
158 PyDoc_STR("(MenuRef inMenu, SInt16 inHmnuRsrcID) -> None")},
159 {"HMSetDialogHelpFromBalloonRsrc", (PyCFunction
)Help_HMSetDialogHelpFromBalloonRsrc
, 1,
160 PyDoc_STR("(DialogPtr inDialog, SInt16 inHdlgRsrcID, SInt16 inItemStart) -> None")},
175 m
= Py_InitModule("_Help", Help_methods
);
176 d
= PyModule_GetDict(m
);
177 Help_Error
= PyMac_GetOSErrException();
178 if (Help_Error
== NULL
||
179 PyDict_SetItemString(d
, "Error", Help_Error
) != 0)
183 /* ======================== End module _Help ======================== */