############################################################################# ## Name: ext/richtext/XS/RichTextCtrl.xsp ## Purpose: XS++ for Wx::RichTextCtrl ## Author: Mattia Barbon ## Modified by: ## Created: 05/11/2006 ## RCS-ID: $Id: RichTextCtrl.xsp 2738 2010-01-03 20:03:42Z mbarbon $ ## Copyright: (c) 2006-2008, 2010 Mattia Barbon ## Licence: This program is free software; you can redistribute it and/or ## modify it under the same terms as Perl itself ############################################################################# #undef _ #define _(x) wxGetTranslation(wxT(x)) #include #include #include #include #include #include #include #include #include "cpp/richtextctrl.h" %module{Wx}; ## DECLARE_OVERLOAD( wrtr, Wx::RichTextRange ) ## DECLARE_OVERLOAD( wrta, Wx::RichTextAttr ) ## DECLARE_OVERLOAD( wtae, Wx::TextAttrEx ) ## DECLARE_OVERLOAD( wtat, Wx::TextAttr ) %file{cpp/richtextctrl.h}; %{ #define wxTEXT_ATTR_DEFAULT_NUMBERED_BULLET wxTEXT_ATTR_BULLET_STYLE_ARABIC|wxTEXT_ATTR_BULLET_STYLE_PERIOD #define wxRICHTEXT_STYLE_ALL wxRichTextStyleListBox::wxRICHTEXT_STYLE_ALL #define wxRICHTEXT_STYLE_CHARACTER wxRichTextStyleListBox::wxRICHTEXT_STYLE_CHARACTER #define wxRICHTEXT_STYLE_LIST wxRichTextStyleListBox::wxRICHTEXT_STYLE_LIST #define wxRICHTEXT_STYLE_PARAGRAPH wxRichTextStyleListBox::wxRICHTEXT_STYLE_PARAGRAPH double richtextctrl_constant( const char* name, int arg ) { // !package: Wx // !parser: sub { $_[0] =~ m<^\s*r\w*\(\s*(\w+)\s*\);\s*(?://(.*))?$> } // !tag: richtextctrl #define r( n ) \ if( strEQ( name, #n ) ) \ return n; WX_PL_CONSTANT_INIT(); switch( fl ) { case 'R': r( wxRE_READONLY ); r( wxRE_MULTILINE ); #if WXPERL_W_VERSION_GE( 2, 7, 1 ) r( wxRICHTEXT_SETSTYLE_NONE ); r( wxRICHTEXT_SETSTYLE_WITH_UNDO ); r( wxRICHTEXT_SETSTYLE_OPTIMIZE ); r( wxRICHTEXT_SETSTYLE_PARAGRAPHS_ONLY ); r( wxRICHTEXT_SETSTYLE_CHARACTERS_ONLY ); #if WXPERL_W_VERSION_GE( 2, 7, 2 ) r( wxRICHTEXT_SETSTYLE_RENUMBER ); r( wxRICHTEXT_SETSTYLE_SPECIFY_LEVEL ); #endif #if WXPERL_W_VERSION_GE( 2, 8, 7 ) r( wxRICHTEXT_SETSTYLE_REMOVE ); #endif r( wxRICHTEXT_INSERT_NONE ); r( wxRICHTEXT_INSERT_WITH_PREVIOUS_PARAGRAPH_STYLE ); #endif #if WXPERL_W_VERSION_GE( 2, 8, 0 ) r( wxRICHTEXT_SETSTYLE_RESET ); #endif r( wxRICHTEXT_FIXED_WIDTH ); r( wxRICHTEXT_FIXED_HEIGHT ); r( wxRICHTEXT_VARIABLE_WIDTH ); r( wxRICHTEXT_VARIABLE_HEIGHT ); r( wxRICHTEXT_LAYOUT_SPECIFIED_RECT ); #if WXPERL_W_VERSION_GE( 2, 7, 2 ) r( wxRICHTEXT_DRAW_IGNORE_CACHE ); #endif r( wxRICHTEXT_HITTEST_NONE ); r( wxRICHTEXT_HITTEST_BEFORE ); r( wxRICHTEXT_HITTEST_AFTER ); r( wxRICHTEXT_HITTEST_ON ); #if WXPERL_W_VERSION_GE( 2, 8, 7 ) r( wxRICHTEXT_HITTEST_OUTSIDE ); #endif r( wxRICHTEXT_HANDLER_INCLUDE_STYLESHEET ); r( wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_MEMORY ); r( wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_FILES ); r( wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_BASE64 ); #if WXPERL_W_VERSION_GE( 2, 8, 0 ) r( wxRICHTEXT_HANDLER_NO_HEADER_FOOTER ); #endif #if WXPERL_W_VERSION_GE( 2, 8, 8 ) r( wxRICHTEXT_HANDLER_CONVERT_FACENAMES ); #endif r( wxRICHTEXT_FORMATTED ); r( wxRICHTEXT_UNFORMATTED ); r( wxRICHTEXT_TYPE_ANY ); r( wxRICHTEXT_TYPE_TEXT ); r( wxRICHTEXT_TYPE_XML ); r( wxRICHTEXT_TYPE_HTML ); r( wxRICHTEXT_TYPE_RTF ); r( wxRICHTEXT_TYPE_PDF ); r( wxRICHTEXT_FORMAT_STYLE_EDITOR ); r( wxRICHTEXT_FORMAT_FONT ); r( wxRICHTEXT_FORMAT_TABS ); r( wxRICHTEXT_FORMAT_BULLETS ); r( wxRICHTEXT_FORMAT_INDENTS_SPACING ); r( wxRICHTEXT_FORMAT_CHARACTER ); r( wxRICHTEXT_FORMAT_HELP_BUTTON ); r( wxRICHTEXT_FORMAT_LIST_STYLE ); r( wxRICHTEXT_FORMAT_PARAGRAPH ); r( wxRICHTEXT_FORMAT_STYLE ); r( wxRICHTEXT_ORGANISER_DELETE_STYLES ); r( wxRICHTEXT_ORGANISER_CREATE_STYLES ); r( wxRICHTEXT_ORGANISER_APPLY_STYLES ); r( wxRICHTEXT_ORGANISER_EDIT_STYLES ); r( wxRICHTEXT_ORGANISER_RENAME_STYLES ); r( wxRICHTEXT_ORGANISER_OK_CANCEL ); r( wxRICHTEXT_ORGANISER_RENUMBER ); r( wxRICHTEXT_ORGANISER_SHOW_CHARACTER ); r( wxRICHTEXT_ORGANISER_SHOW_PARAGRAPH ); r( wxRICHTEXT_ORGANISER_SHOW_LIST ); r( wxRICHTEXT_ORGANISER_SHOW_ALL ); r( wxRICHTEXT_ORGANISER_ORGANISE ); r( wxRICHTEXT_ORGANISER_BROWSE ); r( wxRICHTEXT_ORGANISER_BROWSE_NUMBERING ); r( wxRICHTEXT_PAGE_ALL ); r( wxRICHTEXT_PAGE_CENTRE ); r( wxRICHTEXT_PAGE_EVEN ); r( wxRICHTEXT_PAGE_LEFT ); r( wxRICHTEXT_PAGE_ODD ); r( wxRICHTEXT_PAGE_RIGHT ); r( wxRICHTEXT_STYLE_ALL ); r( wxRICHTEXT_STYLE_CHARACTER ); r( wxRICHTEXT_STYLE_LIST ); r( wxRICHTEXT_STYLE_PARAGRAPH ); break; case 'T': r( wxTEXT_ATTR_PARA_SPACING_AFTER ); r( wxTEXT_ATTR_PARA_SPACING_BEFORE ); r( wxTEXT_ATTR_LINE_SPACING ); r( wxTEXT_ATTR_CHARACTER_STYLE_NAME ); r( wxTEXT_ATTR_PARAGRAPH_STYLE_NAME ); #if WXPERL_W_VERSION_GE( 2, 7, 2 ) r( wxTEXT_ATTR_LIST_STYLE_NAME ); #endif r( wxTEXT_ATTR_BULLET_STYLE ); r( wxTEXT_ATTR_BULLET_NUMBER ); #if WXPERL_W_VERSION_GE( 2, 7, 2 ) r( wxTEXT_ATTR_BULLET_TEXT ); r( wxTEXT_ATTR_BULLET_NAME ); r( wxTEXT_ATTR_URL ); r( wxTEXT_ATTR_PAGE_BREAK ); #endif r( wxTEXT_ATTR_BULLET_STYLE_NONE ); r( wxTEXT_ATTR_BULLET_STYLE_ARABIC ); r( wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER ); r( wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER ); r( wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER ); r( wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER ); r( wxTEXT_ATTR_BULLET_STYLE_SYMBOL ); r( wxTEXT_ATTR_BULLET_STYLE_BITMAP ); r( wxTEXT_ATTR_BULLET_STYLE_PARENTHESES ); r( wxTEXT_ATTR_BULLET_STYLE_PERIOD ); #if WXPERL_W_VERSION_GE( 2, 7, 2 ) r( wxTEXT_ATTR_BULLET_STYLE_STANDARD ); r( wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS ); r( wxTEXT_ATTR_BULLET_STYLE_OUTLINE ); r( wxTEXT_ATTR_BULLET_STYLE_ALIGN_LEFT ); r( wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT ); r( wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE ); #endif r( wxTEXT_ATTR_LINE_SPACING_NORMAL ); r( wxTEXT_ATTR_LINE_SPACING_HALF ); r( wxTEXT_ATTR_LINE_SPACING_TWICE ); r( wxTEXT_ATTR_CHARACTER ); r( wxTEXT_ATTR_PARAGRAPH ); r( wxTEXT_ATTR_ALL ); #if WXPERL_W_VERSION_GE( 2, 8, 0 ) r( wxTEXT_ATTR_EFFECT_NONE ); r( wxTEXT_ATTR_EFFECT_CAPITALS ); r( wxTEXT_ATTR_EFFECT_SMALL_CAPITALS ); r( wxTEXT_ATTR_EFFECT_STRIKETHROUGH ); r( wxTEXT_ATTR_EFFECT_DOUBLE_STRIKETHROUGH ); r( wxTEXT_ATTR_EFFECT_SHADOW ); r( wxTEXT_ATTR_EFFECT_EMBOSS ); r( wxTEXT_ATTR_EFFECT_OUTLINE ); r( wxTEXT_ATTR_EFFECT_ENGRAVE ); r( wxTEXT_ATTR_EFFECT_SUPERSCRIPT ); r( wxTEXT_ATTR_EFFECT_SUBSCRIPT ); #endif #if WXPERL_W_VERSION_GE( 2, 8, 0 ) r( wxTEXT_ATTR_EFFECTS ); #endif #if WXPERL_W_VERSION_GE( 2, 9, 0 ) r( wxTEXT_ATTR_FONT_ENCODING ); #endif #if WXPERL_W_VERSION_GE( 2, 8, 8 ) r( wxTEXT_ATTR_KEEP_FIRST_PARA_STYLE ); #endif #if WXPERL_W_VERSION_GE( 2, 8, 0 ) r( wxTEXT_ATTR_OUTLINE_LEVEL ); #endif break; } #undef r WX_PL_CONSTANT_CLEANUP(); } wxPlConstants richtextctrl_module( &richtextctrl_constant ); %} %file{-}; %name{Wx::RichTextEvent} class wxRichTextEvent { #if WXPERL_W_VERSION_LE( 2, 7, 2 ) int GetIndex() const; void SetIndex( int n ); #endif int GetFlags() const; void SetFlags( int flags ); #if WXPERL_W_VERSION_GE( 2, 7, 2 ) wxRichTextStyleSheetDisown* GetOldStyleSheet() const; void SetOldStyleSheet( wxRichTextStyleSheetDisown* sheet ); wxRichTextStyleSheetDisown* GetNewStyleSheet() const; void SetNewStyleSheet( wxRichTextStyleSheetDisown* sheet ); #endif }; %name{Wx::RichTextCtrl} class wxRichTextCtrl { %name{newDefault} wxRichTextCtrl() %code{% RETVAL = new wxRichTextCtrl(); wxPli_create_evthandler( aTHX_ RETVAL, CLASS ); %}; %name{newFull} wxRichTextCtrl( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& string = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxRE_MULTILINE ) %code{% RETVAL = new wxRichTextCtrl( parent, id, string, pos, size, style ); wxPli_create_evthandler( aTHX_ RETVAL, CLASS ); %}; bool Create( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& string = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxRE_MULTILINE ); wxString GetFilename() const; void SetFilename( const wxString& filename ); void SetDelayedLayoutThreshold( long threshold ); long GetDelayedLayoutThreshold() const; %name{SetStyleFromTo} bool SetStyle( long start, long end, const wxTextAttr& style ); %name{SetStyleExFromTo} bool SetStyle( long start, long end, const wxTextAttrEx& style ); %name{SetStyleRange} bool SetStyle( const wxRichTextRange& range, const wxRichTextAttr& style ); #if WXPERL_W_VERSION_GE( 2, 7, 1 ) #if WXPERL_W_VERSION_LT( 2, 9, 0 ) %name{SetStyleExExFromTo} bool SetStyleEx ( long start, long end, const wxTextAttrEx& style, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO ); #endif %name{SetStyleExRange} bool SetStyleEx ( const wxRichTextRange& range, const wxTextAttrEx& style, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO ); %name{SetStyleExExRange} bool SetStyleEx ( const wxRichTextRange& range, const wxRichTextAttr& style, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO ); #endif const wxTextAttrEx& GetBasicStyle() const; const wxTextAttrEx& GetDefaultStyleEx() const; bool Newline(); 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 bool SetDefaultStyleToCursorStyle(); #if WXPERL_W_VERSION_GE( 2, 7, 2 ) bool ClearListStyle( const wxRichTextRange& range, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO ); #endif void SelectNone(); #if WXPERL_W_VERSION_GE( 2, 7, 1 ) bool SelectWord( long position ); #endif wxRichTextRange GetSelectionRange() const; void SetSelectionRange( const wxRichTextRange& range ); #if WXPERL_W_VERSION_GE( 2, 7, 1 ) const wxRichTextRange& GetInternalSelectionRange() const; void SetInternalSelectionRange( const wxRichTextRange& range ); #endif bool HasSelection() const; wxRichTextRange AddParagraph( const wxString& text ); wxRichTextRange AddImage( const wxImage& image ); bool LayoutContent( bool onlyVisibleRect = false ); bool MoveCaret( long pos, bool showAtLineStart = false ); bool MoveRight( int noPositions = 1, int flags = 0 ); bool MoveLeft( int noPositions = 1, int flags = 0 ); bool MoveUp( int noLines = 1, int flags = 0 ); bool MoveDown( int noLines = 1, int flags = 0 ); bool MoveToLineEnd( int flags = 0 ); bool MoveToLineStart( int flags = 0 ); bool MoveToParagraphEnd( int flags = 0 ); bool MoveToParagraphStart( int flags = 0 ); bool MoveHome( int flags = 0 ); bool MoveEnd( int flags = 0 ); bool PageUp( int noPages = 1, int flags = 0 ); bool PageDown( int noPages = 1, int flags = 0 ); bool WordLeft( int noPages = 1, int flags = 0 ); bool WordRight( int noPages = 1, int flags = 0 ); bool BeginBatchUndo( const wxString& cmdName ); bool EndBatchUndo(); bool BatchingUndo() const; bool BeginSuppressUndo(); bool EndSuppressUndo(); bool SuppressingUndo() const; bool CanDeleteSelection() const; void DeleteSelection(); %name{HasCARich} bool HasCharacterAttributes ( const wxRichTextRange& range, const wxTextAttrEx& style ) const; %name{HasCAEx} bool HasCharacterAttributes ( const wxRichTextRange& range, const wxRichTextAttr& style) const; %name{HasPARich} bool HasParagraphAttributes ( const wxRichTextRange& range, const wxTextAttrEx& style) const; %name{HasPAEx} bool HasParagraphAttributes ( const wxRichTextRange& range, const wxRichTextAttr& style) const; bool IsSelectionBold(); bool IsSelectionItalics(); bool IsSelectionUnderlined(); bool IsSelectionAligned( wxTextAttrAlignment alignment ); bool ApplyBoldToSelection(); bool ApplyItalicToSelection(); bool ApplyUnderlineToSelection(); bool ApplyAlignmentToSelection(wxTextAttrAlignment alignment); #if WXPERL_W_VERSION_GE( 2, 7, 1 ) bool ApplyStyle( wxRichTextStyleDefinition* def ); void SetStyleSheet( wxRichTextStyleSheet* styleSheet ); wxRichTextStyleSheetDisown* GetStyleSheet() const; bool ApplyStyleSheet( wxRichTextStyleSheet* styleSheet = NULL ); #endif #if WXPERL_W_VERSION_GE( 2, 7, 2 ) bool PushStyleSheet( wxRichTextStyleSheetDisown* styleSheet ); wxRichTextStyleSheetDisown* PopStyleSheet(); #endif void PositionCaret(); bool ExtendSelection( long oldPosition, long newPosition, int flags ); bool ScrollIntoView( long position, int keyCode ); void SetCaretPosition( long position, bool showAtLineStart = false ); long GetCaretPosition() const; #if WXPERL_W_VERSION_GE( 2, 7, 1 ) long GetAdjustedCaretPosition( long caretPos ) const; #endif void MoveCaretForward( long oldPosition ); void MoveCaretBack( long oldPosition ); ## bool GetCaretPositionForIndex( long position, wxRect& rect ); ## bool DeleteSelectedContent( long* newPos= NULL ); wxPoint GetPhysicalPoint( const wxPoint& ptLogical ) const; wxPoint GetLogicalPoint( const wxPoint& ptPhysical ) const; long FindNextWordPosition( int direction = 1 ) const; bool IsPositionVisible( long pos ) const; long GetFirstVisiblePosition() const; #if WXPERL_W_VERSION_GE( 2, 7, 1 ) long GetCaretPositionForDefaultStyle() const; void SetCaretPositionForDefaultStyle( long pos ); bool IsDefaultStyleShowing() const; void SetAndShowDefaultStyle( const wxRichTextAttr& attr ); #endif #if WXPERL_W_VERSION_GE( 2, 7, 2 ) wxPoint GetFirstVisiblePoint() const; #endif %name{WriteImageFile} bool WriteImage( const wxString& filename, wxBitmapType bitmapType ); %name{WriteImageBitmap} bool WriteImage( const wxBitmap& bitmap, wxBitmapType bitmapType = wxBITMAP_TYPE_PNG ); %name{WriteImageImage} bool WriteImage( const wxImage& image, wxBitmapType bitmapType = wxBITMAP_TYPE_PNG ); %name{SetBasicStyleRich} void SetBasicStyle( const wxRichTextAttr& style ); %name{SetBasicStyleEx} void SetBasicStyle( const wxTextAttrEx& style ); %{ void wxRichTextCtrl::SetBasicStyle( ... ) PPCODE: BEGIN_OVERLOAD() MATCH_REDISP( wxPliOvl_wrta, SetBasicStyleRich ) MATCH_REDISP( wxPliOvl_wtae, SetBasicStyleEx ) END_OVERLOAD( "Wx::RichTextCtrl::SetBasicStyle" ) %} wxRichTextBuffer* GetBuffer() %code{% RETVAL = &THIS->GetBuffer(); %}; }; %{ void wxRichTextCtrl::new( ... ) PPCODE: BEGIN_OVERLOAD() MATCH_VOIDM_REDISP( newDefault ) MATCH_ANY_REDISP( newFull ) END_OVERLOAD( "Wx::RichTextCtrl::new" ) void wxRichTextCtrl::SetStyle( ... ) PPCODE: BEGIN_OVERLOAD() MATCH_REDISP( wxPliOvl_wrtr_wrta, SetStyleRange ) MATCH_REDISP( wxPliOvl_n_n_wtae, SetStyleExFromTo ) MATCH_REDISP( wxPliOvl_n_n_wtat, SetStyleFromTo ) END_OVERLOAD( "Wx::RichTextCtrl::SetStyle" ) void wxRichTextCtrl::SetStyleEx( ... ) PPCODE: BEGIN_OVERLOAD() MATCH_REDISP( wxPliOvl_wrtr_wrta_n, SetStyleExExRange ) MATCH_REDISP( wxPliOvl_wrtr_wtae_n, SetStyleExRange ) MATCH_REDISP( wxPliOvl_n_n_wtae, SetStyleExExFromTo ) END_OVERLOAD( "Wx::RichTextCtrl::SetStyleEx" ) void wxRichTextCtrl::HasCharacterAttributes( ... ) PPCODE: BEGIN_OVERLOAD() MATCH_REDISP( wxPliOvl_wrtr_wrta, HasCARich ) MATCH_REDISP( wxPliOvl_wrtr_wtae, HasCAEx ) END_OVERLOAD( "Wx::RichTextCtrl::HasCharacterAttributes" ) void wxRichTextCtrl::HasParagraphAttributes( ... ) PPCODE: BEGIN_OVERLOAD() MATCH_REDISP( wxPliOvl_wrtr_wrtr, HasPARich ) MATCH_REDISP( wxPliOvl_wrtr_wtae, HasPAEx ) END_OVERLOAD( "Wx::RichTextCtrl::HasParagraphAttributes" ) void wxRichTextCtrl::DeleteSelectedContent() PPCODE: long newPos; bool retval = THIS->DeleteSelectedContent( &newPos ); EXTEND( SP, 2 ); PUSHs( newSViv( retval ) ); PUSHs( newSViv( retval ? newPos : -1 ) ); void wxRichTextCtrl::GetCaretPositionForIndex( position ) long position PPCODE: wxRect rect; bool retval = THIS->GetCaretPositionForIndex( position, rect ); EXTEND( SP, 2 ); PUSHs( newSViv( retval ) ); PUSHs( retval ? wxPli_non_object_2_sv( aTHX_ sv_newmortal(), new wxRect( rect ), "Wx::Rect" ) : &PL_sv_undef ); 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 ); void wxRichTextCtrl::GetTextAttrStyle( position ) long position PPCODE: wxTextAttr attr; bool retval = THIS->GetStyle( position, attr ); EXTEND( SP, 2 ); PUSHs( newSViv( retval ) ); PUSHs( retval ? wxPli_non_object_2_sv( aTHX_ sv_newmortal(), new wxTextAttr( attr ), "Wx::TextAttr" ) : &PL_sv_undef ); #if WXPERL_W_VERSION_GE( 2, 9, 0 ) void wxRichTextCtrl::GetStyle( position ) long position PPCODE: wxTextAttr attr; bool retval = THIS->GetStyle( position, attr ); EXTEND( SP, 2 ); PUSHs( newSViv( retval ) ); PUSHs( retval ? wxPli_non_object_2_sv( aTHX_ sv_newmortal(), new wxTextAttr( attr ), "Wx::TextAttr" ) : &PL_sv_undef ); #endif #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 ); void wxRichTextCtrl::GetTextAttrUncombinedStyle( position ) long position PPCODE: wxTextAttr attr; bool retval = THIS->GetUncombinedStyle( position, attr ); EXTEND( SP, 2 ); PUSHs( newSViv( retval ) ); PUSHs( retval ? wxPli_non_object_2_sv( aTHX_ sv_newmortal(), new wxTextAttr( attr ), "Wx::TextAttr" ) : &PL_sv_undef ); #endif #if WXPERL_W_VERSION_GE( 2, 9, 0 ) void wxRichTextCtrl::GetUncombinedStyle( position ) long position PPCODE: wxTextAttr attr; bool retval = THIS->GetUncombinedStyle( position, attr ); EXTEND( SP, 2 ); PUSHs( newSViv( retval ) ); PUSHs( retval ? wxPli_non_object_2_sv( aTHX_ sv_newmortal(), new wxTextAttr( attr ), "Wx::TextAttr" ) : &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 #if WXPERL_W_VERSION_GE( 2, 9, 0 ) void wxRichTextCtrl::GetStyleForRange( range ) wxRichTextRange* range PPCODE: wxTextAttr 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 void WriteImage( ... ) PPCODE: BEGIN_OVERLOAD() MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wimg_n, WriteImageImage, 1 ) MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wbmp_n, WriteImageBitmap, 1 ) MATCH_REDISP( wxPliOvl_s_n, WriteImageFile ) END_OVERLOAD( "Wx::RichTextCtrl::WriteImage" ) %}