4 #include "cpp/v_cback.h"
6 // ANY METH(int, int, int, int)
7 #define DEC_V_CBACK_ANY__INT_INT_INT_INT_( RET, METHOD, CONST ) \
8 RET METHOD(int, int, int, int) CONST
10 #define DEF_V_CBACK_ANY__INT_INT_INT_INT_( RET, CVT, CLASS, CALLBASE, METHOD, CONST ) \
11 RET CLASS::METHOD( int p1, int p2, int p3, int p4 ) CONST \
14 if( wxPliVirtualCallback_FindCallback( aTHX_ &m_callback, #METHOD ) )\
16 wxAutoSV ret( aTHX_ wxPliCCback( aTHX_ &m_callback, G_SCALAR, \
17 "iiii", p1, p2, p3, p4 ) ); \
24 #define DEC_V_CBACK_WXSIZE__VOID( METHOD ) \
25 DEC_V_CBACK_ANY__VOID_( wxSize, METHOD, wxPli_NOCONST )
27 #define DEC_V_CBACK_WXSIZE__VOID_const( METHOD ) \
28 DEC_V_CBACK_ANY__VOID_( wxSize, METHOD, wxPli_CONST )
30 #define DEF_V_CBACK_WXSIZE__VOID( CLASS, BASE, METHOD ) \
31 DEF_V_CBACK_ANY__VOID_( wxSize, wxPli_sv_2_wxsize( aTHX_ ret ), CLASS, return BASE::METHOD(), METHOD, wxPli_NOCONST )
33 #define DEF_V_CBACK_WXSIZE__VOID_pure( CLASS, BASE, METHOD ) \
34 DEF_V_CBACK_ANY__VOID_( wxSize, wxPli_sv_2_wxsize( aTHX_ ret ), CLASS, return wxSize(), METHOD, wxPli_NOCONST )
36 #define DEF_V_CBACK_WXSIZE__VOID_const( CLASS, BASE, METHOD ) \
37 DEF_V_CBACK_ANY__VOID_( wxSize, wxPli_sv_2_wxsize( aTHX_ ret ), CLASS, return BASE::METHOD(), METHOD, wxPli_CONST )
39 // void METH(int, int, int, int)
40 #define DEC_V_CBACK_VOID__INT_INT_INT_INT( METHOD ) \
41 DEC_V_CBACK_ANY__INT_INT_INT_INT_( void, METHOD, wxPli_NOCONST )
43 #define DEC_V_CBACK_VOID__INT_INT_INT_INT_const( METHOD ) \
44 DEC_V_CBACK_ANY__INT_INT_INT_INT_( void, METHOD, wxPli_CONST )
46 #define DEF_V_CBACK_VOID__INT_INT_INT_INT( CLASS, BASE, METHOD ) \
47 DEF_V_CBACK_ANY__INT_INT_INT_INT_( void, wxPli_VOID, CLASS, BASE::METHOD(p1, p2, p3, p4), METHOD, wxPli_NOCONST )
49 #define DEF_V_CBACK_VOID__INT_INT_INT_INT_pure( CLASS, BASE, METHOD ) \
50 DEF_V_CBACK_ANY__INT_INT_INT_INT_( void, wxPli_VOID, CLASS, return, METHOD, wxPli_NOCONST )
52 #define DEF_V_CBACK_VOID__INT_INT_INT_INT_const( CLASS, BASE, METHOD ) \
53 DEF_V_CBACK_ANY__INT_INT_INT_INT_( void, wxPli_VOID, CLASS, BASE::METHOD(p1, p2, p3, p4), METHOD, wxPli_CONST )
55 class wxPlWindow : public wxWindow {
56 WXPLI_DECLARE_DYNAMIC_CLASS( wxPlWindow );
57 WXPLI_DECLARE_V_CBACK();
59 WXPLI_DEFAULT_CONSTRUCTOR( wxPlWindow, "Wx::Window", true );
60 WXPLI_CONSTRUCTOR_6( wxPlWindow, "Wx::Window", true,
61 wxWindow*, wxWindowID, const wxPoint&,
62 const wxSize&, long, const wxString& );
64 virtual ~wxPlWindow();
66 wxSize base_DoGetBestSize() const { return wxWindow::DoGetBestSize(); }
67 void base_DoMoveWindow( int x, int y, int w, int h )
68 { wxWindow::DoMoveWindow(x, y, w, h); }
69 bool base_Enable( bool enable ) { return wxWindow::Enable( enable ); }
71 DEC_V_CBACK_WXSIZE__VOID_const( DoGetBestSize );
72 DEC_V_CBACK_BOOL__VOID_const( AcceptsFocus );
73 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
74 DEC_V_CBACK_BOOL__VOID_const( AcceptsFocusRecursively );
76 DEC_V_CBACK_BOOL__VOID_const( AcceptsFocusFromKeyboard );
77 DEC_V_CBACK_VOID__INT_INT_INT_INT( DoMoveWindow );
78 DEC_V_CBACK_BOOL__BOOL( Enable );
79 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
80 DEC_V_CBACK_WXSIZE__VOID_const( GetMinSize );
81 DEC_V_CBACK_WXSIZE__VOID_const( GetMaxSize );
85 DEF_V_CBACK_WXSIZE__VOID_const( wxPlWindow, wxWindow, DoGetBestSize );
86 DEF_V_CBACK_BOOL__VOID_const( wxPlWindow, wxWindow, AcceptsFocus );
87 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
88 DEF_V_CBACK_BOOL__VOID_const( wxPlWindow, wxWindow, AcceptsFocusRecursively );
90 DEF_V_CBACK_BOOL__VOID_const( wxPlWindow, wxWindow, AcceptsFocusFromKeyboard );
91 DEF_V_CBACK_VOID__INT_INT_INT_INT( wxPlWindow, wxWindow, DoMoveWindow );
92 DEF_V_CBACK_BOOL__BOOL( wxPlWindow, wxWindow, Enable );
93 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
94 DEF_V_CBACK_WXSIZE__VOID_const( wxPlWindow, wxWindow, GetMinSize );
95 DEF_V_CBACK_WXSIZE__VOID_const( wxPlWindow, wxWindow, GetMaxSize );
98 WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPlWindow, wxWindow );
100 wxPlWindow::~wxPlWindow()
103 if( wxPliVirtualCallback_FindCallback( aTHX_ &m_callback, "DoDestroy" ) )
105 // Call DoDestroy if it exists
106 wxPliVirtualCallback_CallCallback( aTHX_ &m_callback, 0, "" );