Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / ext / richtext / XS / RichTextBuffer.xsp
diff --git a/deb-src/libwx-perl/libwx-perl-0.96/ext/richtext/XS/RichTextBuffer.xsp b/deb-src/libwx-perl/libwx-perl-0.96/ext/richtext/XS/RichTextBuffer.xsp
new file mode 100644 (file)
index 0000000..14a1837
--- /dev/null
@@ -0,0 +1,233 @@
+#############################################################################
+## Name:        ext/richtext/XS/RichTextBuffer.xsp
+## Purpose:     XS++ for Wx::RichTextBuffer
+## Author:      Mattia Barbon
+## Modified by:
+## Created:     03/09/2007
+## RCS-ID:      $Id: RichTextBuffer.xsp 2738 2010-01-03 20:03:42Z mbarbon $
+## Copyright:   (c) 2007, 2010 Mattia Barbon
+## Licence:     This program is free software; you can redistribute it and/or
+##              modify it under the same terms as Perl itself
+#############################################################################
+
+#include <wx/event.h>
+#include <wx/richtext/richtextbuffer.h>
+
+%module{Wx};
+
+## DECLARE_OVERLOAD( wrta, Wx::RichTextAttr )
+## DECLARE_OVERLOAD( wrtr, Wx::RichTextRange )
+## DECLARE_OVERLOAD( wtae, Wx::TextAttrEx )
+
+%name{Wx::RichTextBuffer} class wxRichTextBuffer
+{
+    bool AddEventHandler( wxEvtHandler* handler );
+    void AddHandler( wxRichTextFileHandler* handler );
+
+#if WXPERL_W_VERSION_GE( 2, 7, 1 )
+    %name{SetStyleRange} bool SetStyle
+        ( const wxRichTextRange& range, const wxTextAttrEx& style,
+          int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO );
+    %name{SetStyleExRange} bool SetStyle
+        ( const wxRichTextRange& range, const wxRichTextAttr& style,
+          int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO );
+%{
+void
+wxRichTextBuffer::SetStyle( ... )
+  PPCODE:
+    BEGIN_OVERLOAD()
+        MATCH_REDISP( wxPliOvl_wrtr_wrta_n, SetStyleRange )
+        MATCH_REDISP( wxPliOvl_wrtr_wtae_n, SetStyleExRange )
+    END_OVERLOAD( "Wx::RichTextBuffer::SetStyle" )
+
+%}
+#endif
+
+    bool InsertTextWithUndo( long pos, const wxString& text,
+                             wxRichTextCtrl* ctrl, int flags = 0 );
+    bool InsertNewlineWithUndo( long pos, wxRichTextCtrl* ctrl,
+                                int flags = 0 );
+
+    const wxTextAttrEx& GetBasicStyle() const;
+    const wxTextAttrEx& GetDefaultStyle() const;
+
+    bool BeginStyle( const wxTextAttrEx& style );
+    bool EndStyle();
+    bool EndAllStyles();
+    bool BeginBold();
+    bool EndBold();
+    bool BeginItalic();
+    bool EndItalic();
+    bool BeginUnderline();
+    bool EndUnderline();
+    bool BeginFontSize( int pointSize );
+    bool EndFontSize();
+    bool BeginFont( const wxFont& font );
+    bool EndFont();
+    bool BeginTextColour( const wxColour& colour );
+    bool EndTextColour();
+    bool BeginAlignment( wxTextAttrAlignment alignment );
+    bool EndAlignment();
+    bool BeginLeftIndent( int leftIndent, int leftSubIndent = 0 );
+    bool EndLeftIndent();
+    bool BeginRightIndent( int rightIndent );
+    bool EndRightIndent();
+    bool BeginParagraphSpacing( int before, int after );
+    bool EndParagraphSpacing();
+    bool BeginLineSpacing( int lineSpacing );
+    bool EndLineSpacing();
+    bool BeginNumberedBullet( int bulletNumber, int leftIndent, 
+                              int leftSubIndent,
+                              int bulletStyle = wxTEXT_ATTR_DEFAULT_NUMBERED_BULLET );
+    bool EndNumberedBullet();
+#if WXPERL_W_VERSION_GE( 2, 7, 2 )
+    bool BeginSymbolBullet( const wxString& symbol, int leftIndent,
+                            int leftSubIndent, int bulletStyle = wxTEXT_ATTR_BULLET_STYLE_SYMBOL );
+#else
+    bool BeginSymbolBullet( wxChar symbol, int leftIndent,
+                            int leftSubIndent, int bulletStyle = wxTEXT_ATTR_BULLET_STYLE_SYMBOL );
+#endif
+    bool EndSymbolBullet();
+#if WXPERL_W_VERSION_GE( 2, 7, 2 )
+    bool BeginStandardBullet( const wxString& bulletName, int leftIndent,
+                              int leftSubIndent, int bulletStyle = wxTEXT_ATTR_BULLET_STYLE_STANDARD );
+    bool EndStandardBullet();
+#endif
+    bool BeginCharacterStyle( const wxString& characterStyle );
+    bool EndCharacterStyle();
+    bool BeginParagraphStyle( const wxString& paragraphStyle );
+    bool EndParagraphStyle();
+#if WXPERL_W_VERSION_GE( 2, 7, 2 )
+    bool BeginListStyle( const wxString& listStyle, int level = 1,
+                         int number = 1 );
+    bool EndListStyle();
+    bool BeginURL( const wxString& url,
+                   const wxString& characterStyle = wxEmptyString );
+    bool EndURL();
+#endif
+#if WXPERL_W_VERSION_GE( 2, 7, 2 )
+    bool ClearListStyle( const wxRichTextRange& range,
+                         int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO );
+#endif
+
+    wxRichTextRange AddParagraph( const wxString& text );
+    wxRichTextRange AddImage( const wxImage& image );
+
+    bool BeginBatchUndo( const wxString& cmdName );
+    bool EndBatchUndo();
+    bool BatchingUndo() const;
+    bool BeginSuppressUndo();
+    bool EndSuppressUndo();
+    bool SuppressingUndo() const;
+
+    void SetStyleSheet( wxRichTextStyleSheet* styleSheet );
+    wxRichTextStyleSheetDisown* GetStyleSheet() const;
+
+#if WXPERL_W_VERSION_GE( 2, 7, 2 )
+    bool PushStyleSheet( wxRichTextStyleSheetDisown* styleSheet );
+    wxRichTextStyleSheetDisown* PopStyleSheet();
+#endif
+
+    %name{SetBasicStyleRich} void SetBasicStyle( const wxRichTextAttr& style );
+    %name{SetBasicStyleEx} void SetBasicStyle( const wxTextAttrEx& style );
+%{
+void
+wxRichTextBuffer::SetBasicStyle( ... )
+  PPCODE:
+    BEGIN_OVERLOAD()
+        MATCH_REDISP( wxPliOvl_wrta, SetBasicStyleRich )
+        MATCH_REDISP( wxPliOvl_wtae, SetBasicStyleEx )
+    END_OVERLOAD( "Wx::RichTextBuffer::SetBasicStyle" )
+
+%}
+
+};
+
+%{
+void
+wxRichTextCtrl::GetRichTextAttrStyle( position )
+    long position
+  PPCODE:
+    wxRichTextAttr attr;
+    bool retval = THIS->GetStyle( position, attr );
+    EXTEND( SP, 2 );
+    PUSHs( newSViv( retval ) );
+    PUSHs( retval ? wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
+                                           new wxRichTextAttr( attr ),
+                                           "Wx::RichTextAttr" ) :
+                    &PL_sv_undef );
+
+void
+wxRichTextCtrl::GetTextAttrExStyle( position )
+    long position
+  PPCODE:
+    wxTextAttrEx attr;
+    bool retval = THIS->GetStyle( position, attr );
+    EXTEND( SP, 2 );
+    PUSHs( newSViv( retval ) );
+    PUSHs( retval ? wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
+                                           new wxTextAttrEx( attr ),
+                                           "Wx::TextAttrEx" ) :
+                    &PL_sv_undef );
+
+#if WXPERL_W_VERSION_GE( 2, 7, 1 )
+
+void
+wxRichTextCtrl::GetRichTextAttrUncombinedStyle( position )
+    long position
+  PPCODE:
+    wxRichTextAttr attr;
+    bool retval = THIS->GetUncombinedStyle( position, attr );
+    EXTEND( SP, 2 );
+    PUSHs( newSViv( retval ) );
+    PUSHs( retval ? wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
+                                           new wxRichTextAttr( attr ),
+                                           "Wx::RichTextAttr" ) :
+                    &PL_sv_undef );
+
+void
+wxRichTextCtrl::GetTextAttrExUncombinedStyle( position )
+    long position
+  PPCODE:
+    wxTextAttrEx attr;
+    bool retval = THIS->GetUncombinedStyle( position, attr );
+    EXTEND( SP, 2 );
+    PUSHs( newSViv( retval ) );
+    PUSHs( retval ? wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
+                                           new wxTextAttrEx( attr ),
+                                           "Wx::TextAttrEx" ) :
+                    &PL_sv_undef );
+
+#endif
+
+#if WXPERL_W_VERSION_GE( 2, 8, 0 )
+
+void
+wxRichTextCtrl::GetRichTextAttrStyleForRange( range )
+    wxRichTextRange* range
+  PPCODE:
+    wxRichTextAttr attr;
+    bool retval = THIS->GetStyleForRange( *range, attr );
+    EXTEND( SP, 2 );
+    PUSHs( newSViv( retval ) );
+    PUSHs( retval ? wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
+                                           new wxRichTextAttr( attr ),
+                                           "Wx::RichTextAttr" ) :
+                    &PL_sv_undef );
+
+void
+wxRichTextCtrl::GetTextAttrExStyleForRange( range )
+    wxRichTextRange* range
+  PPCODE:
+    wxTextAttrEx attr;
+    bool retval = THIS->GetStyleForRange( *range, attr );
+    EXTEND( SP, 2 );
+    PUSHs( newSViv( retval ) );
+    PUSHs( retval ? wxPli_non_object_2_sv( aTHX_ sv_newmortal(),
+                                           new wxTextAttrEx( attr ),
+                                           "Wx::TextAttrEx" ) :
+                    &PL_sv_undef );
+
+#endif
+
+%}