[libgd] GdHeaderBar: implement GtkBuildable
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgd] GdHeaderBar: implement GtkBuildable
- Date: Mon, 18 Feb 2013 16:41:25 +0000 (UTC)
commit 8c6b1f72b295174f1ce0a77a8398b09239d30365
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Mon Feb 18 17:33:21 2013 +0100
GdHeaderBar: implement GtkBuildable
libgd/gd-header-bar.c | 26 +++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 deletions(-)
---
diff --git a/libgd/gd-header-bar.c b/libgd/gd-header-bar.c
index 07c5390..d7b8952 100644
--- a/libgd/gd-header-bar.c
+++ b/libgd/gd-header-bar.c
@@ -63,7 +63,11 @@ enum {
CHILD_PROP_POSITION
};
-G_DEFINE_TYPE (GdHeaderBar, gd_header_bar, GTK_TYPE_CONTAINER);
+static void gd_header_buildable_init (GtkBuildableIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GdHeaderBar, gd_header_bar, GTK_TYPE_CONTAINER,
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
+ gd_header_buildable_init));
static void
boldify_label (GtkWidget *label)
@@ -1094,6 +1098,26 @@ gd_header_bar_class_init (GdHeaderBarClass *class)
g_type_class_add_private (object_class, sizeof (GdHeaderBarPrivate));
}
+static void
+gd_header_buildable_add_child (GtkBuildable *buildable,
+ GtkBuilder *builder,
+ GObject *child,
+ const gchar *type)
+{
+ if (type && strcmp (type, "title") == 0)
+ gd_header_bar_set_custom_title (GD_HEADER_BAR (buildable), GTK_WIDGET (child));
+ else if (!type)
+ gtk_container_add (GTK_CONTAINER (buildable), GTK_WIDGET (child));
+ else
+ GTK_BUILDER_WARN_INVALID_CHILD_TYPE (GD_HEADER_BAR (buildable), type);
+}
+
+static void
+gd_header_buildable_init (GtkBuildableIface *iface)
+{
+ iface->add_child = gd_header_buildable_add_child;
+}
+
void
gd_header_bar_pack_start (GdHeaderBar *bar,
GtkWidget *child)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]