]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - plugins/textool/TexTool.cpp
Wrap more GTK
[xonotic/netradiant.git] / plugins / textool / TexTool.cpp
index 22f5a6e306322eb3d630bca652ac60e3e3b21731..7d5eba90ff55354369f0bac8c9ff4e0e6350d579 100644 (file)
 #include "StdAfx.h"
 
 static void dialog_button_callback( GtkWidget *widget, gpointer data ){
-       GtkWidget *parent;
        int *loop, *ret;
 
-       parent = gtk_widget_get_toplevel( widget );
+       auto parent = widget.window();
        loop = (int*)g_object_get_data( G_OBJECT( parent ), "loop" );
        ret = (int*)g_object_get_data( G_OBJECT( parent ), "ret" );
 
@@ -55,11 +54,11 @@ int DoMessageBox( const char* lpText, const char* lpCaption, guint32 uType ){
        int mode = ( uType & MB_TYPEMASK ), ret, loop = 1;
 
        auto window = ui::Window( ui::window_type::TOP );
-       g_signal_connect( GTK_OBJECT( window ), "delete_event",
+       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 );
        g_object_set_data( G_OBJECT( window ), "loop", &loop );
        g_object_set_data( G_OBJECT( window ), "ret", &ret );
@@ -67,88 +66,88 @@ int DoMessageBox( const char* lpText, const char* lpCaption, guint32 uType ){
 
        vbox = ui::VBox( FALSE, 10 );
        window.add(vbox);
-       gtk_widget_show( 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 )
@@ -643,16 +642,16 @@ static GtkWidget* CreateOpenGLWidget(){
                                                   GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK );
 
        // Connect signal handlers
-       g_signal_connect( GTK_OBJECT( g_pToolWidget ), "expose_event", G_CALLBACK( expose ), NULL );
-       g_signal_connect( GTK_OBJECT( g_pToolWidget ), "motion_notify_event",
+       g_pToolWidget.connect( "expose_event", G_CALLBACK( expose ), NULL );
+       g_pToolWidget.connect( "motion_notify_event",
                                                G_CALLBACK( motion ), NULL );
-       g_signal_connect( GTK_OBJECT( g_pToolWidget ), "button_press_event",
+       g_pToolWidget.connect( "button_press_event",
                                                G_CALLBACK( button_press ), NULL );
-       g_signal_connect( GTK_OBJECT( g_pToolWidget ), "button_release_event",
+       g_pToolWidget.connect( "button_release_event",
                                                G_CALLBACK( button_release ), NULL );
 
-       g_signal_connect( GTK_OBJECT( g_pToolWnd ), "delete_event", G_CALLBACK( close ), NULL );
-       g_signal_connect( GTK_OBJECT( g_pToolWnd ), "key_press_event",
+       g_pToolWnd.connect( "delete_event", G_CALLBACK( close ), NULL );
+       g_pToolWnd.connect( "key_press_event",
                                                G_CALLBACK( keypress ), NULL );
 
        return g_pToolWidget;