X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e08efb8dd9d9af576baec04aa77a7ea4bd31de3b..333e57d578e9e0fb6555452b5a53698ffd85ee69:/include/wx/cocoa/toplevel.h diff --git a/include/wx/cocoa/toplevel.h b/include/wx/cocoa/toplevel.h index 075d6dee87..4a4780e9b6 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,6 +15,8 @@ #include "wx/hashmap.h" #include "wx/cocoa/NSWindow.h" +class WXDLLIMPEXP_FWD_CORE wxMenuBar; + // ======================================================================== // wxTopLevelWindowCocoa // ======================================================================== @@ -26,7 +28,9 @@ class WXDLLEXPORT wxTopLevelWindowCocoa : public wxTopLevelWindowBase, protected // 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,19 +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; @@ -88,15 +103,17 @@ public: 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; + // Default button (item) + wxWindow *SetDefaultItem(wxWindow *win); // Things I may/may not do -// virtual void SetIcon(const wxIcon& icon); -// virtual void SetIcons(const wxIconBundle& icons) { SetIcon( icons.GetIcon( -1 ) ); } +// virtual void SetIcons(const wxIconBundle& icons); // virtual void Clear() ; // virtual void Raise(); // virtual void Lower(); -// virtual void SetTitle( const wxString& title); protected: // is the frame currently iconized? bool m_iconized;