GnuCash  5.6-150-g038405b370+
gnucash-register.h
1 /********************************************************************\
2  * This program is free software; you can redistribute it and/or *
3  * modify it under the terms of the GNU General Public License as *
4  * published by the Free Software Foundation; either version 2 of *
5  * the License, or (at your option) any later version. *
6  * *
7  * This program is distributed in the hope that it will be useful, *
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
10  * GNU General Public License for more details. *
11  * *
12  * You should have received a copy of the GNU General Public License*
13  * along with this program; if not, contact: *
14  * *
15  * Free Software Foundation Voice: +1-617-542-5942 *
16  * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
17  * Boston, MA 02110-1301, USA gnu@gnu.org *
18  * *
19 \********************************************************************/
20 
21 #ifndef GNUCASH_REGISTER_H
22 #define GNUCASH_REGISTER_H
23 
24 #include <gtk/gtk.h>
25 #include "split-register-model.h"
26 #include "table-allgui.h"
27 #include "gnucash-sheet.h"
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
42 #define GNUCASH_TYPE_REGISTER (gnucash_register_get_type ())
43 #define GNUCASH_REGISTER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNUCASH_TYPE_REGISTER, GnucashRegister))
44 #define GNUCASH_REGISTER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNUCASH_TYPE_REGISTER))
45 #define GNUCASH_IS_REGISTER(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNUCASH_TYPE_REGISTER))
46 
47 
48 typedef struct _GnucashRegister GnucashRegister;
49 typedef struct _GnucashRegisterClass GnucashRegisterClass;
50 
51 
52 GType gnucash_register_get_type (void);
53 
59 
61 GtkWidget *gnucash_register_new (Table *table, const gchar *state_section);
62 
63 void gnucash_register_goto_virt_cell (GnucashRegister *reg,
64  VirtualCellLocation vcell_loc);
65 
66 void gnucash_register_goto_virt_loc (GnucashRegister *reg,
67  VirtualLocation virt_loc);
68 
69 void gnucash_register_goto_next_virt_row (GnucashRegister *reg);
70 
71 typedef gboolean (*VirtualLocationMatchFunc) (VirtualLocation virt_loc,
72  gpointer user_data);
73 
74 void gnucash_register_goto_next_matching_row (GnucashRegister *reg,
75  VirtualLocationMatchFunc match,
76  gpointer user_data);
77 
78 void gnucash_register_attach_popup(GnucashRegister *reg, GtkWidget *popup,
79  gpointer data);
80 
81 gboolean gnucash_register_has_selection (GnucashRegister *reg);
82 void gnucash_register_cut_clipboard (GnucashRegister *reg);
83 void gnucash_register_copy_clipboard (GnucashRegister *reg);
84 void gnucash_register_paste_clipboard (GnucashRegister *reg);
85 void gnucash_register_refresh_from_prefs (GnucashRegister *reg);
86 void gnucash_register_set_moved_cb (GnucashRegister *reg,
87  GFunc cb, gpointer cb_data);
88 void gnucash_register_set_open_doclink_cb (GnucashRegister *reg,
89  GFunc cb, gpointer cb_data);
90 
91 GnucashSheet *gnucash_register_get_sheet (GnucashRegister *reg);
92 void gnucash_register_reset_sheet_layout (GnucashRegister *reg);
95 #ifdef __cplusplus
96 }
97 #endif
98 
99 #endif
TableModels specialized for SplitRegister and template SplitRegister.
GtkWidget * gnucash_register_new(Table *table, const gchar *state_section)
this already has scrollbars attached
Public declarations of GnucashRegister class.
Declarations for the Table object.
void gnucash_register_add_cell_types(void)
Add cell types defined by gnucash_register to gnc_register.