]> git.saurik.com Git - wxWidgets.git/blame_incremental - wxPython/src/_pywindows.i
AUI updates.
[wxWidgets.git] / wxPython / src / _pywindows.i
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: _pywindows.i
3// Purpose: SWIG interface for wxPyWindow, and etc. These classes support
4// overriding many of wxWindow's virtual methods in Python derived
5// classes.
6//
7// Author: Robin Dunn
8//
9// Created: 2-June-1998
10// RCS-ID: $Id$
11// Copyright: (c) 2003 by Total Control Software
12// Licence: wxWindows license
13/////////////////////////////////////////////////////////////////////////////
14
15// Not a %module
16
17
18//---------------------------------------------------------------------------
19%newgroup
20
21// TODO: Redo these with SWIG directors?
22
23// TODO: Which (if any?) of these should be done also???
24// Destroy
25// DoCaptureMouse
26// DoClientToScreen
27// DoHitTest
28// DoMoveWindow
29// DoPopupMenu
30// DoReleaseMouse
31// DoScreenToClient
32// DoSetToolTip
33// Enable
34// Fit
35// GetCharHeight
36// GetCharWidth
37// GetClientAreaOrigin
38// GetDefaultItem
39// IsTopLevel
40// SetBackgroundColour
41// SetDefaultItem
42// SetFocus
43// SetFocusFromKbd
44// SetForegroundColour
45// SetSizeHints
46// SetVirtualSizeHints
47// Show
48
49
50//---------------------------------------------------------------------------
51
52%{ // C++ version of Python aware wxWindow
53class wxPyWindow : public wxWindow
54{
55 DECLARE_DYNAMIC_CLASS(wxPyWindow)
56public:
57 wxPyWindow() : wxWindow() {}
58 wxPyWindow(wxWindow* parent, const wxWindowID id,
59 const wxPoint& pos = wxDefaultPosition,
60 const wxSize& size = wxDefaultSize,
61 long style = 0,
62 const wxString& name = wxPyPanelNameStr)
63 : wxWindow(parent, id, pos, size, style, name) {}
64
65
66 bool DoEraseBackground(wxDC* dc) {
67#ifdef __WXMSW__
68 return wxWindow::DoEraseBackground(dc->GetHDC());
69#else
70 dc->SetBackground(wxBrush(GetBackgroundColour()));
71 dc->Clear();
72 return true;
73#endif
74 }
75
76 DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
77 DEC_PYCALLBACK_VOID_INT5(DoSetSize);
78 DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize);
79 DEC_PYCALLBACK_VOID_INTINT(DoSetVirtualSize);
80
81 DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetSize);
82 DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetClientSize);
83 DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetPosition);
84
85 DEC_PYCALLBACK_SIZE_const(DoGetVirtualSize);
86 DEC_PYCALLBACK_SIZE_const(DoGetBestSize);
87
88 DEC_PYCALLBACK__(InitDialog);
89 DEC_PYCALLBACK_BOOL_(TransferDataFromWindow);
90 DEC_PYCALLBACK_BOOL_(TransferDataToWindow);
91 DEC_PYCALLBACK_BOOL_(Validate);
92
93 DEC_PYCALLBACK_BOOL_const(AcceptsFocus);
94 DEC_PYCALLBACK_BOOL_const(AcceptsFocusFromKeyboard);
95 DEC_PYCALLBACK_SIZE_const(GetMaxSize);
96
97 DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
98 DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
99
100 DEC_PYCALLBACK_BOOL_const(ShouldInheritColours);
101 DEC_PYCALLBACK_VIZATTR_(GetDefaultAttributes);
102
103 DEC_PYCALLBACK_BOOL_(HasTransparentBackground);
104
105 DEC_PYCALLBACK_VOID_(OnInternalIdle);
106
107 PYPRIVATE;
108};
109
110IMPLEMENT_DYNAMIC_CLASS(wxPyWindow, wxWindow);
111
112IMP_PYCALLBACK_VOID_INT4(wxPyWindow, wxWindow, DoMoveWindow);
113IMP_PYCALLBACK_VOID_INT5(wxPyWindow, wxWindow, DoSetSize);
114IMP_PYCALLBACK_VOID_INTINT(wxPyWindow, wxWindow, DoSetClientSize);
115IMP_PYCALLBACK_VOID_INTINT(wxPyWindow, wxWindow, DoSetVirtualSize);
116
117IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWindow, wxWindow, DoGetSize);
118IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWindow, wxWindow, DoGetClientSize);
119IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWindow, wxWindow, DoGetPosition);
120
121IMP_PYCALLBACK_SIZE_const(wxPyWindow, wxWindow, DoGetVirtualSize);
122IMP_PYCALLBACK_SIZE_const(wxPyWindow, wxWindow, DoGetBestSize);
123
124IMP_PYCALLBACK__(wxPyWindow, wxWindow, InitDialog);
125IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, TransferDataFromWindow);
126IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, TransferDataToWindow);
127IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, Validate);
128
129IMP_PYCALLBACK_BOOL_const(wxPyWindow, wxWindow, AcceptsFocus);
130IMP_PYCALLBACK_BOOL_const(wxPyWindow, wxWindow, AcceptsFocusFromKeyboard);
131IMP_PYCALLBACK_SIZE_const(wxPyWindow, wxWindow, GetMaxSize);
132
133IMP_PYCALLBACK_VOID_WXWINBASE(wxPyWindow, wxWindow, AddChild);
134IMP_PYCALLBACK_VOID_WXWINBASE(wxPyWindow, wxWindow, RemoveChild);
135
136IMP_PYCALLBACK_BOOL_const(wxPyWindow, wxWindow, ShouldInheritColours);
137IMP_PYCALLBACK_VIZATTR_(wxPyWindow, wxWindow, GetDefaultAttributes);
138
139IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, HasTransparentBackground);
140
141IMP_PYCALLBACK_VOID_(wxPyWindow, wxWindow, OnInternalIdle);
142%}
143
144// And now the one for SWIG to see
145MustHaveApp(wxPyWindow);
146class wxPyWindow : public wxWindow
147{
148public:
149 %pythonAppend wxPyWindow "self._setOORInfo(self); self._setCallbackInfo(self, PyWindow)"
150 %pythonAppend wxPyWindow() ""
151
152 wxPyWindow(wxWindow* parent, const wxWindowID id=-1,
153 const wxPoint& pos = wxDefaultPosition,
154 const wxSize& size = wxDefaultSize,
155 long style = 0,
156 const wxString& name = wxPyPanelNameStr);
157
158 %RenameCtor(PrePyWindow, wxPyWindow());
159
160 void _setCallbackInfo(PyObject* self, PyObject* _class);
161
162 bool DoEraseBackground(wxDC* dc);
163
164 void DoMoveWindow(int x, int y, int width, int height);
165 void DoSetSize(int x, int y, int width, int height,
166 int sizeFlags = wxSIZE_AUTO);
167 void DoSetClientSize(int width, int height);
168 void DoSetVirtualSize( int x, int y );
169
170 DocDeclA(
171 void, DoGetSize( int *OUTPUT, int *OUTPUT ) const,
172 "DoGetSize() -> (width, height)");
173 DocDeclA(
174 void, DoGetClientSize( int *OUTPUT, int *OUTPUT ) const,
175 "DoGetClientSize() -> (width, height)");
176 DocDeclA(
177 void, DoGetPosition( int *OUTPUT, int *OUTPUT ) const,
178 "DoGetPosition() -> (x,y)");
179
180 wxSize DoGetVirtualSize() const;
181 wxSize DoGetBestSize() const;
182
183 void InitDialog();
184 bool TransferDataToWindow();
185 bool TransferDataFromWindow();
186 bool Validate();
187
188 bool AcceptsFocus() const;
189 bool AcceptsFocusFromKeyboard() const;
190 wxSize GetMaxSize() const;
191
192 void AddChild(wxWindow* child);
193 void RemoveChild(wxWindow* child);
194
195 bool ShouldInheritColours() const;
196 wxVisualAttributes GetDefaultAttributes();
197
198 void OnInternalIdle();
199
200 %MAKE_BASE_FUNC(PyWindow, DoMoveWindow);
201 %MAKE_BASE_FUNC(PyWindow, DoSetSize);
202 %MAKE_BASE_FUNC(PyWindow, DoSetClientSize);
203 %MAKE_BASE_FUNC(PyWindow, DoSetVirtualSize);
204 %MAKE_BASE_FUNC(PyWindow, DoGetSize);
205 %MAKE_BASE_FUNC(PyWindow, DoGetClientSize);
206 %MAKE_BASE_FUNC(PyWindow, DoGetPosition);
207 %MAKE_BASE_FUNC(PyWindow, DoGetVirtualSize);
208 %MAKE_BASE_FUNC(PyWindow, DoGetBestSize);
209 %MAKE_BASE_FUNC(PyWindow, InitDialog);
210 %MAKE_BASE_FUNC(PyWindow, TransferDataToWindow);
211 %MAKE_BASE_FUNC(PyWindow, TransferDataFromWindow);
212 %MAKE_BASE_FUNC(PyWindow, Validate);
213 %MAKE_BASE_FUNC(PyWindow, AcceptsFocus);
214 %MAKE_BASE_FUNC(PyWindow, AcceptsFocusFromKeyboard);
215 %MAKE_BASE_FUNC(PyWindow, GetMaxSize);
216 %MAKE_BASE_FUNC(PyWindow, AddChild);
217 %MAKE_BASE_FUNC(PyWindow, RemoveChild);
218 %MAKE_BASE_FUNC(PyWindow, ShouldInheritColours);
219 %MAKE_BASE_FUNC(PyWindow, GetDefaultAttributes);
220 %MAKE_BASE_FUNC(PyWindow, OnInternalIdle);
221
222};
223
224//---------------------------------------------------------------------------
225// Do the same thing for wxControl
226
227// ** See _pycontrol.i, it was moved there because of dependency on wxControl
228
229
230//---------------------------------------------------------------------------
231// and for wxPanel
232
233%{ // C++ version of Python aware wxPanel
234class wxPyPanel : public wxPanel
235{
236 DECLARE_DYNAMIC_CLASS(wxPyPanel)
237public:
238 wxPyPanel() : wxPanel() {}
239 wxPyPanel(wxWindow* parent, const wxWindowID id,
240 const wxPoint& pos = wxDefaultPosition,
241 const wxSize& size = wxDefaultSize,
242 long style = 0,
243 const wxString& name = wxPyPanelNameStr)
244 : wxPanel(parent, id, pos, size, style, name) {}
245
246 bool DoEraseBackground(wxDC* dc) {
247#ifdef __WXMSW__
248 return wxWindow::DoEraseBackground(dc->GetHDC());
249#else
250 dc->SetBackground(wxBrush(GetBackgroundColour()));
251 dc->Clear();
252 return true;
253#endif
254 }
255
256
257 DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
258 DEC_PYCALLBACK_VOID_INT5(DoSetSize);
259 DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize);
260 DEC_PYCALLBACK_VOID_INTINT(DoSetVirtualSize);
261
262 DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetSize);
263 DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetClientSize);
264 DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetPosition);
265
266 DEC_PYCALLBACK_SIZE_const(DoGetVirtualSize);
267 DEC_PYCALLBACK_SIZE_const(DoGetBestSize);
268
269 DEC_PYCALLBACK__(InitDialog);
270 DEC_PYCALLBACK_BOOL_(TransferDataFromWindow);
271 DEC_PYCALLBACK_BOOL_(TransferDataToWindow);
272 DEC_PYCALLBACK_BOOL_(Validate);
273
274 DEC_PYCALLBACK_BOOL_const(AcceptsFocus);
275 DEC_PYCALLBACK_BOOL_const(AcceptsFocusFromKeyboard);
276 DEC_PYCALLBACK_SIZE_const(GetMaxSize);
277
278 DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
279 DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
280
281 DEC_PYCALLBACK_BOOL_const(ShouldInheritColours);
282 DEC_PYCALLBACK_VIZATTR_(GetDefaultAttributes);
283
284 DEC_PYCALLBACK_BOOL_(HasTransparentBackground);
285
286 DEC_PYCALLBACK_VOID_(OnInternalIdle);
287
288 PYPRIVATE;
289};
290
291IMPLEMENT_DYNAMIC_CLASS(wxPyPanel, wxPanel);
292
293IMP_PYCALLBACK_VOID_INT4(wxPyPanel, wxPanel, DoMoveWindow);
294IMP_PYCALLBACK_VOID_INT5(wxPyPanel, wxPanel, DoSetSize);
295IMP_PYCALLBACK_VOID_INTINT(wxPyPanel, wxPanel, DoSetClientSize);
296IMP_PYCALLBACK_VOID_INTINT(wxPyPanel, wxPanel, DoSetVirtualSize);
297
298IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyPanel, wxPanel, DoGetSize);
299IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyPanel, wxPanel, DoGetClientSize);
300IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyPanel, wxPanel, DoGetPosition);
301
302IMP_PYCALLBACK_SIZE_const(wxPyPanel, wxPanel, DoGetVirtualSize);
303IMP_PYCALLBACK_SIZE_const(wxPyPanel, wxPanel, DoGetBestSize);
304
305IMP_PYCALLBACK__(wxPyPanel, wxPanel, InitDialog);
306IMP_PYCALLBACK_BOOL_(wxPyPanel, wxPanel, TransferDataFromWindow);
307IMP_PYCALLBACK_BOOL_(wxPyPanel, wxPanel, TransferDataToWindow);
308IMP_PYCALLBACK_BOOL_(wxPyPanel, wxPanel, Validate);
309
310IMP_PYCALLBACK_BOOL_const(wxPyPanel, wxPanel, AcceptsFocus);
311IMP_PYCALLBACK_BOOL_const(wxPyPanel, wxPanel, AcceptsFocusFromKeyboard);
312IMP_PYCALLBACK_SIZE_const(wxPyPanel, wxPanel, GetMaxSize);
313
314IMP_PYCALLBACK_VOID_WXWINBASE(wxPyPanel, wxPanel, AddChild);
315IMP_PYCALLBACK_VOID_WXWINBASE(wxPyPanel, wxPanel, RemoveChild);
316
317IMP_PYCALLBACK_BOOL_const(wxPyPanel, wxPanel, ShouldInheritColours);
318IMP_PYCALLBACK_VIZATTR_(wxPyPanel, wxPanel, GetDefaultAttributes);
319
320IMP_PYCALLBACK_BOOL_(wxPyPanel, wxPanel, HasTransparentBackground);
321
322IMP_PYCALLBACK_VOID_(wxPyPanel, wxPanel, OnInternalIdle);
323%}
324
325// And now the one for SWIG to see
326MustHaveApp(wxPyPanel);
327class wxPyPanel : public wxPanel
328{
329public:
330 %pythonAppend wxPyPanel "self._setOORInfo(self); self._setCallbackInfo(self, PyPanel)"
331 %pythonAppend wxPyPanel() ""
332
333 wxPyPanel(wxWindow* parent, const wxWindowID id=-1,
334 const wxPoint& pos = wxDefaultPosition,
335 const wxSize& size = wxDefaultSize,
336 long style = 0,
337 const wxString& name = wxPyPanelNameStr);
338
339 %RenameCtor(PrePyPanel, wxPyPanel());
340
341 void _setCallbackInfo(PyObject* self, PyObject* _class);
342
343 bool DoEraseBackground(wxDC* dc);
344
345 void DoMoveWindow(int x, int y, int width, int height);
346 void DoSetSize(int x, int y, int width, int height,
347 int sizeFlags = wxSIZE_AUTO);
348 void DoSetClientSize(int width, int height);
349 void DoSetVirtualSize( int x, int y );
350
351 DocDeclA(
352 void, DoGetSize( int *OUTPUT, int *OUTPUT ) const,
353 "DoGetSize() -> (width, height)");
354 DocDeclA(
355 void, DoGetClientSize( int *OUTPUT, int *OUTPUT ) const,
356 "DoGetClientSize() -> (width, height)");
357 DocDeclA(
358 void, DoGetPosition( int *OUTPUT, int *OUTPUT ) const,
359 "DoGetPosition() -> (x,y)");
360
361 wxSize DoGetVirtualSize() const;
362 wxSize DoGetBestSize() const;
363
364 void InitDialog();
365 bool TransferDataToWindow();
366 bool TransferDataFromWindow();
367 bool Validate();
368
369 bool AcceptsFocus() const;
370 bool AcceptsFocusFromKeyboard() const;
371 wxSize GetMaxSize() const;
372
373 void AddChild(wxWindow* child);
374 void RemoveChild(wxWindow* child);
375
376 bool ShouldInheritColours() const ;
377 wxVisualAttributes GetDefaultAttributes();
378
379 void OnInternalIdle();
380
381 %MAKE_BASE_FUNC(PyPanel, DoMoveWindow);
382 %MAKE_BASE_FUNC(PyPanel, DoSetSize);
383 %MAKE_BASE_FUNC(PyPanel, DoSetClientSize);
384 %MAKE_BASE_FUNC(PyPanel, DoSetVirtualSize);
385 %MAKE_BASE_FUNC(PyPanel, DoGetSize);
386 %MAKE_BASE_FUNC(PyPanel, DoGetClientSize);
387 %MAKE_BASE_FUNC(PyPanel, DoGetPosition);
388 %MAKE_BASE_FUNC(PyPanel, DoGetVirtualSize);
389 %MAKE_BASE_FUNC(PyPanel, DoGetBestSize);
390 %MAKE_BASE_FUNC(PyPanel, InitDialog);
391 %MAKE_BASE_FUNC(PyPanel, TransferDataToWindow);
392 %MAKE_BASE_FUNC(PyPanel, TransferDataFromWindow);
393 %MAKE_BASE_FUNC(PyPanel, Validate);
394 %MAKE_BASE_FUNC(PyPanel, AcceptsFocus);
395 %MAKE_BASE_FUNC(PyPanel, AcceptsFocusFromKeyboard);
396 %MAKE_BASE_FUNC(PyPanel, GetMaxSize);
397 %MAKE_BASE_FUNC(PyPanel, AddChild);
398 %MAKE_BASE_FUNC(PyPanel, RemoveChild);
399 %MAKE_BASE_FUNC(PyPanel, ShouldInheritColours);
400 %MAKE_BASE_FUNC(PyPanel, GetDefaultAttributes);
401 %MAKE_BASE_FUNC(PyPanel, OnInternalIdle);
402};
403
404//---------------------------------------------------------------------------
405// and for wxScrolledWindow
406
407%{ // C++ version of Python aware wxScrolledWindow
408class wxPyScrolledWindow : public wxScrolledWindow
409{
410 DECLARE_DYNAMIC_CLASS(wxPyScrolledWindow)
411public:
412 wxPyScrolledWindow() : wxScrolledWindow() {}
413 wxPyScrolledWindow(wxWindow* parent, const wxWindowID id,
414 const wxPoint& pos = wxDefaultPosition,
415 const wxSize& size = wxDefaultSize,
416 long style = 0,
417 const wxString& name = wxPyPanelNameStr)
418 : wxScrolledWindow(parent, id, pos, size, style, name) {}
419
420 bool DoEraseBackground(wxDC* dc) {
421#ifdef __WXMSW__
422 return wxWindow::DoEraseBackground(dc->GetHDC());
423#else
424 dc->SetBackground(wxBrush(GetBackgroundColour()));
425 dc->Clear();
426 return true;
427#endif
428 }
429
430 DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
431 DEC_PYCALLBACK_VOID_INT5(DoSetSize);
432 DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize);
433 DEC_PYCALLBACK_VOID_INTINT(DoSetVirtualSize);
434
435 DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetSize);
436 DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetClientSize);
437 DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetPosition);
438
439 DEC_PYCALLBACK_SIZE_const(DoGetVirtualSize);
440 DEC_PYCALLBACK_SIZE_const(DoGetBestSize);
441
442 DEC_PYCALLBACK__(InitDialog);
443 DEC_PYCALLBACK_BOOL_(TransferDataFromWindow);
444 DEC_PYCALLBACK_BOOL_(TransferDataToWindow);
445 DEC_PYCALLBACK_BOOL_(Validate);
446
447 DEC_PYCALLBACK_BOOL_const(AcceptsFocus);
448 DEC_PYCALLBACK_BOOL_const(AcceptsFocusFromKeyboard);
449 DEC_PYCALLBACK_SIZE_const(GetMaxSize);
450
451 DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
452 DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
453
454 DEC_PYCALLBACK_BOOL_const(ShouldInheritColours);
455 DEC_PYCALLBACK_VIZATTR_(GetDefaultAttributes);
456
457 DEC_PYCALLBACK_BOOL_(HasTransparentBackground);
458
459 DEC_PYCALLBACK_VOID_(OnInternalIdle);
460
461 PYPRIVATE;
462};
463
464IMPLEMENT_DYNAMIC_CLASS(wxPyScrolledWindow, wxScrolledWindow);
465
466IMP_PYCALLBACK_VOID_INT4(wxPyScrolledWindow, wxScrolledWindow, DoMoveWindow);
467IMP_PYCALLBACK_VOID_INT5(wxPyScrolledWindow, wxScrolledWindow, DoSetSize);
468IMP_PYCALLBACK_VOID_INTINT(wxPyScrolledWindow, wxScrolledWindow, DoSetClientSize);
469IMP_PYCALLBACK_VOID_INTINT(wxPyScrolledWindow, wxScrolledWindow, DoSetVirtualSize);
470
471IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyScrolledWindow, wxScrolledWindow, DoGetSize);
472IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyScrolledWindow, wxScrolledWindow, DoGetClientSize);
473IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyScrolledWindow, wxScrolledWindow, DoGetPosition);
474
475IMP_PYCALLBACK_SIZE_const(wxPyScrolledWindow, wxScrolledWindow, DoGetVirtualSize);
476IMP_PYCALLBACK_SIZE_const(wxPyScrolledWindow, wxScrolledWindow, DoGetBestSize);
477
478IMP_PYCALLBACK__(wxPyScrolledWindow, wxScrolledWindow, InitDialog);
479IMP_PYCALLBACK_BOOL_(wxPyScrolledWindow, wxScrolledWindow, TransferDataFromWindow);
480IMP_PYCALLBACK_BOOL_(wxPyScrolledWindow, wxScrolledWindow, TransferDataToWindow);
481IMP_PYCALLBACK_BOOL_(wxPyScrolledWindow, wxScrolledWindow, Validate);
482
483IMP_PYCALLBACK_BOOL_const(wxPyScrolledWindow, wxScrolledWindow, AcceptsFocus);
484IMP_PYCALLBACK_BOOL_const(wxPyScrolledWindow, wxScrolledWindow, AcceptsFocusFromKeyboard);
485IMP_PYCALLBACK_SIZE_const(wxPyScrolledWindow, wxScrolledWindow, GetMaxSize);
486
487IMP_PYCALLBACK_VOID_WXWINBASE(wxPyScrolledWindow, wxScrolledWindow, AddChild);
488IMP_PYCALLBACK_VOID_WXWINBASE(wxPyScrolledWindow, wxScrolledWindow, RemoveChild);
489
490IMP_PYCALLBACK_BOOL_const(wxPyScrolledWindow, wxScrolledWindow, ShouldInheritColours);
491IMP_PYCALLBACK_VIZATTR_(wxPyScrolledWindow, wxScrolledWindow, GetDefaultAttributes);
492
493IMP_PYCALLBACK_BOOL_(wxPyScrolledWindow, wxScrolledWindow, HasTransparentBackground);
494
495IMP_PYCALLBACK_VOID_(wxPyScrolledWindow, wxScrolledWindow, OnInternalIdle);
496%}
497
498// And now the one for SWIG to see
499MustHaveApp(wxPyScrolledWindow);
500class wxPyScrolledWindow : public wxScrolledWindow
501{
502public:
503 %pythonAppend wxPyScrolledWindow "self._setOORInfo(self); self._setCallbackInfo(self, PyScrolledWindow)"
504 %pythonAppend wxPyScrolledWindow() ""
505
506 wxPyScrolledWindow(wxWindow* parent, const wxWindowID id=-1,
507 const wxPoint& pos = wxDefaultPosition,
508 const wxSize& size = wxDefaultSize,
509 long style = 0,
510 const wxString& name = wxPyPanelNameStr);
511
512 %RenameCtor(PrePyScrolledWindow, wxPyScrolledWindow());
513
514 void _setCallbackInfo(PyObject* self, PyObject* _class);
515
516 bool DoEraseBackground(wxDC* dc);
517
518 void DoMoveWindow(int x, int y, int width, int height);
519 void DoSetSize(int x, int y, int width, int height,
520 int sizeFlags = wxSIZE_AUTO);
521 void DoSetClientSize(int width, int height);
522 void DoSetVirtualSize( int x, int y );
523
524 DocDeclA(
525 void, DoGetSize( int *OUTPUT, int *OUTPUT ) const,
526 "DoGetSize() -> (width, height)");
527 DocDeclA(
528 void, DoGetClientSize( int *OUTPUT, int *OUTPUT ) const,
529 "DoGetClientSize() -> (width, height)");
530 DocDeclA(
531 void, DoGetPosition( int *OUTPUT, int *OUTPUT ) const,
532 "DoGetPosition() -> (x,y)");
533
534 wxSize DoGetVirtualSize() const;
535 wxSize DoGetBestSize() const;
536
537 void InitDialog();
538 bool TransferDataToWindow();
539 bool TransferDataFromWindow();
540 bool Validate();
541
542 bool AcceptsFocus() const;
543 bool AcceptsFocusFromKeyboard() const;
544 wxSize GetMaxSize() const;
545
546 void AddChild(wxWindow* child);
547 void RemoveChild(wxWindow* child);
548
549 bool ShouldInheritColours() const;
550 wxVisualAttributes GetDefaultAttributes();
551
552 void OnInternalIdle();
553
554 %MAKE_BASE_FUNC(PyScrolledWindow, DoMoveWindow);
555 %MAKE_BASE_FUNC(PyScrolledWindow, DoSetSize);
556 %MAKE_BASE_FUNC(PyScrolledWindow, DoSetClientSize);
557 %MAKE_BASE_FUNC(PyScrolledWindow, DoSetVirtualSize);
558 %MAKE_BASE_FUNC(PyScrolledWindow, DoGetSize);
559 %MAKE_BASE_FUNC(PyScrolledWindow, DoGetClientSize);
560 %MAKE_BASE_FUNC(PyScrolledWindow, DoGetPosition);
561 %MAKE_BASE_FUNC(PyScrolledWindow, DoGetVirtualSize);
562 %MAKE_BASE_FUNC(PyScrolledWindow, DoGetBestSize);
563 %MAKE_BASE_FUNC(PyScrolledWindow, InitDialog);
564 %MAKE_BASE_FUNC(PyScrolledWindow, TransferDataToWindow);
565 %MAKE_BASE_FUNC(PyScrolledWindow, TransferDataFromWindow);
566 %MAKE_BASE_FUNC(PyScrolledWindow, Validate);
567 %MAKE_BASE_FUNC(PyScrolledWindow, AcceptsFocus);
568 %MAKE_BASE_FUNC(PyScrolledWindow, AcceptsFocusFromKeyboard);
569 %MAKE_BASE_FUNC(PyScrolledWindow, GetMaxSize);
570 %MAKE_BASE_FUNC(PyScrolledWindow, AddChild);
571 %MAKE_BASE_FUNC(PyScrolledWindow, RemoveChild);
572 %MAKE_BASE_FUNC(PyScrolledWindow, ShouldInheritColours);
573 %MAKE_BASE_FUNC(PyScrolledWindow, GetDefaultAttributes);
574 %MAKE_BASE_FUNC(PyScrolledWindow, OnInternalIdle);
575
576};
577
578
579//---------------------------------------------------------------------------
580//---------------------------------------------------------------------------