X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2f1ae4143271ae63a17e052a1a471d16e9cd8c44..88bed4b484a2f78c284c049428cd82adcc69f25d:/src/mac/carbon/menuitem.cpp diff --git a/src/mac/carbon/menuitem.cpp b/src/mac/carbon/menuitem.cpp index 153c750c44..062a2f6edd 100644 --- a/src/mac/carbon/menuitem.cpp +++ b/src/mac/carbon/menuitem.cpp @@ -13,10 +13,11 @@ // headers & declarations // ============================================================================ +#include "wx/app.h" #include "wx/menu.h" #include "wx/menuitem.h" -#include +#include "wx/mac/uma.h" // ============================================================================ // implementation // ============================================================================ @@ -41,7 +42,7 @@ void wxMacCtoPString(const char* theCString, Str255 thePString); // remove inappropriate characters, if useShortcuts is false, the ampersand will not auto-generate a mac menu-shortcut -wxMenuItem::MacBuildMenuString(StringPtr outMacItemText, SInt16 *outMacShortcutChar , UInt8 *outMacModifiers , const char *inItemText , bool useShortcuts ) +int wxMenuItem::MacBuildMenuString(StringPtr outMacItemText, SInt16 *outMacShortcutChar , UInt8 *outMacModifiers , const char *inItemText , bool useShortcuts ) { char *p = (char *) &outMacItemText[1] ; short macModifiers = 0 ; @@ -191,7 +192,7 @@ wxMenuItem::wxMenuItem(wxMenu *pParentMenu, int id, m_help = strHelp; - if ( m_text == "E&xit" ||m_text == "Exit" ) + if ( m_text == "E&xit" ||m_text == "Exit" ||m_text.Left(5) == "Exit\t" || m_text.Left(6) == "E&xit\t" ) { m_text = "Quit\tCtrl+Q" ; } @@ -248,30 +249,30 @@ void wxMenuItem::Enable(bool bDoEnable) if ( m_subMenu == NULL ) { // normal menu item - if ( m_parentMenu->GetHMenu() ) + if ( MAC_WXHMENU(m_parentMenu->GetHMenu()) ) { int index = m_parentMenu->MacGetIndexFromItem( this ) ; if ( index >= 1 ) { if ( bDoEnable ) - UMAEnableMenuItem( m_parentMenu->GetHMenu() , index ) ; + UMAEnableMenuItem( MAC_WXHMENU(m_parentMenu->GetHMenu()) , index ) ; else - UMADisableMenuItem( m_parentMenu->GetHMenu() , index ) ; + UMADisableMenuItem( MAC_WXHMENU(m_parentMenu->GetHMenu()) , index ) ; } } } else { // submenu - if ( m_parentMenu->GetHMenu() ) + if ( MAC_WXHMENU(m_parentMenu->GetHMenu()) ) { int index = m_parentMenu->MacGetIndexFromItem( this ) ; if ( index >= 1 ) { if ( bDoEnable ) - UMAEnableMenuItem( m_parentMenu->GetHMenu() , index ) ; + UMAEnableMenuItem( MAC_WXHMENU(m_parentMenu->GetHMenu()) , index ) ; else - UMADisableMenuItem( m_parentMenu->GetHMenu() , index ) ; + UMADisableMenuItem( MAC_WXHMENU(m_parentMenu->GetHMenu()) , index ) ; } } } @@ -287,15 +288,15 @@ void wxMenuItem::Check(bool bDoCheck) if ( m_isChecked != bDoCheck ) { m_isChecked = bDoCheck; - if ( m_parentMenu->GetHMenu() ) + if ( MAC_WXHMENU(m_parentMenu->GetHMenu()) ) { int index = m_parentMenu->MacGetIndexFromItem( this ) ; if ( index >= 1 ) { if ( bDoCheck ) - ::SetItemMark( m_parentMenu->GetHMenu() , index , 0x12 ) ; // checkmark + ::SetItemMark( MAC_WXHMENU(m_parentMenu->GetHMenu()) , index , 0x12 ) ; // checkmark else - ::SetItemMark( m_parentMenu->GetHMenu() , index , 0 ) ; // no mark + ::SetItemMark( MAC_WXHMENU(m_parentMenu->GetHMenu()) , index , 0 ) ; // no mark } } } @@ -311,14 +312,14 @@ void wxMenuItem::SetText(const wxString& text) // OWNER_DRAWN_ONLY( wxOwnerDrawn::SetName(text) ); wxCHECK_RET( m_parentMenu && m_parentMenu->GetHMenu(), wxT("menuitem without menu") ); - if ( m_parentMenu->GetHMenu() ) + if ( MAC_WXHMENU(m_parentMenu->GetHMenu()) ) { int index = m_parentMenu->MacGetIndexFromItem( this ) ; if ( index >= 1 ) { Str255 label; MacBuildMenuString( label , NULL , NULL , text ,false); - UMASetMenuItemText( m_parentMenu->GetHMenu() , index , label ) ; // checkmark + ::SetMenuItemText( MAC_WXHMENU(m_parentMenu->GetHMenu()) , index , label ) ; // checkmark } }