1 #############################################################################
2 ## Name: XS/VScrolledWindow.xsp
3 ## Purpose: XS++ for Wx::[HV]ScrolledWindow
4 ## Author: Mattia Barbon
7 ## RCS-ID: $Id: VScrolledWindow.xsp 2197 2007-08-21 23:10:35Z mbarbon $
8 ## Copyright: (c) 2006-2007 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 #############################################################################
15 %typemap{wxVScrolledWindow*}{simple};
16 %typemap{wxHScrolledWindow*}{simple};
17 %typemap{wxHVScrolledWindow*}{simple};
18 %typemap{wxPlVScrolledWindow*}{simple};
19 %typemap{wxPlHScrolledWindow*}{simple};
20 %typemap{wxPlHVScrolledWindow*}{simple};
22 #if WXPERL_W_VERSION_GE( 2, 5, 0 )
24 #include <wx/vscroll.h>
26 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
28 %name{Wx::HScrolledWindow} class wxHScrolledWindow
30 bool Create( wxWindow *parent, wxWindowID id = wxID_ANY,
31 const wxPoint& pos = wxDefaultPosition,
32 const wxSize& size = wxDefaultSize,
34 const wxString& name = wxPanelNameStr );
36 ## wxVarScrollHelperBase
37 INCLUDE: perl -pe "s/VarScrollHelperBase/HScrolledWindow/g" XS/VarScrollHelperBase.xs |
40 INCLUDE: perl -pe "s/VarHScrollHelper/HScrolledWindow/g" XS/VarHScrollHelper.xs |
46 %name{Wx::VScrolledWindow} class wxVScrolledWindow
48 bool Create( wxWindow *parent, wxWindowID id = wxID_ANY,
49 const wxPoint& pos = wxDefaultPosition,
50 const wxSize& size = wxDefaultSize,
52 const wxString& name = wxPanelNameStr );
54 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
55 ## compatibility with < 2.9
56 %name{SetLineCount} void SetRowCount( size_t count );
57 %name{ScrollToLine} bool ScrollToRow( size_t line );
58 %name{RefreshLine} void RefreshRow( size_t line );
59 %name{RefreshLines} void RefreshRows( size_t from, size_t to );
60 %name{GetLineCount} size_t GetRowCount() const;
61 %name{GetFirstVisibleLine} size_t GetVisibleRowsBegin() const;
62 %name{GetLastVisibleLine} size_t GetVisibleRowsEnd() const;
63 %name{ScrollLines} bool ScrollRows( int lines );
64 %name{ScrollPages} bool ScrollRowPages( int pages );
66 ## wxVarScrollHelperBase
67 INCLUDE: perl -pe "s/VarScrollHelperBase/VScrolledWindow/g" XS/VarScrollHelperBase.xs |
70 INCLUDE: perl -pe "s/VarVScrollHelper/VScrolledWindow/g" XS/VarVScrollHelper.xs |
74 void SetLineCount( size_t count );
75 bool ScrollToLine( size_t line );
76 void RefreshLine( size_t line );
77 void RefreshLines( size_t from, size_t to );
78 size_t GetLineCount() const;
79 size_t GetFirstVisibleLine() const;
80 size_t GetLastVisibleLine() const;
81 bool ScrollLines( int lines );
82 bool ScrollPages( int pages );
84 ## forward compatibilty with 2.9
85 %name{SetRowCount} void SetLineCount( size_t count );
86 %name{ScrollToRow} bool ScrollToLine( size_t line );
87 %name{RefreshRow} void RefreshLine( size_t line );
88 %name{RefreshRows} void RefreshLines( size_t from, size_t to );
89 %name{GetRowCount} size_t GetLineCount() const;
90 %name{GetVisibleRowsBegin} size_t GetFirstVisibleLine() const;
91 %name{GetVisibleRowsEnd} size_t GetLastVisibleLine() const;
92 %name{ScrollRows} bool ScrollLines( int lines );
93 %name{ScrollRowPages} bool ScrollPages( int pages );
95 ## already in wxVarScrollHelperBase
97 #if WXPERL_W_VERSION_GE( 2, 6, 0 )
98 size_t GetVisibleBegin() const;
99 size_t GetVisibleEnd() const;
101 bool IsVisible( size_t line ) const;
102 %name{IsRowVisible} bool IsVisible( size_t line ) const;
105 int HitTest( const wxPoint& pt ) const;
109 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
111 %name{Wx::HVScrolledWindow} class wxHVScrolledWindow
113 bool Create( wxWindow *parent, wxWindowID id = wxID_ANY,
114 const wxPoint& pos = wxDefaultPosition,
115 const wxSize& size = wxDefaultSize,
117 const wxString& name = wxPanelNameStr );
119 ## poor man's MI support; should use dynamic_cast<> in typemap
121 ## wxVarHScrollHelper
122 INCLUDE: perl -pe "s/VarHScrollHelper/HVScrolledWindow/g" XS/VarHScrollHelper.xs |
124 ## wxVarVScrollHelper
125 INCLUDE: perl -pe "s/VarVScrollHelper/HVScrolledWindow/g" XS/VarVScrollHelper.xs |
127 ## wxVarHVScrollHelper
128 INCLUDE: perl -pe "s/VarHVScrollHelper/HVScrolledWindow/g" XS/VarHVScrollHelper.xs |
137 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
139 class wxPlHScrolledWindow : public wxHScrolledWindow {
140 WXPLI_DECLARE_DYNAMIC_CLASS( wxPlHScrolledWindow );
141 WXPLI_DECLARE_V_CBACK();
143 WXPLI_DEFAULT_CONSTRUCTOR( wxPlHScrolledWindow, "Wx::HScrolledWindow",
145 WXPLI_CONSTRUCTOR_6( wxPlHScrolledWindow, "Wx::HScrolledWindow", true,
146 wxWindow*, wxWindowID, const wxPoint&,
147 const wxSize&, long, const wxString& );
149 // wxVarHScrollHelper
150 DEC_V_CBACK_WXCOORD__SIZET_const( OnGetColumnWidth );
151 DEC_V_CBACK_VOID__SIZET_SIZET_const( OnGetColumnsWidthHint );
152 DEC_V_CBACK_WXCOORD__VOID_const( EstimateTotalWidth );
155 // wxVarHScrollHelper
156 DEF_V_CBACK_WXCOORD__SIZET_const_pure( wxPlHScrolledWindow, wxHScrolledWindow,
158 DEF_V_CBACK_VOID__SIZET_SIZET_const( wxPlHScrolledWindow, wxHScrolledWindow,
159 OnGetColumnsWidthHint );
160 DEF_V_CBACK_WXCOORD__VOID_const( wxPlHScrolledWindow, wxHScrolledWindow,
161 EstimateTotalWidth );
163 WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPlHScrolledWindow, wxHScrolledWindow );
167 class wxPlVScrolledWindow : public wxVScrolledWindow {
168 WXPLI_DECLARE_DYNAMIC_CLASS( wxPlVScrolledWindow );
169 WXPLI_DECLARE_V_CBACK();
171 WXPLI_DEFAULT_CONSTRUCTOR( wxPlVScrolledWindow, "Wx::VScrolledWindow",
173 WXPLI_CONSTRUCTOR_6( wxPlVScrolledWindow, "Wx::VScrolledWindow", true,
174 wxWindow*, wxWindowID, const wxPoint&,
175 const wxSize&, long, const wxString& );
178 #if WXPERL_W_VERSION_LT( 2, 9, 0 ) || WXWIN_COMPATIBILITY_2_8
179 DEC_V_CBACK_WXCOORD__SIZET_const( OnGetLineHeight );
180 DEC_V_CBACK_VOID__SIZET_SIZET_const( OnGetLinesHint );
183 // wxVarVScrollHelper
184 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
185 DEC_V_CBACK_WXCOORD__SIZET_const( OnGetRowHeight );
186 DEC_V_CBACK_VOID__SIZET_SIZET_const( OnGetRowsHeightHint );
188 DEC_V_CBACK_WXCOORD__VOID_const( EstimateTotalHeight );
192 #if WXPERL_W_VERSION_LT( 2, 9, 0 ) || WXWIN_COMPATIBILITY_2_8
193 DEF_V_CBACK_WXCOORD__SIZET_const_pure( wxPlVScrolledWindow, wxVScrolledWindow,
195 DEF_V_CBACK_VOID__SIZET_SIZET_const( wxPlVScrolledWindow, wxVScrolledWindow,
199 // wxVarVScrollHelper
200 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
201 DEF_V_CBACK_WXCOORD__SIZET_const_pure( wxPlVScrolledWindow, wxVScrolledWindow,
203 DEF_V_CBACK_VOID__SIZET_SIZET_const( wxPlVScrolledWindow, wxVScrolledWindow,
204 OnGetRowsHeightHint );
206 DEF_V_CBACK_WXCOORD__VOID_const( wxPlVScrolledWindow, wxVScrolledWindow,
207 EstimateTotalHeight );
209 WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPlVScrolledWindow, wxVScrolledWindow );
211 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
213 class wxPlHVScrolledWindow : public wxHVScrolledWindow {
214 WXPLI_DECLARE_DYNAMIC_CLASS( wxPlHVScrolledWindow );
215 WXPLI_DECLARE_V_CBACK();
217 WXPLI_DEFAULT_CONSTRUCTOR( wxPlHVScrolledWindow, "Wx::HVScrolledWindow",
219 WXPLI_CONSTRUCTOR_6( wxPlHVScrolledWindow, "Wx::HVScrolledWindow", true,
220 wxWindow*, wxWindowID, const wxPoint&,
221 const wxSize&, long, const wxString& );
223 // wxVarHScrollHelper
224 DEC_V_CBACK_WXCOORD__SIZET_const( OnGetColumnWidth );
225 DEC_V_CBACK_VOID__SIZET_SIZET_const( OnGetColumnsWidthHint );
226 DEC_V_CBACK_WXCOORD__VOID_const( EstimateTotalWidth );
228 // wxVarVScrollHelper
229 DEC_V_CBACK_WXCOORD__SIZET_const( OnGetRowHeight );
230 DEC_V_CBACK_VOID__SIZET_SIZET_const( OnGetRowsHeightHint );
231 DEC_V_CBACK_WXCOORD__VOID_const( EstimateTotalHeight );
234 // wxVarHScrollHelper
235 DEF_V_CBACK_WXCOORD__SIZET_const_pure( wxPlHVScrolledWindow, wxHVScrolledWindow,
237 DEF_V_CBACK_VOID__SIZET_SIZET_const( wxPlHVScrolledWindow, wxHVScrolledWindow,
238 OnGetColumnsWidthHint );
239 DEF_V_CBACK_WXCOORD__VOID_const( wxPlHVScrolledWindow, wxHVScrolledWindow,
240 EstimateTotalWidth );
242 // wxVarVScrollHelper
243 DEF_V_CBACK_WXCOORD__SIZET_const_pure( wxPlHVScrolledWindow, wxHVScrolledWindow,
245 DEF_V_CBACK_VOID__SIZET_SIZET_const( wxPlHVScrolledWindow, wxHVScrolledWindow,
246 OnGetRowsHeightHint );
247 DEF_V_CBACK_WXCOORD__VOID_const( wxPlHVScrolledWindow, wxHVScrolledWindow,
248 EstimateTotalHeight );
250 WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPlHVScrolledWindow, wxHVScrolledWindow );
257 #include "cpp/overload.h"
258 #include "cpp/vscrl.h"
260 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
262 %name{Wx::PlHScrolledWindow} class wxPlHScrolledWindow
269 MATCH_VOIDM_REDISP( newDefault )
270 MATCH_ANY_REDISP( newFull )
271 END_OVERLOAD( "Wx::PlHScrolledWindow::new" )
274 %name{newDefault} wxPlHScrolledWindow()
275 %code{% RETVAL = new wxPlHScrolledWindow( CLASS ); %};
276 %name{newFull} wxPlHScrolledWindow( wxWindow *parent,
277 wxWindowID id = wxID_ANY,
278 const wxPoint& pos = wxDefaultPosition,
279 const wxSize& size = wxDefaultSize,
281 const wxString& name = wxPanelNameStr )
282 %code{% RETVAL = new wxPlHScrolledWindow( CLASS, parent, id, pos, size,
289 %name{Wx::PlVScrolledWindow} class wxPlVScrolledWindow
296 MATCH_VOIDM_REDISP( newDefault )
297 MATCH_ANY_REDISP( newFull )
298 END_OVERLOAD( "Wx::PlVScrolledWindow::new" )
301 %name{newDefault} wxPlVScrolledWindow()
302 %code{% RETVAL = new wxPlVScrolledWindow( CLASS ); %};
303 %name{newFull} wxPlVScrolledWindow( wxWindow *parent,
304 wxWindowID id = wxID_ANY,
305 const wxPoint& pos = wxDefaultPosition,
306 const wxSize& size = wxDefaultSize,
308 const wxString& name = wxPanelNameStr )
309 %code{% RETVAL = new wxPlVScrolledWindow( CLASS, parent, id, pos, size,
314 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
316 %name{Wx::PlHVScrolledWindow} class wxPlHVScrolledWindow
323 MATCH_VOIDM_REDISP( newDefault )
324 MATCH_ANY_REDISP( newFull )
325 END_OVERLOAD( "Wx::PlHVScrolledWindow::new" )
328 %name{newDefault} wxPlHVScrolledWindow()
329 %code{% RETVAL = new wxPlHVScrolledWindow( CLASS ); %};
330 %name{newFull} wxPlHVScrolledWindow( wxWindow *parent,
331 wxWindowID id = wxID_ANY,
332 const wxPoint& pos = wxDefaultPosition,
333 const wxSize& size = wxDefaultSize,
335 const wxString& name = wxPanelNameStr )
336 %code{% RETVAL = new wxPlHVScrolledWindow( CLASS, parent, id, pos,