X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/99d800190a04a2deaf769017a5fae04a4ae50378..0995b9dc18a7ce898c1c1be0e2790b258cab0fee:/include/wx/panel.h diff --git a/include/wx/panel.h b/include/wx/panel.h index fb5892207f..74016c64f4 100644 --- a/include/wx/panel.h +++ b/include/wx/panel.h @@ -6,13 +6,87 @@ // Created: // RCS-ID: $Id$ // Copyright: (c) Julian Smart +// (c) 2011 Vadim Zeitlin // Licence: wxWindows Licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_PANEL_H_BASE_ #define _WX_PANEL_H_BASE_ -#include "wx/generic/panelg.h" +// ---------------------------------------------------------------------------- +// headers and forward declarations +// ---------------------------------------------------------------------------- +#include "wx/window.h" +#include "wx/containr.h" + +class WXDLLIMPEXP_FWD_CORE wxControlContainer; + +extern WXDLLIMPEXP_DATA_CORE(const char) wxPanelNameStr[]; + +// ---------------------------------------------------------------------------- +// wxPanel contains other controls and implements TAB traversal between them +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxPanelBase : public wxWindow +{ +public: + wxPanelBase(); + + // Derived classes should also provide this constructor: + /* + wxPanelBase(wxWindow *parent, + wxWindowID winid = wxID_ANY, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxTAB_TRAVERSAL | wxNO_BORDER, + const wxString& name = wxPanelNameStr); + */ + + // Pseudo ctor + bool Create(wxWindow *parent, + wxWindowID winid = wxID_ANY, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxTAB_TRAVERSAL | wxNO_BORDER, + const wxString& name = wxPanelNameStr); + + + // Use the given bitmap to tile the background of this panel. This bitmap + // will show through any transparent children. + // + // Notice that you must not prevent the base class EVT_ERASE_BACKGROUND + // handler from running (i.e. not to handle this event yourself) for this + // to work. + void SetBackgroundBitmap(const wxBitmap& bmp) + { + DoSetBackgroundBitmap(bmp); + } + + + // implementation from now on + // -------------------------- + + virtual void InitDialog(); + + WX_DECLARE_CONTROL_CONTAINER(); + +protected: + virtual void DoSetBackgroundBitmap(const wxBitmap& bmp) = 0; + +private: + wxDECLARE_EVENT_TABLE(); + + wxDECLARE_NO_COPY_CLASS(wxPanelBase); +}; + +#if defined(__WXUNIVERSAL__) + #include "wx/univ/panel.h" +#elif defined(__WXMSW__) + #include "wx/msw/panel.h" +#else + #define wxHAS_GENERIC_PANEL + #include "wx/generic/panelg.h" #endif - // _WX_PANELH_BASE_ + +#endif // _WX_PANELH_BASE_