]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/frame.h
Support using GetTextExtent() with empty string to get descent in wxOSX.
[wxWidgets.git] / include / wx / univ / frame.h
index 608296c560fd457b4679ca7e8f38b73fea008979..207bf0d6b0b9b3a4c87cac82a49806147211f75b 100644 (file)
 #ifndef _WX_UNIV_FRAME_H_
 #define _WX_UNIV_FRAME_H_
 
 #ifndef _WX_UNIV_FRAME_H_
 #define _WX_UNIV_FRAME_H_
 
-#ifdef __GNUG__
-    #pragma interface "univframe.h"
-#endif
-
 // ----------------------------------------------------------------------------
 // wxFrame
 // ----------------------------------------------------------------------------
 
 // ----------------------------------------------------------------------------
 // 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 WXDLLIMPEXP_CORE wxFrame : public wxFrameBase
 {
 public:
 {
 public:
-    wxFrame();
+    wxFrame() {}
     wxFrame(wxWindow *parent,
             wxWindowID id,
             const wxString& title,
             const wxPoint& pos = wxDefaultPosition,
             const wxSize& size = wxDefaultSize,
             long style = wxDEFAULT_FRAME_STYLE,
     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 wxPoint GetClientAreaOrigin() const;
+    virtual bool Enable(bool enable = true);
+
+#if wxUSE_STATUSBAR
+    virtual wxStatusBar* CreateStatusBar(int number = 1,
+                                         long style = wxSTB_DEFAULT_STYLE,
+                                         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 wxSize GetMinSize() const;
 
 protected:
     void OnSize(wxSizeEvent& event);
 
 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();
 
 #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
 
 #endif // wxUSE_MENUS
 
+protected:
+#if wxUSE_TOOLBAR
+    virtual void PositionToolBar();
+#endif // wxUSE_TOOLBAR
+
     DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS(wxFrame)
 };
     DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS(wxFrame)
 };