///////////////////////////////////////////////////////////////////////////// // Name: ext/mdi/cpp/mdi.h // Purpose: c++ wrapper for wxMDI* // Author: Mattia Barbon // Modified by: // Created: 06/09/2001 // RCS-ID: $Id: mdi.h 2057 2007-06-18 23:03:00Z mbarbon $ // Copyright: (c) 2001, 2004 Mattia Barbon // Licence: This program is free software; you can redistribute it and/or // modify it under the same terms as Perl itself ///////////////////////////////////////////////////////////////////////////// #ifndef _WXPERL_MDI_H #define _WXPERL_MDI_H #include #include "cpp/v_cback.h" class wxPliMDIParentFrame:public wxMDIParentFrame { WXPLI_DECLARE_DYNAMIC_CLASS( wxPliMDIParentFrame ); WXPLI_DECLARE_V_CBACK(); public: WXPLI_DEFAULT_CONSTRUCTOR( wxPliMDIParentFrame, "Wx::MDIParentFrame", true ); virtual wxStatusBar* OnCreateStatusBar( int, long, wxWindowID, const wxString& ); virtual wxToolBar* OnCreateToolBar( long, wxWindowID, const wxString& ); // void GetClientSize( int* width, int* height ) const; // wxWindow* GetToolBar() const; // wxMDIClientWindow* OnCreateClient(); }; WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPliMDIParentFrame, wxMDIParentFrame ); inline wxStatusBar* wxPliMDIParentFrame::OnCreateStatusBar( int number, long style, wxWindowID id, const wxString& name ) { dTHX; if( wxPliVirtualCallback_FindCallback( aTHX_ &m_callback, "OnCreateStatusBar" ) ) { SV* ret = wxPliVirtualCallback_CallCallback ( aTHX_ &m_callback, G_SCALAR, "illP", number, style, id, &name ); wxStatusBar* retval = (wxStatusBar*)wxPli_sv_2_object( aTHX_ ret, "Wx::StatusBar" ); SvREFCNT_dec( ret ); return retval; } else return wxFrame::OnCreateStatusBar( number, style, id, name ); } inline wxToolBar* wxPliMDIParentFrame::OnCreateToolBar( long style, wxWindowID id, const wxString& name ) { dTHX; if( wxPliVirtualCallback_FindCallback( aTHX_ &m_callback, "OnCreateToolBar" ) ) { SV* ret = wxPliVirtualCallback_CallCallback ( aTHX_ &m_callback, G_SCALAR, "llP", style, id, &name ); wxToolBar* retval = (wxToolBar*)wxPli_sv_2_object( aTHX_ ret, "Wx::ToolBar" ); SvREFCNT_dec( ret ); return retval; } else return wxFrame::OnCreateToolBar( style, id, name ); } # if 0 void GetClientSize( int* width, int* height ) const { if( wxPliVirtualCallback_FindCallback( &m_callback, "GetClientSize" ) ) { SV* ret = wxPliVirtualCallback_CallCallback( &m_callback, G_SCALAR, NULL ); wxSize* val = (wxSize*)wxPli_sv_2_object( ret, "Wx::Size" ); *width = val->x; *height = val->y; SvREFCNT_dec( ret ); } else return wxMDIParentFrame::GetClientSize( width, height ); } #endif #if 0 wxWindow* GetToolBar() const { if( wxPliVirtualCallback_FindCallback( &m_callback, "GetToolBar" ) ) { SV* ret = wxPliVirtualCallback_CallCallback( &m_callback, G_SCALAR, NULL); wxWindow* retval = (wxToolBar*)wxPli_sv_2_object( ret, "Wx::Window" ); SvREFCNT_dec( ret ); return retval; } else return wxMDIParentFrame::GetToolBar(); } #endif // wxMDIClientWindow isn't (yet) implemented #if 0 wxMDIClientWindow* OnCreateClient() { if( wxPliVirtualCallback_FindCallback( &m_callback, "OnCreateClient" ) ) { SV* ret = wxPliVirtualCallback_CallCallback( &m_callback, G_SCALAR, NULL ); wxToolBar* retval = (wxToolBar*)wxPli_sv_2_object( ret, "Wx::MDIClientWindow" ); SvREFCNT_dec( ret ); return retval; } else return wxMDIParentFrame::GetToolBar(); } #endif WXPLI_DECLARE_CLASS_7( MDIChildFrame, true, wxMDIParentFrame*, wxWindowID, const wxString&, const wxPoint&, const wxSize&, long, const wxString& ); WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPliMDIChildFrame, wxMDIChildFrame ); #endif // _WXPERL_MDI_H // Local variables: // // mode: c++ // // End: //