]> git.saurik.com Git - wxWidgets.git/blame - include/wx/panel.h
Merge in from trunk r68626 - r68683
[wxWidgets.git] / include / wx / panel.h
CommitLineData
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
23class WXDLLIMPEXP_FWD_CORE wxControlContainer;
24
25extern WXDLLIMPEXP_DATA_CORE(const char) wxPanelNameStr[];
26
27// ----------------------------------------------------------------------------
28// wxPanel contains other controls and implements TAB traversal between them
29// ----------------------------------------------------------------------------
30
90230407 31class WXDLLIMPEXP_CORE wxPanelBase : public wxNavigationEnabled<wxWindow>
5b87bd6c
VZ
32{
33public:
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
72protected:
73 virtual void DoSetBackgroundBitmap(const wxBitmap& bmp) = 0;
74
5b87bd6c 75private:
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_