]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - contrib/hydratoolz/plugin.cpp
Merge commit '2de8ee725b2a6e54e21d5e217ae453ee115b913a' into garux-merge
[xonotic/netradiant.git] / contrib / hydratoolz / plugin.cpp
index f2e3d89b7d434abf83bdfe260a28ac57dacbbfd2..14f2c4b8b09d561325db145b34a60797fc16edcd 100644 (file)
@@ -58,11 +58,10 @@ void *g_pMainWnd;
 // =============================================================================
 // Ripped from TexTool.cpp
 
-static void dialog_button_callback( GtkWidget *widget, gpointer data ){
-       GtkWidget *parent;
+static void dialog_button_callback( ui::Widget widget, gpointer data ){
        int *loop, *ret;
 
-       parent = gtk_widget_get_toplevel( widget );
+       auto parent = widget.window();
        loop = (int*)gtk_object_get_data( GTK_OBJECT( parent ), "loop" );
        ret = (int*)gtk_object_get_data( GTK_OBJECT( parent ), "ret" );
 
@@ -81,111 +80,111 @@ static gint dialog_delete_callback( GtkWidget *widget, GdkEvent* event, gpointer
 }
 
 int DoMessageBox( const char* lpText, const char* lpCaption, guint32 uType ){
-       GtkWidget *window, *w, *vbox, *hbox;
+       GtkWidget *w, *hbox;
        int mode = ( uType & MB_TYPEMASK ), ret, loop = 1;
 
-       window = ui::Window( ui::window_type::TOP );
-       g_signal_connect( GTK_OBJECT( window ), "delete_event",
+       auto window = ui::Window( ui::window_type::TOP );
+       window.connect( "delete_event",
                                                G_CALLBACK( dialog_delete_callback ), NULL );
-       g_signal_connect( GTK_OBJECT( window ), "destroy",
+       window.connect( "destroy",
                                                G_CALLBACK( gtk_widget_destroy ), NULL );
-       gtk_window_set_title( GTK_WINDOW( window ), lpCaption );
+       gtk_window_set_title( window, lpCaption );
        gtk_container_set_border_width( GTK_CONTAINER( window ), 10 );
        gtk_object_set_data( GTK_OBJECT( window ), "loop", &loop );
        gtk_object_set_data( GTK_OBJECT( window ), "ret", &ret );
        gtk_widget_realize( window );
 
-       vbox = ui::VBox( FALSE, 10 );
-       gtk_container_add( GTK_CONTAINER( window ), vbox );
-       gtk_widget_show( vbox );
+       auto vbox = ui::VBox( FALSE, 10 );
+       window.add(vbox);
+       vbox.show();
 
        w = ui::Label( lpText );
-       gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 2 );
+       vbox.pack_start( w, FALSE, FALSE, 2 );
        gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT );
-       gtk_widget_show( w );
+       w.show();
 
        w = gtk_hseparator_new();
-       gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 2 );
-       gtk_widget_show( w );
+       vbox.pack_start( w, FALSE, FALSE, 2 );
+       w.show();
 
        hbox = ui::HBox( FALSE, 10 );
-       gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 );
-       gtk_widget_show( hbox );
+       vbox.pack_start( hbox, FALSE, FALSE, 2 );
+       hbox.show();
 
        if ( mode == MB_OK ) {
                w = ui::Button( "Ok" );
-               gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
-               g_signal_connect( GTK_OBJECT( w ), "clicked",
+               hbox.pack_start( w, TRUE, TRUE, 0 );
+               w.connect( "clicked",
                                                        G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDOK ) );
                gtk_widget_set_can_default( w, true );
                gtk_widget_grab_default( w );
-               gtk_widget_show( w );
+               w.show();
                ret = IDOK;
        }
        else if ( mode ==  MB_OKCANCEL ) {
                w = ui::Button( "Ok" );
-               gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
-               g_signal_connect( GTK_OBJECT( w ), "clicked",
+               hbox.pack_start( w, TRUE, TRUE, 0 );
+               w.connect( "clicked",
                                                        G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDOK ) );
                gtk_widget_set_can_default( w, true );
                gtk_widget_grab_default( w );
-               gtk_widget_show( w );
+               w.show();
 
                w = ui::Button( "Cancel" );
-               gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
-               g_signal_connect( GTK_OBJECT( w ), "clicked",
+               hbox.pack_start( w, TRUE, TRUE, 0 );
+               w.connect( "clicked",
                                                        G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDCANCEL ) );
-               gtk_widget_show( w );
+               w.show();
                ret = IDCANCEL;
        }
        else if ( mode == MB_YESNOCANCEL ) {
                w = ui::Button( "Yes" );
-               gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
-               g_signal_connect( GTK_OBJECT( w ), "clicked",
+               hbox.pack_start( w, TRUE, TRUE, 0 );
+               w.connect( "clicked",
                                                        G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDYES ) );
                gtk_widget_set_can_default( w, true );
                gtk_widget_grab_default( w );
-               gtk_widget_show( w );
+               w.show();
 
                w = ui::Button( "No" );
-               gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
-               g_signal_connect( GTK_OBJECT( w ), "clicked",
+               hbox.pack_start( w, TRUE, TRUE, 0 );
+               w.connect( "clicked",
                                                        G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDNO ) );
-               gtk_widget_show( w );
+               w.show();
 
                w = ui::Button( "Cancel" );
-               gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
-               g_signal_connect( GTK_OBJECT( w ), "clicked",
+               hbox.pack_start( w, TRUE, TRUE, 0 );
+               w.connect( "clicked",
                                                        G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDCANCEL ) );
-               gtk_widget_show( w );
+               w.show();
                ret = IDCANCEL;
        }
        else /* if (mode == MB_YESNO) */
        {
                w = ui::Button( "Yes" );
-               gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
-               g_signal_connect( GTK_OBJECT( w ), "clicked",
+               hbox.pack_start( w, TRUE, TRUE, 0 );
+               w.connect( "clicked",
                                                        G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDYES ) );
                gtk_widget_set_can_default( w, true );
                gtk_widget_grab_default( w );
-               gtk_widget_show( w );
+               w.show();
 
                w = ui::Button( "No" );
-               gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
-               g_signal_connect( GTK_OBJECT( w ), "clicked",
+               hbox.pack_start( w, TRUE, TRUE, 0 );
+               w.connect( "clicked",
                                                        G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDNO ) );
-               gtk_widget_show( w );
+               w.show();
                ret = IDNO;
        }
 
-       gtk_widget_show( window );
+       window.show();
        gtk_grab_add( window );
 
        while ( loop )
                gtk_main_iteration();
 
        gtk_grab_remove( window );
-       gtk_widget_destroy( window );
+       window.destroy();
 
        return ret;
 }