]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/menu_osx.cpp
Use the data scheme to load resources in the WebKitGTK+ implementation, rather than...
[wxWidgets.git] / src / osx / menu_osx.cpp
index 371da7e3e20cde0cf976d4e1460a4ab38827ca40..964915949f9b7c5e8e6d700cc567c35bc02fc57c 100644 (file)
@@ -43,7 +43,7 @@ wxMenuImpl::~wxMenuImpl()
 {
 }
 
 {
 }
 
-// the (popup) menu title has this special id
+// the (popup) menu title has this special menuid
 static const int idMenuTitle = -3;
 
 // ============================================================================
 static const int idMenuTitle = -3;
 
 // ============================================================================
@@ -111,7 +111,7 @@ void wxMenu::SetNoEventsMode( bool noEvents )
 bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos)
 {
     wxASSERT_MSG( pItem != NULL, wxT("can't append NULL item to the menu") );
 bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos)
 {
     wxASSERT_MSG( pItem != NULL, wxT("can't append NULL item to the menu") );
-    m_peer->InsertOrAppend( pItem, pos );
+    GetPeer()->InsertOrAppend( pItem, pos );
 
     if ( pItem->IsSeparator() )
     {
 
     if ( pItem->IsSeparator() )
     {
@@ -228,7 +228,7 @@ wxMenuItem *wxMenu::DoRemove(wxMenuItem *item)
 
     wxOSXMenuRemoveItem(m_hMenu , pos );
     */
 
     wxOSXMenuRemoveItem(m_hMenu , pos );
     */
-    m_peer->Remove( item );
+    GetPeer()->Remove( item );
     // and from internal data structures
     return wxMenuBase::DoRemove(item);
 }
     // and from internal data structures
     return wxMenuBase::DoRemove(item);
 }
@@ -236,7 +236,7 @@ wxMenuItem *wxMenu::DoRemove(wxMenuItem *item)
 void wxMenu::SetTitle(const wxString& label)
 {
     m_title = label ;
 void wxMenu::SetTitle(const wxString& label)
 {
     m_title = label ;
-    m_peer->SetTitle( wxStripMenuCodes( label ) );
+    GetPeer()->SetTitle( wxStripMenuCodes( label ) );
 }
 
 bool wxMenu::ProcessCommand(wxCommandEvent & event)
 }
 
 bool wxMenu::ProcessCommand(wxCommandEvent & event)
@@ -337,8 +337,8 @@ void wxMenu::DoRearrange()
 
 bool wxMenu::HandleCommandUpdateStatus( wxMenuItem* item, wxWindow* senderWindow )
 {
 
 bool wxMenu::HandleCommandUpdateStatus( wxMenuItem* item, wxWindow* senderWindow )
 {
-    int id = item ? item->GetId() : 0;
-    wxUpdateUIEvent event(id);
+    int menuid = item ? item->GetId() : 0;
+    wxUpdateUIEvent event(menuid);
     event.SetEventObject( this );
 
     bool processed = false;
     event.SetEventObject( this );
 
     bool processed = false;
@@ -368,11 +368,11 @@ bool wxMenu::HandleCommandUpdateStatus( wxMenuItem* item, wxWindow* senderWindow
     {
         // if anything changed, update the changed attribute
         if (event.GetSetText())
     {
         // if anything changed, update the changed attribute
         if (event.GetSetText())
-            SetLabel(id, event.GetText());
+            SetLabel(menuid, event.GetText());
         if (event.GetSetChecked())
         if (event.GetSetChecked())
-            Check(id, event.GetChecked());
+            Check(menuid, event.GetChecked());
         if (event.GetSetEnabled())
         if (event.GetSetEnabled())
-            Enable(id, event.GetEnabled());
+            Enable(menuid, event.GetEnabled());
     }
     else
     {
     }
     else
     {
@@ -381,11 +381,11 @@ bool wxMenu::HandleCommandUpdateStatus( wxMenuItem* item, wxWindow* senderWindow
         // always reset them ourselves
         UInt32 cmd = 0;
 
         // always reset them ourselves
         UInt32 cmd = 0;
 
-        if ( id == wxApp::s_macExitMenuItemId )
+        if ( menuid == wxApp::s_macExitMenuItemId )
         {
             cmd = kHICommandQuit;
         }
         {
             cmd = kHICommandQuit;
         }
-        else if (id == wxApp::s_macPreferencesMenuItemId )
+        else if (menuid == wxApp::s_macPreferencesMenuItemId )
         {
             cmd = kHICommandPreferences;
         }
         {
             cmd = kHICommandPreferences;
         }
@@ -406,18 +406,18 @@ bool wxMenu::HandleCommandUpdateStatus( wxMenuItem* item, wxWindow* senderWindow
 
 bool wxMenu::HandleCommandProcess( wxMenuItem* item, wxWindow* senderWindow )
 {
 
 bool wxMenu::HandleCommandProcess( wxMenuItem* item, wxWindow* senderWindow )
 {
-    int id = item ? item->GetId() : 0;
+    int menuid = item ? item->GetId() : 0;
     bool processed = false;
     if (item->IsCheckable())
         item->Check( !item->IsChecked() ) ;
 
     bool processed = false;
     if (item->IsCheckable())
         item->Check( !item->IsChecked() ) ;
 
-    if ( SendEvent( id , item->IsCheckable() ? item->IsChecked() : -1 ) )
+    if ( SendEvent( menuid , item->IsCheckable() ? item->IsChecked() : -1 ) )
         processed = true ;
     else
     {
         if ( senderWindow != NULL )
         {
         processed = true ;
     else
     {
         if ( senderWindow != NULL )
         {
-            wxCommandEvent event(wxEVT_COMMAND_MENU_SELECTED , id);
+            wxCommandEvent event(wxEVT_COMMAND_MENU_SELECTED , menuid);
             event.SetEventObject(senderWindow);
             event.SetInt(item->IsCheckable() ? item->IsChecked() : -1);
 
             event.SetEventObject(senderWindow);
             event.SetInt(item->IsCheckable() ? item->IsChecked() : -1);
 
@@ -436,8 +436,8 @@ bool wxMenu::HandleCommandProcess( wxMenuItem* item, wxWindow* senderWindow )
 
 void wxMenu::HandleMenuItemHighlighted( wxMenuItem* item )
 {
 
 void wxMenu::HandleMenuItemHighlighted( wxMenuItem* item )
 {
-    int id = item ? item->GetId() : 0;
-    wxMenuEvent wxevent(wxEVT_MENU_HIGHLIGHT, id, this);
+    int menuid = item ? item->GetId() : 0;
+    wxMenuEvent wxevent(wxEVT_MENU_HIGHLIGHT, menuid, this);
     DoHandleMenuEvent( wxevent );
 }
 
     DoHandleMenuEvent( wxevent );
 }
 
@@ -497,6 +497,8 @@ wxMenuBar* wxMenuBar::s_macCommonMenuBar = NULL ;
 bool     wxMenuBar::s_macAutoWindowMenu = true ;
 WXHMENU  wxMenuBar::s_macWindowMenuHandle = NULL ;
 
 bool     wxMenuBar::s_macAutoWindowMenu = true ;
 WXHMENU  wxMenuBar::s_macWindowMenuHandle = NULL ;
 
+const int firstMenuPos = 1; // to account for the 0th application menu on mac
+
 void wxMenuBar::Init()
 {
     m_eventHandler = this;
 void wxMenuBar::Init()
 {
     m_eventHandler = this;
@@ -598,13 +600,13 @@ void wxMenuBar::MacInstallMenuBar()
     
     // hide items in the apple menu that don't exist in the wx menubar
     
     
     // hide items in the apple menu that don't exist in the wx menubar
     
-    int id = 0;
+    int menuid = 0;
     wxMenuItem* appleItem = NULL;
     wxMenuItem* wxItem = NULL;
 
     wxMenuItem* appleItem = NULL;
     wxMenuItem* wxItem = NULL;
 
-    id = wxApp::s_macAboutMenuItemId;
-    appleItem = m_appleMenu->FindItem(id);
-    wxItem = FindItem(id);
+    menuid = wxApp::s_macAboutMenuItemId;
+    appleItem = m_appleMenu->FindItem(menuid);
+    wxItem = FindItem(menuid);
     if ( appleItem != NULL )
     {
         if ( wxItem == NULL )
     if ( appleItem != NULL )
     {
         if ( wxItem == NULL )
@@ -613,9 +615,9 @@ void wxMenuBar::MacInstallMenuBar()
             appleItem->SetItemLabel(wxItem->GetItemLabel());
     }
     
             appleItem->SetItemLabel(wxItem->GetItemLabel());
     }
     
-    id = wxApp::s_macPreferencesMenuItemId;
-    appleItem = m_appleMenu->FindItem(id);
-    wxItem = FindItem(id);
+    menuid = wxApp::s_macPreferencesMenuItemId;
+    appleItem = m_appleMenu->FindItem(menuid);
+    wxItem = FindItem(menuid);
     if ( appleItem != NULL )
     {
         if ( wxItem == NULL )
     if ( appleItem != NULL )
     {
         if ( wxItem == NULL )
@@ -806,7 +808,7 @@ void wxMenuBar::EnableTop(size_t pos, bool enable)
 {
     wxCHECK_RET( IsAttached(), wxT("doesn't work with unattached menubars") );
 
 {
     wxCHECK_RET( IsAttached(), wxT("doesn't work with unattached menubars") );
 
-    m_rootMenu->FindItemByPosition( pos )->Enable(enable);
+    m_rootMenu->FindItemByPosition(pos+firstMenuPos)->Enable(enable);
 
     Refresh();
 }
 
     Refresh();
 }
@@ -841,8 +843,6 @@ wxString wxMenuBar::GetMenuLabel(size_t pos) const
 // wxMenuBar construction
 // ---------------------------------------------------------------------------
 
 // wxMenuBar construction
 // ---------------------------------------------------------------------------
 
-const int firstMenuPos = 1; // to account for the 0th application menu on mac
-
 wxMenu *wxMenuBar::Replace(size_t pos, wxMenu *menu, const wxString& title)
 {
     wxMenu *menuOld = wxMenuBarBase::Replace(pos, menu, title);
 wxMenu *wxMenuBar::Replace(size_t pos, wxMenu *menu, const wxString& title)
 {
     wxMenu *menuOld = wxMenuBarBase::Replace(pos, menu, title);