// 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 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(struct objc_object *sender);
+ virtual bool CocoaDelegate_validateMenuItem(struct objc_object *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;
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;