Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / cpp / combopopup.h
1
2
3
4 #include <wx/combo.h>
5 #include "cpp/v_cback.h"
6
7 // wxSize METH( int, int, int )
8 #define DEC_V_CBACK_WXSIZE__INT_INT_INT( METHOD ) \
9     DEC_V_CBACK_ANY__INT_INT_INT_( wxSize, METHOD, wxPli_NOCONST )
10
11 #define DEC_V_CBACK_WXSIZE__INT_INT_INT_const( METHOD ) \
12     DEC_V_CBACK_ANY__INT_INT_INT_( wxSize, METHOD, wxPli_CONST )
13
14 #define DEF_V_CBACK_WXSIZE__INT_INT_INT( CLASS, BASE, METHOD ) \
15     DEF_V_CBACK_ANY__INT_INT_INT_( wxSize, wxPli_sv_2_wxsize( aTHX_ ret ), CLASS, return BASE::METHOD(p1,p2,p3), METHOD, wxPli_NOCONST )
16
17 #define DEF_V_CBACK_WXSIZE__INT_INT_INT_pure( CLASS, BASE, METHOD ) \
18     DEF_V_CBACK_ANY__INT_INT_INT_( wxSize, wxPli_sv_2_wxsize( aTHX_ ret ), CLASS, return wxSize(), METHOD, wxPli_NOCONST )
19
20 #define DEF_V_CBACK_WXSIZE__INT_INT_INT_const( CLASS, BASE, METHOD ) \
21     DEF_V_CBACK_ANY__INT_INT_INT_( wxSize, wxPli_sv_2_wxsize( aTHX_ ret ), CLASS, return BASE::METHOD(p1,p2,p3), METHOD, wxPli_CONST )
22
23 // void METH(wxDC&, const wxRect&)
24 #define DEC_V_CBACK_VOID__WXDC_WXRECT( METHOD ) \
25     void METHOD( wxDC& p1, const wxRect& p2 )
26
27 #define DEF_V_CBACK_VOID__WXDC_WXRECT( CLASS, BASE, METHOD )                 \
28     void CLASS::METHOD( wxDC& p1, const wxRect& p2 )                         \
29     {                                                                        \
30         dTHX;                                                                \
31         if( wxPliFCback( aTHX_ &m_callback, #METHOD ) )                      \
32         {                                                                    \
33             wxAutoSV ret( aTHX_ wxPliCCback( aTHX_ &m_callback,              \
34                                              G_SCALAR|G_DISCARD,             \
35                                              "QoL", &p1,                     \
36                                              new wxRect( p2 ), "Wx::Rect") );\
37             return;                                                          \
38         } else                                                               \
39             return;                                                          \
40     }
41 // void METH(wxKeyEvent&)
42 #define DEC_V_CBACK_VOID__WXKEYEVENT( METHOD ) \
43     DEC_V_CBACK_ANY__WXKEYEVENT_( void, METHOD, wxPli_NOCONST )
44
45 #define DEF_V_CBACK_VOID__WXKEYEVENT( CLASS, BASE, METHOD ) \
46     DEF_V_CBACK_ANY__WXKEYEVENT_( void, ;, CLASS, BASE::METHOD(p1), METHOD, wxPli_NOCONST )
47
48 class wxPlComboPopup : public wxComboPopup {
49 //    WXPLI_DECLARE_DYNAMIC_CLASS( wxPlComboPopup );
50     WXPLI_DECLARE_V_CBACK();
51 public:
52     WXPLI_DEFAULT_CONSTRUCTOR( wxPlComboPopup, "Wx::ComboPopup", true );
53
54     void base_OnPopup()
55         { wxComboPopup::OnPopup(); }
56     void base_OnDismiss()
57         { wxComboPopup::OnDismiss(); }
58     void base_SetStringValue( const wxString& value )
59         { wxComboPopup::SetStringValue( value ); }
60     void base_PaintComboControl( wxDC& dc, const wxRect& rect )
61         { wxComboPopup::PaintComboControl( dc, rect ); }
62     void base_OnComboKeyEvent( wxKeyEvent& event )
63         { wxComboPopup::OnComboKeyEvent( event ); }
64     void base_OnComboDoubleClick()
65         { wxComboPopup::OnComboDoubleClick(); }
66     wxSize base_GetAdjustedSize( int minWidth, int prefHeight, int maxHeight )
67         { return wxComboPopup::GetAdjustedSize( minWidth, prefHeight,
68                                                 maxHeight ); }
69     bool base_LazyCreate()
70         { return wxComboPopup::LazyCreate(); }
71
72     wxComboCtrlBase* GetComboCtrl() { return m_combo; }
73
74     DEC_V_CBACK_VOID__VOID( Init );
75     DEC_V_CBACK_BOOL__WXWINDOW( Create );
76     DEC_V_CBACK_WXWINDOW__VOID( GetControl );
77     DEC_V_CBACK_VOID__VOID( OnPopup );
78     DEC_V_CBACK_VOID__VOID( OnDismiss );
79     DEC_V_CBACK_VOID__WXSTRING( SetStringValue );
80     DEC_V_CBACK_WXSTRING__VOID_const( GetStringValue );
81     DEC_V_CBACK_VOID__WXDC_WXRECT( PaintComboControl );
82     DEC_V_CBACK_VOID__WXKEYEVENT( OnComboKeyEvent );
83     DEC_V_CBACK_VOID__VOID( OnComboDoubleClick );
84     DEC_V_CBACK_WXSIZE__INT_INT_INT( GetAdjustedSize );
85     DEC_V_CBACK_BOOL__VOID( LazyCreate );
86 };
87
88 DEF_V_CBACK_VOID__VOID( wxPlComboPopup, wxComboPopup, Init );
89 DEF_V_CBACK_BOOL__WXWINDOW_pure( wxPlComboPopup, wxComboPopup, Create );
90 DEF_V_CBACK_WXWINDOW__VOID_pure( wxPlComboPopup, wxComboPopup, GetControl );
91 DEF_V_CBACK_VOID__VOID( wxPlComboPopup, wxComboPopup, OnPopup );
92 DEF_V_CBACK_VOID__VOID( wxPlComboPopup, wxComboPopup, OnDismiss );
93 DEF_V_CBACK_VOID__WXSTRING( wxPlComboPopup, wxComboPopup, SetStringValue );
94 DEF_V_CBACK_WXSTRING__VOID_const_pure( wxPlComboPopup, wxComboPopup, GetStringValue );
95 DEF_V_CBACK_VOID__WXDC_WXRECT( wxPlComboPopup, wxComboPopup, PaintComboControl );
96 DEF_V_CBACK_VOID__WXKEYEVENT( wxPlComboPopup, wxComboPopup, OnComboKeyEvent );
97 DEF_V_CBACK_VOID__VOID( wxPlComboPopup, wxComboPopup, OnComboDoubleClick );
98 DEF_V_CBACK_WXSIZE__INT_INT_INT( wxPlComboPopup, wxComboPopup, GetAdjustedSize );
99 DEF_V_CBACK_BOOL__VOID( wxPlComboPopup, wxComboPopup, LazyCreate );
100
101
102