]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/menu.cpp
avoid system pop-up menu commands being handled by wxApp, bug was shown in printing...
[wxWidgets.git] / src / mac / carbon / menu.cpp
index a2df94bd84fcb2f00fddd69ac65eb06b0b5c8c68..891f908d647f572c4e0960f1b73bd0f33df5842f 100644 (file)
@@ -9,11 +9,6 @@
 // Licence:       wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "menu.h"
-#pragma implementation "menuitem.h"
-#endif
-
 // ============================================================================
 // headers & declarations
 // ============================================================================
@@ -49,34 +44,6 @@ const short kwxMacAppleMenuId = 1 ;
 
 // Find an item given the Macintosh Menu Reference
 
-#if KEY_wxList_DEPRECATED
-wxList wxWinMacMenuList(wxKEY_INTEGER);
-wxMenu *wxFindMenuFromMacMenu(MenuRef inMenuRef)
-{
-    wxNode *node = wxWinMacMenuList.Find((long)inMenuRef);
-    if (!node)
-        return NULL;
-    return (wxMenu *)node->GetData();
-}
-
-void wxAssociateMenuWithMacMenu(MenuRef inMenuRef, wxMenu *menu) ;
-void wxAssociateMenuWithMacMenu(MenuRef inMenuRef, wxMenu *menu)
-{
-    // adding NULL MenuRef is (first) surely a result of an error and
-    // (secondly) breaks menu command processing
-    wxCHECK_RET( inMenuRef != (MenuRef) NULL, wxT("attempt to add a NULL MenuRef to menu list") );
-
-    if ( !wxWinMacMenuList.Find((long)inMenuRef) )
-        wxWinMacMenuList.Append((long)inMenuRef, menu);
-}
-
-void wxRemoveMacMenuAssociation(wxMenu *menu) ;
-void wxRemoveMacMenuAssociation(wxMenu *menu)
-{
-    wxWinMacMenuList.DeleteObject(menu);
-}
-#else
-
 WX_DECLARE_HASH_MAP(MenuRef, wxMenu*, wxPointerHash, wxPointerEqual, MacMenuMap);
 
 static MacMenuMap wxWinMacMenuList;
@@ -112,7 +79,6 @@ void wxRemoveMacMenuAssociation(wxMenu *menu)
         }
     }
 }
-#endif // deprecated wxList
 
 // ============================================================================
 // implementation
@@ -135,15 +101,15 @@ wxMenu *
 _wxMenuAt(const wxMenuList &menuList, size_t pos)
 {
     wxMenuList::compatibility_iterator menuIter = menuList.GetFirst();
-  
+
     while (pos-- > 0) menuIter = menuIter->GetNext();
-    
+
     return menuIter->GetData() ;
 }
 
 void wxMenu::Init()
 {
-    m_doBreak = FALSE;
+    m_doBreak = false;
     m_startRadioGroup = -1;
 
     // create the menu
@@ -158,7 +124,7 @@ void wxMenu::Init()
     wxAssociateMenuWithMacMenu( (MenuRef)m_hMenu , this ) ;
 
     // if we have a title, insert it in the beginning of the menu
-    if ( !!m_title )
+    if ( !m_title.empty() )
     {
         Append(idMenuTitle, m_title) ;
         AppendSeparator() ;
@@ -250,7 +216,7 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos)
     {
         GetMenuBar()->Refresh();
     }
-    return TRUE ;
+    return true ;
 }
 
 void wxMenu::EndRadioGroup()
@@ -263,7 +229,7 @@ wxMenuItem* wxMenu::DoAppend(wxMenuItem *item)
 {
     wxCHECK_MSG( item, NULL, _T("NULL item in wxMenu::DoAppend") );
 
-    bool check = FALSE;
+    bool check = false;
 
     if ( item->GetKind() == wxITEM_RADIO )
     {
@@ -279,7 +245,7 @@ wxMenuItem* wxMenu::DoAppend(wxMenuItem *item)
             item->SetRadioGroupEnd(m_startRadioGroup);
 
             // ensure that we have a checked item in the radio group
-            check = TRUE;
+            check = true;
         }
         else // extend the current radio group
         {
@@ -310,7 +276,7 @@ wxMenuItem* wxMenu::DoAppend(wxMenuItem *item)
     if ( check )
     {
         // check the item initially
-        item->Check(TRUE);
+        item->Check(true);
     }
 
     return item;
@@ -354,15 +320,16 @@ wxMenuItem *wxMenu::DoRemove(wxMenuItem *item)
 
 void wxMenu::SetTitle(const wxString& label)
 {
-       m_title = label ;
+    m_title = label ;
     UMASetMenuTitle(MAC_WXHMENU(m_hMenu) , label , wxFont::GetDefaultEncoding() ) ;
 }
+
 bool wxMenu::ProcessCommand(wxCommandEvent & event)
 {
-    bool processed = FALSE;
+    bool processed = false;
 
     // Try the menu's event handler
-    if ( !processed && GetEventHandler())
+    if ( /* !processed && */ GetEventHandler())
     {
         processed = GetEventHandler()->ProcessEvent(event);
     }
@@ -464,7 +431,7 @@ void wxMenu::MacBeforeDisplay( bool isSubMenu )
                 ( UMAGetSystemVersion() >= 0x1000 && (
                     item->GetId() == wxApp::s_macPreferencesMenuItemId ||
                     item->GetId() == wxApp::s_macExitMenuItemId ) ) )
-                 
+
             {
                 ChangeMenuItemAttributes( MAC_WXHMENU( GetHMenu() ),
                                           pos + 1, kMenuItemAttrHidden, 0 );
@@ -654,7 +621,7 @@ void wxMenuBar::MacInstallMenuBar()
 
     // clean-up the help menu before adding new items
     static MenuHandle mh = NULL ;
-    
+
     if ( mh != NULL )
     {
         MenuItemIndex firstUserHelpMenuItem ;
@@ -668,7 +635,7 @@ void wxMenuBar::MacInstallMenuBar()
         else
         {
             mh = NULL ;
-        }  
+        }
     }
 #if TARGET_CARBON
     if ( UMAGetSystemVersion() >= 0x1000 && wxApp::s_macPreferencesMenuItemId)
@@ -725,7 +692,7 @@ void wxMenuBar::MacInstallMenuBar()
                             {
                                 mh = NULL ;
                                 break ;
-                            }  
+                            }
                         }
                     }
                     if ( item->IsSeparator() )
@@ -860,7 +827,7 @@ wxMenu *wxMenuBar::Replace(size_t pos, wxMenu *menu, const wxString& title)
 {
     wxMenu *menuOld = wxMenuBarBase::Replace(pos, menu, title);
     if ( !menuOld )
-        return FALSE;
+        return false;
     m_titles[pos] = title;
 
     if ( IsAttached() )
@@ -894,7 +861,7 @@ wxMenu *wxMenuBar::Replace(size_t pos, wxMenu *menu, const wxString& title)
 bool wxMenuBar::Insert(size_t pos, wxMenu *menu, const wxString& title)
 {
     if ( !wxMenuBarBase::Insert(pos, menu, title) )
-        return FALSE;
+        return false;
 
     m_titles.Insert(title, pos);
 
@@ -919,7 +886,7 @@ bool wxMenuBar::Insert(size_t pos, wxMenu *menu, const wxString& title)
     if (m_invokingWindow)
         wxMenubarSetInvokingWindow( menu, m_invokingWindow );
 
-    return TRUE;
+    return true;
 }
 
 wxMenu *wxMenuBar::Remove(size_t pos)
@@ -946,10 +913,10 @@ wxMenu *wxMenuBar::Remove(size_t pos)
 bool wxMenuBar::Append(wxMenu *menu, const wxString& title)
 {
     WXHMENU submenu = menu ? menu->GetHMenu() : 0;
-    wxCHECK_MSG( submenu, FALSE, wxT("can't append invalid menu to menubar") );
+    wxCHECK_MSG( submenu, false, wxT("can't append invalid menu to menubar") );
 
     if ( !wxMenuBarBase::Append(menu, title) )
-        return FALSE;
+        return false;
 
     m_titles.Add(title);
 
@@ -971,7 +938,7 @@ bool wxMenuBar::Append(wxMenu *menu, const wxString& title)
     if (m_invokingWindow)
         wxMenubarSetInvokingWindow( menu, m_invokingWindow );
 
-    return TRUE;
+    return true;
 }
 
 static void wxMenubarUnsetInvokingWindow( wxMenu *menu )