/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2005, 2009, 2010, 2011, 2012 Free Software Foundation
+ Copyright (C) 2005, 2009, 2010, 2011, 2012, 2015 Free Software Foundation
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
{
return PSPPIRE_VAL_LABS_DIALOG (
g_object_new (PSPPIRE_TYPE_VAL_LABS_DIALOG,
- "orientation", PSPPIRE_HORIZONTAL,
"variable", var,
NULL));
}
dialog = psppire_val_labs_dialog_new (var);
gtk_window_set_transient_for (GTK_WINDOW (dialog), parent_window);
+ gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
gtk_widget_show (GTK_WIDGET (dialog));
labs = (psppire_dialog_run (PSPPIRE_DIALOG (dialog)) == GTK_RESPONSE_OK
/* Return the value-label pair currently selected in the dialog box */
-static void
+static gboolean
get_selected_tuple (PsppireValLabsDialog *dialog,
union value *valuep, const char **label)
{
GtkTreeModel * model = gtk_tree_view_get_model (treeview);
- gtk_tree_selection_get_selected (sel, &model, &iter);
+ if (! gtk_tree_selection_get_selected (sel, &model, &iter))
+ return FALSE;
gtk_tree_model_get_value (model, &iter, 1, &the_value);
if (vl != NULL)
*label = val_lab_get_escaped_label (vl);
}
+
+ return TRUE;
}
union value value;
struct val_lab *vl;
- get_selected_tuple (dialog, &value, NULL);
+ if (! get_selected_tuple (dialog, &value, NULL))
+ return;
+
vl = val_labs_lookup (dialog->labs, &value);
if (vl != NULL)
val_labs_remove (dialog->labs, vl);
gchar *text;
- get_selected_tuple (dialog, &value, &label);
+ if (! get_selected_tuple (dialog, &value, &label))
+ return;
+
text = value_to_text__ (value, &dialog->format, dialog->encoding);
g_signal_handler_block (GTK_ENTRY (dialog->value_entry),
type, n_properties, properties);
dialog = PSPPIRE_VAL_LABS_DIALOG (obj);
- content_area = GTK_CONTAINER (PSPPIRE_DIALOG (dialog)->box);
+ content_area = GTK_CONTAINER (PSPPIRE_DIALOG (dialog));
gtk_container_add (GTK_CONTAINER (content_area),
get_widget_assert (xml, "val-labs-dialog"));