+static void
+insert_new_variable_data (PsppireDataEditor *de)
+{
+ gint posn = GPOINTER_TO_INT (g_object_get_data
+ (G_OBJECT (de->data_sheet_cases_column_popup),
+ "item"));
+
+ psppire_data_editor_insert_new_variable_at_posn (de, posn);
+}
+
+static GtkWidget *
+create_data_column_header_popup_menu (PsppireDataEditor *de)
+{
+ GtkWidget *menu = gtk_menu_new ();
+
+ GtkWidget *item =
+ gtk_menu_item_new_with_mnemonic (_("_Insert Variable"));
+ g_signal_connect_swapped (item, "activate", G_CALLBACK (insert_new_variable_data),
+ de);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+
+ item = gtk_separator_menu_item_new ();
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+
+ de->data_clear_variables_menu_item =
+ gtk_menu_item_new_with_mnemonic (_("Cl_ear Variables"));
+ g_signal_connect_swapped (de->data_clear_variables_menu_item, "activate",
+ G_CALLBACK (psppire_data_editor_data_delete_variables),
+ de);
+ gtk_widget_set_sensitive (de->data_clear_variables_menu_item, FALSE);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), de->data_clear_variables_menu_item);
+
+ item = gtk_separator_menu_item_new ();
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+
+ de->data_sort_ascending_menu_item =
+ gtk_menu_item_new_with_mnemonic (_("Sort _Ascending"));
+ g_signal_connect_swapped (de->data_sort_ascending_menu_item, "activate",
+ G_CALLBACK (sort_ascending), de);
+ gtk_widget_set_sensitive (de->data_sort_ascending_menu_item, FALSE);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), de->data_sort_ascending_menu_item);
+
+ de->data_sort_descending_menu_item =
+ gtk_menu_item_new_with_mnemonic (_("Sort _Descending"));
+ g_signal_connect_swapped (de->data_sort_descending_menu_item, "activate",
+ G_CALLBACK (sort_descending), de);
+ gtk_widget_set_sensitive (de->data_sort_descending_menu_item, FALSE);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), de->data_sort_descending_menu_item);
+
+ gtk_widget_show_all (menu);
+ return menu;
+}