2 /* ========================== Module _Mlte ========================== */
9 #include "pywintoolbox.h"
12 #include "pymactoolbox.h"
15 /* Macro to test whether a weak-loaded CFM function exists */
16 #define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
17 PyErr_SetString(PyExc_NotImplementedError, \
18 "Not available in this shared library/OS version"); \
23 #ifdef WITHOUT_FRAMEWORKS
24 #include <MacTextEditor.h>
26 #include <Carbon/Carbon.h>
29 /* For now we declare them forward here. They'll go to mactoolbox later */
30 static PyObject
*TXNObj_New(TXNObject
);
31 static int TXNObj_Convert(PyObject
*, TXNObject
*);
32 static PyObject
*TXNFontMenuObj_New(TXNFontMenuObject
);
33 static int TXNFontMenuObj_Convert(PyObject
*, TXNFontMenuObject
*);
36 #ifdef NOTYET_USE_TOOLBOX_OBJECT_GLUE
37 //extern PyObject *_CFTypeRefObj_New(CFTypeRef);
38 //extern int _CFTypeRefObj_Convert(PyObject *, CFTypeRef *);
40 //#define CFTypeRefObj_New _CFTypeRefObj_New
41 //#define CFTypeRefObj_Convert _CFTypeRefObj_Convert
45 ** Parse an optional fsspec
48 OptFSSpecPtr_Convert(PyObject
*v
, FSSpec
**p_itself
)
57 return PyMac_GetFSSpec(v
, *p_itself
);
61 ** Parse an optional rect
64 OptRectPtr_Convert(PyObject
*v
, Rect
**p_itself
)
74 return PyMac_GetRect(v
, *p_itself
);
78 ** Parse an optional GWorld
81 OptGWorldObj_Convert(PyObject
*v
, GWorldPtr
*p_itself
)
88 return GWorldObj_Convert(v
, p_itself
);
92 static PyObject
*Mlte_Error
;
94 /* --------------------- Object type TXNObject ---------------------- */
96 PyTypeObject TXNObject_Type
;
98 #define TXNObj_Check(x) ((x)->ob_type == &TXNObject_Type)
100 typedef struct TXNObjectObject
{
105 PyObject
*TXNObj_New(TXNObject itself
)
108 if (itself
== NULL
) return PyMac_Error(resNotFound
);
109 it
= PyObject_NEW(TXNObjectObject
, &TXNObject_Type
);
110 if (it
== NULL
) return NULL
;
111 it
->ob_itself
= itself
;
112 return (PyObject
*)it
;
114 int TXNObj_Convert(PyObject
*v
, TXNObject
*p_itself
)
116 if (!TXNObj_Check(v
))
118 PyErr_SetString(PyExc_TypeError
, "TXNObject required");
121 *p_itself
= ((TXNObjectObject
*)v
)->ob_itself
;
125 static void TXNObj_dealloc(TXNObjectObject
*self
)
127 /* Cleanup of self->ob_itself goes here */
131 static PyObject
*TXNObj_TXNDeleteObject(TXNObjectObject
*_self
, PyObject
*_args
)
133 PyObject
*_res
= NULL
;
134 #ifndef TXNDeleteObject
135 PyMac_PRECHECK(TXNDeleteObject
);
137 if (!PyArg_ParseTuple(_args
, ""))
139 TXNDeleteObject(_self
->ob_itself
);
145 static PyObject
*TXNObj_TXNResizeFrame(TXNObjectObject
*_self
, PyObject
*_args
)
147 PyObject
*_res
= NULL
;
150 TXNFrameID iTXNFrameID
;
151 #ifndef TXNResizeFrame
152 PyMac_PRECHECK(TXNResizeFrame
);
154 if (!PyArg_ParseTuple(_args
, "lll",
159 TXNResizeFrame(_self
->ob_itself
,
168 static PyObject
*TXNObj_TXNSetFrameBounds(TXNObjectObject
*_self
, PyObject
*_args
)
170 PyObject
*_res
= NULL
;
175 TXNFrameID iTXNFrameID
;
176 #ifndef TXNSetFrameBounds
177 PyMac_PRECHECK(TXNSetFrameBounds
);
179 if (!PyArg_ParseTuple(_args
, "lllll",
186 TXNSetFrameBounds(_self
->ob_itself
,
197 static PyObject
*TXNObj_TXNKeyDown(TXNObjectObject
*_self
, PyObject
*_args
)
199 PyObject
*_res
= NULL
;
202 PyMac_PRECHECK(TXNKeyDown
);
204 if (!PyArg_ParseTuple(_args
, "O&",
205 PyMac_GetEventRecord
, &iEvent
))
207 TXNKeyDown(_self
->ob_itself
,
214 static PyObject
*TXNObj_TXNAdjustCursor(TXNObjectObject
*_self
, PyObject
*_args
)
216 PyObject
*_res
= NULL
;
217 RgnHandle ioCursorRgn
;
218 #ifndef TXNAdjustCursor
219 PyMac_PRECHECK(TXNAdjustCursor
);
221 if (!PyArg_ParseTuple(_args
, "O&",
222 OptResObj_Convert
, &ioCursorRgn
))
224 TXNAdjustCursor(_self
->ob_itself
,
231 static PyObject
*TXNObj_TXNClick(TXNObjectObject
*_self
, PyObject
*_args
)
233 PyObject
*_res
= NULL
;
236 PyMac_PRECHECK(TXNClick
);
238 if (!PyArg_ParseTuple(_args
, "O&",
239 PyMac_GetEventRecord
, &iEvent
))
241 TXNClick(_self
->ob_itself
,
248 #if TARGET_API_MAC_OS8
250 static PyObject
*TXNObj_TXNTSMCheck(TXNObjectObject
*_self
, PyObject
*_args
)
252 PyObject
*_res
= NULL
;
256 PyMac_PRECHECK(TXNTSMCheck
);
258 if (!PyArg_ParseTuple(_args
, ""))
260 _rv
= TXNTSMCheck(_self
->ob_itself
,
262 _res
= Py_BuildValue("bO&",
264 PyMac_BuildEventRecord
, &ioEvent
);
269 static PyObject
*TXNObj_TXNSelectAll(TXNObjectObject
*_self
, PyObject
*_args
)
271 PyObject
*_res
= NULL
;
273 PyMac_PRECHECK(TXNSelectAll
);
275 if (!PyArg_ParseTuple(_args
, ""))
277 TXNSelectAll(_self
->ob_itself
);
283 static PyObject
*TXNObj_TXNFocus(TXNObjectObject
*_self
, PyObject
*_args
)
285 PyObject
*_res
= NULL
;
286 Boolean iBecomingFocused
;
288 PyMac_PRECHECK(TXNFocus
);
290 if (!PyArg_ParseTuple(_args
, "b",
293 TXNFocus(_self
->ob_itself
,
300 static PyObject
*TXNObj_TXNUpdate(TXNObjectObject
*_self
, PyObject
*_args
)
302 PyObject
*_res
= NULL
;
304 PyMac_PRECHECK(TXNUpdate
);
306 if (!PyArg_ParseTuple(_args
, ""))
308 TXNUpdate(_self
->ob_itself
);
314 static PyObject
*TXNObj_TXNDraw(TXNObjectObject
*_self
, PyObject
*_args
)
316 PyObject
*_res
= NULL
;
319 PyMac_PRECHECK(TXNDraw
);
321 if (!PyArg_ParseTuple(_args
, "O&",
322 OptGWorldObj_Convert
, &iDrawPort
))
324 TXNDraw(_self
->ob_itself
,
331 static PyObject
*TXNObj_TXNForceUpdate(TXNObjectObject
*_self
, PyObject
*_args
)
333 PyObject
*_res
= NULL
;
334 #ifndef TXNForceUpdate
335 PyMac_PRECHECK(TXNForceUpdate
);
337 if (!PyArg_ParseTuple(_args
, ""))
339 TXNForceUpdate(_self
->ob_itself
);
345 static PyObject
*TXNObj_TXNGetSleepTicks(TXNObjectObject
*_self
, PyObject
*_args
)
347 PyObject
*_res
= NULL
;
349 #ifndef TXNGetSleepTicks
350 PyMac_PRECHECK(TXNGetSleepTicks
);
352 if (!PyArg_ParseTuple(_args
, ""))
354 _rv
= TXNGetSleepTicks(_self
->ob_itself
);
355 _res
= Py_BuildValue("l",
360 static PyObject
*TXNObj_TXNIdle(TXNObjectObject
*_self
, PyObject
*_args
)
362 PyObject
*_res
= NULL
;
364 PyMac_PRECHECK(TXNIdle
);
366 if (!PyArg_ParseTuple(_args
, ""))
368 TXNIdle(_self
->ob_itself
);
374 static PyObject
*TXNObj_TXNGrowWindow(TXNObjectObject
*_self
, PyObject
*_args
)
376 PyObject
*_res
= NULL
;
378 #ifndef TXNGrowWindow
379 PyMac_PRECHECK(TXNGrowWindow
);
381 if (!PyArg_ParseTuple(_args
, "O&",
382 PyMac_GetEventRecord
, &iEvent
))
384 TXNGrowWindow(_self
->ob_itself
,
391 static PyObject
*TXNObj_TXNZoomWindow(TXNObjectObject
*_self
, PyObject
*_args
)
393 PyObject
*_res
= NULL
;
395 #ifndef TXNZoomWindow
396 PyMac_PRECHECK(TXNZoomWindow
);
398 if (!PyArg_ParseTuple(_args
, "h",
401 TXNZoomWindow(_self
->ob_itself
,
408 static PyObject
*TXNObj_TXNCanUndo(TXNObjectObject
*_self
, PyObject
*_args
)
410 PyObject
*_res
= NULL
;
412 TXNActionKey oTXNActionKey
;
414 PyMac_PRECHECK(TXNCanUndo
);
416 if (!PyArg_ParseTuple(_args
, ""))
418 _rv
= TXNCanUndo(_self
->ob_itself
,
420 _res
= Py_BuildValue("bl",
426 static PyObject
*TXNObj_TXNUndo(TXNObjectObject
*_self
, PyObject
*_args
)
428 PyObject
*_res
= NULL
;
430 PyMac_PRECHECK(TXNUndo
);
432 if (!PyArg_ParseTuple(_args
, ""))
434 TXNUndo(_self
->ob_itself
);
440 static PyObject
*TXNObj_TXNCanRedo(TXNObjectObject
*_self
, PyObject
*_args
)
442 PyObject
*_res
= NULL
;
444 TXNActionKey oTXNActionKey
;
446 PyMac_PRECHECK(TXNCanRedo
);
448 if (!PyArg_ParseTuple(_args
, ""))
450 _rv
= TXNCanRedo(_self
->ob_itself
,
452 _res
= Py_BuildValue("bl",
458 static PyObject
*TXNObj_TXNRedo(TXNObjectObject
*_self
, PyObject
*_args
)
460 PyObject
*_res
= NULL
;
462 PyMac_PRECHECK(TXNRedo
);
464 if (!PyArg_ParseTuple(_args
, ""))
466 TXNRedo(_self
->ob_itself
);
472 static PyObject
*TXNObj_TXNCut(TXNObjectObject
*_self
, PyObject
*_args
)
474 PyObject
*_res
= NULL
;
477 PyMac_PRECHECK(TXNCut
);
479 if (!PyArg_ParseTuple(_args
, ""))
481 _err
= TXNCut(_self
->ob_itself
);
482 if (_err
!= noErr
) return PyMac_Error(_err
);
488 static PyObject
*TXNObj_TXNCopy(TXNObjectObject
*_self
, PyObject
*_args
)
490 PyObject
*_res
= NULL
;
493 PyMac_PRECHECK(TXNCopy
);
495 if (!PyArg_ParseTuple(_args
, ""))
497 _err
= TXNCopy(_self
->ob_itself
);
498 if (_err
!= noErr
) return PyMac_Error(_err
);
504 static PyObject
*TXNObj_TXNPaste(TXNObjectObject
*_self
, PyObject
*_args
)
506 PyObject
*_res
= NULL
;
509 PyMac_PRECHECK(TXNPaste
);
511 if (!PyArg_ParseTuple(_args
, ""))
513 _err
= TXNPaste(_self
->ob_itself
);
514 if (_err
!= noErr
) return PyMac_Error(_err
);
520 static PyObject
*TXNObj_TXNClear(TXNObjectObject
*_self
, PyObject
*_args
)
522 PyObject
*_res
= NULL
;
525 PyMac_PRECHECK(TXNClear
);
527 if (!PyArg_ParseTuple(_args
, ""))
529 _err
= TXNClear(_self
->ob_itself
);
530 if (_err
!= noErr
) return PyMac_Error(_err
);
536 static PyObject
*TXNObj_TXNGetSelection(TXNObjectObject
*_self
, PyObject
*_args
)
538 PyObject
*_res
= NULL
;
539 TXNOffset oStartOffset
;
540 TXNOffset oEndOffset
;
541 #ifndef TXNGetSelection
542 PyMac_PRECHECK(TXNGetSelection
);
544 if (!PyArg_ParseTuple(_args
, ""))
546 TXNGetSelection(_self
->ob_itself
,
549 _res
= Py_BuildValue("ll",
555 static PyObject
*TXNObj_TXNShowSelection(TXNObjectObject
*_self
, PyObject
*_args
)
557 PyObject
*_res
= NULL
;
559 #ifndef TXNShowSelection
560 PyMac_PRECHECK(TXNShowSelection
);
562 if (!PyArg_ParseTuple(_args
, "b",
565 TXNShowSelection(_self
->ob_itself
,
572 static PyObject
*TXNObj_TXNIsSelectionEmpty(TXNObjectObject
*_self
, PyObject
*_args
)
574 PyObject
*_res
= NULL
;
576 #ifndef TXNIsSelectionEmpty
577 PyMac_PRECHECK(TXNIsSelectionEmpty
);
579 if (!PyArg_ParseTuple(_args
, ""))
581 _rv
= TXNIsSelectionEmpty(_self
->ob_itself
);
582 _res
= Py_BuildValue("b",
587 static PyObject
*TXNObj_TXNSetSelection(TXNObjectObject
*_self
, PyObject
*_args
)
589 PyObject
*_res
= NULL
;
591 TXNOffset iStartOffset
;
592 TXNOffset iEndOffset
;
593 #ifndef TXNSetSelection
594 PyMac_PRECHECK(TXNSetSelection
);
596 if (!PyArg_ParseTuple(_args
, "ll",
600 _err
= TXNSetSelection(_self
->ob_itself
,
603 if (_err
!= noErr
) return PyMac_Error(_err
);
609 static PyObject
*TXNObj_TXNCountRunsInRange(TXNObjectObject
*_self
, PyObject
*_args
)
611 PyObject
*_res
= NULL
;
613 TXNOffset iStartOffset
;
614 TXNOffset iEndOffset
;
616 #ifndef TXNCountRunsInRange
617 PyMac_PRECHECK(TXNCountRunsInRange
);
619 if (!PyArg_ParseTuple(_args
, "ll",
623 _err
= TXNCountRunsInRange(_self
->ob_itself
,
627 if (_err
!= noErr
) return PyMac_Error(_err
);
628 _res
= Py_BuildValue("l",
633 static PyObject
*TXNObj_TXNDataSize(TXNObjectObject
*_self
, PyObject
*_args
)
635 PyObject
*_res
= NULL
;
638 PyMac_PRECHECK(TXNDataSize
);
640 if (!PyArg_ParseTuple(_args
, ""))
642 _rv
= TXNDataSize(_self
->ob_itself
);
643 _res
= Py_BuildValue("l",
648 static PyObject
*TXNObj_TXNGetData(TXNObjectObject
*_self
, PyObject
*_args
)
650 PyObject
*_res
= NULL
;
652 TXNOffset iStartOffset
;
653 TXNOffset iEndOffset
;
656 PyMac_PRECHECK(TXNGetData
);
658 if (!PyArg_ParseTuple(_args
, "ll",
662 _err
= TXNGetData(_self
->ob_itself
,
666 if (_err
!= noErr
) return PyMac_Error(_err
);
667 _res
= Py_BuildValue("O&",
668 ResObj_New
, oDataHandle
);
672 static PyObject
*TXNObj_TXNGetDataEncoded(TXNObjectObject
*_self
, PyObject
*_args
)
674 PyObject
*_res
= NULL
;
676 TXNOffset iStartOffset
;
677 TXNOffset iEndOffset
;
679 TXNDataType iEncoding
;
680 #ifndef TXNGetDataEncoded
681 PyMac_PRECHECK(TXNGetDataEncoded
);
683 if (!PyArg_ParseTuple(_args
, "llO&",
686 PyMac_GetOSType
, &iEncoding
))
688 _err
= TXNGetDataEncoded(_self
->ob_itself
,
693 if (_err
!= noErr
) return PyMac_Error(_err
);
694 _res
= Py_BuildValue("O&",
695 ResObj_New
, oDataHandle
);
699 static PyObject
*TXNObj_TXNSetDataFromFile(TXNObjectObject
*_self
, PyObject
*_args
)
701 PyObject
*_res
= NULL
;
705 ByteCount iFileLength
;
706 TXNOffset iStartOffset
;
707 TXNOffset iEndOffset
;
708 #ifndef TXNSetDataFromFile
709 PyMac_PRECHECK(TXNSetDataFromFile
);
711 if (!PyArg_ParseTuple(_args
, "hO&lll",
713 PyMac_GetOSType
, &iFileType
,
718 _err
= TXNSetDataFromFile(_self
->ob_itself
,
724 if (_err
!= noErr
) return PyMac_Error(_err
);
730 static PyObject
*TXNObj_TXNSetData(TXNObjectObject
*_self
, PyObject
*_args
)
732 PyObject
*_res
= NULL
;
734 TXNDataType iDataType
;
735 void * *iDataPtr__in__
;
736 ByteCount iDataPtr__len__
;
737 int iDataPtr__in_len__
;
738 TXNOffset iStartOffset
;
739 TXNOffset iEndOffset
;
741 PyMac_PRECHECK(TXNSetData
);
743 if (!PyArg_ParseTuple(_args
, "O&s#ll",
744 PyMac_GetOSType
, &iDataType
,
745 &iDataPtr__in__
, &iDataPtr__in_len__
,
749 iDataPtr__len__
= iDataPtr__in_len__
;
750 _err
= TXNSetData(_self
->ob_itself
,
752 iDataPtr__in__
, iDataPtr__len__
,
755 if (_err
!= noErr
) return PyMac_Error(_err
);
761 static PyObject
*TXNObj_TXNGetChangeCount(TXNObjectObject
*_self
, PyObject
*_args
)
763 PyObject
*_res
= NULL
;
765 #ifndef TXNGetChangeCount
766 PyMac_PRECHECK(TXNGetChangeCount
);
768 if (!PyArg_ParseTuple(_args
, ""))
770 _rv
= TXNGetChangeCount(_self
->ob_itself
);
771 _res
= Py_BuildValue("l",
776 static PyObject
*TXNObj_TXNSave(TXNObjectObject
*_self
, PyObject
*_args
)
778 PyObject
*_res
= NULL
;
782 TXNPermanentTextEncodingType iPermanentEncoding
;
783 FSSpec iFileSpecification
;
784 SInt16 iDataReference
;
785 SInt16 iResourceReference
;
787 PyMac_PRECHECK(TXNSave
);
789 if (!PyArg_ParseTuple(_args
, "O&O&lO&hh",
790 PyMac_GetOSType
, &iType
,
791 PyMac_GetOSType
, &iResType
,
793 PyMac_GetFSSpec
, &iFileSpecification
,
795 &iResourceReference
))
797 _err
= TXNSave(_self
->ob_itself
,
804 if (_err
!= noErr
) return PyMac_Error(_err
);
810 static PyObject
*TXNObj_TXNRevert(TXNObjectObject
*_self
, PyObject
*_args
)
812 PyObject
*_res
= NULL
;
815 PyMac_PRECHECK(TXNRevert
);
817 if (!PyArg_ParseTuple(_args
, ""))
819 _err
= TXNRevert(_self
->ob_itself
);
820 if (_err
!= noErr
) return PyMac_Error(_err
);
826 static PyObject
*TXNObj_TXNPageSetup(TXNObjectObject
*_self
, PyObject
*_args
)
828 PyObject
*_res
= NULL
;
831 PyMac_PRECHECK(TXNPageSetup
);
833 if (!PyArg_ParseTuple(_args
, ""))
835 _err
= TXNPageSetup(_self
->ob_itself
);
836 if (_err
!= noErr
) return PyMac_Error(_err
);
842 static PyObject
*TXNObj_TXNPrint(TXNObjectObject
*_self
, PyObject
*_args
)
844 PyObject
*_res
= NULL
;
847 PyMac_PRECHECK(TXNPrint
);
849 if (!PyArg_ParseTuple(_args
, ""))
851 _err
= TXNPrint(_self
->ob_itself
);
852 if (_err
!= noErr
) return PyMac_Error(_err
);
858 static PyObject
*TXNObj_TXNGetViewRect(TXNObjectObject
*_self
, PyObject
*_args
)
860 PyObject
*_res
= NULL
;
862 #ifndef TXNGetViewRect
863 PyMac_PRECHECK(TXNGetViewRect
);
865 if (!PyArg_ParseTuple(_args
, ""))
867 TXNGetViewRect(_self
->ob_itself
,
869 _res
= Py_BuildValue("O&",
870 PyMac_BuildRect
, &oViewRect
);
874 static PyObject
*TXNObj_TXNSetViewRect(TXNObjectObject
*_self
, PyObject
*_args
)
876 PyObject
*_res
= NULL
;
878 #ifndef TXNSetViewRect
879 PyMac_PRECHECK(TXNSetViewRect
);
881 if (!PyArg_ParseTuple(_args
, "O&",
882 PyMac_GetRect
, &iViewRect
))
884 TXNSetViewRect(_self
->ob_itself
,
891 static PyObject
*TXNObj_TXNAttachObjectToWindow(TXNObjectObject
*_self
, PyObject
*_args
)
893 PyObject
*_res
= NULL
;
896 Boolean iIsActualWindow
;
897 #ifndef TXNAttachObjectToWindow
898 PyMac_PRECHECK(TXNAttachObjectToWindow
);
900 if (!PyArg_ParseTuple(_args
, "O&b",
901 GWorldObj_Convert
, &iWindow
,
904 _err
= TXNAttachObjectToWindow(_self
->ob_itself
,
907 if (_err
!= noErr
) return PyMac_Error(_err
);
913 static PyObject
*TXNObj_TXNIsObjectAttachedToWindow(TXNObjectObject
*_self
, PyObject
*_args
)
915 PyObject
*_res
= NULL
;
917 #ifndef TXNIsObjectAttachedToWindow
918 PyMac_PRECHECK(TXNIsObjectAttachedToWindow
);
920 if (!PyArg_ParseTuple(_args
, ""))
922 _rv
= TXNIsObjectAttachedToWindow(_self
->ob_itself
);
923 _res
= Py_BuildValue("b",
928 static PyObject
*TXNObj_TXNDragTracker(TXNObjectObject
*_self
, PyObject
*_args
)
930 PyObject
*_res
= NULL
;
932 TXNFrameID iTXNFrameID
;
933 DragTrackingMessage iMessage
;
935 DragReference iDragReference
;
936 Boolean iDifferentObjectSameWindow
;
937 #ifndef TXNDragTracker
938 PyMac_PRECHECK(TXNDragTracker
);
940 if (!PyArg_ParseTuple(_args
, "lhO&O&b",
943 WinObj_Convert
, &iWindow
,
944 DragObj_Convert
, &iDragReference
,
945 &iDifferentObjectSameWindow
))
947 _err
= TXNDragTracker(_self
->ob_itself
,
952 iDifferentObjectSameWindow
);
953 if (_err
!= noErr
) return PyMac_Error(_err
);
959 static PyObject
*TXNObj_TXNDragReceiver(TXNObjectObject
*_self
, PyObject
*_args
)
961 PyObject
*_res
= NULL
;
963 TXNFrameID iTXNFrameID
;
965 DragReference iDragReference
;
966 Boolean iDifferentObjectSameWindow
;
967 #ifndef TXNDragReceiver
968 PyMac_PRECHECK(TXNDragReceiver
);
970 if (!PyArg_ParseTuple(_args
, "lO&O&b",
972 WinObj_Convert
, &iWindow
,
973 DragObj_Convert
, &iDragReference
,
974 &iDifferentObjectSameWindow
))
976 _err
= TXNDragReceiver(_self
->ob_itself
,
980 iDifferentObjectSameWindow
);
981 if (_err
!= noErr
) return PyMac_Error(_err
);
987 static PyObject
*TXNObj_TXNActivate(TXNObjectObject
*_self
, PyObject
*_args
)
989 PyObject
*_res
= NULL
;
991 TXNFrameID iTXNFrameID
;
992 TXNScrollBarState iActiveState
;
994 PyMac_PRECHECK(TXNActivate
);
996 if (!PyArg_ParseTuple(_args
, "ll",
1000 _err
= TXNActivate(_self
->ob_itself
,
1003 if (_err
!= noErr
) return PyMac_Error(_err
);
1009 static PyObject
*TXNObj_TXNEchoMode(TXNObjectObject
*_self
, PyObject
*_args
)
1011 PyObject
*_res
= NULL
;
1013 UniChar iEchoCharacter
;
1014 TextEncoding iEncoding
;
1017 PyMac_PRECHECK(TXNEchoMode
);
1019 if (!PyArg_ParseTuple(_args
, "hlb",
1024 _err
= TXNEchoMode(_self
->ob_itself
,
1028 if (_err
!= noErr
) return PyMac_Error(_err
);
1034 static PyObject
*TXNObj_TXNDoFontMenuSelection(TXNObjectObject
*_self
, PyObject
*_args
)
1036 PyObject
*_res
= NULL
;
1038 TXNFontMenuObject iTXNFontMenuObject
;
1041 #ifndef TXNDoFontMenuSelection
1042 PyMac_PRECHECK(TXNDoFontMenuSelection
);
1044 if (!PyArg_ParseTuple(_args
, "O&hh",
1045 TXNFontMenuObj_Convert
, &iTXNFontMenuObject
,
1049 _err
= TXNDoFontMenuSelection(_self
->ob_itself
,
1053 if (_err
!= noErr
) return PyMac_Error(_err
);
1059 static PyObject
*TXNObj_TXNPrepareFontMenu(TXNObjectObject
*_self
, PyObject
*_args
)
1061 PyObject
*_res
= NULL
;
1063 TXNFontMenuObject iTXNFontMenuObject
;
1064 #ifndef TXNPrepareFontMenu
1065 PyMac_PRECHECK(TXNPrepareFontMenu
);
1067 if (!PyArg_ParseTuple(_args
, "O&",
1068 TXNFontMenuObj_Convert
, &iTXNFontMenuObject
))
1070 _err
= TXNPrepareFontMenu(_self
->ob_itself
,
1071 iTXNFontMenuObject
);
1072 if (_err
!= noErr
) return PyMac_Error(_err
);
1078 static PyObject
*TXNObj_TXNPointToOffset(TXNObjectObject
*_self
, PyObject
*_args
)
1080 PyObject
*_res
= NULL
;
1084 #ifndef TXNPointToOffset
1085 PyMac_PRECHECK(TXNPointToOffset
);
1087 if (!PyArg_ParseTuple(_args
, "O&",
1088 PyMac_GetPoint
, &iPoint
))
1090 _err
= TXNPointToOffset(_self
->ob_itself
,
1093 if (_err
!= noErr
) return PyMac_Error(_err
);
1094 _res
= Py_BuildValue("l",
1099 static PyObject
*TXNObj_TXNOffsetToPoint(TXNObjectObject
*_self
, PyObject
*_args
)
1101 PyObject
*_res
= NULL
;
1105 #ifndef TXNOffsetToPoint
1106 PyMac_PRECHECK(TXNOffsetToPoint
);
1108 if (!PyArg_ParseTuple(_args
, "l",
1111 _err
= TXNOffsetToPoint(_self
->ob_itself
,
1114 if (_err
!= noErr
) return PyMac_Error(_err
);
1115 _res
= Py_BuildValue("O&",
1116 PyMac_BuildPoint
, oPoint
);
1120 static PyObject
*TXNObj_TXNGetLineCount(TXNObjectObject
*_self
, PyObject
*_args
)
1122 PyObject
*_res
= NULL
;
1124 ItemCount oLineTotal
;
1125 #ifndef TXNGetLineCount
1126 PyMac_PRECHECK(TXNGetLineCount
);
1128 if (!PyArg_ParseTuple(_args
, ""))
1130 _err
= TXNGetLineCount(_self
->ob_itself
,
1132 if (_err
!= noErr
) return PyMac_Error(_err
);
1133 _res
= Py_BuildValue("l",
1138 static PyObject
*TXNObj_TXNGetLineMetrics(TXNObjectObject
*_self
, PyObject
*_args
)
1140 PyObject
*_res
= NULL
;
1145 #ifndef TXNGetLineMetrics
1146 PyMac_PRECHECK(TXNGetLineMetrics
);
1148 if (!PyArg_ParseTuple(_args
, "l",
1151 _err
= TXNGetLineMetrics(_self
->ob_itself
,
1155 if (_err
!= noErr
) return PyMac_Error(_err
);
1156 _res
= Py_BuildValue("O&O&",
1157 PyMac_BuildFixed
, oLineWidth
,
1158 PyMac_BuildFixed
, oLineHeight
);
1162 static PyObject
*TXNObj_TXNIsObjectAttachedToSpecificWindow(TXNObjectObject
*_self
, PyObject
*_args
)
1164 PyObject
*_res
= NULL
;
1168 #ifndef TXNIsObjectAttachedToSpecificWindow
1169 PyMac_PRECHECK(TXNIsObjectAttachedToSpecificWindow
);
1171 if (!PyArg_ParseTuple(_args
, "O&",
1172 WinObj_Convert
, &iWindow
))
1174 _err
= TXNIsObjectAttachedToSpecificWindow(_self
->ob_itself
,
1177 if (_err
!= noErr
) return PyMac_Error(_err
);
1178 _res
= Py_BuildValue("b",
1183 static PyMethodDef TXNObj_methods
[] = {
1184 {"TXNDeleteObject", (PyCFunction
)TXNObj_TXNDeleteObject
, 1,
1185 PyDoc_STR("() -> None")},
1186 {"TXNResizeFrame", (PyCFunction
)TXNObj_TXNResizeFrame
, 1,
1187 PyDoc_STR("(UInt32 iWidth, UInt32 iHeight, TXNFrameID iTXNFrameID) -> None")},
1188 {"TXNSetFrameBounds", (PyCFunction
)TXNObj_TXNSetFrameBounds
, 1,
1189 PyDoc_STR("(SInt32 iTop, SInt32 iLeft, SInt32 iBottom, SInt32 iRight, TXNFrameID iTXNFrameID) -> None")},
1190 {"TXNKeyDown", (PyCFunction
)TXNObj_TXNKeyDown
, 1,
1191 PyDoc_STR("(EventRecord iEvent) -> None")},
1192 {"TXNAdjustCursor", (PyCFunction
)TXNObj_TXNAdjustCursor
, 1,
1193 PyDoc_STR("(RgnHandle ioCursorRgn) -> None")},
1194 {"TXNClick", (PyCFunction
)TXNObj_TXNClick
, 1,
1195 PyDoc_STR("(EventRecord iEvent) -> None")},
1197 #if TARGET_API_MAC_OS8
1198 {"TXNTSMCheck", (PyCFunction
)TXNObj_TXNTSMCheck
, 1,
1199 PyDoc_STR("() -> (Boolean _rv, EventRecord ioEvent)")},
1201 {"TXNSelectAll", (PyCFunction
)TXNObj_TXNSelectAll
, 1,
1202 PyDoc_STR("() -> None")},
1203 {"TXNFocus", (PyCFunction
)TXNObj_TXNFocus
, 1,
1204 PyDoc_STR("(Boolean iBecomingFocused) -> None")},
1205 {"TXNUpdate", (PyCFunction
)TXNObj_TXNUpdate
, 1,
1206 PyDoc_STR("() -> None")},
1207 {"TXNDraw", (PyCFunction
)TXNObj_TXNDraw
, 1,
1208 PyDoc_STR("(GWorldPtr iDrawPort) -> None")},
1209 {"TXNForceUpdate", (PyCFunction
)TXNObj_TXNForceUpdate
, 1,
1210 PyDoc_STR("() -> None")},
1211 {"TXNGetSleepTicks", (PyCFunction
)TXNObj_TXNGetSleepTicks
, 1,
1212 PyDoc_STR("() -> (UInt32 _rv)")},
1213 {"TXNIdle", (PyCFunction
)TXNObj_TXNIdle
, 1,
1214 PyDoc_STR("() -> None")},
1215 {"TXNGrowWindow", (PyCFunction
)TXNObj_TXNGrowWindow
, 1,
1216 PyDoc_STR("(EventRecord iEvent) -> None")},
1217 {"TXNZoomWindow", (PyCFunction
)TXNObj_TXNZoomWindow
, 1,
1218 PyDoc_STR("(short iPart) -> None")},
1219 {"TXNCanUndo", (PyCFunction
)TXNObj_TXNCanUndo
, 1,
1220 PyDoc_STR("() -> (Boolean _rv, TXNActionKey oTXNActionKey)")},
1221 {"TXNUndo", (PyCFunction
)TXNObj_TXNUndo
, 1,
1222 PyDoc_STR("() -> None")},
1223 {"TXNCanRedo", (PyCFunction
)TXNObj_TXNCanRedo
, 1,
1224 PyDoc_STR("() -> (Boolean _rv, TXNActionKey oTXNActionKey)")},
1225 {"TXNRedo", (PyCFunction
)TXNObj_TXNRedo
, 1,
1226 PyDoc_STR("() -> None")},
1227 {"TXNCut", (PyCFunction
)TXNObj_TXNCut
, 1,
1228 PyDoc_STR("() -> None")},
1229 {"TXNCopy", (PyCFunction
)TXNObj_TXNCopy
, 1,
1230 PyDoc_STR("() -> None")},
1231 {"TXNPaste", (PyCFunction
)TXNObj_TXNPaste
, 1,
1232 PyDoc_STR("() -> None")},
1233 {"TXNClear", (PyCFunction
)TXNObj_TXNClear
, 1,
1234 PyDoc_STR("() -> None")},
1235 {"TXNGetSelection", (PyCFunction
)TXNObj_TXNGetSelection
, 1,
1236 PyDoc_STR("() -> (TXNOffset oStartOffset, TXNOffset oEndOffset)")},
1237 {"TXNShowSelection", (PyCFunction
)TXNObj_TXNShowSelection
, 1,
1238 PyDoc_STR("(Boolean iShowEnd) -> None")},
1239 {"TXNIsSelectionEmpty", (PyCFunction
)TXNObj_TXNIsSelectionEmpty
, 1,
1240 PyDoc_STR("() -> (Boolean _rv)")},
1241 {"TXNSetSelection", (PyCFunction
)TXNObj_TXNSetSelection
, 1,
1242 PyDoc_STR("(TXNOffset iStartOffset, TXNOffset iEndOffset) -> None")},
1243 {"TXNCountRunsInRange", (PyCFunction
)TXNObj_TXNCountRunsInRange
, 1,
1244 PyDoc_STR("(TXNOffset iStartOffset, TXNOffset iEndOffset) -> (ItemCount oRunCount)")},
1245 {"TXNDataSize", (PyCFunction
)TXNObj_TXNDataSize
, 1,
1246 PyDoc_STR("() -> (ByteCount _rv)")},
1247 {"TXNGetData", (PyCFunction
)TXNObj_TXNGetData
, 1,
1248 PyDoc_STR("(TXNOffset iStartOffset, TXNOffset iEndOffset) -> (Handle oDataHandle)")},
1249 {"TXNGetDataEncoded", (PyCFunction
)TXNObj_TXNGetDataEncoded
, 1,
1250 PyDoc_STR("(TXNOffset iStartOffset, TXNOffset iEndOffset, TXNDataType iEncoding) -> (Handle oDataHandle)")},
1251 {"TXNSetDataFromFile", (PyCFunction
)TXNObj_TXNSetDataFromFile
, 1,
1252 PyDoc_STR("(SInt16 iFileRefNum, OSType iFileType, ByteCount iFileLength, TXNOffset iStartOffset, TXNOffset iEndOffset) -> None")},
1253 {"TXNSetData", (PyCFunction
)TXNObj_TXNSetData
, 1,
1254 PyDoc_STR("(TXNDataType iDataType, Buffer iDataPtr, TXNOffset iStartOffset, TXNOffset iEndOffset) -> None")},
1255 {"TXNGetChangeCount", (PyCFunction
)TXNObj_TXNGetChangeCount
, 1,
1256 PyDoc_STR("() -> (ItemCount _rv)")},
1257 {"TXNSave", (PyCFunction
)TXNObj_TXNSave
, 1,
1258 PyDoc_STR("(TXNFileType iType, OSType iResType, TXNPermanentTextEncodingType iPermanentEncoding, FSSpec iFileSpecification, SInt16 iDataReference, SInt16 iResourceReference) -> None")},
1259 {"TXNRevert", (PyCFunction
)TXNObj_TXNRevert
, 1,
1260 PyDoc_STR("() -> None")},
1261 {"TXNPageSetup", (PyCFunction
)TXNObj_TXNPageSetup
, 1,
1262 PyDoc_STR("() -> None")},
1263 {"TXNPrint", (PyCFunction
)TXNObj_TXNPrint
, 1,
1264 PyDoc_STR("() -> None")},
1265 {"TXNGetViewRect", (PyCFunction
)TXNObj_TXNGetViewRect
, 1,
1266 PyDoc_STR("() -> (Rect oViewRect)")},
1267 {"TXNSetViewRect", (PyCFunction
)TXNObj_TXNSetViewRect
, 1,
1268 PyDoc_STR("(Rect iViewRect) -> None")},
1269 {"TXNAttachObjectToWindow", (PyCFunction
)TXNObj_TXNAttachObjectToWindow
, 1,
1270 PyDoc_STR("(GWorldPtr iWindow, Boolean iIsActualWindow) -> None")},
1271 {"TXNIsObjectAttachedToWindow", (PyCFunction
)TXNObj_TXNIsObjectAttachedToWindow
, 1,
1272 PyDoc_STR("() -> (Boolean _rv)")},
1273 {"TXNDragTracker", (PyCFunction
)TXNObj_TXNDragTracker
, 1,
1274 PyDoc_STR("(TXNFrameID iTXNFrameID, DragTrackingMessage iMessage, WindowPtr iWindow, DragReference iDragReference, Boolean iDifferentObjectSameWindow) -> None")},
1275 {"TXNDragReceiver", (PyCFunction
)TXNObj_TXNDragReceiver
, 1,
1276 PyDoc_STR("(TXNFrameID iTXNFrameID, WindowPtr iWindow, DragReference iDragReference, Boolean iDifferentObjectSameWindow) -> None")},
1277 {"TXNActivate", (PyCFunction
)TXNObj_TXNActivate
, 1,
1278 PyDoc_STR("(TXNFrameID iTXNFrameID, TXNScrollBarState iActiveState) -> None")},
1279 {"TXNEchoMode", (PyCFunction
)TXNObj_TXNEchoMode
, 1,
1280 PyDoc_STR("(UniChar iEchoCharacter, TextEncoding iEncoding, Boolean iOn) -> None")},
1281 {"TXNDoFontMenuSelection", (PyCFunction
)TXNObj_TXNDoFontMenuSelection
, 1,
1282 PyDoc_STR("(TXNFontMenuObject iTXNFontMenuObject, SInt16 iMenuID, SInt16 iMenuItem) -> None")},
1283 {"TXNPrepareFontMenu", (PyCFunction
)TXNObj_TXNPrepareFontMenu
, 1,
1284 PyDoc_STR("(TXNFontMenuObject iTXNFontMenuObject) -> None")},
1285 {"TXNPointToOffset", (PyCFunction
)TXNObj_TXNPointToOffset
, 1,
1286 PyDoc_STR("(Point iPoint) -> (TXNOffset oOffset)")},
1287 {"TXNOffsetToPoint", (PyCFunction
)TXNObj_TXNOffsetToPoint
, 1,
1288 PyDoc_STR("(TXNOffset iOffset) -> (Point oPoint)")},
1289 {"TXNGetLineCount", (PyCFunction
)TXNObj_TXNGetLineCount
, 1,
1290 PyDoc_STR("() -> (ItemCount oLineTotal)")},
1291 {"TXNGetLineMetrics", (PyCFunction
)TXNObj_TXNGetLineMetrics
, 1,
1292 PyDoc_STR("(UInt32 iLineNumber) -> (Fixed oLineWidth, Fixed oLineHeight)")},
1293 {"TXNIsObjectAttachedToSpecificWindow", (PyCFunction
)TXNObj_TXNIsObjectAttachedToSpecificWindow
, 1,
1294 PyDoc_STR("(WindowPtr iWindow) -> (Boolean oAttached)")},
1298 PyMethodChain TXNObj_chain
= { TXNObj_methods
, NULL
};
1300 static PyObject
*TXNObj_getattr(TXNObjectObject
*self
, char *name
)
1302 return Py_FindMethodInChain(&TXNObj_chain
, (PyObject
*)self
, name
);
1305 #define TXNObj_setattr NULL
1307 #define TXNObj_compare NULL
1309 #define TXNObj_repr NULL
1311 #define TXNObj_hash NULL
1313 PyTypeObject TXNObject_Type
= {
1314 PyObject_HEAD_INIT(NULL
)
1316 "_Mlte.TXNObject", /*tp_name*/
1317 sizeof(TXNObjectObject
), /*tp_basicsize*/
1320 (destructor
) TXNObj_dealloc
, /*tp_dealloc*/
1322 (getattrfunc
) TXNObj_getattr
, /*tp_getattr*/
1323 (setattrfunc
) TXNObj_setattr
, /*tp_setattr*/
1324 (cmpfunc
) TXNObj_compare
, /*tp_compare*/
1325 (reprfunc
) TXNObj_repr
, /*tp_repr*/
1326 (PyNumberMethods
*)0, /* tp_as_number */
1327 (PySequenceMethods
*)0, /* tp_as_sequence */
1328 (PyMappingMethods
*)0, /* tp_as_mapping */
1329 (hashfunc
) TXNObj_hash
, /*tp_hash*/
1332 /* ------------------- End object type TXNObject -------------------- */
1335 /* ----------------- Object type TXNFontMenuObject ------------------ */
1337 PyTypeObject TXNFontMenuObject_Type
;
1339 #define TXNFontMenuObj_Check(x) ((x)->ob_type == &TXNFontMenuObject_Type)
1341 typedef struct TXNFontMenuObjectObject
{
1343 TXNFontMenuObject ob_itself
;
1344 } TXNFontMenuObjectObject
;
1346 PyObject
*TXNFontMenuObj_New(TXNFontMenuObject itself
)
1348 TXNFontMenuObjectObject
*it
;
1349 if (itself
== NULL
) return PyMac_Error(resNotFound
);
1350 it
= PyObject_NEW(TXNFontMenuObjectObject
, &TXNFontMenuObject_Type
);
1351 if (it
== NULL
) return NULL
;
1352 it
->ob_itself
= itself
;
1353 return (PyObject
*)it
;
1355 int TXNFontMenuObj_Convert(PyObject
*v
, TXNFontMenuObject
*p_itself
)
1357 if (!TXNFontMenuObj_Check(v
))
1359 PyErr_SetString(PyExc_TypeError
, "TXNFontMenuObject required");
1362 *p_itself
= ((TXNFontMenuObjectObject
*)v
)->ob_itself
;
1366 static void TXNFontMenuObj_dealloc(TXNFontMenuObjectObject
*self
)
1368 /* Cleanup of self->ob_itself goes here */
1372 static PyObject
*TXNFontMenuObj_TXNGetFontMenuHandle(TXNFontMenuObjectObject
*_self
, PyObject
*_args
)
1374 PyObject
*_res
= NULL
;
1376 MenuHandle oFontMenuHandle
;
1377 #ifndef TXNGetFontMenuHandle
1378 PyMac_PRECHECK(TXNGetFontMenuHandle
);
1380 if (!PyArg_ParseTuple(_args
, ""))
1382 _err
= TXNGetFontMenuHandle(_self
->ob_itself
,
1384 if (_err
!= noErr
) return PyMac_Error(_err
);
1385 _res
= Py_BuildValue("O&",
1386 MenuObj_New
, oFontMenuHandle
);
1390 static PyObject
*TXNFontMenuObj_TXNDisposeFontMenuObject(TXNFontMenuObjectObject
*_self
, PyObject
*_args
)
1392 PyObject
*_res
= NULL
;
1394 #ifndef TXNDisposeFontMenuObject
1395 PyMac_PRECHECK(TXNDisposeFontMenuObject
);
1397 if (!PyArg_ParseTuple(_args
, ""))
1399 _err
= TXNDisposeFontMenuObject(_self
->ob_itself
);
1400 if (_err
!= noErr
) return PyMac_Error(_err
);
1406 static PyMethodDef TXNFontMenuObj_methods
[] = {
1407 {"TXNGetFontMenuHandle", (PyCFunction
)TXNFontMenuObj_TXNGetFontMenuHandle
, 1,
1408 PyDoc_STR("() -> (MenuHandle oFontMenuHandle)")},
1409 {"TXNDisposeFontMenuObject", (PyCFunction
)TXNFontMenuObj_TXNDisposeFontMenuObject
, 1,
1410 PyDoc_STR("() -> None")},
1414 PyMethodChain TXNFontMenuObj_chain
= { TXNFontMenuObj_methods
, NULL
};
1416 static PyObject
*TXNFontMenuObj_getattr(TXNFontMenuObjectObject
*self
, char *name
)
1418 return Py_FindMethodInChain(&TXNFontMenuObj_chain
, (PyObject
*)self
, name
);
1421 #define TXNFontMenuObj_setattr NULL
1423 #define TXNFontMenuObj_compare NULL
1425 #define TXNFontMenuObj_repr NULL
1427 #define TXNFontMenuObj_hash NULL
1429 PyTypeObject TXNFontMenuObject_Type
= {
1430 PyObject_HEAD_INIT(NULL
)
1432 "_Mlte.TXNFontMenuObject", /*tp_name*/
1433 sizeof(TXNFontMenuObjectObject
), /*tp_basicsize*/
1436 (destructor
) TXNFontMenuObj_dealloc
, /*tp_dealloc*/
1438 (getattrfunc
) TXNFontMenuObj_getattr
, /*tp_getattr*/
1439 (setattrfunc
) TXNFontMenuObj_setattr
, /*tp_setattr*/
1440 (cmpfunc
) TXNFontMenuObj_compare
, /*tp_compare*/
1441 (reprfunc
) TXNFontMenuObj_repr
, /*tp_repr*/
1442 (PyNumberMethods
*)0, /* tp_as_number */
1443 (PySequenceMethods
*)0, /* tp_as_sequence */
1444 (PyMappingMethods
*)0, /* tp_as_mapping */
1445 (hashfunc
) TXNFontMenuObj_hash
, /*tp_hash*/
1448 /* --------------- End object type TXNFontMenuObject ---------------- */
1451 static PyObject
*Mlte_TXNNewObject(PyObject
*_self
, PyObject
*_args
)
1453 PyObject
*_res
= NULL
;
1458 TXNFrameOptions iFrameOptions
;
1459 TXNFrameType iFrameType
;
1460 TXNFileType iFileType
;
1461 TXNPermanentTextEncodingType iPermanentEncoding
;
1462 TXNObject oTXNObject
;
1463 TXNFrameID oTXNFrameID
;
1464 #ifndef TXNNewObject
1465 PyMac_PRECHECK(TXNNewObject
);
1467 if (!PyArg_ParseTuple(_args
, "O&O&O&llO&l",
1468 OptFSSpecPtr_Convert
, &iFileSpec
,
1469 WinObj_Convert
, &iWindow
,
1470 OptRectPtr_Convert
, &iFrame
,
1473 PyMac_GetOSType
, &iFileType
,
1474 &iPermanentEncoding
))
1476 _err
= TXNNewObject(iFileSpec
,
1485 (TXNObjectRefcon
)0);
1486 if (_err
!= noErr
) return PyMac_Error(_err
);
1487 _res
= Py_BuildValue("O&l",
1488 TXNObj_New
, oTXNObject
,
1493 static PyObject
*Mlte_TXNTerminateTextension(PyObject
*_self
, PyObject
*_args
)
1495 PyObject
*_res
= NULL
;
1496 #ifndef TXNTerminateTextension
1497 PyMac_PRECHECK(TXNTerminateTextension
);
1499 if (!PyArg_ParseTuple(_args
, ""))
1501 TXNTerminateTextension();
1507 static PyObject
*Mlte_TXNIsScrapPastable(PyObject
*_self
, PyObject
*_args
)
1509 PyObject
*_res
= NULL
;
1511 #ifndef TXNIsScrapPastable
1512 PyMac_PRECHECK(TXNIsScrapPastable
);
1514 if (!PyArg_ParseTuple(_args
, ""))
1516 _rv
= TXNIsScrapPastable();
1517 _res
= Py_BuildValue("b",
1522 static PyObject
*Mlte_TXNConvertToPublicScrap(PyObject
*_self
, PyObject
*_args
)
1524 PyObject
*_res
= NULL
;
1526 #ifndef TXNConvertToPublicScrap
1527 PyMac_PRECHECK(TXNConvertToPublicScrap
);
1529 if (!PyArg_ParseTuple(_args
, ""))
1531 _err
= TXNConvertToPublicScrap();
1532 if (_err
!= noErr
) return PyMac_Error(_err
);
1538 static PyObject
*Mlte_TXNConvertFromPublicScrap(PyObject
*_self
, PyObject
*_args
)
1540 PyObject
*_res
= NULL
;
1542 #ifndef TXNConvertFromPublicScrap
1543 PyMac_PRECHECK(TXNConvertFromPublicScrap
);
1545 if (!PyArg_ParseTuple(_args
, ""))
1547 _err
= TXNConvertFromPublicScrap();
1548 if (_err
!= noErr
) return PyMac_Error(_err
);
1554 static PyObject
*Mlte_TXNNewFontMenuObject(PyObject
*_self
, PyObject
*_args
)
1556 PyObject
*_res
= NULL
;
1558 MenuHandle iFontMenuHandle
;
1560 SInt16 iStartHierMenuID
;
1561 TXNFontMenuObject oTXNFontMenuObject
;
1562 #ifndef TXNNewFontMenuObject
1563 PyMac_PRECHECK(TXNNewFontMenuObject
);
1565 if (!PyArg_ParseTuple(_args
, "O&hh",
1566 MenuObj_Convert
, &iFontMenuHandle
,
1570 _err
= TXNNewFontMenuObject(iFontMenuHandle
,
1573 &oTXNFontMenuObject
);
1574 if (_err
!= noErr
) return PyMac_Error(_err
);
1575 _res
= Py_BuildValue("O&",
1576 TXNFontMenuObj_New
, oTXNFontMenuObject
);
1580 static PyObject
*Mlte_TXNVersionInformation(PyObject
*_self
, PyObject
*_args
)
1582 PyObject
*_res
= NULL
;
1583 TXNVersionValue _rv
;
1584 TXNFeatureBits oFeatureFlags
;
1585 #ifndef TXNVersionInformation
1586 PyMac_PRECHECK(TXNVersionInformation
);
1588 if (!PyArg_ParseTuple(_args
, ""))
1590 _rv
= TXNVersionInformation(&oFeatureFlags
);
1591 _res
= Py_BuildValue("ll",
1597 static PyObject
*Mlte_TXNInitTextension(PyObject
*_self
, PyObject
*_args
)
1599 PyObject
*_res
= NULL
;
1602 TXNMacOSPreferredFontDescription
* iDefaultFonts
= NULL
;
1603 ItemCount iCountDefaultFonts
= 0;
1604 TXNInitOptions iUsageFlags
;
1605 PyMac_PRECHECK(TXNInitTextension
);
1606 if (!PyArg_ParseTuple(_args
, "l", &iUsageFlags
))
1608 _err
= TXNInitTextension(iDefaultFonts
,
1611 if (_err
!= noErr
) return PyMac_Error(_err
);
1618 static PyMethodDef Mlte_methods
[] = {
1619 {"TXNNewObject", (PyCFunction
)Mlte_TXNNewObject
, 1,
1620 PyDoc_STR("(FSSpec * iFileSpec, WindowPtr iWindow, Rect * iFrame, TXNFrameOptions iFrameOptions, TXNFrameType iFrameType, TXNFileType iFileType, TXNPermanentTextEncodingType iPermanentEncoding) -> (TXNObject oTXNObject, TXNFrameID oTXNFrameID)")},
1621 {"TXNTerminateTextension", (PyCFunction
)Mlte_TXNTerminateTextension
, 1,
1622 PyDoc_STR("() -> None")},
1623 {"TXNIsScrapPastable", (PyCFunction
)Mlte_TXNIsScrapPastable
, 1,
1624 PyDoc_STR("() -> (Boolean _rv)")},
1625 {"TXNConvertToPublicScrap", (PyCFunction
)Mlte_TXNConvertToPublicScrap
, 1,
1626 PyDoc_STR("() -> None")},
1627 {"TXNConvertFromPublicScrap", (PyCFunction
)Mlte_TXNConvertFromPublicScrap
, 1,
1628 PyDoc_STR("() -> None")},
1629 {"TXNNewFontMenuObject", (PyCFunction
)Mlte_TXNNewFontMenuObject
, 1,
1630 PyDoc_STR("(MenuHandle iFontMenuHandle, SInt16 iMenuID, SInt16 iStartHierMenuID) -> (TXNFontMenuObject oTXNFontMenuObject)")},
1631 {"TXNVersionInformation", (PyCFunction
)Mlte_TXNVersionInformation
, 1,
1632 PyDoc_STR("() -> (TXNVersionValue _rv, TXNFeatureBits oFeatureFlags)")},
1633 {"TXNInitTextension", (PyCFunction
)Mlte_TXNInitTextension
, 1,
1634 PyDoc_STR("(TXNInitOptions) -> None")},
1641 void init_Mlte(void)
1648 // PyMac_INIT_TOOLBOX_OBJECT_NEW(xxxx);
1651 m
= Py_InitModule("_Mlte", Mlte_methods
);
1652 d
= PyModule_GetDict(m
);
1653 Mlte_Error
= PyMac_GetOSErrException();
1654 if (Mlte_Error
== NULL
||
1655 PyDict_SetItemString(d
, "Error", Mlte_Error
) != 0)
1657 TXNObject_Type
.ob_type
= &PyType_Type
;
1658 Py_INCREF(&TXNObject_Type
);
1659 if (PyDict_SetItemString(d
, "TXNObjectType", (PyObject
*)&TXNObject_Type
) != 0)
1660 Py_FatalError("can't initialize TXNObjectType");
1661 TXNFontMenuObject_Type
.ob_type
= &PyType_Type
;
1662 Py_INCREF(&TXNFontMenuObject_Type
);
1663 if (PyDict_SetItemString(d
, "TXNFontMenuObjectType", (PyObject
*)&TXNFontMenuObject_Type
) != 0)
1664 Py_FatalError("can't initialize TXNFontMenuObjectType");
1667 /* ======================== End module _Mlte ======================== */