/*
-BobToolz plugin for GtkRadiant
-Copyright (C) 2001 Gordon Biggans
+ BobToolz plugin for GtkRadiant
+ Copyright (C) 2001 Gordon Biggans
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2.1 of the License, or (at your option) any later version.
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Lesser General Public License for more details.
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
-#include "../StdAfx.h"
#include "dialogs-gtk.h"
#include "../funchandlers.h"
+
+#include "str.h"
+#include <list>
+#include <gtk/gtk.h>
+#include "gtkutil/pointer.h"
+
#include "../lists.h"
#include "../misc.h"
+
/*--------------------------------
- Callback Functions
----------------------------------*/
+ Callback Functions
+ ---------------------------------*/
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;
void Update_TextureReseter();
-static void dialog_button_callback_texreset_update (GtkWidget *widget, gpointer data)
-{
- Update_TextureReseter();
+static void dialog_button_callback_texreset_update( GtkWidget *widget, gpointer data ){
+ Update_TextureReseter();
}
-void Update_TextureReseter()
-{
- gboolean check;
+void Update_TextureReseter(){
+ gboolean check;
- check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( dlgTexReset.cbTexChange ));
- gtk_entry_set_editable (GTK_ENTRY (dlgTexReset.editTexNew), check);
- gtk_entry_set_editable (GTK_ENTRY (dlgTexReset.editTexOld), check);
+ check = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( dlgTexReset.cbTexChange ) );
+ gtk_editable_set_editable( GTK_EDITABLE( dlgTexReset.editTexNew ), check );
+ gtk_editable_set_editable( GTK_EDITABLE( dlgTexReset.editTexOld ), check );
- check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( dlgTexReset.cbScaleHor ));
- gtk_entry_set_editable (GTK_ENTRY (dlgTexReset.editScaleHor), check);
+ check = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( dlgTexReset.cbScaleHor ) );
+ gtk_editable_set_editable( GTK_EDITABLE( dlgTexReset.editScaleHor ), check );
- check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( dlgTexReset.cbScaleVert ));
- gtk_entry_set_editable (GTK_ENTRY (dlgTexReset.editScaleVert), check);
+ check = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( dlgTexReset.cbScaleVert ) );
+ gtk_editable_set_editable( GTK_EDITABLE( dlgTexReset.editScaleVert ), check );
- check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( dlgTexReset.cbShiftHor ));
- gtk_entry_set_editable (GTK_ENTRY (dlgTexReset.editShiftHor), check);
+ check = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( dlgTexReset.cbShiftHor ) );
+ gtk_editable_set_editable( GTK_EDITABLE( dlgTexReset.editShiftHor ), check );
- check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( dlgTexReset.cbShiftVert ));
- gtk_entry_set_editable (GTK_ENTRY (dlgTexReset.editShiftVert), check);
+ check = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( dlgTexReset.cbShiftVert ) );
+ gtk_editable_set_editable( GTK_EDITABLE( dlgTexReset.editShiftVert ), check );
- check = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( dlgTexReset.cbRotation ));
- gtk_entry_set_editable (GTK_ENTRY (dlgTexReset.editRotation), check);
+ check = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( dlgTexReset.cbRotation ) );
+ gtk_editable_set_editable( GTK_EDITABLE( dlgTexReset.editRotation ), check );
}
-static void dialog_button_callback (GtkWidget *widget, gpointer data)
-{
+static void dialog_button_callback( GtkWidget *widget, gpointer data ){
GtkWidget *parent;
- int *loop, *ret;
-
- parent = gtk_widget_get_toplevel (widget);
- loop = (int*)g_object_get_data (G_OBJECT (parent), "loop");
- ret = (int*)g_object_get_data (G_OBJECT (parent), "ret");
-
+ int *loop;
+ EMessageBoxReturn *ret;
+
+ parent = gtk_widget_get_toplevel( widget );
+ loop = (int*)g_object_get_data( G_OBJECT( parent ), "loop" );
+ ret = (EMessageBoxReturn*)g_object_get_data( G_OBJECT( parent ), "ret" );
+
*loop = 0;
- *ret = (int)data;
+ *ret = (EMessageBoxReturn)gpointer_to_int( data );
}
-
-static gint dialog_delete_callback (GtkWidget *widget, GdkEvent* event, gpointer 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");
+
+ gtk_widget_hide( widget );
+ 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( GtkWidget *widget, gpointer data ){
TwinWidget* tw = (TwinWidget*)data;
GtkEntry* entry = GTK_ENTRY( tw->one );
- GtkCombo* combo = GTK_COMBO( tw->two );
+ auto* combo = GTK_BIN(tw->two);
- const gchar* tex = gtk_entry_get_text(GTK_ENTRY( combo->entry ));
- gtk_entry_set_text( entry, tex);
+ const gchar *tex = gtk_entry_get_text(GTK_ENTRY (gtk_bin_get_child(combo)));
+ gtk_entry_set_text( entry, tex );
}
/*--------------------------------
- Data validation Routines
----------------------------------*/
+ Data validation Routines
+ ---------------------------------*/
-bool ValidateTextFloat(const char* pData, char* error_title, float* value)
-{
- if(pData)
- {
- float testNum = (float)atof(pData);
+bool ValidateTextFloat( const char* pData, const char* error_title, float* value ){
+ if ( pData ) {
+ float testNum = (float)atof( pData );
- if((testNum == 0.0f) && strcmp(pData, "0"))
- {
- DoMessageBox("Please Enter A Floating Point Number", error_title, MB_OK);
+ if ( ( testNum == 0.0f ) && strcmp( pData, "0" ) ) {
+ DoMessageBox( "Please Enter A Floating Point Number", error_title, eMB_OK );
return FALSE;
}
else
}
}
- DoMessageBox("Please Enter A Floating Point Number", error_title, MB_OK);
+ DoMessageBox( "Please Enter A Floating Point Number", error_title, eMB_OK );
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);
+ sprintf( error_buffer, "Please Enter A Floating Point Number Between %.3f and %.3f", min, max );
- if(pData)
- {
- float testNum = (float)atof(pData);
+ if ( pData ) {
+ float testNum = (float)atof( pData );
- if((testNum < min) || (testNum > max))
- {
- DoMessageBox(error_buffer, error_title, MB_OK);
+ if ( ( testNum < min ) || ( testNum > max ) ) {
+ DoMessageBox( error_buffer, error_title, eMB_OK );
return FALSE;
}
else
}
}
- DoMessageBox(error_buffer, error_title, MB_OK);
+ DoMessageBox( error_buffer, error_title, eMB_OK );
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);
+ sprintf( error_buffer, "Please Enter An Integer Between %i and %i", min, max );
- if(pData)
- {
- int testNum = atoi(pData);
+ if ( pData ) {
+ int testNum = atoi( pData );
- if((testNum < min) || (testNum > max))
- {
- DoMessageBox(error_buffer, error_title, MB_OK);
+ if ( ( testNum < min ) || ( testNum > max ) ) {
+ DoMessageBox( error_buffer, error_title, eMB_OK );
return FALSE;
}
else
}
}
- DoMessageBox(error_buffer, error_title, MB_OK);
+ DoMessageBox( error_buffer, error_title, eMB_OK );
return FALSE;
}
-bool ValidateTextInt(const char* pData, char* error_title, int* value)
-{
- if(pData)
- {
- int testNum = atoi(pData);
+bool ValidateTextInt( const char* pData, const char* error_title, int* value ){
+ if ( pData ) {
+ int testNum = atoi( pData );
- if((testNum == 0) && strcmp(pData, "0"))
- {
- DoMessageBox("Please Enter An Integer", error_title, MB_OK);
+ if ( ( testNum == 0 ) && strcmp( pData, "0" ) ) {
+ DoMessageBox( "Please Enter An Integer", error_title, eMB_OK );
return FALSE;
}
else
}
}
- DoMessageBox("Please Enter An Integer", error_title, MB_OK);
+ DoMessageBox( "Please Enter An Integer", error_title, eMB_OK );
return FALSE;
}
/*--------------------------------
- Modal Dialog Boxes
----------------------------------*/
+ Modal Dialog Boxes
+ ---------------------------------*/
/*
- Major clean up of variable names etc required, excluding Mars's ones,
- which are nicely done :)
-
-*/
-
-int DoMessageBox (const char* lpText, const char* lpCaption, guint32 uType)
-{
- GtkWidget *window, *w, *vbox, *hbox;
- int mode = (uType & MB_TYPEMASK), ret, loop = 1;
-
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_signal_connect (GTK_OBJECT (window), "delete_event",
- GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
- gtk_signal_connect (GTK_OBJECT (window), "destroy",
- GTK_SIGNAL_FUNC (gtk_widget_destroy), NULL);
- gtk_window_set_title (GTK_WINDOW (window), lpCaption);
- gtk_container_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 = gtk_vbox_new (FALSE, 10);
- gtk_container_add (GTK_CONTAINER (window), vbox);
- gtk_widget_show (vbox);
-
- w = gtk_label_new (lpText);
- gtk_box_pack_start (GTK_BOX (vbox), w, FALSE, FALSE, 2);
- gtk_label_set_justify (GTK_LABEL (w), GTK_JUSTIFY_LEFT);
- gtk_widget_show (w);
-
- w = gtk_hseparator_new ();
- gtk_box_pack_start (GTK_BOX (vbox), w, FALSE, FALSE, 2);
- gtk_widget_show (w);
-
- hbox = gtk_hbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2);
- gtk_widget_show (hbox);
-
- if (mode == MB_OK)
- {
- w = gtk_button_new_with_label ("Ok");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked",
- GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
- GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
- gtk_widget_grab_default (w);
- gtk_widget_show (w);
- ret = IDOK;
+ Major clean up of variable names etc required, excluding Mars's ones,
+ which are nicely done :)
+
+ */
+
+EMessageBoxReturn DoMessageBox( const char* lpText, const char* lpCaption, EMessageBoxType type ){
+ ui::Widget w, vbox, hbox;
+ 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_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 );
+ window.add(vbox);
+ gtk_widget_show( vbox );
+
+ w = ui::Label( lpText );
+ gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 2 );
+ gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT );
+ gtk_widget_show( w );
+
+ w = ui::Widget(gtk_hseparator_new());
+ gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 2 );
+ gtk_widget_show( w );
+
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 );
+ gtk_widget_show( hbox );
+
+ if ( type == eMB_OK ) {
+ w = ui::Button( "Ok" );
+ gtk_box_pack_start( GTK_BOX( hbox ), 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 );
+ ret = eIDOK;
}
- else if (mode == MB_OKCANCEL)
- {
- w = gtk_button_new_with_label ("Ok");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked",
- GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
- GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
- gtk_widget_grab_default (w);
- gtk_widget_show (w);
-
- w = gtk_button_new_with_label ("Cancel");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked",
- GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDCANCEL));
- gtk_widget_show (w);
- ret = IDCANCEL;
+ else if ( type == eMB_OKCANCEL ) {
+ w = ui::Button( "Ok" );
+ gtk_box_pack_start( GTK_BOX( hbox ), 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 = ui::Button( "Cancel" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
+ w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) );
+ gtk_widget_show( w );
+ ret = eIDCANCEL;
}
- else if (mode == MB_YESNOCANCEL)
- {
- w = gtk_button_new_with_label ("Yes");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked",
- GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDYES));
- GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
- gtk_widget_grab_default (w);
- gtk_widget_show (w);
-
- w = gtk_button_new_with_label ("No");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked",
- GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDNO));
- gtk_widget_show (w);
-
- w = gtk_button_new_with_label ("Cancel");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked",
- GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDCANCEL));
- gtk_widget_show (w);
- ret = IDCANCEL;
+ else if ( type == eMB_YESNOCANCEL ) {
+ w = ui::Button( "Yes" );
+ gtk_box_pack_start( GTK_BOX( hbox ), 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 = ui::Button( "No" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
+ 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 );
+ w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) );
+ gtk_widget_show( w );
+ ret = eIDCANCEL;
}
else /* if (mode == MB_YESNO) */
{
- w = gtk_button_new_with_label ("Yes");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked",
- GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDYES));
- GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
- gtk_widget_grab_default (w);
- gtk_widget_show (w);
-
- w = gtk_button_new_with_label ("No");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked",
- GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDNO));
- gtk_widget_show (w);
- ret = IDNO;
+ w = ui::Button( "Yes" );
+ gtk_box_pack_start( GTK_BOX( hbox ), 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 = ui::Button( "No" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
+ w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDNO ) );
+ gtk_widget_show( w );
+ ret = eIDNO;
}
-
- gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
- gtk_widget_show (window);
- gtk_grab_add (window);
-
- while (loop)
- gtk_main_iteration ();
-
- gtk_grab_remove (window);
- gtk_widget_destroy (window);
-
+
+ gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
+ gtk_widget_show( window );
+ gtk_grab_add( window );
+
+ while ( loop )
+ gtk_main_iteration();
+
+ gtk_grab_remove( window );
+ gtk_widget_destroy( window );
+
return ret;
}
-int DoIntersectBox (IntersectRS* rs)
-{
- GtkWidget *window, *w, *vbox, *hbox;
- GtkWidget *radio1, *radio2;
+EMessageBoxReturn DoIntersectBox( IntersectRS* rs ){
+ GtkWidget *hbox;
GtkWidget *check1, *check2;
- int ret, loop = 1;
-
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
- gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_widget_destroy), NULL);
-
- gtk_window_set_title (GTK_WINDOW (window), "Intersect");
- gtk_container_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 = gtk_vbox_new (FALSE, 10);
- gtk_container_add (GTK_CONTAINER (window), vbox);
- gtk_widget_show (vbox);
-
+ 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 ), "Intersect" );
+ 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 );
+
+
+
+ auto vbox = ui::VBox( FALSE, 10 );
+ window.add(vbox);
+ gtk_widget_show( vbox );
+
// ---- vbox ----
- 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);
-
- radio2 = gtk_radio_button_new_with_label(((GtkRadioButton*)radio1)->group, "Use Selected Brushes");
- 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);
-
- check1 = gtk_check_button_new_with_label("Include Detail Brushes");
- gtk_box_pack_start (GTK_BOX (vbox), check1, FALSE, FALSE, 0);
- gtk_widget_show (check1);
-
- check2 = gtk_check_button_new_with_label("Select Duplicate Brushes Only");
- gtk_box_pack_start (GTK_BOX (vbox), check2, FALSE, FALSE, 0);
- gtk_widget_show (check2);
-
- hbox = gtk_hbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2);
- gtk_widget_show (hbox);
-
- // ---- hbox ---- ok/cancel buttons
-
- w = gtk_button_new_with_label ("Ok");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked", GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
-
- GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
- gtk_widget_grab_default (w);
- gtk_widget_show (w);
-
- w = gtk_button_new_with_label ("Cancel");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked", GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDCANCEL));
- gtk_widget_show (w);
- ret = IDCANCEL;
-
- // ---- /hbox ----
-
+
+ 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 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 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 );
+ gtk_widget_show( check1 );
+
+ check2 = ui::CheckButton( "Select Duplicate Brushes Only" );
+ gtk_box_pack_start( GTK_BOX( vbox ), check2, FALSE, FALSE, 0 );
+ gtk_widget_show( check2 );
+
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 );
+ gtk_widget_show( hbox );
+
+ // ---- hbox ---- ok/cancel buttons
+
+ auto w = ui::Button( "Ok" );
+ gtk_box_pack_start( GTK_BOX( hbox ), 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 = ui::Button( "Cancel" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
+ w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) );
+ gtk_widget_show( w );
+ ret = eIDCANCEL;
+
+ // ---- /hbox ----
+
// ---- /vbox ----
- gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
- gtk_widget_show (window);
- gtk_grab_add (window);
-
- while (loop)
- gtk_main_iteration ();
+ gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
+ gtk_widget_show( window );
+ gtk_grab_add( window );
- if(gtk_toggle_button_get_active((GtkToggleButton*)radio1))
+ while ( loop )
+ gtk_main_iteration();
+
+ if ( gtk_toggle_button_get_active( (GtkToggleButton*)radio1 ) ) {
rs->nBrushOptions = BRUSH_OPT_WHOLE_MAP;
- else if(gtk_toggle_button_get_active((GtkToggleButton*)radio2))
+ }
+ else if ( gtk_toggle_button_get_active( (GtkToggleButton*)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((GtkToggleButton*)check1) ? true : false;
- rs->bDuplicateOnly = gtk_toggle_button_get_active((GtkToggleButton*)check2) ? true : false;
-
- gtk_grab_remove (window);
- gtk_widget_destroy (window);
+ gtk_grab_remove( window );
+ gtk_widget_destroy( window );
return ret;
}
-int DoPolygonBox (PolygonRS* rs)
-{
- GtkWidget *window, *w, *vbox, *hbox, *vbox2, *hbox2;
+EMessageBoxReturn DoPolygonBox( PolygonRS* rs ){
+ GtkWidget *hbox, *vbox2, *hbox2;
GtkWidget *check1, *check2, *check3;
GtkWidget *text1, *text2;
- int ret, loop = 1;
-
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
- gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_widget_destroy), 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 ), "Polygon Builder" );
+ 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_window_set_title (GTK_WINDOW (window), "Polygon Builder");
- gtk_container_border_width (GTK_CONTAINER (window), 10);
+ gtk_widget_realize( window );
- g_object_set_data (G_OBJECT (window), "loop", &loop);
- g_object_set_data (G_OBJECT (window), "ret", &ret);
- gtk_widget_realize (window);
-
-
- vbox = gtk_vbox_new (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 ----
- hbox = gtk_hbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2);
- gtk_widget_show (hbox);
-
- // ---- hbox ----
-
-
- vbox2 = gtk_vbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 2);
- gtk_widget_show (vbox2);
-
- // ---- vbox2 ----
-
- hbox2 = gtk_hbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 2);
- gtk_widget_show (hbox2);
-
- // ---- hbox2 ----
-
- text1 = gtk_entry_new_with_max_length(256);
- gtk_entry_set_text((GtkEntry*)text1, "3");
- gtk_box_pack_start (GTK_BOX (hbox2), text1, FALSE, FALSE, 2);
- gtk_widget_show (text1);
-
- w = gtk_label_new ("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);
-
- // ---- /hbox2 ----
-
- hbox2 = gtk_hbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 2);
- gtk_widget_show (hbox2);
-
- // ---- hbox2 ----
-
- text2 = gtk_entry_new_with_max_length(256);
- gtk_entry_set_text((GtkEntry*)text2, "8");
- gtk_box_pack_start (GTK_BOX (hbox2), text2, FALSE, FALSE, 2);
- gtk_widget_show (text2);
-
- w = gtk_label_new ("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);
-
- // ---- /hbox2 ----
-
- // ---- /vbox2 ----
-
-
-
- vbox2 = gtk_vbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 2);
- gtk_widget_show (vbox2);
-
- // ---- vbox2 ----
-
- check1 = gtk_check_button_new_with_label("Use Border");
- gtk_box_pack_start (GTK_BOX (vbox2), check1, FALSE, FALSE, 0);
- gtk_widget_show (check1);
-
-
- check2 = gtk_check_button_new_with_label("Inverse Polygon");
- gtk_box_pack_start (GTK_BOX (vbox2), check2, FALSE, FALSE, 0);
- gtk_widget_show (check2);
-
-
- check3 = gtk_check_button_new_with_label("Align Top Edge");
- gtk_box_pack_start (GTK_BOX (vbox2), check3, FALSE, FALSE, 0);
- gtk_widget_show (check3);
-
- // ---- /vbox2 ----
-
- // ---- /hbox ----
-
- hbox = gtk_hbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2);
- gtk_widget_show (hbox);
-
- // ---- hbox ----
-
- w = gtk_button_new_with_label ("Ok");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked", GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
-
- GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
- gtk_widget_grab_default (w);
- gtk_widget_show (w);
-
- w = gtk_button_new_with_label ("Cancel");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked", GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDCANCEL));
- gtk_widget_show (w);
- ret = IDCANCEL;
-
- // ---- /hbox ----
-
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 );
+ gtk_widget_show( hbox );
+
+ // ---- hbox ----
+
+
+ vbox2 = ui::VBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( hbox ), vbox2, FALSE, FALSE, 2 );
+ gtk_widget_show( vbox2 );
+
+ // ---- vbox2 ----
+
+ hbox2 = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), hbox2, FALSE, FALSE, 2 );
+ gtk_widget_show( hbox2 );
+
+ // ---- 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 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 ----
+
+ hbox2 = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), hbox2, FALSE, FALSE, 2 );
+ gtk_widget_show( hbox2 );
+
+ // ---- 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 );
+
+ 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 ----
+
+ // ---- /vbox2 ----
+
+
+
+ vbox2 = ui::VBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( hbox ), vbox2, FALSE, FALSE, 2 );
+ gtk_widget_show( vbox2 );
+
+ // ---- vbox2 ----
+
+ check1 = ui::CheckButton( "Use Border" );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), check1, FALSE, FALSE, 0 );
+ gtk_widget_show( check1 );
+
+
+ check2 = ui::CheckButton( "Inverse Polygon" );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), check2, FALSE, FALSE, 0 );
+ gtk_widget_show( check2 );
+
+
+ check3 = ui::CheckButton( "Align Top Edge" );
+ gtk_box_pack_start( GTK_BOX( vbox2 ), check3, FALSE, FALSE, 0 );
+ gtk_widget_show( check3 );
+
+ // ---- /vbox2 ----
+
+ // ---- /hbox ----
+
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 );
+ gtk_widget_show( hbox );
+
+ // ---- hbox ----
+
+ auto w = ui::Button( "Ok" );
+ gtk_box_pack_start( GTK_BOX( hbox ), 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 = ui::Button( "Cancel" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
+ w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) );
+ gtk_widget_show( w );
+ ret = eIDCANCEL;
+
+ // ---- /hbox ----
+
// ---- /vbox ----
- gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
- gtk_widget_show (window);
- gtk_grab_add (window);
-
+ gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
+ gtk_widget_show( window );
+ gtk_grab_add( window );
+
bool dialogError = TRUE;
- while (dialogError)
+ while ( dialogError )
{
loop = 1;
- while (loop)
- gtk_main_iteration ();
-
+ while ( loop )
+ gtk_main_iteration();
+
dialogError = FALSE;
- if(ret == IDOK)
- {
- 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;
+ 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;
- if(!ValidateTextIntRange(gtk_entry_get_text((GtkEntry*)text1), 3, 32, "Number Of Sides", &rs->nSides))
+ if ( !ValidateTextIntRange( gtk_entry_get_text( (GtkEntry*)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 ( rs->bUseBorder ) {
+ if ( !ValidateTextIntRange( gtk_entry_get_text( (GtkEntry*)text2 ), 8, 256, "Border Width", &rs->nBorderWidth ) ) {
dialogError = TRUE;
+ }
}
}
}
- gtk_grab_remove (window);
- gtk_widget_destroy (window);
+ gtk_grab_remove( window );
+ gtk_widget_destroy( window );
return ret;
}
// mars
// for stair builder stuck as close as i could to the MFC version
// obviously feel free to change it at will :)
-int 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;
- GtkWidget *checkUseDetail;
- GSList *radioDirection, *radioStyle;
- int ret, loop;
-
- loop = 1;
-
- char *text = "Please set a value in the boxes below and press 'OK' to build the stairs";
-
- window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
-
- gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
- gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_widget_destroy), NULL);
+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;
+
+ 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_container_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_container_set_border_width( GTK_CONTAINER( window ), 10 );
- gtk_widget_realize (window);
+ g_object_set_data( G_OBJECT( window ), "loop", &loop );
+ g_object_set_data( G_OBJECT( window ), "ret", &ret );
- // new vbox
- vbox = gtk_vbox_new( FALSE, 10 );
- gtk_container_add( GTK_CONTAINER( window ), vbox );
+ gtk_widget_realize( window );
+
+ // new vbox
+ auto vbox = ui::VBox( FALSE, 10 );
+ window.add(vbox);
gtk_widget_show( vbox );
- hbox = gtk_hbox_new( 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 = gtk_label_new( 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 );
-
+
// ------------------------- // indenting == good way of keeping track of lines :)
- // new hbox
- hbox = gtk_hbox_new( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
- gtk_widget_show( hbox );
-
- textStairHeight = gtk_entry_new_with_max_length( 256 );
- gtk_box_pack_start( GTK_BOX( hbox ), textStairHeight, FALSE, FALSE, 1 );
- gtk_widget_show( textStairHeight );
-
- w = gtk_label_new( "Stair Height" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 1 );
- gtk_widget_show( w );
+ // new hbox
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
+
+ textStairHeight = ui::Entry( 256 );
+ gtk_box_pack_start( GTK_BOX( hbox ), textStairHeight, FALSE, FALSE, 1 );
+ gtk_widget_show( textStairHeight );
+
+ w = ui::Label( "Stair Height" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 1 );
+ gtk_widget_show( w );
// ------------------------- //
- hbox = gtk_hbox_new( FALSE, 10 );
+ hbox = ui::HBox( FALSE, 10 );
gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
gtk_widget_show( hbox );
- w = gtk_label_new( "Direction:" );
+ w = ui::Label( "Direction:" );
gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 5 );
gtk_widget_show( w );
// -------------------------- //
- hbox = gtk_hbox_new( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
- gtk_widget_show( hbox );
-
- // radio buttons confuse me ...
- // but this _looks_ right
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
+
+ // radio buttons confuse me ...
+ // but this _looks_ right
+
+ // 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
- // 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 );
- radioNorth = gtk_radio_button_new_with_label( NULL, "North" );
- gtk_box_pack_start( GTK_BOX( hbox ), radioNorth, FALSE, FALSE, 3 );
- gtk_widget_show( radioNorth );
+ radioDirection = gtk_radio_button_get_group( GTK_RADIO_BUTTON( radioNorth ) );
- radioDirection = gtk_radio_button_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 );
+ radioSouth = gtk_radio_button_new_with_label( radioDirection, "South" );
+ gtk_box_pack_start( GTK_BOX( hbox ), radioSouth, FALSE, FALSE, 2 );
+ gtk_widget_show( radioSouth );
- radioDirection = gtk_radio_button_group( GTK_RADIO_BUTTON( radioSouth ) );
+ 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 );
+ radioEast = gtk_radio_button_new_with_label( radioDirection, "East" );
+ gtk_box_pack_start( GTK_BOX( hbox ), radioEast, FALSE, FALSE, 1 );
+ gtk_widget_show( radioEast );
- radioDirection = gtk_radio_button_group( GTK_RADIO_BUTTON( radioEast ) );
+ 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 );
+ radioWest = gtk_radio_button_new_with_label( radioDirection, "West" );
+ gtk_box_pack_start( GTK_BOX( hbox ), radioWest, FALSE, FALSE, 0 );
+ gtk_widget_show( radioWest );
// --------------------------- //
- hbox = gtk_hbox_new( FALSE, 10 );
+ hbox = ui::HBox( FALSE, 10 );
gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
gtk_widget_show( hbox );
- w = gtk_label_new( "Style:" );
+ w = ui::Label( "Style:" );
gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 5 );
gtk_widget_show( w );
// --------------------------- //
- hbox = gtk_hbox_new( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
- gtk_widget_show( hbox );
-
- radioOldStyle = gtk_radio_button_new_with_label( NULL, "Original" );
- gtk_box_pack_start( GTK_BOX( hbox ), radioOldStyle, FALSE, FALSE, 0 );
- gtk_widget_show( radioOldStyle );
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
+
+ radioOldStyle = gtk_radio_button_new_with_label( NULL, "Original" );
+ gtk_box_pack_start( GTK_BOX( hbox ), radioOldStyle, FALSE, FALSE, 0 );
+ gtk_widget_show( radioOldStyle );
+
+ radioStyle = gtk_radio_button_get_group( GTK_RADIO_BUTTON( radioOldStyle ) );
- radioStyle = gtk_radio_button_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 );
- 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 );
-
- radioStyle = gtk_radio_button_group( GTK_RADIO_BUTTON( radioBobStyle ) );
+ 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 );
-
- // 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 :)
+ 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 );
- // djbob: er.... yeah um, im not at all sure how i'm gonna sort this
- // djbob: think we need some button callback functions or smuffin
- // FIXME: actually get around to doing what i suggested!!!!
+ // 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 :)
- checkUseDetail = gtk_check_button_new_with_label( "Use Detail Brushes" );
- gtk_box_pack_start( GTK_BOX( hbox ), checkUseDetail, FALSE, FALSE, 0 );
- gtk_widget_show( checkUseDetail );
+ // djbob: er.... yeah um, im not at all sure how i'm gonna sort this
+ // 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 );
- hbox = gtk_hbox_new( FALSE, 10 );
+ // --------------------------- //
+
+ hbox = ui::HBox( FALSE, 10 );
gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
gtk_widget_show( hbox );
- textMainTex = gtk_entry_new_with_max_length( 512 );
- gtk_entry_set_text(GTK_ENTRY(textMainTex), rs->mainTexture);
+ 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 );
- w = gtk_label_new( "Main Texture" );
+ w = ui::Label( "Main Texture" );
gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 1 );
gtk_widget_show( w );
// -------------------------- //
- hbox = gtk_hbox_new( FALSE, 10 );
+ hbox = ui::HBox( FALSE, 10 );
gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
gtk_widget_show( hbox );
- textRiserTex = gtk_entry_new_with_max_length( 512 );
+ textRiserTex = ui::Entry( 512 );
gtk_box_pack_start( GTK_BOX( hbox ), textRiserTex, FALSE, FALSE, 0 );
gtk_widget_show( textRiserTex );
- w = gtk_label_new( "Riser Texture" );
+ w = ui::Label( "Riser Texture" );
gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 1 );
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 );
- hbox = gtk_hbox_new( FALSE, 10 );
+ hbox = ui::HBox( FALSE, 10 );
gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
gtk_widget_show( hbox );
- w = gtk_button_new_with_label( "OK" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0);
- gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( dialog_button_callback ), GINT_TO_POINTER( IDOK ) );
- GTK_WIDGET_SET_FLAGS( w, GTK_CAN_DEFAULT );
+ w = ui::Button( "OK" );
+ gtk_box_pack_start( GTK_BOX( hbox ), 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 = gtk_button_new_with_label( "Cancel" );
+
+ w = ui::Button( "Cancel" );
gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
- gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( dialog_button_callback ), GINT_TO_POINTER( IDCANCEL ) );
+ w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) );
gtk_widget_show( w );
-
- ret = IDCANCEL;
+
+ 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_grab_add (window);
-
+ gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
+ gtk_widget_show( window );
+ gtk_grab_add( window );
+
bool dialogError = TRUE;
- while (dialogError)
+ while ( dialogError )
{
loop = 1;
- while (loop)
- gtk_main_iteration ();
-
+ while ( loop )
+ gtk_main_iteration();
+
dialogError = FALSE;
- if(ret == IDOK)
- {
- rs->bUseDetail = gtk_toggle_button_get_active((GtkToggleButton*)checkUseDetail) ? true : false;
+ if ( ret == eIDOK ) {
+ rs->bUseDetail = gtk_toggle_button_get_active( (GtkToggleButton*)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( (GtkEntry*)textRiserTex ) );
+ strcpy( rs->mainTexture, gtk_entry_get_text( (GtkEntry*)textMainTex ) );
- if(gtk_toggle_button_get_active((GtkToggleButton*)radioNorth))
+ if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioNorth ) ) {
rs->direction = MOVE_NORTH;
- else if(gtk_toggle_button_get_active((GtkToggleButton*)radioSouth))
+ }
+ else if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioSouth ) ) {
rs->direction = MOVE_SOUTH;
- else if(gtk_toggle_button_get_active((GtkToggleButton*)radioEast))
+ }
+ else if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioEast ) ) {
rs->direction = MOVE_EAST;
- else if(gtk_toggle_button_get_active((GtkToggleButton*)radioWest))
+ }
+ else if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioWest ) ) {
rs->direction = MOVE_WEST;
+ }
- if(!ValidateTextInt(gtk_entry_get_text((GtkEntry*)textStairHeight), "Stair Height", &rs->stairHeight))
+ if ( !ValidateTextInt( gtk_entry_get_text( (GtkEntry*)textStairHeight ), "Stair Height", &rs->stairHeight ) ) {
dialogError = TRUE;
+ }
- if(gtk_toggle_button_get_active((GtkToggleButton*)radioOldStyle))
+ if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioOldStyle ) ) {
rs->style = STYLE_ORIGINAL;
- else if(gtk_toggle_button_get_active((GtkToggleButton*)radioBobStyle))
+ }
+ else if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioBobStyle ) ) {
rs->style = STYLE_BOB;
- else if(gtk_toggle_button_get_active((GtkToggleButton*)radioCornerStyle))
+ }
+ else if ( gtk_toggle_button_get_active( (GtkToggleButton*)radioCornerStyle ) ) {
rs->style = STYLE_CORNER;
+ }
}
}
- gtk_grab_remove (window);
- gtk_widget_destroy (window);
+ gtk_grab_remove( window );
+ gtk_widget_destroy( window );
return ret;
// -djbob
-
+
// there we go, all done ... on my end at least, not bad for a night's work
}
-int DoDoorsBox(DoorRS* rs)
-{
- GtkWidget *window, *hbox, *vbox, *w;
- GtkWidget *textFrontBackTex, *textTrimTex;
- GtkWidget *checkScaleMainH, *checkScaleMainV, *checkScaleTrimH, *checkScaleTrimV;
- GtkWidget *comboMain, *comboTrim;
- GtkWidget *buttonSetMain, *buttonSetTrim;
- GtkWidget *radioNS, *radioEW;
- GSList *radioOrientation;
- TwinWidget tw1, tw2;
- int ret, loop;
-
- loop = 1;
-
- window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
-
- gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
- gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_widget_destroy), NULL);
+EMessageBoxReturn DoDoorsBox( DoorRS* rs ){
+ GtkWidget *hbox;
+ GtkWidget *checkScaleMainH, *checkScaleMainV, *checkScaleTrimH, *checkScaleTrimV;
+ GtkWidget *radioNS, *radioEW;
+ GSList *radioOrientation;
+ TwinWidget tw1, tw2;
+ 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 ), "Door Builder" );
-
- gtk_container_border_width( GTK_CONTAINER( window ), 10 );
+
+ 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);
-
+ gtk_widget_realize( window );
+
char buffer[256];
- GList *listMainTextures = NULL;
- GList *listTrimTextures = NULL;
- LoadGList(GetFilename(buffer, "plugins/bt/door-tex.txt"), &listMainTextures);
- LoadGList(GetFilename(buffer, "plugins/bt/door-tex-trim.txt"), &listTrimTextures);
-
- vbox = gtk_vbox_new( FALSE, 10 );
- gtk_container_add( GTK_CONTAINER( window ), vbox );
+ 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 ));
+ 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 );
// -------------------------- //
- hbox = gtk_hbox_new( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
- gtk_widget_show( hbox );
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
- textFrontBackTex = gtk_entry_new_with_max_length( 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 );
+ 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 = gtk_label_new( "Door Front/Back Texture" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 );
- gtk_widget_show( w );
+ 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 = gtk_hbox_new( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
- gtk_widget_show( hbox );
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
- textTrimTex = gtk_entry_new_with_max_length( 512 );
- gtk_box_pack_start( GTK_BOX( hbox ), textTrimTex, FALSE, FALSE, 0 );
- gtk_widget_show( textTrimTex );
+ auto textTrimTex = ui::Entry( 512 );
+ gtk_box_pack_start( GTK_BOX( hbox ), textTrimTex, FALSE, FALSE, 0 );
+ gtk_widget_show( textTrimTex );
- w = gtk_label_new( "Door Trim Texture" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 );
- gtk_widget_show( w );
+ w = ui::Label( "Door Trim Texture" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 );
+ gtk_widget_show( w );
// ----------------------- //
- hbox = gtk_hbox_new( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
- gtk_widget_show( hbox );
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
- // sp: horizontally ????
- // djbob: yes mars, u can spell :]
- checkScaleMainH = gtk_check_button_new_with_label( "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 );
+ // sp: horizontally ????
+ // djbob: yes mars, u can spell :]
+ 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 );
- checkScaleTrimH = gtk_check_button_new_with_label( "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 );
+ 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 = gtk_hbox_new( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
- gtk_widget_show( hbox );
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
- checkScaleMainV = gtk_check_button_new_with_label( "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 );
+ 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 );
- checkScaleTrimV = gtk_check_button_new_with_label( "Scale Trim Texture Vertically" );
- gtk_box_pack_start( GTK_BOX( hbox ), checkScaleTrimV, FALSE, FALSE, 0 );
- gtk_widget_show( checkScaleTrimV );
-
- // --------------------- //
+ checkScaleTrimV = ui::CheckButton( "Scale Trim Texture Vertically" );
+ gtk_box_pack_start( GTK_BOX( hbox ), checkScaleTrimV, FALSE, FALSE, 0 );
+ gtk_widget_show( checkScaleTrimV );
- hbox = gtk_hbox_new( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
- gtk_widget_show( hbox );
+ // --------------------- //
- // djbob: lists added
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
+
+ // djbob: lists added
- comboMain = gtk_combo_new();
- gtk_box_pack_start( GTK_BOX( hbox ), comboMain, FALSE, FALSE, 0 );
- gtk_combo_set_popdown_strings( GTK_COMBO( comboMain ), listMainTextures );
- gtk_combo_set_use_arrows( GTK_COMBO( comboMain ), 1 );
- gtk_widget_show( comboMain );
+ 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 = comboMain;
+ tw1.one = textFrontBackTex;
+ tw1.two = comboMain;
- buttonSetMain = gtk_button_new_with_label( "Set As Main Texture" );
- gtk_signal_connect( GTK_OBJECT( buttonSetMain ), "clicked", GTK_SIGNAL_FUNC( dialog_button_callback_settex ), &tw1 );
- gtk_box_pack_start( GTK_BOX( hbox ), buttonSetMain, FALSE, FALSE, 0 );
- gtk_widget_show( buttonSetMain );
+ 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 = gtk_hbox_new( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
- gtk_widget_show( hbox );
- comboTrim = gtk_combo_new();
- gtk_box_pack_start( GTK_BOX( hbox ), comboTrim, FALSE, FALSE, 0 );
- gtk_combo_set_popdown_strings( GTK_COMBO( comboTrim ), listTrimTextures );
- gtk_combo_set_use_arrows( GTK_COMBO( comboMain ), 1 );
- gtk_widget_show( comboTrim );
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
- tw2.one = textTrimTex;
- tw2.two = comboTrim;
+ 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 );
- buttonSetTrim = gtk_button_new_with_label( "Set As Trim Texture" );
- gtk_signal_connect( GTK_OBJECT( buttonSetTrim ), "clicked", GTK_SIGNAL_FUNC( dialog_button_callback_settex ), &tw2 );
- gtk_box_pack_start( GTK_BOX( hbox ), buttonSetTrim, FALSE, FALSE, 0 );
- gtk_widget_show( buttonSetTrim );
+ 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 = gtk_hbox_new( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
- gtk_widget_show( hbox );
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
- w = gtk_label_new( "Orientation" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 );
- gtk_widget_show( w );
+ w = ui::Label( "Orientation" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 );
+ gtk_widget_show( w );
- // 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 );
+ // 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 );
- radioOrientation = gtk_radio_button_group( GTK_RADIO_BUTTON( radioNS ) );
+ 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 );
+ 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 );
// ----------------- //
- w = gtk_hseparator_new();
- gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 );
- gtk_widget_show( w );
+ w = ui::Widget(gtk_hseparator_new());
+ gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 );
+ gtk_widget_show( w );
// ----------------- //
- hbox = gtk_hbox_new( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
- gtk_widget_show( hbox );
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
- w = gtk_button_new_with_label( "OK" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0);
- gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( dialog_button_callback ), GINT_TO_POINTER( IDOK ) );
- GTK_WIDGET_SET_FLAGS( w, GTK_CAN_DEFAULT );
- gtk_widget_grab_default( w );
- gtk_widget_show( w );
-
- w = gtk_button_new_with_label( "Cancel" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
- gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( dialog_button_callback ), GINT_TO_POINTER( IDCANCEL ) );
- gtk_widget_show( w );
- ret = IDCANCEL;
+ w = ui::Button( "OK" );
+ gtk_box_pack_start( GTK_BOX( hbox ), 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 = ui::Button( "Cancel" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
+ w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) );
+ gtk_widget_show( w );
+ ret = eIDCANCEL;
// ----------------- //
//+djbob
- gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
- gtk_widget_show (window);
- gtk_grab_add (window);
-
- while (loop)
- gtk_main_iteration ();
-
- strcpy(rs->mainTexture, gtk_entry_get_text( GTK_ENTRY( textFrontBackTex ) ));
- strcpy(rs->trimTexture, gtk_entry_get_text( GTK_ENTRY( textTrimTex ) ));
-
- rs->bScaleMainH = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkScaleMainH)) ? true : false;
- rs->bScaleMainV = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkScaleMainV)) ? true : false;
- rs->bScaleTrimH = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkScaleTrimH)) ? true : false;
- rs->bScaleTrimV = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkScaleTrimV)) ? true : false;
-
- if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(radioNS)))
+ gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
+ gtk_widget_show( window );
+ gtk_grab_add( window );
+
+ while ( loop )
+ gtk_main_iteration();
+
+ strcpy( rs->mainTexture, gtk_entry_get_text( GTK_ENTRY( textFrontBackTex ) ) );
+ strcpy( rs->trimTexture, gtk_entry_get_text( GTK_ENTRY( textTrimTex ) ) );
+
+ rs->bScaleMainH = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( checkScaleMainH ) ) ? true : false;
+ rs->bScaleMainV = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( checkScaleMainV ) ) ? true : false;
+ rs->bScaleTrimH = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( checkScaleTrimH ) ) ? true : false;
+ rs->bScaleTrimV = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( checkScaleTrimV ) ) ? true : false;
+
+ if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( radioNS ) ) ) {
rs->nOrientation = DIRECTION_NS;
- else if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(radioEW)))
+ }
+ else if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( radioEW ) ) ) {
rs->nOrientation = DIRECTION_EW;
-
- gtk_grab_remove (window);
- gtk_widget_destroy (window);
+ }
+
+ gtk_grab_remove( window );
+ gtk_widget_destroy( window );
return ret;
//-djbob
}
-int DoPathPlotterBox(PathPlotterRS* rs)
-{
- GtkWidget *window, *w, *vbox, *hbox;
+EMessageBoxReturn DoPathPlotterBox( PathPlotterRS* rs ){
+ 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;
+
+ 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 );
- int ret, loop = 1;
-
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
- gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_widget_destroy), NULL);
+ gtk_window_set_title( GTK_WINDOW( window ), "Texture Reset" );
+ 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_window_set_title (GTK_WINDOW (window), "Texture Reset");
- gtk_container_border_width (GTK_CONTAINER (window), 10);
+ gtk_widget_realize( window );
- g_object_set_data (G_OBJECT (window), "loop", &loop);
- g_object_set_data (G_OBJECT (window), "ret", &ret);
- gtk_widget_realize (window);
-
-
- vbox = gtk_vbox_new (FALSE, 10);
- gtk_container_add (GTK_CONTAINER (window), vbox);
- gtk_widget_show (vbox);
-
+ auto vbox = ui::VBox( FALSE, 10 );
+ window.add(vbox);
+ gtk_widget_show( vbox );
+
// ---- vbox ----
- hbox = gtk_hbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2);
- gtk_widget_show (hbox);
-
- // ---- hbox ----
-
- text1 = gtk_entry_new_with_max_length(256);
- gtk_entry_set_text((GtkEntry*)text1, "25");
- gtk_box_pack_start (GTK_BOX (hbox), text1, FALSE, FALSE, 2);
- gtk_widget_show (text1);
-
- w = gtk_label_new ("Number Of Points");
- gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 2);
- gtk_label_set_justify (GTK_LABEL (w), GTK_JUSTIFY_LEFT);
- gtk_widget_show (w);
-
- // ---- /hbox ----
-
- hbox = gtk_hbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2);
- gtk_widget_show (hbox);
-
- // ---- hbox ----
-
- text2 = gtk_entry_new_with_max_length(256);
- gtk_entry_set_text((GtkEntry*)text2, "3");
- gtk_box_pack_start (GTK_BOX (hbox), text2, FALSE, FALSE, 2);
- gtk_widget_show (text2);
-
- w = gtk_label_new ("Multipler");
- gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 2);
- gtk_label_set_justify (GTK_LABEL (w), GTK_JUSTIFY_LEFT);
- gtk_widget_show (w);
-
- // ---- /hbox ----
-
- w = gtk_label_new ("Path Distance = dist(start -> apex) * multiplier");
- gtk_box_pack_start (GTK_BOX (vbox), w, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (w), GTK_JUSTIFY_LEFT);
- gtk_widget_show (w);
-
- hbox = gtk_hbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2);
- gtk_widget_show (hbox);
-
- // ---- hbox ----
-
- text3 = gtk_entry_new_with_max_length(256);
- gtk_entry_set_text((GtkEntry*)text3, "-800");
- gtk_box_pack_start (GTK_BOX (hbox), text3, FALSE, FALSE, 2);
- gtk_widget_show (text3);
-
- w = gtk_label_new ("Gravity");
- gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 2);
- gtk_label_set_justify (GTK_LABEL (w), GTK_JUSTIFY_LEFT);
- gtk_widget_show (w);
-
- // ---- /hbox ----
-
- w = gtk_hseparator_new();
- gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 );
- gtk_widget_show( w );
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 );
+ gtk_widget_show( hbox );
+
+ // ---- hbox ----
+
+ 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 );
+
+ w = ui::Label( "Number Of Points" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 2 );
+ gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT );
+ gtk_widget_show( w );
+
+ // ---- /hbox ----
+
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 );
+ gtk_widget_show( hbox );
+
+ // ---- hbox ----
+
+ 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 );
+
+ w = ui::Label( "Multipler" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 2 );
+ gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT );
+ gtk_widget_show( w );
+
+ // ---- /hbox ----
+
+ w = ui::Label( "Path Distance = dist(start -> apex) * multiplier" );
+ gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 );
+ gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT );
+ gtk_widget_show( w );
+
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 );
+ gtk_widget_show( hbox );
+
+ // ---- hbox ----
+
+ 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 );
+
+ w = ui::Label( "Gravity" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 2 );
+ gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT );
+ gtk_widget_show( w );
+
+ // ---- /hbox ----
+
+ w = ui::Widget(gtk_hseparator_new());
+ gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 );
+ gtk_widget_show( w );
- check1 = gtk_check_button_new_with_label( "No Dynamic Update" );
- gtk_box_pack_start( GTK_BOX( vbox ), check1, FALSE, FALSE, 0 );
- gtk_widget_show( check1 );
+ check1 = ui::CheckButton( "No Dynamic Update" );
+ gtk_box_pack_start( GTK_BOX( vbox ), check1, FALSE, FALSE, 0 );
+ gtk_widget_show( check1 );
- check2 = gtk_check_button_new_with_label( "Show Bounding Lines" );
- gtk_box_pack_start( GTK_BOX( vbox ), check2, FALSE, FALSE, 0 );
- gtk_widget_show( check2 );
+ check2 = ui::CheckButton( "Show Bounding Lines" );
+ gtk_box_pack_start( GTK_BOX( vbox ), check2, FALSE, FALSE, 0 );
+ gtk_widget_show( check2 );
// ---- /vbox ----
// ----------------- //
- w = gtk_hseparator_new();
- gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 );
- gtk_widget_show( w );
+ w = ui::Widget(gtk_hseparator_new());
+ gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 );
+ gtk_widget_show( w );
// ----------------- //
- hbox = gtk_hbox_new( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
- gtk_widget_show( hbox );
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
- w = gtk_button_new_with_label( "Enable" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0);
- gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( dialog_button_callback ), GINT_TO_POINTER( IDYES ) );
- gtk_widget_show( w );
-
- GTK_WIDGET_SET_FLAGS( w, GTK_CAN_DEFAULT );
- gtk_widget_grab_default( w );
+ w = ui::Button( "Enable" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
+ w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDYES ) );
+ gtk_widget_show( w );
- w = gtk_button_new_with_label( "Disable" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0);
- gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( dialog_button_callback ), GINT_TO_POINTER( IDNO ) );
- gtk_widget_show( w );
-
- w = gtk_button_new_with_label( "Cancel" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
- gtk_signal_connect( GTK_OBJECT( w ), "clicked", GTK_SIGNAL_FUNC( dialog_button_callback ), GINT_TO_POINTER( IDCANCEL ) );
- gtk_widget_show( w );
-
- ret = IDCANCEL;
+ 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 );
+ 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 );
+ w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) );
+ gtk_widget_show( w );
+
+ ret = eIDCANCEL;
// ----------------- //
- gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
- gtk_widget_show (window);
- gtk_grab_add (window);
-
+ gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
+ gtk_widget_show( window );
+ gtk_grab_add( window );
+
bool dialogError = TRUE;
- while (dialogError)
+ while ( dialogError )
{
loop = 1;
- while (loop)
- gtk_main_iteration ();
-
+ while ( loop )
+ gtk_main_iteration();
+
dialogError = FALSE;
- if(ret == IDYES)
- {
- if(!ValidateTextIntRange(gtk_entry_get_text(GTK_ENTRY(text1)), 1, 200, "Number Of Points", &rs->nPoints))
+ if ( ret == eIDYES ) {
+ if ( !ValidateTextIntRange( gtk_entry_get_text( GTK_ENTRY( text1 ) ), 1, 200, "Number Of Points", &rs->nPoints ) ) {
dialogError = TRUE;
+ }
- if(!ValidateTextFloatRange(gtk_entry_get_text(GTK_ENTRY(text2)), 1.0f, 10.0f, "Multiplier", &rs->fMultiplier))
+ if ( !ValidateTextFloatRange( gtk_entry_get_text( GTK_ENTRY( text2 ) ), 1.0f, 10.0f, "Multiplier", &rs->fMultiplier ) ) {
dialogError = TRUE;
+ }
- if(!ValidateTextFloatRange(gtk_entry_get_text(GTK_ENTRY(text3)), -10000.0f, -1.0f, "Gravity", &rs->fGravity))
+ if ( !ValidateTextFloatRange( gtk_entry_get_text( GTK_ENTRY( text3 ) ), -10000.0f, -1.0f, "Gravity", &rs->fGravity ) ) {
dialogError = TRUE;
+ }
- rs->bNoUpdate = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check1)) ? true : false;
- rs->bShowExtra = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check2)) ? true : false;
+ rs->bNoUpdate = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( check1 ) ) ? true : false;
+ rs->bShowExtra = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( check2 ) ) ? true : false;
}
}
- gtk_grab_remove (window);
- gtk_widget_destroy (window);
+ gtk_grab_remove( window );
+ gtk_widget_destroy( window );
return ret;
}
-int DoCTFColourChangeBox ()
-{
- GtkWidget *window, *w, *vbox, *hbox;
- int ret, loop = 1;
-
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
- gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_widget_destroy), NULL);
-
- gtk_window_set_title (GTK_WINDOW (window), "CTF Colour Changer");
- gtk_container_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 = gtk_vbox_new (FALSE, 10);
- gtk_container_add (GTK_CONTAINER (window), vbox);
- gtk_widget_show (vbox);
-
+EMessageBoxReturn DoCTFColourChangeBox(){
+ ui::Widget w, hbox;
+ 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 ), "CTF Colour Changer" );
+ 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 );
+
+
+
+ auto vbox = ui::VBox( FALSE, 10 );
+ window.add(vbox);
+ gtk_widget_show( vbox );
+
// ---- vbox ----
- hbox = gtk_hbox_new( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, TRUE, TRUE, 0 );
- gtk_widget_show( hbox );
-
- // ---- hbox ---- ok/cancel buttons
-
- w = gtk_button_new_with_label ("Red->Blue");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked", GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
-
- GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
- gtk_widget_grab_default (w);
- gtk_widget_show (w);
-
- w = gtk_button_new_with_label ("Blue->Red");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked", GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDYES));
- gtk_widget_show (w);
-
- w = gtk_button_new_with_label ("Cancel");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked", GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDCANCEL));
- gtk_widget_show (w);
- ret = IDCANCEL;
-
- // ---- /hbox ----
-
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, TRUE, TRUE, 0 );
+ gtk_widget_show( hbox );
+
+ // ---- hbox ---- ok/cancel buttons
+
+ w = ui::Button( "Red->Blue" );
+ gtk_box_pack_start( GTK_BOX( hbox ), 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 = ui::Button( "Blue->Red" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
+ 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 );
+ w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) );
+ gtk_widget_show( w );
+ ret = eIDCANCEL;
+
+ // ---- /hbox ----
+
// ---- /vbox ----
- gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
- gtk_widget_show (window);
- gtk_grab_add (window);
-
- while (loop)
- gtk_main_iteration ();
+ gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
+ gtk_widget_show( window );
+ gtk_grab_add( window );
+
+ while ( loop )
+ gtk_main_iteration();
- gtk_grab_remove (window);
- gtk_widget_destroy (window);
+ gtk_grab_remove( window );
+ gtk_widget_destroy( window );
return ret;
}
-int DoResetTextureBox (ResetTextureRS* rs)
-{
+EMessageBoxReturn DoResetTextureBox( ResetTextureRS* rs ){
Str texSelected;
- GtkWidget *window, *w, *vbox, *hbox, *frame, *table;
+ ui::Widget w, hbox;
+
+ 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 );
- int ret, loop = 1;
-
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
- gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_widget_destroy), NULL);
+ gtk_window_set_title( GTK_WINDOW( window ), "Texture Reset" );
+ gtk_container_set_border_width( GTK_CONTAINER( window ), 10 );
- gtk_window_set_title (GTK_WINDOW (window), "Texture Reset");
- gtk_container_border_width (GTK_CONTAINER (window), 10);
+ g_object_set_data( G_OBJECT( window ), "loop", &loop );
+ g_object_set_data( G_OBJECT( window ), "ret", &ret );
- g_object_set_data (G_OBJECT (window), "loop", &loop);
- g_object_set_data (G_OBJECT (window), "ret", &ret);
+ gtk_widget_realize( window );
+
+ auto vbox = ui::VBox( FALSE, 10 );
+ window.add(vbox);
+ vbox.show();
- gtk_widget_realize (window);
-
- vbox = gtk_vbox_new (FALSE, 10);
- gtk_container_add (GTK_CONTAINER (window), vbox);
- gtk_widget_show (vbox);
-
// ---- vbox ----
- hbox = gtk_hbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2);
- gtk_widget_show (hbox);
-
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 );
+ gtk_widget_show( hbox );
+
// ---- hbox ----
- texSelected = "Currently Selected Face: ";
- if(g_SelectedFaceTable.m_pfnGetSelectedFaceCount() == 1) {
- texSelected += GetCurrentTexture();
- }
+ texSelected = "Currently Selected Texture: ";
+ texSelected += GetCurrentTexture();
- w = gtk_label_new (texSelected);
- gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 2);
- gtk_label_set_justify (GTK_LABEL (w), GTK_JUSTIFY_LEFT);
- gtk_widget_show (w);
+ w = ui::Label( texSelected );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 2 );
+ gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT );
+ gtk_widget_show( w );
// ---- /hbox ----
- frame = gtk_frame_new ("Reset Texture Names");
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0);
+ auto frame = ui::Frame( "Reset Texture Names" );
+ gtk_widget_show( frame );
+ gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 );
- table = gtk_table_new (2, 3, TRUE);
- gtk_widget_show (table);
- gtk_container_add (GTK_CONTAINER (frame), 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);
+ 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 );
// ---- frame ----
- dlgTexReset.cbTexChange = gtk_check_button_new_with_label("Enabled");
- gtk_signal_connect (GTK_OBJECT (dlgTexReset.cbTexChange), "toggled", GTK_SIGNAL_FUNC (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);
-
- w = gtk_label_new ("Old Name: ");
- gtk_table_attach (GTK_TABLE (table), w, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_show (w);
-
- dlgTexReset.editTexOld = gtk_entry_new_with_max_length(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);
-
- w = gtk_label_new ("New Name: ");
- gtk_table_attach (GTK_TABLE (table), w, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_show (w);
-
- dlgTexReset.editTexNew = gtk_entry_new_with_max_length(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);
+ 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 );
+
+ 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 );
+
+ 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 );
+
+ 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 );
+
+ 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 );
// ---- /frame ----
- frame = gtk_frame_new ("Reset Scales");
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0);
+ frame = ui::Frame( "Reset Scales" );
+ gtk_widget_show( frame );
+ gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 );
- table = gtk_table_new (2, 3, TRUE);
- gtk_widget_show (table);
- gtk_container_add (GTK_CONTAINER (frame), 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);
+ 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 );
// ---- frame ----
- dlgTexReset.cbScaleHor = gtk_check_button_new_with_label("Enabled");
- gtk_signal_connect (GTK_OBJECT (dlgTexReset.cbScaleHor), "toggled", GTK_SIGNAL_FUNC (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);
-
- w = gtk_label_new ("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);
-
- dlgTexReset.editScaleHor = gtk_entry_new_with_max_length(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);
-
-
- dlgTexReset.cbScaleVert = gtk_check_button_new_with_label("Enabled");
- gtk_signal_connect (GTK_OBJECT (dlgTexReset.cbScaleVert), "toggled", GTK_SIGNAL_FUNC (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);
-
- w = gtk_label_new ("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);
-
- dlgTexReset.editScaleVert = gtk_entry_new_with_max_length(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);
+ 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 );
+
+ 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 );
+
+ 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 );
+
+
+ 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 );
+
+ 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 );
+
+ 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 );
// ---- /frame ----
- frame = gtk_frame_new ("Reset Shift");
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0);
-
- table = gtk_table_new (2, 3, TRUE);
- gtk_widget_show (table);
- gtk_container_add (GTK_CONTAINER (frame), 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);
-
- // ---- frame ----
-
- dlgTexReset.cbShiftHor = gtk_check_button_new_with_label("Enabled");
- gtk_signal_connect (GTK_OBJECT (dlgTexReset.cbShiftHor), "toggled", GTK_SIGNAL_FUNC (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);
-
- w = gtk_label_new ("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);
-
- dlgTexReset.editShiftHor = gtk_entry_new_with_max_length(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);
-
-
- dlgTexReset.cbShiftVert = gtk_check_button_new_with_label("Enabled");
- gtk_signal_connect (GTK_OBJECT (dlgTexReset.cbShiftVert), "toggled", GTK_SIGNAL_FUNC (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);
-
- w = gtk_label_new ("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);
-
- dlgTexReset.editShiftVert = gtk_entry_new_with_max_length(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);
+ frame = ui::Frame( "Reset Shift" );
+ gtk_widget_show( frame );
+ gtk_box_pack_start( GTK_BOX( vbox ), 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_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 );
+
+ 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 );
+
+ 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 );
+
+
+ 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 );
+
+ 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 );
+
+ 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 );
// ---- /frame ----
- frame = gtk_frame_new ("Reset Rotation");
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0);
-
- table = gtk_table_new (1, 3, TRUE);
- gtk_widget_show (table);
- gtk_container_add (GTK_CONTAINER (frame), 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);
-
- // ---- frame ----
-
- dlgTexReset.cbRotation = gtk_check_button_new_with_label("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);
-
- w = gtk_label_new ("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);
-
- dlgTexReset.editRotation = gtk_entry_new_with_max_length(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);
+ frame = ui::Frame( "Reset Rotation" );
+ gtk_widget_show( frame );
+ gtk_box_pack_start( GTK_BOX( vbox ), 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_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 );
+
+ 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 );
+
+ 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 );
// ---- /frame ----
- hbox = gtk_hbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2);
- gtk_widget_show (hbox);
-
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 );
+ gtk_widget_show( hbox );
+
// ---- hbox ----
- w = gtk_button_new_with_label ("Use Selected Brushes");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked", GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
-
- GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
- gtk_widget_grab_default (w);
- gtk_widget_show (w);
-
- w = gtk_button_new_with_label ("Use All Brushes");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked", GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDYES));
- gtk_widget_show (w);
-
- w = gtk_button_new_with_label ("Cancel");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked", GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDCANCEL));
- gtk_widget_show (w);
- ret = IDCANCEL;
+ w = ui::Button( "Use Selected Brushes" );
+ gtk_box_pack_start( GTK_BOX( hbox ), 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 = ui::Button( "Use All Brushes" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
+ 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 );
+ w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) );
+ gtk_widget_show( w );
+ ret = eIDCANCEL;
// ---- /hbox ----
-
+
// ---- /vbox ----
- gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
- gtk_widget_show (window);
- gtk_grab_add (window);
-
+ gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
+ gtk_widget_show( window );
+ gtk_grab_add( window );
+
Update_TextureReseter();
bool dialogError = TRUE;
- while (dialogError)
+ while ( dialogError )
{
loop = 1;
- while (loop)
- gtk_main_iteration ();
-
+ while ( loop )
+ gtk_main_iteration();
+
dialogError = FALSE;
- if(ret != IDCANCEL)
- {
- rs->bResetRotation = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( dlgTexReset.cbRotation ));
- if(rs->bResetRotation)
- if(!ValidateTextInt(gtk_entry_get_text(GTK_ENTRY(dlgTexReset.editRotation)), "Rotation", &rs->rotation))
+ if ( ret != eIDCANCEL ) {
+ rs->bResetRotation = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( dlgTexReset.cbRotation ) );
+ if ( rs->bResetRotation ) {
+ if ( !ValidateTextInt( gtk_entry_get_text( GTK_ENTRY( dlgTexReset.editRotation ) ), "Rotation", &rs->rotation ) ) {
dialogError = TRUE;
+ }
+ }
- rs->bResetScale[0] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( dlgTexReset.cbScaleHor ));
- if(rs->bResetScale[0])
- if(!ValidateTextFloat(gtk_entry_get_text(GTK_ENTRY(dlgTexReset.editScaleHor)), "Horizontal Scale", &rs->fScale[0]))
+ rs->bResetScale[0] = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( dlgTexReset.cbScaleHor ) );
+ if ( rs->bResetScale[0] ) {
+ if ( !ValidateTextFloat( gtk_entry_get_text( GTK_ENTRY( dlgTexReset.editScaleHor ) ), "Horizontal Scale", &rs->fScale[0] ) ) {
dialogError = TRUE;
+ }
+ }
- rs->bResetScale[1] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( dlgTexReset.cbScaleVert ));
- if(rs->bResetScale[1])
- if(!ValidateTextFloat(gtk_entry_get_text(GTK_ENTRY(dlgTexReset.editScaleVert)), "Vertical Scale", &rs->fScale[1]))
+ rs->bResetScale[1] = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( dlgTexReset.cbScaleVert ) );
+ if ( rs->bResetScale[1] ) {
+ if ( !ValidateTextFloat( gtk_entry_get_text( GTK_ENTRY( dlgTexReset.editScaleVert ) ), "Vertical Scale", &rs->fScale[1] ) ) {
dialogError = TRUE;
+ }
+ }
- rs->bResetShift[0] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( dlgTexReset.cbShiftHor ));
- if(rs->bResetShift[0])
- if(!ValidateTextFloat(gtk_entry_get_text(GTK_ENTRY(dlgTexReset.editShiftHor)), "Horizontal Shift", &rs->fShift[0]))
+ rs->bResetShift[0] = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( dlgTexReset.cbShiftHor ) );
+ if ( rs->bResetShift[0] ) {
+ if ( !ValidateTextFloat( gtk_entry_get_text( GTK_ENTRY( dlgTexReset.editShiftHor ) ), "Horizontal Shift", &rs->fShift[0] ) ) {
dialogError = TRUE;
+ }
+ }
- rs->bResetShift[1] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( dlgTexReset.cbShiftVert ));
- if(rs->bResetShift[1])
- if(!ValidateTextFloat(gtk_entry_get_text(GTK_ENTRY(dlgTexReset.editShiftVert)), "Vertical Shift", &rs->fShift[1]))
+ rs->bResetShift[1] = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( dlgTexReset.cbShiftVert ) );
+ if ( rs->bResetShift[1] ) {
+ if ( !ValidateTextFloat( gtk_entry_get_text( GTK_ENTRY( dlgTexReset.editShiftVert ) ), "Vertical Shift", &rs->fShift[1] ) ) {
dialogError = TRUE;
+ }
+ }
- rs->bResetTextureName = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( dlgTexReset.cbTexChange ));
- if(rs->bResetTextureName)
- {
- strcpy(rs->textureName, gtk_entry_get_text(GTK_ENTRY( dlgTexReset.editTexOld )));
- strcpy(rs->newTextureName, gtk_entry_get_text(GTK_ENTRY( dlgTexReset.editTexNew )));
+ rs->bResetTextureName = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( dlgTexReset.cbTexChange ) );
+ if ( rs->bResetTextureName ) {
+ strcpy( rs->textureName, gtk_entry_get_text( GTK_ENTRY( dlgTexReset.editTexOld ) ) );
+ strcpy( rs->newTextureName, gtk_entry_get_text( GTK_ENTRY( dlgTexReset.editTexNew ) ) );
}
}
}
- gtk_grab_remove (window);
- gtk_widget_destroy (window);
+ gtk_grab_remove( window );
+ gtk_widget_destroy( window );
return ret;
}
-int DoTrainThingBox (TrainThingRS* 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;
- int ret, loop = 1;
-
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (dialog_delete_callback), NULL);
- gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_widget_destroy), NULL);
+ EMessageBoxReturn ret;
+ int loop = 1;
- gtk_window_set_title (GTK_WINDOW (window), "Train Thing");
- gtk_container_border_width (GTK_CONTAINER (window), 10);
+ auto window = ui::Window( ui::window_type::TOP );
- gtk_object_set_data (GTK_OBJECT (window), "loop", &loop);
- gtk_object_set_data (GTK_OBJECT (window), "ret", &ret);
+ 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 );
+
+ g_object_set_data( G_OBJECT( window ), "loop", &loop );
+ g_object_set_data( G_OBJECT( window ), "ret", &ret );
+
+ gtk_widget_realize( window );
+
+ auto vbox = ui::VBox( FALSE, 10 );
+ window.add(vbox);
+ vbox.show();
- gtk_widget_realize (window);
-
- vbox = gtk_vbox_new (FALSE, 10);
- gtk_container_add (GTK_CONTAINER (window), vbox);
- gtk_widget_show (vbox);
-
// ---- vbox ----
- hbox = gtk_hbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2);
- gtk_widget_show (hbox);
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 );
+ gtk_widget_show( hbox );
// ---- /hbox ----
- frame = gtk_frame_new ("Radii");
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0);
+ auto frame = ui::Frame( "Radii" );
+ gtk_widget_show( frame );
+ gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 );
- table = gtk_table_new (2, 3, TRUE);
- gtk_widget_show (table);
- gtk_container_add (GTK_CONTAINER (frame), 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);
+ 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 );
// ---- frame ----
- w = gtk_label_new ("X: ");
- gtk_table_attach (GTK_TABLE (table), w, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_show (w);
+ 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 );
- radiusX = gtk_entry_new_with_max_length(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);
+ 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 );
- w = gtk_label_new ("Y: ");
- gtk_table_attach (GTK_TABLE (table), w, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_show (w);
+ 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 );
- radiusY = gtk_entry_new_with_max_length(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);
+ 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 );
- frame = gtk_frame_new ("Angles");
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0);
+ frame = ui::Frame( "Angles" );
+ gtk_widget_show( frame );
+ gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 );
- table = gtk_table_new (2, 3, TRUE);
- gtk_widget_show (table);
- gtk_container_add (GTK_CONTAINER (frame), 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);
+ 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 );
// ---- frame ----
- w = gtk_label_new ("Start: ");
- gtk_table_attach (GTK_TABLE (table), w, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_show (w);
+ 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 );
- angleStart = gtk_entry_new_with_max_length(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);
+ 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 );
- w = gtk_label_new ("End: ");
- gtk_table_attach (GTK_TABLE (table), w, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_show (w);
+ 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 );
- angleEnd = gtk_entry_new_with_max_length(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);
+ 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 );
- frame = gtk_frame_new ("Height");
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0);
+ frame = ui::Frame( "Height" );
+ gtk_widget_show( frame );
+ gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 );
- table = gtk_table_new (2, 3, TRUE);
- gtk_widget_show (table);
- gtk_container_add (GTK_CONTAINER (frame), 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);
+ 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 );
// ---- frame ----
- w = gtk_label_new ("Start: ");
- gtk_table_attach (GTK_TABLE (table), w, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_show (w);
+ 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 );
- heightStart = gtk_entry_new_with_max_length(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);
+ 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 );
- w = gtk_label_new ("End: ");
- gtk_table_attach (GTK_TABLE (table), w, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_show (w);
+ 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 );
- heightEnd = gtk_entry_new_with_max_length(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);
+ 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 );
- frame = gtk_frame_new ("Points");
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0);
+ frame = ui::Frame( "Points" );
+ gtk_widget_show( frame );
+ gtk_box_pack_start( GTK_BOX( vbox ), frame, FALSE, TRUE, 0 );
- table = gtk_table_new (2, 3, TRUE);
- gtk_widget_show (table);
- gtk_container_add (GTK_CONTAINER (frame), 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);
+ 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 );
// ---- frame ----
- w = gtk_label_new ("Number: ");
- gtk_table_attach (GTK_TABLE (table), w, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_show (w);
-
- numPoints = gtk_entry_new_with_max_length(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);
-
-
- hbox = gtk_hbox_new (FALSE, 10);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 2);
- gtk_widget_show (hbox);
-
- // ---- hbox ----
-
- w = gtk_button_new_with_label ("Ok");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked", GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDOK));
-
- GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
- gtk_widget_grab_default (w);
- gtk_widget_show (w);
-
- w = gtk_button_new_with_label ("Cancel");
- gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT (w), "clicked", GTK_SIGNAL_FUNC (dialog_button_callback), GINT_TO_POINTER (IDCANCEL));
- gtk_widget_show (w);
- ret = IDCANCEL;
-
- // ---- /hbox ----
-
-
-
- gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
- gtk_widget_show (window);
- gtk_grab_add (window);
-
+ 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 );
+
+ 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 );
+
+
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 );
+ gtk_widget_show( hbox );
+
+ // ---- hbox ----
+
+ w = ui::Button( "Ok" );
+ gtk_box_pack_start( GTK_BOX( hbox ), 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 = ui::Button( "Cancel" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
+ w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) );
+ gtk_widget_show( w );
+ ret = eIDCANCEL;
+
+ // ---- /hbox ----
+
+
+
+ gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
+ gtk_widget_show( window );
+ gtk_grab_add( window );
+
bool dialogError = TRUE;
- while (dialogError)
+ while ( dialogError )
{
loop = 1;
- while (loop)
- gtk_main_iteration ();
-
+ while ( loop )
+ gtk_main_iteration();
+
dialogError = FALSE;
- if(ret != IDCANCEL)
- {
- if(!ValidateTextFloat(gtk_entry_get_text(GTK_ENTRY(radiusX)), "Radius (X)", &rs->fRadiusX))
+ if ( ret != eIDCANCEL ) {
+ if ( !ValidateTextFloat( gtk_entry_get_text( GTK_ENTRY( radiusX ) ), "Radius (X)", &rs->fRadiusX ) ) {
dialogError = TRUE;
+ }
- if(!ValidateTextFloat(gtk_entry_get_text(GTK_ENTRY(radiusY)), "Radius (Y)", &rs->fRadiusY))
+ if ( !ValidateTextFloat( gtk_entry_get_text( GTK_ENTRY( radiusY ) ), "Radius (Y)", &rs->fRadiusY ) ) {
dialogError = TRUE;
+ }
- if(!ValidateTextFloat(gtk_entry_get_text(GTK_ENTRY(angleStart)), "Angle (Start)", &rs->fStartAngle))
+ if ( !ValidateTextFloat( gtk_entry_get_text( GTK_ENTRY( angleStart ) ), "Angle (Start)", &rs->fStartAngle ) ) {
dialogError = TRUE;
+ }
- if(!ValidateTextFloat(gtk_entry_get_text(GTK_ENTRY(angleEnd)), "Angle (End)", &rs->fEndAngle))
+ if ( !ValidateTextFloat( gtk_entry_get_text( GTK_ENTRY( angleEnd ) ), "Angle (End)", &rs->fEndAngle ) ) {
dialogError = TRUE;
+ }
- if(!ValidateTextFloat(gtk_entry_get_text(GTK_ENTRY(heightStart)), "Height (Start)", &rs->fStartHeight))
+ if ( !ValidateTextFloat( gtk_entry_get_text( GTK_ENTRY( heightStart ) ), "Height (Start)", &rs->fStartHeight ) ) {
dialogError = TRUE;
+ }
- if(!ValidateTextFloat(gtk_entry_get_text(GTK_ENTRY(heightEnd)), "Height (End)", &rs->fEndHeight))
+ if ( !ValidateTextFloat( gtk_entry_get_text( GTK_ENTRY( heightEnd ) ), "Height (End)", &rs->fEndHeight ) ) {
dialogError = TRUE;
+ }
- if(!ValidateTextInt(gtk_entry_get_text(GTK_ENTRY(numPoints)), "Num Points", &rs->iNumPoints))
+ if ( !ValidateTextInt( gtk_entry_get_text( GTK_ENTRY( numPoints ) ), "Num Points", &rs->iNumPoints ) ) {
dialogError = TRUE;
+ }
+ }
+ }
+
+ gtk_grab_remove( window );
+ gtk_widget_destroy( window );
+
+ return ret;
+}
+// ailmanki
+// add a simple input for the MakeChain thing..
+EMessageBoxReturn DoMakeChainBox( MakeChainRS* rs ){
+ ui::Widget w;
+ ui::Entry textlinkNum, textlinkName;
+ EMessageBoxReturn ret;
+ int loop = 1;
+
+ 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_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 );
+
+ // new vbox
+ auto vbox = ui::VBox( FALSE, 10 );
+ window.add(vbox);
+ vbox.show();
+
+ 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 = ui::Widget(gtk_hseparator_new());
+ gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 0 );
+ gtk_widget_show( w );
+
+ // ------------------------- //
+
+ // new hbox
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
+
+ textlinkNum = ui::Entry( 256 );
+ gtk_box_pack_start( GTK_BOX( hbox ), textlinkNum, FALSE, FALSE, 1 );
+ gtk_widget_show( textlinkNum );
+
+ w = ui::Label( "Number of elements in chain" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 1 );
+ gtk_widget_show( w );
+
+ // -------------------------- //
+
+ hbox = ui::HBox( FALSE, 10 );
+ gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
+ gtk_widget_show( hbox );
+
+ textlinkName = ui::Entry( 256 );
+ gtk_box_pack_start( GTK_BOX( hbox ), textlinkName, FALSE, FALSE, 0 );
+ gtk_widget_show( textlinkName );
+
+ w = ui::Label( "Basename for chain's targetnames." );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 1 );
+ gtk_widget_show( w );
+
+
+ w = ui::Button( "OK" );
+ gtk_box_pack_start( GTK_BOX( hbox ), 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 = ui::Button( "Cancel" );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
+ w.connect( "clicked", G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( eIDCANCEL ) );
+ gtk_widget_show( w );
+
+ ret = eIDCANCEL;
+
+ gtk_window_set_position( GTK_WINDOW( window ),GTK_WIN_POS_CENTER );
+ gtk_widget_show( window );
+ gtk_grab_add( window );
+
+ bool dialogError = TRUE;
+ while ( dialogError )
+ {
+ loop = 1;
+ while ( loop )
+ gtk_main_iteration();
+
+ dialogError = FALSE;
+
+ if ( ret == eIDOK ) {
+ strcpy( rs->linkName, gtk_entry_get_text( textlinkName ) );
+ if ( !ValidateTextInt( gtk_entry_get_text( textlinkNum ), "Elements", &rs->linkNum ) ) {
+ dialogError = TRUE;
+ }
}
}
- gtk_grab_remove (window);
- gtk_widget_destroy (window);
+ gtk_grab_remove( window );
+ gtk_widget_destroy( window );
return ret;
}