4 #include "cpp/v_cback.h"
5 #include "cpp/streams.h"
7 #define DEF_V_CBACK_BOOL__WXRICHTEXTBUFFER_WXINPUTSTREAM( CLASS, BASE, METHOD )\
8 bool CLASS::METHOD( wxRichTextBuffer* p1, wxInputStream& p2 ) \
11 if( wxPliFCback( aTHX_ &m_callback, #METHOD ) ) \
13 wxAutoSV stream( aTHX_ sv_newmortal() ); \
14 wxPli_stream_2_sv( aTHX_ stream, &p2, "Wx::InputStream" ); \
15 wxAutoSV ret( aTHX_ wxPliCCback( aTHX_ &m_callback, \
17 "Qs", p1, (SV*)stream ) ); \
18 return SvTRUE( ret ); \
23 #define DEF_V_CBACK_BOOL__WXRICHTEXTBUFFER_WXOUTPUTSTREAM( CLASS, BASE, METHOD )\
24 bool CLASS::METHOD( wxRichTextBuffer* p1, wxOutputStream& p2 ) \
27 if( wxPliFCback( aTHX_ &m_callback, #METHOD ) ) \
29 wxAutoSV stream( aTHX_ sv_newmortal() ); \
30 wxPli_stream_2_sv( aTHX_ stream, &p2, "Wx::OutputStream" ); \
31 wxAutoSV ret( aTHX_ wxPliCCback( aTHX_ &m_callback, \
33 "Qs", p1, (SV*)stream ) ); \
34 return SvTRUE( ret ); \
39 class wxPlRichTextFileHandler : public wxRichTextFileHandler
41 WXPLI_DECLARE_V_CBACK();
43 wxPlRichTextFileHandler( const char* package,
44 const wxString& name = wxEmptyString,
45 const wxString& ext = wxEmptyString,
47 : wxRichTextFileHandler( name, ext, type ),
48 m_callback( "Wx::RichTextFileHandler" )
50 m_callback.SetSelf( wxPli_make_object( this, package ), true );
53 bool base_CanHandle( const wxString& filename )
54 { return wxRichTextFileHandler::CanHandle( filename ); }
56 { return wxRichTextFileHandler::CanLoad(); }
58 { return wxRichTextFileHandler::CanSave(); }
60 DEC_V_CBACK_BOOL__WXSTRING( CanHandle );
61 DEC_V_CBACK_BOOL__VOID( CanLoad );
62 DEC_V_CBACK_BOOL__VOID( CanSave );
64 bool DoLoadFile( wxRichTextBuffer *buffer, wxInputStream& stream );
65 bool DoSaveFile( wxRichTextBuffer *buffer, wxOutputStream& stream );
68 DEF_V_CBACK_BOOL__WXSTRING( wxPlRichTextFileHandler,
69 wxRichTextFileHandler, CanHandle );
70 DEF_V_CBACK_BOOL__VOID( wxPlRichTextFileHandler,
71 wxRichTextFileHandler, CanLoad );
72 DEF_V_CBACK_BOOL__VOID( wxPlRichTextFileHandler,
73 wxRichTextFileHandler, CanSave );
74 DEF_V_CBACK_BOOL__WXRICHTEXTBUFFER_WXINPUTSTREAM( wxPlRichTextFileHandler,
75 wxRichTextFileHandler,
77 DEF_V_CBACK_BOOL__WXRICHTEXTBUFFER_WXOUTPUTSTREAM( wxPlRichTextFileHandler,
78 wxRichTextFileHandler,