[Python-checkins] CVS: python/dist/src/Mac/Modules/mlte Mltemodule.c,1.1,1.2
Jack Jansen
jackjansen@users.sourceforge.net
Fri, 13 Jul 2001 15:27:10 -0700
Update of /cvsroot/python/python/dist/src/Mac/Modules/mlte
In directory usw-pr-cvs1:/tmp/cvs-serv32192/Python/Mac/Modules/mlte
Modified Files:
Mltemodule.c
Log Message:
Fixed the mis-guessed parameters and added support for a few optional parameter types. There's a good chance that this is usable now (but there's no test code yet).
Index: Mltemodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Modules/mlte/Mltemodule.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** Mltemodule.c 2001/07/13 20:56:43 1.1
--- Mltemodule.c 2001/07/13 22:27:07 1.2
***************
*** 39,44 ****
/*
! ** Parse/generate ADD records
*/
--- 39,73 ----
/*
! ** Parse an optional fsspec
*/
+ static int
+ OptFSSpecPtr_Convert(PyObject *v, FSSpec **p_itself)
+ {
+ static FSSpec fss;
+ if (v == Py_None)
+ {
+ *p_itself = NULL;
+ return 1;
+ }
+ *p_itself = &fss;
+ return PyMac_GetFSSpec(v, *p_itself);
+ }
+
+ /*
+ ** Parse an optional rect
+ */
+ static int
+ OptRectPtr_Convert(PyObject *v, Rect **p_itself)
+ {
+ static Rect r;
+
+ if (v == Py_None)
+ {
+ *p_itself = NULL;
+ return 1;
+ }
+ *p_itself = &r;
+ return PyMac_GetRect(v, *p_itself);
+ }
***************
*** 193,203 ****
EventRecord iEvent;
PyMac_PRECHECK(TXNTSMCheck);
! if (!PyArg_ParseTuple(_args, ""))
return NULL;
_rv = TXNTSMCheck(_self->ob_itself,
&iEvent);
! _res = Py_BuildValue("bO&",
! _rv,
! PyMac_BuildEventRecord, &iEvent);
return _res;
}
--- 222,232 ----
EventRecord iEvent;
PyMac_PRECHECK(TXNTSMCheck);
! if (!PyArg_ParseTuple(_args, "O&",
! PyMac_GetEventRecord, &iEvent))
return NULL;
_rv = TXNTSMCheck(_self->ob_itself,
&iEvent);
! _res = Py_BuildValue("b",
! _rv);
return _res;
}
***************
*** 666,673 ****
SInt16 iResourceReference;
PyMac_PRECHECK(TXNSave);
! if (!PyArg_ParseTuple(_args, "O&O&lhh",
PyMac_GetOSType, &iType,
PyMac_GetOSType, &iResType,
&iPermanentEncoding,
&iDataReference,
&iResourceReference))
--- 695,703 ----
SInt16 iResourceReference;
PyMac_PRECHECK(TXNSave);
! if (!PyArg_ParseTuple(_args, "O&O&lO&hh",
PyMac_GetOSType, &iType,
PyMac_GetOSType, &iResType,
&iPermanentEncoding,
+ PyMac_GetFSSpec, &iFileSpecification,
&iDataReference,
&iResourceReference))
***************
*** 681,686 ****
iResourceReference);
if (_err != noErr) return PyMac_Error(_err);
! _res = Py_BuildValue("O&",
! PyMac_BuildFSSpec, iFileSpecification);
return _res;
}
--- 711,716 ----
iResourceReference);
if (_err != noErr) return PyMac_Error(_err);
! Py_INCREF(Py_None);
! _res = Py_None;
return _res;
}
***************
*** 904,908 ****
"(EventRecord iEvent) -> None"},
{"TXNTSMCheck", (PyCFunction)TXNObj_TXNTSMCheck, 1,
! "() -> (Boolean _rv, EventRecord iEvent)"},
{"TXNSelectAll", (PyCFunction)TXNObj_TXNSelectAll, 1,
"() -> None"},
--- 934,938 ----
"(EventRecord iEvent) -> None"},
{"TXNTSMCheck", (PyCFunction)TXNObj_TXNTSMCheck, 1,
! "(EventRecord iEvent) -> (Boolean _rv)"},
{"TXNSelectAll", (PyCFunction)TXNObj_TXNSelectAll, 1,
"() -> None"},
***************
*** 962,966 ****
"() -> (ItemCount _rv)"},
{"TXNSave", (PyCFunction)TXNObj_TXNSave, 1,
! "(OSType iType, OSType iResType, TXNPermanentTextEncodingType iPermanentEncoding, SInt16 iDataReference, SInt16 iResourceReference) -> (FSSpec iFileSpecification)"},
{"TXNRevert", (PyCFunction)TXNObj_TXNRevert, 1,
"() -> None"},
--- 992,996 ----
"() -> (ItemCount _rv)"},
{"TXNSave", (PyCFunction)TXNObj_TXNSave, 1,
! "(OSType iType, OSType iResType, TXNPermanentTextEncodingType iPermanentEncoding, FSSpec iFileSpecification, SInt16 iDataReference, SInt16 iResourceReference) -> None"},
{"TXNRevert", (PyCFunction)TXNObj_TXNRevert, 1,
"() -> None"},
***************
*** 1141,1147 ****
PyObject *_res = NULL;
OSStatus _err;
! FSSpec iFileSpec;
WindowPtr iWindow;
! Rect iFrame;
TXNFrameOptions iFrameOptions;
TXNFrameType iFrameType;
--- 1171,1177 ----
PyObject *_res = NULL;
OSStatus _err;
! FSSpec * iFileSpec;
WindowPtr iWindow;
! Rect * iFrame;
TXNFrameOptions iFrameOptions;
TXNFrameType iFrameType;
***************
*** 1151,1157 ****
TXNFrameID oTXNFrameID;
PyMac_PRECHECK(TXNNewObject);
! if (!PyArg_ParseTuple(_args, "O&O&llO&l",
! PyMac_GetFSSpec, &iFileSpec,
WinObj_Convert, &iWindow,
&iFrameOptions,
&iFrameType,
--- 1181,1188 ----
TXNFrameID oTXNFrameID;
PyMac_PRECHECK(TXNNewObject);
! if (!PyArg_ParseTuple(_args, "O&O&O&llO&l",
! OptFSSpecPtr_Convert, &iFileSpec,
WinObj_Convert, &iWindow,
+ OptRectPtr_Convert, &iFrame,
&iFrameOptions,
&iFrameType,
***************
*** 1159,1165 ****
&iPermanentEncoding))
return NULL;
! _err = TXNNewObject(&iFileSpec,
iWindow,
! &iFrame,
iFrameOptions,
iFrameType,
--- 1190,1196 ----
&iPermanentEncoding))
return NULL;
! _err = TXNNewObject(iFileSpec,
iWindow,
! iFrame,
iFrameOptions,
iFrameType,
***************
*** 1170,1175 ****
(TXNObjectRefcon)0);
if (_err != noErr) return PyMac_Error(_err);
! _res = Py_BuildValue("O&O&l",
! PyMac_BuildRect, &iFrame,
TXNObj_New, oTXNObject,
oTXNFrameID);
--- 1201,1205 ----
(TXNObjectRefcon)0);
if (_err != noErr) return PyMac_Error(_err);
! _res = Py_BuildValue("O&l",
TXNObj_New, oTXNObject,
oTXNFrameID);
***************
*** 1269,1275 ****
}
static PyMethodDef Mlte_methods[] = {
{"TXNNewObject", (PyCFunction)Mlte_TXNNewObject, 1,
! "(FSSpec iFileSpec, WindowPtr iWindow, TXNFrameOptions iFrameOptions, TXNFrameType iFrameType, TXNFileType iFileType, TXNPermanentTextEncodingType iPermanentEncoding) -> (Rect iFrame, TXNObject oTXNObject, TXNFrameID oTXNFrameID)"},
{"TXNTerminateTextension", (PyCFunction)Mlte_TXNTerminateTextension, 1,
"() -> None"},
--- 1299,1326 ----
}
+ static PyObject *Mlte_TXNInitTextension(PyObject *_self, PyObject *_args)
+ {
+ PyObject *_res = NULL;
+
+ OSStatus _err;
+ TXNMacOSPreferredFontDescription * iDefaultFonts = NULL;
+ ItemCount iCountDefaultFonts = 0;
+ TXNInitOptions iUsageFlags;
+ PyMac_PRECHECK(TXNInitTextension);
+ if (!PyArg_ParseTuple(_args, "l", &iUsageFlags))
+ return NULL;
+ _err = TXNInitTextension(iDefaultFonts,
+ iCountDefaultFonts,
+ iUsageFlags);
+ if (_err != noErr) return PyMac_Error(_err);
+ Py_INCREF(Py_None);
+ _res = Py_None;
+ return _res;
+
+ }
+
static PyMethodDef Mlte_methods[] = {
{"TXNNewObject", (PyCFunction)Mlte_TXNNewObject, 1,
! "(FSSpec * iFileSpec, WindowPtr iWindow, Rect * iFrame, TXNFrameOptions iFrameOptions, TXNFrameType iFrameType, TXNFileType iFileType, TXNPermanentTextEncodingType iPermanentEncoding) -> (TXNObject oTXNObject, TXNFrameID oTXNFrameID)"},
{"TXNTerminateTextension", (PyCFunction)Mlte_TXNTerminateTextension, 1,
"() -> None"},
***************
*** 1284,1287 ****
--- 1335,1340 ----
{"TXNVersionInformation", (PyCFunction)Mlte_TXNVersionInformation, 1,
"() -> (TXNVersionValue _rv, TXNFeatureBits oFeatureFlags)"},
+ {"TXNInitTextension", (PyCFunction)Mlte_TXNInitTextension, 1,
+ "(TXNInitOptions) -> None"},
{NULL, NULL, 0}
};