}
int DoMessageBox( const char* lpText, const char* lpCaption, guint32 uType ){
- GtkWidget *window, *w, *vbox, *hbox;
+ GtkWidget *w, *vbox, *hbox;
int mode = ( uType & MB_TYPEMASK ), ret, loop = 1;
- window = ui::Window( ui::window_type::TOP );
- g_signal_connect( GTK_OBJECT( window ), "delete_event",
+ auto window = ui::Window( ui::window_type::TOP );
+ window.connect( "delete_event",
G_CALLBACK( dialog_delete_callback ), NULL );
- g_signal_connect( GTK_OBJECT( window ), "destroy",
+ window.connect( "destroy",
G_CALLBACK( gtk_widget_destroy ), NULL );
gtk_window_set_title( GTK_WINDOW( window ), lpCaption );
gtk_container_set_border_width( GTK_CONTAINER( window ), 10 );
gtk_widget_realize( window );
vbox = ui::VBox( FALSE, 10 );
- gtk_container_add( GTK_CONTAINER( window ), vbox );
- gtk_widget_show( vbox );
+ window.add(vbox);
+ vbox.show();
w = ui::Label( lpText );
- gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 2 );
+ vbox.pack_start( w, FALSE, FALSE, 2 );
gtk_label_set_justify( GTK_LABEL( w ), GTK_JUSTIFY_LEFT );
- gtk_widget_show( w );
+ w.show();
w = gtk_hseparator_new();
- gtk_box_pack_start( GTK_BOX( vbox ), w, FALSE, FALSE, 2 );
- gtk_widget_show( w );
+ vbox.pack_start( w, FALSE, FALSE, 2 );
+ w.show();
hbox = ui::HBox( FALSE, 10 );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 2 );
- gtk_widget_show( hbox );
+ vbox.pack_start( hbox, FALSE, FALSE, 2 );
+ hbox.show();
if ( mode == MB_OK ) {
w = ui::Button( "Ok" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
- g_signal_connect( GTK_OBJECT( w ), "clicked",
+ hbox.pack_start( w, TRUE, TRUE, 0 );
+ w.connect( "clicked",
G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDOK ) );
gtk_widget_set_can_default( w, true );
gtk_widget_grab_default( w );
- gtk_widget_show( w );
+ w.show();
ret = IDOK;
}
else if ( mode == MB_OKCANCEL ) {
w = ui::Button( "Ok" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
- g_signal_connect( GTK_OBJECT( w ), "clicked",
+ hbox.pack_start( w, TRUE, TRUE, 0 );
+ w.connect( "clicked",
G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDOK ) );
gtk_widget_set_can_default( w, true );
gtk_widget_grab_default( w );
- gtk_widget_show( w );
+ w.show();
w = ui::Button( "Cancel" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
- g_signal_connect( GTK_OBJECT( w ), "clicked",
+ hbox.pack_start( w, TRUE, TRUE, 0 );
+ w.connect( "clicked",
G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDCANCEL ) );
- gtk_widget_show( w );
+ w.show();
ret = IDCANCEL;
}
else if ( mode == MB_YESNOCANCEL ) {
w = ui::Button( "Yes" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
- g_signal_connect( GTK_OBJECT( w ), "clicked",
+ hbox.pack_start( w, TRUE, TRUE, 0 );
+ w.connect( "clicked",
G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDYES ) );
gtk_widget_set_can_default( w, true );
gtk_widget_grab_default( w );
- gtk_widget_show( w );
+ w.show();
w = ui::Button( "No" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
- g_signal_connect( GTK_OBJECT( w ), "clicked",
+ hbox.pack_start( w, TRUE, TRUE, 0 );
+ w.connect( "clicked",
G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDNO ) );
- gtk_widget_show( w );
+ w.show();
w = ui::Button( "Cancel" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
- g_signal_connect( GTK_OBJECT( w ), "clicked",
+ hbox.pack_start( w, TRUE, TRUE, 0 );
+ w.connect( "clicked",
G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDCANCEL ) );
- gtk_widget_show( w );
+ w.show();
ret = IDCANCEL;
}
else /* if (mode == MB_YESNO) */
{
w = ui::Button( "Yes" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
- g_signal_connect( GTK_OBJECT( w ), "clicked",
+ hbox.pack_start( w, TRUE, TRUE, 0 );
+ w.connect( "clicked",
G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDYES ) );
gtk_widget_set_can_default( w, true );
gtk_widget_grab_default( w );
- gtk_widget_show( w );
+ w.show();
w = ui::Button( "No" );
- gtk_box_pack_start( GTK_BOX( hbox ), w, TRUE, TRUE, 0 );
- g_signal_connect( GTK_OBJECT( w ), "clicked",
+ hbox.pack_start( w, TRUE, TRUE, 0 );
+ w.connect( "clicked",
G_CALLBACK( dialog_button_callback ), GINT_TO_POINTER( IDNO ) );
- gtk_widget_show( w );
+ w.show();
ret = IDNO;
}
- gtk_widget_show( window );
+ window.show();
gtk_grab_add( window );
while ( loop )
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK );
// Connect signal handlers
- g_signal_connect( GTK_OBJECT( g_pToolWidget ), "expose_event", G_CALLBACK( expose ), NULL );
- g_signal_connect( GTK_OBJECT( g_pToolWidget ), "motion_notify_event",
+ g_pToolWidget.connect( "expose_event", G_CALLBACK( expose ), NULL );
+ g_pToolWidget.connect( "motion_notify_event",
G_CALLBACK( motion ), NULL );
- g_signal_connect( GTK_OBJECT( g_pToolWidget ), "button_press_event",
+ g_pToolWidget.connect( "button_press_event",
G_CALLBACK( button_press ), NULL );
- g_signal_connect( GTK_OBJECT( g_pToolWidget ), "button_release_event",
+ g_pToolWidget.connect( "button_release_event",
G_CALLBACK( button_release ), NULL );
- g_signal_connect( GTK_OBJECT( g_pToolWnd ), "delete_event", G_CALLBACK( close ), NULL );
- g_signal_connect( GTK_OBJECT( g_pToolWnd ), "key_press_event",
+ g_pToolWnd.connect( "delete_event", G_CALLBACK( close ), NULL );
+ g_pToolWnd.connect( "key_press_event",
G_CALLBACK( keypress ), NULL );
return g_pToolWidget;