]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cocoa/toplevel.h
Factory some of wxFilterClassFactory into a base class.
[wxWidgets.git] / include / wx / cocoa / toplevel.h
index cb45fd5ca53a79e94ca47bb68427e639f48cc0d4..5ac33f1a7730171442ad62a5ac2abdc533539ecf 100644 (file)
@@ -4,9 +4,9 @@
 // Author:      David Elliott
 // Modified by:
 // Created:     2002/12/08
-// RCS-ID:      $Id
+// RCS-ID:      $Id$
 // Copyright:   (c) 2002 David Elliott
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 #ifndef __WX_COCOA_TOPLEVEL_H__
 #include "wx/hashmap.h"
 #include "wx/cocoa/NSWindow.h"
 
+class WXDLLEXPORT wxMenuBar;
+
 // ========================================================================
 // wxTopLevelWindowCocoa
 // ========================================================================
 class WXDLLEXPORT wxTopLevelWindowCocoa : public wxTopLevelWindowBase, protected wxCocoaNSWindow
 {
-    DECLARE_CLASS(wxTopLevelWindowCocoa);
     DECLARE_EVENT_TABLE();
+    DECLARE_NO_COPY_CLASS(wxTopLevelWindowCocoa);
 // ------------------------------------------------------------------------
 // initialization
 // ------------------------------------------------------------------------
 public:
-    inline wxTopLevelWindowCocoa() { Init(); }
+    inline wxTopLevelWindowCocoa()
+    :   wxCocoaNSWindow(this)
+    {   Init(); }
 
     inline wxTopLevelWindowCocoa(wxWindow *parent,
                         wxWindowID winid,
@@ -35,6 +39,7 @@ public:
                         const wxSize& size = wxDefaultSize,
                         long style = wxDEFAULT_FRAME_STYLE,
                         const wxString& name = wxFrameNameStr)
+    :   wxCocoaNSWindow(this)
     {
         Init();
         Create(parent, winid, title, pos, size, style, name);
@@ -59,18 +64,29 @@ protected:
 // ------------------------------------------------------------------------
 public:
     inline WX_NSWindow GetNSWindow() { return m_cocoaNSWindow; }
-    virtual void Cocoa_close(void);
-    virtual bool Cocoa_windowShouldClose(void);
-    virtual void Cocoa_wxMenuItemAction(wxMenuItem& item);
+    virtual void CocoaDelegate_windowWillClose(void);
+    virtual bool CocoaDelegate_windowShouldClose(void);
+    virtual void CocoaDelegate_windowDidBecomeKey(void);
+    virtual void CocoaDelegate_windowDidResignKey(void);
+    virtual void CocoaDelegate_windowDidBecomeMain(void);
+    virtual void CocoaDelegate_windowDidResignMain(void);
+    virtual void CocoaDelegate_wxMenuItemAction(WX_NSMenuItem sender);
+    virtual bool CocoaDelegate_validateMenuItem(WX_NSMenuItem sender);
+    virtual wxMenuBar* GetAppMenuBar(wxCocoaNSWindow *win);
+    static void DeactivatePendingWindow();
 protected:
     void SetNSWindow(WX_NSWindow cocoaNSWindow);
     WX_NSWindow m_cocoaNSWindow;
     static wxCocoaNSWindowHash sm_cocoaHash;
+    virtual void CocoaReplaceView(WX_NSView oldView, WX_NSView newView);
+    static unsigned int NSWindowStyleForWxStyle(long style);
 
+    static wxTopLevelWindowCocoa *sm_cocoaDeactivateWindow;
 // ------------------------------------------------------------------------
 // Implementation
 // ------------------------------------------------------------------------
 public:
+    virtual bool Destroy();
     // Pure virtuals
     virtual void Maximize(bool maximize = true);
     virtual bool IsMaximized() const;
@@ -83,9 +99,12 @@ public:
     virtual bool Show( bool show = true );
     virtual bool Close( bool force = false );
     virtual void OnCloseWindow(wxCloseEvent& event);
+    virtual void CocoaSetWxWindowSize(int width, int height);
     virtual void DoMoveWindow(int x, int y, int width, int height);
     virtual void DoGetSize(int *width, int *height) const;
     virtual void DoGetPosition(int *x, int *y) const;
+    virtual void SetTitle( const wxString& title);
+    virtual wxString GetTitle() const;
 
 
 // Things I may/may not do
@@ -94,7 +113,6 @@ public:
 //    virtual void Clear() ;
 //    virtual void Raise();
 //    virtual void Lower();
-//    virtual void SetTitle( const wxString& title);
 protected:
     // is the frame currently iconized?
     bool m_iconized;