/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2005, 2006, 2010, 2011, 2012 Free Software Foundation
+ Copyright (C) 2005, 2006, 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
GObjectConstructParam *);
static void psppire_var_type_dialog_set_state (PsppireVarTypeDialog *);
+static void psppire_var_type_dialog_set_format (PsppireVarTypeDialog *dialog,
+ const struct fmt_spec *format);
+
static int find_format (const struct fmt_spec *target,
const struct fmt_spec formats[], int n_formats);
static int find_format_type (int target, const int types[], int n_types);
}
}
-void
+static void
psppire_var_type_dialog_set_format (PsppireVarTypeDialog *dialog,
const struct fmt_spec *format)
{
psppire_var_type_dialog_set_state (dialog);
}
-const struct fmt_spec *
+static const struct fmt_spec *
psppire_var_type_dialog_get_format (const PsppireVarTypeDialog *dialog)
{
return &dialog->fmt_l;
{
return PSPPIRE_VAR_TYPE_DIALOG (
g_object_new (PSPPIRE_TYPE_VAR_TYPE_DIALOG,
- "orientation", PSPPIRE_HORIZONTAL,
"format", format,
NULL));
}
dialog = psppire_var_type_dialog_new (format);
gtk_window_set_transient_for (GTK_WINDOW (dialog), parent_window);
+ gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
gtk_widget_show (GTK_WIDGET (dialog));
if (psppire_dialog_run (PSPPIRE_DIALOG (dialog)) == GTK_RESPONSE_OK)
GtkTreeIter iter;
gint index;
+ if (selection == NULL)
+ return -1;
+
gtk_tree_selection_get_selected (selection, &model, &iter);
path = gtk_tree_model_get_path (model, &iter);
if (!path || gtk_tree_path_get_depth (path) < 1)
set_date_format_from_treeview (GtkTreeView *treeview,
PsppireVarTypeDialog *dialog)
{
- dialog->fmt_l = date_format[get_index_from_treeview (treeview)];
+ gint idx = get_index_from_treeview (treeview);
+ if (idx < 0)
+ return;
+
+ dialog->fmt_l = date_format[idx];
}
/* Callback for when a dollar treeview row is changed.
set_dollar_format_from_treeview (GtkTreeView *treeview,
PsppireVarTypeDialog *dialog)
{
- dialog->fmt_l = dollar_format[get_index_from_treeview (treeview)];
+ gint idx = get_index_from_treeview (treeview);
+ if (idx < 0)
+ return;
+
+ dialog->fmt_l = dollar_format[idx];
}
/* Callback for when a treeview row is changed.
set_custom_format_from_treeview (GtkTreeView *treeview,
PsppireVarTypeDialog *dialog)
{
- dialog->fmt_l.type = cc_format[get_index_from_treeview (treeview)];
+ gint idx = get_index_from_treeview (treeview);
+ if (idx < 0)
+ return;
+
+ dialog->fmt_l.type = cc_format[idx];
update_adj_ranges (dialog);
fmt_fix_output (&dialog->fmt_l);
update_width_decimals (dialog);
xml = builder_new ("var-type-dialog.ui");
- 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, "var-type-dialog"));