]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/mru.cpp
Wrap more GTK
[xonotic/netradiant.git] / radiant / mru.cpp
index cb833010f3bc74fa0f0886269e423673ccf979d6..71133c55f2ea8fecf2d29f8f7588a9211be5ee25 100644 (file)
@@ -23,7 +23,7 @@
 
 #include <string.h>
 #include <stdio.h>
-#include <gtk/gtklabel.h>
+#include <gtk/gtk.h>
 
 #include "os/file.h"
 #include "generic/callback.h"
@@ -34,7 +34,7 @@
 #include "map.h"
 #include "qe3.h"
 
-#define MRU_MAX 4
+const int MRU_MAX = 4;
 namespace {
 GtkMenuItem *MRU_items[MRU_MAX];
 std::size_t MRU_used;
@@ -121,7 +121,7 @@ void MRU_AddFile( const char *str ){
 
        MRU_SetText( 0, str );
        gtk_widget_set_sensitive( GTK_WIDGET( MRU_items[0] ), TRUE );
-       gtk_widget_show( GTK_WIDGET( MRU_items[MRU_used - 1] ) );
+       ui::Widget(GTK_WIDGET( MRU_items[MRU_used - 1] )).show();
 }
 
 void MRU_Init(){
@@ -136,7 +136,7 @@ void MRU_AddWidget( GtkMenuItem *widget, std::size_t pos ){
                if ( pos < MRU_used ) {
                        MRU_updateWidget( pos, MRU_GetText( pos ) );
                        gtk_widget_set_sensitive( GTK_WIDGET( MRU_items[0] ), TRUE );
-                       gtk_widget_show( GTK_WIDGET( MRU_items[pos] ) );
+                       ui::Widget(GTK_WIDGET( MRU_items[pos] )).show();
                }
        }
 }
@@ -159,12 +159,13 @@ void MRU_Activate( std::size_t index ){
                        MRU_SetText( i, MRU_GetText( i + 1 ) );
 
                if ( MRU_used == 0 ) {
-                       gtk_label_set_text( GTK_LABEL( GTK_BIN( MRU_items[0] )->child ), "Recent Files" );
+                       auto label = ui::Label(GTK_LABEL(gtk_bin_get_child(GTK_BIN(MRU_items[0] )) ));
+                       label.text("Recent Files");
                        gtk_widget_set_sensitive( GTK_WIDGET( MRU_items[0] ), FALSE );
                }
                else
                {
-                       gtk_widget_hide( GTK_WIDGET( MRU_items[MRU_used] ) );
+                       ui::MenuItem(MRU_items[MRU_used]).hide();
                }
        }
 }
@@ -191,25 +192,25 @@ LoadMRU g_load_mru2( 2 );
 LoadMRU g_load_mru3( 3 );
 LoadMRU g_load_mru4( 4 );
 
-void MRU_constructMenu( GtkMenu* menu ){
+void MRU_constructMenu( ui::Menu menu ){
        {
-               GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_1", LoadMRUCaller( g_load_mru1 ) );
+               auto item = create_menu_item_with_mnemonic( menu, "_1", LoadMRUCaller( g_load_mru1 ) );
                gtk_widget_set_sensitive( GTK_WIDGET( item ), FALSE );
                MRU_AddWidget( item, 0 );
        }
        {
-               GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_2", LoadMRUCaller( g_load_mru2 ) );
-               gtk_widget_hide( GTK_WIDGET( item ) );
+               auto item = create_menu_item_with_mnemonic( menu, "_2", LoadMRUCaller( g_load_mru2 ) );
+               item.hide();
                MRU_AddWidget( item, 1 );
        }
        {
-               GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_3", LoadMRUCaller( g_load_mru3 ) );
-               gtk_widget_hide( GTK_WIDGET( item ) );
+               auto item = create_menu_item_with_mnemonic( menu, "_3", LoadMRUCaller( g_load_mru3 ) );
+               item.hide();
                MRU_AddWidget( item, 2 );
        }
        {
-               GtkMenuItem* item = create_menu_item_with_mnemonic( menu, "_4", LoadMRUCaller( g_load_mru4 ) );
-               gtk_widget_hide( GTK_WIDGET( item ) );
+               auto item = create_menu_item_with_mnemonic( menu, "_4", LoadMRUCaller( g_load_mru4 ) );
+               item.hide();
                MRU_AddWidget( item, 3 );
        }
 }