GnuCash c935c2f+
Loading...
Searching...
No Matches
assistant-csv-export.h
Go to the documentation of this file.
1/*******************************************************************\
2 * assistant-csv-export.h -- An assistant for exporting Accounts *
3 * and Transactions to a file *
4 * *
5 * Copyright (C) 2012 Robert Fewell *
6 * *
7 * This program is free software; you can redistribute it and/or *
8 * modify it under the terms of the GNU General Public License as *
9 * published by the Free Software Foundation; either version 2 of *
10 * the License, or (at your option) any later version. *
11 * *
12 * This program is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License*
18 * along with this program; if not, contact: *
19 * *
20 * Free Software Foundation Voice: +1-617-542-5942 *
21 * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
22 * Boston, MA 02110-1301, USA gnu@gnu.org *
23\********************************************************************/
28#ifndef GNC_ASSISTANT_CSV_EXPORT_H
29#define GNC_ASSISTANT_CSV_EXPORT_H
30
31#include "Account.h"
32#include "Query.h"
33#include <gtk/gtk.h>
34
35typedef enum
36{
37 XML_EXPORT_TREE,
38 XML_EXPORT_TRANS,
39 XML_EXPORT_REGISTER
40} CsvExportType;
41
42typedef struct
43{
44 GtkWidget *table;
45 GtkWidget *start_date_choose;
46 GtkWidget *start_date_today;
47 GtkWidget *start_date;
48 GtkWidget *end_date_choose;
49 GtkWidget *end_date_today;
50 GtkWidget *end_date;
51
52 time64 start_time;
53 time64 end_time;
54 time64 earliest_time;
55 time64 latest_time;
57
58typedef struct
59{
60 GtkWidget *acct_info;
61 GtkWidget *account_treeview;
62 GtkWidget *select_button;
63 GtkWidget *num_acct_label;
64 GList *account_list;
65 GNCAccountType account_type;
67
68
69typedef struct
70{
71 CsvExportType export_type;
72 CsvExportDate csvd;
73 CsvExportAcc csva;
74
75 Query *query;
76
77 GtkWidget *start_page;
78 GtkWidget *account_page;
79 GtkWidget *file_page;
80
81 GtkWidget *assistant;
82 GtkWidget *start_label;
83 GtkWidget *custom_entry;
84
85 GtkWidget *file_chooser;
86 GtkWidget *finish_label;
87 GtkWidget *summary_label;
88
89 gchar *starting_dir;
90 gchar *file_name;
91
92 char *separator_str;
93 gboolean use_quotes;
94 gboolean simple_layout;
95 gboolean use_custom;
96 gboolean failed;
97
98 gchar *end_sep;
99 gchar *mid_sep;
101
102
106void gnc_file_csv_export (CsvExportType export_type);
107
111void gnc_file_csv_export_register (CsvExportType export_type, Query *query, Account *acc);
112
113#endif
Account handling public routines.
void gnc_file_csv_export(CsvExportType export_type)
The gnc_file_csv_export() will let the user export the account tree or transactions to a delimited fi...
void gnc_file_csv_export_register(CsvExportType export_type, Query *query, Account *acc)
The gnc_file_csv_export_register() will let the user export the active register transactions to a del...
GNCAccountType
The account types are used to determine how the transaction data in the account is displayed.
Definition Account.h:103
gint64 time64
Most systems that are currently maintained, including Microsoft Windows, BSD-derived Unixes and Linux...
Definition gnc-date.h:87
STRUCTS.
A Query.
Definition qofquery.cpp:75