X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=contrib%2Fbobtoolz%2Fdialogs%2Fdialogs-gtk.cpp;h=fb9c180633332506db486bc5352f2fc5b64f0d72;hb=5acef430dfdf884a7f018a17fbef64d9eaf6209e;hp=19b773fadf3aa65e3146c68da80c64b90747f360;hpb=335990b4b52a2f97a879afb68cff9bea05f05884;p=xonotic%2Fnetradiant.git diff --git a/contrib/bobtoolz/dialogs/dialogs-gtk.cpp b/contrib/bobtoolz/dialogs/dialogs-gtk.cpp index 19b773fa..fb9c1806 100644 --- a/contrib/bobtoolz/dialogs/dialogs-gtk.cpp +++ b/contrib/bobtoolz/dialogs/dialogs-gtk.cpp @@ -34,17 +34,17 @@ ---------------------------------*/ typedef struct { - GtkWidget *cbTexChange; - GtkWidget *editTexOld, *editTexNew; + ui::Widget cbTexChange; + ui::Widget editTexOld, editTexNew; - GtkWidget *cbScaleHor, *cbScaleVert; - GtkWidget *editScaleHor, *editScaleVert; + ui::Widget cbScaleHor, cbScaleVert; + ui::Widget editScaleHor, editScaleVert; - GtkWidget *cbShiftHor, *cbShiftVert; - GtkWidget *editShiftHor, *editShiftVert; + ui::Widget cbShiftHor, cbShiftVert; + ui::Widget editShiftHor, editShiftVert; - GtkWidget *cbRotation; - GtkWidget *editRotation; + ui::Widget cbRotation; + ui::Widget editRotation; }dlg_texReset_t; dlg_texReset_t dlgTexReset; @@ -115,7 +115,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 +134,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 +156,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 +178,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,15 +209,13 @@ bool ValidateTextInt( const char* pData, char* error_title, int* value ){ */ EMessageBoxReturn DoMessageBox( const char* lpText, const char* lpCaption, EMessageBoxType type ){ - ui::Widget window, w, vbox, hbox; + ui::Widget w, vbox, hbox; EMessageBoxReturn ret; int loop = 1; - window = ui::Window( ui::window_type::TOP ); - g_signal_connect( GTK_OBJECT( window ), "delete_event", - G_CALLBACK( dialog_delete_callback ), NULL ); - g_signal_connect( GTK_OBJECT( window ), "destroy", - G_CALLBACK( gtk_widget_destroy ), NULL ); + 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_container_set_border_width( GTK_CONTAINER( window ), 10 ); g_object_set_data( G_OBJECT( window ), "loop", &loop ); @@ -225,7 +223,7 @@ EMessageBoxReturn DoMessageBox( const char* lpText, const char* lpCaption, EMess gtk_widget_realize( window ); vbox = ui::VBox( FALSE, 10 ); - gtk_container_add( GTK_CONTAINER( window ), vbox ); + window.add(vbox); gtk_widget_show( vbox ); w = ui::Label( lpText ); @@ -244,8 +242,7 @@ EMessageBoxReturn DoMessageBox( const char* lpText, const char* lpCaption, EMess if ( type == eMB_OK ) { w = ui::Button( "Ok" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", - G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); + 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 ); @@ -254,38 +251,33 @@ EMessageBoxReturn DoMessageBox( const char* lpText, const char* lpCaption, EMess else if ( type == eMB_OKCANCEL ) { w = ui::Button( "Ok" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", - G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); + 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 = ui::Button( "Cancel" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", - G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); gtk_widget_show( w ); ret = eIDCANCEL; } else if ( type == eMB_YESNOCANCEL ) { w = ui::Button( "Yes" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", - G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) ); + 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 = ui::Button( "No" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", - G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDNO ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDNO ) ); gtk_widget_show( w ); w = ui::Button( "Cancel" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", - G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); gtk_widget_show( w ); ret = eIDCANCEL; } @@ -293,16 +285,14 @@ EMessageBoxReturn DoMessageBox( const char* lpText, const char* lpCaption, EMess { w = ui::Button( "Yes" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", - G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) ); + 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 = ui::Button( "No" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", - G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDNO ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDNO ) ); gtk_widget_show( w ); ret = eIDNO; } @@ -321,15 +311,15 @@ EMessageBoxReturn DoMessageBox( const char* lpText, const char* lpCaption, EMess } EMessageBoxReturn DoIntersectBox( IntersectRS* rs ){ - GtkWidget *window, *w, *vbox, *hbox; + GtkWidget *hbox; GtkWidget *check1, *check2; EMessageBoxReturn ret; int loop = 1; - window = ui::Window( ui::window_type::TOP ); + auto window = ui::Window( ui::window_type::TOP ); - g_signal_connect( GTK_OBJECT( window ), "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); - g_signal_connect( GTK_OBJECT( window ), "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); + 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_container_set_border_width( GTK_CONTAINER( window ), 10 ); @@ -341,8 +331,8 @@ EMessageBoxReturn DoIntersectBox( IntersectRS* rs ){ - vbox = ui::VBox( FALSE, 10 ); - gtk_container_add( GTK_CONTAINER( window ), vbox ); + auto vbox = ui::VBox( FALSE, 10 ); + window.add(vbox); gtk_widget_show( vbox ); // ---- vbox ---- @@ -356,9 +346,9 @@ EMessageBoxReturn DoIntersectBox( IntersectRS* rs ){ gtk_box_pack_start( GTK_BOX( vbox ), radio2, FALSE, FALSE, 2 ); gtk_widget_show( radio2 ); - w = gtk_hseparator_new(); - gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 2 ); - gtk_widget_show( w ); + auto hsep = ui::Widget(gtk_hseparator_new()); + gtk_box_pack_start( GTK_BOX( vbox ), hsep, FALSE, FALSE, 2 ); + hsep.show(); check1 = ui::CheckButton( "Include Detail Brushes" ); gtk_box_pack_start( GTK_BOX( vbox ), check1, FALSE, FALSE, 0 ); @@ -374,9 +364,9 @@ EMessageBoxReturn DoIntersectBox( IntersectRS* rs ){ // ---- hbox ---- ok/cancel buttons - w = ui::Button( "Ok" ); + auto w = ui::Button( "Ok" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); gtk_widget_set_can_default( w, true ); gtk_widget_grab_default( w ); @@ -384,7 +374,7 @@ EMessageBoxReturn DoIntersectBox( IntersectRS* rs ){ w = ui::Button( "Cancel" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); gtk_widget_show( w ); ret = eIDCANCEL; @@ -416,7 +406,7 @@ EMessageBoxReturn DoIntersectBox( IntersectRS* rs ){ } EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ - GtkWidget *window, *w, *vbox, *hbox, *vbox2, *hbox2; + GtkWidget *hbox, *vbox2, *hbox2; GtkWidget *check1, *check2, *check3; GtkWidget *text1, *text2; @@ -424,10 +414,10 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ EMessageBoxReturn ret; int loop = 1; - window = ui::Window( ui::window_type::TOP ); + auto window = ui::Window( ui::window_type::TOP ); - g_signal_connect( GTK_OBJECT( window ), "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); - g_signal_connect( GTK_OBJECT( window ), "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); + 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_container_set_border_width( GTK_CONTAINER( window ), 10 ); @@ -439,9 +429,9 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ - vbox = ui::VBox( FALSE, 10 ); - gtk_container_add( GTK_CONTAINER( window ), vbox ); - gtk_widget_show( vbox ); + auto vbox = ui::VBox( FALSE, 10 ); + window.add(vbox); + vbox.show(); // ---- vbox ---- @@ -469,10 +459,10 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ gtk_box_pack_start( GTK_BOX( hbox2 ), text1, FALSE, FALSE, 2 ); gtk_widget_show( text1 ); - w = ui::Label( "Number Of Sides" ); - gtk_box_pack_start( GTK_BOX( hbox2 ), w, FALSE, FALSE, 2 ); - gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT ); - gtk_widget_show( w ); + auto l = ui::Label( "Number Of Sides" ); + gtk_box_pack_start( GTK_BOX( hbox2 ), l, FALSE, FALSE, 2 ); + gtk_label_set_justify( GTK_LABEL( l ), GTK_JUSTIFY_LEFT ); + gtk_widget_show( l ); // ---- /hbox2 ---- @@ -487,10 +477,10 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ gtk_box_pack_start( GTK_BOX( hbox2 ), text2, FALSE, FALSE, 2 ); gtk_widget_show( text2 ); - w = ui::Label( "Border Width" ); - gtk_box_pack_start( GTK_BOX( hbox2 ), w, FALSE, FALSE, 2 ); - gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT ); - gtk_widget_show( w ); + l = ui::Label( "Border Width" ); + gtk_box_pack_start( GTK_BOX( hbox2 ), l, FALSE, FALSE, 2 ); + gtk_label_set_justify( GTK_LABEL( l ), GTK_JUSTIFY_LEFT ); + gtk_widget_show( l ); // ---- /hbox2 ---- @@ -528,9 +518,9 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ // ---- hbox ---- - w = ui::Button( "Ok" ); + auto w = ui::Button( "Ok" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); gtk_widget_set_can_default( w, true ); gtk_widget_grab_default( w ); @@ -538,7 +528,7 @@ EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){ w = ui::Button( "Cancel" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); gtk_widget_show( w ); ret = eIDCANCEL; @@ -586,8 +576,6 @@ 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 ){ - // i made widgets for just about everything ... i think that's what i need to do dunno tho - GtkWidget *window, *w, *vbox, *hbox; 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; @@ -596,12 +584,12 @@ EMessageBoxReturn DoBuildStairsBox( BuildStairsRS* rs ){ 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"; - window = ui::Window( ui::window_type::TOP ); + auto window = ui::Window( ui::window_type::TOP ); - g_signal_connect( GTK_OBJECT( window ), "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); - g_signal_connect( GTK_OBJECT( window ), "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); + 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" ); @@ -613,20 +601,20 @@ EMessageBoxReturn DoBuildStairsBox( BuildStairsRS* rs ){ gtk_widget_realize( window ); // new vbox - vbox = ui::VBox( FALSE, 10 ); - gtk_container_add( GTK_CONTAINER( window ), vbox ); + auto vbox = ui::VBox( FALSE, 10 ); + window.add(vbox); gtk_widget_show( vbox ); - hbox = ui::HBox( FALSE, 10 ); - gtk_container_add( GTK_CONTAINER( vbox ), hbox ); + auto hbox = ui::HBox( FALSE, 10 ); + vbox.add(hbox); gtk_widget_show( hbox ); // dunno if you want this text or not ... - w = ui::Label( text ); + 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 ); - w = gtk_hseparator_new(); + w = ui::Widget(gtk_hseparator_new()); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); @@ -762,7 +750,7 @@ EMessageBoxReturn DoBuildStairsBox( BuildStairsRS* rs ){ gtk_widget_show( w ); // -------------------------- // - w = gtk_hseparator_new(); + w = ui::Widget(gtk_hseparator_new()); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); @@ -772,14 +760,14 @@ EMessageBoxReturn DoBuildStairsBox( BuildStairsRS* rs ){ w = ui::Button( "OK" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); + 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 = ui::Button( "Cancel" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); gtk_widget_show( w ); ret = eIDCANCEL; @@ -843,21 +831,18 @@ EMessageBoxReturn DoBuildStairsBox( BuildStairsRS* rs ){ } EMessageBoxReturn DoDoorsBox( DoorRS* rs ){ - GtkWidget *window, *hbox, *vbox, *w; - GtkWidget *textFrontBackTex, *textTrimTex; + GtkWidget *hbox; GtkWidget *checkScaleMainH, *checkScaleMainV, *checkScaleTrimH, *checkScaleTrimV; - GtkWidget *comboMain, *comboTrim; - GtkWidget *buttonSetMain, *buttonSetTrim; GtkWidget *radioNS, *radioEW; GSList *radioOrientation; TwinWidget tw1, tw2; EMessageBoxReturn ret; int loop = 1; - window = ui::Window( ui::window_type::TOP ); + auto window = ui::Window( ui::window_type::TOP ); - g_signal_connect( GTK_OBJECT( window ), "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); - g_signal_connect( GTK_OBJECT( window ), "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); + 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" ); @@ -874,8 +859,8 @@ EMessageBoxReturn DoDoorsBox( DoorRS* rs ){ LoadGList( GetFilename( buffer, "plugins/bt/door-tex.txt" ), listMainTextures ); LoadGList( GetFilename( buffer, "plugins/bt/door-tex-trim.txt" ), listTrimTextures ); - vbox = ui::VBox( FALSE, 10 ); - gtk_container_add( GTK_CONTAINER( window ), vbox ); + auto vbox = ui::VBox( FALSE, 10 ); + window.add(vbox); gtk_widget_show( vbox ); // -------------------------- // @@ -884,12 +869,12 @@ EMessageBoxReturn DoDoorsBox( DoorRS* rs ){ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); - textFrontBackTex = ui::Entry( 512 ); + 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 ); - w = ui::Label( "Door Front/Back Texture" ); + ui::Widget w = ui::Label( "Door Front/Back Texture" ); gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); @@ -899,7 +884,7 @@ EMessageBoxReturn DoDoorsBox( DoorRS* rs ){ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); - textTrimTex = ui::Entry( 512 ); + auto textTrimTex = ui::Entry( 512 ); gtk_box_pack_start( GTK_BOX( hbox ), textTrimTex, FALSE, FALSE, 0 ); gtk_widget_show( textTrimTex ); @@ -948,16 +933,16 @@ EMessageBoxReturn DoDoorsBox( DoorRS* rs ){ // djbob: lists added - comboMain = gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(listMainTextures)); + auto comboMain = ui::ComboBox(GTK_COMBO_BOX(gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(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 ); tw1.one = textFrontBackTex; - tw1.two = GTK_COMBO_BOX(comboMain); + tw1.two = comboMain; - buttonSetMain = ui::Button( "Set As Main Texture" ); - g_signal_connect( GTK_OBJECT( buttonSetMain ), "clicked", G_CALLBACK( dialog_button_callback_settex ), &tw1 ); + 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 ); @@ -967,16 +952,16 @@ EMessageBoxReturn DoDoorsBox( DoorRS* rs ){ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 ); gtk_widget_show( hbox ); - comboTrim = gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(listTrimTextures)); + auto comboTrim = ui::ComboBox(GTK_COMBO_BOX(gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(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 ); tw2.one = textTrimTex; - tw2.two = GTK_COMBO_BOX(comboTrim); + tw2.two = comboTrim; - buttonSetTrim = ui::Button( "Set As Trim Texture" ); - g_signal_connect( GTK_OBJECT( buttonSetTrim ), "clicked", G_CALLBACK( dialog_button_callback_settex ), &tw2 ); + 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 ); @@ -1003,7 +988,7 @@ EMessageBoxReturn DoDoorsBox( DoorRS* rs ){ // ----------------- // - w = gtk_hseparator_new(); + w = ui::Widget(gtk_hseparator_new()); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); @@ -1015,14 +1000,14 @@ EMessageBoxReturn DoDoorsBox( DoorRS* rs ){ w = ui::Button( "OK" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); + 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 = ui::Button( "Cancel" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); gtk_widget_show( w ); ret = eIDCANCEL; @@ -1059,18 +1044,18 @@ EMessageBoxReturn DoDoorsBox( DoorRS* rs ){ } EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ - GtkWidget *window, *w, *vbox, *hbox; + ui::Widget w, hbox; - GtkWidget *text1, *text2, *text3; - GtkWidget *check1, *check2; + ui::Entry text1, text2, text3; + ui::Widget check1, check2; EMessageBoxReturn ret; int loop = 1; - window = ui::Window( ui::window_type::TOP ); + auto window = ui::Window( ui::window_type::TOP ); - g_signal_connect( GTK_OBJECT( window ), "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); - g_signal_connect( GTK_OBJECT( window ), "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); + 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_container_set_border_width( GTK_CONTAINER( window ), 10 ); @@ -1082,8 +1067,8 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ - vbox = ui::VBox( FALSE, 10 ); - gtk_container_add( GTK_CONTAINER( window ), vbox ); + auto vbox = ui::VBox( FALSE, 10 ); + window.add(vbox); gtk_widget_show( vbox ); // ---- vbox ---- @@ -1095,7 +1080,7 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ // ---- hbox ---- text1 = ui::Entry( 256 ); - gtk_entry_set_text( (GtkEntry*)text1, "25" ); + gtk_entry_set_text( text1, "25" ); gtk_box_pack_start( GTK_BOX( hbox ), text1, FALSE, FALSE, 2 ); gtk_widget_show( text1 ); @@ -1113,7 +1098,7 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ // ---- hbox ---- text2 = ui::Entry( 256 ); - gtk_entry_set_text( (GtkEntry*)text2, "3" ); + gtk_entry_set_text( text2, "3" ); gtk_box_pack_start( GTK_BOX( hbox ), text2, FALSE, FALSE, 2 ); gtk_widget_show( text2 ); @@ -1136,7 +1121,7 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ // ---- hbox ---- text3 = ui::Entry( 256 ); - gtk_entry_set_text( (GtkEntry*)text3, "-800" ); + gtk_entry_set_text( text3, "-800" ); gtk_box_pack_start( GTK_BOX( hbox ), text3, FALSE, FALSE, 2 ); gtk_widget_show( text3 ); @@ -1147,7 +1132,7 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ // ---- /hbox ---- - w = gtk_hseparator_new(); + w = ui::Widget(gtk_hseparator_new()); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); @@ -1164,7 +1149,7 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ // ----------------- // - w = gtk_hseparator_new(); + w = ui::Widget(gtk_hseparator_new()); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); @@ -1176,7 +1161,7 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ w = ui::Button( "Enable" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) ); gtk_widget_show( w ); gtk_widget_set_can_default( w, true ); @@ -1184,12 +1169,12 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ w = ui::Button( "Disable" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDNO ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDNO ) ); gtk_widget_show( w ); w = ui::Button( "Cancel" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); gtk_widget_show( w ); ret = eIDCANCEL; @@ -1234,14 +1219,14 @@ EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){ } EMessageBoxReturn DoCTFColourChangeBox(){ - GtkWidget *window, *w, *vbox, *hbox; + ui::Widget w, hbox; EMessageBoxReturn ret; int loop = 1; - window = ui::Window( ui::window_type::TOP ); + auto window = ui::Window( ui::window_type::TOP ); - g_signal_connect( GTK_OBJECT( window ), "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); - g_signal_connect( GTK_OBJECT( window ), "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); + 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_container_set_border_width( GTK_CONTAINER( window ), 10 ); @@ -1253,8 +1238,8 @@ EMessageBoxReturn DoCTFColourChangeBox(){ - vbox = ui::VBox( FALSE, 10 ); - gtk_container_add( GTK_CONTAINER( window ), vbox ); + auto vbox = ui::VBox( FALSE, 10 ); + window.add(vbox); gtk_widget_show( vbox ); // ---- vbox ---- @@ -1267,7 +1252,7 @@ EMessageBoxReturn DoCTFColourChangeBox(){ w = ui::Button( "Red->Blue" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); gtk_widget_set_can_default( w, true ); gtk_widget_grab_default( w ); @@ -1275,12 +1260,12 @@ EMessageBoxReturn DoCTFColourChangeBox(){ w = ui::Button( "Blue->Red" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) ); gtk_widget_show( w ); w = ui::Button( "Cancel" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); gtk_widget_show( w ); ret = eIDCANCEL; @@ -1304,15 +1289,15 @@ EMessageBoxReturn DoCTFColourChangeBox(){ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ Str texSelected; - GtkWidget *window, *w, *vbox, *hbox, *frame, *table; + ui::Widget w, hbox; EMessageBoxReturn ret; int loop = 1; - window = ui::Window( ui::window_type::TOP ); + auto window = ui::Window( ui::window_type::TOP ); - g_signal_connect( GTK_OBJECT( window ), "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); - g_signal_connect( GTK_OBJECT( window ), "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); + 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_container_set_border_width( GTK_CONTAINER( window ), 10 ); @@ -1322,9 +1307,9 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ gtk_widget_realize( window ); - vbox = ui::VBox( FALSE, 10 ); - gtk_container_add( GTK_CONTAINER( window ), vbox ); - gtk_widget_show( vbox ); + auto vbox = ui::VBox( FALSE, 10 ); + window.add(vbox); + vbox.show(); // ---- vbox ---- @@ -1344,13 +1329,13 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ // ---- /hbox ---- - frame = ui::Frame( "Reset Texture Names" ); + auto frame = ui::Frame( "Reset Texture Names" ); gtk_widget_show( frame ); gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); - table = ui::Table( 2, 3, TRUE ); - gtk_widget_show( table ); - gtk_container_add( GTK_CONTAINER( frame ), table ); + 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_container_set_border_width( GTK_CONTAINER( table ), 5 ); @@ -1358,7 +1343,7 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ // ---- frame ---- dlgTexReset.cbTexChange = ui::CheckButton( "Enabled" ); - g_signal_connect( GTK_OBJECT( dlgTexReset.cbTexChange ), "toggled", G_CALLBACK( dialog_button_callback_texreset_update ), NULL ); + 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 ), @@ -1397,8 +1382,8 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); table = ui::Table( 2, 3, TRUE ); - gtk_widget_show( table ); - gtk_container_add( GTK_CONTAINER( frame ), table ); + table.show(); + frame.add(table); gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); @@ -1406,7 +1391,7 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ // ---- frame ---- dlgTexReset.cbScaleHor = ui::CheckButton( "Enabled" ); - g_signal_connect( GTK_OBJECT( dlgTexReset.cbScaleHor ), "toggled", G_CALLBACK( dialog_button_callback_texreset_update ), NULL ); + 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 ), @@ -1427,7 +1412,7 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ dlgTexReset.cbScaleVert = ui::CheckButton( "Enabled" ); - g_signal_connect( GTK_OBJECT( dlgTexReset.cbScaleVert ), "toggled", G_CALLBACK( dialog_button_callback_texreset_update ), NULL ); + 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 ), @@ -1453,8 +1438,8 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); table = ui::Table( 2, 3, TRUE ); - gtk_widget_show( table ); - gtk_container_add( GTK_CONTAINER( frame ), table ); + table.show(); + frame.add(table); gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); @@ -1462,7 +1447,7 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ // ---- frame ---- dlgTexReset.cbShiftHor = ui::CheckButton( "Enabled" ); - g_signal_connect( GTK_OBJECT( dlgTexReset.cbShiftHor ), "toggled", G_CALLBACK( dialog_button_callback_texreset_update ), NULL ); + 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 ), @@ -1483,7 +1468,7 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ dlgTexReset.cbShiftVert = ui::CheckButton( "Enabled" ); - g_signal_connect( GTK_OBJECT( dlgTexReset.cbShiftVert ), "toggled", G_CALLBACK( dialog_button_callback_texreset_update ), NULL ); + 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 ), @@ -1509,8 +1494,8 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); table = ui::Table( 1, 3, TRUE ); - gtk_widget_show( table ); - gtk_container_add( GTK_CONTAINER( frame ), table ); + table.show(); + frame.add(table); gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); @@ -1546,7 +1531,7 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ w = ui::Button( "Use Selected Brushes" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); gtk_widget_set_can_default( w, true ); gtk_widget_grab_default( w ); @@ -1554,12 +1539,12 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ w = ui::Button( "Use All Brushes" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) ); gtk_widget_show( w ); w = ui::Button( "Cancel" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); gtk_widget_show( w ); ret = eIDCANCEL; @@ -1635,20 +1620,20 @@ EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){ Str texSelected; - GtkWidget *window, *w, *vbox, *hbox, *frame, *table; + ui::Widget w, hbox; - GtkWidget *radiusX, *radiusY; - GtkWidget *angleStart, *angleEnd; - GtkWidget *heightStart, *heightEnd; - GtkWidget *numPoints; + ui::Widget radiusX, radiusY; + ui::Widget angleStart, angleEnd; + ui::Widget heightStart, heightEnd; + ui::Widget numPoints; EMessageBoxReturn ret; int loop = 1; - window = ui::Window( ui::window_type::TOP ); + auto window = ui::Window( ui::window_type::TOP ); - g_signal_connect( GTK_OBJECT( window ), "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); - g_signal_connect( GTK_OBJECT( window ), "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); + 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_container_set_border_width( GTK_CONTAINER( window ), 10 ); @@ -1658,9 +1643,9 @@ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){ gtk_widget_realize( window ); - vbox = ui::VBox( FALSE, 10 ); - gtk_container_add( GTK_CONTAINER( window ), vbox ); - gtk_widget_show( vbox ); + auto vbox = ui::VBox( FALSE, 10 ); + window.add(vbox); + vbox.show(); // ---- vbox ---- @@ -1670,13 +1655,13 @@ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){ // ---- /hbox ---- - frame = ui::Frame( "Radii" ); + auto frame = ui::Frame( "Radii" ); gtk_widget_show( frame ); gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); - table = ui::Table( 2, 3, TRUE ); - gtk_widget_show( table ); - gtk_container_add( GTK_CONTAINER( frame ), table ); + 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_container_set_border_width( GTK_CONTAINER( table ), 5 ); @@ -1718,8 +1703,8 @@ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){ gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); table = ui::Table( 2, 3, TRUE ); - gtk_widget_show( table ); - gtk_container_add( GTK_CONTAINER( frame ), table ); + table.show(); + frame.add(table); gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); @@ -1760,8 +1745,8 @@ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){ gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); table = ui::Table( 2, 3, TRUE ); - gtk_widget_show( table ); - gtk_container_add( GTK_CONTAINER( frame ), table ); + table.show(); + frame.add(table); gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); @@ -1803,8 +1788,8 @@ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){ gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 ); table = ui::Table( 2, 3, TRUE ); - gtk_widget_show( table ); - gtk_container_add( GTK_CONTAINER( frame ), table ); + table.show(); + frame.add(table); gtk_table_set_row_spacings( GTK_TABLE( table ), 5 ); gtk_table_set_col_spacings( GTK_TABLE( table ), 5 ); gtk_container_set_border_width( GTK_CONTAINER( table ), 5 ); @@ -1833,7 +1818,7 @@ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){ w = ui::Button( "Ok" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); gtk_widget_set_can_default( w, true ); gtk_widget_grab_default( w ); @@ -1841,7 +1826,7 @@ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){ w = ui::Button( "Cancel" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); gtk_widget_show( w ); ret = eIDCANCEL; @@ -1901,17 +1886,17 @@ EMessageBoxReturn DoTrainThingBox( TrainThingRS* rs ){ // ailmanki // add a simple input for the MakeChain thing.. EMessageBoxReturn DoMakeChainBox( MakeChainRS* rs ){ - GtkWidget *window, *w, *vbox, *hbox; - GtkWidget *textlinkNum, *textlinkName; + ui::Widget w; + ui::Entry textlinkNum, textlinkName; EMessageBoxReturn ret; int loop = 1; - char *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"; - window = ui::Window( ui::window_type::TOP ); + auto window = ui::Window( ui::window_type::TOP ); - g_signal_connect( GTK_OBJECT( window ), "delete_event", G_CALLBACK( dialog_delete_callback ), NULL ); - g_signal_connect( GTK_OBJECT( window ), "destroy", G_CALLBACK( gtk_widget_destroy ), NULL ); + 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" ); @@ -1923,20 +1908,20 @@ EMessageBoxReturn DoMakeChainBox( MakeChainRS* rs ){ gtk_widget_realize( window ); // new vbox - vbox = ui::VBox( FALSE, 10 ); - gtk_container_add( GTK_CONTAINER( window ), vbox ); - gtk_widget_show( vbox ); + auto vbox = ui::VBox( FALSE, 10 ); + window.add(vbox); + vbox.show(); - hbox = ui::HBox( FALSE, 10 ); - gtk_container_add( GTK_CONTAINER( vbox ), hbox ); - gtk_widget_show( hbox ); + auto hbox = ui::HBox( FALSE, 10 ); + vbox.add(hbox); + hbox.show(); // 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 ); - w = gtk_hseparator_new(); + w = ui::Widget(gtk_hseparator_new()); gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 ); gtk_widget_show( w ); @@ -1972,14 +1957,14 @@ EMessageBoxReturn DoMakeChainBox( MakeChainRS* rs ){ w = ui::Button( "OK" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDOK ) ); + 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 = ui::Button( "Cancel" ); gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 ); - g_signal_connect( GTK_OBJECT( w ), "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); + w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) ); gtk_widget_show( w ); ret = eIDCANCEL; @@ -1998,8 +1983,8 @@ EMessageBoxReturn DoMakeChainBox( MakeChainRS* rs ){ dialogError = FALSE; if ( ret == eIDOK ) { - strcpy( rs->linkName, gtk_entry_get_text( (GtkEntry*)textlinkName ) ); - if ( !ValidateTextInt( gtk_entry_get_text( (GtkEntry*)textlinkNum ), "Elements", &rs->linkNum ) ) { + strcpy( rs->linkName, gtk_entry_get_text( textlinkName ) ); + if ( !ValidateTextInt( gtk_entry_get_text( textlinkNum ), "Elements", &rs->linkNum ) ) { dialogError = TRUE; } }