]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/mainframe.cpp
Prevent implicit Widget construction
[xonotic/netradiant.git] / radiant / mainframe.cpp
index 8d652ef2fa25ffdf3102cde25d91475cd0f04d3d..3195f8d3e031c5d15e430a56f8f0da5ef1aa149f 100644 (file)
@@ -148,6 +148,8 @@ void VFS_Refresh(){
        QE_InitVFS();
        GlobalFileSystem().refresh();
        g_vfsInitialized = true;
+       // also refresg models
+       RefreshReferences();
        // also refresh texture browser
        TextureBrowser_RefreshShaders();
 }
@@ -441,7 +443,7 @@ ui::Window BuildDialog(){
        frame.add(vbox2);
 
        {
-               PreferencesPage preferencesPage( *this, ui::Widget(GTK_WIDGET( vbox2 )) );
+               PreferencesPage preferencesPage( *this, vbox2 );
                Paths_constructPreferences( preferencesPage );
        }
 
@@ -955,13 +957,13 @@ void OpenBugReportURL(){
 }
 
 
-ui::Widget g_page_console;
+ui::Widget g_page_console{ui::null};
 
 void Console_ToggleShow(){
        GroupDialog_showPage( g_page_console );
 }
 
-ui::Widget g_page_entity;
+ui::Widget g_page_entity{ui::null};
 
 void EntityInspector_ToggleShow(){
        GroupDialog_showPage( g_page_entity );
@@ -1674,7 +1676,7 @@ bool ScreenUpdates_Enabled(){
 }
 
 void ScreenUpdates_process(){
-       if ( redrawRequired() && gtk_widget_get_visible( g_wait.m_window ) ) {
+       if ( redrawRequired() && g_wait.m_window.visible() ) {
                ui::process();
        }
 }
@@ -1696,8 +1698,8 @@ void ScreenUpdates_Disable( const char* message, const char* title ){
                        ScreenUpdates_process();
                }
        }
-       else if ( gtk_widget_get_visible( g_wait.m_window ) ) {
-               gtk_label_set_text( g_wait.m_label, message );
+       else if ( g_wait.m_window.visible() ) {
+               g_wait.m_label.text(message);
                ScreenUpdates_process();
        }
        g_wait_stack.push_back( message );
@@ -1716,8 +1718,8 @@ void ScreenUpdates_Enable(){
 
                //gtk_window_present(MainFrame_getWindow());
        }
-       else if ( gtk_widget_get_visible( g_wait.m_window ) ) {
-               gtk_label_set_text( g_wait.m_label, g_wait_stack.back().c_str() );
+       else if ( g_wait.m_window.visible() ) {
+               g_wait.m_label.text(g_wait_stack.back().c_str());
                ScreenUpdates_process();
        }
 }
@@ -1875,10 +1877,10 @@ void fill_view_xz_front_menu( ui::Menu menu ){
 }
 
 
-ui::Widget g_toggle_z_item;
-ui::Widget g_toggle_console_item;
-ui::Widget g_toggle_entity_item;
-ui::Widget g_toggle_entitylist_item;
+ui::Widget g_toggle_z_item{ui::null};
+ui::Widget g_toggle_console_item{ui::null};
+ui::Widget g_toggle_entity_item{ui::null};
+ui::Widget g_toggle_entitylist_item{ui::null};
 
 ui::MenuItem create_view_menu( MainFrame::EViewStyle style ){
        // View menu
@@ -2467,7 +2469,7 @@ WindowFocusPrinter g_mainframeFocusPrinter( "mainframe" );
 class MainWindowActive
 {
 static gboolean notify( ui::Window window, gpointer dummy, MainWindowActive* self ){
-       if ( g_wait.m_window && gtk_window_is_active( window ) && !gtk_widget_get_visible( g_wait.m_window ) ) {
+       if ( g_wait.m_window && gtk_window_is_active( window ) && !g_wait.m_window.visible() ) {
                g_wait.m_window.show();
        }
 
@@ -2509,7 +2511,7 @@ ui::Window MainFrame_getWindow()
 
 std::vector<ui::Widget> g_floating_windows;
 
-MainFrame::MainFrame() : m_window( 0 ), m_idleRedrawStatusText( RedrawStatusTextCaller( *this ) ){
+MainFrame::MainFrame() : m_idleRedrawStatusText( RedrawStatusTextCaller( *this ) ){
        m_pXYWnd = 0;
        m_pCamWnd = 0;
        m_pZWnd = 0;
@@ -2517,9 +2519,8 @@ MainFrame::MainFrame() : m_window( 0 ), m_idleRedrawStatusText( RedrawStatusText
        m_pXZWnd = 0;
        m_pActiveXY = 0;
 
-       for ( int n = 0; n < c_count_status; n++ )
-       {
-               m_pStatusLabel[n] = ui::root;
+       for (auto &n : m_pStatusLabel) {
+        n = ui::Label{ui::null};
        }
 
        m_bSleeping = false;
@@ -2756,7 +2757,7 @@ void MainFrame::Create(){
        }
        gtk_box_pack_start( GTK_BOX( vbox ), GTK_WIDGET( plugin_toolbar ), FALSE, FALSE, 0 );
 
-       ui::Widget main_statusbar = create_main_statusbar( m_pStatusLabel );
+       ui::Widget main_statusbar = create_main_statusbar(reinterpret_cast<ui::Widget *>(m_pStatusLabel));
        gtk_box_pack_end( GTK_BOX( vbox ), main_statusbar, FALSE, TRUE, 2 );
 
        GroupDialog_constructWindow( window );
@@ -2789,7 +2790,7 @@ void MainFrame::Create(){
 
        if ( CurrentStyle() == eRegular || CurrentStyle() == eRegularLeft ) {
                {
-                       ui::Widget vsplit = ui::VPaned();
+                       ui::Widget vsplit = ui::VPaned(ui::New);
                        m_vSplit = vsplit;
                        gtk_box_pack_start( GTK_BOX( vbox ), vsplit, TRUE, TRUE, 0 );
                        vsplit.show();
@@ -2799,7 +2800,7 @@ void MainFrame::Create(){
                        gtk_paned_pack2( GTK_PANED( vsplit ), console_window, FALSE, TRUE );
 
                        {
-                               ui::Widget hsplit = ui::HPaned();
+                               ui::Widget hsplit = ui::HPaned(ui::New);
                                hsplit.show();
                                m_hSplit = hsplit;
                                gtk_paned_add1( GTK_PANED( vsplit ), hsplit );
@@ -2810,7 +2811,7 @@ void MainFrame::Create(){
                                ui::Widget xy_window = ui::Widget(GTK_WIDGET( create_framed_widget( m_pXYWnd->GetWidget() ) ));
 
                                {
-                                       ui::Widget vsplit2 = ui::VPaned();
+                                       ui::Widget vsplit2 = ui::VPaned(ui::New);
                                        vsplit2.show();
                                        m_vSplit2 = vsplit2;
 
@@ -3038,11 +3039,11 @@ void MainFrame::Shutdown(){
 }
 
 void MainFrame::RedrawStatusText(){
-       gtk_label_set_text( GTK_LABEL( m_pStatusLabel[c_command_status] ), m_command_status.c_str() );
-       gtk_label_set_text( GTK_LABEL( m_pStatusLabel[c_position_status] ), m_position_status.c_str() );
-       gtk_label_set_text( GTK_LABEL( m_pStatusLabel[c_brushcount_status] ), m_brushcount_status.c_str() );
-       gtk_label_set_text( GTK_LABEL( m_pStatusLabel[c_texture_status] ), m_texture_status.c_str() );
-       gtk_label_set_text( GTK_LABEL( m_pStatusLabel[c_grid_status] ), m_grid_status.c_str() );
+       ui::Label::from(m_pStatusLabel[c_command_status]).text(m_command_status.c_str());
+       ui::Label::from(m_pStatusLabel[c_position_status]).text(m_position_status.c_str());
+       ui::Label::from(m_pStatusLabel[c_brushcount_status]).text(m_brushcount_status.c_str());
+       ui::Label::from(m_pStatusLabel[c_texture_status]).text(m_texture_status.c_str());
+       ui::Label::from(m_pStatusLabel[c_grid_status]).text(m_grid_status.c_str());
 }
 
 void MainFrame::UpdateStatusText(){
@@ -3180,7 +3181,7 @@ void MainFrame_Construct(){
        GlobalCommands_insert( "SaveMapAs", FreeCaller<SaveMapAs>() );
        GlobalCommands_insert( "ExportSelected", FreeCaller<ExportMap>() );
        GlobalCommands_insert( "SaveRegion", FreeCaller<SaveRegion>() );
-       GlobalCommands_insert( "RefreshReferences", FreeCaller<RefreshReferences>() );
+       GlobalCommands_insert( "RefreshReferences", FreeCaller<VFS_Refresh>() );
        GlobalCommands_insert( "ProjectSettings", FreeCaller<DoProjectSettings>() );
        GlobalCommands_insert( "Exit", FreeCaller<Exit>() );