]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/pluginmenu.cpp
Wrap more GTK
[xonotic/netradiant.git] / radiant / pluginmenu.cpp
index e3b278c5fede6e64c406616333b0e5289d4871fc..cd05d714a835b5ce94f7627e06e4368dbb9366f2 100644 (file)
@@ -21,6 +21,8 @@
 
 #include "pluginmenu.h"
 
+#include <gtk/gtk.h>
+
 #include "stream/textstream.h"
 
 #include "gtkutil/pointer.h"
@@ -41,8 +43,8 @@ void plugin_activated( ui::Widget widget, gpointer data ){
 #include <stack>
 
 void PlugInMenu_Add( ui::Menu plugin_menu, IPlugIn* pPlugIn ){
-       ui::Widget item, parent;
-       ui::Menu menu{nullptr}, subMenu{nullptr};
+       ui::Widget item{ui::null}, parent{ui::null};
+       ui::Menu menu{ui::null}, subMenu{ui::null};
        const char *menuText, *menuCommand;
        std::stack<ui::Menu> menuStack;
 
@@ -52,7 +54,7 @@ void PlugInMenu_Add( ui::Menu plugin_menu, IPlugIn* pPlugIn ){
 
        std::size_t nCount = pPlugIn->getCommandCount();
        if ( nCount > 0 ) {
-               menu = ui::Menu();
+               menu = ui::Menu(ui::New);
                if ( g_Layout_enableDetachableMenus.m_value ) {
                        menu_tearoff( menu );
                }
@@ -78,7 +80,7 @@ void PlugInMenu_Add( ui::Menu plugin_menu, IPlugIn* pPlugIn ){
                                        item.show();
                                        menu.add(item);
 
-                                       subMenu = ui::Menu();
+                                       subMenu = ui::Menu(ui::New);
                                        gtk_menu_item_set_submenu( GTK_MENU_ITEM( item ), subMenu );
                                        menuStack.push( menu );
                                        menu = subMenu;
@@ -99,7 +101,7 @@ void PlugInMenu_Add( ui::Menu plugin_menu, IPlugIn* pPlugIn ){
                                {
                                        item = ui::MenuItem( menuText );
                                        g_object_set_data( G_OBJECT( item ),"command", const_cast<gpointer>( static_cast<const void*>( menuCommand ) ) );
-                                       g_signal_connect( G_OBJECT( item ), "activate", G_CALLBACK( plugin_activated ), gint_to_pointer( m_nNextPlugInID ) );
+                                       item.connect( "activate", G_CALLBACK( plugin_activated ), gint_to_pointer( m_nNextPlugInID ) );
                                }
                                item.show();
                                menu.add(item);
@@ -147,7 +149,7 @@ void PluginsMenu_clear(){
        GList* lst = g_list_find( gtk_container_get_children( GTK_CONTAINER( g_plugins_menu ) ), GTK_WIDGET( g_plugins_menu_separator ) );
        while ( lst->next )
        {
-               gtk_container_remove( GTK_CONTAINER( g_plugins_menu ), GTK_WIDGET( lst->next->data ) );
+               g_plugins_menu.remove(ui::Widget(GTK_WIDGET(lst->next->data)));
                lst = g_list_find( gtk_container_get_children( GTK_CONTAINER( g_plugins_menu ) ),  GTK_WIDGET( g_plugins_menu_separator ) );
        }
 }