X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e1bf3ad3e8f34361824a801008d47833ac71dcb1..8ddd9176a46065ab74d6ced1ed480e5affb4e1e2:/src/gtk1/menu.cpp diff --git a/src/gtk1/menu.cpp b/src/gtk1/menu.cpp index 82956da0a6..7922dd438b 100644 --- a/src/gtk1/menu.cpp +++ b/src/gtk1/menu.cpp @@ -170,7 +170,7 @@ static void gtk_menu_open_callback( GtkWidget *widget, wxMenu *menu ) IMPLEMENT_DYNAMIC_CLASS(wxMenuBar,wxWindow) -wxMenuBar::wxMenuBar( long style ) +void wxMenuBar::Init(size_t n, wxMenu *menus[], const wxString titles[], long style) { // the parent window is known after wxFrame::SetMenu() m_needParent = FALSE; @@ -203,32 +203,24 @@ wxMenuBar::wxMenuBar( long style ) PostCreation(); ApplyWidgetStyle(); + + for (size_t i = 0; i < n; ++i ) + Append(menus[i], titles[i]); } -wxMenuBar::wxMenuBar() +wxMenuBar::wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style) { - // the parent window is known after wxFrame::SetMenu() - m_needParent = FALSE; - m_style = 0; - m_invokingWindow = (wxWindow*) NULL; - - if (!PreCreation( (wxWindow*) NULL, wxDefaultPosition, wxDefaultSize ) || - !CreateBase( (wxWindow*) NULL, -1, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxT("menubar") )) - { - wxFAIL_MSG( wxT("wxMenuBar creation failed") ); - return; - } - - m_menubar = gtk_menu_bar_new(); -#ifndef __WXGTK20__ - m_accel = gtk_accel_group_new(); -#endif - - m_widget = GTK_WIDGET(m_menubar); + Init(n, menus, titles, style); +} - PostCreation(); +wxMenuBar::wxMenuBar(long style) +{ + Init(0, NULL, NULL, style); +} - ApplyWidgetStyle(); +wxMenuBar::wxMenuBar() +{ + Init(0, NULL, NULL, 0); } wxMenuBar::~wxMenuBar()