]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/menuitem.cpp
usleep() prototype added for solaris
[wxWidgets.git] / src / mac / menuitem.cpp
index bd2f876a38bb6c9b3251b36c871d08e9f50ab897..9195fdc50a13b75b6b525c61d132c60f56754069 100644 (file)
@@ -16,6 +16,7 @@
 #include "wx/menu.h"
 #include "wx/menuitem.h"
 
+#include <wx/mac/uma.h>
 // ============================================================================
 // implementation
 // ============================================================================
@@ -49,6 +50,11 @@ wxMenuItem::wxMenuItem(wxMenu *pParentMenu, int id,
   m_pSubMenu    = pSubMenu;
   m_idItem      = id;
   m_bEnabled    = TRUE;
+
+  if ( m_strName ==  "E&xit"  ||m_strName == "Exit" )
+  {
+       m_strName = "Quit\tCtrl+Q" ;
+  }
 }
 
 wxMenuItem::~wxMenuItem() 
@@ -73,12 +79,35 @@ void wxMenuItem::DeleteSubMenu()
 void wxMenuItem::Enable(bool bDoEnable)
 {
   if ( m_bEnabled != bDoEnable ) {
-    if ( m_pSubMenu == NULL ) {     // normal menu item
-        // TODO
+    if ( m_pSubMenu == NULL ) 
+    {     
+       // normal menu item
+           if ( m_pParentMenu->m_macMenuHandle )
+           {
+                       int index = m_pParentMenu->MacGetIndexFromItem( this ) ;
+                       if ( index >= 1 )
+                       {
+                               if ( bDoEnable )
+                                       UMAEnableMenuItem( m_pParentMenu->m_macMenuHandle , index ) ;
+                               else
+                                       UMADisableMenuItem( m_pParentMenu->m_macMenuHandle , index ) ;
+                       }
+           }
     }
-    else                            // submenu
+    else                            
     {
-        // TODO
+               // submenu
+           if ( m_pParentMenu->m_macMenuHandle )
+           {
+                       int index = m_pParentMenu->MacGetIndexFromItem( this ) ;
+                       if ( index >= 1 )
+                       {
+                               if ( bDoEnable )
+                                       UMAEnableMenuItem( m_pParentMenu->m_macMenuHandle , index ) ;
+                               else
+                                       UMADisableMenuItem( m_pParentMenu->m_macMenuHandle , index ) ;
+                       }
+           }
     }
 
     m_bEnabled = bDoEnable;
@@ -89,8 +118,19 @@ void wxMenuItem::Check(bool bDoCheck)
 {
   wxCHECK_RET( IsCheckable(), "only checkable items may be checked" );
 
-  if ( m_bChecked != bDoCheck ) {
-    // TODO
+  if ( m_bChecked != bDoCheck ) 
+  {
     m_bChecked = bDoCheck;
+       if ( m_pParentMenu->m_macMenuHandle )
+    {
+               int index = m_pParentMenu->MacGetIndexFromItem( this ) ;
+               if ( index >= 1 )
+               {
+                       if ( bDoCheck )
+                                       ::SetItemMark( m_pParentMenu->m_macMenuHandle , index , 0x12 ) ; // checkmark
+                               else
+                                       ::SetItemMark( m_pParentMenu->m_macMenuHandle , index , 0 ) ; // no mark
+               }
+       }
   }
 }
\ No newline at end of file