]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/frame.h
Implemented wxDC stack with focus locking and unlocking
[wxWidgets.git] / include / wx / mac / frame.h
index c71cf5fee5b6fdac331879177fd2a365ac89f638..aa21b150ee4d02033328d05ade38286b83653e60 100644 (file)
@@ -1,18 +1,18 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        frame.h
-// Purpose:     wxFrameMac class
-// Author:      AUTHOR
+// Purpose:     wxFrame class
+// Author:      Stefan Csomor
 // Modified by:
-// Created:     ??/??/98
+// Created:     1998-01-01
 // RCS-ID:      $Id$
-// Copyright:   (c) AUTHOR
-// Licence:    wxWindows licence
+// Copyright:   (c) Stefan Csomor
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_FRAME_H_
 #define _WX_FRAME_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
 #pragma interface "frame.h"
 #endif
 
 #include "wx/accel.h"
 #include "wx/icon.h"
 
-WXDLLEXPORT_DATA(extern const char*) wxFrameNameStr;
-WXDLLEXPORT_DATA(extern const char*) wxToolBarNameStr;
+WXDLLEXPORT_DATA(extern const wxChar*) wxFrameNameStr;
+WXDLLEXPORT_DATA(extern const wxChar*) wxToolBarNameStr;
 
 class WXDLLEXPORT wxMenuBar;
 class WXDLLEXPORT wxStatusBar;
 class WXDLLEXPORT wxMacToolTip ;
 
-class WXDLLEXPORT wxFrameMac: public wxFrameBase {
-
-  DECLARE_DYNAMIC_CLASS(wxFrameMac)
-
+class WXDLLEXPORT wxFrame: public wxFrameBase 
+{
 public:
     // construction
-    wxFrameMac() { Init(); }
-    wxFrameMac(wxWindow *parent,
+    wxFrame() { Init(); }
+    wxFrame(wxWindow *parent,
             wxWindowID id,
             const wxString& title,
             const wxPoint& pos = wxDefaultPosition,
@@ -56,21 +54,13 @@ public:
                 long style = wxDEFAULT_FRAME_STYLE,
                 const wxString& name = wxFrameNameStr);
 
-    virtual ~wxFrameMac();
-
-    // implement base class pure virtuals
-    virtual void Maximize(bool maximize = TRUE);
-    virtual bool IsMaximized() const;
-    virtual void Iconize(bool iconize = TRUE);
-    virtual bool IsIconized() const;
-    virtual void Restore();
-    virtual void SetIcon(const wxIcon& icon);
+    virtual ~wxFrame();
 
     // implementation only from now on
     // -------------------------------
 
     // override some more virtuals
-       virtual bool Enable(bool enable) ;
+    virtual bool Enable(bool enable = TRUE) ;
 
     // get the origin of the client area (which may be different from (0, 0)
     // if the frame has a toolbar) in client coordinates
@@ -82,7 +72,7 @@ public:
 
     // Toolbar
 #if wxUSE_TOOLBAR
-    virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER | wxTB_HORIZONTAL | wxTB_FLAT,
+    virtual wxToolBar* CreateToolBar(long style = -1,
                                      wxWindowID id = -1,
                                      const wxString& name = wxToolBarNameStr);
 
@@ -97,11 +87,6 @@ public:
                                            const wxString& name = wxStatusLineNameStr);
 
     virtual void PositionStatusBar();
-
-  // Hint to tell framework which status bar to use
-  // TODO: should this go into a wxFrameworkSettings class perhaps?
-  static void UseNativeStatusBar(bool useNative) { m_useNativeStatusBar = useNative; };
-  static bool UsesNativeStatusBar() { return m_useNativeStatusBar; };
 #endif // wxUSE_STATUSBAR
 
     // tooltip management
@@ -111,6 +96,10 @@ public:
     wxMacToolTip* m_hwndToolTip ;
 #endif // tooltips
 
+    // called by wxWindow whenever it gets focus
+    void SetLastFocus(wxWindow *win) { m_winLastFocused = win; }
+    wxWindow *GetLastFocus() const { return m_winLastFocused; }
+
 protected:
     // common part of all ctors
     void Init();
@@ -119,16 +108,16 @@ protected:
     virtual void DoGetClientSize(int *width, int *height) const;
     virtual void DoSetClientSize(int width, int height);
 
+    virtual void DetachMenuBar();
+    virtual void AttachMenuBar(wxMenuBar *menubar);
+
 protected:
-  bool                  m_iconized;
-#if wxUSE_STATUSBAR
-    static bool           m_useNativeStatusBar;
-#endif // wxUSE_STATUSBAR
     // the last focused child: we restore focus to it on activation
     wxWindow             *m_winLastFocused;
 
 private:
     DECLARE_EVENT_TABLE()
+    DECLARE_DYNAMIC_CLASS(wxFrame)
 };
 
 #endif