-static void
-weight_cases_dialog (GObject *o, gpointer data)
-{
- gint response;
- struct data_editor *de = data;
- GtkSheet *var_sheet =
- GTK_SHEET (get_widget_assert (de->xml, "variable_sheet"));
-
-
- GladeXML *xml = glade_xml_new (PKGDATADIR "/psppire.glade",
- "weight-cases-dialog", NULL);
-
-
- GtkWidget *treeview = get_widget_assert (xml, "treeview");
- GtkWidget *entry = get_widget_assert (xml, "entry1");
-
-
- PsppireVarStore *vs = PSPPIRE_VAR_STORE (gtk_sheet_get_model (var_sheet));
-
- PsppireVarSelect *select = psppire_var_select_new (treeview,
- entry, vs->dict);
-
-
- PsppireDialog *dialog = create_weight_dialog (select, xml);
-
- response = psppire_dialog_run (dialog);
-
- g_object_unref (xml);
-
- switch (response)
- {
- case GTK_RESPONSE_OK:
- {
- struct getl_interface *sss ;
- const GList *list = psppire_var_select_get_variables (select);
-
- g_assert ( g_list_length ((GList *)list) <= 1 );
-
- if ( list == NULL)
- {
- sss = create_syntax_string_source ("WEIGHT OFF.");
- }
- else
- {
- struct variable *var = list->data;
-
- sss = create_syntax_string_source ("WEIGHT BY %s.\n",
- var_get_name (var));
- }
-
- execute_syntax (sss);
- }
- break;
- case PSPPIRE_RESPONSE_PASTE:
- {
- struct syntax_editor *se = (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL);
-
- const GList *list = psppire_var_select_get_variables (select);
-
- g_assert ( g_list_length ((GList *)list) <= 1 );
-
- if ( list == NULL)
- {
- gtk_text_buffer_insert_at_cursor (se->buffer, "WEIGHT OFF.", -1);
- }
- else
- {
- struct variable *var = list->data;
-
- gchar *text = g_strdup_printf ("WEIGHT BY %s.",
- var_get_name (var));
-
- gtk_text_buffer_insert_at_cursor (se->buffer,
- text, -1);
-
- g_free (text);
- }
- }
- break;
- default:
- break;
- }
-}
-