*/
-const wxMenuInfoList& wxMenuBar::GetMenuInfos() const
-{
- wxMenuInfoList* list = const_cast< wxMenuInfoList* >( &m_menuInfos ) ;
- WX_CLEAR_LIST( wxMenuInfoList , *list ) ;
- for( size_t i = 0 ; i < GetMenuCount() ; ++i )
- {
- wxMenuInfo* info = new wxMenuInfo() ;
- info->Create( const_cast<wxMenuBar*>(this)->GetMenu(i) , GetLabelTop(i) ) ;
- list->Append( info ) ;
- }
- return m_menuInfos ;
-}
-
wxMenuBar* wxMenuBar::s_macInstalledMenuBar = NULL ;
wxMenuBar* wxMenuBar::s_macCommonMenuBar = NULL ;
}
-wxMenuBar::wxMenuBar(int count, wxMenu *menus[], const wxString titles[])
+wxMenuBar::wxMenuBar(size_t count, wxMenu *menus[], const wxString titles[], long WXUNUSED(style))
{
Init();
m_titles.Alloc(count);
- for ( int i = 0; i < count; i++ )
+ for ( size_t i = 0; i < count; i++ )
{
m_menus.Append(menus[i]);
m_titles.Add(titles[i]);
else
EnableMenuCommand( NULL , kHICommandPreferences ) ;
}
+ // Unlike preferences which may or may not exist, the Quit item should be always
+ // enabled unless it is added by the application and then disabled, otherwise
+ // a program would be required to add an item with wxID_EXIT in order to get the
+ // Quit menu item to be enabled, which seems a bit burdensome.
+ if ( UMAGetSystemVersion() >= 0x1000 && wxApp::s_macExitMenuItemId)
+ {
+ wxMenuItem *item = FindItem( wxApp::s_macExitMenuItemId , NULL ) ;
+ if ( item != NULL && !(item->IsEnabled()) )
+ DisableMenuCommand( NULL , kHICommandQuit ) ;
+ else
+ EnableMenuCommand( NULL , kHICommandQuit ) ;
+ }
#endif
wxMenuList::compatibility_iterator menuIter = m_menus.GetFirst();
//