X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=contrib%2Fprtview%2FConfigDialog.cpp;h=6e2489775e6533f7164da50aede1d6a49d1ba7d3;hb=69b4f74e6c95e22d6c6ce10d0e137c875fd83cc4;hp=7599690d038a23b6a9aa34e133bf18f8feb0d510;hpb=0110e3a8f3ab54c17a1785e17c7246adf8e13a46;p=xonotic%2Fnetradiant.git diff --git a/contrib/prtview/ConfigDialog.cpp b/contrib/prtview/ConfigDialog.cpp index 7599690d..6e248977 100644 --- a/contrib/prtview/ConfigDialog.cpp +++ b/contrib/prtview/ConfigDialog.cpp @@ -40,13 +40,10 @@ static void dialog_button_callback( GtkWidget *widget, gpointer data ){ *ret = gpointer_to_int( data ); } -static gint dialog_delete_callback( GtkWidget *widget, GdkEvent* event, gpointer data ){ - int *loop; - - gtk_widget_hide( widget ); - loop = (int*)g_object_get_data( G_OBJECT( widget ), "loop" ); +static gint dialog_delete_callback( ui::Widget widget, GdkEvent* event, gpointer data ){ + widget.hide(); + int *loop = (int *) g_object_get_data(G_OBJECT(widget), "loop"); *loop = 0; - return TRUE; } @@ -74,7 +71,7 @@ static int DoColor( PackedColour *c ){ g_object_set_data( G_OBJECT( dlg ), "loop", &loop ); g_object_set_data( G_OBJECT( dlg ), "ret", &ret ); - gtk_widget_show( dlg ); + dlg.show(); gtk_grab_add( dlg ); while ( loop ) @@ -83,7 +80,7 @@ static int DoColor( PackedColour *c ){ gtk_color_selection_get_current_color( GTK_COLOR_SELECTION( gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(dlg)) ), &clr ); gtk_grab_remove( dlg ); - gtk_widget_destroy( dlg ); + dlg.destroy(); if ( ret == IDOK ) { *c = RGB( clr.red / (65535 / 255), clr.green / (65535 / 255), clr.blue / (65535 / 255)); @@ -126,7 +123,7 @@ static void SetClipText( GtkWidget* label ){ static void OnScroll2d( GtkAdjustment *adj, gpointer data ){ portals.width_2d = static_cast( gtk_adjustment_get_value(adj) ); - Set2DText( GTK_WIDGET( data ) ); + Set2DText( ui::Widget::from(data) ); Portals_shadersChanged(); SceneChangeNotify(); @@ -134,21 +131,21 @@ static void OnScroll2d( GtkAdjustment *adj, gpointer data ){ static void OnScroll3d( GtkAdjustment *adj, gpointer data ){ portals.width_3d = static_cast( gtk_adjustment_get_value(adj) ); - Set3DText( GTK_WIDGET( data ) ); + Set3DText( ui::Widget::from( data ) ); SceneChangeNotify(); } static void OnScrollTrans( GtkAdjustment *adj, gpointer data ){ portals.trans_3d = static_cast( gtk_adjustment_get_value(adj) ); - Set3DTransText( GTK_WIDGET( data ) ); + Set3DTransText( ui::Widget::from( data ) ); SceneChangeNotify(); } static void OnScrollClip( GtkAdjustment *adj, gpointer data ){ portals.clip_range = static_cast( gtk_adjustment_get_value(adj) ); - SetClipText( GTK_WIDGET( data ) ); + SetClipText( ui::Widget::from( data ) ); SceneChangeNotify(); } @@ -238,9 +235,6 @@ static void OnClip( GtkWidget *widget, gpointer data ){ } void DoConfigDialog(){ - GtkWidget *hbox, *table; - GtkWidget *lw3slider, *lw3label, *lw2slider, *lw2label, *item; - GtkWidget *transslider, *translabel, *clipslider, *cliplabel; int loop = 1, ret = IDCANCEL; auto dlg = ui::Window( ui::window_type::TOP ); @@ -259,104 +253,104 @@ void DoConfigDialog(){ auto frame = ui::Frame( "3D View" ); frame.show(); - gtk_box_pack_start( GTK_BOX( vbox ), frame, TRUE, TRUE, 0 ); + vbox.pack_start( frame, TRUE, TRUE, 0 ); auto vbox2 = ui::VBox( FALSE, 5 ); vbox2.show(); frame.add(vbox2); gtk_container_set_border_width( GTK_CONTAINER( vbox2 ), 5 ); - hbox = ui::HBox( FALSE, 5 ); - gtk_widget_show( hbox ); - gtk_box_pack_start( GTK_BOX( vbox2 ), hbox, TRUE, TRUE, 0 ); + auto hbox = ui::HBox( FALSE, 5 ); + hbox.show(); + vbox2.pack_start( hbox, TRUE, TRUE, 0 ); auto adj = ui::Adjustment( portals.width_3d, 2, 40, 1, 1, 0 ); - lw3slider = ui::HScale( adj ); - gtk_widget_show( lw3slider ); - gtk_box_pack_start( GTK_BOX( hbox ), lw3slider, TRUE, TRUE, 0 ); + auto lw3slider = ui::HScale( adj ); + lw3slider.show(); + hbox.pack_start( lw3slider, TRUE, TRUE, 0 ); gtk_scale_set_draw_value( GTK_SCALE( lw3slider ), FALSE ); - lw3label = ui::Label( "" ); - gtk_widget_show( lw3label ); - gtk_box_pack_start( GTK_BOX( hbox ), lw3label, FALSE, TRUE, 0 ); + auto lw3label = ui::Label( "" ); + lw3label.show(); + hbox.pack_start( lw3label, FALSE, TRUE, 0 ); adj.connect( "value_changed", G_CALLBACK( OnScroll3d ), lw3label ); - table = ui::Table( 2, 4, FALSE ); - gtk_widget_show( table ); - gtk_box_pack_start( GTK_BOX( vbox2 ), table, TRUE, TRUE, 0 ); + auto table = ui::Table( 2, 4, FALSE ); + table.show(); + vbox2.pack_start( table, TRUE, TRUE, 0 ); gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); auto button = ui::Button( "Color" ); - gtk_widget_show( button ); + button.show(); gtk_table_attach( GTK_TABLE( table ), button, 0, 1, 0, 1, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); button.connect( "clicked", G_CALLBACK( OnColor3d ), NULL ); button = ui::Button( "Depth Color" ); - gtk_widget_show( button ); + button.show(); gtk_table_attach( GTK_TABLE( table ), button, 0, 1, 1, 2, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); button.connect( "clicked", G_CALLBACK( OnColorFog ), NULL ); auto aa3check = ui::CheckButton( "Anti-Alias (May not work on some video cards)" ); - gtk_widget_show( aa3check ); + aa3check.show(); gtk_table_attach( GTK_TABLE( table ), aa3check, 1, 4, 0, 1, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); aa3check.connect( "toggled", G_CALLBACK( OnAntiAlias3d ), NULL ); auto depthcheck = ui::CheckButton( "Depth Cue" ); - gtk_widget_show( depthcheck ); + depthcheck.show(); gtk_table_attach( GTK_TABLE( table ), depthcheck, 1, 2, 1, 2, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); depthcheck.connect( "toggled", G_CALLBACK( OnFog ), NULL ); auto linescheck = ui::CheckButton( "Lines" ); - gtk_widget_show( linescheck ); + linescheck.show(); gtk_table_attach( GTK_TABLE( table ), linescheck, 2, 3, 1, 2, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); linescheck.connect( "toggled", G_CALLBACK( OnLines ), NULL ); auto polyscheck = ui::CheckButton( "Polygons" ); - gtk_widget_show( polyscheck ); + polyscheck.show(); gtk_table_attach( GTK_TABLE( table ), polyscheck, 3, 4, 1, 2, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); polyscheck.connect( "toggled", G_CALLBACK( OnPoly ), NULL ); auto zlist = ui::ComboBoxText(ui::New); - gtk_widget_show( zlist ); - gtk_box_pack_start( GTK_BOX( vbox2 ), zlist, TRUE, FALSE, 0 ); + zlist.show(); + vbox2.pack_start( zlist, TRUE, FALSE, 0 ); gtk_combo_box_text_append_text(zlist, "Z-Buffer Test and Write (recommended for solid or no polygons)"); gtk_combo_box_text_append_text(zlist, "Z-Buffer Test Only (recommended for transparent polygons)"); gtk_combo_box_text_append_text(zlist, "Z-Buffer Off"); - zlist.connect("changed", G_CALLBACK(+[](GtkComboBox *self, void *) { - OnSelchangeZbuffer(GTK_WIDGET(self), GINT_TO_POINTER(gtk_combo_box_get_active(self))); + zlist.connect("changed", G_CALLBACK(+[](ui::ComboBox self, void *) { + OnSelchangeZbuffer(self, GINT_TO_POINTER(gtk_combo_box_get_active(self))); }), nullptr); table = ui::Table( 2, 2, FALSE ); - gtk_widget_show( table ); - gtk_box_pack_start( GTK_BOX( vbox2 ), table, TRUE, TRUE, 0 ); + table.show(); + vbox2.pack_start( table, TRUE, TRUE, 0 ); gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); adj = ui::Adjustment( portals.trans_3d, 0, 100, 1, 1, 0 ); - transslider = ui::HScale( adj ); - gtk_widget_show( transslider ); + auto transslider = ui::HScale( adj ); + transslider.show(); gtk_table_attach( GTK_TABLE( table ), transslider, 0, 1, 0, 1, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_scale_set_draw_value( GTK_SCALE( transslider ), FALSE ); - translabel = ui::Label( "" ); - gtk_widget_show( translabel ); + auto translabel = ui::Label( "" ); + translabel.show(); gtk_table_attach( GTK_TABLE( table ), translabel, 1, 2, 0, 1, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); @@ -364,15 +358,15 @@ void DoConfigDialog(){ adj.connect( "value_changed", G_CALLBACK( OnScrollTrans ), translabel ); adj = ui::Adjustment( portals.clip_range, 1, 128, 1, 1, 0 ); - clipslider = ui::HScale( adj ); - gtk_widget_show( clipslider ); + auto clipslider = ui::HScale( adj ); + clipslider.show(); gtk_table_attach( GTK_TABLE( table ), clipslider, 0, 1, 1, 2, (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); gtk_scale_set_draw_value( GTK_SCALE( clipslider ), FALSE ); - cliplabel = ui::Label( "" ); - gtk_widget_show( cliplabel ); + auto cliplabel = ui::Label( "" ); + cliplabel.show(); gtk_table_attach( GTK_TABLE( table ), cliplabel, 1, 2, 1, 2, (GtkAttachOptions) ( GTK_FILL ), (GtkAttachOptions) ( 0 ), 0, 0 ); @@ -380,22 +374,22 @@ void DoConfigDialog(){ adj.connect( "value_changed", G_CALLBACK( OnScrollClip ), cliplabel ); hbox = ui::HBox( TRUE, 5 ); - gtk_widget_show( hbox ); - gtk_box_pack_start( GTK_BOX( vbox2 ), hbox, TRUE, FALSE, 0 ); + hbox.show(); + vbox2.pack_start( hbox, TRUE, FALSE, 0 ); auto show3check = ui::CheckButton( "Show" ); - gtk_widget_show( show3check ); - gtk_box_pack_start( GTK_BOX( hbox ), show3check, TRUE, TRUE, 0 ); + show3check.show(); + hbox.pack_start( show3check, TRUE, TRUE, 0 ); show3check.connect( "toggled", G_CALLBACK( OnConfig3d ), NULL ); auto portalcheck = ui::CheckButton( "Portal cubic clipper" ); - gtk_widget_show( portalcheck ); - gtk_box_pack_start( GTK_BOX( hbox ), portalcheck, TRUE, TRUE, 0 ); + portalcheck.show(); + hbox.pack_start( portalcheck, TRUE, TRUE, 0 ); portalcheck.connect( "toggled", G_CALLBACK( OnClip ), NULL ); frame = ui::Frame( "2D View" ); - gtk_widget_show( frame ); - gtk_box_pack_start( GTK_BOX( vbox ), frame, TRUE, TRUE, 0 ); + frame.show(); + vbox.pack_start( frame, TRUE, TRUE, 0 ); vbox2 = ui::VBox( FALSE, 5 ); vbox2.show(); @@ -403,51 +397,51 @@ void DoConfigDialog(){ gtk_container_set_border_width( GTK_CONTAINER( vbox2 ), 5 ); hbox = ui::HBox( FALSE, 5 ); - gtk_widget_show( hbox ); - gtk_box_pack_start( GTK_BOX( vbox2 ), hbox, TRUE, FALSE, 0 ); + hbox.show(); + vbox2.pack_start( hbox, TRUE, FALSE, 0 ); adj = ui::Adjustment( portals.width_2d, 2, 40, 1, 1, 0 ); - lw2slider = ui::HScale( adj ); - gtk_widget_show( lw2slider ); - gtk_box_pack_start( GTK_BOX( hbox ), lw2slider, TRUE, TRUE, 0 ); + auto lw2slider = ui::HScale( adj ); + lw2slider.show(); + hbox.pack_start( lw2slider, TRUE, TRUE, 0 ); gtk_scale_set_draw_value( GTK_SCALE( lw2slider ), FALSE ); - lw2label = ui::Label( "" ); - gtk_widget_show( lw2label ); - gtk_box_pack_start( GTK_BOX( hbox ), lw2label, FALSE, TRUE, 0 ); + auto lw2label = ui::Label( "" ); + lw2label.show(); + hbox.pack_start( lw2label, FALSE, TRUE, 0 ); adj.connect( "value_changed", G_CALLBACK( OnScroll2d ), lw2label ); hbox = ui::HBox( FALSE, 5 ); - gtk_widget_show( hbox ); - gtk_box_pack_start( GTK_BOX( vbox2 ), hbox, TRUE, FALSE, 0 ); + hbox.show(); + vbox2.pack_start( hbox, TRUE, FALSE, 0 ); button = ui::Button( "Color" ); - gtk_widget_show( button ); - gtk_box_pack_start( GTK_BOX( hbox ), button, FALSE, FALSE, 0 ); + button.show(); + hbox.pack_start( button, FALSE, FALSE, 0 ); button.connect( "clicked", G_CALLBACK( OnColor2d ), NULL ); gtk_widget_set_size_request( button, 60, -1 ); auto aa2check = ui::CheckButton( "Anti-Alias (May not work on some video cards)" ); - gtk_widget_show( aa2check ); - gtk_box_pack_start( GTK_BOX( hbox ), aa2check, TRUE, TRUE, 0 ); + aa2check.show(); + hbox.pack_start( aa2check, TRUE, TRUE, 0 ); aa2check.connect( "toggled", G_CALLBACK( OnAntiAlias2d ), NULL ); hbox = ui::HBox( FALSE, 5 ); - gtk_widget_show( hbox ); - gtk_box_pack_start( GTK_BOX( vbox2 ), hbox, TRUE, FALSE, 0 ); + hbox.show(); + vbox2.pack_start( hbox, TRUE, FALSE, 0 ); auto show2check = ui::CheckButton( "Show" ); - gtk_widget_show( show2check ); - gtk_box_pack_start( GTK_BOX( hbox ), show2check, FALSE, FALSE, 0 ); + show2check.show(); + hbox.pack_start( show2check, FALSE, FALSE, 0 ); show2check.connect( "toggled", G_CALLBACK( OnConfig2d ), NULL ); hbox = ui::HBox( FALSE, 5 ); - gtk_widget_show( hbox ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); + hbox.show(); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); button = ui::Button( "OK" ); - gtk_widget_show( button ); - gtk_box_pack_end( GTK_BOX( hbox ), button, FALSE, FALSE, 0 ); + button.show(); + hbox.pack_end(button, FALSE, FALSE, 0); button.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDOK ) ); gtk_widget_set_size_request( button, 60, -1 ); @@ -470,11 +464,11 @@ void DoConfigDialog(){ SetClipText( cliplabel ); gtk_grab_add( dlg ); - gtk_widget_show( dlg ); + dlg.show(); while ( loop ) gtk_main_iteration(); gtk_grab_remove( dlg ); - gtk_widget_destroy( dlg ); + dlg.destroy(); }