X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e668651137922bee36b5773d638aa696e78854d1..900ca9b89ac66740884f6d8d2b5b04ffca1bb3f7:/include/wx/cocoa/NSMenu.h diff --git a/include/wx/cocoa/NSMenu.h b/include/wx/cocoa/NSMenu.h index 4e9043f61b..281bf55d4d 100644 --- a/include/wx/cocoa/NSMenu.h +++ b/include/wx/cocoa/NSMenu.h @@ -4,7 +4,7 @@ // Author: David Elliott // Modified by: // Created: 2002/12/09 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) 2002 David Elliott // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -23,28 +23,27 @@ WX_DECLARE_OBJC_HASHMAP(NSMenu); class wxCocoaNSMenu { - WX_DECLARE_OBJC_INTERFACE(NSMenu) -// ------------------------------------------------------------------------ -// initialization -// ------------------------------------------------------------------------ + WX_DECLARE_OBJC_INTERFACE_HASHMAP(NSMenu) public: - inline wxCocoaNSMenu() - { - m_cocoaNSMenu = NULL; - } - ~wxCocoaNSMenu(); -// ------------------------------------------------------------------------ -// Cocoa specifics -// ------------------------------------------------------------------------ -public: - bool CocoaCreate(const wxString &title); - inline WX_NSMenu GetNSMenu() { return m_cocoaNSMenu; } -protected: - WX_NSMenu m_cocoaNSMenu; -// ------------------------------------------------------------------------ -// Implementation -// ------------------------------------------------------------------------ + void AssociateNSMenu(WX_NSMenu cocoaNSMenu, unsigned int flags = 0); + void DisassociateNSMenu(WX_NSMenu cocoaNSMenu); + enum + { OBSERVE_DidAddItem = 0x01 + , OBSERVE_DidChangeItem = 0x02 + , OBSERVE_DidRemoveItem = 0x04 + , OBSERVE_DidSendAction = 0x08 + , OBSERVE_WillSendAction = 0x10 + }; + virtual void Cocoa_dealloc() {} + virtual void CocoaNotification_menuDidAddItem(WX_NSNotification notification) {} + virtual void CocoaNotification_menuDidChangeItem(WX_NSNotification notification) {} + virtual void CocoaNotification_menuDidRemoveItem(WX_NSNotification notification) {} + virtual void CocoaNotification_menuDidSendAction(WX_NSNotification notification) {} + virtual void CocoaNotification_menuWillSendAction(WX_NSNotification notification) {} + virtual ~wxCocoaNSMenu() { } + protected: + static struct objc_object *sm_cocoaObserver; }; #endif // _WX_COCOA_NSMENU_H_