1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: SWIG definitions of MORE window classes
7 // Created: 22-Dec-1998
9 // Copyright: (c) 1998 by Total Control Software
10 // Licence: wxWindows license
11 /////////////////////////////////////////////////////////////////////////////
17 #include <wx/sashwin.h>
18 #include <wx/laywin.h>
19 #include <wx/popupwin.h>
20 #include <wx/tipwin.h>
23 //----------------------------------------------------------------------
26 %include my_typemaps.i
28 // Import some definitions of other classes, etc.
37 %pragma(python) code = "import wx"
39 //----------------------------------------------------------------------
42 // Put some wx default wxChar* values into wxStrings.
43 static const wxChar* wxSashNameStr = wxT("sashWindow");
44 DECLARE_DEF_STRING(SashNameStr);
45 static const wxChar* wxSashLayoutNameStr = wxT("layoutWindow");
46 DECLARE_DEF_STRING(SashLayoutNameStr);
48 //---------------------------------------------------------------------------
50 enum wxSashEdgePosition {
69 wxSASH_STATUS_OUT_OF_RANGE
73 class wxSashEvent : public wxCommandEvent {
75 wxSashEvent(int id = 0, wxSashEdgePosition edge = wxSASH_NONE);
77 void SetEdge(wxSashEdgePosition edge);
78 wxSashEdgePosition GetEdge();
79 void SetDragRect(const wxRect& rect);
81 void SetDragStatus(wxSashDragStatus status);
82 wxSashDragStatus GetDragStatus();
87 class wxSashWindow: public wxWindow {
89 wxSashWindow(wxWindow* parent, wxWindowID id,
90 const wxPoint& pos = wxDefaultPosition,
91 const wxSize& size = wxDefaultSize,
92 long style = wxCLIP_CHILDREN | wxSW_3D,
93 const wxString& name = wxPySashNameStr);
94 %name(wxPreSashWindow)wxSashWindow();
96 bool Create(wxWindow* parent, wxWindowID id,
97 const wxPoint& pos = wxDefaultPosition,
98 const wxSize& size = wxDefaultSize,
99 long style = wxCLIP_CHILDREN | wxSW_3D,
100 const wxString& name = wxPySashNameStr);
102 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
103 %pragma(python) addtomethod = "wxPreSashWindow:val._setOORInfo(val)"
105 bool GetSashVisible(wxSashEdgePosition edge);
106 int GetDefaultBorderSize();
107 int GetEdgeMargin(wxSashEdgePosition edge);
108 int GetExtraBorderSize();
109 int GetMaximumSizeX();
110 int GetMaximumSizeY();
111 int GetMinimumSizeX();
112 int GetMinimumSizeY();
113 bool HasBorder(wxSashEdgePosition edge);
114 void SetDefaultBorderSize(int width);
115 void SetExtraBorderSize(int width);
116 void SetMaximumSizeX(int min);
117 void SetMaximumSizeY(int min);
118 void SetMinimumSizeX(int min);
119 void SetMinimumSizeY(int min);
120 void SetSashVisible(wxSashEdgePosition edge, bool visible);
121 void SetSashBorder(wxSashEdgePosition edge, bool hasBorder);
126 //---------------------------------------------------------------------------
128 enum wxLayoutOrientation {
133 enum wxLayoutAlignment {
143 wxEVT_QUERY_LAYOUT_INFO,
144 wxEVT_CALCULATE_LAYOUT,
148 class wxQueryLayoutInfoEvent: public wxEvent {
150 wxQueryLayoutInfoEvent(wxWindowID id = 0);
152 void SetRequestedLength(int length);
153 int GetRequestedLength();
154 void SetFlags(int flags);
156 void SetSize(const wxSize& size);
158 void SetOrientation(wxLayoutOrientation orient);
159 wxLayoutOrientation GetOrientation();
160 void SetAlignment(wxLayoutAlignment align);
161 wxLayoutAlignment GetAlignment();
166 class wxCalculateLayoutEvent: public wxEvent {
168 wxCalculateLayoutEvent(wxWindowID id = 0);
170 void SetFlags(int flags);
172 void SetRect(const wxRect& rect);
177 class wxSashLayoutWindow: public wxSashWindow {
179 wxSashLayoutWindow(wxWindow* parent, wxWindowID id,
180 const wxPoint& pos = wxDefaultPosition,
181 const wxSize& size = wxDefaultSize,
182 long style = wxCLIP_CHILDREN | wxSW_3D,
183 const wxString& name = wxPySashLayoutNameStr);
184 %name(wxPreSashLayoutWindow)wxSashLayoutWindow();
186 bool Create(wxWindow* parent, wxWindowID id,
187 const wxPoint& pos = wxDefaultPosition,
188 const wxSize& size = wxDefaultSize,
189 long style = wxCLIP_CHILDREN | wxSW_3D,
190 const wxString& name = wxPySashLayoutNameStr);
192 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
193 %pragma(python) addtomethod = "wxPreSashLayoutWindow:val._setOORInfo(val)"
195 wxLayoutAlignment GetAlignment();
196 wxLayoutOrientation GetOrientation();
197 void SetAlignment(wxLayoutAlignment alignment);
198 void SetDefaultSize(const wxSize& size);
199 void SetOrientation(wxLayoutOrientation orientation);
202 //---------------------------------------------------------------------------
204 class wxLayoutAlgorithm : public wxObject {
207 ~wxLayoutAlgorithm();
209 bool LayoutMDIFrame(wxMDIParentFrame* frame, wxRect* rect = NULL);
210 bool LayoutFrame(wxFrame* frame, wxWindow* mainWindow = NULL);
211 bool LayoutWindow(wxWindow* parent, wxWindow* mainWindow = NULL);
215 //---------------------------------------------------------------------------
218 // wxPopupWindow: a special kind of top level window used for popup menus,
219 // combobox popups and such.
220 class wxPopupWindow : public wxWindow {
222 wxPopupWindow(wxWindow *parent, int flags = wxBORDER_NONE);
223 %name(wxPrePopupWindow)wxPopupWindow();
225 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
226 %pragma(python) addtomethod = "wxPrePopupWindow:val._setOORInfo(val)"
228 bool Create(wxWindow *parent, int flags = wxBORDER_NONE);
230 // the point must be given in screen coordinates!
231 void Position(const wxPoint& ptOrigin,
237 class wxPyPopupTransientWindow : public wxPopupTransientWindow
240 wxPyPopupTransientWindow() : wxPopupTransientWindow() {}
241 wxPyPopupTransientWindow(wxWindow* parent, int style = wxBORDER_NONE)
242 : wxPopupTransientWindow(parent, style) {}
244 DEC_PYCALLBACK_BOOL_ME(ProcessLeftDown);
245 DEC_PYCALLBACK__(OnDismiss);
246 DEC_PYCALLBACK_BOOL_(CanDismiss);
250 IMP_PYCALLBACK_BOOL_ME(wxPyPopupTransientWindow, wxPopupTransientWindow, ProcessLeftDown);
251 IMP_PYCALLBACK__(wxPyPopupTransientWindow, wxPopupTransientWindow, OnDismiss);
252 IMP_PYCALLBACK_BOOL_(wxPyPopupTransientWindow, wxPopupTransientWindow, CanDismiss);
257 // wxPopupTransientWindow: a wxPopupWindow which disappears automatically
258 // when the user clicks mouse outside it or if it loses focus in any other way
259 %name(wxPopupTransientWindow) class wxPyPopupTransientWindow : public wxPopupWindow
262 wxPyPopupTransientWindow(wxWindow *parent, int style = wxBORDER_NONE);
263 %name(wxPrePopupTransientWindow)wxPyPopupTransientWindow();
265 void _setCallbackInfo(PyObject* self, PyObject* _class);
266 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPopupTransientWindow)"
268 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
269 %pragma(python) addtomethod = "wxPrePopupTransientWindow:val._setOORInfo(val)"
271 // popup the window (this will show it too) and keep focus at winFocus
272 // (or itself if it's NULL), dismiss the popup if we lose focus
273 virtual void Popup(wxWindow *focus = NULL);
276 virtual void Dismiss();
279 //---------------------------------------------------------------------------
281 class wxTipWindow : public wxPyPopupTransientWindow
285 wxTipWindow(wxWindow *parent,
286 const wxString* text,
287 wxCoord maxLength = 100,
288 wxRect* rectBound = NULL) {
289 wxString tmp = *text;
290 return new wxTipWindow(parent, tmp, maxLength, NULL, rectBound);
294 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
296 // If rectBound is not NULL, the window will disappear automatically when
297 // the mouse leave the specified rect: note that rectBound should be in the
298 // screen coordinates!
299 void SetBoundingRect(const wxRect& rectBound);
301 // Hide and destroy the window
305 #endif // ! __WXMAC__
307 //---------------------------------------------------------------------------
313 class wxTipWindow : public wxFrame
317 wxTipWindow(wxWindow *parent,
318 const wxString* text,
319 wxCoord maxLength = 100,
320 wxRect* rectBound = NULL) {
321 wxString tmp = *text;
322 return new wxTipWindow(parent, tmp, maxLength, NULL, rectBound);
326 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
328 // If rectBound is not NULL, the window will disappear automatically when
329 // the mouse leave the specified rect: note that rectBound should be in the
330 // screen coordinates!
331 void SetBoundingRect(const wxRect& rectBound);
333 // Hide and destroy the window
339 //---------------------------------------------------------------------------
343 #include <wx/vscroll.h>
344 DECLARE_DEF_STRING(PanelNameStr);
348 // First, the C++ version
350 class wxPyVScrolledWindow : public wxVScrolledWindow
352 DECLARE_ABSTRACT_CLASS(wxPyVScrolledWindow);
354 wxPyVScrolledWindow() : wxVScrolledWindow() {}
356 wxPyVScrolledWindow(wxWindow *parent,
357 wxWindowID id = wxID_ANY,
358 const wxPoint& pos = wxDefaultPosition,
359 const wxSize& size = wxDefaultSize,
361 const wxString& name = wxPyPanelNameStr)
362 : wxVScrolledWindow(parent, id, pos, size, style, name)
365 // Overridable virtuals
367 // this function must be overridden in the derived class and it should
368 // return the height of the given line in pixels
369 DEC_PYCALLBACK_COORD_SIZET_constpure(OnGetLineHeight);
372 // this function doesn't have to be overridden but it may be useful to do
373 // it if calculating the lines heights is a relatively expensive operation
374 // as it gives the user code a possibility to calculate several of them at
377 // OnGetLinesHint() is normally called just before OnGetLineHeight() but you
378 // shouldn't rely on the latter being called for all lines in the interval
379 // specified here. It is also possible that OnGetLineHeight() will be
380 // called for the lines outside of this interval, so this is really just a
381 // hint, not a promise.
383 // finally note that lineMin is inclusive, while lineMax is exclusive, as
385 DEC_PYCALLBACK_VOID_SIZETSIZET_const(OnGetLinesHint);
388 // when the number of lines changes, we try to estimate the total height
389 // of all lines which is a rather expensive operation in terms of lines
390 // access, so if the user code may estimate the average height
391 // better/faster than we do, it should override this function to implement
394 // this function should return the best guess for the total height it may
396 DEC_PYCALLBACK_COORD_const(EstimateTotalHeight);
399 // Also expose some other interesting protected methods
402 // find the index of the line we need to show at the top of the window such
403 // that the last (fully or partially) visible line is the given one
404 size_t FindFirstFromBottom(size_t lineLast, bool fullyVisible = false)
405 { return wxVScrolledWindow::FindFirstFromBottom(lineLast, fullyVisible); }
407 // get the total height of the lines between lineMin (inclusive) and
408 // lineMax (exclusive)
409 wxCoord GetLinesHeight(size_t lineMin, size_t lineMax) const
410 { return wxVScrolledWindow::GetLinesHeight(lineMin, lineMax); }
416 IMPLEMENT_ABSTRACT_CLASS(wxPyVScrolledWindow, wxVScrolledWindow);
418 IMP_PYCALLBACK_COORD_SIZET_constpure(wxPyVScrolledWindow, wxVScrolledWindow, OnGetLineHeight);
419 IMP_PYCALLBACK_VOID_SIZETSIZET_const(wxPyVScrolledWindow, wxVScrolledWindow, OnGetLinesHint);
420 IMP_PYCALLBACK_COORD_const (wxPyVScrolledWindow, wxVScrolledWindow, EstimateTotalHeight);
425 // Now define this class for SWIG
428 In the name of this class, "V" may stand for "variable" because it can be
429 used for scrolling lines of variable heights; "virtual" because it is not
430 necessary to know the heights of all lines in advance -- only those which
431 are shown on the screen need to be measured; or, even, "vertical" because
432 this class only supports scrolling in one direction currently (this could
433 and probably will change in the future however).
435 In any case, this is a generalization of the wxScrolledWindow class which
436 can be only used when all lines have the same height. It lacks some other
437 wxScrolledWindow features however, notably it currently lacks support for
438 horizontal scrolling; it can't scroll another window nor only a rectangle
439 of the window and not its entire client area.
442 %name(wxVScrolledWindow) class wxPyVScrolledWindow : public wxPanel
446 wxPyVScrolledWindow(wxWindow *parent,
447 wxWindowID id = wxID_ANY,
448 const wxPoint& pos = wxDefaultPosition,
449 const wxSize& size = wxDefaultSize,
451 const wxString& name = wxPyPanelNameStr);
453 %name(wxPreVScrolledWindow)wxPyVScrolledWindow();
455 void _setCallbackInfo(PyObject* self, PyObject* _class);
456 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxVScrolledWindow)"
457 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
458 %pragma(python) addtomethod = "wxPreVScrolledWindow:val._setOORInfo(val)"
460 bool Create(wxWindow *parent,
461 wxWindowID id = wxID_ANY,
462 const wxPoint& pos = wxDefaultPosition,
463 const wxSize& size = wxDefaultSize,
465 const wxString& name = wxPyPanelNameStr);
468 // set the number of lines the window contains: the derived class must
469 // provide the heights for all lines with indices up to the one given here
470 // in its OnGetLineHeight()
471 void SetLineCount(size_t count);
473 // scroll to the specified line: it will become the first visible line in
476 // return true if we scrolled the window, false if nothing was done
477 bool ScrollToLine(size_t line);
479 // scroll by the specified number of lines/pages
480 virtual bool ScrollLines(int lines);
481 virtual bool ScrollPages(int pages);
483 // redraw the specified line
484 void RefreshLine(size_t line);
486 // redraw all lines in the specified range (inclusive)
487 void RefreshLines(size_t from, size_t to);
489 // return the item at the specified (in physical coordinates) position or
490 // wxNOT_FOUND if none, i.e. if it is below the last item
491 %name(HitTestXT) int HitTest(wxCoord x, wxCoord y) const;
492 int HitTest(const wxPoint& pt) const;
494 // recalculate all our parameters and redisplay all lines
495 virtual void RefreshAll();
498 // get the number of lines this window contains (previously set by
500 size_t GetLineCount() const;
502 // get the first currently visible line
503 size_t GetFirstVisibleLine() const;
505 // get the last currently visible line
506 size_t GetLastVisibleLine() const;
508 // is this line currently visible?
509 bool IsVisible(size_t line) const;
513 //---------------------------------------------------------------------------
517 #include <wx/vlbox.h>
518 DECLARE_DEF_STRING(VListBoxNameStr);
522 // First, the C++ version
524 class wxPyVListBox : public wxVListBox
526 DECLARE_ABSTRACT_CLASS(wxPyVListBox);
528 wxPyVListBox() : wxVListBox() {}
530 wxPyVListBox(wxWindow *parent,
531 wxWindowID id = wxID_ANY,
532 const wxPoint& pos = wxDefaultPosition,
533 const wxSize& size = wxDefaultSize,
535 const wxString& name = wxPyVListBoxNameStr)
536 : wxVListBox(parent, id, pos, size, style, name)
539 // Overridable virtuals
541 // the derived class must implement this function to actually draw the item
542 // with the given index on the provided DC
543 // virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const = 0;
544 DEC_PYCALLBACK__DCRECTSIZET_constpure(OnDrawItem);
547 // the derived class must implement this method to return the height of the
549 // virtual wxCoord OnMeasureItem(size_t n) const = 0;
550 DEC_PYCALLBACK_COORD_SIZET_constpure(OnMeasureItem);
553 // this method may be used to draw separators between the lines; note that
554 // the rectangle may be modified, typically to deflate it a bit before
555 // passing to OnDrawItem()
557 // the base class version doesn't do anything
558 // virtual void OnDrawSeparator(wxDC& dc, wxRect& rect, size_t n) const;
559 DEC_PYCALLBACK__DCRECTSIZET_constpure(OnDrawSeparator);
562 // this method is used to draw the items background and, maybe, a border
565 // the base class version implements a reasonable default behaviour which
566 // consists in drawing the selected item with the standard background
567 // colour and drawing a border around the item if it is either selected or
569 // virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const;
570 DEC_PYCALLBACK__DCRECTSIZET_const(OnDrawBackground);
576 IMPLEMENT_ABSTRACT_CLASS(wxPyVListBox, wxVListBox);
578 IMP_PYCALLBACK__DCRECTSIZET_constpure(wxPyVListBox, wxVListBox, OnDrawItem);
579 IMP_PYCALLBACK_COORD_SIZET_constpure (wxPyVListBox, wxVListBox, OnMeasureItem);
580 IMP_PYCALLBACK__DCRECTSIZET_constpure(wxPyVListBox, wxVListBox, OnDrawSeparator);
581 IMP_PYCALLBACK__DCRECTSIZET_const (wxPyVListBox, wxVListBox, OnDrawBackground);
587 // Now define this class for SWIG
590 This class has two main differences from a regular listbox: it can have an
591 arbitrarily huge number of items because it doesn't store them itself but
592 uses OnDrawItem() callback to draw them and its items can have variable
593 height as determined by OnMeasureItem().
595 It emits the same events as wxListBox and the same event macros may be used
598 %name(wxVListBox) class wxPyVListBox : public wxPyVScrolledWindow
602 wxPyVListBox(wxWindow *parent,
603 wxWindowID id = wxID_ANY,
604 const wxPoint& pos = wxDefaultPosition,
605 const wxSize& size = wxDefaultSize,
607 const wxString& name = wxPyVListBoxNameStr);
609 %name(wxPreVListBox) wxPyVListBox();
611 void _setCallbackInfo(PyObject* self, PyObject* _class);
612 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxVListBox)"
613 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
614 %pragma(python) addtomethod = "wxPreVListBox:val._setOORInfo(val)"
617 bool Create(wxWindow *parent,
618 wxWindowID id = wxID_ANY,
619 const wxPoint& pos = wxDefaultPosition,
620 const wxSize& size = wxDefaultSize,
622 const wxString& name = wxPyVListBoxNameStr);
624 // get the number of items in the control
625 size_t GetItemCount() const;
627 // does this control use multiple selection?
628 bool HasMultipleSelection() const;
630 // get the currently selected item or wxNOT_FOUND if there is no selection
632 // this method is only valid for the single selection listboxes
633 int GetSelection() const;
635 // is this item the current one?
636 bool IsCurrent(size_t item) const;
638 // is this item selected?
639 bool IsSelected(size_t item) const;
641 // get the number of the selected items (maybe 0)
643 // this method is valid for both single and multi selection listboxes
644 size_t GetSelectedCount() const;
646 // get the first selected item, returns wxNOT_FOUND if none
648 // cookie is an opaque parameter which should be passed to
649 // GetNextSelected() later
651 // this method is only valid for the multi selection listboxes
652 int GetFirstSelected(unsigned long& cookie) const;
654 // get next selection item, return wxNOT_FOUND if no more
656 // cookie must be the same parameter that was passed to GetFirstSelected()
659 // this method is only valid for the multi selection listboxes
660 int GetNextSelected(unsigned long& cookie) const;
662 // get the margins around each item
663 wxPoint GetMargins() const;
665 // get the background colour of selected cells
666 const wxColour& GetSelectionBackground() const;
669 // set the number of items to be shown in the control
671 // this is just a synonym for wxVScrolledWindow::SetLineCount()
672 void SetItemCount(size_t count);
674 // delete all items from the control
677 // set the selection to the specified item, if it is wxNOT_FOUND the
678 // selection is unset
680 // this function is only valid for the single selection listboxes
681 void SetSelection(int selection);
683 // selects or deselects the specified item which must be valid (i.e. not
684 // equal to wxNOT_FOUND)
686 // return true if the items selection status has changed or false
689 // this function is only valid for the multiple selection listboxes
690 bool Select(size_t item, bool select = true);
692 // selects the items in the specified range whose end points may be given
695 // return true if any items selection status has changed, false otherwise
697 // this function is only valid for the single selection listboxes
698 bool SelectRange(size_t from, size_t to);
700 // toggle the selection of the specified item (must be valid)
702 // this function is only valid for the multiple selection listboxes
703 void Toggle(size_t item);
705 // select all items in the listbox
707 // the return code indicates if any items were affected by this operation
708 // (true) or if nothing has changed (false)
711 // unselect all items in the listbox
713 // the return code has the same meaning as for SelectAll()
716 // set the margins: horizontal margin is the distance between the window
717 // border and the item contents while vertical margin is half of the
718 // distance between items
720 // by default both margins are 0
721 void SetMargins(const wxPoint& pt);
722 %name(SetMarginsXY) void SetMargins(wxCoord x, wxCoord y);
724 // change the background colour of the selected cells
725 void SetSelectionBackground(const wxColour& col);
730 //---------------------------------------------------------------------------
734 #include <wx/htmllbox.h>
737 // First, the C++ version
739 class wxPyHtmlListBox : public wxHtmlListBox
741 DECLARE_ABSTRACT_CLASS(wxPyHtmlListBox);
743 wxPyHtmlListBox() : wxHtmlListBox() {}
745 wxPyHtmlListBox(wxWindow *parent,
746 wxWindowID id = wxID_ANY,
747 const wxPoint& pos = wxDefaultPosition,
748 const wxSize& size = wxDefaultSize,
750 const wxString& name = wxPyVListBoxNameStr)
751 : wxHtmlListBox(parent, id, pos, size, style, name)
754 // Overridable virtuals
756 // this method must be implemented in the derived class and should return
757 // the body (i.e. without <html>) of the HTML for the given item
758 DEC_PYCALLBACK_STRING_SIZET_pure(OnGetItem);
760 // this function may be overridden to decorate HTML returned by OnGetItem()
761 DEC_PYCALLBACK_STRING_SIZET(OnGetItemMarkup);
764 // // this method allows to customize the selection appearance: it may be used
765 // // to specify the colour of the text which normally has the given colour
766 // // colFg when it is inside the selection
768 // // by default, the original colour is not used at all and all text has the
769 // // same (default for this system) colour inside selection
770 // virtual wxColour GetSelectedTextColour(const wxColour& colFg) const;
772 // // this is the same as GetSelectedTextColour() but allows to customize the
773 // // background colour -- this is even more rarely used as you can change it
774 // // globally using SetSelectionBackground()
775 // virtual wxColour GetSelectedTextBgColour(const wxColour& colBg) const;
782 IMPLEMENT_ABSTRACT_CLASS(wxPyHtmlListBox, wxHtmlListBox)
784 IMP_PYCALLBACK_STRING_SIZET_pure(wxPyHtmlListBox, wxHtmlListBox, OnGetItem);
785 IMP_PYCALLBACK_STRING_SIZET (wxPyHtmlListBox, wxHtmlListBox, OnGetItemMarkup);
791 // Now define this class for SWIG
794 // wxHtmlListBox is a listbox whose items are wxHtmlCells
795 %name(wxHtmlListBox) class wxPyHtmlListBox : public wxPyVListBox
799 // normal constructor which calls Create() internally
800 wxPyHtmlListBox(wxWindow *parent,
801 wxWindowID id = wxID_ANY,
802 const wxPoint& pos = wxDefaultPosition,
803 const wxSize& size = wxDefaultSize,
805 const wxString& name = wxPyVListBoxNameStr);
807 %name(wxPreHtmlListBox) wxPyHtmlListBox();
809 void _setCallbackInfo(PyObject* self, PyObject* _class);
810 %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxHtmlListBox)"
811 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
812 %pragma(python) addtomethod = "wxPreHtmlListBox:val._setOORInfo(val)"
814 bool Create(wxWindow *parent,
815 wxWindowID id = wxID_ANY,
816 const wxPoint& pos = wxDefaultPosition,
817 const wxSize& size = wxDefaultSize,
819 const wxString& name = wxPyVListBoxNameStr);
823 void SetItemCount(size_t count);
828 //---------------------------------------------------------------------------
829 //---------------------------------------------------------------------------
832 // Map renamed classes back to their common name for OOR
833 wxPyPtrTypeMap_Add("wxHtmlListBox", "wxPyHtmlListBox");
834 wxPyPtrTypeMap_Add("wxVListBox", "wxPyVListBox");
835 wxPyPtrTypeMap_Add("wxVScrolledWindow", "wxPyVScrolledWindow");
838 //----------------------------------------------------------------------