fixing SetSubMenu for OSX_Cocoa, fixes #11581

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63015 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2009-12-30 08:35:01 +00:00
parent e16bff8e62
commit b7a015cbb4

View File

@@ -143,10 +143,25 @@ public :
virtual void InsertOrAppend(wxMenuItem *pItem, size_t pos)
{
NSMenuItem* nsmenuitem = (NSMenuItem*) pItem->GetPeer()->GetHMenuItem();
// make sure a call of SetSubMenu is also reflected (occuring after Create)
// update the native menu item accordingly
if ( pItem->IsSubMenu() )
{
wxMenu* wxsubmenu = pItem->GetSubMenu();
WXHMENU nssubmenu = wxsubmenu->GetHMenu();
if ( [nsmenuitem submenu] != nssubmenu )
{
wxsubmenu->GetPeer()->SetTitle( pItem->GetItemLabelText() );
[nsmenuitem setSubmenu:nssubmenu];
}
}
if ( pos == (size_t) -1 )
[m_osxMenu addItem:(NSMenuItem*) pItem->GetPeer()->GetHMenuItem() ];
[m_osxMenu addItem:nsmenuitem ];
else
[m_osxMenu insertItem:(NSMenuItem*) pItem->GetPeer()->GetHMenuItem() atIndex:pos];
[m_osxMenu insertItem:nsmenuitem atIndex:pos];
}
virtual void Remove( wxMenuItem *pItem )