GnuCash  5.6-150-g038405b370+
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 
35 typedef enum
36 {
37  XML_EXPORT_TREE,
38  XML_EXPORT_TRANS,
39  XML_EXPORT_REGISTER
40 } CsvExportType;
41 
42 typedef 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 
58 typedef 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;
66 } CsvExportAcc;
67 
68 
69 typedef 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;
100 } CsvExportInfo;
101 
102 
106 void gnc_file_csv_export (CsvExportType export_type);
107 
111 void gnc_file_csv_export_register (CsvExportType export_type, Query *query, Account *acc);
112 
113 #endif
STRUCTS.
Account handling public routines.
GNCAccountType
The account types are used to determine how the transaction data in the account is displayed...
Definition: Account.h:101
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...
gint64 time64
Most systems that are currently maintained, including Microsoft Windows, BSD-derived Unixes and Linux...
Definition: gnc-date.h:87
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...
A Query.
Definition: qofquery.cpp:74