#ifndef _WX_UNIV_FRAME_H_
#define _WX_UNIV_FRAME_H_
-#ifdef __GNUG__
- #pragma interface "univframe.h"
-#endif
-
// ----------------------------------------------------------------------------
// wxFrame
// ----------------------------------------------------------------------------
-#if defined(__WXMSW__)
-#define wxFrameNative wxFrameMSW
-#elif defined(__WXGTK__)
-#define wxFrameNative wxFrameGTK
-#elif defined(__WXMGL__)
-#define wxFrameNative wxFrameMGL
-#endif
-
-class wxFrame : public wxFrameNative
+class WXDLLEXPORT wxFrame : public wxFrameBase
{
public:
- wxFrame();
+ wxFrame() {}
wxFrame(wxWindow *parent,
wxWindowID id,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
- const wxString& name = wxFrameNameStr);
+ const wxString& name = wxFrameNameStr)
+ {
+ Create(parent, id, title, pos, size, style, name);
+ }
+
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE,
+ const wxString& name = wxFrameNameStr);
virtual wxPoint GetClientAreaOrigin() const;
+ virtual bool Enable(bool enable = true);
+
+#if wxUSE_STATUSBAR
+ virtual wxStatusBar* CreateStatusBar(int number = 1,
+ long style = wxST_SIZEGRIP,
+ wxWindowID id = 0,
+ const wxString& name = wxStatusLineNameStr);
+#endif // wxUSE_STATUSBAR
+
+#if wxUSE_TOOLBAR
+ // create main toolbar bycalling OnCreateToolBar()
+ virtual wxToolBar* CreateToolBar(long style = -1,
+ wxWindowID id = wxID_ANY,
+ const wxString& name = wxToolBarNameStr);
+#endif // wxUSE_TOOLBAR
+
+ virtual int GetMinWidth() const;
+ virtual int GetMinHeight() const;
+
+ // sends wxSizeEvent to itself (used after attaching xxxBar)
+ virtual void SendSizeEvent();
protected:
void OnSize(wxSizeEvent& event);
+ void OnSysColourChanged(wxSysColourChangedEvent& event);
+
+ virtual void DoGetClientSize(int *width, int *height) const;
+ virtual void DoSetClientSize(int width, int height);
#if wxUSE_MENUS
// override to update menu bar position when the frame size changes
virtual void PositionMenuBar();
+ virtual void DetachMenuBar();
+ virtual void AttachMenuBar(wxMenuBar *menubar);
+#endif // wxUSE_MENUS
+
+#if wxUSE_STATUSBAR
+ // override to update statusbar position when the frame size changes
+ virtual void PositionStatusBar();
#endif // wxUSE_MENUS
+protected:
+#if wxUSE_TOOLBAR
+ virtual void PositionToolBar();
+#endif // wxUSE_TOOLBAR
+
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxFrame)
};