[gtkmm] demos: Add Builder demo
- From: Kjell Ahlstedt <kjellahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm] demos: Add Builder demo
- Date: Sat, 16 May 2015 08:59:52 +0000 (UTC)
commit c6e247b9a7b819423a58c7796755a2f2619b5f90
Author: Kjell Ahlstedt <kjell ahlstedt bredband net>
Date: Sat May 16 10:55:16 2015 +0200
demos: Add Builder demo
* demos/Makefile.am: Add example_builder.cc and example_builder.ui.
Add the example_*.cc files to the dependency list of demo_resources.c.
* demos/gtk-demo/demo.gresource.xml: Add example_builder.cc and
example_builder.ui.
* demos/gtk-demo/demos.h: Add the builder demo.
* demos/gtk-demo/example_builder.cc:
* demos/gtk-demo/example_builder.ui: New files.
* demos/gtk-demo/example_uimanager.cc: Removed file. This demo was removed
from demos.h some time ago, when GtkUIManager was deprecated.
demos/Makefile.am | 97 ++++++------
demos/gtk-demo/demo.gresource.xml | 4 +
demos/gtk-demo/demos.h | 6 +-
demos/gtk-demo/example_builder.cc | 143 +++++++++++++++++
demos/gtk-demo/example_builder.ui | 302 +++++++++++++++++++++++++++++++++++
demos/gtk-demo/example_uimanager.cc | 216 -------------------------
6 files changed, 504 insertions(+), 264 deletions(-)
---
diff --git a/demos/Makefile.am b/demos/Makefile.am
index 6e72312..ea85323 100644
--- a/demos/Makefile.am
+++ b/demos/Makefile.am
@@ -23,62 +23,67 @@ pixbuf_demo_SOURCES = \
gtk-demo/demo_resources.c \
pixbuf-demo.cc
-gtk_demo_gtkmm_demo_SOURCES = \
- gtk-demo/demo_resources.c \
- gtk-demo/demos.h \
- gtk-demo/demowindow.cc \
- gtk-demo/demowindow.h \
- gtk-demo/example_appwindow.cc \
- gtk-demo/example_buttonbox.cc \
- gtk-demo/example_change_display.cc \
- gtk-demo/example_colorsel.cc \
- gtk-demo/example_dialog.cc \
- gtk-demo/example_drawingarea.cc \
- gtk-demo/example_flowbox.cc \
- gtk-demo/example_gestures.cc \
- gtk-demo/example_headerbar.cc \
- gtk-demo/example_icontheme.cc \
- gtk-demo/example_iconview.cc \
- gtk-demo/example_images.cc \
- gtk-demo/example_menus.cc \
- gtk-demo/example_overlay.cc \
- gtk-demo/example_panes.cc \
- gtk-demo/example_pixbufs.cc \
- gtk-demo/example_sizegroup.cc \
- gtk-demo/example_stack.cc \
- gtk-demo/example_stacksidebar.cc \
- gtk-demo/example_textview.cc \
- gtk-demo/example_treeview_editable_cells.cc \
- gtk-demo/example_treeview_liststore.cc \
- gtk-demo/example_treeview_treestore.cc \
- gtk-demo/main.cc \
- gtk-demo/textwidget.cc \
- gtk-demo/textwidget.h
+gtk_demo_gtkmm_demo_SOURCES = \
+ gtk-demo/demo_resources.c \
+ gtk-demo/demos.h \
+ gtk-demo/demowindow.cc \
+ gtk-demo/demowindow.h \
+ gtk-demo/main.cc \
+ gtk-demo/textwidget.cc \
+ gtk-demo/textwidget.h \
+ $(GTK_DEMOS)
dist_noinst_DATA = \
gtk-demo/demo.gresource.xml \
$(GTK_DEMO_RESOURCES)
+GTK_DEMOS = \
+ gtk-demo/example_appwindow.cc \
+ gtk-demo/example_builder.cc \
+ gtk-demo/example_buttonbox.cc \
+ gtk-demo/example_change_display.cc \
+ gtk-demo/example_colorsel.cc \
+ gtk-demo/example_dialog.cc \
+ gtk-demo/example_drawingarea.cc \
+ gtk-demo/example_flowbox.cc \
+ gtk-demo/example_gestures.cc \
+ gtk-demo/example_headerbar.cc \
+ gtk-demo/example_icontheme.cc \
+ gtk-demo/example_iconview.cc \
+ gtk-demo/example_images.cc \
+ gtk-demo/example_menus.cc \
+ gtk-demo/example_overlay.cc \
+ gtk-demo/example_panes.cc \
+ gtk-demo/example_pixbufs.cc \
+ gtk-demo/example_sizegroup.cc \
+ gtk-demo/example_stack.cc \
+ gtk-demo/example_stacksidebar.cc \
+ gtk-demo/example_textview.cc \
+ gtk-demo/example_treeview_editable_cells.cc \
+ gtk-demo/example_treeview_liststore.cc \
+ gtk-demo/example_treeview_treestore.cc
+
GTK_DEMO_RESOURCES = \
- gtk-demo/alphatest.png \
- gtk-demo/apple-red.png \
- gtk-demo/background.jpg \
- gtk-demo/floppybuddy.gif \
- gtk-demo/gnome-applets.png \
- gtk-demo/gnome-calendar.png \
- gtk-demo/gnome-foot.png \
- gtk-demo/gnome-fs-directory.png \
- gtk-demo/gnome-fs-regular.png \
- gtk-demo/gnome-gimp.png \
- gtk-demo/gnome-gmush.png \
- gtk-demo/gnome-gsame.png \
- gtk-demo/gnu-keys.png \
- gtk-demo/gtk-logo-rgb.gif
+ gtk-demo/example_builder.ui \
+ gtk-demo/alphatest.png \
+ gtk-demo/apple-red.png \
+ gtk-demo/background.jpg \
+ gtk-demo/floppybuddy.gif \
+ gtk-demo/gnome-applets.png \
+ gtk-demo/gnome-calendar.png \
+ gtk-demo/gnome-foot.png \
+ gtk-demo/gnome-fs-directory.png \
+ gtk-demo/gnome-fs-regular.png \
+ gtk-demo/gnome-gimp.png \
+ gtk-demo/gnome-gmush.png \
+ gtk-demo/gnome-gsame.png \
+ gtk-demo/gnu-keys.png \
+ gtk-demo/gtk-logo-rgb.gif
# Delete built sources on make maintainer-clean.
MAINTAINERCLEANFILES = gtk-demo/demo_resources.c
-gtk-demo/demo_resources.c: gtk-demo/demo.gresource.xml $(GTK_DEMO_RESOURCES)
+gtk-demo/demo_resources.c: gtk-demo/demo.gresource.xml $(GTK_DEMO_RESOURCES) $(GTK_DEMOS)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(dir $<) --generate-source $<
gdkmm_includes = -I$(top_builddir)/gdk $(if $(srcdir:.=),-I$(top_srcdir)/gdk)
diff --git a/demos/gtk-demo/demo.gresource.xml b/demos/gtk-demo/demo.gresource.xml
index 63e5be7..5395a12 100644
--- a/demos/gtk-demo/demo.gresource.xml
+++ b/demos/gtk-demo/demo.gresource.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
+ <gresource prefix="/builder">
+ <file>example_builder.ui</file>
+ </gresource>
<gresource prefix="/iconview">
<file preprocess="to-pixdata">gnome-fs-directory.png</file>
<file preprocess="to-pixdata">gnome-fs-regular.png</file>
@@ -22,6 +25,7 @@
</gresource>
<gresource prefix="/sources">
<file>example_appwindow.cc</file>
+ <file>example_builder.cc</file>
<file>example_buttonbox.cc</file>
<file>example_change_display.cc</file>
<file>example_colorsel.cc</file>
diff --git a/demos/gtk-demo/demos.h b/demos/gtk-demo/demos.h
index 46137ce..94e82bc 100644
--- a/demos/gtk-demo/demos.h
+++ b/demos/gtk-demo/demos.h
@@ -18,6 +18,7 @@ struct Demo
Gtk::Window* do_appwindow();
+Gtk::Window* do_builder();
Gtk::Window* do_buttonbox();
Gtk::Window* do_change_display();
Gtk::Window* do_colorsel();
@@ -55,6 +56,7 @@ Demo child0[] = {
Demo testgtk_demos[] =
{
{ "Application main window", "example_appwindow.cc", sigc::ptr_fun(&do_appwindow), 0 },
+ { "Builder", "example_builder.cc", sigc::ptr_fun(&do_builder), 0 },
{ "Button Boxes", "example_buttonbox.cc", sigc::ptr_fun(&do_buttonbox), 0 },
{ "Change Display", "example_change_display.cc", sigc::ptr_fun(&do_change_display), 0 },
{ "Color Selector", "example_colorsel.cc", sigc::ptr_fun(&do_colorsel), 0 },
@@ -63,8 +65,8 @@ Demo testgtk_demos[] =
{ "Flow Box", "example_flowbox.cc", sigc::ptr_fun(&do_flowbox), 0 },
{ "Gestures", "example_gestures.cc", sigc::ptr_fun(&do_gestures), 0 },
{ "Header Bar", "example_headerbar.cc", sigc::ptr_fun(&do_headerbar), 0 },
- { "Icon Theme", "example_icontheme.cc", sigc::ptr_fun(&do_icontheme), 0 },
- { "Icon View", "example_iconview.cc", sigc::ptr_fun(&do_iconview), 0 },
+ { "Icon Theme", "example_icontheme.cc", sigc::ptr_fun(&do_icontheme), 0 },
+ { "Icon View", "example_iconview.cc", sigc::ptr_fun(&do_iconview), 0 },
{ "Images", "example_images.cc", sigc::ptr_fun(&do_images), 0 },
{ "Menus", "example_menus.cc", sigc::ptr_fun(&do_menus), 0 },
{ "Overlay", "example_overlay.cc", sigc::ptr_fun(&do_overlay), 0 },
diff --git a/demos/gtk-demo/example_builder.cc b/demos/gtk-demo/example_builder.cc
new file mode 100644
index 0000000..d7d2ac7
--- /dev/null
+++ b/demos/gtk-demo/example_builder.cc
@@ -0,0 +1,143 @@
+/* Builder
+ *
+ * Demonstrates an interface loaded from a XML description.
+ */
+
+#include "gtkmm.h"
+#include "gtk/gtk.h"
+#include <iostream> // For std::cout
+
+class Example_Builder : public Gtk::Window
+{
+public:
+ Example_Builder(BaseObjectType* cobject,
+ const Glib::RefPtr<Gtk::Builder>& builder);
+ virtual ~Example_Builder();
+
+protected:
+ void on_file_quit();
+ void on_help_about();
+ void on_help_help();
+
+ Glib::RefPtr<Gtk::Builder> m_builder;
+};
+
+//Called by DemoWindow:
+Gtk::Window* do_builder()
+{
+ // Load the XML file and instantiate its widgets:
+ Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create();
+ try
+ {
+ builder->add_from_resource("/builder/example_builder.ui");
+ }
+ catch (const Glib::Error& error)
+ {
+ std::cout << "Error loading example_builder.ui: " << error.what() << std::endl;
+ return 0;
+ }
+
+ // Get the GtkBuilder-instantiated window:
+ Example_Builder* pWindow = 0;
+ builder->get_widget_derived("window1", pWindow);
+ if (!pWindow)
+ {
+ std::cout << "Could not get 'window1' from the builder." << std::endl;
+ return 0;
+ }
+ return pWindow;
+}
+
+Example_Builder::Example_Builder(
+ BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder)
+: Gtk::Window(cobject),
+ m_builder(builder)
+{
+ Gtk::Toolbar* pToolbar = 0;
+ builder->get_widget("toolbar1", pToolbar);
+ if (pToolbar)
+ pToolbar->get_style_context()->add_class("primary-toolbar");
+
+ Glib::RefPtr<Gio::SimpleActionGroup> refActions = Gio::SimpleActionGroup::create();
+ refActions->add_action("quit", sigc::mem_fun(*this, &Example_Builder::on_file_quit));
+ refActions->add_action("about", sigc::mem_fun(*this, &Example_Builder::on_help_about));
+ refActions->add_action("help", sigc::mem_fun(*this, &Example_Builder::on_help_help));
+ insert_action_group("win", refActions);
+
+ Glib::RefPtr<Gtk::AccelGroup> refAccelGroup = Gtk::AccelGroup::create();
+ add_accel_group(refAccelGroup);
+
+ Gtk::MenuItem* pMenuItem = 0;
+ builder->get_widget("new_item", pMenuItem);
+ if (pMenuItem)
+ pMenuItem->add_accelerator("activate", refAccelGroup,
+ GDK_KEY_n, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE);
+
+ builder->get_widget("open_item", pMenuItem);
+ if (pMenuItem)
+ pMenuItem->add_accelerator("activate", refAccelGroup,
+ GDK_KEY_o, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE);
+
+ builder->get_widget("save_item", pMenuItem);
+ if (pMenuItem)
+ pMenuItem->add_accelerator("activate", refAccelGroup,
+ GDK_KEY_s, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE);
+
+ builder->get_widget("quit_item", pMenuItem);
+ if (pMenuItem)
+ pMenuItem->add_accelerator("activate", refAccelGroup,
+ GDK_KEY_q, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE);
+
+ builder->get_widget("copy_item", pMenuItem);
+ if (pMenuItem)
+ pMenuItem->add_accelerator("activate", refAccelGroup,
+ GDK_KEY_c, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE);
+
+ builder->get_widget("cut_item", pMenuItem);
+ if (pMenuItem)
+ pMenuItem->add_accelerator("activate", refAccelGroup,
+ GDK_KEY_x, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE);
+
+ builder->get_widget("paste_item", pMenuItem);
+ if (pMenuItem)
+ pMenuItem->add_accelerator("activate", refAccelGroup,
+ GDK_KEY_v, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE);
+
+ builder->get_widget("help_item", pMenuItem);
+ if (pMenuItem)
+ pMenuItem->add_accelerator("activate", refAccelGroup,
+ GDK_KEY_F1, (Gdk::ModifierType)0, Gtk::ACCEL_VISIBLE);
+
+ builder->get_widget("about_item", pMenuItem);
+ if (pMenuItem)
+ pMenuItem->add_accelerator("activate", refAccelGroup,
+ GDK_KEY_F7, (Gdk::ModifierType)0, Gtk::ACCEL_VISIBLE);
+
+ show_all();
+}
+
+Example_Builder::~Example_Builder()
+{
+}
+
+void Example_Builder::on_file_quit()
+{
+ hide();
+}
+
+void Example_Builder::on_help_about()
+{
+ Gtk::AboutDialog* pDialog = 0;
+ m_builder->get_widget("aboutdialog1", pDialog);
+ if (pDialog)
+ {
+ pDialog->set_transient_for(*this);
+ pDialog->run();
+ pDialog->hide();
+ }
+}
+
+void Example_Builder::on_help_help()
+{
+ std::cout << "Help not available." << std::endl;
+}
diff --git a/demos/gtk-demo/example_builder.ui b/demos/gtk-demo/example_builder.ui
new file mode 100644
index 0000000..9adca83
--- /dev/null
+++ b/demos/gtk-demo/example_builder.ui
@@ -0,0 +1,302 @@
+<?xml version="1.0" standalone="no"?>
+<!--*- mode: xml -*-->
+<interface>
+ <object class="GtkListStore" id="liststore1">
+ <columns>
+ <column type="gchararray"/>
+ <column type="gchararray"/>
+ <column type="gint"/>
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">John</col>
+ <col id="1" translatable="yes">Doe</col>
+ <col id="2">25</col>
+ <col id="3" translatable="yes">This is the John Doe row</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Mary</col>
+ <col id="1" translatable="yes">Unknown</col>
+ <col id="2">50</col>
+ <col id="3" translatable="yes">This is the Mary Unknown row</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkAboutDialog" id="aboutdialog1">
+ <property name="program-name" translatable="yes">Gtk::Builder demo</property>
+ <property name="logo-icon-name" translatable="yes">gtk3-demo</property>
+ <accessibility>
+ <relation target="window1" type="subwindow-of"/>
+ </accessibility>
+ </object>
+ <object class="GtkWindow" id="window1">
+ <property name="default_height">250</property>
+ <property name="default_width">440</property>
+ <property name="title">Gtk::Builder demo</property>
+ <child>
+ <object class="GtkVBox" id="vbox1">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkMenuBar" id="menubar1">
+ <property name="visible">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="a11y-menubar">
+ <property name="AtkObject::accessible-name">The menubar</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_File</property>
+ <property name="use-underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu">
+ <child>
+ <object class="GtkMenuItem" id="new_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_New</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="open_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Open</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="save_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Save</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="save_as_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Save _As</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparatorMenuItem">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="quit_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Quit</property>
+ <property name="use-underline">True</property>
+ <property name="action-name">win.quit</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Edit</property>
+ <property name="use-underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu">
+ <child>
+ <object class="GtkMenuItem" id="copy_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Copy</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="cut_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Cut</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="paste_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Paste</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Help</property>
+ <property name="use-underline">True</property>
+ <child type="submenu">
+ <object class="GtkMenu">
+ <child>
+ <object class="GtkMenuItem" id="help_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Help</property>
+ <property name="use-underline">True</property>
+ <property name="action-name">win.help</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem" id="about_item">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_About</property>
+ <property name="use-underline">True</property>
+ <property name="action-name">win.about</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToolbar" id="toolbar1">
+ <property name="visible">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="a11y-toolbar">
+ <property name="AtkObject::accessible-name">The toolbar</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">New</property>
+ <property name="tooltip-text" translatable="yes">Create a new file</property>
+ <property name="icon-name">document-new</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Open</property>
+ <property name="tooltip-text" translatable="yes">Open a file</property>
+ <property name="icon-name">document-open</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Save</property>
+ <property name="tooltip-text" translatable="yes">Save a file</property>
+ <property name="icon-name">document-save</property>
+ <property name="is-important">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparatorToolItem">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Copy</property>
+ <property name="tooltip-text" translatable="yes">Copy selected object into the
clipboard</property>
+ <property name="icon-name">edit-copy</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Cut</property>
+ <property name="tooltip-text" translatable="yes">Cut selected object into the
clipboard</property>
+ <property name="icon-name">edit-cut</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToolButton">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Paste</property>
+ <property name="tooltip-text" translatable="yes">Paste object from the clipboard</property>
+ <property name="icon-name">edit-paste</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ <property name="expand">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <property name="shadow_type">in</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkTreeView" id="treeview1">
+ <property name="visible">True</property>
+ <property name="model">liststore1</property>
+ <property name="tooltip-column">3</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="a11y-treeview">
+ <property name="AtkObject::accessible-name">Name list</property>
+ <property name="AtkObject::accessible-description">
+ A list of person with name, surname and age columns
+ </property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="column1">
+ <property name="title">Name</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer1"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="column2">
+ <property name="title">Surname</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer2"/>
+ <attributes>
+ <attribute name="text">1</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="column3">
+ <property name="title">Age</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer3"/>
+ <attributes>
+ <attribute name="text">2</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkStatusbar" id="statusbar1">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="position">3</property>
+ <property name="expand">False</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]