+
+static void repbudget_export_result_clipboard(GtkWidget *widget, gpointer user_data)
+{
+struct repbudget_data *data;
+GtkClipboard *clipboard;
+GString *node;
+
+ DB( g_print("\n[repbudget] export result clipboard\n") );
+
+ data = user_data;
+ //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
+
+ node = ui_list_repbudget_to_string(GTK_TREE_VIEW(data->LV_report), TRUE);
+
+ clipboard = gtk_clipboard_get_default(gdk_display_get_default());
+ gtk_clipboard_set_text(clipboard, node->str, node->len);
+
+ g_string_free(node, TRUE);
+}
+
+
+static void repbudget_export_result_csv(GtkWidget *widget, gpointer user_data)
+{
+struct repbudget_data *data;
+gchar *filename = NULL;
+GString *node;
+GIOChannel *io;
+gchar *name;
+gint tmpfor;
+
+ DB( g_print("\n[repbudget] export result csv\n") );
+
+ data = user_data;
+ //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
+
+ tmpfor = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_for));
+ name = g_strdup_printf("hb-repbudget_%s.csv", CYA_BUDGSELECT[tmpfor]);
+
+ if( ui_file_chooser_csv(GTK_WINDOW(data->window), GTK_FILE_CHOOSER_ACTION_SAVE, &filename, name) == TRUE )
+ {
+ DB( g_print(" + filename is %s\n", filename) );
+ io = g_io_channel_new_file(filename, "w", NULL);
+ if(io != NULL)
+ {
+ node = ui_list_repbudget_to_string(GTK_TREE_VIEW(data->LV_report), FALSE);
+ g_io_channel_write_chars(io, node->str, -1, NULL, NULL);
+ g_io_channel_unref (io);
+ g_string_free(node, TRUE);
+ }
+ g_free( filename );
+ }
+ g_free(name);
+}
+
+
+static void repbudget_export_detail_clipboard(GtkWidget *widget, gpointer user_data)
+{
+struct repbudget_data *data;
+GtkClipboard *clipboard;
+GString *node;
+
+ DB( g_print("\n[repbudget] export detail clipboard\n") );
+
+ data = user_data;
+ //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
+
+ node = list_txn_to_string(GTK_TREE_VIEW(data->LV_detail), TRUE);
+
+ clipboard = gtk_clipboard_get_default(gdk_display_get_default());
+ gtk_clipboard_set_text(clipboard, node->str, node->len);
+
+ g_string_free(node, TRUE);
+}
+
+
+static void repbudget_export_detail_csv(GtkWidget *widget, gpointer user_data)
+{
+struct repbudget_data *data;
+gchar *filename = NULL;
+GString *node;
+GIOChannel *io;
+gchar *name;
+gint tmpfor;
+
+ DB( g_print("\n[repbudget] export detail csv\n") );
+
+ data = user_data;
+ //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
+
+ tmpfor = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_for));
+ name = g_strdup_printf("hb-repstat-detail_%s.csv", CYA_BUDGSELECT[tmpfor]);
+
+ if( ui_file_chooser_csv(GTK_WINDOW(data->window), GTK_FILE_CHOOSER_ACTION_SAVE, &filename, name) == TRUE )
+ {
+ DB( g_print(" + filename is %s\n", filename) );
+
+ io = g_io_channel_new_file(filename, "w", NULL);
+ if(io != NULL)
+ {
+ node = list_txn_to_string(GTK_TREE_VIEW(data->LV_detail), FALSE);
+ g_io_channel_write_chars(io, node->str, -1, NULL, NULL);
+
+ g_io_channel_unref (io);
+ g_string_free(node, TRUE);
+ }
+
+ g_free( filename );
+ }
+
+ g_free(name);
+}
+
+
+
+