1 #############################################################################
2 ## Name: XS/GridBagSizer.xsp
3 ## Purpose: XS for Wx::GridBagSizer
4 ## Author: Mattia Barbon
6 ## Created: 310/11/2003
7 ## RCS-ID: $Id: GridBagSizer.xsp 2293 2007-11-25 00:33:03Z mbarbon $
8 ## Copyright: (c) 2003, 2005-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 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
17 #define wxPlDefaultSpan (wxGBSpan*)&wxDefaultSpan
19 #include <wx/gbsizer.h>
21 ## DECLARE_OVERLOAD( wgbp, Wx::GBPosition )
22 ## DECLARE_OVERLOAD( wgbs, Wx::GBSpan )
23 ## DECLARE_OVERLOAD( wgbi, Wx::GBSizerItem )
25 %typemap{wxGridBagSizer *}{simple};
26 %typemap{wxGBPosition *}{simple};
27 %typemap{wxGBSpan *}{simple};
28 %typemap{wxGBSizerItem *}{simple};
29 %typemap{const wxGBSizerItem&}{reference};
30 %typemap{wxGBPosition}{reference};
31 %typemap{const wxGBPosition&}{reference};
32 %typemap{wxGBSpan}{reference};
33 %typemap{const wxGBSpan&}{reference};
35 %name{Wx::GBPosition} class wxGBPosition
37 wxGBPosition(int row = 0, int col = 0);
44 ## bool operator==(const wxGBPosition& p) const;
45 ## bool operator!=(const wxGBPosition& p) const;
48 %name{Wx::GBSpan} class wxGBSpan
50 wxGBSpan(int rowspan = 1, int colspan = 1);
52 int GetRowspan() const;
53 int GetColspan() const;
54 void SetRowspan(int rowspan);
55 void SetColspan(int colspan);
57 ## bool operator==(const wxGBSpan& o) const;
58 ## bool operator!=(const wxGBSpan& o) const;
61 %name{Wx::GBSizerItem} class wxGBSizerItem
63 wxGBPosition GetPos() const;
66 wxGBSizerItem::GetPosXY()
70 wxPli_push_2ints( x, y );
73 wxGBSpan GetSpan() const;
76 wxGBSizerItem::GetSpanWH()
79 THIS->GetSpan( x, y );
80 wxPli_push_2ints( x, y );
83 bool SetPos( const wxGBPosition& pos );
84 bool SetSpan( const wxGBSpan& span );
86 bool Intersects(const wxGBSizerItem& other);
87 %name{IntersectsPosition}
88 bool Intersects(const wxGBPosition& pos, const wxGBSpan& span);
91 wxGBSizerItem::Intersects( ... )
94 MATCH_REDISP( wxPliOvl_wgbi, IntersectsItem )
95 MATCH_REDISP( wxPliOvl_wgbp_wgbs, IntersectsPosition )
96 END_OVERLOAD( Wx::GridBagSizer::Add )
101 wxGBSizerItem::GetEndPos()
104 THIS->GetEndPos( x, y );
105 wxPli_push_2ints( x, y );
107 wxGridBagSizer* GetGBSizer() const;
108 void SetGBSizer(wxGridBagSizer* sizer);
111 %name{Wx::GridBagSizer} class wxGridBagSizer
113 wxGridBagSizer(int vgap = 0, int hgap = 0 );
116 bool Add( wxWindow *window,
117 const wxGBPosition& pos,
118 const wxGBSpan& span = wxPlDefaultSpan,
121 wxObject* userData = NULL );
123 bool Add( wxSizer *sizer,
124 const wxGBPosition& pos,
125 const wxGBSpan& span = wxPlDefaultSpan,
128 wxObject* userData = NULL );
132 const wxGBPosition& pos,
133 const wxGBSpan& span = wxPlDefaultSpan,
136 wxObject* userData = NULL );
138 bool Add( wxGBSizerItem *item );
140 wxSize GetEmptyCellSize() const;
141 void SetEmptyCellSize(const wxSize& sz);
142 wxSize GetCellSize(int row, int col) const;
144 %name{GetItemPositionWindow}
145 wxGBPosition GetItemPosition(wxWindow *window);
146 %name{GetItemPositionSizer}
147 wxGBPosition GetItemPosition(wxSizer *sizer);
148 %name{GetItemPositionIndex}
149 wxGBPosition GetItemPosition(size_t index);
152 wxGridBagSizer::GetItemPosition( ... )
155 MATCH_REDISP( wxPliOvl_wwin, GetItemPositionWindow )
156 MATCH_REDISP( wxPliOvl_wszr, GetItemPositionSizer )
157 MATCH_REDISP( wxPliOvl_n, GetItemPositionIndex )
158 END_OVERLOAD( Wx::GridBagSizer::GetItemPosition )
161 %name{SetItemPositionWindow}
162 bool SetItemPosition(wxWindow *window, const wxGBPosition& pos);
163 %name{SetItemPositionSizer}
164 bool SetItemPosition(wxSizer *sizer, const wxGBPosition& pos);
165 %name{SetItemPositionIndex}
166 bool SetItemPosition(size_t index, const wxGBPosition& pos);
169 wxGridBagSizer::SetItemPosition( ... )
172 MATCH_REDISP( wxPliOvl_wwin_wgbp, SetItemPositionWindow )
173 MATCH_REDISP( wxPliOvl_wszr_wgbp, SetItemPositionSizer )
174 MATCH_REDISP( wxPliOvl_n_wgbp, SetItemPositionIndex )
175 END_OVERLOAD( Wx::GridBagSizer::SetItemPosition )
178 %name{GetItemSpanWindow}
179 wxGBSpan GetItemSpan(wxWindow *window);
180 %name{GetItemSpanSizer}
181 wxGBSpan GetItemSpan(wxSizer *sizer);
182 %name{GetItemSpanIndex}
183 wxGBSpan GetItemSpan(size_t index);
186 wxGridBagSizer::GetItemSpan( ... )
189 MATCH_REDISP( wxPliOvl_wwin, GetItemSpanWindow )
190 MATCH_REDISP( wxPliOvl_wszr, GetItemSpanSizer )
191 MATCH_REDISP( wxPliOvl_n, GetItemSpanIndex )
192 END_OVERLOAD( Wx::GridBagSizer::GetItemSpan )
195 %name{SetItemSpanWindow}
196 bool SetItemSpan(wxWindow *window, const wxGBSpan& span);
197 %name{SetItemSpanSizer}
198 bool SetItemSpan(wxSizer *sizer, const wxGBSpan& span);
199 %name{SetItemSpanIndex}
200 bool SetItemSpan(size_t index, const wxGBSpan& span);
203 wxGridBagSizer::SetItemSpan( ... )
206 MATCH_REDISP( wxPliOvl_wwin_wgbp, SetItemSpanWindow )
207 MATCH_REDISP( wxPliOvl_wszr_wgbp, SetItemSpanSizer )
208 MATCH_REDISP( wxPliOvl_n_wgbp, SetItemSpanIndex )
209 END_OVERLOAD( Wx::GridBagSizer::SetItemSpan )
212 %name{FindItemWindow}
213 wxGBSizerItem* FindItem(wxWindow* window);
215 wxGBSizerItem* FindItem(wxSizer* sizer);
218 wxGridBagSizer::FindItem( ... )
221 MATCH_REDISP( wxPliOvl_wwin, FindItemWindow )
222 MATCH_REDISP( wxPliOvl_wszr, FindItemSizer )
223 END_OVERLOAD( Wx::GridBagSizer::FindItem )
226 wxGBSizerItem* FindItemAtPosition(const wxGBPosition& pos);
227 wxGBSizerItem* FindItemAtPoint(const wxPoint& pt);
228 ## wxGBSizerItem* FindItemWithData(const wxObject* userData);
230 %name{CheckForIntersectionItem}
231 bool CheckForIntersection(wxGBSizerItem* item,
232 wxGBSizerItem* excludeItem = NULL);
233 %name{CheckForIntersectionPos}
234 bool CheckForIntersection(const wxGBPosition& pos, const wxGBSpan& span,
235 wxGBSizerItem* excludeItem = NULL);
238 wxGridBagSizer::CheckForIntersection( ... )
241 MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wgbi_wgbi, CheckForIntersectionItem, 1 )
242 MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wgbp_wgbs_wgbi, CheckForIntersectionPos, 2 )
243 END_OVERLOAD( Wx::GridBagSizer::CheckForIntersection )
249 MODULE=Wx PACKAGE=Wx::GridBagSizer
252 wxGridBagSizer::Add( ... )
255 MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wwin_wgbp_wgbs_n_n_s, AddWindow, 1 )
256 MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wszr_wgbp_wgbs_n_n_s, AddSizer, 1 )
257 MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_n_n_wgbp_wgbs_n_n_s, AddSpace, 2 )
258 MATCH_REDISP_COUNT( wxPliOvl_wgbi, AddItem, 1 )
259 END_OVERLOAD( Wx::GridBagSizer::Add )