[AS_HELP_STRING([--without-gui], [don't build the PSPPIRE gui])])
required_gtk_version=2.12
-if test x"$enable_anachronistic_dependencies" = x"yes" ; then
- required_gtk_version=2.8.20
-fi
if test x"$with_gui" != x"no" ; then
PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $required_gtk_version,,
#include <config.h>
#include <gtk/gtk.h>
-#include <glade/glade.h>
#include <libpspp/copyleft.h>
#include <libpspp/version.h>
void
about_new (GtkMenuItem *m, GtkWindow *parent)
{
- GladeXML *xml = XML_NEW ("psppire.glade");
+ GtkBuilder *xml = builder_new ("psppire.ui");
GtkWidget *about = get_widget_assert (xml, "aboutdialog1");
src_ui_gui_psppiredir = $(pkgdatadir)
-dist_src_ui_gui_psppire_DATA = \
- $(top_srcdir)/src/ui/gui/data-editor.glade \
- $(top_srcdir)/src/ui/gui/descriptives-dialog.glade \
- $(top_srcdir)/src/ui/gui/examine.glade \
+nodist_src_ui_gui_psppire_DATA = \
+ $(top_srcdir)/src/ui/gui/crosstabs.ui \
+ $(top_srcdir)/src/ui/gui/examine.ui \
+ $(top_srcdir)/src/ui/gui/frequencies.ui \
+ $(top_srcdir)/src/ui/gui/message-dialog.ui \
+ $(top_srcdir)/src/ui/gui/psppire.ui \
+ $(top_srcdir)/src/ui/gui/oneway.ui \
+ $(top_srcdir)/src/ui/gui/rank.ui \
+ $(top_srcdir)/src/ui/gui/recode.ui \
+ $(top_srcdir)/src/ui/gui/regression.ui \
+ $(top_srcdir)/src/ui/gui/t-test.ui
+
+EXTRA_DIST += \
$(top_srcdir)/src/ui/gui/crosstabs.glade \
+ $(top_srcdir)/src/ui/gui/examine.glade \
$(top_srcdir)/src/ui/gui/frequencies.glade \
$(top_srcdir)/src/ui/gui/message-dialog.glade \
- $(top_srcdir)/src/ui/gui/oneway.glade \
- $(top_srcdir)/src/ui/gui/output-viewer.glade \
$(top_srcdir)/src/ui/gui/psppire.glade \
+ $(top_srcdir)/src/ui/gui/oneway.glade \
$(top_srcdir)/src/ui/gui/rank.glade \
$(top_srcdir)/src/ui/gui/recode.glade \
$(top_srcdir)/src/ui/gui/regression.glade \
+ $(top_srcdir)/src/ui/gui/t-test.glade
+
+dist_src_ui_gui_psppire_DATA = \
+ $(top_srcdir)/src/ui/gui/data-editor.glade \
+ $(top_srcdir)/src/ui/gui/descriptives-dialog.glade \
+ $(top_srcdir)/src/ui/gui/output-viewer.glade \
$(top_srcdir)/src/ui/gui/syntax-editor.glade \
$(top_srcdir)/src/ui/gui/text-data-import.glade \
- $(top_srcdir)/src/ui/gui/t-test.glade \
$(top_srcdir)/src/ui/gui/psppicon.png \
$(top_srcdir)/src/ui/gui/pspplogo.png \
$(top_srcdir)/src/ui/gui/icons/value-labels.png \
src/ui/gui/psppire-marshal.h
-
-
yelp-check:
@if ! yelp --version > /dev/null 2>&1 ; then \
echo ; \
src/ui/gui/psppire-marshal.h: src/ui/gui/marshaller-list
glib-genmarshal --header --prefix=psppire_marshal $< > $@
+.glade.ui:
+ gtk-builder-convert $< $@
+
EXTRA_DIST += src/ui/gui/OChangeLog\
src/ui/gui/marshaller-list
#include "dialog-common.h"
#include <gtk/gtk.h>
-#include <glade/glade.h>
#include <gettext.h>
struct comment_dialog
{
- GladeXML *xml;
+ GtkBuilder *xml;
PsppireDict *dict;
};
PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data);
struct comment_dialog cd;
- GladeXML *xml = XML_NEW ("psppire.glade");
+ GtkBuilder *xml = builder_new ("psppire.ui");
GtkWidget *dialog = get_widget_assert (xml, "comments-dialog");
GtkWidget *textview = get_widget_assert (xml, "comments-textview1");
struct compute_dialog
{
- GladeXML *xml; /* The xml that generated the widgets */
+ GtkBuilder *xml; /* The xml that generated the widgets */
PsppireDict *dict;
gboolean use_type;
};
static void
on_keypad_button (PsppireKeypad *kp, const gchar *syntax, gpointer data)
{
- GladeXML *xml = data;
+ GtkBuilder *xml = data;
GtkWidget *rhs = get_widget_assert (xml, "compute-textview1");
static void
erase (PsppireKeypad *kp, gpointer data)
{
- GladeXML *xml = data;
+ GtkBuilder *xml = data;
GtkWidget *rhs = get_widget_assert (xml, "compute-textview1");
PsppireVarStore *vs = NULL;
struct compute_dialog scd;
- GladeXML *xml = XML_NEW ("psppire.glade");
+ GtkBuilder *xml = builder_new ("psppire.ui");
GtkWidget *dialog = get_widget_assert (xml, "compute-variable-dialog");
#include <gtk/gtk.h>
-#include <glade/glade.h>
-
void compute_dialog (GObject *o, gpointer data);
#include <ui/gui/psppire-data-window.h>
#include <ui/gui/dialog-common.h>
#include <ui/gui/dict-display.h>
-#include <ui/gui/helper.h>
+#include "helper.h"
#include <ui/gui/psppire-dialog.h>
#include <ui/gui/psppire-var-store.h>
#include <ui/gui/helper.h>
gint response;
struct crosstabs_dialog cd;
- GladeXML *xml = XML_NEW ("crosstabs.glade");
-
+ GtkBuilder *xml = builder_new ("crosstabs.ui");
PsppireVarStore *vs = NULL;
PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data);
#include <gtk/gtk.h>
-#include <glade/glade.h>
void crosstabs_dialog (GObject *o, gpointer data);
struct examine_dialog ex_d;
-
- GladeXML *xml = XML_NEW ("examine.glade");
-
+ GtkBuilder *xml = builder_new ("examine.ui");
GtkWidget *dialog = get_widget_assert (xml, "examine-dialog");
GtkWidget *source = get_widget_assert (xml, "treeview1");
#include <gtk/gtk.h>
-#include <glade/glade.h>
-
void examine_dialog (GObject *o, gpointer data);
#include <libpspp/message.h>
#include <gtk/gtk.h>
-#include <glade/glade.h>
#include <stdlib.h>
#include "xalloc.h"
struct find_dialog
{
- GladeXML *xml;
+ GtkBuilder *xml;
PsppireDict *dict;
struct datasheet *data;
PsppireDataWindow *de;
PsppireVarStore *vs ;
PsppireDataStore *ds ;
- fd.xml = XML_NEW ("psppire.glade");
+ fd.xml = builder_new ("psppire.ui");
fd.de = de;
find_button = gtk_button_new_from_stock (GTK_STOCK_FIND);
struct frequencies_dialog fd;
- GladeXML *xml = XML_NEW ("frequencies.glade");
+ GtkBuilder *xml = builder_new ("frequencies.ui");
GtkWidget *dialog = get_widget_assert (xml, "frequencies-dialog");
GtkWidget *source = get_widget_assert (xml, "dict-treeview");
#include <gtk/gtk.h>
-#include <glade/glade.h>
-
void frequencies_dialog (GObject *o, gpointer data);
static void
-refresh (const PsppireDataWindow *de, GladeXML *xml)
+refresh (const PsppireDataWindow *de, GtkBuilder *xml)
{
PsppireDataStore *ds = NULL;
casenumber case_count ;
goto_case_dialog (GObject *o, gpointer data)
{
gint response;
- GladeXML *xml = XML_NEW ("psppire.glade");
+ GtkBuilder *xml = builder_new ("psppire.ui");
PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data);
GtkWidget *dialog = get_widget_assert (xml, "goto-case-dialog");
#include <gtk/gtk.h>
-#include <glade/glade.h>
-
void goto_case_dialog (GObject *o, gpointer data);
#include <data/casereader-provider.h>
#include <libpspp/message.h>
+#include <gtk/gtkbuilder.h>
#include <libpspp/i18n.h>
#include <ctype.h>
}
+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);
}
-
-
void
paste_syntax_in_new_window (const gchar *syntax)
{
gboolean text_to_value (const gchar *text, union value *v,
struct fmt_spec format);
-GtkWidget * get_widget_assert (GladeXML *xml, const gchar *name);
+GtkWidget * get_widget_assert (gpointer x, const gchar *name);
/* Converts a string in the pspp locale to utf-8 */
char * pspp_locale_to_utf8 (const gchar *text, gssize len, GError **err);
glade_xml_new (relocate(PKGDATADIR "/" FILE), NULL, NULL)
-void marshaller_VOID__INT_INT_INT (GClosure *closure,
- GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data);
+#define builder_new(NAME) builder_new_real (relocate (PKGDATADIR "/" NAME))
+
+GtkBuilder *builder_new_real (const gchar *name);
/* Create a deep copy of SRC */
#include <gtk/gtk.h>
-#include <glade/glade.h>
#include <glib.h>
#include "helper.h"
static int error_cnt, warning_cnt, note_cnt;
-static GladeXML *message_xml;
+static GtkBuilder *message_xml;
static GtkWidget *message_dialog;
void
late_queue = g_queue_new ();
error_cnt = warning_cnt = note_cnt = 0;
msg_init (ss, enqueue_msg);
- message_xml = XML_NEW ("message-dialog.glade");
+ message_xml = builder_new ("message-dialog.ui");
message_dialog = get_widget_assert (message_xml, "message-dialog");
}
#include <config.h>
-#include <glade/glade.h>
#include <gtk/gtk.h>
#include "oneway-anova-dialog.h"
#include "psppire-dict.h"
}
+
/* Pops up the dialog box */
void
oneway_anova_dialog (GObject *o, gpointer data)
PsppireVarStore *vs = NULL;
- GladeXML *xml = XML_NEW ("oneway.glade");
-
struct oneway_anova_dialog ow;
+ GtkBuilder *builder = builder_new ("oneway.ui");
+
GtkWidget *dict_view =
- get_widget_assert (xml, "oneway-anova-treeview1");
+ get_widget_assert (builder, "oneway-anova-treeview1");
GtkWidget *selector2 =
- get_widget_assert (xml, "oneway-anova-selector2");
+ get_widget_assert (builder, "oneway-anova-selector2");
GtkWidget *selector1 =
- get_widget_assert (xml, "oneway-anova-selector1");
+ get_widget_assert (builder, "oneway-anova-selector1");
GtkWidget *contrasts_button =
- get_widget_assert (xml, "contrasts-button");
+ get_widget_assert (builder, "contrasts-button");
g_signal_connect_swapped (contrasts_button, "clicked",
G_CALLBACK (run_contrasts_dialog), &ow);
- ow.factor_entry = get_widget_assert (xml, "oneway-anova-entry");
+ ow.factor_entry = get_widget_assert (builder, "oneway-anova-entry");
ow.vars_treeview =
- get_widget_assert (xml, "oneway-anova-treeview2");
+ get_widget_assert (builder, "oneway-anova-treeview2");
ow.descriptives =
- GTK_TOGGLE_BUTTON (get_widget_assert (xml, "checkbutton1"));
+ GTK_TOGGLE_BUTTON (get_widget_assert (builder, "checkbutton1"));
ow.homogeneity =
- GTK_TOGGLE_BUTTON (get_widget_assert (xml, "checkbutton2"));
+ GTK_TOGGLE_BUTTON (get_widget_assert (builder, "checkbutton2"));
g_object_get (de->data_editor, "var-store", &vs, NULL);
ow.dict = vs->dict;
ow.dialog =
- GTK_WINDOW (get_widget_assert (xml, "oneway-anova-dialog"));
+ GTK_WINDOW (get_widget_assert (builder, "oneway-anova-dialog"));
gtk_window_set_transient_for (ow.dialog, GTK_WINDOW (de));
{
struct contrasts_subdialog *cd = &ow.contrasts;
- GtkEntry *entry = GTK_ENTRY (get_widget_assert (xml, "entry1"));
+ GtkEntry *entry = GTK_ENTRY (get_widget_assert (builder, "entry1"));
- cd->acr = PSPPIRE_ACR (get_widget_assert (xml, "psppire-acr1"));
- cd->contrasts_dialog = get_widget_assert (xml, "contrasts-dialog");
+ cd->acr = PSPPIRE_ACR (get_widget_assert (builder, "psppire-acr1"));
+ cd->contrasts_dialog = get_widget_assert (builder, "contrasts-dialog");
- cd->next = get_widget_assert (xml, "next-button");
- cd->prev = get_widget_assert (xml, "prev-button");
- cd->ctotal = get_widget_assert (xml, "entry2");
+ cd->next = get_widget_assert (builder, "next-button");
+ cd->prev = get_widget_assert (builder, "prev-button");
+ cd->ctotal = get_widget_assert (builder, "entry2");
- cd->stack_label = get_widget_assert (xml, "contrast-stack-label");
+ cd->stack_label = get_widget_assert (builder, "contrast-stack-label");
/* Contrasts */
ow.contrasts_array = g_array_new (FALSE, FALSE, sizeof (GtkListStore *));
g_array_free (ow.contrasts_array, FALSE);
- g_object_unref (xml);
+ g_object_unref (builder);
}
#include <gtk/gtk.h>
#include <gtk/gtksignal.h>
+#include <gtk/gtkbuildable.h>
#include "psppire-dialog.h"
#include "psppire-buttonbox.h"
#include "psppire-selector.h"
static guint signals [n_SIGNALS];
+static void psppire_dialog_buildable_init (GtkBuildableIface *iface);
+
+
GType
psppire_dialog_get_type (void)
{
(GInstanceInitFunc) psppire_dialog_init,
};
+ static const GInterfaceInfo buildable_info =
+ {
+ (GInterfaceInitFunc) psppire_dialog_buildable_init,
+ NULL,
+ NULL
+ };
+
dialog_type = g_type_register_static (GTK_TYPE_WINDOW,
"PsppireDialog", &dialog_info, 0);
+
+ g_type_add_interface_static (dialog_type,
+ GTK_TYPE_BUILDABLE,
+ &buildable_info);
+
}
return dialog_type;
}
+
+
+
+static GObject *
+get_internal_child (GtkBuildable *buildable,
+ GtkBuilder *builder,
+ const gchar *childname)
+{
+ PsppireDialog *dialog = PSPPIRE_DIALOG (buildable);
+
+ if ( 0 == g_strcmp0 (childname, "hbox"))
+ return G_OBJECT (dialog->box);
+
+ return NULL;
+}
+
+
+
+static void
+psppire_dialog_buildable_init (GtkBuildableIface *iface)
+{
+ iface->get_internal_child = get_internal_child;
+}
gtk_container_add (GTK_CONTAINER (window), box);
g_object_ref (menubar);
- gtk_widget_unparent (menubar);
g_object_ref (sw);
- gtk_widget_unparent (sw);
g_object_ref (sb);
- gtk_widget_unparent (sb);
gtk_box_pack_start (GTK_BOX (box), menubar, FALSE, TRUE, 0);
<property name="left_margin">3</property>
<property name="cursor_visible">False</property>
<property name="accepts_tab">False</property>
- <property name="text" translatable="yes">
-
-
-
-
-
-
-
-
-
-</property>
</widget>
</child>
</widget>
struct rank_dialog rd;
- GladeXML *xml = XML_NEW ("rank.glade");
+ GtkBuilder * builder = builder_new ("rank.ui");
- GtkWidget *vars = get_widget_assert (xml, "dict-treeview");
- GtkWidget *selector1 = get_widget_assert (xml, "psppire-selector1");
- GtkWidget *selector2 = get_widget_assert (xml, "psppire-selector2");
+ GtkWidget *vars = get_widget_assert (builder, "dict-treeview");
+ GtkWidget *selector1 = get_widget_assert (builder, "psppire-selector1");
+ GtkWidget *selector2 = get_widget_assert (builder, "psppire-selector2");
- GtkWidget *types_button = get_widget_assert (xml, "button1");
- GtkWidget *ties_button = get_widget_assert (xml, "button2");
+ GtkWidget *types_button = get_widget_assert (builder, "button1");
+ GtkWidget *ties_button = get_widget_assert (builder, "button2");
PsppireVarStore *vs = NULL;
g_object_get (de->data_editor, "var-store", &vs, NULL);
rd.dict = vs->dict;
- rd.rank_vars = get_widget_assert (xml, "variables-treeview");
- rd.group_vars = get_widget_assert (xml, "group-vars-treeview");
- rd.dialog = get_widget_assert (xml, "rank-dialog");
+ rd.rank_vars = get_widget_assert (builder, "variables-treeview");
+ rd.group_vars = get_widget_assert (builder, "group-vars-treeview");
+ rd.dialog = get_widget_assert (builder, "rank-dialog");
rd.ascending_togglebutton =
- GTK_TOGGLE_BUTTON (get_widget_assert (xml, "radiobutton1"));
+ GTK_TOGGLE_BUTTON (get_widget_assert (builder, "radiobutton1"));
rd.summary_togglebutton =
- GTK_TOGGLE_BUTTON (get_widget_assert (xml, "summary-checkbutton"));
+ GTK_TOGGLE_BUTTON (get_widget_assert (builder, "summary-checkbutton"));
- rd.types_dialog = get_widget_assert (xml, "rank-types-dialog");
+ rd.types_dialog = get_widget_assert (builder, "rank-types-dialog");
- rd.ntiles_entry = get_widget_assert (xml, "ntiles-entry");
+ rd.ntiles_entry = get_widget_assert (builder, "ntiles-entry");
rd.func_button[RANK] =
- GTK_TOGGLE_BUTTON (get_widget_assert (xml, "rank-checkbutton"));
+ GTK_TOGGLE_BUTTON (get_widget_assert (builder, "rank-checkbutton"));
rd.func_button[SAVAGE] =
- GTK_TOGGLE_BUTTON (get_widget_assert (xml, "savage-checkbutton"));
+ GTK_TOGGLE_BUTTON (get_widget_assert (builder, "savage-checkbutton"));
rd.func_button[RFRACTION] =
- GTK_TOGGLE_BUTTON (get_widget_assert (xml, "rfrac-checkbutton"));
+ GTK_TOGGLE_BUTTON (get_widget_assert (builder, "rfrac-checkbutton"));
rd.func_button[PERCENT] =
- GTK_TOGGLE_BUTTON (get_widget_assert (xml, "percent-checkbutton"));
+ GTK_TOGGLE_BUTTON (get_widget_assert (builder, "percent-checkbutton"));
rd.func_button[N] =
- GTK_TOGGLE_BUTTON (get_widget_assert (xml, "sum-checkbutton"));
+ GTK_TOGGLE_BUTTON (get_widget_assert (builder, "sum-checkbutton"));
rd.func_button[NTILES] =
- GTK_TOGGLE_BUTTON (get_widget_assert (xml, "ntiles-checkbutton"));
+ GTK_TOGGLE_BUTTON (get_widget_assert (builder, "ntiles-checkbutton"));
rd.func_button[PROPORTION] =
- GTK_TOGGLE_BUTTON (get_widget_assert (xml, "prop-checkbutton"));
+ GTK_TOGGLE_BUTTON (get_widget_assert (builder, "prop-checkbutton"));
rd.func_button[NORMAL] =
- GTK_TOGGLE_BUTTON (get_widget_assert (xml, "normal-checkbutton"));
+ GTK_TOGGLE_BUTTON (get_widget_assert (builder, "normal-checkbutton"));
- rd.formula_box = get_widget_assert (xml, "formula-frame");
+ rd.formula_box = get_widget_assert (builder, "formula-frame");
- rd.blom = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "blom-button"));
- rd.tukey = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "tukey-button"));
- rd.rankit = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "rankit-button"));
- rd.vw = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "vw-button"));
+ rd.blom = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "blom-button"));
+ rd.tukey = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "tukey-button"));
+ rd.rankit = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "rankit-button"));
+ rd.vw = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "vw-button"));
/* Ties dialog */
- rd.ties_dialog = PSPPIRE_DIALOG (get_widget_assert (xml, "ties-dialog"));
+ rd.ties_dialog = PSPPIRE_DIALOG (get_widget_assert (builder, "ties-dialog"));
- rd.mean = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "mean-button"));
- rd.low = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "low-button"));
- rd.high = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "high-button"));
- rd.condense = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "condense-button"));
+ rd.mean = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "mean-button"));
+ rd.low = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "low-button"));
+ rd.high = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "high-button"));
+ rd.condense = GTK_TOGGLE_BUTTON (get_widget_assert (builder, "condense-button"));
g_signal_connect_swapped (rd.func_button[PROPORTION], "toggled",
G_CALLBACK (set_sensitivity),
break;
}
- g_object_unref (xml);
+ g_object_unref (builder);
}
#include <gtk/gtk.h>
-#include <glade/glade.h>
-
void rank_dialog (GObject *o, gpointer data);
struct recode_dialog rd;
- GladeXML *xml = XML_NEW ("recode.glade");
+ GtkBuilder *builder = builder_new ("recode.ui");
+ GtkWidget *selector = get_widget_assert (builder, "psppire-selector1");
- GtkWidget *selector = get_widget_assert (xml, "psppire-selector1");
+ GtkWidget *oldandnew = get_widget_assert (builder, "button1");
- GtkWidget *oldandnew = get_widget_assert (xml, "button1");
-
- GtkWidget *output_variable_box = get_widget_assert (xml,"frame4");
+ GtkWidget *output_variable_box = get_widget_assert (builder,"frame4");
PsppireVarStore *vs = NULL;
g_object_get (de->data_editor, "var-store", &vs, NULL);
- rd.change_button = get_widget_assert (xml, "change-button");
+ rd.change_button = get_widget_assert (builder, "change-button");
- rd.dialog = get_widget_assert (xml, "recode-dialog");
- rd.dict_treeview = get_widget_assert (xml, "treeview1");
- rd.variable_treeview = get_widget_assert (xml, "treeview2");
- rd.new_name_entry = get_widget_assert (xml, "dest-name-entry");
- rd.new_label_entry = get_widget_assert (xml, "dest-label-entry");
+ rd.dialog = get_widget_assert (builder, "recode-dialog");
+ rd.dict_treeview = get_widget_assert (builder, "treeview1");
+ rd.variable_treeview = get_widget_assert (builder, "treeview2");
+ rd.new_name_entry = get_widget_assert (builder, "dest-name-entry");
+ rd.new_label_entry = get_widget_assert (builder, "dest-label-entry");
rd.dict = vs->dict;
/* Set up the Old & New Values subdialog */
{
- rd.string_button = get_widget_assert (xml, "checkbutton1");
- rd.width_entry = get_widget_assert (xml, "spinbutton1");
+ rd.string_button = get_widget_assert (builder, "checkbutton1");
+ rd.width_entry = get_widget_assert (builder, "spinbutton1");
- rd.convert_button = get_widget_assert (xml, "checkbutton2");
+ rd.convert_button = get_widget_assert (builder, "checkbutton2");
- rd.ov_range_lower_entry = get_widget_assert (xml, "entry5");
- rd.ov_range_upper_entry = get_widget_assert (xml, "entry3");
- rd.ov_low_up_entry = get_widget_assert (xml, "entry6");
- rd.ov_high_down_entry = get_widget_assert (xml, "entry7");
+ rd.ov_range_lower_entry = get_widget_assert (builder, "entry5");
+ rd.ov_range_upper_entry = get_widget_assert (builder, "entry3");
+ rd.ov_low_up_entry = get_widget_assert (builder, "entry6");
+ rd.ov_high_down_entry = get_widget_assert (builder, "entry7");
- rd.new_value_entry = get_widget_assert (xml, "entry1");
- rd.ov_value_entry = get_widget_assert (xml, "entry2");
+ rd.new_value_entry = get_widget_assert (builder, "entry1");
+ rd.ov_value_entry = get_widget_assert (builder, "entry2");
- rd.toggle[BUTTON_NEW_VALUE] = get_widget_assert (xml, "radiobutton1");
- rd.toggle[BUTTON_NEW_SYSMIS] = get_widget_assert (xml, "radiobutton2");
- rd.toggle[BUTTON_NEW_COPY] = get_widget_assert (xml, "radiobutton3");
- rd.toggle[BUTTON_OLD_VALUE] = get_widget_assert (xml, "radiobutton4");
- rd.toggle[BUTTON_OLD_SYSMIS] = get_widget_assert (xml, "radiobutton6");
- rd.toggle[BUTTON_OLD_MISSING]= get_widget_assert (xml, "radiobutton7");
- rd.toggle[BUTTON_OLD_RANGE] = get_widget_assert (xml, "radiobutton8");
- rd.toggle[BUTTON_OLD_LOW_UP] = get_widget_assert (xml, "radiobutton10");
- rd.toggle[BUTTON_OLD_HIGH_DOWN] = get_widget_assert (xml, "radiobutton5");
- rd.toggle[BUTTON_OLD_ELSE] = get_widget_assert (xml, "radiobutton11");
+ rd.toggle[BUTTON_NEW_VALUE] = get_widget_assert (builder, "radiobutton1");
+ rd.toggle[BUTTON_NEW_SYSMIS] = get_widget_assert (builder, "radiobutton2");
+ rd.toggle[BUTTON_NEW_COPY] = get_widget_assert (builder, "radiobutton3");
+ rd.toggle[BUTTON_OLD_VALUE] = get_widget_assert (builder, "radiobutton4");
+ rd.toggle[BUTTON_OLD_SYSMIS] = get_widget_assert (builder, "radiobutton6");
+ rd.toggle[BUTTON_OLD_MISSING]= get_widget_assert (builder, "radiobutton7");
+ rd.toggle[BUTTON_OLD_RANGE] = get_widget_assert (builder, "radiobutton8");
+ rd.toggle[BUTTON_OLD_LOW_UP] = get_widget_assert (builder, "radiobutton10");
+ rd.toggle[BUTTON_OLD_HIGH_DOWN] = get_widget_assert (builder, "radiobutton5");
+ rd.toggle[BUTTON_OLD_ELSE] = get_widget_assert (builder, "radiobutton11");
- rd.new_copy_label = get_widget_assert (xml, "label3");
- rd.strings_box = get_widget_assert (xml, "table3");
+ rd.new_copy_label = get_widget_assert (builder, "label3");
+ rd.strings_box = get_widget_assert (builder, "table3");
rd.old_and_new_dialog =
- PSPPIRE_DIALOG (get_widget_assert (xml, "old-new-values-dialog"));
+ PSPPIRE_DIALOG (get_widget_assert (builder, "old-new-values-dialog"));
gtk_window_set_transient_for (GTK_WINDOW (rd.old_and_new_dialog),
GTK_WINDOW (de));
- rd.acr = PSPPIRE_ACR (get_widget_assert (xml, "psppire-acr1"));
+ rd.acr = PSPPIRE_ACR (get_widget_assert (builder, "psppire-acr1"));
g_signal_connect_swapped (rd.toggle[BUTTON_NEW_VALUE], "toggled",
G_CALLBACK (set_acr), &rd);
g_signal_connect (rd.toggle[BUTTON_OLD_RANGE], "toggled",
G_CALLBACK (toggle_sensitivity),
- get_widget_assert (xml, "entry3"));
+ get_widget_assert (builder, "entry3"));
g_signal_connect (rd.toggle[BUTTON_OLD_RANGE], "toggled",
G_CALLBACK (toggle_sensitivity),
- get_widget_assert (xml, "entry5"));
+ get_widget_assert (builder, "entry5"));
g_signal_connect (rd.toggle[BUTTON_OLD_LOW_UP], "toggled",
G_CALLBACK (toggle_sensitivity), rd.ov_low_up_entry);
gtk_list_store_clear (GTK_LIST_STORE (rd.value_map));
g_object_unref (rd.value_map);
- g_object_unref (xml);
+ g_object_unref (builder);
}
/* Initialise VAL to reflect the current status of RD */
gint response;
struct regression_dialog rd;
- GladeXML *xml = XML_NEW ("regression.glade");
+ GtkBuilder *xml = builder_new ("regression.ui");
PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data);
-
PsppireVarStore *vs;
GtkWidget *dialog = get_widget_assert (xml, "regression-dialog");
#include <gtk/gtk.h>
-#include <glade/glade.h>
-
void regression_dialog (GObject *o, gpointer data);
#include "select-cases-dialog.h"
#include <gtk/gtk.h>
-#include <glade/glade.h>
#include "helper.h"
#include "psppire-dialog.h"
#include "psppire-data-window.h"
struct select_cases_dialog
{
/* The XML that created the dialog */
- GladeXML *xml;
+ GtkBuilder *xml;
GtkWidget *spinbutton ;
GtkWidget *spinbutton1 ;
GtkWidget *button_range;
GtkWidget *button_sample;
- scd.xml = XML_NEW ("psppire.glade");
+ scd.xml = builder_new ("psppire.ui");
g_object_get (de->data_editor, "data-store", &scd.data_store, NULL);
#include <gtk/gtk.h>
-#include <glade/glade.h>
void select_cases_dialog (GObject *o, gpointer data);
struct sort_cases_dialog scd;
- GladeXML *xml = XML_NEW ("psppire.glade");
+ GtkBuilder *xml = builder_new ("psppire.ui");
GtkWidget *dialog = get_widget_assert (xml, "sort-cases-dialog");
#include <gtk/gtk.h>
-#include <glade/glade.h>
-
void sort_cases_dialog (GObject *o, gpointer data);
#include <data/dictionary.h>
#include <gtk/gtk.h>
-#include <glade/glade.h>
#include "dialog-common.h"
struct split_file_dialog
{
/* The XML that created the dialog */
- GladeXML *xml;
+ GtkBuilder *xml;
/* The dictionary to which this dialog pertains */
PsppireDict *dict;
on_off_toggled (GtkToggleButton *togglebutton,
gpointer user_data)
{
- GladeXML *xml = user_data;
+ GtkBuilder *xml = user_data;
GtkWidget *dest = get_widget_assert (xml, "split-file-grouping-vars");
GtkWidget *selector = get_widget_assert (xml, "split-file-selector");
GtkWidget *source = get_widget_assert (xml, "split-file-dict-treeview");
GtkWidget *selector ;
GtkWidget *on_off ;
- sfd.xml = XML_NEW ("psppire.glade");
+ sfd.xml = builder_new ("psppire.ui");
dialog = get_widget_assert (sfd.xml, "split-file-dialog");
source = get_widget_assert (sfd.xml, "split-file-dict-treeview");
<glade-interface>
-<widget class="GtkWindow" id="syntax_editor">
- <property name="default_width">640</property>
- <property name="default_height">480</property>
- <property name="can_focus">True</property>
- <property name="title" translatable="yes">Psppire Syntax Editor</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
-
- <child>
- <widget class="GtkVBox" id="vbox14">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
<widget class="GtkMenuBar" id="menubar2">
<property name="visible">True</property>
<property name="pack_direction">GTK_PACK_DIRECTION_LTR</property>
</widget>
</child>
</widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
+
+
<widget class="GtkScrolledWindow" id="scrolledwindow8">
<property name="visible">True</property>
<property name="can_focus">True</property>
</widget>
</child>
</widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
+
<widget class="GtkStatusbar" id="statusbar2">
<property name="visible">True</property>
<property name="has_resize_grip">True</property>
</widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
</glade-interface>
#include <config.h>
-#include <glade/glade.h>
#include <gtk/gtk.h>
#include "t-test-independent-samples-dialog.h"
#include "psppire-dict.h"
}
static struct tt_groups_dialog *
-tt_groups_dialog_create (GladeXML *xml, GtkWindow *parent)
+tt_groups_dialog_create (GtkBuilder *xml, GtkWindow *parent)
{
struct tt_groups_dialog *grps = xmalloc (sizeof (*grps));
struct tt_indep_samples_dialog
{
- GladeXML *xml; /* The xml that generated the widgets */
+ GtkBuilder *xml; /* The xml that generated the widgets */
GtkWidget *dialog;
PsppireDict *dict;
GtkWidget *define_groups_button;
PsppireVarStore *vs = NULL;
- GladeXML *xml = XML_NEW ("t-test.glade");
+ GtkBuilder *xml = builder_new ("t-test.ui");
GtkWidget *dict_view =
get_widget_assert (xml, "indep-samples-t-test-treeview1");
#include <config.h>
-#include <glade/glade.h>
#include <gtk/gtk.h>
#include "t-test-one-sample.h"
#include "psppire-dict.h"
PsppireVarStore *vs = NULL;
- GladeXML *xml = XML_NEW ("t-test.glade");
+ GtkBuilder *xml = builder_new ("t-test.ui");
GtkWidget *dict_view =
get_widget_assert (xml, "one-sample-t-test-treeview2");
};
struct tt_options_dialog *
-tt_options_dialog_create (GladeXML *xml, GtkWindow *parent)
+tt_options_dialog_create (GtkBuilder *xml, GtkWindow *parent)
{
struct tt_options_dialog *tto = xmalloc (sizeof (*tto));
void tt_options_dialog_run (struct tt_options_dialog *);
-struct tt_options_dialog * tt_options_dialog_create (GladeXML *, GtkWindow *);
+struct tt_options_dialog * tt_options_dialog_create (GtkBuilder *, GtkWindow *);
void tt_options_dialog_destroy (struct tt_options_dialog *);
#include <config.h>
#include <gtk/gtk.h>
-#include <glade/glade.h>
#include <language/syntax-string-source.h>
#include "psppire-data-window.h"
PsppireVarStore *vs = NULL;
- GladeXML *xml = XML_NEW ("t-test.glade");
+ GtkBuilder *xml = builder_new ("t-test.ui");
GtkWidget *dict_view =
get_widget_assert (xml, "paired-samples-t-test-treeview1");
#include "dialog-common.h"
#include <gtk/gtk.h>
-#include <glade/glade.h>
#include <gettext.h>
#include "psppire-var-store.h"
-static gchar * generate_syntax (PsppireDict *dict, GladeXML *xml);
+static gchar * generate_syntax (PsppireDict *dict, GtkBuilder *xml);
static void
refresh (PsppireDialog *dialog, gpointer data)
{
- GladeXML *xml = data;
+ GtkBuilder *xml = data;
GtkWidget *dest = get_widget_assert (xml, "variables-treeview");
GtkWidget *entry = get_widget_assert (xml, "new-name-entry");
GtkTreeModel *dmodel = gtk_tree_view_get_model (GTK_TREE_VIEW (dest));
static gboolean
dialog_state_valid (gpointer data)
{
- GladeXML *xml = data;
+ GtkBuilder *xml = data;
GtkWidget *tv = get_widget_assert (xml, "variables-treeview");
GtkWidget *entry = get_widget_assert (xml, "new-name-entry");
gint response ;
PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data);
- GladeXML *xml = XML_NEW ("psppire.glade");
+ GtkBuilder *xml = builder_new ("psppire.ui");
PsppireVarStore *vs = NULL;
FLIP /VARIABLES=var_list /NEWNAMES=var_name.
*/
static gchar *
-generate_syntax (PsppireDict *dict, GladeXML *xml)
+generate_syntax (PsppireDict *dict, GtkBuilder *xml)
{
const gchar *text;
GString *string = g_string_new ("FLIP");
#include <config.h>
#include <gtk/gtk.h>
-#include <glade/glade.h>
#include "dict-display.h"
#include "var-display.h"
gint response ;
- GladeXML *xml = XML_NEW ("psppire.glade");
+ GtkBuilder *xml = builder_new ("psppire.ui");
GtkWidget *dialog = get_widget_assert (xml, "variable-info-dialog");
GtkWidget *treeview = get_widget_assert (xml, "treeview2");
#ifndef __VARIABLE_DIALOG_H
#define __VARIABLE_DIALOG_H
-
#include <gtk/gtk.h>
-#include <glade/glade.h>
void variable_info_dialog (GObject *o, gpointer data);
#include "helper.h"
#include <gtk/gtk.h>
-#include <glade/glade.h>
#include <gettext.h>
#define _(msgid) gettext (msgid)
PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data);
struct weight_cases_dialog wcd;
- GladeXML *xml = XML_NEW ("psppire.glade");
+ GtkBuilder *xml = builder_new ("psppire.ui");
GtkWidget *dialog = get_widget_assert (xml, "weight-cases-dialog");
GtkWidget *source = get_widget_assert (xml, "weight-cases-treeview");