X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fhelper.c;fp=src%2Fui%2Fgui%2Fhelper.c;h=6a3a0f9e6ce0b83ee360f62ca9f790205084da7e;hb=8953baa61127d6d3b91f763663ea647bf3e4e793;hp=12003e2ac23f8a48ec17a348c8aaca970921dd67;hpb=9dee07e30883ae4e1c72ebf3c612655fdf8ad6f5;p=pspp-builds.git diff --git a/src/ui/gui/helper.c b/src/ui/gui/helper.c index 12003e2a..6a3a0f9e 100644 --- a/src/ui/gui/helper.c +++ b/src/ui/gui/helper.c @@ -34,6 +34,7 @@ #include #include +#include #include #include @@ -102,14 +103,35 @@ text_to_value (const gchar *text, union value *v, } +GtkBuilder * +builder_new_real (const gchar *name) +{ + GtkBuilder *builder = gtk_builder_new (); + + GError *err = NULL; + if ( ! gtk_builder_add_from_file (builder, name, &err)) + { + g_critical ("Couldnt open user interface file %s: %s", name, err->message); + g_clear_error (&err); + } + + return builder; +} + + + GtkWidget * -get_widget_assert (GladeXML *xml, const gchar *name) +get_widget_assert (gpointer x, const gchar *name) { - GtkWidget *w; - g_assert (xml); + GObject *obj = G_OBJECT (x); + GtkWidget *w = NULL; g_assert (name); - w = glade_xml_get_widget (xml, name); + if (GTK_IS_BUILDER (obj)) + w = GTK_WIDGET (gtk_builder_get_object (GTK_BUILDER (obj), name)); + + if (GLADE_IS_XML (obj)) + w = glade_xml_get_widget (GLADE_XML (obj), name); if ( !w ) g_critical ("Widget \"%s\" could not be found\n", name); @@ -300,7 +322,6 @@ clone_list_store (const GtkListStore *src) - void paste_syntax_in_new_window (const gchar *syntax) {