1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/generic/panelg.h
3 // Purpose: wxPanel: a container for child controls
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_GENERIC_PANEL_H_
13 #define _WX_GENERIC_PANEL_H_
15 // ----------------------------------------------------------------------------
16 // headers and forward declarations
17 // ----------------------------------------------------------------------------
19 #include "wx/window.h"
20 #include "wx/containr.h"
22 class WXDLLIMPEXP_FWD_CORE wxControlContainer
;
24 extern WXDLLIMPEXP_DATA_CORE(const char) wxPanelNameStr
[];
26 // ----------------------------------------------------------------------------
27 // wxPanel contains other controls and implements TAB traversal between them
28 // ----------------------------------------------------------------------------
30 class WXDLLIMPEXP_CORE wxPanel
: public wxWindow
35 // Old-style constructor (no default values for coordinates to avoid
36 // ambiguity with the new one)
37 wxPanel(wxWindow
*parent
,
38 int x
, int y
, int width
, int height
,
39 long style
= wxTAB_TRAVERSAL
| wxNO_BORDER
,
40 const wxString
& name
= wxPanelNameStr
)
44 Create(parent
, wxID_ANY
, wxPoint(x
, y
), wxSize(width
, height
), style
, name
);
48 wxPanel(wxWindow
*parent
,
49 wxWindowID winid
= wxID_ANY
,
50 const wxPoint
& pos
= wxDefaultPosition
,
51 const wxSize
& size
= wxDefaultSize
,
52 long style
= wxTAB_TRAVERSAL
| wxNO_BORDER
,
53 const wxString
& name
= wxPanelNameStr
)
57 Create(parent
, winid
, pos
, size
, style
, name
);
61 bool Create(wxWindow
*parent
,
62 wxWindowID winid
= wxID_ANY
,
63 const wxPoint
& pos
= wxDefaultPosition
,
64 const wxSize
& size
= wxDefaultSize
,
65 long style
= wxTAB_TRAVERSAL
| wxNO_BORDER
,
66 const wxString
& name
= wxPanelNameStr
);
70 // implementation from now on
71 // --------------------------
73 virtual void InitDialog();
75 #ifdef __WXUNIVERSAL__
76 virtual bool IsCanvasWindow() const { return true; }
80 // This is a hack to support inheriting of background through child
81 // wxPanel: at least wxNotebook needs this under wxMSW as its background
82 // should apply to its children which are usually wxPanels which normally
83 // don't have a transparent background. Calling this function allows to
84 // change this for the panels which are used as notebook pages.
85 void MSWSetTransparentBackground(bool isTransparent
= true)
87 m_isTransparent
= isTransparent
;
90 virtual bool HasTransparentBackground() { return m_isTransparent
; }
93 WX_DECLARE_CONTROL_CONTAINER();
96 // common part of all ctors
99 // choose the default border for this window
100 virtual wxBorder
GetDefaultBorder() const { return wxWindowBase::GetDefaultBorder(); }
104 bool m_isTransparent
;
107 DECLARE_DYNAMIC_CLASS_NO_COPY(wxPanel
)
108 DECLARE_EVENT_TABLE()
112 // _WX_GENERIC_PANEL_H_