]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
kconfig: gconf: migrate to GTK 3
authorMasahiro Yamada <masahiroy@kernel.org>
Sun, 29 Jun 2025 18:43:31 +0000 (03:43 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sat, 26 Jul 2025 06:31:29 +0000 (15:31 +0900)
This commit switches from GTK 2.x to GTK 3, applying the following
necessary changes:

 - Do not include individual headers
 - GtkObject is gone
 - Convert Glade to GtkBuilder

Link: https://docs.gtk.org/gtk3/migrating-2to3.html
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
scripts/kconfig/gconf-cfg.sh
scripts/kconfig/gconf.c
scripts/kconfig/gconf.ui

index fc954c0538fa567b4cecd76d9db24cbfd4386db5..856c692f480c2e75368feda59ec43bf262c53f49 100755 (executable)
@@ -6,7 +6,7 @@ set -eu
 cflags=$1
 libs=$2
 
-PKG="gtk+-2.0 gmodule-2.0 libglade-2.0"
+PKG=gtk+-3.0
 
 if [ -z "$(command -v ${HOSTPKG_CONFIG})" ]; then
        echo >&2 "*"
@@ -18,18 +18,11 @@ fi
 if ! ${HOSTPKG_CONFIG} --exists $PKG; then
        echo >&2 "*"
        echo >&2 "* Unable to find the GTK+ installation. Please make sure that"
-       echo >&2 "* the GTK+ 2.0 development package is correctly installed."
+       echo >&2 "* the GTK 3 development package is correctly installed."
        echo >&2 "* You need $PKG"
        echo >&2 "*"
        exit 1
 fi
 
-if ! ${HOSTPKG_CONFIG} --atleast-version=2.0.0 gtk+-2.0; then
-       echo >&2 "*"
-       echo >&2 "* GTK+ is present but version >= 2.0.0 is required."
-       echo >&2 "*"
-       exit 1
-fi
-
 ${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags}
 ${HOSTPKG_CONFIG} --libs ${PKG} > ${libs}
index 8006cc547180fa9c9aa74f6900f8e1bb360c9e0a..313250d4fc53d3453bdb342fd30185b6f713c9cd 100644 (file)
@@ -7,10 +7,7 @@
 #include "lkc.h"
 #include "images.h"
 
-#include <glade/glade.h>
 #include <gtk/gtk.h>
-#include <glib.h>
-#include <gdk/gdkkeysyms.h>
 
 #include <stdio.h>
 #include <string.h>
@@ -601,7 +598,7 @@ static void on_expand_clicked(GtkButton *button, gpointer user_data)
 
 /* Main Windows Callbacks */
 
-static void on_window1_destroy(GtkObject *object, gpointer user_data)
+static void on_window1_destroy(GtkWidget *widget, gpointer user_data)
 {
        gtk_main_quit();
 }
@@ -1001,15 +998,15 @@ static void replace_button_icon(GtkWidget *widget, const char * const xpm[])
 
 static void init_main_window(const gchar *glade_file)
 {
-       GladeXML *xml;
+       GtkBuilder *builder;
        GtkWidget *widget;
        GtkTextBuffer *txtbuf;
 
-       xml = glade_xml_new(glade_file, "window1", NULL);
-       if (!xml)
+       builder = gtk_builder_new_from_file(glade_file);
+       if (!builder)
                g_error("GUI loading failed !\n");
 
-       main_wnd = glade_xml_get_widget(xml, "window1");
+       main_wnd = GTK_WIDGET(gtk_builder_get_object(builder, "window1"));
        g_signal_connect(main_wnd, "destroy",
                         G_CALLBACK(on_window1_destroy), NULL);
        g_signal_connect(main_wnd, "configure-event",
@@ -1017,9 +1014,9 @@ static void init_main_window(const gchar *glade_file)
        g_signal_connect(main_wnd, "delete_event",
                         G_CALLBACK(on_window1_delete_event), NULL);
 
-       hpaned = glade_xml_get_widget(xml, "hpaned1");
-       vpaned = glade_xml_get_widget(xml, "vpaned1");
-       tree1_w = glade_xml_get_widget(xml, "treeview1");
+       hpaned = GTK_WIDGET(gtk_builder_get_object(builder, "hpaned1"));
+       vpaned = GTK_WIDGET(gtk_builder_get_object(builder, "vpaned1"));
+       tree1_w = GTK_WIDGET(gtk_builder_get_object(builder, "treeview1"));
        g_signal_connect(tree1_w, "cursor_changed",
                         G_CALLBACK(on_treeview2_cursor_changed), NULL);
        g_signal_connect(tree1_w, "button_press_event",
@@ -1027,7 +1024,7 @@ static void init_main_window(const gchar *glade_file)
        g_signal_connect(tree1_w, "key_press_event",
                         G_CALLBACK(on_treeview2_key_press_event), NULL);
 
-       tree2_w = glade_xml_get_widget(xml, "treeview2");
+       tree2_w = GTK_WIDGET(gtk_builder_get_object(builder, "treeview2"));
        g_signal_connect(tree2_w, "cursor_changed",
                         G_CALLBACK(on_treeview2_cursor_changed), NULL);
        g_signal_connect(tree2_w, "button_press_event",
@@ -1035,101 +1032,101 @@ static void init_main_window(const gchar *glade_file)
        g_signal_connect(tree2_w, "key_press_event",
                         G_CALLBACK(on_treeview2_key_press_event), NULL);
 
-       text_w = glade_xml_get_widget(xml, "textview3");
+       text_w = GTK_WIDGET(gtk_builder_get_object(builder, "textview3"));
 
        /* menubar */
-       widget = glade_xml_get_widget(xml, "load1");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "load1"));
        g_signal_connect(widget, "activate",
                         G_CALLBACK(on_load1_activate), NULL);
 
-       save_menu_item = glade_xml_get_widget(xml, "save1");
+       save_menu_item = GTK_WIDGET(gtk_builder_get_object(builder, "save1"));
        g_signal_connect(save_menu_item, "activate",
                         G_CALLBACK(on_save_activate), NULL);
 
-       widget = glade_xml_get_widget(xml, "save_as1");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "save_as1"));
        g_signal_connect(widget, "activate",
                         G_CALLBACK(on_save_as1_activate), NULL);
 
-       widget = glade_xml_get_widget(xml, "quit1");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "quit1"));
        g_signal_connect(widget, "activate",
                         G_CALLBACK(on_quit1_activate), NULL);
 
-       widget = glade_xml_get_widget(xml, "show_name1");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "show_name1"));
        g_signal_connect(widget, "activate",
                         G_CALLBACK(on_show_name1_activate), NULL);
        gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
                                       show_name);
 
-       widget = glade_xml_get_widget(xml, "show_range1");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "show_range1"));
        g_signal_connect(widget, "activate",
                         G_CALLBACK(on_show_range1_activate), NULL);
        gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
                                       show_range);
 
-       widget = glade_xml_get_widget(xml, "show_data1");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "show_data1"));
        g_signal_connect(widget, "activate",
                         G_CALLBACK(on_show_data1_activate), NULL);
        gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
                                       show_value);
 
-       widget = glade_xml_get_widget(xml, "set_option_mode1");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "set_option_mode1"));
        g_signal_connect(widget, "activate",
                         G_CALLBACK(on_set_option_mode1_activate), NULL);
 
-       widget = glade_xml_get_widget(xml, "set_option_mode2");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "set_option_mode2"));
        g_signal_connect(widget, "activate",
                         G_CALLBACK(on_set_option_mode2_activate), NULL);
 
-       widget = glade_xml_get_widget(xml, "set_option_mode3");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "set_option_mode3"));
        g_signal_connect(widget, "activate",
                         G_CALLBACK(on_set_option_mode3_activate), NULL);
 
-       widget = glade_xml_get_widget(xml, "introduction1");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "introduction1"));
        g_signal_connect(widget, "activate",
                         G_CALLBACK(on_introduction1_activate), NULL);
 
-       widget = glade_xml_get_widget(xml, "about1");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "about1"));
        g_signal_connect(widget, "activate",
                         G_CALLBACK(on_about1_activate), NULL);
 
-       widget = glade_xml_get_widget(xml, "license1");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "license1"));
        g_signal_connect(widget, "activate",
                         G_CALLBACK(on_license1_activate), NULL);
 
        /* toolbar */
-       back_btn = glade_xml_get_widget(xml, "button1");
+       back_btn = GTK_WIDGET(gtk_builder_get_object(builder, "button1"));
        g_signal_connect(back_btn, "clicked",
                         G_CALLBACK(on_back_clicked), NULL);
        gtk_widget_set_sensitive(back_btn, FALSE);
 
-       widget = glade_xml_get_widget(xml, "button2");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "button2"));
        g_signal_connect(widget, "clicked",
                         G_CALLBACK(on_load_clicked), NULL);
 
-       save_btn = glade_xml_get_widget(xml, "button3");
+       save_btn = GTK_WIDGET(gtk_builder_get_object(builder, "button3"));
        g_signal_connect(save_btn, "clicked",
                         G_CALLBACK(on_save_clicked), NULL);
 
-       single_btn = glade_xml_get_widget(xml, "button4");
+       single_btn = GTK_WIDGET(gtk_builder_get_object(builder, "button4"));
        g_signal_connect(single_btn, "clicked",
                         G_CALLBACK(on_single_clicked), NULL);
        replace_button_icon(single_btn, xpm_single_view);
 
-       split_btn = glade_xml_get_widget(xml, "button5");
+       split_btn = GTK_WIDGET(gtk_builder_get_object(builder, "button5"));
        g_signal_connect(split_btn, "clicked",
                         G_CALLBACK(on_split_clicked), NULL);
        replace_button_icon(split_btn, xpm_split_view);
 
-       full_btn = glade_xml_get_widget(xml, "button6");
+       full_btn = GTK_WIDGET(gtk_builder_get_object(builder, "button6"));
        g_signal_connect(full_btn, "clicked",
                         G_CALLBACK(on_full_clicked), NULL);
        replace_button_icon(full_btn, xpm_tree_view);
 
-       widget = glade_xml_get_widget(xml, "button7");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "button7"));
        g_signal_connect(widget, "clicked",
                         G_CALLBACK(on_collapse_clicked), NULL);
 
-       widget = glade_xml_get_widget(xml, "button8");
+       widget = GTK_WIDGET(gtk_builder_get_object(builder, "button8"));
        g_signal_connect(widget, "clicked",
                         G_CALLBACK(on_expand_clicked), NULL);
 
@@ -1144,7 +1141,9 @@ static void init_main_window(const gchar *glade_file)
 
        gtk_window_set_title(GTK_WINDOW(main_wnd), rootmenu.prompt->text);
 
-       gtk_widget_show(main_wnd);
+       gtk_widget_show_all(main_wnd);
+
+       g_object_unref(builder);
 
        conf_set_changed_callback(conf_changed);
 }
@@ -1322,7 +1321,6 @@ int main(int ac, char *av[])
 
        /* GTK stuffs */
        gtk_init(&ac, &av);
-       glade_init();
 
        /* Determine GUI path */
        env = getenv(SRCTREE);
index cd714e64cff16398e0d39045534c944f90249e1c..de20a9143aa88864c9f2cdd15d10922b0bf33041 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
 
-<glade-interface>
+<interface>
 
-<widget class="GtkWindow" id="window1">
+<object class="GtkWindow" id="window1">
   <property name="visible">True</property>
   <property name="title" translatable="yes">Gtk Kernel Configurator</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
 
   <child>
-    <widget class="GtkVBox" id="vbox1">
+    <object class="GtkVBox" id="vbox1">
       <property name="visible">True</property>
       <property name="homogeneous">False</property>
       <property name="spacing">0</property>
 
       <child>
-       <widget class="GtkMenuBar" id="menubar1">
+       <object class="GtkMenuBar" id="menubar1">
          <property name="visible">True</property>
 
          <child>
-           <widget class="GtkMenuItem" id="file1">
+           <object class="GtkMenuItem" id="file1">
              <property name="visible">True</property>
              <property name="label" translatable="yes">_File</property>
              <property name="use_underline">True</property>
 
-             <child>
-               <widget class="GtkMenu" id="file1_menu">
+             <child type="submenu">
+               <object class="GtkMenu" id="file1_menu">
 
                  <child>
-                   <widget class="GtkImageMenuItem" id="load1">
+                   <object class="GtkImageMenuItem" id="load1">
                      <property name="visible">True</property>
                      <property name="tooltip-text" translatable="yes">Load a config file</property>
                      <property name="label" translatable="yes">_Load</property>
                      <property name="use_underline">True</property>
                      <accelerator key="L" modifiers="GDK_CONTROL_MASK" signal="activate"/>
-                   </widget>
+                   </object>
                  </child>
 
                  <child>
-                   <widget class="GtkImageMenuItem" id="save1">
+                   <object class="GtkImageMenuItem" id="save1">
                      <property name="visible">True</property>
                      <property name="tooltip-text" translatable="yes">Save the config in .config</property>
                      <property name="label" translatable="yes">_Save</property>
                      <property name="use_underline">True</property>
                      <accelerator key="S" modifiers="GDK_CONTROL_MASK" signal="activate"/>
-                   </widget>
+                   </object>
                  </child>
 
                  <child>
-                   <widget class="GtkImageMenuItem" id="save_as1">
+                   <object class="GtkImageMenuItem" id="save_as1">
                      <property name="visible">True</property>
                      <property name="tooltip-text" translatable="yes">Save the config in a file</property>
                      <property name="label" translatable="yes">Save _as</property>
                      <property name="use_underline">True</property>
-                   </widget>
+                   </object>
                  </child>
 
                  <child>
-                   <widget class="GtkSeparatorMenuItem" id="separator1">
+                   <object class="GtkSeparatorMenuItem" id="separator1">
                      <property name="visible">True</property>
-                   </widget>
+                   </object>
                  </child>
 
                  <child>
-                   <widget class="GtkImageMenuItem" id="quit1">
+                   <object class="GtkImageMenuItem" id="quit1">
                      <property name="visible">True</property>
                      <property name="label" translatable="yes">_Quit</property>
                      <property name="use_underline">True</property>
                      <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
-                   </widget>
+                   </object>
                  </child>
-               </widget>
+               </object>
              </child>
-           </widget>
+           </object>
          </child>
 
          <child>
-           <widget class="GtkMenuItem" id="options1">
+           <object class="GtkMenuItem" id="options1">
              <property name="visible">True</property>
              <property name="label" translatable="yes">_Options</property>
              <property name="use_underline">True</property>
 
-             <child>
-               <widget class="GtkMenu" id="options1_menu">
+             <child type="submenu">
+               <object class="GtkMenu" id="options1_menu">
 
                  <child>
-                   <widget class="GtkCheckMenuItem" id="show_name1">
+                   <object class="GtkCheckMenuItem" id="show_name1">
                      <property name="visible">True</property>
                      <property name="tooltip-text" translatable="yes">Show name</property>
                      <property name="label" translatable="yes">Show _name</property>
                      <property name="use_underline">True</property>
                      <property name="active">False</property>
-                   </widget>
+                   </object>
                  </child>
 
                  <child>
-                   <widget class="GtkCheckMenuItem" id="show_range1">
+                   <object class="GtkCheckMenuItem" id="show_range1">
                      <property name="visible">True</property>
                      <property name="tooltip-text" translatable="yes">Show range (Y/M/N)</property>
                      <property name="label" translatable="yes">Show _range</property>
                      <property name="use_underline">True</property>
                      <property name="active">False</property>
-                   </widget>
+                   </object>
                  </child>
 
                  <child>
-                   <widget class="GtkCheckMenuItem" id="show_data1">
+                   <object class="GtkCheckMenuItem" id="show_data1">
                      <property name="visible">True</property>
                      <property name="tooltip-text" translatable="yes">Show value of the option</property>
                      <property name="label" translatable="yes">Show _data</property>
                      <property name="use_underline">True</property>
                      <property name="active">False</property>
-                   </widget>
+                   </object>
                  </child>
 
                  <child>
-                   <widget class="GtkSeparatorMenuItem" id="separator2">
+                   <object class="GtkSeparatorMenuItem" id="separator2">
                      <property name="visible">True</property>
-                   </widget>
+                   </object>
                  </child>
 
                  <child>
-                   <widget class="GtkRadioMenuItem" id="set_option_mode1">
+                   <object class="GtkRadioMenuItem" id="set_option_mode1">
                      <property name="visible">True</property>
                      <property name="tooltip-text" translatable="yes">Show normal options</property>
                      <property name="label" translatable="yes">Show normal options</property>
                      <property name="use_underline">True</property>
                      <property name="active">True</property>
-                   </widget>
+                   </object>
                  </child>
 
                  <child>
-                   <widget class="GtkRadioMenuItem" id="set_option_mode2">
+                   <object class="GtkRadioMenuItem" id="set_option_mode2">
                      <property name="visible">True</property>
                      <property name="tooltip-text" translatable="yes">Show all options</property>
                      <property name="label" translatable="yes">Show all _options</property>
                      <property name="use_underline">True</property>
                      <property name="active">False</property>
                      <property name="group">set_option_mode1</property>
-                   </widget>
+                   </object>
                  </child>
 
                  <child>
-                   <widget class="GtkRadioMenuItem" id="set_option_mode3">
+                   <object class="GtkRadioMenuItem" id="set_option_mode3">
                      <property name="visible">True</property>
                      <property name="tooltip-text" translatable="yes">Show all options with prompts</property>
                      <property name="label" translatable="yes">Show all prompt options</property>
                      <property name="use_underline">True</property>
                      <property name="active">False</property>
                      <property name="group">set_option_mode1</property>
-                   </widget>
+                   </object>
                  </child>
 
-               </widget>
+               </object>
              </child>
-           </widget>
+           </object>
          </child>
 
          <child>
-           <widget class="GtkMenuItem" id="help1">
+           <object class="GtkMenuItem" id="help1">
              <property name="visible">True</property>
              <property name="label" translatable="yes">_Help</property>
              <property name="use_underline">True</property>
 
-             <child>
-               <widget class="GtkMenu" id="help1_menu">
+             <child type="submenu">
+               <object class="GtkMenu" id="help1_menu">
 
                  <child>
-                   <widget class="GtkImageMenuItem" id="introduction1">
+                   <object class="GtkImageMenuItem" id="introduction1">
                      <property name="visible">True</property>
                      <property name="label" translatable="yes">_Introduction</property>
                      <property name="use_underline">True</property>
                      <accelerator key="I" modifiers="GDK_CONTROL_MASK" signal="activate"/>
-                   </widget>
+                   </object>
                  </child>
 
                  <child>
-                   <widget class="GtkImageMenuItem" id="about1">
+                   <object class="GtkImageMenuItem" id="about1">
                      <property name="visible">True</property>
                      <property name="label" translatable="yes">_About</property>
                      <property name="use_underline">True</property>
                      <accelerator key="A" modifiers="GDK_CONTROL_MASK" signal="activate"/>
-                   </widget>
+                   </object>
                  </child>
 
                  <child>
-                   <widget class="GtkImageMenuItem" id="license1">
+                   <object class="GtkImageMenuItem" id="license1">
                      <property name="visible">True</property>
                      <property name="label" translatable="yes">_License</property>
                      <property name="use_underline">True</property>
-                   </widget>
+                   </object>
                  </child>
-               </widget>
+               </object>
              </child>
-           </widget>
+           </object>
          </child>
-       </widget>
+       </object>
        <packing>
          <property name="padding">0</property>
          <property name="expand">False</property>
       </child>
 
       <child>
-           <widget class="GtkToolbar" id="toolbar1">
+           <object class="GtkToolbar" id="toolbar1">
              <property name="visible">True</property>
              <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
              <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
              <property name="show_arrow">True</property>
 
              <child>
-               <widget class="GtkToolButton" id="button1">
+               <object class="GtkToolButton" id="button1">
                  <property name="visible">True</property>
                  <property name="tooltip-text" translatable="yes">Goes up one level (single view)</property>
                  <property name="label" translatable="yes">Back</property>
                  <property name="visible_horizontal">True</property>
                  <property name="visible_vertical">True</property>
                  <property name="is_important">False</property>
-               </widget>
+               </object>
                <packing>
                  <property name="expand">False</property>
                  <property name="homogeneous">True</property>
              </child>
 
              <child>
-               <widget class="GtkToolItem" id="toolitem1">
+               <object class="GtkToolItem" id="toolitem1">
                  <property name="visible">True</property>
                  <property name="visible_horizontal">True</property>
                  <property name="visible_vertical">True</property>
                  <property name="is_important">False</property>
 
                  <child>
-                   <widget class="GtkVSeparator" id="vseparator1">
+                   <object class="GtkVSeparator" id="vseparator1">
                      <property name="visible">True</property>
-                   </widget>
+                   </object>
                  </child>
-               </widget>
+               </object>
                <packing>
                  <property name="expand">False</property>
                  <property name="homogeneous">False</property>
              </child>
 
              <child>
-               <widget class="GtkToolButton" id="button2">
+               <object class="GtkToolButton" id="button2">
                  <property name="visible">True</property>
                  <property name="tooltip-text" translatable="yes">Load a config file</property>
                  <property name="label" translatable="yes">Load</property>
                  <property name="visible_horizontal">True</property>
                  <property name="visible_vertical">True</property>
                  <property name="is_important">False</property>
-               </widget>
+               </object>
                <packing>
                  <property name="expand">False</property>
                  <property name="homogeneous">True</property>
              </child>
 
              <child>
-               <widget class="GtkToolButton" id="button3">
+               <object class="GtkToolButton" id="button3">
                  <property name="visible">True</property>
                  <property name="tooltip-text" translatable="yes">Save a config file</property>
                  <property name="label" translatable="yes">Save</property>
                  <property name="visible_horizontal">True</property>
                  <property name="visible_vertical">True</property>
                  <property name="is_important">False</property>
-               </widget>
+               </object>
                <packing>
                  <property name="expand">False</property>
                  <property name="homogeneous">True</property>
              </child>
 
              <child>
-               <widget class="GtkToolItem" id="toolitem2">
+               <object class="GtkToolItem" id="toolitem2">
                  <property name="visible">True</property>
                  <property name="visible_horizontal">True</property>
                  <property name="visible_vertical">True</property>
                  <property name="is_important">False</property>
 
                  <child>
-                   <widget class="GtkVSeparator" id="vseparator2">
+                   <object class="GtkVSeparator" id="vseparator2">
                      <property name="visible">True</property>
-                   </widget>
+                   </object>
                  </child>
-               </widget>
+               </object>
                <packing>
                  <property name="expand">False</property>
                  <property name="homogeneous">False</property>
              </child>
 
              <child>
-               <widget class="GtkToolButton" id="button4">
+               <object class="GtkToolButton" id="button4">
                  <property name="visible">True</property>
                  <property name="tooltip-text" translatable="yes">Single view</property>
                  <property name="label" translatable="yes">Single</property>
                  <property name="visible_horizontal">True</property>
                  <property name="visible_vertical">True</property>
                  <property name="is_important">False</property>
-               </widget>
+               </object>
                <packing>
                  <property name="expand">False</property>
                  <property name="homogeneous">True</property>
              </child>
 
              <child>
-               <widget class="GtkToolButton" id="button5">
+               <object class="GtkToolButton" id="button5">
                  <property name="visible">True</property>
                  <property name="tooltip-text" translatable="yes">Split view</property>
                  <property name="label" translatable="yes">Split</property>
                  <property name="visible_horizontal">True</property>
                  <property name="visible_vertical">True</property>
                  <property name="is_important">False</property>
-               </widget>
+               </object>
                <packing>
                  <property name="expand">False</property>
                  <property name="homogeneous">True</property>
              </child>
 
              <child>
-               <widget class="GtkToolButton" id="button6">
+               <object class="GtkToolButton" id="button6">
                  <property name="visible">True</property>
                  <property name="tooltip-text" translatable="yes">Full view</property>
                  <property name="label" translatable="yes">Full</property>
                  <property name="visible_horizontal">True</property>
                  <property name="visible_vertical">True</property>
                  <property name="is_important">False</property>
-               </widget>
+               </object>
                <packing>
                  <property name="expand">False</property>
                  <property name="homogeneous">True</property>
              </child>
 
              <child>
-               <widget class="GtkToolItem" id="toolitem3">
+               <object class="GtkToolItem" id="toolitem3">
                  <property name="visible">True</property>
                  <property name="visible_horizontal">True</property>
                  <property name="visible_vertical">True</property>
                  <property name="is_important">False</property>
 
                  <child>
-                   <widget class="GtkVSeparator" id="vseparator3">
+                   <object class="GtkVSeparator" id="vseparator3">
                      <property name="visible">True</property>
-                   </widget>
+                   </object>
                  </child>
-               </widget>
+               </object>
                <packing>
                  <property name="expand">False</property>
                  <property name="homogeneous">False</property>
              </child>
 
              <child>
-               <widget class="GtkToolButton" id="button7">
+               <object class="GtkToolButton" id="button7">
                  <property name="visible">True</property>
                  <property name="tooltip-text" translatable="yes">Collapse the whole tree in the right frame</property>
                  <property name="label" translatable="yes">Collapse</property>
                  <property name="visible_horizontal">True</property>
                  <property name="visible_vertical">True</property>
                  <property name="is_important">False</property>
-               </widget>
+               </object>
                <packing>
                  <property name="expand">False</property>
                  <property name="homogeneous">True</property>
              </child>
 
              <child>
-               <widget class="GtkToolButton" id="button8">
+               <object class="GtkToolButton" id="button8">
                  <property name="visible">True</property>
                  <property name="tooltip-text" translatable="yes">Expand the whole tree in the right frame</property>
                  <property name="label" translatable="yes">Expand</property>
                  <property name="visible_horizontal">True</property>
                  <property name="visible_vertical">True</property>
                  <property name="is_important">False</property>
-               </widget>
+               </object>
                <packing>
                  <property name="expand">False</property>
                  <property name="homogeneous">True</property>
                </packing>
              </child>
-           </widget>
+           </object>
        <packing>
          <property name="padding">0</property>
          <property name="expand">False</property>
       </child>
 
       <child>
-       <widget class="GtkHPaned" id="hpaned1">
+       <object class="GtkHPaned" id="hpaned1">
          <property name="width_request">1</property>
          <property name="visible">True</property>
          <property name="can_focus">True</property>
-         <property name="position">0</property>
 
          <child>
-           <widget class="GtkScrolledWindow" id="scrolledwindow1">
+           <object class="GtkScrolledWindow" id="scrolledwindow1">
              <property name="visible">True</property>
              <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
              <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
              <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
              <child>
-               <widget class="GtkTreeView" id="treeview1">
+               <object class="GtkTreeView" id="treeview1">
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
                  <property name="headers_visible">True</property>
                  <property name="rules_hint">False</property>
                  <property name="reorderable">False</property>
                  <property name="enable_search">False</property>
-               </widget>
+               </object>
              </child>
-           </widget>
+           </object>
            <packing>
              <property name="shrink">True</property>
              <property name="resize">False</property>
          </child>
 
          <child>
-           <widget class="GtkVPaned" id="vpaned1">
+           <object class="GtkVPaned" id="vpaned1">
              <property name="visible">True</property>
              <property name="can_focus">True</property>
-             <property name="position">0</property>
 
              <child>
-               <widget class="GtkScrolledWindow" id="scrolledwindow2">
+               <object class="GtkScrolledWindow" id="scrolledwindow2">
                  <property name="visible">True</property>
                  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
                  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
                  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
                  <child>
-                   <widget class="GtkTreeView" id="treeview2">
+                   <object class="GtkTreeView" id="treeview2">
                      <property name="visible">True</property>
                      <property name="can_focus">True</property>
                      <property name="has_focus">True</property>
                      <property name="rules_hint">False</property>
                      <property name="reorderable">False</property>
                      <property name="enable_search">False</property>
-                   </widget>
+                   </object>
                  </child>
-               </widget>
+               </object>
                <packing>
                  <property name="shrink">True</property>
                  <property name="resize">False</property>
              </child>
 
              <child>
-               <widget class="GtkScrolledWindow" id="scrolledwindow3">
+               <object class="GtkScrolledWindow" id="scrolledwindow3">
                  <property name="visible">True</property>
                  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
                  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
                  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
                  <child>
-                   <widget class="GtkTextView" id="textview3">
+                   <object class="GtkTextView" id="textview3">
                      <property name="visible">True</property>
                      <property name="can_focus">True</property>
                      <property name="editable">False</property>
                      <property name="left_margin">0</property>
                      <property name="right_margin">0</property>
                      <property name="indent">0</property>
-                   </widget>
+                   </object>
                  </child>
-               </widget>
+               </object>
                <packing>
                  <property name="shrink">True</property>
                  <property name="resize">True</property>
                </packing>
              </child>
-           </widget>
+           </object>
            <packing>
              <property name="shrink">True</property>
              <property name="resize">True</property>
            </packing>
          </child>
-       </widget>
+       </object>
        <packing>
          <property name="padding">0</property>
          <property name="expand">True</property>
          <property name="fill">True</property>
        </packing>
       </child>
-    </widget>
+    </object>
   </child>
-</widget>
+</object>
 
-</glade-interface>
+</interface>