X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=contrib%2Fbobtoolz%2Fdialogs%2Fdialogs-gtk.cpp;h=9329f306a2817e7823d6e95fb456ee9e310861b3;hb=b681f28130ff2e9789253eff1c1d41163e427eaa;hp=41e4d410622904bed2625cdfaeb4b645cff2793d;hpb=34e7980b3d67014bb32b4f67ce94c08cb5dd25e7;p=xonotic%2Fnetradiant.git diff --git a/contrib/bobtoolz/dialogs/dialogs-gtk.cpp b/contrib/bobtoolz/dialogs/dialogs-gtk.cpp index 41e4d410..9329f306 100644 --- a/contrib/bobtoolz/dialogs/dialogs-gtk.cpp +++ b/contrib/bobtoolz/dialogs/dialogs-gtk.cpp @@ -34,24 +34,24 @@ ---------------------------------*/ typedef struct { - ui::Widget cbTexChange; - ui::Widget editTexOld, editTexNew; + ui::Widget cbTexChange{ui::null}; + ui::Widget editTexOld{ui::null}, editTexNew{ui::null}; - ui::Widget cbScaleHor, cbScaleVert; - ui::Widget editScaleHor, editScaleVert; + ui::Widget cbScaleHor{ui::null}, cbScaleVert{ui::null}; + ui::Widget editScaleHor{ui::null}, editScaleVert{ui::null}; - ui::Widget cbShiftHor, cbShiftVert; - ui::Widget editShiftHor, editShiftVert; + ui::Widget cbShiftHor{ui::null}, cbShiftVert{ui::null}; + ui::Widget editShiftHor{ui::null}, editShiftVert{ui::null}; - ui::Widget cbRotation; - ui::Widget editRotation; + ui::Widget cbRotation{ui::null}; + ui::Widget editRotation{ui::null}; }dlg_texReset_t; dlg_texReset_t dlgTexReset; void Update_TextureReseter(); -static void dialog_button_callback_texreset_update( GtkWidget *widget, gpointer data ){ +static void dialog_button_callback_texreset_update(ui::Widget widget, gpointer data ){ Update_TextureReseter(); } @@ -78,12 +78,11 @@ void Update_TextureReseter(){ gtk_editable_set_editable( GTK_EDITABLE( dlgTexReset.editRotation ), check ); } -static void dialog_button_callback( GtkWidget *widget, gpointer data ){ - GtkWidget *parent; +static void dialog_button_callback( ui::Widget widget, gpointer data ){ int *loop; EMessageBoxReturn *ret; - parent = gtk_widget_get_toplevel( widget ); + auto parent = widget.window(); loop = (int*)g_object_get_data( G_OBJECT( parent ), "loop" ); ret = (EMessageBoxReturn*)g_object_get_data( G_OBJECT( parent ), "ret" ); @@ -91,21 +90,18 @@ static void dialog_button_callback( GtkWidget *widget, gpointer data ){ *ret = (EMessageBoxReturn)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; } -static void dialog_button_callback_settex( GtkWidget *widget, gpointer data ){ +static void dialog_button_callback_settex(ui::Widget widget, gpointer data ){ TwinWidget* tw = (TwinWidget*)data; - GtkEntry* entry = GTK_ENTRY( tw->one ); - auto* combo = GTK_BIN(tw->two); + auto entry = ui::Entry::from( tw->one ); + auto combo = tw->two; const gchar *tex = gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(combo))); gtk_entry_set_text( entry, tex ); @@ -115,7 +111,7 @@ static void dialog_button_callback_settex( GtkWidget *widget, gpointer data ){ Data validation Routines ---------------------------------*/ -bool ValidateTextFloat( const char* pData, char* error_title, float* value ){ +bool ValidateTextFloat( const char* pData, const char* error_title, float* value ){ if ( pData ) { float testNum = (float)atof( pData ); @@ -134,7 +130,7 @@ bool ValidateTextFloat( const char* pData, char* error_title, float* value ){ return FALSE; } -bool ValidateTextFloatRange( const char* pData, float min, float max, char* error_title, float* value ){ +bool ValidateTextFloatRange( const char* pData, float min, float max, const char* error_title, float* value ){ char error_buffer[256]; sprintf( error_buffer, "Please Enter A Floating Point Number Between %.3f and %.3f", min, max ); @@ -156,7 +152,7 @@ bool ValidateTextFloatRange( const char* pData, float min, float max, char* erro return FALSE; } -bool ValidateTextIntRange( const char* pData, int min, int max, char* error_title, int* value ){ +bool ValidateTextIntRange( const char* pData, int min, int max, const char* error_title, int* value ){ char error_buffer[256]; sprintf( error_buffer, "Please Enter An Integer Between %i and %i", min, max ); @@ -178,7 +174,7 @@ bool ValidateTextIntRange( const char* pData, int min, int max, char* error_titl return FALSE; } -bool ValidateTextInt( const char* pData, char* error_title, int* value ){ +bool ValidateTextInt( const char* pData, const char* error_title, int* value ){ if ( pData ) { int testNum = atoi( pData ); @@ -209,110 +205,108 @@ bool ValidateTextInt( const char* pData, char* error_title, int* value ){ */ EMessageBoxReturn DoMessageBox( const char* lpText, const char* lpCaption, EMessageBoxType type ){ - ui::Widget w, vbox, hbox; + ui::Widget w{ui::null}; EMessageBoxReturn ret; int loop = 1; auto window = ui::Window( ui::window_type::TOP ); window.connect( "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); 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 ); gtk_widget_realize( window ); - vbox = ui::VBox( FALSE, 10 ); + auto 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 = ui::Widget(gtk_hseparator_new()); - gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 2 ); - gtk_widget_show( w ); + w = ui::Widget::from(gtk_hseparator_new()); + 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 ); + auto hbox = ui::HBox( FALSE, 10 ); + vbox.pack_start( hbox, FALSE, FALSE, 2 ); + hbox.show(); if ( type == eMB_OK ) { w = ui::Button( "Ok" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); gtk_widget_set_can_default(w, true); gtk_widget_grab_default( w ); - gtk_widget_show( w ); + w.show(); ret = eIDOK; } else if ( type == eMB_OKCANCEL ) { w = ui::Button( "Ok" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); 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 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); - gtk_widget_show( w ); + w.show(); ret = eIDCANCEL; } else if ( type == eMB_YESNOCANCEL ) { w = ui::Button( "Yes" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) ); 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 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDNO ) ); - gtk_widget_show( w ); + w.show(); w = ui::Button( "Cancel" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); - gtk_widget_show( w ); + w.show(); ret = eIDCANCEL; } else /* if (mode == MB_YESNO) */ { w = ui::Button( "Yes" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) ); 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 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDNO ) ); - gtk_widget_show( w ); + w.show(); ret = eIDNO; } - gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER ); - gtk_widget_show( window ); + gtk_window_set_position( window, GTK_WIN_POS_CENTER ); + window.show(); gtk_grab_add( window ); while ( loop ) gtk_main_iteration(); gtk_grab_remove( window ); - gtk_widget_destroy( window ); + window.destroy(); return ret; } EMessageBoxReturn DoIntersectBox( IntersectRS* rs ){ - GtkWidget *hbox; - GtkWidget *check1, *check2; EMessageBoxReturn ret; int loop = 1; @@ -321,7 +315,7 @@ EMessageBoxReturn DoIntersectBox( IntersectRS* rs ){ window.connect( "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); window.connect( "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); - gtk_window_set_title( GTK_WINDOW( window ), "Intersect" ); + gtk_window_set_title( window, "Intersect" ); gtk_container_set_border_width( GTK_CONTAINER( window ), 10 ); g_object_set_data( G_OBJECT( window ), "loop", &loop ); @@ -333,84 +327,79 @@ EMessageBoxReturn DoIntersectBox( IntersectRS* rs ){ auto vbox = ui::VBox( FALSE, 10 ); window.add(vbox); - gtk_widget_show( vbox ); + vbox.show(); // ---- vbox ---- - auto radio1 = gtk_radio_button_new_with_label( NULL, "Use Whole Map" ); - gtk_box_pack_start( GTK_BOX( vbox ), radio1, FALSE, FALSE, 2 ); - gtk_widget_show( radio1 ); + auto radio1 = ui::Widget::from(gtk_radio_button_new_with_label( NULL, "Use Whole Map" )); + vbox.pack_start( radio1, FALSE, FALSE, 2 ); + radio1.show(); - auto radio2 = gtk_radio_button_new_with_label( gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio1)), "Use Selected Brushes" ); - gtk_box_pack_start( GTK_BOX( vbox ), radio2, FALSE, FALSE, 2 ); - gtk_widget_show( radio2 ); + auto radio2 = ui::Widget::from(gtk_radio_button_new_with_label( gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio1)), "Use Selected Brushes" )); + vbox.pack_start( radio2, FALSE, FALSE, 2 ); + radio2.show(); - auto hsep = ui::Widget(gtk_hseparator_new()); - gtk_box_pack_start( GTK_BOX( vbox ), hsep, FALSE, FALSE, 2 ); + auto hsep = ui::Widget::from(gtk_hseparator_new()); + vbox.pack_start( hsep, FALSE, FALSE, 2 ); hsep.show(); - check1 = ui::CheckButton( "Include Detail Brushes" ); - gtk_box_pack_start( GTK_BOX( vbox ), check1, FALSE, FALSE, 0 ); - gtk_widget_show( check1 ); + auto check1 = ui::CheckButton( "Include Detail Brushes" ); + vbox.pack_start( check1, FALSE, FALSE, 0 ); + check1.show(); - check2 = ui::CheckButton( "Select Duplicate Brushes Only" ); - gtk_box_pack_start( GTK_BOX( vbox ), check2, FALSE, FALSE, 0 ); - gtk_widget_show( check2 ); + auto check2 = ui::CheckButton( "Select Duplicate Brushes Only" ); + vbox.pack_start( check2, FALSE, FALSE, 0 ); + check2.show(); - hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 ); - gtk_widget_show( hbox ); + auto hbox = ui::HBox( FALSE, 10 ); + vbox.pack_start( hbox, FALSE, FALSE, 2 ); + hbox.show(); // ---- hbox ---- ok/cancel buttons auto w = ui::Button( "Ok" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); 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 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); - gtk_widget_show( w ); + w.show(); ret = eIDCANCEL; // ---- /hbox ---- // ---- /vbox ---- - gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER ); - gtk_widget_show( window ); + gtk_window_set_position( window, GTK_WIN_POS_CENTER ); + window.show(); gtk_grab_add( window ); while ( loop ) gtk_main_iteration(); - if ( gtk_toggle_button_get_active( (GtkToggleButton*)radio1 ) ) { + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radio1) ) ) { rs->nBrushOptions = BRUSH_OPT_WHOLE_MAP; } - else if ( gtk_toggle_button_get_active( (GtkToggleButton*)radio2 ) ) { + else if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radio2) ) ) { rs->nBrushOptions = BRUSH_OPT_SELECTED; } - rs->bUseDetail = gtk_toggle_button_get_active( (GtkToggleButton*)check1 ) ? true : false; - rs->bDuplicateOnly = gtk_toggle_button_get_active( (GtkToggleButton*)check2 ) ? true : false; + rs->bUseDetail = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(check1) ) ? true : false; + rs->bDuplicateOnly = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(check2) ) ? true : false; gtk_grab_remove( window ); - gtk_widget_destroy( window ); + window.destroy(); return ret; } EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ - GtkWidget *hbox, *vbox2, *hbox2; - - GtkWidget *check1, *check2, *check3; - GtkWidget *text1, *text2; - EMessageBoxReturn ret; int loop = 1; @@ -419,7 +408,7 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ window.connect( "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); window.connect( "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); - gtk_window_set_title( GTK_WINDOW( window ), "Polygon Builder" ); + gtk_window_set_title( window, "Polygon Builder" ); gtk_container_set_border_width( GTK_CONTAINER( window ), 10 ); g_object_set_data( G_OBJECT( window ), "loop", &loop ); @@ -435,52 +424,52 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ // ---- vbox ---- - hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 ); - gtk_widget_show( hbox ); + auto hbox = ui::HBox( FALSE, 10 ); + vbox.pack_start( hbox, FALSE, FALSE, 2 ); + hbox.show(); // ---- hbox ---- - vbox2 = ui::VBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( hbox ), vbox2, FALSE, FALSE, 2 ); - gtk_widget_show( vbox2 ); + auto vbox2 = ui::VBox( FALSE, 10 ); + hbox.pack_start( vbox2, FALSE, FALSE, 2 ); + vbox2.show(); // ---- vbox2 ---- - hbox2 = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox2 ), hbox2, FALSE, FALSE, 2 ); - gtk_widget_show( hbox2 ); + auto hbox2 = ui::HBox( FALSE, 10 ); + vbox2.pack_start( hbox2, FALSE, FALSE, 2 ); + hbox2.show(); // ---- hbox2 ---- - text1 = ui::Entry( 256 ); - gtk_entry_set_text( (GtkEntry*)text1, "3" ); - gtk_box_pack_start( GTK_BOX( hbox2 ), text1, FALSE, FALSE, 2 ); - gtk_widget_show( text1 ); + auto text1 = ui::Entry( 256 ); + gtk_entry_set_text( text1, "3" ); + hbox2.pack_start( text1, FALSE, FALSE, 2 ); + text1.show(); auto l = ui::Label( "Number Of Sides" ); - gtk_box_pack_start( GTK_BOX( hbox2 ), l, FALSE, FALSE, 2 ); + hbox2.pack_start( l, FALSE, FALSE, 2 ); gtk_label_set_justify( GTK_LABEL( l ), GTK_JUSTIFY_LEFT ); - gtk_widget_show( l ); + l.show(); // ---- /hbox2 ---- hbox2 = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox2 ), hbox2, FALSE, FALSE, 2 ); - gtk_widget_show( hbox2 ); + vbox2.pack_start( hbox2, FALSE, FALSE, 2 ); + hbox2.show(); // ---- hbox2 ---- - text2 = ui::Entry( 256 ); - gtk_entry_set_text( (GtkEntry*)text2, "8" ); - gtk_box_pack_start( GTK_BOX( hbox2 ), text2, FALSE, FALSE, 2 ); - gtk_widget_show( text2 ); + auto text2 = ui::Entry( 256 ); + gtk_entry_set_text( text2, "8" ); + hbox2.pack_start( text2, FALSE, FALSE, 2 ); + text2.show(); l = ui::Label( "Border Width" ); - gtk_box_pack_start( GTK_BOX( hbox2 ), l, FALSE, FALSE, 2 ); + hbox2.pack_start( l, FALSE, FALSE, 2 ); gtk_label_set_justify( GTK_LABEL( l ), GTK_JUSTIFY_LEFT ); - gtk_widget_show( l ); + l.show(); // ---- /hbox2 ---- @@ -489,55 +478,55 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ vbox2 = ui::VBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( hbox ), vbox2, FALSE, FALSE, 2 ); - gtk_widget_show( vbox2 ); + hbox.pack_start( vbox2, FALSE, FALSE, 2 ); + vbox2.show(); // ---- vbox2 ---- - check1 = ui::CheckButton( "Use Border" ); - gtk_box_pack_start( GTK_BOX( vbox2 ), check1, FALSE, FALSE, 0 ); - gtk_widget_show( check1 ); + auto check1 = ui::CheckButton( "Use Border" ); + vbox2.pack_start( check1, FALSE, FALSE, 0 ); + check1.show(); - check2 = ui::CheckButton( "Inverse Polygon" ); - gtk_box_pack_start( GTK_BOX( vbox2 ), check2, FALSE, FALSE, 0 ); - gtk_widget_show( check2 ); + auto check2 = ui::CheckButton( "Inverse Polygon" ); + vbox2.pack_start( check2, FALSE, FALSE, 0 ); + check2.show(); - check3 = ui::CheckButton( "Align Top Edge" ); - gtk_box_pack_start( GTK_BOX( vbox2 ), check3, FALSE, FALSE, 0 ); - gtk_widget_show( check3 ); + auto check3 = ui::CheckButton( "Align Top Edge" ); + vbox2.pack_start( check3, FALSE, FALSE, 0 ); + check3.show(); // ---- /vbox2 ---- // ---- /hbox ---- 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(); // ---- hbox ---- auto w = ui::Button( "Ok" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); 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 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); - gtk_widget_show( w ); + w.show(); ret = eIDCANCEL; // ---- /hbox ---- // ---- /vbox ---- - gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER ); - gtk_widget_show( window ); + gtk_window_set_position( window, GTK_WIN_POS_CENTER ); + window.show(); gtk_grab_add( window ); bool dialogError = TRUE; @@ -550,16 +539,16 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ dialogError = FALSE; if ( ret == eIDOK ) { - rs->bUseBorder = gtk_toggle_button_get_active( (GtkToggleButton*)check1 ) ? true : false; - rs->bInverse = gtk_toggle_button_get_active( (GtkToggleButton*)check2 ) ? true : false; - rs->bAlignTop = gtk_toggle_button_get_active( (GtkToggleButton*)check3 ) ? true : false; + rs->bUseBorder = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(check1) ) ? true : false; + rs->bInverse = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(check2) ) ? true : false; + rs->bAlignTop = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(check3) ) ? true : false; - if ( !ValidateTextIntRange( gtk_entry_get_text( (GtkEntry*)text1 ), 3, 32, "Number Of Sides", &rs->nSides ) ) { + if ( !ValidateTextIntRange( gtk_entry_get_text( text1 ), 3, 32, "Number Of Sides", &rs->nSides ) ) { dialogError = TRUE; } if ( rs->bUseBorder ) { - if ( !ValidateTextIntRange( gtk_entry_get_text( (GtkEntry*)text2 ), 8, 256, "Border Width", &rs->nBorderWidth ) ) { + if ( !ValidateTextIntRange( gtk_entry_get_text( text2 ), 8, 256, "Border Width", &rs->nBorderWidth ) ) { dialogError = TRUE; } } @@ -567,7 +556,7 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ } gtk_grab_remove( window ); - gtk_widget_destroy( window ); + window.destroy(); return ret; } @@ -576,22 +565,18 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ // for stair builder stuck as close as i could to the MFC version // obviously feel free to change it at will :) EMessageBoxReturn DoBuildStairsBox( BuildStairsRS* rs ){ - GtkWidget *textStairHeight, *textRiserTex, *textMainTex; - GtkWidget *radioNorth, *radioSouth, *radioEast, *radioWest; // i'm guessing we can't just abuse 'w' for these if we're getting a value - GtkWidget *radioOldStyle, *radioBobStyle, *radioCornerStyle; - GtkWidget *checkUseDetail; GSList *radioDirection, *radioStyle; EMessageBoxReturn ret; int loop = 1; - char *text = "Please set a value in the boxes below and press 'OK' to build the stairs"; + const char *text = "Please set a value in the boxes below and press 'OK' to build the stairs"; auto window = ui::Window( ui::window_type::TOP ); window.connect( "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); window.connect( "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); - gtk_window_set_title( GTK_WINDOW( window ), "Stair Builder" ); + gtk_window_set_title( window, "Stair Builder" ); gtk_container_set_border_width( GTK_CONTAINER( window ), 10 ); @@ -603,51 +588,51 @@ EMessageBoxReturn DoBuildStairsBox( BuildStairsRS* rs ){ // new vbox auto vbox = ui::VBox( FALSE, 10 ); window.add(vbox); - gtk_widget_show( vbox ); + vbox.show(); auto hbox = ui::HBox( FALSE, 10 ); vbox.add(hbox); - gtk_widget_show( hbox ); + hbox.show(); // dunno if you want this text or not ... ui::Widget w = ui::Label( text ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); // not entirely sure on all the parameters / what they do ... - gtk_widget_show( w ); + hbox.pack_start( w, FALSE, FALSE, 0 ); // not entirely sure on all the parameters / what they do ... + w.show(); - w = ui::Widget(gtk_hseparator_new()); - gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 ); - gtk_widget_show( w ); + w = ui::Widget::from(gtk_hseparator_new()); + vbox.pack_start( w, FALSE, FALSE, 0 ); + w.show(); // ------------------------- // indenting == good way of keeping track of lines :) // new hbox hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); - textStairHeight = ui::Entry( 256 ); - gtk_box_pack_start( GTK_BOX( hbox ), textStairHeight, FALSE, FALSE, 1 ); - gtk_widget_show( textStairHeight ); + auto textStairHeight = ui::Entry( 256 ); + hbox.pack_start( textStairHeight, FALSE, FALSE, 1 ); + textStairHeight.show(); w = ui::Label( "Stair Height" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 1 ); - gtk_widget_show( w ); + hbox.pack_start( w, FALSE, FALSE, 1 ); + w.show(); // ------------------------- // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); w = ui::Label( "Direction:" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 5 ); - gtk_widget_show( w ); + hbox.pack_start( w, FALSE, FALSE, 5 ); + w.show(); // -------------------------- // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); // radio buttons confuse me ... // but this _looks_ right @@ -655,59 +640,59 @@ EMessageBoxReturn DoBuildStairsBox( BuildStairsRS* rs ){ // djbob: actually it looks very nice :), slightly better than the way i did it // edit: actually it doesn't work :P, you must pass the last radio item each time, ugh - radioNorth = gtk_radio_button_new_with_label( NULL, "North" ); - gtk_box_pack_start( GTK_BOX( hbox ), radioNorth, FALSE, FALSE, 3 ); - gtk_widget_show( radioNorth ); + auto radioNorth = ui::Widget::from(gtk_radio_button_new_with_label( NULL, "North" )); + hbox.pack_start( radioNorth, FALSE, FALSE, 3 ); + radioNorth.show(); radioDirection = gtk_radio_button_get_group( GTK_RADIO_BUTTON( radioNorth ) ); - radioSouth = gtk_radio_button_new_with_label( radioDirection, "South" ); - gtk_box_pack_start( GTK_BOX( hbox ), radioSouth, FALSE, FALSE, 2 ); - gtk_widget_show( radioSouth ); + auto radioSouth = ui::Widget::from(gtk_radio_button_new_with_label( radioDirection, "South" )); + hbox.pack_start( radioSouth, FALSE, FALSE, 2 ); + radioSouth.show(); radioDirection = gtk_radio_button_get_group( GTK_RADIO_BUTTON( radioSouth ) ); - radioEast = gtk_radio_button_new_with_label( radioDirection, "East" ); - gtk_box_pack_start( GTK_BOX( hbox ), radioEast, FALSE, FALSE, 1 ); - gtk_widget_show( radioEast ); + auto radioEast = ui::Widget::from(gtk_radio_button_new_with_label( radioDirection, "East" )); + hbox.pack_start( radioEast, FALSE, FALSE, 1 ); + radioEast.show(); radioDirection = gtk_radio_button_get_group( GTK_RADIO_BUTTON( radioEast ) ); - radioWest = gtk_radio_button_new_with_label( radioDirection, "West" ); - gtk_box_pack_start( GTK_BOX( hbox ), radioWest, FALSE, FALSE, 0 ); - gtk_widget_show( radioWest ); + auto radioWest = ui::Widget::from(gtk_radio_button_new_with_label( radioDirection, "West" )); + hbox.pack_start( radioWest, FALSE, FALSE, 0 ); + radioWest.show(); // --------------------------- // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); w = ui::Label( "Style:" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 5 ); - gtk_widget_show( w ); + hbox.pack_start( w, FALSE, FALSE, 5 ); + w.show(); // --------------------------- // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); - radioOldStyle = gtk_radio_button_new_with_label( NULL, "Original" ); - gtk_box_pack_start( GTK_BOX( hbox ), radioOldStyle, FALSE, FALSE, 0 ); - gtk_widget_show( radioOldStyle ); + auto radioOldStyle = ui::Widget::from(gtk_radio_button_new_with_label( NULL, "Original" )); + hbox.pack_start( radioOldStyle, FALSE, FALSE, 0 ); + radioOldStyle.show(); radioStyle = gtk_radio_button_get_group( GTK_RADIO_BUTTON( radioOldStyle ) ); - radioBobStyle = gtk_radio_button_new_with_label( radioStyle, "Bob's Style" ); - gtk_box_pack_start( GTK_BOX( hbox ), radioBobStyle, FALSE, FALSE, 0 ); - gtk_widget_show( radioBobStyle ); + auto radioBobStyle = ui::Widget::from(gtk_radio_button_new_with_label( radioStyle, "Bob's Style" )); + hbox.pack_start( radioBobStyle, FALSE, FALSE, 0 ); + radioBobStyle.show(); radioStyle = gtk_radio_button_get_group( GTK_RADIO_BUTTON( radioBobStyle ) ); - radioCornerStyle = gtk_radio_button_new_with_label( radioStyle, "Corner Style" ); - gtk_box_pack_start( GTK_BOX( hbox ), radioCornerStyle, FALSE, FALSE, 0 ); - gtk_widget_show( radioCornerStyle ); + auto radioCornerStyle = ui::Widget::from(gtk_radio_button_new_with_label( radioStyle, "Corner Style" )); + hbox.pack_start( radioCornerStyle, FALSE, FALSE, 0 ); + radioCornerStyle.show(); // err, the q3r has an if or something so you need bob style checked before this // is "ungreyed out" but you'll need to do that, as i suck :) @@ -716,65 +701,65 @@ EMessageBoxReturn DoBuildStairsBox( BuildStairsRS* rs ){ // djbob: think we need some button callback functions or smuffin // FIXME: actually get around to doing what i suggested!!!! - checkUseDetail = ui::CheckButton( "Use Detail Brushes" ); - gtk_box_pack_start( GTK_BOX( hbox ), checkUseDetail, FALSE, FALSE, 0 ); - gtk_widget_show( checkUseDetail ); + auto checkUseDetail = ui::CheckButton( "Use Detail Brushes" ); + hbox.pack_start( checkUseDetail, FALSE, FALSE, 0 ); + checkUseDetail.show(); // --------------------------- // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); - textMainTex = ui::Entry( 512 ); + auto textMainTex = ui::Entry( 512 ); gtk_entry_set_text( GTK_ENTRY( textMainTex ), rs->mainTexture ); - gtk_box_pack_start( GTK_BOX( hbox ), textMainTex, FALSE, FALSE, 0 ); - gtk_widget_show( textMainTex ); + hbox.pack_start( textMainTex, FALSE, FALSE, 0 ); + textMainTex.show(); w = ui::Label( "Main Texture" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 1 ); - gtk_widget_show( w ); + hbox.pack_start( w, FALSE, FALSE, 1 ); + w.show(); // -------------------------- // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); - textRiserTex = ui::Entry( 512 ); - gtk_box_pack_start( GTK_BOX( hbox ), textRiserTex, FALSE, FALSE, 0 ); - gtk_widget_show( textRiserTex ); + auto textRiserTex = ui::Entry( 512 ); + hbox.pack_start( textRiserTex, FALSE, FALSE, 0 ); + textRiserTex.show(); w = ui::Label( "Riser Texture" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 1 ); - gtk_widget_show( w ); + hbox.pack_start( w, FALSE, FALSE, 1 ); + w.show(); // -------------------------- // - w = ui::Widget(gtk_hseparator_new()); - gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 ); - gtk_widget_show( w ); + w = ui::Widget::from(gtk_hseparator_new()); + vbox.pack_start( w, FALSE, FALSE, 0 ); + w.show(); hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); w = ui::Button( "OK" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); 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 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); - gtk_widget_show( w ); + w.show(); ret = eIDCANCEL; // +djbob: need our "little" modal loop mars :P - gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER ); - gtk_widget_show( window ); + gtk_window_set_position( window, GTK_WIN_POS_CENTER ); + window.show(); gtk_grab_add( window ); bool dialogError = TRUE; @@ -787,42 +772,42 @@ EMessageBoxReturn DoBuildStairsBox( BuildStairsRS* rs ){ dialogError = FALSE; if ( ret == eIDOK ) { - rs->bUseDetail = gtk_toggle_button_get_active( (GtkToggleButton*)checkUseDetail ) ? true : false; + rs->bUseDetail = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(checkUseDetail) ) ? true : false; - strcpy( rs->riserTexture, gtk_entry_get_text( (GtkEntry*)textRiserTex ) ); - strcpy( rs->mainTexture, gtk_entry_get_text( (GtkEntry*)textMainTex ) ); + strcpy( rs->riserTexture, gtk_entry_get_text( textRiserTex ) ); + strcpy( rs->mainTexture, gtk_entry_get_text( textMainTex ) ); - if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioNorth ) ) { + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radioNorth) ) ) { rs->direction = MOVE_NORTH; } - else if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioSouth ) ) { + else if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radioSouth) ) ) { rs->direction = MOVE_SOUTH; } - else if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioEast ) ) { + else if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radioEast) ) ) { rs->direction = MOVE_EAST; } - else if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioWest ) ) { + else if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radioWest) ) ) { rs->direction = MOVE_WEST; } - if ( !ValidateTextInt( gtk_entry_get_text( (GtkEntry*)textStairHeight ), "Stair Height", &rs->stairHeight ) ) { + if ( !ValidateTextInt( gtk_entry_get_text( textStairHeight ), "Stair Height", &rs->stairHeight ) ) { dialogError = TRUE; } - if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioOldStyle ) ) { + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radioOldStyle) ) ) { rs->style = STYLE_ORIGINAL; } - else if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioBobStyle ) ) { + else if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radioBobStyle) ) ) { rs->style = STYLE_BOB; } - else if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioCornerStyle ) ) { + else if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(radioCornerStyle) ) ) { rs->style = STYLE_CORNER; } } } gtk_grab_remove( window ); - gtk_widget_destroy( window ); + window.destroy(); return ret; // -djbob @@ -831,9 +816,6 @@ EMessageBoxReturn DoBuildStairsBox( BuildStairsRS* rs ){ } EMessageBoxReturn DoDoorsBox( DoorRS* rs ){ - GtkWidget *hbox; - GtkWidget *checkScaleMainH, *checkScaleMainV, *checkScaleTrimH, *checkScaleTrimV; - GtkWidget *radioNS, *radioEW; GSList *radioOrientation; TwinWidget tw1, tw2; EMessageBoxReturn ret; @@ -844,7 +826,7 @@ EMessageBoxReturn DoDoorsBox( DoorRS* rs ){ window.connect( "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); window.connect( "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); - gtk_window_set_title( GTK_WINDOW( window ), "Door Builder" ); + gtk_window_set_title( window, "Door Builder" ); gtk_container_set_border_width( GTK_CONTAINER( window ), 10 ); @@ -854,168 +836,168 @@ EMessageBoxReturn DoDoorsBox( DoorRS* rs ){ gtk_widget_realize( window ); char buffer[256]; - ui::ListStore listMainTextures = ui::ListStore(gtk_list_store_new( 1, G_TYPE_STRING )); - ui::ListStore listTrimTextures = ui::ListStore(gtk_list_store_new( 1, G_TYPE_STRING )); + auto listMainTextures = ui::ListStore::from(gtk_list_store_new( 1, G_TYPE_STRING )); + auto listTrimTextures = ui::ListStore::from(gtk_list_store_new( 1, G_TYPE_STRING )); LoadGList( GetFilename( buffer, "plugins/bt/door-tex.txt" ), listMainTextures ); LoadGList( GetFilename( buffer, "plugins/bt/door-tex-trim.txt" ), listTrimTextures ); auto vbox = ui::VBox( FALSE, 10 ); window.add(vbox); - gtk_widget_show( vbox ); + vbox.show(); // -------------------------- // - hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + auto hbox = ui::HBox( FALSE, 10 ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); auto textFrontBackTex = ui::Entry( 512 ); gtk_entry_set_text( GTK_ENTRY( textFrontBackTex ), rs->mainTexture ); - gtk_box_pack_start( GTK_BOX( hbox ), textFrontBackTex, FALSE, FALSE, 0 ); - gtk_widget_show( textFrontBackTex ); + hbox.pack_start( textFrontBackTex, FALSE, FALSE, 0 ); + textFrontBackTex.show(); ui::Widget w = ui::Label( "Door Front/Back Texture" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); - gtk_widget_show( w ); + hbox.pack_start( w, FALSE, FALSE, 0 ); + w.show(); // ------------------------ // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); auto textTrimTex = ui::Entry( 512 ); - gtk_box_pack_start( GTK_BOX( hbox ), textTrimTex, FALSE, FALSE, 0 ); - gtk_widget_show( textTrimTex ); + hbox.pack_start( textTrimTex, FALSE, FALSE, 0 ); + textTrimTex.show(); w = ui::Label( "Door Trim Texture" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); - gtk_widget_show( w ); + hbox.pack_start( w, FALSE, FALSE, 0 ); + w.show(); // ----------------------- // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); // sp: horizontally ???? // djbob: yes mars, u can spell :] - checkScaleMainH = ui::CheckButton( "Scale Main Texture Horizontally" ); + auto checkScaleMainH = ui::CheckButton( "Scale Main Texture Horizontally" ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( checkScaleMainH ), TRUE ); - gtk_box_pack_start( GTK_BOX( hbox ), checkScaleMainH, FALSE, FALSE, 0 ); - gtk_widget_show( checkScaleMainH ); + hbox.pack_start( checkScaleMainH, FALSE, FALSE, 0 ); + checkScaleMainH.show(); - checkScaleTrimH = ui::CheckButton( "Scale Trim Texture Horizontally" ); + auto checkScaleTrimH = ui::CheckButton( "Scale Trim Texture Horizontally" ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( checkScaleTrimH ), TRUE ); - gtk_box_pack_start( GTK_BOX( hbox ), checkScaleTrimH, FALSE, FALSE, 0 ); - gtk_widget_show( checkScaleTrimH ); + hbox.pack_start( checkScaleTrimH, FALSE, FALSE, 0 ); + checkScaleTrimH.show(); // ---------------------- // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); - checkScaleMainV = ui::CheckButton( "Scale Main Texture Vertically" ); + auto checkScaleMainV = ui::CheckButton( "Scale Main Texture Vertically" ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( checkScaleMainV ), TRUE ); - gtk_box_pack_start( GTK_BOX( hbox ), checkScaleMainV, FALSE, FALSE, 0 ); - gtk_widget_show( checkScaleMainV ); + hbox.pack_start( checkScaleMainV, FALSE, FALSE, 0 ); + checkScaleMainV.show(); - checkScaleTrimV = ui::CheckButton( "Scale Trim Texture Vertically" ); - gtk_box_pack_start( GTK_BOX( hbox ), checkScaleTrimV, FALSE, FALSE, 0 ); - gtk_widget_show( checkScaleTrimV ); + auto checkScaleTrimV = ui::CheckButton( "Scale Trim Texture Vertically" ); + hbox.pack_start( checkScaleTrimV, FALSE, FALSE, 0 ); + checkScaleTrimV.show(); // --------------------- // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); // djbob: lists added - auto comboMain = ui::ComboBox(GTK_COMBO_BOX(gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(listMainTextures)))); + auto comboMain = ui::ComboBox::from(gtk_combo_box_new_with_model_and_entry(listMainTextures)); gtk_combo_box_set_entry_text_column(GTK_COMBO_BOX(comboMain), 0); - gtk_box_pack_start( GTK_BOX( hbox ), comboMain, FALSE, FALSE, 0 ); - gtk_widget_show( comboMain ); + hbox.pack_start( comboMain, FALSE, FALSE, 0 ); + comboMain.show(); tw1.one = textFrontBackTex; tw1.two = comboMain; auto buttonSetMain = ui::Button( "Set As Main Texture" ); buttonSetMain.connect( "clicked", G_CALLBACK( dialog_button_callback_settex ), &tw1 ); - gtk_box_pack_start( GTK_BOX( hbox ), buttonSetMain, FALSE, FALSE, 0 ); - gtk_widget_show( buttonSetMain ); + hbox.pack_start( buttonSetMain, FALSE, FALSE, 0 ); + buttonSetMain.show(); // ------------------- // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); - auto comboTrim = ui::ComboBox(GTK_COMBO_BOX(gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(listTrimTextures)))); + auto comboTrim = ui::ComboBox::from(gtk_combo_box_new_with_model_and_entry(listTrimTextures)); gtk_combo_box_set_entry_text_column(GTK_COMBO_BOX(comboMain), 0); - gtk_box_pack_start( GTK_BOX( hbox ), comboTrim, FALSE, FALSE, 0 ); - gtk_widget_show( comboTrim ); + hbox.pack_start( comboTrim, FALSE, FALSE, 0 ); + comboTrim.show(); tw2.one = textTrimTex; tw2.two = comboTrim; auto buttonSetTrim = ui::Button( "Set As Trim Texture" ); buttonSetTrim.connect( "clicked", G_CALLBACK( dialog_button_callback_settex ), &tw2 ); - gtk_box_pack_start( GTK_BOX( hbox ), buttonSetTrim, FALSE, FALSE, 0 ); - gtk_widget_show( buttonSetTrim ); + hbox.pack_start( buttonSetTrim, FALSE, FALSE, 0 ); + buttonSetTrim.show(); // ------------------ // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); w = ui::Label( "Orientation" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); - gtk_widget_show( w ); + hbox.pack_start( w, FALSE, FALSE, 0 ); + w.show(); // argh more radio buttons! - radioNS = gtk_radio_button_new_with_label( NULL, "North - South" ); - gtk_box_pack_start( GTK_BOX( hbox ), radioNS, FALSE, FALSE, 0 ); - gtk_widget_show( radioNS ); + auto radioNS = ui::Widget::from(gtk_radio_button_new_with_label( NULL, "North - South" )); + hbox.pack_start( radioNS, FALSE, FALSE, 0 ); + radioNS.show(); radioOrientation = gtk_radio_button_get_group( GTK_RADIO_BUTTON( radioNS ) ); - radioEW = gtk_radio_button_new_with_label( radioOrientation, "East - West" ); - gtk_box_pack_start( GTK_BOX( hbox ), radioEW, FALSE, FALSE, 0 ); - gtk_widget_show( radioEW ); + auto radioEW = ui::Widget::from(gtk_radio_button_new_with_label( radioOrientation, "East - West" )); + hbox.pack_start( radioEW, FALSE, FALSE, 0 ); + radioEW.show(); // ----------------- // - w = ui::Widget(gtk_hseparator_new()); - gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 ); - gtk_widget_show( w ); + w = ui::Widget::from(gtk_hseparator_new()); + vbox.pack_start( w, FALSE, FALSE, 0 ); + w.show(); // ----------------- // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); w = ui::Button( "OK" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); 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 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); - gtk_widget_show( w ); + w.show(); ret = eIDCANCEL; // ----------------- // //+djbob - gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER ); - gtk_widget_show( window ); + gtk_window_set_position( window, GTK_WIN_POS_CENTER ); + window.show(); gtk_grab_add( window ); while ( loop ) @@ -1037,17 +1019,14 @@ EMessageBoxReturn DoDoorsBox( DoorRS* rs ){ } gtk_grab_remove( window ); - gtk_widget_destroy( window ); + window.destroy(); return ret; //-djbob } EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ - ui::Widget w, hbox; - - ui::Entry text1, text2, text3; - ui::Widget check1, check2; + ui::Widget w{ui::null}; EMessageBoxReturn ret; int loop = 1; @@ -1057,7 +1036,7 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ window.connect( "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); window.connect( "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); - gtk_window_set_title( GTK_WINDOW( window ), "Texture Reset" ); + gtk_window_set_title( window, "Texture Reset" ); gtk_container_set_border_width( GTK_CONTAINER( window ), 10 ); g_object_set_data( G_OBJECT( window ), "loop", &loop ); @@ -1069,120 +1048,120 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ auto vbox = ui::VBox( FALSE, 10 ); window.add(vbox); - gtk_widget_show( vbox ); + vbox.show(); // ---- vbox ---- - hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 ); - gtk_widget_show( hbox ); + auto hbox = ui::HBox( FALSE, 10 ); + vbox.pack_start( hbox, FALSE, FALSE, 2 ); + hbox.show(); // ---- hbox ---- - text1 = ui::Entry( 256 ); + auto text1 = ui::Entry( 256 ); gtk_entry_set_text( text1, "25" ); - gtk_box_pack_start( GTK_BOX( hbox ), text1, FALSE, FALSE, 2 ); - gtk_widget_show( text1 ); + hbox.pack_start( text1, FALSE, FALSE, 2 ); + text1.show(); w = ui::Label( "Number Of Points" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 2 ); + hbox.pack_start( w, FALSE, FALSE, 2 ); gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT ); - gtk_widget_show( w ); + w.show(); // ---- /hbox ---- 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(); // ---- hbox ---- - text2 = ui::Entry( 256 ); + auto text2 = ui::Entry( 256 ); gtk_entry_set_text( text2, "3" ); - gtk_box_pack_start( GTK_BOX( hbox ), text2, FALSE, FALSE, 2 ); - gtk_widget_show( text2 ); + hbox.pack_start( text2, FALSE, FALSE, 2 ); + text2.show(); w = ui::Label( "Multipler" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 2 ); + hbox.pack_start( w, FALSE, FALSE, 2 ); gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT ); - gtk_widget_show( w ); + w.show(); // ---- /hbox ---- w = ui::Label( "Path Distance = dist(start -> apex) * multiplier" ); - gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 ); + vbox.pack_start( w, FALSE, FALSE, 0 ); gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT ); - gtk_widget_show( w ); + 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(); // ---- hbox ---- - text3 = ui::Entry( 256 ); + auto text3 = ui::Entry( 256 ); gtk_entry_set_text( text3, "-800" ); - gtk_box_pack_start( GTK_BOX( hbox ), text3, FALSE, FALSE, 2 ); - gtk_widget_show( text3 ); + hbox.pack_start( text3, FALSE, FALSE, 2 ); + text3.show(); w = ui::Label( "Gravity" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 2 ); + hbox.pack_start( w, FALSE, FALSE, 2 ); gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT ); - gtk_widget_show( w ); + w.show(); // ---- /hbox ---- - w = ui::Widget(gtk_hseparator_new()); - gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 ); - gtk_widget_show( w ); + w = ui::Widget::from(gtk_hseparator_new()); + vbox.pack_start( w, FALSE, FALSE, 0 ); + w.show(); - check1 = ui::CheckButton( "No Dynamic Update" ); - gtk_box_pack_start( GTK_BOX( vbox ), check1, FALSE, FALSE, 0 ); - gtk_widget_show( check1 ); + auto check1 = ui::CheckButton( "No Dynamic Update" ); + vbox.pack_start( check1, FALSE, FALSE, 0 ); + check1.show(); - check2 = ui::CheckButton( "Show Bounding Lines" ); - gtk_box_pack_start( GTK_BOX( vbox ), check2, FALSE, FALSE, 0 ); - gtk_widget_show( check2 ); + auto check2 = ui::CheckButton( "Show Bounding Lines" ); + vbox.pack_start( check2, FALSE, FALSE, 0 ); + check2.show(); // ---- /vbox ---- // ----------------- // - w = ui::Widget(gtk_hseparator_new()); - gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 ); - gtk_widget_show( w ); + w = ui::Widget::from(gtk_hseparator_new()); + vbox.pack_start( w, FALSE, FALSE, 0 ); + w.show(); // ----------------- // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); w = ui::Button( "Enable" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) ); - gtk_widget_show( w ); + w.show(); gtk_widget_set_can_default( w, true ); gtk_widget_grab_default( w ); w = ui::Button( "Disable" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDNO ) ); - gtk_widget_show( w ); + w.show(); w = ui::Button( "Cancel" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); - gtk_widget_show( w ); + w.show(); ret = eIDCANCEL; // ----------------- // - gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER ); - gtk_widget_show( window ); + gtk_window_set_position( window, GTK_WIN_POS_CENTER ); + window.show(); gtk_grab_add( window ); bool dialogError = TRUE; @@ -1213,13 +1192,13 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ } gtk_grab_remove( window ); - gtk_widget_destroy( window ); + window.destroy(); return ret; } EMessageBoxReturn DoCTFColourChangeBox(){ - ui::Widget w, hbox; + ui::Widget w{ui::null}; EMessageBoxReturn ret; int loop = 1; @@ -1228,7 +1207,7 @@ EMessageBoxReturn DoCTFColourChangeBox(){ window.connect( "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); window.connect( "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); - gtk_window_set_title( GTK_WINDOW( window ), "CTF Colour Changer" ); + gtk_window_set_title( window, "CTF Colour Changer" ); gtk_container_set_border_width( GTK_CONTAINER( window ), 10 ); g_object_set_data( G_OBJECT( window ), "loop", &loop ); @@ -1240,48 +1219,48 @@ EMessageBoxReturn DoCTFColourChangeBox(){ auto vbox = ui::VBox( FALSE, 10 ); window.add(vbox); - gtk_widget_show( vbox ); + vbox.show(); // ---- vbox ---- - hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, TRUE, TRUE, 0 ); - gtk_widget_show( hbox ); + auto hbox = ui::HBox( FALSE, 10 ); + vbox.pack_start( hbox, TRUE, TRUE, 0 ); + hbox.show(); // ---- hbox ---- ok/cancel buttons w = ui::Button( "Red->Blue" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); gtk_widget_set_can_default( w, true ); gtk_widget_grab_default( w ); - gtk_widget_show( w ); + w.show(); w = ui::Button( "Blue->Red" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) ); - gtk_widget_show( w ); + w.show(); w = ui::Button( "Cancel" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); - gtk_widget_show( w ); + w.show(); ret = eIDCANCEL; // ---- /hbox ---- // ---- /vbox ---- - gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER ); - gtk_widget_show( window ); + gtk_window_set_position( window, GTK_WIN_POS_CENTER ); + window.show(); gtk_grab_add( window ); while ( loop ) gtk_main_iteration(); gtk_grab_remove( window ); - gtk_widget_destroy( window ); + window.destroy(); return ret; } @@ -1289,7 +1268,7 @@ EMessageBoxReturn DoCTFColourChangeBox(){ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ Str texSelected; - ui::Widget w, hbox; + ui::Widget w{ui::null}; EMessageBoxReturn ret; int loop = 1; @@ -1299,7 +1278,7 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ window.connect( "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); window.connect( "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); - gtk_window_set_title( GTK_WINDOW( window ), "Texture Reset" ); + gtk_window_set_title( window, "Texture Reset" ); gtk_container_set_border_width( GTK_CONTAINER( window ), 10 ); g_object_set_data( G_OBJECT( window ), "loop", &loop ); @@ -1313,9 +1292,9 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ // ---- vbox ---- - hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 ); - gtk_widget_show( hbox ); + auto hbox = ui::HBox( FALSE, 10 ); + vbox.pack_start( hbox, FALSE, FALSE, 2 ); + hbox.show(); // ---- hbox ---- @@ -1323,237 +1302,197 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ texSelected += GetCurrentTexture(); w = ui::Label( texSelected ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 2 ); + hbox.pack_start( w, FALSE, FALSE, 2 ); gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT ); - gtk_widget_show( w ); + w.show(); // ---- /hbox ---- auto frame = ui::Frame( "Reset Texture Names" ); - gtk_widget_show( frame ); - gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); + frame.show(); + vbox.pack_start( frame, FALSE, TRUE, 0 ); auto table = ui::Table( 2, 3, TRUE ); table.show(); frame.add(table); - gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); - gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); + gtk_table_set_row_spacings(table, 5); + gtk_table_set_col_spacings(table, 5); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); // ---- frame ---- dlgTexReset.cbTexChange = ui::CheckButton( "Enabled" ); dlgTexReset.cbTexChange.connect( "toggled", G_CALLBACK( dialog_button_callback_texreset_update ), NULL ); - gtk_widget_show( dlgTexReset.cbTexChange ); - gtk_table_attach( GTK_TABLE( table ), dlgTexReset.cbTexChange, 0, 1, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); + dlgTexReset.cbTexChange.show(); + table.attach(dlgTexReset.cbTexChange, {0, 1, 0, 1}, {GTK_FILL, 0}); w = ui::Label( "Old Name: " ); - gtk_table_attach( GTK_TABLE( table ), w, 1, 2, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {1, 2, 0, 1}, {GTK_FILL, 0}); + w.show(); dlgTexReset.editTexOld = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( dlgTexReset.editTexOld ), rs->textureName ); - gtk_table_attach( GTK_TABLE( table ), dlgTexReset.editTexOld, 2, 3, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( dlgTexReset.editTexOld ); + table.attach(dlgTexReset.editTexOld, {2, 3, 0, 1}, {GTK_FILL, 0}); + dlgTexReset.editTexOld.show(); w = ui::Label( "New Name: " ); - gtk_table_attach( GTK_TABLE( table ), w, 1, 2, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {1, 2, 1, 2}, {GTK_FILL, 0}); + w.show(); dlgTexReset.editTexNew = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( dlgTexReset.editTexNew ), rs->textureName ); - gtk_table_attach( GTK_TABLE( table ), dlgTexReset.editTexNew, 2, 3, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( dlgTexReset.editTexNew ); + table.attach(dlgTexReset.editTexNew, {2, 3, 1, 2}, {GTK_FILL, 0}); + dlgTexReset.editTexNew.show(); // ---- /frame ---- frame = ui::Frame( "Reset Scales" ); - gtk_widget_show( frame ); - gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); + frame.show(); + vbox.pack_start( frame, FALSE, TRUE, 0 ); table = ui::Table( 2, 3, TRUE ); table.show(); frame.add(table); - gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); - gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); + gtk_table_set_row_spacings(table, 5); + gtk_table_set_col_spacings(table, 5); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); // ---- frame ---- dlgTexReset.cbScaleHor = ui::CheckButton( "Enabled" ); dlgTexReset.cbScaleHor.connect( "toggled", G_CALLBACK( dialog_button_callback_texreset_update ), NULL ); - gtk_widget_show( dlgTexReset.cbScaleHor ); - gtk_table_attach( GTK_TABLE( table ), dlgTexReset.cbScaleHor, 0, 1, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); + dlgTexReset.cbScaleHor.show(); + table.attach(dlgTexReset.cbScaleHor, {0, 1, 0, 1}, {GTK_FILL, 0}); w = ui::Label( "New Horizontal Scale: " ); - gtk_table_attach( GTK_TABLE( table ), w, 1, 2, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {1, 2, 0, 1}, {GTK_FILL, 0}); + w.show(); dlgTexReset.editScaleHor = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( dlgTexReset.editScaleHor ), "0.5" ); - gtk_table_attach( GTK_TABLE( table ), dlgTexReset.editScaleHor, 2, 3, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( dlgTexReset.editScaleHor ); + table.attach(dlgTexReset.editScaleHor, {2, 3, 0, 1}, {GTK_FILL, 0}); + dlgTexReset.editScaleHor.show(); dlgTexReset.cbScaleVert = ui::CheckButton( "Enabled" ); dlgTexReset.cbScaleVert.connect( "toggled", G_CALLBACK( dialog_button_callback_texreset_update ), NULL ); - gtk_widget_show( dlgTexReset.cbScaleVert ); - gtk_table_attach( GTK_TABLE( table ), dlgTexReset.cbScaleVert, 0, 1, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); + dlgTexReset.cbScaleVert.show(); + table.attach(dlgTexReset.cbScaleVert, {0, 1, 1, 2}, {GTK_FILL, 0}); w = ui::Label( "New Vertical Scale: " ); - gtk_table_attach( GTK_TABLE( table ), w, 1, 2, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {1, 2, 1, 2}, {GTK_FILL, 0}); + w.show(); dlgTexReset.editScaleVert = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( dlgTexReset.editScaleVert ), "0.5" ); - gtk_table_attach( GTK_TABLE( table ), dlgTexReset.editScaleVert, 2, 3, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( dlgTexReset.editScaleVert ); + table.attach(dlgTexReset.editScaleVert, {2, 3, 1, 2}, {GTK_FILL, 0}); + dlgTexReset.editScaleVert.show(); // ---- /frame ---- frame = ui::Frame( "Reset Shift" ); - gtk_widget_show( frame ); - gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); + frame.show(); + vbox.pack_start( frame, FALSE, TRUE, 0 ); table = ui::Table( 2, 3, TRUE ); table.show(); frame.add(table); - gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); - gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); + gtk_table_set_row_spacings(table, 5); + gtk_table_set_col_spacings(table, 5); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); // ---- frame ---- dlgTexReset.cbShiftHor = ui::CheckButton( "Enabled" ); dlgTexReset.cbShiftHor.connect( "toggled", G_CALLBACK( dialog_button_callback_texreset_update ), NULL ); - gtk_widget_show( dlgTexReset.cbShiftHor ); - gtk_table_attach( GTK_TABLE( table ), dlgTexReset.cbShiftHor, 0, 1, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); + dlgTexReset.cbShiftHor.show(); + table.attach(dlgTexReset.cbShiftHor, {0, 1, 0, 1}, {GTK_FILL, 0}); w = ui::Label( "New Horizontal Shift: " ); - gtk_table_attach( GTK_TABLE( table ), w, 1, 2, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {1, 2, 0, 1}, {GTK_FILL, 0}); + w.show(); dlgTexReset.editShiftHor = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( dlgTexReset.editShiftHor ), "0" ); - gtk_table_attach( GTK_TABLE( table ), dlgTexReset.editShiftHor, 2, 3, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( dlgTexReset.editShiftHor ); + table.attach(dlgTexReset.editShiftHor, {2, 3, 0, 1}, {GTK_FILL, 0}); + dlgTexReset.editShiftHor.show(); dlgTexReset.cbShiftVert = ui::CheckButton( "Enabled" ); dlgTexReset.cbShiftVert.connect( "toggled", G_CALLBACK( dialog_button_callback_texreset_update ), NULL ); - gtk_widget_show( dlgTexReset.cbShiftVert ); - gtk_table_attach( GTK_TABLE( table ), dlgTexReset.cbShiftVert, 0, 1, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); + dlgTexReset.cbShiftVert.show(); + table.attach(dlgTexReset.cbShiftVert, {0, 1, 1, 2}, {GTK_FILL, 0}); w = ui::Label( "New Vertical Shift: " ); - gtk_table_attach( GTK_TABLE( table ), w, 1, 2, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {1, 2, 1, 2}, {GTK_FILL, 0}); + w.show(); dlgTexReset.editShiftVert = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( dlgTexReset.editShiftVert ), "0" ); - gtk_table_attach( GTK_TABLE( table ), dlgTexReset.editShiftVert, 2, 3, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( dlgTexReset.editShiftVert ); + table.attach(dlgTexReset.editShiftVert, {2, 3, 1, 2}, {GTK_FILL, 0}); + dlgTexReset.editShiftVert.show(); // ---- /frame ---- frame = ui::Frame( "Reset Rotation" ); - gtk_widget_show( frame ); - gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); + frame.show(); + vbox.pack_start( frame, FALSE, TRUE, 0 ); table = ui::Table( 1, 3, TRUE ); table.show(); frame.add(table); - gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); - gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); + gtk_table_set_row_spacings(table, 5); + gtk_table_set_col_spacings(table, 5); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); // ---- frame ---- dlgTexReset.cbRotation = ui::CheckButton( "Enabled" ); - gtk_widget_show( dlgTexReset.cbRotation ); - gtk_table_attach( GTK_TABLE( table ), dlgTexReset.cbRotation, 0, 1, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); + dlgTexReset.cbRotation.show(); + table.attach(dlgTexReset.cbRotation, {0, 1, 0, 1}, {GTK_FILL, 0}); w = ui::Label( "New Rotation Value: " ); - gtk_table_attach( GTK_TABLE( table ), w, 1, 2, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {1, 2, 0, 1}, {GTK_FILL, 0}); + w.show(); dlgTexReset.editRotation = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( dlgTexReset.editRotation ), "0" ); - gtk_table_attach( GTK_TABLE( table ), dlgTexReset.editRotation, 2, 3, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( dlgTexReset.editRotation ); + table.attach(dlgTexReset.editRotation, {2, 3, 0, 1}, {GTK_FILL, 0}); + dlgTexReset.editRotation.show(); // ---- /frame ---- 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(); // ---- hbox ---- w = ui::Button( "Use Selected Brushes" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); gtk_widget_set_can_default( w, true ); gtk_widget_grab_default( w ); - gtk_widget_show( w ); + w.show(); w = ui::Button( "Use All Brushes" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) ); - gtk_widget_show( w ); + w.show(); w = ui::Button( "Cancel" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); - gtk_widget_show( w ); + w.show(); ret = eIDCANCEL; // ---- /hbox ---- // ---- /vbox ---- - gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER ); - gtk_widget_show( window ); + gtk_window_set_position( window, GTK_WIN_POS_CENTER ); + window.show(); gtk_grab_add( window ); Update_TextureReseter(); @@ -1612,7 +1551,7 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ } gtk_grab_remove( window ); - gtk_widget_destroy( window ); + window.destroy(); return ret; } @@ -1620,12 +1559,12 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){ Str texSelected; - ui::Widget w, hbox; + ui::Widget w{ui::null}; - ui::Widget radiusX, radiusY; - ui::Widget angleStart, angleEnd; - ui::Widget heightStart, heightEnd; - ui::Widget numPoints; + ui::Widget radiusX{ui::null}, radiusY{ui::null}; + ui::Widget angleStart{ui::null}, angleEnd{ui::null}; + ui::Widget heightStart{ui::null}, heightEnd{ui::null}; + ui::Widget numPoints{ui::null}; EMessageBoxReturn ret; int loop = 1; @@ -1635,7 +1574,7 @@ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){ window.connect( "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); window.connect( "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); - gtk_window_set_title( GTK_WINDOW( window ), "Train Thing" ); + gtk_window_set_title( window, "Train Thing" ); gtk_container_set_border_width( GTK_CONTAINER( window ), 10 ); g_object_set_data( G_OBJECT( window ), "loop", &loop ); @@ -1649,193 +1588,165 @@ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){ // ---- vbox ---- - hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 ); - gtk_widget_show( hbox ); + auto hbox = ui::HBox( FALSE, 10 ); + vbox.pack_start( hbox, FALSE, FALSE, 2 ); + hbox.show(); // ---- /hbox ---- auto frame = ui::Frame( "Radii" ); - gtk_widget_show( frame ); - gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); + frame.show(); + vbox.pack_start( frame, FALSE, TRUE, 0 ); auto table = ui::Table( 2, 3, TRUE ); table.show(); frame.add(table); - gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); - gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); + gtk_table_set_row_spacings(table, 5); + gtk_table_set_col_spacings(table, 5); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); // ---- frame ---- w = ui::Label( "X: " ); - gtk_table_attach( GTK_TABLE( table ), w, 0, 1, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {0, 1, 0, 1}, {GTK_FILL, 0}); + w.show(); radiusX = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( radiusX ), "100" ); - gtk_table_attach( GTK_TABLE( table ), radiusX, 1, 2, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( radiusX ); + table.attach(radiusX, {1, 2, 0, 1}, {GTK_FILL, 0}); + radiusX.show(); w = ui::Label( "Y: " ); - gtk_table_attach( GTK_TABLE( table ), w, 0, 1, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {0, 1, 1, 2}, {GTK_FILL, 0}); + w.show(); radiusY = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( radiusY ), "100" ); - gtk_table_attach( GTK_TABLE( table ), radiusY, 1, 2, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( radiusY ); + table.attach(radiusY, {1, 2, 1, 2}, {GTK_FILL, 0}); + radiusY.show(); frame = ui::Frame( "Angles" ); - gtk_widget_show( frame ); - gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); + frame.show(); + vbox.pack_start( frame, FALSE, TRUE, 0 ); table = ui::Table( 2, 3, TRUE ); table.show(); frame.add(table); - gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); - gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); + gtk_table_set_row_spacings((table), 5); + gtk_table_set_col_spacings((table), 5); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); // ---- frame ---- w = ui::Label( "Start: " ); - gtk_table_attach( GTK_TABLE( table ), w, 0, 1, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {0, 1, 0, 1}, {GTK_FILL, 0}); + w.show(); angleStart = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( angleStart ), "0" ); - gtk_table_attach( GTK_TABLE( table ), angleStart, 1, 2, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( angleStart ); + table.attach(angleStart, {1, 2, 0, 1}, {GTK_FILL, 0}); + angleStart.show(); w = ui::Label( "End: " ); - gtk_table_attach( GTK_TABLE( table ), w, 0, 1, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {0, 1, 1, 2}, {GTK_FILL, 0}); + w.show(); angleEnd = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( angleEnd ), "90" ); - gtk_table_attach( GTK_TABLE( table ), angleEnd, 1, 2, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( angleEnd ); + table.attach(angleEnd, {1, 2, 1, 2}, {GTK_FILL, 0}); + angleEnd.show(); frame = ui::Frame( "Height" ); - gtk_widget_show( frame ); - gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); + frame.show(); + vbox.pack_start( frame, FALSE, TRUE, 0 ); table = ui::Table( 2, 3, TRUE ); table.show(); frame.add(table); - gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); - gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); + gtk_table_set_row_spacings(table, 5); + gtk_table_set_col_spacings(table, 5); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); // ---- frame ---- w = ui::Label( "Start: " ); - gtk_table_attach( GTK_TABLE( table ), w, 0, 1, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {0, 1, 0, 1}, {GTK_FILL, 0}); + w.show(); heightStart = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( heightStart ), "0" ); - gtk_table_attach( GTK_TABLE( table ), heightStart, 1, 2, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( heightStart ); + table.attach(heightStart, {1, 2, 0, 1}, {GTK_FILL, 0}); + heightStart.show(); w = ui::Label( "End: " ); - gtk_table_attach( GTK_TABLE( table ), w, 0, 1, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {0, 1, 1, 2}, {GTK_FILL, 0}); + w.show(); heightEnd = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( heightEnd ), "0" ); - gtk_table_attach( GTK_TABLE( table ), heightEnd, 1, 2, 1, 2, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( heightEnd ); + table.attach(heightEnd, {1, 2, 1, 2}, {GTK_FILL, 0}); + heightEnd.show(); frame = ui::Frame( "Points" ); - gtk_widget_show( frame ); - gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); + frame.show(); + vbox.pack_start( frame, FALSE, TRUE, 0 ); table = ui::Table( 2, 3, TRUE ); table.show(); frame.add(table); - gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); - gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); + gtk_table_set_row_spacings(table, 5); + gtk_table_set_col_spacings(table, 5); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); // ---- frame ---- w = ui::Label( "Number: " ); - gtk_table_attach( GTK_TABLE( table ), w, 0, 1, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( w ); + table.attach(w, {0, 1, 0, 1}, {GTK_FILL, 0}); + w.show(); numPoints = ui::Entry( 256 ); gtk_entry_set_text( GTK_ENTRY( numPoints ), "0" ); - gtk_table_attach( GTK_TABLE( table ), numPoints, 1, 2, 0, 1, - (GtkAttachOptions) ( GTK_FILL ), - (GtkAttachOptions) ( 0 ), 0, 0 ); - gtk_widget_show( numPoints ); + table.attach(numPoints, {1, 2, 0, 1}, {GTK_FILL, 0}); + numPoints.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(); // ---- hbox ---- w = ui::Button( "Ok" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); 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 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); - gtk_widget_show( w ); + w.show(); ret = eIDCANCEL; // ---- /hbox ---- - gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER ); - gtk_widget_show( window ); + gtk_window_set_position( window, GTK_WIN_POS_CENTER ); + window.show(); gtk_grab_add( window ); bool dialogError = TRUE; @@ -1879,26 +1790,26 @@ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){ } gtk_grab_remove( window ); - gtk_widget_destroy( window ); + window.destroy(); return ret; } // ailmanki // add a simple input for the MakeChain thing.. EMessageBoxReturn DoMakeChainBox( MakeChainRS* rs ){ - ui::Widget w; - ui::Entry textlinkNum, textlinkName; + ui::Widget w{ui::null}; + ui::Entry textlinkNum{ui::null}, textlinkName{ui::null}; EMessageBoxReturn ret; int loop = 1; - char const *text = "Please set a value in the boxes below and press 'OK' to make a chain"; + const char *text = "Please set a value in the boxes below and press 'OK' to make a chain"; auto window = ui::Window( ui::window_type::TOP ); window.connect( "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); window.connect( "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); - gtk_window_set_title( GTK_WINDOW( window ), "Make Chain" ); + gtk_window_set_title( window, "Make Chain" ); gtk_container_set_border_width( GTK_CONTAINER( window ), 10 ); @@ -1918,59 +1829,59 @@ EMessageBoxReturn DoMakeChainBox( MakeChainRS* rs ){ // dunno if you want this text or not ... w = ui::Label( text ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); - gtk_widget_show( w ); + hbox.pack_start( w, FALSE, FALSE, 0 ); + w.show(); - w = ui::Widget(gtk_hseparator_new()); - gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 ); - gtk_widget_show( w ); + w = ui::Widget::from(gtk_hseparator_new()); + vbox.pack_start( w, FALSE, FALSE, 0 ); + w.show(); // ------------------------- // // new hbox hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); textlinkNum = ui::Entry( 256 ); - gtk_box_pack_start( GTK_BOX( hbox ), textlinkNum, FALSE, FALSE, 1 ); - gtk_widget_show( textlinkNum ); + hbox.pack_start( textlinkNum, FALSE, FALSE, 1 ); + textlinkNum.show(); w = ui::Label( "Number of elements in chain" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 1 ); - gtk_widget_show( w ); + hbox.pack_start( w, FALSE, FALSE, 1 ); + w.show(); // -------------------------- // hbox = ui::HBox( FALSE, 10 ); - gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); - gtk_widget_show( hbox ); + vbox.pack_start( hbox, FALSE, FALSE, 0 ); + hbox.show(); textlinkName = ui::Entry( 256 ); - gtk_box_pack_start( GTK_BOX( hbox ), textlinkName, FALSE, FALSE, 0 ); - gtk_widget_show( textlinkName ); + hbox.pack_start( textlinkName, FALSE, FALSE, 0 ); + textlinkName.show(); w = ui::Label( "Basename for chain's targetnames." ); - gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 1 ); - gtk_widget_show( w ); + hbox.pack_start( w, FALSE, FALSE, 1 ); + w.show(); w = ui::Button( "OK" ); - gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); 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 ); + hbox.pack_start( w, TRUE, TRUE, 0 ); w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); - gtk_widget_show( w ); + w.show(); ret = eIDCANCEL; - gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER ); - gtk_widget_show( window ); + gtk_window_set_position( window, GTK_WIN_POS_CENTER ); + window.show(); gtk_grab_add( window ); bool dialogError = TRUE; @@ -1991,7 +1902,7 @@ EMessageBoxReturn DoMakeChainBox( MakeChainRS* rs ){ } gtk_grab_remove( window ); - gtk_widget_destroy( window ); + window.destroy(); return ret; }