|
GnuCash 2.4.99
|
00001 /********************************************************************\ 00002 * reconcile-list.h -- GNOME reconcile list functions * 00003 * Copyright (C) 1998,1999 Linas Vepstas * 00004 * Copyright (C) 2003 Derek Atkins <derek@ihtfp.com> * 00005 * * 00006 * This program is free software; you can redistribute it and/or * 00007 * modify it under the terms of the GNU General Public License as * 00008 * published by the Free Software Foundation; either version 2 of * 00009 * the License, or (at your option) any later version. * 00010 * * 00011 * This program is distributed in the hope that it will be useful, * 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00014 * GNU General Public License for more details. * 00015 * * 00016 * You should have received a copy of the GNU General Public License* 00017 * along with this program; if not, contact: * 00018 * * 00019 * Free Software Foundation Voice: +1-617-542-5942 * 00020 * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 * 00021 * Boston, MA 02110-1301, USA gnu@gnu.org * 00022 \********************************************************************/ 00023 00024 #ifndef GNC_RECONCILE_LIST_H 00025 #define GNC_RECONCILE_LIST_H 00026 00027 #include "gnc-query-list.h" 00028 #include "qof.h" 00029 00030 G_BEGIN_DECLS 00031 00032 #define GNC_TYPE_RECONCILE_LIST (gnc_reconcile_list_get_type ()) 00033 #define GNC_RECONCILE_LIST(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_RECONCILE_LIST, GNCReconcileList)) 00034 #define GNC_RECONCILE_LIST_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNC_TYPE_RECONCILE_LIST, GNCReconcileListClass)) 00035 #define GNC_IS_RECONCILE_LIST(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_RECONCILE_LIST)) 00036 #define GNC_IS_RECONCILE_LIST_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_RECONCILE_LIST)) 00037 00038 typedef struct GNCReconcileList GNCReconcileList; 00039 00040 typedef enum 00041 { 00042 RECLIST_DEBIT, 00043 RECLIST_CREDIT 00044 } GNCReconcileListType; 00045 00046 struct GNCReconcileList 00047 { 00048 GNCQueryList qlist; 00049 00050 GHashTable *reconciled; 00051 Account *account; 00052 GList *column_list; 00053 00054 time_t statement_date; 00055 00056 GNCReconcileList *sibling; 00057 GNCReconcileListType list_type; 00058 gboolean no_toggle; 00059 }; 00060 00061 typedef struct 00062 { 00063 GtkCListClass parent_class; 00064 00065 void (*toggle_reconciled) (GNCReconcileList *list, 00066 Split *split); 00067 void (*double_click_split) (GNCReconcileList *list, 00068 Split *split); 00069 } GNCReconcileListClass; 00070 00071 #define GCONF_RECONCILE_SECTION "dialogs/reconcile" 00072 00073 /*********************************************************** 00074 * public functions * 00075 ***********************************************************/ 00076 00077 GType gnc_reconcile_list_get_type (void); 00078 00079 GtkWidget * gnc_reconcile_list_new (Account * account, 00080 GNCReconcileListType type, 00081 time_t date); 00082 00083 gint gnc_reconcile_list_get_needed_height(GNCReconcileList *list, 00084 gint num_rows); 00085 00086 gint gnc_reconcile_list_get_num_splits(GNCReconcileList *list); 00087 00088 Split * gnc_reconcile_list_get_current_split(GNCReconcileList *list); 00089 00090 void gnc_reconcile_list_refresh (GNCReconcileList *list); 00091 00092 gnc_numeric gnc_reconcile_list_reconciled_balance(GNCReconcileList *list); 00093 00094 void gnc_reconcile_list_commit (GNCReconcileList *list, time_t date); 00095 00096 void gnc_reconcile_list_postpone (GNCReconcileList *list); 00097 00098 void gnc_reconcile_list_unselect_all(GNCReconcileList *list); 00099 00100 gboolean gnc_reconcile_list_changed(GNCReconcileList *list); 00101 00102 G_END_DECLS 00103 00104 #endif /* RECONCILE_LIST_H */
1.7.4