1 /////////////////////////////////////////////////////////////////////////////
2 // Name: ext/mdi/cpp/mdi.h
3 // Purpose: c++ wrapper for wxMDI*
4 // Author: Mattia Barbon
7 // RCS-ID: $Id: mdi.h 2057 2007-06-18 23:03:00Z mbarbon $
8 // Copyright: (c) 2001, 2004 Mattia Barbon
9 // Licence: This program is free software; you can redistribute it and/or
10 // modify it under the same terms as Perl itself
11 /////////////////////////////////////////////////////////////////////////////
17 #include "cpp/v_cback.h"
19 class wxPliMDIParentFrame:public wxMDIParentFrame
21 WXPLI_DECLARE_DYNAMIC_CLASS( wxPliMDIParentFrame );
22 WXPLI_DECLARE_V_CBACK();
24 WXPLI_DEFAULT_CONSTRUCTOR( wxPliMDIParentFrame, "Wx::MDIParentFrame", true );
26 virtual wxStatusBar* OnCreateStatusBar( int, long, wxWindowID,
28 virtual wxToolBar* OnCreateToolBar( long, wxWindowID, const wxString& );
30 // void GetClientSize( int* width, int* height ) const;
31 // wxWindow* GetToolBar() const;
32 // wxMDIClientWindow* OnCreateClient();
35 WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPliMDIParentFrame, wxMDIParentFrame );
37 inline wxStatusBar* wxPliMDIParentFrame::OnCreateStatusBar( int number, long style,
39 const wxString& name )
42 if( wxPliVirtualCallback_FindCallback( aTHX_ &m_callback,
43 "OnCreateStatusBar" ) )
45 SV* ret = wxPliVirtualCallback_CallCallback
46 ( aTHX_ &m_callback, G_SCALAR, "illP",
47 number, style, id, &name );
49 (wxStatusBar*)wxPli_sv_2_object( aTHX_ ret, "Wx::StatusBar" );
54 return wxFrame::OnCreateStatusBar( number, style, id, name );
57 inline wxToolBar* wxPliMDIParentFrame::OnCreateToolBar( long style, wxWindowID id,
58 const wxString& name )
61 if( wxPliVirtualCallback_FindCallback( aTHX_ &m_callback,
64 SV* ret = wxPliVirtualCallback_CallCallback
65 ( aTHX_ &m_callback, G_SCALAR, "llP", style, id, &name );
67 (wxToolBar*)wxPli_sv_2_object( aTHX_ ret, "Wx::ToolBar" );
72 return wxFrame::OnCreateToolBar( style, id, name );
77 void GetClientSize( int* width, int* height ) const
79 if( wxPliVirtualCallback_FindCallback( &m_callback, "GetClientSize" ) )
81 SV* ret = wxPliVirtualCallback_CallCallback( &m_callback, G_SCALAR,
83 wxSize* val = (wxSize*)wxPli_sv_2_object( ret, "Wx::Size" );
88 return wxMDIParentFrame::GetClientSize( width, height );
95 wxWindow* GetToolBar() const
97 if( wxPliVirtualCallback_FindCallback( &m_callback, "GetToolBar" ) )
99 SV* ret = wxPliVirtualCallback_CallCallback( &m_callback, G_SCALAR,
102 (wxToolBar*)wxPli_sv_2_object( ret, "Wx::Window" );
107 return wxMDIParentFrame::GetToolBar();
112 // wxMDIClientWindow isn't (yet) implemented
115 wxMDIClientWindow* OnCreateClient()
117 if( wxPliVirtualCallback_FindCallback( &m_callback, "OnCreateClient" ) )
119 SV* ret = wxPliVirtualCallback_CallCallback( &m_callback, G_SCALAR,
122 (wxToolBar*)wxPli_sv_2_object( ret, "Wx::MDIClientWindow" );
127 return wxMDIParentFrame::GetToolBar();
132 WXPLI_DECLARE_CLASS_7( MDIChildFrame, true,
133 wxMDIParentFrame*, wxWindowID, const wxString&,
134 const wxPoint&, const wxSize&, long,
137 WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPliMDIChildFrame, wxMDIChildFrame );
142 // Local variables: //