]> git.saurik.com Git - wxWidgets.git/blob - include/wx/panel.h
Dramatically optimise inserting many items in wxGenericListCtrl.
[wxWidgets.git] / include / wx / panel.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/panel.h
3 // Purpose: Base header for wxPanel
4 // Author: Julian Smart
5 // Modified by:
6 // Created:
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
10 // Licence: wxWindows Licence
11 /////////////////////////////////////////////////////////////////////////////
12
13 #ifndef _WX_PANEL_H_BASE_
14 #define _WX_PANEL_H_BASE_
15
16 // ----------------------------------------------------------------------------
17 // headers and forward declarations
18 // ----------------------------------------------------------------------------
19
20 #include "wx/window.h"
21 #include "wx/containr.h"
22
23 class WXDLLIMPEXP_FWD_CORE wxControlContainer;
24
25 extern WXDLLIMPEXP_DATA_CORE(const char) wxPanelNameStr[];
26
27 // ----------------------------------------------------------------------------
28 // wxPanel contains other controls and implements TAB traversal between them
29 // ----------------------------------------------------------------------------
30
31 class WXDLLIMPEXP_CORE wxPanelBase : public wxNavigationEnabled<wxWindow>
32 {
33 public:
34 wxPanelBase() { }
35
36 // Derived classes should also provide this constructor:
37 /*
38 wxPanelBase(wxWindow *parent,
39 wxWindowID winid = wxID_ANY,
40 const wxPoint& pos = wxDefaultPosition,
41 const wxSize& size = wxDefaultSize,
42 long style = wxTAB_TRAVERSAL | wxNO_BORDER,
43 const wxString& name = wxPanelNameStr);
44 */
45
46 // Pseudo ctor
47 bool Create(wxWindow *parent,
48 wxWindowID winid = wxID_ANY,
49 const wxPoint& pos = wxDefaultPosition,
50 const wxSize& size = wxDefaultSize,
51 long style = wxTAB_TRAVERSAL | wxNO_BORDER,
52 const wxString& name = wxPanelNameStr);
53
54
55 // implementation from now on
56 // --------------------------
57
58 virtual void InitDialog();
59
60 private:
61 wxDECLARE_NO_COPY_CLASS(wxPanelBase);
62 };
63
64 #if defined(__WXUNIVERSAL__)
65 #include "wx/univ/panel.h"
66 #elif defined(__WXMSW__)
67 #include "wx/msw/panel.h"
68 #else
69 #define wxHAS_GENERIC_PANEL
70 #include "wx/generic/panelg.h"
71 #endif
72
73 #endif // _WX_PANELH_BASE_