X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e85b547a56a9346c2bdd690b2885ab2ef520c2b..eea4d01c65f9b29baa1193db762b4c6b8144af24:/src/cocoa/menuitem.mm?ds=sidebyside diff --git a/src/cocoa/menuitem.mm b/src/cocoa/menuitem.mm index c1248355e8..b5d1daa220 100644 --- a/src/cocoa/menuitem.mm +++ b/src/cocoa/menuitem.mm @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: menuitem.cpp +// Name: src/cocoa/menuitem.mm // Purpose: wxMenuItem implementation // Author: David Elliott // Modified by: @@ -18,15 +18,20 @@ // ---------------------------------------------------------------------------- #include "wx/wxprec.h" + +#if wxUSE_MENUS + +#include "wx/menuitem.h" + +#include "wx/cocoa/objc/objc_uniquifying.h" + #ifndef WX_PRECOMP #include "wx/menu.h" - #include "wx/menuitem.h" #include "wx/utils.h" #include "wx/frame.h" #include "wx/log.h" #endif -#include "wx/cocoa/ObjcPose.h" #include "wx/cocoa/autorelease.h" #include "wx/cocoa/string.h" @@ -36,8 +41,6 @@ #import // NSOnState, NSOffState #import // modifier key masks -#if wxUSE_MENUS - // ---------------------------------------------------------------------------- // functions prototypes // ---------------------------------------------------------------------------- @@ -52,6 +55,7 @@ - (void)wxMenuItemAction: (id)sender; - (BOOL)validateMenuItem: (id)menuItem; @end //interface wxNSMenuItemTarget +WX_DECLARE_GET_OBJC_CLASS(wxNSMenuItemTarget,NSObject) @implementation wxNSMenuItemTarget : NSObject @@ -73,14 +77,14 @@ } @end //implementation wxNSMenuItemTarget +WX_IMPLEMENT_GET_OBJC_CLASS(wxNSMenuItemTarget,NSObject) // ============================================================================ // wxMenuItemCocoa implementation // ============================================================================ -IMPLEMENT_DYNAMIC_CLASS(wxMenuItem, wxObject) wxMenuItemCocoaHash wxMenuItemCocoa::sm_cocoaHash; -wxObjcAutoRefFromAlloc wxMenuItemCocoa::sm_cocoaTarget = [[wxNSMenuItemTarget alloc] init]; +wxObjcAutoRefFromAlloc wxMenuItemCocoa::sm_cocoaTarget = [[WX_GET_OBJC_CLASS(wxNSMenuItemTarget) alloc] init]; // ---------------------------------------------------------------------------- // wxMenuItemBase @@ -96,12 +100,6 @@ wxMenuItem *wxMenuItemBase::New(wxMenu *parentMenu, return new wxMenuItem(parentMenu, itemid, name, help, kind, subMenu); } -/* static */ -wxString wxMenuItemBase::GetLabelFromText(const wxString& text) -{ - return wxStripMenuCodes(text); -} - void wxMenuItemCocoa::CocoaSetKeyEquivalent() { wxAcceleratorEntry *accel = GetAccel(); @@ -227,7 +225,7 @@ void wxMenuItem::SetBitmaps(const wxBitmap& bmpChecked, } else { - wxASSERT_MSG(!bmpUnchecked.Ok(),wxT("Normal menu items should only have one bitmap")); + wxASSERT_MSG(!bmpUnchecked.IsOk(),wxT("Normal menu items should only have one bitmap")); [m_cocoaNSMenuItem setImage: bmpChecked.GetNSImage(true)]; } } @@ -280,9 +278,9 @@ void wxMenuItem::Check(bool check) } } -void wxMenuItem::SetText(const wxString& label) +void wxMenuItem::SetItemLabel(const wxString& label) { - wxMenuItemBase::SetText(label); + wxMenuItemBase::SetItemLabel(label); wxCHECK_RET(m_kind != wxITEM_SEPARATOR, wxT("Separator items do not have titles.")); [m_cocoaNSMenuItem setTitle: wxNSStringWithWxString(wxStripMenuCodes(label))]; CocoaSetKeyEquivalent();