]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/frame.h
Blind bug fix to bug reported by Angel Kry.
[wxWidgets.git] / include / wx / univ / frame.h
index 371a024bb415dfcc5786cd4dcb5c4756ad7f89a7..03f550957e305690104de4bf80502e3b9109fc06 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef _WX_UNIV_FRAME_H_
 #define _WX_UNIV_FRAME_H_
 
 #ifndef _WX_UNIV_FRAME_H_
 #define _WX_UNIV_FRAME_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma interface "univframe.h"
 #endif
 
     #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
-#elif defined(__WXMAC__)
-#define wxFrameNative wxFrameMac
-#endif
-
-class wxFrame : public wxFrameNative
+class WXDLLEXPORT 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 );
+    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);
+    virtual void PositionToolBar();
+#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);
 
 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
 
     DECLARE_EVENT_TABLE()
 #endif // wxUSE_MENUS
 
     DECLARE_EVENT_TABLE()