]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/select.cpp
do not remember game was switched when selected at startup, <3 @Garux
[xonotic/netradiant.git] / radiant / select.cpp
index 3c3b20603e3f89b5e937628ab35f35ae2a57cb83..7a40bb35eeab2035df480d91d5de2f9454ae423b 100644 (file)
@@ -357,7 +357,7 @@ void Selection_UpdateWorkzone(){
                Select_GetBounds( g_select_workzone.d_work_min, g_select_workzone.d_work_max );
        }
 }
-typedef FreeCaller<Selection_UpdateWorkzone> SelectionUpdateWorkzoneCaller;
+typedef FreeCaller<void(), Selection_UpdateWorkzone> SelectionUpdateWorkzoneCaller;
 
 IdleDraw g_idleWorkzone = IdleDraw( SelectionUpdateWorkzoneCaller() );
 }
@@ -818,11 +818,11 @@ void SceneSelectionChange( const Selectable& selectable ){
 SignalHandlerId Selection_boundsChanged;
 
 void Selection_construct(){
-       typedef FreeCaller1<const Selectable&, SceneSelectionChange> SceneSelectionChangeCaller;
+       typedef FreeCaller<void(const Selectable&), SceneSelectionChange> SceneSelectionChangeCaller;
        GlobalSelectionSystem().addSelectionChangeCallback( SceneSelectionChangeCaller() );
-       typedef FreeCaller1<const Selectable&, UpdateWorkzone_ForSelectionChanged> UpdateWorkzoneForSelectionChangedCaller;
+       typedef FreeCaller<void(const Selectable&), UpdateWorkzone_ForSelectionChanged> UpdateWorkzoneForSelectionChangedCaller;
        GlobalSelectionSystem().addSelectionChangeCallback( UpdateWorkzoneForSelectionChangedCaller() );
-       typedef FreeCaller<UpdateWorkzone_ForSelection> UpdateWorkzoneForSelectionCaller;
+       typedef FreeCaller<void(), UpdateWorkzone_ForSelection> UpdateWorkzoneForSelectionCaller;
        Selection_boundsChanged = GlobalSceneGraph().addBoundsChangedCallback( UpdateWorkzoneForSelectionCaller() );
 }
 
@@ -865,9 +865,9 @@ inline Quaternion quaternion_for_euler_xyz_degrees( const Vector3& eulerXYZ ){
 
 struct RotateDialog
 {
-       GtkSpinButton* x;
-       GtkSpinButton* y;
-       GtkSpinButton* z;
+       ui::SpinButton x{ui::null};
+       ui::SpinButton y{ui::null};
+       ui::SpinButton z{ui::null};
        ui::Window window{ui::null};
 };
 
@@ -919,40 +919,32 @@ void DoRotateDlg(){
                        auto hbox = create_dialog_hbox( 4, 4 );
                        g_rotate_dialog.window.add(hbox);
                        {
-                               GtkTable* table = create_dialog_table( 3, 2, 4, 4 );
-                               gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( table ), TRUE, TRUE, 0 );
+                               auto table = create_dialog_table( 3, 2, 4, 4 );
+                               hbox.pack_start( table, TRUE, TRUE, 0 );
                                {
                                        ui::Widget label = ui::Label( "  X  " );
                                        label.show();
-                                       gtk_table_attach( table, label, 0, 1, 0, 1,
-                                                                         (GtkAttachOptions) ( 0 ),
-                                                                         (GtkAttachOptions) ( 0 ), 0, 0 );
+                    table.attach(label, {0, 1, 0, 1}, {0, 0});
                                }
                                {
                                        ui::Widget label = ui::Label( "  Y  " );
                                        label.show();
-                                       gtk_table_attach( table, label, 0, 1, 1, 2,
-                                                                         (GtkAttachOptions) ( 0 ),
-                                                                         (GtkAttachOptions) ( 0 ), 0, 0 );
+                    table.attach(label, {0, 1, 1, 2}, {0, 0});
                                }
                                {
                                        ui::Widget label = ui::Label( "  Z  " );
                                        label.show();
-                                       gtk_table_attach( table, label, 0, 1, 2, 3,
-                                                                         (GtkAttachOptions) ( 0 ),
-                                                                         (GtkAttachOptions) ( 0 ), 0, 0 );
+                    table.attach(label, {0, 1, 2, 3}, {0, 0});
                                }
                                {
                                        auto adj = ui::Adjustment( 0, -359, 359, 1, 10, 0 );
                                        auto spin = ui::SpinButton( adj, 1, 0 );
                                        spin.show();
-                                       gtk_table_attach( table, GTK_WIDGET( spin ), 1, 2, 0, 1,
-                                                                         (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ),
-                                                                         (GtkAttachOptions) ( 0 ), 0, 0 );
-                                       gtk_widget_set_size_request( GTK_WIDGET( spin ), 64, -1 );
+                    table.attach(spin, {1, 2, 0, 1}, {GTK_EXPAND | GTK_FILL, 0});
+                    spin.dimensions(64, -1);
                                        gtk_spin_button_set_wrap( spin, TRUE );
 
-                                       gtk_widget_grab_focus( GTK_WIDGET( spin ) );
+                                       gtk_widget_grab_focus( spin  );
 
                                        g_rotate_dialog.x = spin;
                                }
@@ -960,10 +952,8 @@ void DoRotateDlg(){
                                        auto adj = ui::Adjustment( 0, -359, 359, 1, 10, 0 );
                                        auto spin = ui::SpinButton( adj, 1, 0 );
                                        spin.show();
-                                       gtk_table_attach( table, GTK_WIDGET( spin ), 1, 2, 1, 2,
-                                                                         (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ),
-                                                                         (GtkAttachOptions) ( 0 ), 0, 0 );
-                                       gtk_widget_set_size_request( GTK_WIDGET( spin ), 64, -1 );
+                    table.attach(spin, {1, 2, 1, 2}, {GTK_EXPAND | GTK_FILL, 0});
+                    spin.dimensions(64, -1);
                                        gtk_spin_button_set_wrap( spin, TRUE );
 
                                        g_rotate_dialog.y = spin;
@@ -972,32 +962,30 @@ void DoRotateDlg(){
                                        auto adj = ui::Adjustment( 0, -359, 359, 1, 10, 0 );
                                        auto spin = ui::SpinButton( adj, 1, 0 );
                                        spin.show();
-                                       gtk_table_attach( table, GTK_WIDGET( spin ), 1, 2, 2, 3,
-                                                                         (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ),
-                                                                         (GtkAttachOptions) ( 0 ), 0, 0 );
-                                       gtk_widget_set_size_request( GTK_WIDGET( spin ), 64, -1 );
+                    table.attach(spin, {1, 2, 2, 3}, {GTK_EXPAND | GTK_FILL, 0});
+                    spin.dimensions(64, -1);
                                        gtk_spin_button_set_wrap( spin, TRUE );
 
                                        g_rotate_dialog.z = spin;
                                }
                        }
                        {
-                               GtkVBox* vbox = create_dialog_vbox( 4 );
-                               gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( vbox ), TRUE, TRUE, 0 );
+                               auto vbox = create_dialog_vbox( 4 );
+                               hbox.pack_start( vbox, TRUE, TRUE, 0 );
                                {
                                        auto button = create_dialog_button( "OK", G_CALLBACK( rotatedlg_ok ), &g_rotate_dialog );
-                                       gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( button ), FALSE, FALSE, 0 );
+                                       vbox.pack_start( button, FALSE, FALSE, 0 );
                                        widget_make_default( button );
-                                       gtk_widget_add_accelerator( GTK_WIDGET( button ), "clicked", accel, GDK_KEY_Return, (GdkModifierType)0, (GtkAccelFlags)0 );
+                                       gtk_widget_add_accelerator( button , "clicked", accel, GDK_KEY_Return, (GdkModifierType)0, (GtkAccelFlags)0 );
                                }
                                {
-                                       GtkButton* button = create_dialog_button( "Cancel", G_CALLBACK( rotatedlg_cancel ), &g_rotate_dialog );
-                                       gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( button ), FALSE, FALSE, 0 );
-                                       gtk_widget_add_accelerator( GTK_WIDGET( button ), "clicked", accel, GDK_KEY_Escape, (GdkModifierType)0, (GtkAccelFlags)0 );
+                                       auto button = create_dialog_button( "Cancel", G_CALLBACK( rotatedlg_cancel ), &g_rotate_dialog );
+                                       vbox.pack_start( button, FALSE, FALSE, 0 );
+                                       gtk_widget_add_accelerator( button , "clicked", accel, GDK_KEY_Escape, (GdkModifierType)0, (GtkAccelFlags)0 );
                                }
                                {
-                                       GtkButton* button = create_dialog_button( "Apply", G_CALLBACK( rotatedlg_apply ), &g_rotate_dialog );
-                                       gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( button ), FALSE, FALSE, 0 );
+                                       auto button = create_dialog_button( "Apply", G_CALLBACK( rotatedlg_apply ), &g_rotate_dialog );
+                                       vbox.pack_start( button, FALSE, FALSE, 0 );
                                }
                        }
                }
@@ -1072,36 +1060,28 @@ void DoScaleDlg(){
                        auto hbox = create_dialog_hbox( 4, 4 );
                        g_scale_dialog.window.add(hbox);
                        {
-                               GtkTable* table = create_dialog_table( 3, 2, 4, 4 );
-                               gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( table ), TRUE, TRUE, 0 );
+                               auto table = create_dialog_table( 3, 2, 4, 4 );
+                               hbox.pack_start( table, TRUE, TRUE, 0 );
                                {
                                        ui::Widget label = ui::Label( "  X  " );
                                        label.show();
-                                       gtk_table_attach( table, label, 0, 1, 0, 1,
-                                                                         (GtkAttachOptions) ( 0 ),
-                                                                         (GtkAttachOptions) ( 0 ), 0, 0 );
+                    table.attach(label, {0, 1, 0, 1}, {0, 0});
                                }
                                {
                                        ui::Widget label = ui::Label( "  Y  " );
                                        label.show();
-                                       gtk_table_attach( table, label, 0, 1, 1, 2,
-                                                                         (GtkAttachOptions) ( 0 ),
-                                                                         (GtkAttachOptions) ( 0 ), 0, 0 );
+                    table.attach(label, {0, 1, 1, 2}, {0, 0});
                                }
                                {
                                        ui::Widget label = ui::Label( "  Z  " );
                                        label.show();
-                                       gtk_table_attach( table, label, 0, 1, 2, 3,
-                                                                         (GtkAttachOptions) ( 0 ),
-                                                                         (GtkAttachOptions) ( 0 ), 0, 0 );
+                    table.attach(label, {0, 1, 2, 3}, {0, 0});
                                }
                                {
                                        auto entry = ui::Entry(ui::New);
                                        entry.text("1.0");
                                        entry.show();
-                                       gtk_table_attach( table, entry, 1, 2, 0, 1,
-                                                                         (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ),
-                                                                         (GtkAttachOptions) ( 0 ), 0, 0 );
+                    table.attach(entry, {1, 2, 0, 1}, {GTK_EXPAND | GTK_FILL, 0});
 
                                        g_scale_dialog.x = entry;
                                }
@@ -1109,9 +1089,7 @@ void DoScaleDlg(){
                                        auto entry = ui::Entry(ui::New);
                                        entry.text("1.0");
                                        entry.show();
-                                       gtk_table_attach( table, entry, 1, 2, 1, 2,
-                                                                         (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ),
-                                                                         (GtkAttachOptions) ( 0 ), 0, 0 );
+                    table.attach(entry, {1, 2, 1, 2}, {GTK_EXPAND | GTK_FILL, 0});
 
                                        g_scale_dialog.y = entry;
                                }
@@ -1119,30 +1097,28 @@ void DoScaleDlg(){
                                        auto entry = ui::Entry(ui::New);
                                        entry.text("1.0");
                                        entry.show();
-                                       gtk_table_attach( table, entry, 1, 2, 2, 3,
-                                                                         (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ),
-                                                                         (GtkAttachOptions) ( 0 ), 0, 0 );
+                    table.attach(entry, {1, 2, 2, 3}, {GTK_EXPAND | GTK_FILL, 0});
 
                                        g_scale_dialog.z = entry;
                                }
                        }
                        {
-                               GtkVBox* vbox = create_dialog_vbox( 4 );
-                               gtk_box_pack_start( GTK_BOX( hbox ), GTK_WIDGET( vbox ), TRUE, TRUE, 0 );
+                               auto vbox = create_dialog_vbox( 4 );
+                               hbox.pack_start( vbox, TRUE, TRUE, 0 );
                                {
                                        auto button = create_dialog_button( "OK", G_CALLBACK( scaledlg_ok ), &g_scale_dialog );
-                                       gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( button ), FALSE, FALSE, 0 );
+                                       vbox.pack_start( button, FALSE, FALSE, 0 );
                                        widget_make_default( button );
-                                       gtk_widget_add_accelerator( GTK_WIDGET( button ), "clicked", accel, GDK_KEY_Return, (GdkModifierType)0, (GtkAccelFlags)0 );
+                                       gtk_widget_add_accelerator( button , "clicked", accel, GDK_KEY_Return, (GdkModifierType)0, (GtkAccelFlags)0 );
                                }
                                {
-                                       GtkButton* button = create_dialog_button( "Cancel", G_CALLBACK( scaledlg_cancel ), &g_scale_dialog );
-                                       gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( button ), FALSE, FALSE, 0 );
-                                       gtk_widget_add_accelerator( GTK_WIDGET( button ), "clicked", accel, GDK_KEY_Escape, (GdkModifierType)0, (GtkAccelFlags)0 );
+                                       auto button = create_dialog_button( "Cancel", G_CALLBACK( scaledlg_cancel ), &g_scale_dialog );
+                                       vbox.pack_start( button, FALSE, FALSE, 0 );
+                                       gtk_widget_add_accelerator( button , "clicked", accel, GDK_KEY_Escape, (GdkModifierType)0, (GtkAccelFlags)0 );
                                }
                                {
-                                       GtkButton* button = create_dialog_button( "Apply", G_CALLBACK( scaledlg_apply ), &g_scale_dialog );
-                                       gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( button ), FALSE, FALSE, 0 );
+                                       auto button = create_dialog_button( "Apply", G_CALLBACK( scaledlg_apply ), &g_scale_dialog );
+                                       vbox.pack_start( button, FALSE, FALSE, 0 );
                                }
                        }
                }