]> git.saurik.com Git - wxWidgets.git/blame - include/wx/cocoa/NSMenu.h
Use wxObjcAutoRefFromAlloc for sm_cocoaTarget.
[wxWidgets.git] / include / wx / cocoa / NSMenu.h
CommitLineData
fb896a32
DE
1///////////////////////////////////////////////////////////////////////////////
2// Name: wx/cocoa/NSMenu.h
3// Purpose: wxCocoaNSMenu class
4// Author: David Elliott
5// Modified by:
6// Created: 2002/12/09
605c7e7e 7// RCS-ID: $Id$
fb896a32 8// Copyright: (c) 2002 David Elliott
65571936 9// Licence: wxWindows licence
fb896a32
DE
10///////////////////////////////////////////////////////////////////////////////
11
12#ifndef __WX_COCOA_NSMENU_H__
13#define __WX_COCOA_NSMENU_H__
14
15#include "wx/hashmap.h"
e6686511 16#include "wx/cocoa/ObjcAssociate.h"
fb896a32
DE
17
18WX_DECLARE_OBJC_HASHMAP(NSMenu);
19
20// ========================================================================
21// wxCocoaNSMenu
22// ========================================================================
23
24class wxCocoaNSMenu
25{
bcf01487
DE
26 WX_DECLARE_OBJC_INTERFACE_HASHMAP(NSMenu)
27public:
28 void AssociateNSMenu(WX_NSMenu cocoaNSMenu, unsigned int flags = 0);
29 void DisassociateNSMenu(WX_NSMenu cocoaNSMenu);
30 enum
31 { OBSERVE_DidAddItem = 0x01
32 , OBSERVE_DidChangeItem = 0x02
33 , OBSERVE_DidRemoveItem = 0x04
34 , OBSERVE_DidSendAction = 0x08
35 , OBSERVE_WillSendAction = 0x10
36 };
1981118d
DE
37 virtual void CocoaNotification_menuDidAddItem(WX_NSNotification notification) {}
38 virtual void CocoaNotification_menuDidChangeItem(WX_NSNotification notification) {}
39 virtual void CocoaNotification_menuDidRemoveItem(WX_NSNotification notification) {}
40 virtual void CocoaNotification_menuDidSendAction(WX_NSNotification notification) {}
41 virtual void CocoaNotification_menuWillSendAction(WX_NSNotification notification) {}
bcf01487
DE
42protected:
43 static struct objc_object *sm_cocoaObserver;
fb896a32
DE
44};
45
46#endif // _WX_COCOA_NSMENU_H_