]>
Commit | Line | Data |
---|---|---|
99d80019 JS |
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 | |
5b87bd6c | 9 | // (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org> |
99d80019 JS |
10 | // Licence: wxWindows Licence |
11 | ///////////////////////////////////////////////////////////////////////////// | |
12 | ||
34138703 JS |
13 | #ifndef _WX_PANEL_H_BASE_ |
14 | #define _WX_PANEL_H_BASE_ | |
c801d85f | 15 | |
5b87bd6c VZ |
16 | // ---------------------------------------------------------------------------- |
17 | // headers and forward declarations | |
18 | // ---------------------------------------------------------------------------- | |
c801d85f | 19 | |
5b87bd6c VZ |
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 | ||
90230407 | 31 | class WXDLLIMPEXP_CORE wxPanelBase : public wxNavigationEnabled<wxWindow> |
5b87bd6c VZ |
32 | { |
33 | public: | |
90230407 | 34 | wxPanelBase() { } |
5b87bd6c VZ |
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 | ||
cd95f7e6 VZ |
55 | // Use the given bitmap to tile the background of this panel. This bitmap |
56 | // will show through any transparent children. | |
57 | // | |
58 | // Notice that you must not prevent the base class EVT_ERASE_BACKGROUND | |
59 | // handler from running (i.e. not to handle this event yourself) for this | |
60 | // to work. | |
61 | void SetBackgroundBitmap(const wxBitmap& bmp) | |
62 | { | |
63 | DoSetBackgroundBitmap(bmp); | |
64 | } | |
65 | ||
66 | ||
5b87bd6c VZ |
67 | // implementation from now on |
68 | // -------------------------- | |
69 | ||
70 | virtual void InitDialog(); | |
71 | ||
cd95f7e6 VZ |
72 | protected: |
73 | virtual void DoSetBackgroundBitmap(const wxBitmap& bmp) = 0; | |
74 | ||
5b87bd6c | 75 | private: |
5b87bd6c VZ |
76 | wxDECLARE_NO_COPY_CLASS(wxPanelBase); |
77 | }; | |
78 | ||
79 | #if defined(__WXUNIVERSAL__) | |
80 | #include "wx/univ/panel.h" | |
81 | #elif defined(__WXMSW__) | |
82 | #include "wx/msw/panel.h" | |
83 | #else | |
cd95f7e6 | 84 | #define wxHAS_GENERIC_PANEL |
5b87bd6c | 85 | #include "wx/generic/panelg.h" |
c801d85f | 86 | #endif |
5b87bd6c VZ |
87 | |
88 | #endif // _WX_PANELH_BASE_ |