############################################################################# ## Name: XS/BookCtrl.xsp ## Purpose: XS+++ for Wx::BookCtrl ## Author: Mattia Barbon ## Modified by: ## Created: 06/12/2003 ## RCS-ID: $Id: BookCtrl.xsp 2071 2007-07-08 15:39:02Z mbarbon $ ## Copyright: (c) 2003, 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}; %{ #if WXPERL_W_VERSION_GE( 2, 5, 1 ) #include <wx/bookctrl.h> #include <wx/sizer.h> %} %name{Wx::BookCtrl} class wxBookCtrl { size_t GetPageCount() const; wxWindow *GetPage(size_t n); int GetSelection() const; bool SetPageText(size_t n, const wxString& strText); wxString GetPageText(size_t n) const; void SetImageList(wxImageList *imageList); ## void AssignImageList(wxImageList *imageList) ## wxImageList* GetImageList() const; int GetPageImage(size_t n) const; bool SetPageImage(size_t n, int imageId); void SetPageSize(const wxSize& size); wxSize CalcSizeFromPage(const wxSize& sizePage) const; #if WXPERL_W_VERSION_GE( 2, 7, 0 ) unsigned int GetInternalBorder(); void SetInternalBorder( unsigned int border ); bool IsVertical(); void SetFitToCurrentPage( bool fit ); bool GetFitToCurrentPage(); wxSizer* GetControlSizer(); #endif bool DeletePage(size_t n); bool RemovePage(size_t n); bool DeleteAllPages(); bool AddPage(wxWindow *page, const wxString& text, bool bSelect = false, int imageId = -1 ); bool InsertPage(size_t n, wxWindow *page, const wxString& text, bool bSelect = false, int imageId = -1 ); int SetSelection(size_t n); void AdvanceSelection(bool forward = true); #if WXPERL_W_VERSION_GE( 2, 7, 2 ) int ChangeSelection(size_t n); #endif #if WXPERL_W_VERSION_GE( 2, 6, 0 ) wxWindow* GetCurrentPage(); #endif }; %{ void wxBookCtrl::AssignImageList( imagelist ) wxImageList* imagelist CODE: wxPli_object_set_deleteable( aTHX_ ST(1), false ); THIS->AssignImageList( imagelist ); wxImageList* wxBookCtrl::GetImageList() OUTPUT: RETVAL CLEANUP: wxPli_object_set_deleteable( aTHX_ ST(0), false ); #if WXPERL_W_VERSION_GE( 2, 7, 0 ) void wxBookCtrl::HitTest( point ) wxPoint point PREINIT: long flags; int item; PPCODE: item = THIS->HitTest( point, &flags ); EXTEND( SP, 2 ); PUSHs( sv_2mortal( newSViv( item ) ) ); PUSHs( sv_2mortal( newSViv( flags ) ) ); #endif %} %name{Wx::BookCtrlEvent} class wxBookCtrlEvent { int GetSelection() const; void SetSelection(int nSel); int GetOldSelection() const; void SetOldSelection(int nOldSel); }; %{ #endif %}