]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/cocoa/NSWindow.h
refactored code to do brush adjustment for bg drawing in only one place
[wxWidgets.git] / include / wx / cocoa / NSWindow.h
... / ...
CommitLineData
1///////////////////////////////////////////////////////////////////////////////
2// Name: wx/cocoa/NSWindow.h
3// Purpose: wxCocoaNSWindow class
4// Author: David Elliott
5// Modified by:
6// Created: 2003/03/16
7// RCS-ID: $Id:
8// Copyright: (c) 2003 David Elliott
9// Licence: wxWindows licence
10///////////////////////////////////////////////////////////////////////////////
11
12#ifndef __WX_COCOA_NSWINDOW_H__
13#define __WX_COCOA_NSWINDOW_H__
14
15#include "wx/hashmap.h"
16#include "wx/cocoa/ObjcAssociate.h"
17
18WX_DECLARE_OBJC_HASHMAP(NSWindow);
19
20class WXDLLEXPORT wxMenuBar;
21class WXDLLEXPORT wxTopLevelWindowCocoa;
22
23DECLARE_WXCOCOA_OBJC_CLASS(NSMenuItem);
24DECLARE_WXCOCOA_OBJC_CLASS(wxNSWindowDelegate);
25
26class wxCocoaNSWindow
27{
28/* NSWindow is a rather special case and requires some extra attention */
29 WX_DECLARE_OBJC_INTERFACE_HASHMAP(NSWindow)
30public:
31 void AssociateNSWindow(WX_NSWindow cocoaNSWindow);
32 void DisassociateNSWindow(WX_NSWindow cocoaNSWindow);
33 virtual bool Cocoa_canBecomeMainWindow(bool &canBecome)
34 { return false; }
35 virtual bool CocoaDelegate_windowShouldClose(void) = 0;
36 virtual void CocoaDelegate_windowWillClose(void) = 0;
37 virtual void CocoaDelegate_windowDidBecomeKey(void) { }
38 virtual void CocoaDelegate_windowDidResignKey(void) { }
39 virtual void CocoaDelegate_windowDidBecomeMain(void) { }
40 virtual void CocoaDelegate_windowDidResignMain(void) { }
41 virtual void CocoaDelegate_wxMenuItemAction(WX_NSMenuItem menuItem) = 0;
42 virtual bool CocoaDelegate_validateMenuItem(WX_NSMenuItem menuItem) = 0;
43 virtual wxMenuBar* GetAppMenuBar(wxCocoaNSWindow *win);
44 inline wxTopLevelWindowCocoa* GetWxTopLevelWindowCocoa()
45 { return m_wxTopLevelWindowCocoa; }
46protected:
47 wxCocoaNSWindow(wxTopLevelWindowCocoa *tlw = NULL);
48 virtual ~wxCocoaNSWindow();
49 WX_wxNSWindowDelegate m_cocoaDelegate;
50 wxTopLevelWindowCocoa *m_wxTopLevelWindowCocoa;
51};
52
53#endif // _WX_COCOA_NSWINDOW_H_