X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/950432e40723ab8fabdff72a98e304c8cff4b20b..fb8d7eb7a880f1f2e32d8830f9c5e12b2536e05f:/src/cocoa/menu.mm diff --git a/src/cocoa/menu.mm b/src/cocoa/menu.mm index 529f422350..b02bb35b34 100644 --- a/src/cocoa/menu.mm +++ b/src/cocoa/menu.mm @@ -1,12 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: cocoa/menu.cpp +// Name: src/cocoa/menu.mm // Purpose: wxMenu and wxMenuBar implementation // Author: David Elliott // Modified by: // Created: 2002/12/09 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) 2002 David Elliott -// Licence: wxWidgets licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -18,8 +18,10 @@ // ---------------------------------------------------------------------------- #include "wx/wxprec.h" + +#include "wx/menu.h" + #ifndef WX_PRECOMP - #include "wx/menu.h" #include "wx/log.h" #endif // WX_PRECOMP @@ -27,7 +29,7 @@ #include "wx/cocoa/string.h" #import -#import +#include "wx/cocoa/objc/NSMenu.h" #if wxUSE_MENUS @@ -39,12 +41,10 @@ // wxMenu implementation // ============================================================================ -IMPLEMENT_DYNAMIC_CLASS(wxMenu,wxEvtHandler) - bool wxMenu::Create(const wxString& title, long style) { wxAutoNSAutoreleasePool pool; - m_cocoaNSMenu = [[NSMenu alloc] initWithTitle: wxNSStringWithWxString(title)]; + m_cocoaNSMenu = [[WX_GET_OBJC_CLASS(WXNSMenu) alloc] initWithTitle: wxNSStringWithWxString(title)]; AssociateNSMenu(m_cocoaNSMenu); return true; } @@ -113,7 +113,6 @@ void wxMenu::Cocoa_dealloc() // ============================================================================ // wxMenuBar implementation // ============================================================================ -IMPLEMENT_DYNAMIC_CLASS(wxMenuBar,wxWindow) bool wxMenuBar::Create(long style) { @@ -128,6 +127,17 @@ bool wxMenuBar::Create(long style) return true; } +wxMenuBar::wxMenuBar(size_t n, + wxMenu *menus[], + const wxString titles[], + long style) +{ + Create(style); + + for ( size_t i = 0; i < n; ++i ) + Append(menus[i], titles[i]); +} + wxMenuBar::~wxMenuBar() { [m_cocoaNSMenu release]; @@ -202,11 +212,11 @@ bool wxMenuBar::IsEnabledTop(size_t pos) const return false; } -void wxMenuBar::SetLabelTop(size_t pos, const wxString& label) +void wxMenuBar::SetMenuLabel(size_t pos, const wxString& label) { } -wxString wxMenuBar::GetLabelTop(size_t pos) const +wxString wxMenuBar::GetMenuLabel(size_t pos) const { wxMenu *menu = GetMenu(pos); int itemindex = [m_cocoaNSMenu indexOfItemWithSubmenu:menu->GetNSMenu()];