]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/console.cpp
Remove -Wno-extra
[xonotic/netradiant.git] / radiant / console.cpp
index b68555232fa0bf6a292535f60aced77be9e902e7..68c22ea1147bd12d11861234554bf66d5cbc79d2 100644 (file)
@@ -23,6 +23,7 @@
 
 #include <time.h>
 #include <uilib/uilib.h>
+#include <gtk/gtk.h>
 
 #include "gtkutil/accelerator.h"
 #include "gtkutil/messagebox.h"
@@ -80,20 +81,19 @@ void Sys_LogFile( bool enable ){
        }
 }
 
-ui::Widget g_console;
+ui::TextView g_console{ui::null};
 
 void console_clear(){
-       GtkTextBuffer* buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW( g_console ) );
-       gtk_text_buffer_set_text( buffer, "", -1 );
+       g_console.text("");
 }
 
-void console_populate_popup( GtkTextView* textview, ui::Menu menu, gpointer user_data ){
+void console_populate_popup( ui::TextView textview, ui::Menu menu, gpointer user_data ){
        menu_separator( menu );
 
        ui::Widget item(ui::MenuItem( "Clear" ));
-       g_signal_connect( G_OBJECT( item ), "activate", G_CALLBACK( console_clear ), 0 );
+       item.connect( "activate", G_CALLBACK( console_clear ), 0 );
        item.show();
-       container_add_widget( menu, item );
+       menu.add(item);
 }
 
 gboolean destroy_set_null( ui::Window widget, ui::Widget* p ){
@@ -105,12 +105,12 @@ WidgetFocusPrinter g_consoleWidgetFocusPrinter( "console" );
 
 ui::Widget Console_constructWindow( ui::Window toplevel ){
        auto scr = ui::ScrolledWindow();
-       gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scr ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC );
+       scr.overflow(ui::Policy::AUTOMATIC, ui::Policy::AUTOMATIC);
        gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( scr ), GTK_SHADOW_IN );
        scr.show();
 
        {
-               ui::Widget text = ui::TextView();
+               auto text = ui::TextView();
                gtk_widget_set_size_request( text, 0, -1 ); // allow shrinking
                gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( text ), GTK_WRAP_WORD );
                gtk_text_view_set_editable( GTK_TEXT_VIEW( text ), FALSE );
@@ -124,8 +124,8 @@ ui::Widget Console_constructWindow( ui::Window toplevel ){
 
                //g_consoleWidgetFocusPrinter.connect(g_console);
 
-               g_signal_connect( G_OBJECT( g_console ), "populate-popup", G_CALLBACK( console_populate_popup ), 0 );
-               g_signal_connect( G_OBJECT( g_console ), "destroy", G_CALLBACK( destroy_set_null ), &g_console );
+               g_console.connect( "populate-popup", G_CALLBACK( console_populate_popup ), 0 );
+               g_console.connect( "destroy", G_CALLBACK( destroy_set_null ), &g_console );
        }
 
        gtk_container_set_focus_chain( GTK_CONTAINER( scr ), NULL );
@@ -142,7 +142,7 @@ public:
 GtkTextBufferOutputStream( GtkTextBuffer* textBuffer, GtkTextIter* iter, GtkTextTag* tag ) : textBuffer( textBuffer ), iter( iter ), tag( tag ){
 }
 std::size_t write( const char* buffer, std::size_t length ){
-       gtk_text_buffer_insert_with_tags( textBuffer, iter, buffer, gint( length ), tag, 0 );
+       gtk_text_buffer_insert_with_tags( textBuffer, iter, buffer, gint( length ), tag, NULL );
        return length;
 }
 };
@@ -162,7 +162,7 @@ std::size_t Sys_Print( int level, const char* buf, std::size_t length ){
        }
 
        if ( level != SYS_NOCON ) {
-               if ( g_console != 0 ) {
+               if ( g_console ) {
                        GtkTextBuffer* buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW( g_console ) );
 
                        GtkTextIter iter;
@@ -173,9 +173,9 @@ std::size_t Sys_Print( int level, const char* buf, std::size_t length ){
                        const GdkColor yellow = { 0, 0xb0ff, 0xb0ff, 0x0000 };
                        const GdkColor red = { 0, 0xffff, 0x0000, 0x0000 };
 
-                       static GtkTextTag* error_tag = gtk_text_buffer_create_tag( buffer, "red_foreground", "foreground-gdk", &red, 0 );
-                       static GtkTextTag* warning_tag = gtk_text_buffer_create_tag( buffer, "yellow_foreground", "foreground-gdk", &yellow, 0 );
-                       static GtkTextTag* standard_tag = gtk_text_buffer_create_tag( buffer, "black_foreground", 0 );
+                       static GtkTextTag* error_tag = gtk_text_buffer_create_tag( buffer, "red_foreground", "foreground-gdk", &red, NULL );
+                       static GtkTextTag* warning_tag = gtk_text_buffer_create_tag( buffer, "yellow_foreground", "foreground-gdk", &yellow, NULL );
+                       static GtkTextTag* standard_tag = gtk_text_buffer_create_tag( buffer, "black_foreground", NULL );
                        GtkTextTag* tag;
                        switch ( level )
                        {