############################################################################# ## Name: viface/TextCtrlIface.xsp ## Purpose: XS++ for wxTextCtrlIface ## Author: Mark Dootson ## Modified by: ## Created: 21/11/2011 ## RCS-ID: $Id:$ ## Copyright: (c) 2011 Mattia Barbon ## Licence: This program is free software; you can redistribute it and/or ## modify it under the same terms as Perl itself ############################################################################# %file{xspp/TextCtrlIface.h}; %module{Wx}; #if WXPERL_W_VERSION_GE( 2, 9, 2 ) %typemap{wxTextCtrlIface*}{simple}; %typemap{const wxTextAttr&}{reference}; %name{Wx::TextCtrlIface} class wxTextCtrlIface { wxString GetValue() const; void SetValue( const wxString& value ); void ChangeValue( const wxString& value ); wxString GetRange( long from, long to ) const; void WriteText( const wxString& text ); void AppendText( const wxString& text ); bool IsEmpty(); void Clear(); void Replace( long from, long to, const wxString& value ); void Remove( long from, long to ); void RemoveSelection(); void Copy(); void Cut(); void Paste(); bool CanCopy() const; bool CanCut() const; bool CanPaste() const; void Undo(); void Redo(); bool CanUndo() const; bool CanRedo() const; void SetInsertionPoint( long pos ); void SetInsertionPointEnd(); long GetInsertionPoint() const; long GetLastPosition() const; void SetSelection( long from, long to ); void SelectAll(); bool HasSelection() const; wxString GetStringSelection() const; ## void GetSelection(long *from, long *to); bool AutoCompleteFileNames(); bool AutoComplete( const wxArrayString& choices ); ## bool AutoComplete( wxTextCompleter *completer); bool IsEditable() const; void SetEditable( bool editable ); void SetMaxLength( unsigned long len ); bool SetHint(const wxString& hint); wxString GetHint() const; bool SetMargins(const wxPoint& pt); wxPoint GetMargins() const; /* implement wxTextAreaBase */ int GetLineLength( long lineNo ) const; wxString GetLineText( long lineNo ) const; int GetNumberOfLines() const; #if defined(WXPERL_IN_RICHTEXTCTRL) bool LoadFile( const wxString& file, int fileType = wxTEXT_TYPE_ANY ); bool SaveFile( const wxString& file = wxEmptyString, int fileType = wxTEXT_TYPE_ANY ); #endif bool IsModified() const; void MarkDirty(); void DiscardEdits(); void SetModified( bool modified ); #if defined(WXPERL_IN_SEARCHCTRL) bool SetStyle( long start, long end, const wxTextAttr& style ); ## bool GetStyle(long position, wxTextAttr& style) = 0; #endif #if !defined(WXPERL_IN_RICHTEXTCTRL) bool SetDefaultStyle( const wxTextAttr& style ); #endif const wxTextAttr& GetDefaultStyle() const; long XYToPosition( long x, long y ) const; ## bool PositionToXY(long pos, long *x, long *y) const; void ShowPosition(long pos); ## wxTextCtrlHitTestResult HitTest(const wxPoint& pt, long *pos) const; ## wxTextCtrlHitTestResult HitTest(const wxPoint& pt, wxTextCoord *col, wxTextCoord *row) const; }; %{ void wxTextCtrlIface::GetSelection() PREINIT: long from; long to; PPCODE: THIS->GetSelection( &from, &to ); EXTEND( SP, 2 ); PUSHs( sv_2mortal( newSViv( from ) ) ); PUSHs( sv_2mortal( newSViv( to ) ) ); %} #if defined(WXPERL_IN_SEARCHCTRL) %{ void wxTextCtrlIface::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 %{ void wxTextCtrlIface::PositionToXY( pos ) long pos PREINIT: long x; long y; PPCODE: THIS->PositionToXY( pos, &x, &y ); EXTEND( SP, 2 ); PUSHs( sv_2mortal( newSViv( x ) ) ); PUSHs( sv_2mortal( newSViv( y ) ) ); %} %{ void wxTextCtrlIface::HitTest( pt ) wxPoint pt PPCODE: long col, row; wxTextCtrlHitTestResult res = THIS->HitTest( pt, &col, &row ); EXTEND( SP, 3 ); PUSHs( sv_2mortal( newSViv( res ) ) ); PUSHs( sv_2mortal( newSViv( col ) ) ); PUSHs( sv_2mortal( newSViv( row ) ) ); %} #endif %file{-};