added direct HICommand updating
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -99,21 +99,39 @@ void wxMenuItem::UpdateItemStatus()
|
|||||||
if ( !m_parentMenu )
|
if ( !m_parentMenu )
|
||||||
return ;
|
return ;
|
||||||
|
|
||||||
MenuHandle mhandle = MAC_WXHMENU(m_parentMenu->GetHMenu()) ;
|
#if TARGET_CARBON
|
||||||
MenuItemIndex index = m_parentMenu->MacGetIndexFromItem( this ) ;
|
if ( UMAGetSystemVersion() >= 0x1000 && GetId() == wxApp::s_macPreferencesMenuItemId)
|
||||||
if( mhandle == NULL || index == 0)
|
{
|
||||||
return ;
|
if ( !IsEnabled() )
|
||||||
|
DisableMenuCommand( NULL , kHICommandPreferences ) ;
|
||||||
|
else
|
||||||
|
EnableMenuCommand( NULL , kHICommandPreferences ) ;
|
||||||
|
}
|
||||||
|
if ( UMAGetSystemVersion() >= 0x1000 && GetId() == wxApp::s_macExitMenuItemId)
|
||||||
|
{
|
||||||
|
if ( !IsEnabled() )
|
||||||
|
DisableMenuCommand( NULL , kHICommandQuit ) ;
|
||||||
|
else
|
||||||
|
EnableMenuCommand( NULL , kHICommandQuit ) ;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
MenuHandle mhandle = MAC_WXHMENU(m_parentMenu->GetHMenu()) ;
|
||||||
|
MenuItemIndex index = m_parentMenu->MacGetIndexFromItem( this ) ;
|
||||||
|
if( mhandle == NULL || index == 0)
|
||||||
|
return ;
|
||||||
|
|
||||||
UMAEnableMenuItem( mhandle , index , m_isEnabled ) ;
|
UMAEnableMenuItem( mhandle , index , m_isEnabled ) ;
|
||||||
if ( IsCheckable() && IsChecked() )
|
if ( IsCheckable() && IsChecked() )
|
||||||
::SetItemMark( mhandle , index , 0x12 ) ; // checkmark
|
::SetItemMark( mhandle , index , 0x12 ) ; // checkmark
|
||||||
else
|
else
|
||||||
::SetItemMark( mhandle , index , 0 ) ; // no mark
|
::SetItemMark( mhandle , index , 0 ) ; // no mark
|
||||||
|
|
||||||
UMASetMenuItemText( mhandle , index , m_text ) ;
|
UMASetMenuItemText( mhandle , index , m_text ) ;
|
||||||
wxAcceleratorEntry *entry = wxGetAccelFromString( m_text ) ;
|
wxAcceleratorEntry *entry = wxGetAccelFromString( m_text ) ;
|
||||||
UMASetMenuItemShortcut( mhandle , index , entry ) ;
|
UMASetMenuItemShortcut( mhandle , index , entry ) ;
|
||||||
delete entry ;
|
delete entry ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxMenuItem::UpdateItemText()
|
void wxMenuItem::UpdateItemText()
|
||||||
|
@@ -99,21 +99,39 @@ void wxMenuItem::UpdateItemStatus()
|
|||||||
if ( !m_parentMenu )
|
if ( !m_parentMenu )
|
||||||
return ;
|
return ;
|
||||||
|
|
||||||
MenuHandle mhandle = MAC_WXHMENU(m_parentMenu->GetHMenu()) ;
|
#if TARGET_CARBON
|
||||||
MenuItemIndex index = m_parentMenu->MacGetIndexFromItem( this ) ;
|
if ( UMAGetSystemVersion() >= 0x1000 && GetId() == wxApp::s_macPreferencesMenuItemId)
|
||||||
if( mhandle == NULL || index == 0)
|
{
|
||||||
return ;
|
if ( !IsEnabled() )
|
||||||
|
DisableMenuCommand( NULL , kHICommandPreferences ) ;
|
||||||
|
else
|
||||||
|
EnableMenuCommand( NULL , kHICommandPreferences ) ;
|
||||||
|
}
|
||||||
|
if ( UMAGetSystemVersion() >= 0x1000 && GetId() == wxApp::s_macExitMenuItemId)
|
||||||
|
{
|
||||||
|
if ( !IsEnabled() )
|
||||||
|
DisableMenuCommand( NULL , kHICommandQuit ) ;
|
||||||
|
else
|
||||||
|
EnableMenuCommand( NULL , kHICommandQuit ) ;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
MenuHandle mhandle = MAC_WXHMENU(m_parentMenu->GetHMenu()) ;
|
||||||
|
MenuItemIndex index = m_parentMenu->MacGetIndexFromItem( this ) ;
|
||||||
|
if( mhandle == NULL || index == 0)
|
||||||
|
return ;
|
||||||
|
|
||||||
UMAEnableMenuItem( mhandle , index , m_isEnabled ) ;
|
UMAEnableMenuItem( mhandle , index , m_isEnabled ) ;
|
||||||
if ( IsCheckable() && IsChecked() )
|
if ( IsCheckable() && IsChecked() )
|
||||||
::SetItemMark( mhandle , index , 0x12 ) ; // checkmark
|
::SetItemMark( mhandle , index , 0x12 ) ; // checkmark
|
||||||
else
|
else
|
||||||
::SetItemMark( mhandle , index , 0 ) ; // no mark
|
::SetItemMark( mhandle , index , 0 ) ; // no mark
|
||||||
|
|
||||||
UMASetMenuItemText( mhandle , index , m_text ) ;
|
UMASetMenuItemText( mhandle , index , m_text ) ;
|
||||||
wxAcceleratorEntry *entry = wxGetAccelFromString( m_text ) ;
|
wxAcceleratorEntry *entry = wxGetAccelFromString( m_text ) ;
|
||||||
UMASetMenuItemShortcut( mhandle , index , entry ) ;
|
UMASetMenuItemShortcut( mhandle , index , entry ) ;
|
||||||
delete entry ;
|
delete entry ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxMenuItem::UpdateItemText()
|
void wxMenuItem::UpdateItemText()
|
||||||
|
Reference in New Issue
Block a user