| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* ========================== Module _Dlg =========================== */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "Python.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-12-18 15:39:38 +00:00
										 |  |  | #ifdef _WIN32
 | 
					
						
							|  |  |  | #include "pywintoolbox.h"
 | 
					
						
							|  |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | #include "macglue.h"
 | 
					
						
							|  |  |  | #include "pymactoolbox.h"
 | 
					
						
							| 
									
										
										
										
											2001-12-18 15:39:38 +00:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* Macro to test whether a weak-loaded CFM function exists */ | 
					
						
							|  |  |  | #define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL )  {\
 | 
					
						
							|  |  |  |     	PyErr_SetString(PyExc_NotImplementedError, \ | 
					
						
							|  |  |  |     	"Not available in this shared library/OS version"); \ | 
					
						
							|  |  |  |     	return NULL; \ | 
					
						
							|  |  |  |     }} while(0) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef WITHOUT_FRAMEWORKS
 | 
					
						
							|  |  |  | #include <Dialogs.h>
 | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | #include <Carbon/Carbon.h>
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef USE_TOOLBOX_OBJECT_GLUE
 | 
					
						
							|  |  |  | extern PyObject *_DlgObj_New(DialogRef); | 
					
						
							|  |  |  | extern PyObject *_DlgObj_WhichDialog(DialogRef); | 
					
						
							|  |  |  | extern int _DlgObj_Convert(PyObject *, DialogRef *); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define DlgObj_New _DlgObj_New
 | 
					
						
							|  |  |  | #define DlgObj_WhichDialog _DlgObj_WhichDialog
 | 
					
						
							|  |  |  | #define DlgObj_Convert _DlgObj_Convert
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* XXX Shouldn't this be a stack? */ | 
					
						
							|  |  |  | static PyObject *Dlg_FilterProc_callback = NULL; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static pascal Boolean Dlg_UnivFilterProc(DialogPtr dialog, | 
					
						
							|  |  |  |                                          EventRecord *event, | 
					
						
							|  |  |  |                                          short *itemHit) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	Boolean rv; | 
					
						
							|  |  |  | 	PyObject *args, *res; | 
					
						
							|  |  |  | 	PyObject *callback = Dlg_FilterProc_callback; | 
					
						
							|  |  |  | 	if (callback == NULL) | 
					
						
							|  |  |  | 		return 0; /* Default behavior */ | 
					
						
							|  |  |  | 	Dlg_FilterProc_callback = NULL; /* We'll restore it when call successful */ | 
					
						
							|  |  |  | 	args = Py_BuildValue("O&O&", DlgObj_WhichDialog, dialog, PyMac_BuildEventRecord, event); | 
					
						
							|  |  |  | 	if (args == NULL) | 
					
						
							|  |  |  | 		res = NULL; | 
					
						
							|  |  |  | 	else { | 
					
						
							|  |  |  | 		res = PyEval_CallObject(callback, args); | 
					
						
							|  |  |  | 		Py_DECREF(args); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if (res == NULL) { | 
					
						
							|  |  |  | 		PySys_WriteStderr("Exception in Dialog Filter\n"); | 
					
						
							|  |  |  | 		PyErr_Print(); | 
					
						
							|  |  |  | 		*itemHit = -1; /* Fake return item */ | 
					
						
							|  |  |  | 		return 1; /* We handled it */ | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	else { | 
					
						
							|  |  |  | 		Dlg_FilterProc_callback = callback; | 
					
						
							|  |  |  | 		if (PyInt_Check(res)) { | 
					
						
							|  |  |  | 			*itemHit = PyInt_AsLong(res); | 
					
						
							|  |  |  | 			rv = 1; | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		else | 
					
						
							|  |  |  | 			rv = PyObject_IsTrue(res); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	Py_DECREF(res); | 
					
						
							|  |  |  | 	return rv; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static ModalFilterUPP | 
					
						
							|  |  |  | Dlg_PassFilterProc(PyObject *callback) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *tmp = Dlg_FilterProc_callback; | 
					
						
							|  |  |  | 	static ModalFilterUPP UnivFilterUpp = NULL; | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	Dlg_FilterProc_callback = NULL; | 
					
						
							|  |  |  | 	if (callback == Py_None) { | 
					
						
							|  |  |  | 		Py_XDECREF(tmp); | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	Py_INCREF(callback); | 
					
						
							|  |  |  | 	Dlg_FilterProc_callback = callback; | 
					
						
							|  |  |  | 	Py_XDECREF(tmp); | 
					
						
							|  |  |  | 	if ( UnivFilterUpp == NULL ) | 
					
						
							|  |  |  | 		UnivFilterUpp = NewModalFilterUPP(&Dlg_UnivFilterProc); | 
					
						
							|  |  |  | 	return UnivFilterUpp; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_UserItemProc_callback = NULL; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static pascal void Dlg_UnivUserItemProc(DialogPtr dialog, | 
					
						
							|  |  |  |                                          short item) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *args, *res; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	if (Dlg_UserItemProc_callback == NULL) | 
					
						
							|  |  |  | 		return; /* Default behavior */ | 
					
						
							|  |  |  | 	Dlg_FilterProc_callback = NULL; /* We'll restore it when call successful */ | 
					
						
							|  |  |  | 	args = Py_BuildValue("O&h", DlgObj_WhichDialog, dialog, item); | 
					
						
							|  |  |  | 	if (args == NULL) | 
					
						
							|  |  |  | 		res = NULL; | 
					
						
							|  |  |  | 	else { | 
					
						
							|  |  |  | 		res = PyEval_CallObject(Dlg_UserItemProc_callback, args); | 
					
						
							|  |  |  | 		Py_DECREF(args); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	if (res == NULL) { | 
					
						
							|  |  |  | 		PySys_WriteStderr("Exception in Dialog UserItem proc\n"); | 
					
						
							|  |  |  | 		PyErr_Print(); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	Py_XDECREF(res); | 
					
						
							|  |  |  | 	return; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #if 0
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  | ** Treating DialogObjects as WindowObjects is (I think) illegal under Carbon. | 
					
						
							|  |  |  | ** However, as they are still identical under MacOS9 Carbon this is a problem, even | 
					
						
							|  |  |  | ** if we neatly call GetDialogWindow() at the right places: there's one refcon field | 
					
						
							|  |  |  | ** and it points to the DialogObject, so WinObj_WhichWindow will smartly return the | 
					
						
							|  |  |  | ** dialog object, and therefore we still don't have a WindowObject. | 
					
						
							|  |  |  | ** I'll leave the chaining code in place for now, with this comment to warn the | 
					
						
							|  |  |  | ** unsuspecting victims (i.e. me, probably, in a few weeks:-) | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | extern PyMethodChain WinObj_chain; | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_Error; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* ----------------------- Object type Dialog ----------------------- */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyTypeObject Dialog_Type; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-12-19 21:24:35 +00:00
										 |  |  | #define DlgObj_Check(x) ((x)->ob_type == &Dialog_Type || PyObject_TypeCheck((x), &Dialog_Type))
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | typedef struct DialogObject { | 
					
						
							|  |  |  | 	PyObject_HEAD | 
					
						
							|  |  |  | 	DialogPtr ob_itself; | 
					
						
							|  |  |  | } DialogObject; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyObject *DlgObj_New(DialogPtr itself) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	DialogObject *it; | 
					
						
							|  |  |  | 	if (itself == NULL) return Py_None; | 
					
						
							|  |  |  | 	it = PyObject_NEW(DialogObject, &Dialog_Type); | 
					
						
							|  |  |  | 	if (it == NULL) return NULL; | 
					
						
							|  |  |  | 	it->ob_itself = itself; | 
					
						
							|  |  |  | 	SetWRefCon(GetDialogWindow(itself), (long)it); | 
					
						
							|  |  |  | 	return (PyObject *)it; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2001-09-04 22:19:18 +00:00
										 |  |  | int DlgObj_Convert(PyObject *v, DialogPtr *p_itself) | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | { | 
					
						
							|  |  |  | 	if (v == Py_None) { *p_itself = NULL; return 1; } | 
					
						
							|  |  |  | 	if (PyInt_Check(v)) { *p_itself = (DialogPtr)PyInt_AsLong(v); | 
					
						
							|  |  |  | 	                      return 1; } | 
					
						
							|  |  |  | 	if (!DlgObj_Check(v)) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		PyErr_SetString(PyExc_TypeError, "Dialog required"); | 
					
						
							|  |  |  | 		return 0; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	*p_itself = ((DialogObject *)v)->ob_itself; | 
					
						
							|  |  |  | 	return 1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static void DlgObj_dealloc(DialogObject *self) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	DisposeDialog(self->ob_itself); | 
					
						
							| 
									
										
										
										
											2002-12-23 23:16:25 +00:00
										 |  |  | 	self->ob_type->tp_free((PyObject *)self); | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_DrawDialog(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef DrawDialog
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(DrawDialog); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	DrawDialog(_self->ob_itself); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_UpdateDialog(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	RgnHandle updateRgn; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef UpdateDialog
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(UpdateDialog); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O&", | 
					
						
							|  |  |  | 	                      ResObj_Convert, &updateRgn)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	UpdateDialog(_self->ob_itself, | 
					
						
							|  |  |  | 	             updateRgn); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_HideDialogItem(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogItemIndex itemNo; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef HideDialogItem
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(HideDialogItem); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "h", | 
					
						
							|  |  |  | 	                      &itemNo)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	HideDialogItem(_self->ob_itself, | 
					
						
							|  |  |  | 	               itemNo); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_ShowDialogItem(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogItemIndex itemNo; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef ShowDialogItem
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(ShowDialogItem); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "h", | 
					
						
							|  |  |  | 	                      &itemNo)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	ShowDialogItem(_self->ob_itself, | 
					
						
							|  |  |  | 	               itemNo); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_FindDialogItem(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogItemIndexZeroBased _rv; | 
					
						
							|  |  |  | 	Point thePt; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef FindDialogItem
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(FindDialogItem); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O&", | 
					
						
							|  |  |  | 	                      PyMac_GetPoint, &thePt)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = FindDialogItem(_self->ob_itself, | 
					
						
							|  |  |  | 	                     thePt); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("h", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_DialogCut(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef DialogCut
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(DialogCut); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	DialogCut(_self->ob_itself); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_DialogPaste(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef DialogPaste
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(DialogPaste); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	DialogPaste(_self->ob_itself); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_DialogCopy(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef DialogCopy
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(DialogCopy); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	DialogCopy(_self->ob_itself); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_DialogDelete(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef DialogDelete
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(DialogDelete); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	DialogDelete(_self->ob_itself); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_GetDialogItem(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogItemIndex itemNo; | 
					
						
							|  |  |  | 	DialogItemType itemType; | 
					
						
							|  |  |  | 	Handle item; | 
					
						
							|  |  |  | 	Rect box; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetDialogItem
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetDialogItem); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "h", | 
					
						
							|  |  |  | 	                      &itemNo)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	GetDialogItem(_self->ob_itself, | 
					
						
							|  |  |  | 	              itemNo, | 
					
						
							|  |  |  | 	              &itemType, | 
					
						
							|  |  |  | 	              &item, | 
					
						
							|  |  |  | 	              &box); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("hO&O&", | 
					
						
							|  |  |  | 	                     itemType, | 
					
						
							|  |  |  | 	                     OptResObj_New, item, | 
					
						
							|  |  |  | 	                     PyMac_BuildRect, &box); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_SetDialogItem(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogItemIndex itemNo; | 
					
						
							|  |  |  | 	DialogItemType itemType; | 
					
						
							|  |  |  | 	Handle item; | 
					
						
							|  |  |  | 	Rect box; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef SetDialogItem
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(SetDialogItem); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "hhO&O&", | 
					
						
							|  |  |  | 	                      &itemNo, | 
					
						
							|  |  |  | 	                      &itemType, | 
					
						
							|  |  |  | 	                      ResObj_Convert, &item, | 
					
						
							|  |  |  | 	                      PyMac_GetRect, &box)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	SetDialogItem(_self->ob_itself, | 
					
						
							|  |  |  | 	              itemNo, | 
					
						
							|  |  |  | 	              itemType, | 
					
						
							|  |  |  | 	              item, | 
					
						
							|  |  |  | 	              &box); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_SelectDialogItemText(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogItemIndex itemNo; | 
					
						
							|  |  |  | 	SInt16 strtSel; | 
					
						
							|  |  |  | 	SInt16 endSel; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef SelectDialogItemText
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(SelectDialogItemText); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "hhh", | 
					
						
							|  |  |  | 	                      &itemNo, | 
					
						
							|  |  |  | 	                      &strtSel, | 
					
						
							|  |  |  | 	                      &endSel)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	SelectDialogItemText(_self->ob_itself, | 
					
						
							|  |  |  | 	                     itemNo, | 
					
						
							|  |  |  | 	                     strtSel, | 
					
						
							|  |  |  | 	                     endSel); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_AppendDITL(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	Handle theHandle; | 
					
						
							|  |  |  | 	DITLMethod method; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef AppendDITL
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(AppendDITL); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O&h", | 
					
						
							|  |  |  | 	                      ResObj_Convert, &theHandle, | 
					
						
							|  |  |  | 	                      &method)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	AppendDITL(_self->ob_itself, | 
					
						
							|  |  |  | 	           theHandle, | 
					
						
							|  |  |  | 	           method); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_CountDITL(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogItemIndex _rv; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef CountDITL
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(CountDITL); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = CountDITL(_self->ob_itself); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("h", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_ShortenDITL(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogItemIndex numberItems; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef ShortenDITL
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(ShortenDITL); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "h", | 
					
						
							|  |  |  | 	                      &numberItems)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	ShortenDITL(_self->ob_itself, | 
					
						
							|  |  |  | 	            numberItems); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_InsertDialogItem(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	DialogItemIndex afterItem; | 
					
						
							|  |  |  | 	DialogItemType itemType; | 
					
						
							|  |  |  | 	Handle itemHandle; | 
					
						
							|  |  |  | 	Rect box; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef InsertDialogItem
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(InsertDialogItem); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "hhO&O&", | 
					
						
							|  |  |  | 	                      &afterItem, | 
					
						
							|  |  |  | 	                      &itemType, | 
					
						
							|  |  |  | 	                      ResObj_Convert, &itemHandle, | 
					
						
							|  |  |  | 	                      PyMac_GetRect, &box)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = InsertDialogItem(_self->ob_itself, | 
					
						
							|  |  |  | 	                        afterItem, | 
					
						
							|  |  |  | 	                        itemType, | 
					
						
							|  |  |  | 	                        itemHandle, | 
					
						
							|  |  |  | 	                        &box); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_RemoveDialogItems(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	DialogItemIndex itemNo; | 
					
						
							|  |  |  | 	DialogItemIndex amountToRemove; | 
					
						
							|  |  |  | 	Boolean disposeItemData; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef RemoveDialogItems
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(RemoveDialogItems); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "hhb", | 
					
						
							|  |  |  | 	                      &itemNo, | 
					
						
							|  |  |  | 	                      &amountToRemove, | 
					
						
							|  |  |  | 	                      &disposeItemData)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = RemoveDialogItems(_self->ob_itself, | 
					
						
							|  |  |  | 	                         itemNo, | 
					
						
							|  |  |  | 	                         amountToRemove, | 
					
						
							|  |  |  | 	                         disposeItemData); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_StdFilterProc(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	Boolean _rv; | 
					
						
							|  |  |  | 	EventRecord event; | 
					
						
							|  |  |  | 	DialogItemIndex itemHit; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef StdFilterProc
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(StdFilterProc); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = StdFilterProc(_self->ob_itself, | 
					
						
							|  |  |  | 	                    &event, | 
					
						
							|  |  |  | 	                    &itemHit); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("bO&h", | 
					
						
							|  |  |  | 	                     _rv, | 
					
						
							|  |  |  | 	                     PyMac_BuildEventRecord, &event, | 
					
						
							|  |  |  | 	                     itemHit); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_SetDialogDefaultItem(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSErr _err; | 
					
						
							|  |  |  | 	DialogItemIndex newItem; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef SetDialogDefaultItem
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(SetDialogDefaultItem); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "h", | 
					
						
							|  |  |  | 	                      &newItem)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = SetDialogDefaultItem(_self->ob_itself, | 
					
						
							|  |  |  | 	                            newItem); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_SetDialogCancelItem(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSErr _err; | 
					
						
							|  |  |  | 	DialogItemIndex newItem; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef SetDialogCancelItem
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(SetDialogCancelItem); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "h", | 
					
						
							|  |  |  | 	                      &newItem)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = SetDialogCancelItem(_self->ob_itself, | 
					
						
							|  |  |  | 	                           newItem); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_SetDialogTracksCursor(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSErr _err; | 
					
						
							|  |  |  | 	Boolean tracks; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef SetDialogTracksCursor
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(SetDialogTracksCursor); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "b", | 
					
						
							|  |  |  | 	                      &tracks)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = SetDialogTracksCursor(_self->ob_itself, | 
					
						
							|  |  |  | 	                             tracks); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_AutoSizeDialog(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSErr _err; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef AutoSizeDialog
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(AutoSizeDialog); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = AutoSizeDialog(_self->ob_itself); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_GetDialogItemAsControl(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSErr _err; | 
					
						
							|  |  |  | 	SInt16 inItemNo; | 
					
						
							|  |  |  | 	ControlHandle outControl; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetDialogItemAsControl
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetDialogItemAsControl); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "h", | 
					
						
							|  |  |  | 	                      &inItemNo)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = GetDialogItemAsControl(_self->ob_itself, | 
					
						
							|  |  |  | 	                              inItemNo, | 
					
						
							|  |  |  | 	                              &outControl); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     CtlObj_New, outControl); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_MoveDialogItem(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSErr _err; | 
					
						
							|  |  |  | 	SInt16 inItemNo; | 
					
						
							|  |  |  | 	SInt16 inHoriz; | 
					
						
							|  |  |  | 	SInt16 inVert; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef MoveDialogItem
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(MoveDialogItem); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "hhh", | 
					
						
							|  |  |  | 	                      &inItemNo, | 
					
						
							|  |  |  | 	                      &inHoriz, | 
					
						
							|  |  |  | 	                      &inVert)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = MoveDialogItem(_self->ob_itself, | 
					
						
							|  |  |  | 	                      inItemNo, | 
					
						
							|  |  |  | 	                      inHoriz, | 
					
						
							|  |  |  | 	                      inVert); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_SizeDialogItem(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSErr _err; | 
					
						
							|  |  |  | 	SInt16 inItemNo; | 
					
						
							|  |  |  | 	SInt16 inWidth; | 
					
						
							|  |  |  | 	SInt16 inHeight; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef SizeDialogItem
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(SizeDialogItem); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "hhh", | 
					
						
							|  |  |  | 	                      &inItemNo, | 
					
						
							|  |  |  | 	                      &inWidth, | 
					
						
							|  |  |  | 	                      &inHeight)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = SizeDialogItem(_self->ob_itself, | 
					
						
							|  |  |  | 	                      inItemNo, | 
					
						
							|  |  |  | 	                      inWidth, | 
					
						
							|  |  |  | 	                      inHeight); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_AppendDialogItemList(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSErr _err; | 
					
						
							|  |  |  | 	SInt16 ditlID; | 
					
						
							|  |  |  | 	DITLMethod method; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef AppendDialogItemList
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(AppendDialogItemList); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "hh", | 
					
						
							|  |  |  | 	                      &ditlID, | 
					
						
							|  |  |  | 	                      &method)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = AppendDialogItemList(_self->ob_itself, | 
					
						
							|  |  |  | 	                            ditlID, | 
					
						
							|  |  |  | 	                            method); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_SetDialogTimeout(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	SInt16 inButtonToPress; | 
					
						
							|  |  |  | 	UInt32 inSecondsToWait; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef SetDialogTimeout
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(SetDialogTimeout); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "hl", | 
					
						
							|  |  |  | 	                      &inButtonToPress, | 
					
						
							|  |  |  | 	                      &inSecondsToWait)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = SetDialogTimeout(_self->ob_itself, | 
					
						
							|  |  |  | 	                        inButtonToPress, | 
					
						
							|  |  |  | 	                        inSecondsToWait); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_GetDialogTimeout(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	SInt16 outButtonToPress; | 
					
						
							|  |  |  | 	UInt32 outSecondsToWait; | 
					
						
							|  |  |  | 	UInt32 outSecondsRemaining; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetDialogTimeout
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetDialogTimeout); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = GetDialogTimeout(_self->ob_itself, | 
					
						
							|  |  |  | 	                        &outButtonToPress, | 
					
						
							|  |  |  | 	                        &outSecondsToWait, | 
					
						
							|  |  |  | 	                        &outSecondsRemaining); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("hll", | 
					
						
							|  |  |  | 	                     outButtonToPress, | 
					
						
							|  |  |  | 	                     outSecondsToWait, | 
					
						
							|  |  |  | 	                     outSecondsRemaining); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_SetModalDialogEventMask(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	EventMask inMask; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef SetModalDialogEventMask
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(SetModalDialogEventMask); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "H", | 
					
						
							|  |  |  | 	                      &inMask)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = SetModalDialogEventMask(_self->ob_itself, | 
					
						
							|  |  |  | 	                               inMask); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_GetModalDialogEventMask(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	EventMask outMask; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetModalDialogEventMask
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetModalDialogEventMask); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = GetModalDialogEventMask(_self->ob_itself, | 
					
						
							|  |  |  | 	                               &outMask); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("H", | 
					
						
							|  |  |  | 	                     outMask); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_GetDialogWindow(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	WindowPtr _rv; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetDialogWindow
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetDialogWindow); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = GetDialogWindow(_self->ob_itself); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     WinObj_New, _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_GetDialogTextEditHandle(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	TEHandle _rv; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetDialogTextEditHandle
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetDialogTextEditHandle); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = GetDialogTextEditHandle(_self->ob_itself); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     ResObj_New, _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_GetDialogDefaultItem(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	SInt16 _rv; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetDialogDefaultItem
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetDialogDefaultItem); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = GetDialogDefaultItem(_self->ob_itself); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("h", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_GetDialogCancelItem(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	SInt16 _rv; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetDialogCancelItem
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetDialogCancelItem); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = GetDialogCancelItem(_self->ob_itself); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("h", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_GetDialogKeyboardFocusItem(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	SInt16 _rv; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetDialogKeyboardFocusItem
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetDialogKeyboardFocusItem); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = GetDialogKeyboardFocusItem(_self->ob_itself); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("h", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_SetPortDialogPort(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef SetPortDialogPort
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(SetPortDialogPort); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	SetPortDialogPort(_self->ob_itself); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_GetDialogPort(DialogObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	CGrafPtr _rv; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetDialogPort
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetDialogPort); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = GetDialogPort(_self->ob_itself); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     GrafObj_New, _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyMethodDef DlgObj_methods[] = { | 
					
						
							|  |  |  | 	{"DrawDialog", (PyCFunction)DlgObj_DrawDialog, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"UpdateDialog", (PyCFunction)DlgObj_UpdateDialog, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(RgnHandle updateRgn) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"HideDialogItem", (PyCFunction)DlgObj_HideDialogItem, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(DialogItemIndex itemNo) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"ShowDialogItem", (PyCFunction)DlgObj_ShowDialogItem, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(DialogItemIndex itemNo) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"FindDialogItem", (PyCFunction)DlgObj_FindDialogItem, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(Point thePt) -> (DialogItemIndexZeroBased _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"DialogCut", (PyCFunction)DlgObj_DialogCut, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"DialogPaste", (PyCFunction)DlgObj_DialogPaste, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"DialogCopy", (PyCFunction)DlgObj_DialogCopy, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"DialogDelete", (PyCFunction)DlgObj_DialogDelete, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetDialogItem", (PyCFunction)DlgObj_GetDialogItem, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(DialogItemIndex itemNo) -> (DialogItemType itemType, Handle item, Rect box)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"SetDialogItem", (PyCFunction)DlgObj_SetDialogItem, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(DialogItemIndex itemNo, DialogItemType itemType, Handle item, Rect box) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"SelectDialogItemText", (PyCFunction)DlgObj_SelectDialogItemText, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(DialogItemIndex itemNo, SInt16 strtSel, SInt16 endSel) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"AppendDITL", (PyCFunction)DlgObj_AppendDITL, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(Handle theHandle, DITLMethod method) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"CountDITL", (PyCFunction)DlgObj_CountDITL, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> (DialogItemIndex _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"ShortenDITL", (PyCFunction)DlgObj_ShortenDITL, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(DialogItemIndex numberItems) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"InsertDialogItem", (PyCFunction)DlgObj_InsertDialogItem, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(DialogItemIndex afterItem, DialogItemType itemType, Handle itemHandle, Rect box) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"RemoveDialogItems", (PyCFunction)DlgObj_RemoveDialogItems, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(DialogItemIndex itemNo, DialogItemIndex amountToRemove, Boolean disposeItemData) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"StdFilterProc", (PyCFunction)DlgObj_StdFilterProc, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> (Boolean _rv, EventRecord event, DialogItemIndex itemHit)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"SetDialogDefaultItem", (PyCFunction)DlgObj_SetDialogDefaultItem, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(DialogItemIndex newItem) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"SetDialogCancelItem", (PyCFunction)DlgObj_SetDialogCancelItem, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(DialogItemIndex newItem) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"SetDialogTracksCursor", (PyCFunction)DlgObj_SetDialogTracksCursor, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(Boolean tracks) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"AutoSizeDialog", (PyCFunction)DlgObj_AutoSizeDialog, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetDialogItemAsControl", (PyCFunction)DlgObj_GetDialogItemAsControl, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(SInt16 inItemNo) -> (ControlHandle outControl)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"MoveDialogItem", (PyCFunction)DlgObj_MoveDialogItem, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(SInt16 inItemNo, SInt16 inHoriz, SInt16 inVert) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"SizeDialogItem", (PyCFunction)DlgObj_SizeDialogItem, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(SInt16 inItemNo, SInt16 inWidth, SInt16 inHeight) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"AppendDialogItemList", (PyCFunction)DlgObj_AppendDialogItemList, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(SInt16 ditlID, DITLMethod method) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"SetDialogTimeout", (PyCFunction)DlgObj_SetDialogTimeout, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(SInt16 inButtonToPress, UInt32 inSecondsToWait) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetDialogTimeout", (PyCFunction)DlgObj_GetDialogTimeout, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> (SInt16 outButtonToPress, UInt32 outSecondsToWait, UInt32 outSecondsRemaining)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"SetModalDialogEventMask", (PyCFunction)DlgObj_SetModalDialogEventMask, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(EventMask inMask) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetModalDialogEventMask", (PyCFunction)DlgObj_GetModalDialogEventMask, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> (EventMask outMask)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetDialogWindow", (PyCFunction)DlgObj_GetDialogWindow, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> (WindowPtr _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetDialogTextEditHandle", (PyCFunction)DlgObj_GetDialogTextEditHandle, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> (TEHandle _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetDialogDefaultItem", (PyCFunction)DlgObj_GetDialogDefaultItem, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> (SInt16 _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetDialogCancelItem", (PyCFunction)DlgObj_GetDialogCancelItem, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> (SInt16 _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetDialogKeyboardFocusItem", (PyCFunction)DlgObj_GetDialogKeyboardFocusItem, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> (SInt16 _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"SetPortDialogPort", (PyCFunction)DlgObj_SetPortDialogPort, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetDialogPort", (PyCFunction)DlgObj_GetDialogPort, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> (CGrafPtr _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{NULL, NULL, 0} | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-11-29 23:40:48 +00:00
										 |  |  | #define DlgObj_getsetlist NULL
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-12-03 23:40:22 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | static int DlgObj_compare(DialogObject *self, DialogObject *other) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	if ( self->ob_itself > other->ob_itself ) return 1; | 
					
						
							|  |  |  | 	if ( self->ob_itself < other->ob_itself ) return -1; | 
					
						
							|  |  |  | 	return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define DlgObj_repr NULL
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static int DlgObj_hash(DialogObject *self) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return (int)self->ob_itself; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2002-12-03 23:40:22 +00:00
										 |  |  | #define DlgObj_tp_init 0
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define DlgObj_tp_alloc PyType_GenericAlloc
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *DlgObj_tp_new(PyTypeObject *type, PyObject *args, PyObject *kwds) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *self; | 
					
						
							|  |  |  | 	DialogPtr itself; | 
					
						
							|  |  |  | 	char *kw[] = {"itself", 0}; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	if (!PyArg_ParseTupleAndKeywords(args, kwds, "O&", kw, DlgObj_Convert, &itself)) return NULL; | 
					
						
							|  |  |  | 	if ((self = type->tp_alloc(type, 0)) == NULL) return NULL; | 
					
						
							|  |  |  | 	((DialogObject *)self)->ob_itself = itself; | 
					
						
							|  |  |  | 	return self; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define DlgObj_tp_free PyObject_Del
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | PyTypeObject Dialog_Type = { | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | 	PyObject_HEAD_INIT(NULL) | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	0, /*ob_size*/ | 
					
						
							| 
									
										
										
										
											2001-12-08 18:02:58 +00:00
										 |  |  | 	"_Dlg.Dialog", /*tp_name*/ | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	sizeof(DialogObject), /*tp_basicsize*/ | 
					
						
							|  |  |  | 	0, /*tp_itemsize*/ | 
					
						
							|  |  |  | 	/* methods */ | 
					
						
							|  |  |  | 	(destructor) DlgObj_dealloc, /*tp_dealloc*/ | 
					
						
							|  |  |  | 	0, /*tp_print*/ | 
					
						
							| 
									
										
										
										
											2002-11-29 23:40:48 +00:00
										 |  |  | 	(getattrfunc)0, /*tp_getattr*/ | 
					
						
							|  |  |  | 	(setattrfunc)0, /*tp_setattr*/ | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	(cmpfunc) DlgObj_compare, /*tp_compare*/ | 
					
						
							|  |  |  | 	(reprfunc) DlgObj_repr, /*tp_repr*/ | 
					
						
							|  |  |  | 	(PyNumberMethods *)0, /* tp_as_number */ | 
					
						
							|  |  |  | 	(PySequenceMethods *)0, /* tp_as_sequence */ | 
					
						
							|  |  |  | 	(PyMappingMethods *)0, /* tp_as_mapping */ | 
					
						
							|  |  |  | 	(hashfunc) DlgObj_hash, /*tp_hash*/ | 
					
						
							| 
									
										
										
										
											2002-11-29 23:40:48 +00:00
										 |  |  | 	0, /*tp_call*/ | 
					
						
							|  |  |  | 	0, /*tp_str*/ | 
					
						
							|  |  |  | 	PyObject_GenericGetAttr, /*tp_getattro*/ | 
					
						
							|  |  |  | 	PyObject_GenericSetAttr, /*tp_setattro */ | 
					
						
							| 
									
										
										
										
											2002-12-03 23:40:22 +00:00
										 |  |  | 	0, /*tp_as_buffer*/ | 
					
						
							|  |  |  | 	Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */ | 
					
						
							|  |  |  | 	0, /*tp_doc*/ | 
					
						
							|  |  |  | 	0, /*tp_traverse*/ | 
					
						
							|  |  |  | 	0, /*tp_clear*/ | 
					
						
							|  |  |  | 	0, /*tp_richcompare*/ | 
					
						
							|  |  |  | 	0, /*tp_weaklistoffset*/ | 
					
						
							|  |  |  | 	0, /*tp_iter*/ | 
					
						
							|  |  |  | 	0, /*tp_iternext*/ | 
					
						
							| 
									
										
										
										
											2002-11-29 23:40:48 +00:00
										 |  |  | 	DlgObj_methods, /* tp_methods */ | 
					
						
							| 
									
										
										
										
											2002-12-03 23:40:22 +00:00
										 |  |  | 	0, /*tp_members*/ | 
					
						
							| 
									
										
										
										
											2002-11-29 23:40:48 +00:00
										 |  |  | 	DlgObj_getsetlist, /*tp_getset*/ | 
					
						
							| 
									
										
										
										
											2002-12-03 23:40:22 +00:00
										 |  |  | 	0, /*tp_base*/ | 
					
						
							|  |  |  | 	0, /*tp_dict*/ | 
					
						
							|  |  |  | 	0, /*tp_descr_get*/ | 
					
						
							|  |  |  | 	0, /*tp_descr_set*/ | 
					
						
							|  |  |  | 	0, /*tp_dictoffset*/ | 
					
						
							|  |  |  | 	DlgObj_tp_init, /* tp_init */ | 
					
						
							|  |  |  | 	DlgObj_tp_alloc, /* tp_alloc */ | 
					
						
							|  |  |  | 	DlgObj_tp_new, /* tp_new */ | 
					
						
							|  |  |  | 	DlgObj_tp_free, /* tp_free */ | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* --------------------- End object type Dialog --------------------- */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_NewDialog(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogPtr _rv; | 
					
						
							|  |  |  | 	Rect boundsRect; | 
					
						
							|  |  |  | 	Str255 title; | 
					
						
							|  |  |  | 	Boolean visible; | 
					
						
							|  |  |  | 	SInt16 procID; | 
					
						
							|  |  |  | 	WindowPtr behind; | 
					
						
							|  |  |  | 	Boolean goAwayFlag; | 
					
						
							|  |  |  | 	SInt32 refCon; | 
					
						
							|  |  |  | 	Handle items; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef NewDialog
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(NewDialog); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O&O&bhO&blO&", | 
					
						
							|  |  |  | 	                      PyMac_GetRect, &boundsRect, | 
					
						
							|  |  |  | 	                      PyMac_GetStr255, title, | 
					
						
							|  |  |  | 	                      &visible, | 
					
						
							|  |  |  | 	                      &procID, | 
					
						
							|  |  |  | 	                      WinObj_Convert, &behind, | 
					
						
							|  |  |  | 	                      &goAwayFlag, | 
					
						
							|  |  |  | 	                      &refCon, | 
					
						
							|  |  |  | 	                      ResObj_Convert, &items)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = NewDialog((void *)0, | 
					
						
							|  |  |  | 	                &boundsRect, | 
					
						
							|  |  |  | 	                title, | 
					
						
							|  |  |  | 	                visible, | 
					
						
							|  |  |  | 	                procID, | 
					
						
							|  |  |  | 	                behind, | 
					
						
							|  |  |  | 	                goAwayFlag, | 
					
						
							|  |  |  | 	                refCon, | 
					
						
							|  |  |  | 	                items); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     DlgObj_New, _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_GetNewDialog(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogPtr _rv; | 
					
						
							|  |  |  | 	SInt16 dialogID; | 
					
						
							|  |  |  | 	WindowPtr behind; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetNewDialog
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetNewDialog); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "hO&", | 
					
						
							|  |  |  | 	                      &dialogID, | 
					
						
							|  |  |  | 	                      WinObj_Convert, &behind)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = GetNewDialog(dialogID, | 
					
						
							|  |  |  | 	                   (void *)0, | 
					
						
							|  |  |  | 	                   behind); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     DlgObj_New, _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_NewColorDialog(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogPtr _rv; | 
					
						
							|  |  |  | 	Rect boundsRect; | 
					
						
							|  |  |  | 	Str255 title; | 
					
						
							|  |  |  | 	Boolean visible; | 
					
						
							|  |  |  | 	SInt16 procID; | 
					
						
							|  |  |  | 	WindowPtr behind; | 
					
						
							|  |  |  | 	Boolean goAwayFlag; | 
					
						
							|  |  |  | 	SInt32 refCon; | 
					
						
							|  |  |  | 	Handle items; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef NewColorDialog
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(NewColorDialog); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O&O&bhO&blO&", | 
					
						
							|  |  |  | 	                      PyMac_GetRect, &boundsRect, | 
					
						
							|  |  |  | 	                      PyMac_GetStr255, title, | 
					
						
							|  |  |  | 	                      &visible, | 
					
						
							|  |  |  | 	                      &procID, | 
					
						
							|  |  |  | 	                      WinObj_Convert, &behind, | 
					
						
							|  |  |  | 	                      &goAwayFlag, | 
					
						
							|  |  |  | 	                      &refCon, | 
					
						
							|  |  |  | 	                      ResObj_Convert, &items)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = NewColorDialog((void *)0, | 
					
						
							|  |  |  | 	                     &boundsRect, | 
					
						
							|  |  |  | 	                     title, | 
					
						
							|  |  |  | 	                     visible, | 
					
						
							|  |  |  | 	                     procID, | 
					
						
							|  |  |  | 	                     behind, | 
					
						
							|  |  |  | 	                     goAwayFlag, | 
					
						
							|  |  |  | 	                     refCon, | 
					
						
							|  |  |  | 	                     items); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     DlgObj_New, _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_ModalDialog(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	PyObject* modalFilter; | 
					
						
							|  |  |  | 	DialogItemIndex itemHit; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef ModalDialog
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(ModalDialog); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O", | 
					
						
							|  |  |  | 	                      &modalFilter)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	ModalDialog(Dlg_PassFilterProc(modalFilter), | 
					
						
							|  |  |  | 	            &itemHit); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("h", | 
					
						
							|  |  |  | 	                     itemHit); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_IsDialogEvent(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	Boolean _rv; | 
					
						
							|  |  |  | 	EventRecord theEvent; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef IsDialogEvent
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(IsDialogEvent); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O&", | 
					
						
							|  |  |  | 	                      PyMac_GetEventRecord, &theEvent)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = IsDialogEvent(&theEvent); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("b", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_DialogSelect(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	Boolean _rv; | 
					
						
							|  |  |  | 	EventRecord theEvent; | 
					
						
							|  |  |  | 	DialogPtr theDialog; | 
					
						
							|  |  |  | 	DialogItemIndex itemHit; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef DialogSelect
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(DialogSelect); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O&", | 
					
						
							|  |  |  | 	                      PyMac_GetEventRecord, &theEvent)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = DialogSelect(&theEvent, | 
					
						
							|  |  |  | 	                   &theDialog, | 
					
						
							|  |  |  | 	                   &itemHit); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("bO&h", | 
					
						
							|  |  |  | 	                     _rv, | 
					
						
							|  |  |  | 	                     DlgObj_WhichDialog, theDialog, | 
					
						
							|  |  |  | 	                     itemHit); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_Alert(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogItemIndex _rv; | 
					
						
							|  |  |  | 	SInt16 alertID; | 
					
						
							|  |  |  | 	PyObject* modalFilter; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef Alert
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(Alert); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "hO", | 
					
						
							|  |  |  | 	                      &alertID, | 
					
						
							|  |  |  | 	                      &modalFilter)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = Alert(alertID, | 
					
						
							|  |  |  | 	            Dlg_PassFilterProc(modalFilter)); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("h", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_StopAlert(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogItemIndex _rv; | 
					
						
							|  |  |  | 	SInt16 alertID; | 
					
						
							|  |  |  | 	PyObject* modalFilter; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef StopAlert
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(StopAlert); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "hO", | 
					
						
							|  |  |  | 	                      &alertID, | 
					
						
							|  |  |  | 	                      &modalFilter)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = StopAlert(alertID, | 
					
						
							|  |  |  | 	                Dlg_PassFilterProc(modalFilter)); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("h", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_NoteAlert(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogItemIndex _rv; | 
					
						
							|  |  |  | 	SInt16 alertID; | 
					
						
							|  |  |  | 	PyObject* modalFilter; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef NoteAlert
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(NoteAlert); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "hO", | 
					
						
							|  |  |  | 	                      &alertID, | 
					
						
							|  |  |  | 	                      &modalFilter)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = NoteAlert(alertID, | 
					
						
							|  |  |  | 	                Dlg_PassFilterProc(modalFilter)); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("h", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_CautionAlert(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogItemIndex _rv; | 
					
						
							|  |  |  | 	SInt16 alertID; | 
					
						
							|  |  |  | 	PyObject* modalFilter; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef CautionAlert
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(CautionAlert); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "hO", | 
					
						
							|  |  |  | 	                      &alertID, | 
					
						
							|  |  |  | 	                      &modalFilter)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = CautionAlert(alertID, | 
					
						
							|  |  |  | 	                   Dlg_PassFilterProc(modalFilter)); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("h", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_ParamText(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	Str255 param0; | 
					
						
							|  |  |  | 	Str255 param1; | 
					
						
							|  |  |  | 	Str255 param2; | 
					
						
							|  |  |  | 	Str255 param3; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef ParamText
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(ParamText); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O&O&O&O&", | 
					
						
							|  |  |  | 	                      PyMac_GetStr255, param0, | 
					
						
							|  |  |  | 	                      PyMac_GetStr255, param1, | 
					
						
							|  |  |  | 	                      PyMac_GetStr255, param2, | 
					
						
							|  |  |  | 	                      PyMac_GetStr255, param3)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	ParamText(param0, | 
					
						
							|  |  |  | 	          param1, | 
					
						
							|  |  |  | 	          param2, | 
					
						
							|  |  |  | 	          param3); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_GetDialogItemText(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	Handle item; | 
					
						
							|  |  |  | 	Str255 text; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetDialogItemText
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetDialogItemText); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O&", | 
					
						
							|  |  |  | 	                      ResObj_Convert, &item)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	GetDialogItemText(item, | 
					
						
							|  |  |  | 	                  text); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     PyMac_BuildStr255, text); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_SetDialogItemText(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	Handle item; | 
					
						
							|  |  |  | 	Str255 text; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef SetDialogItemText
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(SetDialogItemText); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O&O&", | 
					
						
							|  |  |  | 	                      ResObj_Convert, &item, | 
					
						
							|  |  |  | 	                      PyMac_GetStr255, text)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	SetDialogItemText(item, | 
					
						
							|  |  |  | 	                  text); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_GetAlertStage(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	SInt16 _rv; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetAlertStage
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetAlertStage); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = GetAlertStage(); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("h", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_SetDialogFont(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	SInt16 fontNum; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef SetDialogFont
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(SetDialogFont); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "h", | 
					
						
							|  |  |  | 	                      &fontNum)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	SetDialogFont(fontNum); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_ResetAlertStage(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef ResetAlertStage
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(ResetAlertStage); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	ResetAlertStage(); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_GetParamText(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	Str255 param0; | 
					
						
							|  |  |  | 	Str255 param1; | 
					
						
							|  |  |  | 	Str255 param2; | 
					
						
							|  |  |  | 	Str255 param3; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetParamText
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetParamText); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O&O&O&O&", | 
					
						
							|  |  |  | 	                      PyMac_GetStr255, param0, | 
					
						
							|  |  |  | 	                      PyMac_GetStr255, param1, | 
					
						
							|  |  |  | 	                      PyMac_GetStr255, param2, | 
					
						
							|  |  |  | 	                      PyMac_GetStr255, param3)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	GetParamText(param0, | 
					
						
							|  |  |  | 	             param1, | 
					
						
							|  |  |  | 	             param2, | 
					
						
							|  |  |  | 	             param3); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_NewFeaturesDialog(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogPtr _rv; | 
					
						
							|  |  |  | 	Rect inBoundsRect; | 
					
						
							|  |  |  | 	Str255 inTitle; | 
					
						
							|  |  |  | 	Boolean inIsVisible; | 
					
						
							|  |  |  | 	SInt16 inProcID; | 
					
						
							|  |  |  | 	WindowPtr inBehind; | 
					
						
							|  |  |  | 	Boolean inGoAwayFlag; | 
					
						
							|  |  |  | 	SInt32 inRefCon; | 
					
						
							|  |  |  | 	Handle inItemListHandle; | 
					
						
							|  |  |  | 	UInt32 inFlags; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef NewFeaturesDialog
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(NewFeaturesDialog); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O&O&bhO&blO&l", | 
					
						
							|  |  |  | 	                      PyMac_GetRect, &inBoundsRect, | 
					
						
							|  |  |  | 	                      PyMac_GetStr255, inTitle, | 
					
						
							|  |  |  | 	                      &inIsVisible, | 
					
						
							|  |  |  | 	                      &inProcID, | 
					
						
							|  |  |  | 	                      WinObj_Convert, &inBehind, | 
					
						
							|  |  |  | 	                      &inGoAwayFlag, | 
					
						
							|  |  |  | 	                      &inRefCon, | 
					
						
							|  |  |  | 	                      ResObj_Convert, &inItemListHandle, | 
					
						
							|  |  |  | 	                      &inFlags)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = NewFeaturesDialog((void *)0, | 
					
						
							|  |  |  | 	                        &inBoundsRect, | 
					
						
							|  |  |  | 	                        inTitle, | 
					
						
							|  |  |  | 	                        inIsVisible, | 
					
						
							|  |  |  | 	                        inProcID, | 
					
						
							|  |  |  | 	                        inBehind, | 
					
						
							|  |  |  | 	                        inGoAwayFlag, | 
					
						
							|  |  |  | 	                        inRefCon, | 
					
						
							|  |  |  | 	                        inItemListHandle, | 
					
						
							|  |  |  | 	                        inFlags); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     DlgObj_New, _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_GetDialogFromWindow(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	DialogPtr _rv; | 
					
						
							|  |  |  | 	WindowPtr window; | 
					
						
							| 
									
										
										
										
											2001-11-30 14:16:36 +00:00
										 |  |  | #ifndef GetDialogFromWindow
 | 
					
						
							|  |  |  | 	PyMac_PRECHECK(GetDialogFromWindow); | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	if (!PyArg_ParseTuple(_args, "O&", | 
					
						
							|  |  |  | 	                      WinObj_Convert, &window)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = GetDialogFromWindow(window); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     DlgObj_New, _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Dlg_SetUserItemHandler(PyObject *_self, PyObject *_args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		PyObject *new = NULL; | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		if (!PyArg_ParseTuple(_args, "|O", &new)) | 
					
						
							|  |  |  | 			return NULL; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		if (Dlg_UserItemProc_callback && new && new != Py_None) { | 
					
						
							|  |  |  | 			PyErr_SetString(Dlg_Error, "Another UserItemProc is already installed"); | 
					
						
							|  |  |  | 			return NULL; | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		if (new == NULL || new == Py_None) { | 
					
						
							|  |  |  | 			new = NULL; | 
					
						
							|  |  |  | 			_res = Py_None; | 
					
						
							|  |  |  | 			Py_INCREF(Py_None); | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 			Py_INCREF(new); | 
					
						
							|  |  |  | 			_res = Py_BuildValue("O&", ResObj_New, (Handle)NewUserItemUPP(Dlg_UnivUserItemProc)); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		Dlg_UserItemProc_callback = new; | 
					
						
							|  |  |  | 		return _res; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyMethodDef Dlg_methods[] = { | 
					
						
							|  |  |  | 	{"NewDialog", (PyCFunction)Dlg_NewDialog, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(Rect boundsRect, Str255 title, Boolean visible, SInt16 procID, WindowPtr behind, Boolean goAwayFlag, SInt32 refCon, Handle items) -> (DialogPtr _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetNewDialog", (PyCFunction)Dlg_GetNewDialog, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(SInt16 dialogID, WindowPtr behind) -> (DialogPtr _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"NewColorDialog", (PyCFunction)Dlg_NewColorDialog, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(Rect boundsRect, Str255 title, Boolean visible, SInt16 procID, WindowPtr behind, Boolean goAwayFlag, SInt32 refCon, Handle items) -> (DialogPtr _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"ModalDialog", (PyCFunction)Dlg_ModalDialog, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(PyObject* modalFilter) -> (DialogItemIndex itemHit)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"IsDialogEvent", (PyCFunction)Dlg_IsDialogEvent, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(EventRecord theEvent) -> (Boolean _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"DialogSelect", (PyCFunction)Dlg_DialogSelect, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(EventRecord theEvent) -> (Boolean _rv, DialogPtr theDialog, DialogItemIndex itemHit)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"Alert", (PyCFunction)Dlg_Alert, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(SInt16 alertID, PyObject* modalFilter) -> (DialogItemIndex _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"StopAlert", (PyCFunction)Dlg_StopAlert, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(SInt16 alertID, PyObject* modalFilter) -> (DialogItemIndex _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"NoteAlert", (PyCFunction)Dlg_NoteAlert, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(SInt16 alertID, PyObject* modalFilter) -> (DialogItemIndex _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"CautionAlert", (PyCFunction)Dlg_CautionAlert, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(SInt16 alertID, PyObject* modalFilter) -> (DialogItemIndex _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"ParamText", (PyCFunction)Dlg_ParamText, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(Str255 param0, Str255 param1, Str255 param2, Str255 param3) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetDialogItemText", (PyCFunction)Dlg_GetDialogItemText, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(Handle item) -> (Str255 text)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"SetDialogItemText", (PyCFunction)Dlg_SetDialogItemText, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(Handle item, Str255 text) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetAlertStage", (PyCFunction)Dlg_GetAlertStage, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> (SInt16 _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"SetDialogFont", (PyCFunction)Dlg_SetDialogFont, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(SInt16 fontNum) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"ResetAlertStage", (PyCFunction)Dlg_ResetAlertStage, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("() -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetParamText", (PyCFunction)Dlg_GetParamText, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(Str255 param0, Str255 param1, Str255 param2, Str255 param3) -> None")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"NewFeaturesDialog", (PyCFunction)Dlg_NewFeaturesDialog, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(Rect inBoundsRect, Str255 inTitle, Boolean inIsVisible, SInt16 inProcID, WindowPtr inBehind, Boolean inGoAwayFlag, SInt32 inRefCon, Handle inItemListHandle, UInt32 inFlags) -> (DialogPtr _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"GetDialogFromWindow", (PyCFunction)Dlg_GetDialogFromWindow, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR("(WindowPtr window) -> (DialogPtr _rv)")}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{"SetUserItemHandler", (PyCFunction)Dlg_SetUserItemHandler, 1, | 
					
						
							| 
									
										
										
										
											2002-08-16 09:09:31 +00:00
										 |  |  | 	 PyDoc_STR(NULL)}, | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	{NULL, NULL, 0} | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Return the WindowPtr corresponding to a DialogObject */ | 
					
						
							|  |  |  | #if 0
 | 
					
						
							|  |  |  | WindowPtr | 
					
						
							|  |  |  | DlgObj_ConvertToWindow(PyObject *self) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	if ( DlgObj_Check(self) ) | 
					
						
							|  |  |  | 		return GetDialogWindow(((DialogObject *)self)->ob_itself); | 
					
						
							|  |  |  | 	return NULL; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | /* Return the object corresponding to the dialog, or None */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyObject * | 
					
						
							|  |  |  | DlgObj_WhichDialog(DialogPtr d) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *it; | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	if (d == NULL) { | 
					
						
							|  |  |  | 		it = Py_None; | 
					
						
							|  |  |  | 		Py_INCREF(it); | 
					
						
							|  |  |  | 	} else { | 
					
						
							|  |  |  | 		WindowPtr w = GetDialogWindow(d); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		it = (PyObject *) GetWRefCon(w); | 
					
						
							|  |  |  | 		if (it == NULL || ((DialogObject *)it)->ob_itself != d || !DlgObj_Check(it)) { | 
					
						
							|  |  |  | #if 0
 | 
					
						
							|  |  |  | 			/* Should do this, but we don't have an ob_freeit for dialogs yet. */ | 
					
						
							|  |  |  | 			it = WinObj_New(w); | 
					
						
							|  |  |  | 			((WindowObject *)it)->ob_freeit = NULL; | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | 			it = Py_None; | 
					
						
							|  |  |  | 			Py_INCREF(it); | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 			Py_INCREF(it); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return it; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void init_Dlg(void) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *m; | 
					
						
							|  |  |  | 	PyObject *d; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		PyMac_INIT_TOOLBOX_OBJECT_NEW(DialogPtr, DlgObj_New); | 
					
						
							|  |  |  | 		PyMac_INIT_TOOLBOX_OBJECT_NEW(DialogPtr, DlgObj_WhichDialog); | 
					
						
							|  |  |  | 		PyMac_INIT_TOOLBOX_OBJECT_CONVERT(DialogPtr, DlgObj_Convert); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	m = Py_InitModule("_Dlg", Dlg_methods); | 
					
						
							|  |  |  | 	d = PyModule_GetDict(m); | 
					
						
							|  |  |  | 	Dlg_Error = PyMac_GetOSErrException(); | 
					
						
							|  |  |  | 	if (Dlg_Error == NULL || | 
					
						
							|  |  |  | 	    PyDict_SetItemString(d, "Error", Dlg_Error) != 0) | 
					
						
							|  |  |  | 		return; | 
					
						
							|  |  |  | 	Dialog_Type.ob_type = &PyType_Type; | 
					
						
							| 
									
										
										
										
											2002-12-23 23:16:25 +00:00
										 |  |  | 	if (PyType_Ready(&Dialog_Type) < 0) return; | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | 	Py_INCREF(&Dialog_Type); | 
					
						
							| 
									
										
										
										
											2002-12-03 23:40:22 +00:00
										 |  |  | 	PyModule_AddObject(m, "Dialog", (PyObject *)&Dialog_Type); | 
					
						
							|  |  |  | 	/* Backward-compatible name */ | 
					
						
							|  |  |  | 	Py_INCREF(&Dialog_Type); | 
					
						
							|  |  |  | 	PyModule_AddObject(m, "DialogType", (PyObject *)&Dialog_Type); | 
					
						
							| 
									
										
										
										
											2001-08-23 14:02:09 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* ======================== End module _Dlg ========================= */ | 
					
						
							|  |  |  | 
 |