From: Thomas Debesse Date: Mon, 25 May 2020 23:50:50 +0000 (+0200) Subject: Merge commit '322b0c2ee485a5d787c60bfd34e5ed5567d98ec8' into garux-merge X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=2daa5e6bdb3af78ccc3a0a952ffb0532a95c8ba9;p=xonotic%2Fnetradiant.git Merge commit '322b0c2ee485a5d787c60bfd34e5ed5567d98ec8' into garux-merge --- 2daa5e6bdb3af78ccc3a0a952ffb0532a95c8ba9 diff --cc radiant/csg.cpp index 2b7d82be,603f6083..6ca05197 --- a/radiant/csg.cpp +++ b/radiant/csg.cpp @@@ -960,9 -1007,8 +1010,9 @@@ void CSG_Merge( void ) struct CSGToolDialog { GtkSpinButton* spin; - GtkWindow *window; + bool allocated{false}; + ui::Window window{ui::null}; - GtkToggleButton *radXYZ, *radX, *radY, *radZ, *caulk, *removeInner; + GtkToggleButton *radFaces, *radProj, *radCam, *caulk, *removeInner; }; CSGToolDialog g_csgtool_dialog; diff --cc radiant/gtkdlgs.cpp index 53d697f4,d4473b40..476e189f --- a/radiant/gtkdlgs.cpp +++ b/radiant/gtkdlgs.cpp @@@ -755,20 -791,20 +755,19 @@@ static void editor_close( ui::Widget wi } static void CreateGtkTextEditor(){ - GtkWidget *dlg; - GtkWidget *vbox, *hbox, *button, *scr, *text; + auto dlg = ui::Window( ui::window_type::TOP ); - dlg.connect( "delete_event", - G_CALLBACK( editor_delete ), 0 ); - gtk_window_set_default_size( dlg, 400, 300 ); - GtkWindow* dlg_wnd = create_dialog_window( MainFrame_getWindow(), "", G_CALLBACK( editor_delete ), 0, 400, 600 ); - dlg = GTK_WIDGET( dlg_wnd ); ++ dlg.connect( "", G_CALLBACK( editor_delete ), 0 ); ++ gtk_window_set_default_size( dlg, 400, 600 ); - vbox = gtk_vbox_new( FALSE, 5 ); - gtk_widget_show( vbox ); - gtk_container_add( GTK_CONTAINER( dlg ), GTK_WIDGET( vbox ) ); + auto vbox = ui::VBox( FALSE, 5 ); + vbox.show(); + dlg.add(vbox); gtk_container_set_border_width( GTK_CONTAINER( vbox ), 5 ); - scr = gtk_scrolled_window_new( 0, 0 ); - gtk_widget_show( scr ); - gtk_box_pack_start( GTK_BOX( vbox ), scr, TRUE, TRUE, 0 ); + auto scr = ui::ScrolledWindow(ui::New); + scr.show(); + vbox.pack_start( scr, TRUE, TRUE, 0 ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scr ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC ); gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( scr ), GTK_SHADOW_IN ); diff --cc radiant/mainframe.cpp index c2efdc3a,5442a8e5..4dd87b71 --- a/radiant/mainframe.cpp +++ b/radiant/mainframe.cpp @@@ -2217,9 -2068,12 +2217,12 @@@ ui::MenuItem create_selection_menu() create_menu_item_with_mnemonic( menu_in_menu, "Rotate X", "RotateSelectionX" ); create_menu_item_with_mnemonic( menu_in_menu, "Rotate Y", "RotateSelectionY" ); create_menu_item_with_mnemonic( menu_in_menu, "Rotate Z", "RotateSelectionZ" ); + menu_separator( menu_in_menu ); + create_menu_item_with_mnemonic( menu_in_menu, "Rotate Clockwise", "RotateSelectionClockwise" ); + create_menu_item_with_mnemonic( menu_in_menu, "Rotate Anticlockwise", "RotateSelectionAnticlockwise" ); } { - GtkMenu* menu_in_menu = create_sub_menu_with_mnemonic( menu, "Flip" ); + auto menu_in_menu = create_sub_menu_with_mnemonic( menu, "Flip" ); if ( g_Layout_enableDetachableMenus.m_value ) { menu_tearoff( menu_in_menu ); } @@@ -2470,16 -2327,21 +2476,21 @@@ void UndoRedo_constructToolbar( ui::Too toolbar_append_button( toolbar, "Redo (CTRL + Y)", "redo.png", "Redo" ); } -void RotateFlip_constructToolbar( GtkToolbar* toolbar ){ +void RotateFlip_constructToolbar( ui::Toolbar toolbar ){ - toolbar_append_button( toolbar, "x-axis Flip", "brush_flipx.png", "MirrorSelectionX" ); - toolbar_append_button( toolbar, "x-axis Rotate", "brush_rotatex.png", "RotateSelectionX" ); - toolbar_append_button( toolbar, "y-axis Flip", "brush_flipy.png", "MirrorSelectionY" ); - toolbar_append_button( toolbar, "y-axis Rotate", "brush_rotatey.png", "RotateSelectionY" ); - toolbar_append_button( toolbar, "z-axis Flip", "brush_flipz.png", "MirrorSelectionZ" ); - toolbar_append_button( toolbar, "z-axis Rotate", "brush_rotatez.png", "RotateSelectionZ" ); + // toolbar_append_button( toolbar, "x-axis Flip", "brush_flipx.png", "MirrorSelectionX" ); + // toolbar_append_button( toolbar, "x-axis Rotate", "brush_rotatex.png", "RotateSelectionX" ); + // toolbar_append_button( toolbar, "y-axis Flip", "brush_flipy.png", "MirrorSelectionY" ); + // toolbar_append_button( toolbar, "y-axis Rotate", "brush_rotatey.png", "RotateSelectionY" ); + // toolbar_append_button( toolbar, "z-axis Flip", "brush_flipz.png", "MirrorSelectionZ" ); + // toolbar_append_button( toolbar, "z-axis Rotate", "brush_rotatez.png", "RotateSelectionZ" ); + toolbar_append_button( toolbar, "Flip Horizontally", "brush_flip_hor.png", "MirrorSelectionHorizontally" ); + toolbar_append_button( toolbar, "Flip Vertically", "brush_flip_vert.png", "MirrorSelectionVertically" ); + + toolbar_append_button( toolbar, "Rotate Clockwise", "brush_rotate_clock.png", "RotateSelectionClockwise" ); + toolbar_append_button( toolbar, "Rotate Anticlockwise", "brush_rotate_anti.png", "RotateSelectionAnticlockwise" ); } -void Select_constructToolbar( GtkToolbar* toolbar ){ +void Select_constructToolbar( ui::Toolbar toolbar ){ toolbar_append_button( toolbar, "Select touching", "selection_selecttouching.png", "SelectTouching" ); toolbar_append_button( toolbar, "Select inside", "selection_selectinside.png", "SelectInside" ); } @@@ -2522,61 -2384,44 +2533,61 @@@ ui::Toolbar create_main_toolbar( MainFr // gtk_toolbar_set_show_arrow( toolbar, TRUE ); //gtk_orientable_set_orientation( GTK_ORIENTABLE( toolbar ), GTK_ORIENTATION_HORIZONTAL ); //toolbar_append_space( toolbar ); - gtk_widget_show( GTK_WIDGET( toolbar ) ); + toolbar.show(); + + auto space = [&]() { + auto btn = ui::ToolItem::from(gtk_separator_tool_item_new()); + btn.show(); + toolbar.add(btn); + }; File_constructToolbar( toolbar ); - gtk_toolbar_append_space( toolbar ); + + space(); UndoRedo_constructToolbar( toolbar ); - gtk_toolbar_append_space( toolbar ); + + space(); RotateFlip_constructToolbar( toolbar ); - gtk_toolbar_append_space( toolbar ); + + space(); Select_constructToolbar( toolbar ); - gtk_toolbar_append_space( toolbar ); + + space(); CSG_constructToolbar( toolbar ); - gtk_toolbar_append_space( toolbar ); + + space(); ComponentModes_constructToolbar( toolbar ); - gtk_toolbar_append_space( toolbar ); - if ( style == MainFrame::eRegular || style == MainFrame::eRegularLeft ) { + if ( style != MainFrame::eSplit ) { + space(); + XYWnd_constructToolbar( toolbar ); - gtk_toolbar_append_space( toolbar ); } + space(); + CamWnd_constructToolbar( toolbar ); - gtk_toolbar_append_space( toolbar ); + + space(); Manipulators_constructToolbar( toolbar ); - gtk_toolbar_append_space( toolbar ); if ( g_Layout_enablePatchToolbar.m_value ) { + space(); + Patch_constructToolbar( toolbar ); - gtk_toolbar_append_space( toolbar ); } + space(); + toolbar_append_toggle_button( toolbar, "Texture Lock (SHIFT + T)", "texture_lock.png", "TogTexLock" ); - gtk_toolbar_append_space( toolbar ); + + space(); toolbar_append_button( toolbar, "Entities (N)", "entities.png", "ToggleEntityInspector" ); // disable the console and texture button in the regular layouts @@@ -3561,47 -3395,37 +3572,43 @@@ void MainFrame_Construct() // GlobalCommands_insert( "ShowHidden", FreeCaller(), Accelerator( 'H', (GdkModifierType)GDK_SHIFT_MASK ) ); // GlobalCommands_insert( "HideSelected", FreeCaller(), Accelerator( 'H' ) ); + - Hide_registerCommands(); + Select_registerCommands(); - GlobalToggles_insert( "DragVertices", FreeCaller(), ToggleItem::AddCallbackCaller( g_vertexMode_button ), Accelerator( 'V' ) ); - GlobalToggles_insert( "DragEdges", FreeCaller(), ToggleItem::AddCallbackCaller( g_edgeMode_button ), Accelerator( 'E' ) ); - GlobalToggles_insert( "DragFaces", FreeCaller(), ToggleItem::AddCallbackCaller( g_faceMode_button ), Accelerator( 'F' ) ); + GlobalToggles_insert( "DragVertices", makeCallbackF(SelectVertexMode), ToggleItem::AddCallbackCaller( g_vertexMode_button ), Accelerator( 'V' ) ); + GlobalToggles_insert( "DragEdges", makeCallbackF(SelectEdgeMode), ToggleItem::AddCallbackCaller( g_edgeMode_button ), Accelerator( 'E' ) ); + GlobalToggles_insert( "DragFaces", makeCallbackF(SelectFaceMode), ToggleItem::AddCallbackCaller( g_faceMode_button ), Accelerator( 'F' ) ); - GlobalCommands_insert( "MirrorSelectionX", makeCallbackF(Selection_Flipx) ); - GlobalCommands_insert( "RotateSelectionX", makeCallbackF(Selection_Rotatex) ); - GlobalCommands_insert( "MirrorSelectionY", makeCallbackF(Selection_Flipy) ); - GlobalCommands_insert( "RotateSelectionY", makeCallbackF(Selection_Rotatey) ); - GlobalCommands_insert( "MirrorSelectionZ", makeCallbackF(Selection_Flipz) ); - GlobalCommands_insert( "RotateSelectionZ", makeCallbackF(Selection_Rotatez) ); - GlobalCommands_insert( "ArbitraryRotation", FreeCaller(), Accelerator( 'R', (GdkModifierType)GDK_SHIFT_MASK ) ); - GlobalCommands_insert( "ArbitraryScale", FreeCaller(), Accelerator( 'S', (GdkModifierType)( GDK_SHIFT_MASK | GDK_CONTROL_MASK ) ) ); ++ GlobalCommands_insert( "ArbitraryRotation", makeCallbackF(DoRotateDlg), Accelerator( 'R', (GdkModifierType)GDK_SHIFT_MASK ) ); ++ GlobalCommands_insert( "ArbitraryScale", makeCallbackF(DoScaleDlg), Accelerator( 'S', (GdkModifierType)( GDK_SHIFT_MASK | GDK_CONTROL_MASK ) ) ); - GlobalCommands_insert( "BuildMenuCustomize", FreeCaller() ); - GlobalCommands_insert( "Build_runRecentExecutedBuild", FreeCaller(), Accelerator( GDK_F5 ) ); + GlobalCommands_insert( "ArbitraryRotation", makeCallbackF(DoRotateDlg) ); + GlobalCommands_insert( "ArbitraryScale", makeCallbackF(DoScaleDlg) ); - GlobalCommands_insert( "FindBrush", FreeCaller() ); + GlobalCommands_insert( "BuildMenuCustomize", makeCallbackF(DoBuildMenu) ); + GlobalCommands_insert( "Build_runRecentExecutedBuild", makeCallbackF(Build_runRecentExecutedBuild), Accelerator( GDK_F5 ) ); - GlobalCommands_insert( "MapInfo", FreeCaller(), Accelerator( 'M' ) ); + GlobalCommands_insert( "FindBrush", makeCallbackF(DoFind) ); + GlobalCommands_insert( "MapInfo", makeCallbackF(DoMapInfo), Accelerator( 'M' ) ); - GlobalToggles_insert( "ToggleClipper", FreeCaller(), ToggleItem::AddCallbackCaller( g_clipper_button ), Accelerator( 'X' ) ); - GlobalToggles_insert( "MouseTranslate", FreeCaller(), ToggleItem::AddCallbackCaller( g_translatemode_button ), Accelerator( 'W' ) ); - GlobalToggles_insert( "MouseRotate", FreeCaller(), ToggleItem::AddCallbackCaller( g_rotatemode_button ), Accelerator( 'R' ) ); - GlobalToggles_insert( "MouseScale", FreeCaller(), ToggleItem::AddCallbackCaller( g_scalemode_button ) ); - GlobalToggles_insert( "MouseDrag", FreeCaller(), ToggleItem::AddCallbackCaller( g_dragmode_button ) ); - GlobalCommands_insert( "MouseRotateOrScale", FreeCaller() ); - GlobalCommands_insert( "MouseDragOrScale", FreeCaller(), Accelerator( 'Q' ) ); + GlobalToggles_insert( "ToggleClipper", makeCallbackF(ClipperMode), ToggleItem::AddCallbackCaller( g_clipper_button ), Accelerator( 'X' ) ); - GlobalCommands_insert( "gtkThemeDlg", FreeCaller() ); - GlobalCommands_insert( "ColorSchemeOriginal", FreeCaller() ); - GlobalCommands_insert( "ColorSchemeQER", FreeCaller() ); - GlobalCommands_insert( "ColorSchemeBlackAndGreen", FreeCaller() ); - GlobalCommands_insert( "ColorSchemeYdnar", FreeCaller() ); + GlobalToggles_insert( "MouseTranslate", makeCallbackF(TranslateMode), ToggleItem::AddCallbackCaller( g_translatemode_button ), Accelerator( 'W' ) ); + GlobalToggles_insert( "MouseRotate", makeCallbackF(RotateMode), ToggleItem::AddCallbackCaller( g_rotatemode_button ), Accelerator( 'R' ) ); + GlobalToggles_insert( "MouseScale", makeCallbackF(ScaleMode), ToggleItem::AddCallbackCaller( g_scalemode_button ) ); + GlobalToggles_insert( "MouseDrag", makeCallbackF(DragMode), ToggleItem::AddCallbackCaller( g_dragmode_button ) ); + GlobalCommands_insert( "MouseRotateOrScale", makeCallbackF(ToggleRotateScaleModes) ); + GlobalCommands_insert( "MouseDragOrScale", makeCallbackF(ToggleDragScaleModes), Accelerator( 'Q' ) ); + +#ifndef GARUX_DISABLE_GTKTHEME + GlobalCommands_insert( "gtkThemeDlg", makeCallbackF(gtkThemeDlg) ); +#endif + GlobalCommands_insert( "ColorSchemeOriginal", makeCallbackF(ColorScheme_Original) ); + GlobalCommands_insert( "ColorSchemeQER", makeCallbackF(ColorScheme_QER) ); + GlobalCommands_insert( "ColorSchemeBlackAndGreen", makeCallbackF(ColorScheme_Black) ); + GlobalCommands_insert( "ColorSchemeYdnar", makeCallbackF(ColorScheme_Ydnar) ); GlobalCommands_insert( "ChooseTextureBackgroundColor", makeCallback( g_ColoursMenu.m_textureback ) ); GlobalCommands_insert( "ChooseGridBackgroundColor", makeCallback( g_ColoursMenu.m_xyback ) ); GlobalCommands_insert( "ChooseGridMajorColor", makeCallback( g_ColoursMenu.m_gridmajor ) );