X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1d62a8b4251a2ca0d3057cef3c082d45e4e71bdd..f1567cddead054974c4a079ed8ee2c798ef998dc:/src/gtk/menu.cpp diff --git a/src/gtk/menu.cpp b/src/gtk/menu.cpp index 20fce15bf0..e30e13f7b8 100644 --- a/src/gtk/menu.cpp +++ b/src/gtk/menu.cpp @@ -78,6 +78,8 @@ wxMenuBar::wxMenuBar( long style ) } PostCreation(); + + ApplyWidgetStyle(); } wxMenuBar::wxMenuBar() @@ -108,6 +110,8 @@ wxMenuBar::wxMenuBar() m_widget = GTK_WIDGET(m_menubar); PostCreation(); + + ApplyWidgetStyle(); } wxMenuBar::~wxMenuBar() @@ -347,20 +351,25 @@ wxMenu *wxMenuBar::Remove(size_t pos) if ( !menu ) return (wxMenu*) NULL; +/* GtkMenuShell *menu_shell = GTK_MENU_SHELL(m_factory->widget); + printf( "factory entries before %d\n", (int)g_slist_length(m_factory->items) ); printf( "menu shell entries before %d\n", (int)g_list_length( menu_shell->children ) ); - +*/ + // unparent calls unref() and that would delete the widget so we raise // the ref count to 2 artificially before invoking unparent. gtk_widget_ref( menu->m_menu ); gtk_widget_unparent( menu->m_menu ); - + gtk_widget_destroy( menu->m_owner ); - + +/* printf( "factory entries after %d\n", (int)g_slist_length(m_factory->items) ); printf( "menu shell entries after %d\n", (int)g_list_length( menu_shell->children ) ); - +*/ + return menu; } @@ -621,11 +630,12 @@ wxMenuItem::~wxMenuItem() } // return the menu item text without any menu accels -wxString wxMenuItem::GetLabel() const +/* static */ +wxString wxMenuItemBase::GetLabelFromText(const wxString& text) { wxString label; #if (GTK_MINOR_VERSION > 0) - for ( const wxChar *pc = m_text.c_str(); *pc; pc++ ) + for ( const wxChar *pc = text.c_str(); *pc; pc++ ) { if ( *pc == wxT('_') ) { @@ -636,7 +646,7 @@ wxString wxMenuItem::GetLabel() const label += *pc; } #else // GTK+ 1.0 - label = m_text; + label = text; #endif // GTK+ 1.2/1.0 return label; @@ -951,9 +961,9 @@ bool wxMenu::DoInsert(size_t pos, wxMenuItem *item) #else // GTK < 1.2 // this should be easy to do... wxFAIL_MSG( wxT("not implemented") ); -#endif // GTK 1.2/1.0 return FALSE; +#endif // GTK 1.2/1.0 } wxMenuItem *wxMenu::DoRemove(wxMenuItem *item)