############################################################################# ## Name: ext/html/XS/HtmlListBox.xsp ## Purpose: XS++ for Wx::HtmlListBox ## Author: Mattia Barbon ## Modified by: ## Created: 19/09/2006 ## RCS-ID: $Id: HtmlListBox.xsp 2129 2007-08-11 21:29:29Z mbarbon $ ## Copyright: (c) 2006-2007 Mattia Barbon ## Licence: This program is free software; you can redistribute it and/or ## modify it under the same terms as Perl itself ############################################################################# %module{Wx}; %typemap{wxHtmlListBox*}{simple}; %typemap{wxPlHtmlListBox*}{simple}; %typemap{wxSimpleHtmlListBox*}{simple}; %typemap{wxFileSystem*}{simple}; #if WXPERL_W_VERSION_GE( 2, 5, 0 ) %{ #include #include "cpp/helpers.h" #include #include "cpp/overload.h" #include "cpp/htmllbox.h" %} %file{cpp/htmllbox.h}; %{ #include "cpp/v_cback.h" // bool METH(size_t) #define DEC_V_CBACK_WXSTRING__SIZET_( METHOD, CONST ) \ wxString METHOD( size_t ) CONST #define DEF_V_CBACK_WXSTRING__SIZET_( CLASS, CALLBASE, METHOD, CONST )\ wxString CLASS::METHOD( size_t p1 ) CONST \ { \ dTHX; \ if( wxPliFCback( aTHX_ &m_callback, #METHOD ) ) \ { \ wxAutoSV ret( aTHX_ wxPliCCback( aTHX_ &m_callback, G_SCALAR, \ "L", p1 ) ); \ wxString value; \ WXSTRING_INPUT( value, wxChar*, ret ); \ return value; \ } else \ CALLBASE; \ } #define DEC_V_CBACK_WXSTRING__SIZET_const( METHOD ) \ DEC_V_CBACK_WXSTRING__SIZET_( METHOD, wxPli_CONST ) #define DEF_V_CBACK_WXSTRING__SIZET_const_pure( CLASS, BASE, METHOD ) \ DEF_V_CBACK_WXSTRING__SIZET_( CLASS, return wxEmptyString, METHOD, wxPli_CONST ) class wxPlHtmlListBox : public wxHtmlListBox { WXPLI_DECLARE_DYNAMIC_CLASS( wxPlHtmlListBox ); WXPLI_DECLARE_V_CBACK(); public: WXPLI_DEFAULT_CONSTRUCTOR( wxPlHtmlListBox, "Wx::HtmlListBox", true ); WXPLI_CONSTRUCTOR_6( wxPlHtmlListBox, "Wx::HtmlListBox", true, wxWindow*, wxWindowID, const wxPoint&, const wxSize&, long, const wxString& ); DEC_V_CBACK_WXCOORD__VOID_const( EstimateTotalHeight ); DEC_V_CBACK_WXSTRING__SIZET_const( OnGetItem ); }; WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPlHtmlListBox, wxHtmlListBox ); DEF_V_CBACK_WXCOORD__VOID_const( wxPlHtmlListBox, wxHtmlListBox, EstimateTotalHeight ); DEF_V_CBACK_WXSTRING__SIZET_const_pure( wxPlHtmlListBox, wxHtmlListBox, OnGetItem ); %} %file{-}; %name{Wx::HtmlListBox} class wxHtmlListBox { bool Create( wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxVListBoxNameStr ); }; %{ wxFileSystem* wxHtmlListBox::GetFileSystem() CODE: RETVAL = &THIS->GetFileSystem(); OUTPUT: RETVAL CLEANUP: wxPli_object_set_deleteable( aTHX_ ST(0), false ); %} %name{Wx::PlHtmlListBox} class wxPlHtmlListBox { %name{newDefault} wxPlHtmlListBox() %code{% RETVAL = new wxPlHtmlListBox( CLASS ); %}; %name{newFull} wxPlHtmlListBox( wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxEmptyString ) %code{% RETVAL = new wxPlHtmlListBox( CLASS, parent, id, pos, size, style, name ); %}; }; %{ void new( ... ) PPCODE: BEGIN_OVERLOAD() MATCH_VOIDM_REDISP( newDefault ) MATCH_ANY_REDISP( newFull ) END_OVERLOAD( "Wx::PlHtmlListBox::new" ) %} #if WXPERL_W_VERSION_GE( 2, 7, 2 ) %name{Wx::SimpleHtmlListBox} class wxSimpleHtmlListBox { %name{newDefault} wxSimpleHtmlListBox() %code{% RETVAL = new wxSimpleHtmlListBox; wxPli_create_evthandler( aTHX_ RETVAL, CLASS ); %}; %name{newFull} wxSimpleHtmlListBox( wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, wxArrayString choices, long style = 0, const wxValidator& validator = wxDefaultValidatorPtr, const wxString& name = wxSimpleHtmlListBoxNameStr ) %code{% RETVAL = new wxSimpleHtmlListBox( parent, id, pos, size, choices, style, *validator, name ); wxPli_create_evthandler( aTHX_ RETVAL, CLASS ); %}; bool Create( wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, wxArrayString choices, long style = 0, const wxValidator& validator = wxDefaultValidatorPtr, const wxString& name = wxSimpleHtmlListBoxNameStr ); void SetSelection( int n ); int GetSelection() const; unsigned int GetCount() const; wxString GetString( unsigned int n ) const; ## wxArrayString GetStrings() const; void SetString( unsigned int n, const wxString& s ); ## void Clear(); %{ void wxSimpleHtmlListBox::Clear() CODE: THIS->wxVListBox::Clear(); %} void Delete( unsigned int n ); %name{AppendStrings} void Append( const wxArrayString& strings ); %name{AppendString} void Append( const wxString& item ); %name{AppendData} void Append( const wxString& item, wxPliUserDataCD* data ); }; %{ void new( ... ) PPCODE: BEGIN_OVERLOAD() MATCH_VOIDM_REDISP( newDefault ) MATCH_ANY_REDISP( newFull ) END_OVERLOAD( "Wx::SimpleHtmlListBox::new" ) void Append( ... ) PPCODE: BEGIN_OVERLOAD() MATCH_REDISP( wxPliOvl_arr, AppendStrings ) MATCH_REDISP( wxPliOvl_s_s, AppendData ) MATCH_REDISP( wxPliOvl_s, AppendString ) END_OVERLOAD( Wx::SimpleHtmlListBox::Append ) %} #endif #endif