]> git.saurik.com Git - wxWidgets.git/blobdiff - src/cocoa/menu.mm
Fit the generic preferences editor dialog to its pages size initially.
[wxWidgets.git] / src / cocoa / menu.mm
index 529f422350d674e6dccfd96c166c16bad1ba2644..b02bb35b34a58eeed36fb2bc8970da63bad3477d 100644 (file)
@@ -1,12 +1,12 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        cocoa/menu.cpp
+// Name:        src/cocoa/menu.mm
 // Purpose:     wxMenu and wxMenuBar implementation
 // Author:      David Elliott
 // Modified by:
 // Created:     2002/12/09
-// RCS-ID:      $Id
+// RCS-ID:      $Id$
 // Copyright:   (c) 2002 David Elliott
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 // ----------------------------------------------------------------------------
 
 #include "wx/wxprec.h"
+
+#include "wx/menu.h"
+
 #ifndef WX_PRECOMP
-    #include "wx/menu.h"
     #include "wx/log.h"
 #endif // WX_PRECOMP
 
@@ -27,7 +29,7 @@
 #include "wx/cocoa/string.h"
 
 #import <Foundation/NSString.h>
-#import <AppKit/NSMenu.h>
+#include "wx/cocoa/objc/NSMenu.h"
 
 #if wxUSE_MENUS
 
 // wxMenu implementation
 // ============================================================================
 
-IMPLEMENT_DYNAMIC_CLASS(wxMenu,wxEvtHandler)
-
 bool wxMenu::Create(const wxString& title, long style)
 {
     wxAutoNSAutoreleasePool pool;
-    m_cocoaNSMenu = [[NSMenu alloc] initWithTitle: wxNSStringWithWxString(title)];
+    m_cocoaNSMenu = [[WX_GET_OBJC_CLASS(WXNSMenu) alloc] initWithTitle: wxNSStringWithWxString(title)];
     AssociateNSMenu(m_cocoaNSMenu);
     return true;
 }
@@ -113,7 +113,6 @@ void wxMenu::Cocoa_dealloc()
 // ============================================================================
 // wxMenuBar implementation
 // ============================================================================
-IMPLEMENT_DYNAMIC_CLASS(wxMenuBar,wxWindow)
 
 bool wxMenuBar::Create(long style)
 {
@@ -128,6 +127,17 @@ bool wxMenuBar::Create(long style)
     return true;
 }
 
+wxMenuBar::wxMenuBar(size_t n,
+                     wxMenu *menus[],
+                     const wxString titles[],
+                     long style)
+{
+    Create(style);
+
+    for ( size_t i = 0; i < n; ++i )
+        Append(menus[i], titles[i]);
+}
+
 wxMenuBar::~wxMenuBar()
 {
     [m_cocoaNSMenu release];
@@ -202,11 +212,11 @@ bool wxMenuBar::IsEnabledTop(size_t pos) const
     return false;
 }
 
-void wxMenuBar::SetLabelTop(size_t pos, const wxString& label)
+void wxMenuBar::SetMenuLabel(size_t pos, const wxString& label)
 {
 }
 
-wxString wxMenuBar::GetLabelTop(size_t pos) const
+wxString wxMenuBar::GetMenuLabel(size_t pos) const
 {
     wxMenu *menu = GetMenu(pos);
     int itemindex = [m_cocoaNSMenu indexOfItemWithSubmenu:menu->GetNSMenu()];