]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/mainframe.cpp
Merge commit '2de8ee725b2a6e54e21d5e217ae453ee115b913a' into garux-merge
[xonotic/netradiant.git] / radiant / mainframe.cpp
index 93edac9ae9e6f9d95112a37bbd80a0e48d77cfac..c8078621f3a97f79e889d45c0e82f699c623c3aa 100644 (file)
 #include "feedback.h"
 #include "referencecache.h"
 #include "texwindow.h"
+#include "filterbar.h"
 
 
 struct layout_globals_t
@@ -2942,41 +2943,16 @@ void MainFrame::Create(){
                        }
                }
                if ( g_Layout_enableFilterToolbar.m_value ){
-                       auto filter_toolbar = create_filter_toolbar();
-                       filter_toolbar.show();
-
-                       auto space = [&]() {
-                               auto btn = gtk_separator_tool_item_new();
-                                       gtk_widget_show(GTK_WIDGET(btn));
-                                       gtk_container_add(GTK_CONTAINER(filter_toolbar), GTK_WIDGET(btn));
-                       };
-
-                       toolbar_append_toggle_button( filter_toolbar, "World (ALT + 1)", "f-world.bmp", "FilterWorldBrushes" );
-                       toolbar_append_toggle_button( filter_toolbar, "Details (CTRL + D)", "f-details.bmp", "FilterDetails" );
-                       toolbar_append_toggle_button( filter_toolbar, "Structural (CTRL + SHIFT + D)", "f-structural.bmp", "FilterStructural" );
-                       toolbar_append_toggle_button( filter_toolbar, "Patches (CTRL + P)", "patch_wireframe.png", "FilterPatches" );
-                       space();
-                       toolbar_append_toggle_button( filter_toolbar, "Areaportals (ALT + 3)", "f-areaportal.bmp", "FilterAreaportals" );
-                       toolbar_append_toggle_button( filter_toolbar, "Translucent (ALT + 4)", "f-translucent.bmp", "FilterTranslucent" );
-                       toolbar_append_toggle_button( filter_toolbar, "Liquids (ALT + 5)", "f-liquids.bmp", "FilterLiquids" );
-                       toolbar_append_toggle_button( filter_toolbar, "Caulk (ALT + 6)", "f-caulk.bmp", "FilterCaulk" );
-                       toolbar_append_toggle_button( filter_toolbar, "Clips (ALT + 7)", "f-clip.bmp", "FilterClips" );
-                       toolbar_append_toggle_button( filter_toolbar, "HintsSkips (CTRL + H)", "f-hint.bmp", "FilterHintsSkips" );
-                       //toolbar_append_toggle_button( filter_toolbar, "Paths (ALT + 8)", "texture_lock.bmp", "FilterPaths" );
-                       space();
-                       toolbar_append_toggle_button( filter_toolbar, "Entities (ALT + 2)", "f-entities.bmp", "FilterEntities" );
-                       toolbar_append_toggle_button( filter_toolbar, "Lights (ALT + 0)", "lightinspector.png", "FilterLights" );
-                       toolbar_append_toggle_button( filter_toolbar, "Models (SHIFT + M)", "f-models.bmp", "FilterModels" );
-                       toolbar_append_toggle_button( filter_toolbar, "Triggers (CTRL + SHIFT + T)", "f-triggers.bmp", "FilterTriggers" );
-                       //toolbar_append_toggle_button( filter_toolbar, "Decals (SHIFT + D)", "f-decals.bmp", "FilterDecals" );
-                       space();
-                       toolbar_append_button( filter_toolbar, "InvertFilters", "f-invert.bmp", "InvertFilters" );
-                       toolbar_append_button( filter_toolbar, "ResetFilters", "f-reset.bmp", "ResetFilters" );
-
-                       PFbox.pack_start( filter_toolbar, FALSE, FALSE, 0 );
+                       ui::Toolbar filter_toolbar = create_filter_toolbar();
+                       PFbox.pack_start( filter_toolbar, TRUE, TRUE, 0 );
                }
        }
 
+       /*GtkToolbar* plugin_toolbar = create_plugin_toolbar();
+       if ( !g_Layout_enablePluginToolbar.m_value ) {
+               gtk_widget_hide( GTK_WIDGET( plugin_toolbar ) );
+       }*/
+
        ui::Widget main_statusbar = create_main_statusbar(reinterpret_cast<ui::Widget *>(m_pStatusLabel));
        vbox.pack_end(main_statusbar, FALSE, TRUE, 2);
 
@@ -3085,6 +3061,8 @@ void MainFrame::Create(){
                                window.add(frame);
                        }
                        CamWnd_setParent( *m_pCamWnd, window );
+                       /* workaround for gtk 2.24 issue: not displayed glwidget after toggle */
+                       g_object_set_data( G_OBJECT( window ), "glwidget", CamWnd_getWidget( *m_pCamWnd ) );
 
                        g_floating_windows.push_back( window );
                }
@@ -3104,6 +3082,8 @@ void MainFrame::Create(){
                                window.add(frame);
                        }
                        XY_Top_Shown_Construct( window );
+                       /* workaround for gtk 2.24 issue: not displayed glwidget after toggle */
+                       g_object_set_data( G_OBJECT( window ), "glwidget", m_pXYWnd->GetWidget() );
 
                        g_floating_windows.push_back( window );
                }
@@ -3123,6 +3103,8 @@ void MainFrame::Create(){
                        }
 
                        XZ_Front_Shown_Construct( window );
+                       /* workaround for gtk 2.24 issue: not displayed glwidget after toggle */
+                       g_object_set_data( G_OBJECT( window ), "glwidget", m_pXZWnd->GetWidget() );
 
                        g_floating_windows.push_back( window );
                }
@@ -3142,6 +3124,8 @@ void MainFrame::Create(){
                        }
 
                        YZ_Side_Shown_Construct( window );
+                       /* workaround for gtk 2.24 issue: not displayed glwidget after toggle */
+                       g_object_set_data( G_OBJECT( window ), "glwidget", m_pYZWnd->GetWidget() );
 
                        g_floating_windows.push_back( window );
                }
@@ -3149,6 +3133,9 @@ void MainFrame::Create(){
                {
                        auto frame = create_framed_widget( TextureBrowser_constructWindow( GroupDialog_getWindow() ) );
                        g_page_textures = GroupDialog_addPage( "Textures", frame, TextureBrowserExportTitleCaller() );
+                       /* workaround for gtk 2.24 issue: not displayed glwidget after toggle */
+                       g_object_set_data( G_OBJECT( GroupDialog_getWindow() ), "glwidget", TextureBrowser_getGLWidget() );
+
                }
 
                GroupDialog_show();
@@ -3182,6 +3169,8 @@ void MainFrame::Create(){
                {
             auto frame = create_framed_widget( TextureBrowser_constructWindow( window ) );
                        g_page_textures = GroupDialog_addPage( "Textures", frame, TextureBrowserExportTitleCaller() );
+                       /* workaround for gtk 2.24 issue: not displayed glwidget after toggle */
+                       g_object_set_data( G_OBJECT( GroupDialog_getWindow() ), "glwidget", TextureBrowser_getGLWidget() );
                }
        }