X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fb896a322a2ed53d393ee738765ddd3f72cee004..a353dc9852cc44fcffd339895ba3024d0eebbad7:/include/wx/cocoa/toplevel.h diff --git a/include/wx/cocoa/toplevel.h b/include/wx/cocoa/toplevel.h index cb45fd5ca5..779028ca15 100644 --- a/include/wx/cocoa/toplevel.h +++ b/include/wx/cocoa/toplevel.h @@ -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__ @@ -15,18 +15,22 @@ #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,6 +99,7 @@ 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;