GnuCash  5.6-150-g038405b370+
table-layout.h
Go to the documentation of this file.
1 /********************************************************************\
2  * table-layout.h -- 2D table layout *
3  * Copyright (c) 2001 Free Software Foundation *
4  * Author: Dave Peticolas <dave@krondo.com> *
5  * *
6  * This program is free software; you can redistribute it and/or *
7  * modify it under the terms of the GNU General Public License as *
8  * published by the Free Software Foundation; either version 2 of *
9  * the License, or (at your option) any later version. *
10  * *
11  * This program is distributed in the hope that it will be useful, *
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14  * GNU General Public License for more details. *
15  * *
16  * You should have received a copy of the GNU General Public License*
17  * along with this program; if not, contact: *
18  * *
19  * Free Software Foundation Voice: +1-617-542-5942 *
20  * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
21  * Boston, MA 02110-1301, USA gnu@gnu.org *
22  * *
23 \********************************************************************/
24 
25 #ifndef TABLE_LAYOUT_H
26 #define TABLE_LAYOUT_H
27 
28 #include "basiccell.h"
29 #include "cellblock.h"
30 
36 #define CURSOR_HEADER "cursor-header"
37 
38 
40 typedef struct table_layout_struct TableLayout;
41 typedef struct cursor_buffer_struct CursorBuffer;
42 
43 
45 TableLayout * gnc_table_layout_new (void);
46 void gnc_table_layout_destroy (TableLayout *layout);
47 
48 void gnc_table_layout_add_cell (TableLayout *layout, BasicCell *cell);
49 
50 BasicCell * gnc_table_layout_get_cell (TableLayout *layout,
51  const char *cell_name);
52 const char * gnc_table_layout_get_cell_value (TableLayout *layout,
53  const char *cell_name);
54 gboolean gnc_table_layout_get_cell_changed (TableLayout *layout,
55  const char *cell_name,
56  gboolean include_conditional);
57 
58 GList * gnc_table_layout_get_cells (TableLayout *layout);
59 
60 void gnc_table_layout_add_cursor (TableLayout *layout,
61  CellBlock *cursor);
62 
63 CellBlock * gnc_table_layout_get_cursor (TableLayout *layout,
64  const char *cursor_name);
65 
66 GList * gnc_table_layout_get_cursors (TableLayout *layout);
67 
68 void gnc_table_layout_set_primary_cursor (TableLayout *layout,
69  CellBlock *cursor);
70 
71 void gnc_table_layout_set_cell (TableLayout *layout,
72  CellBlock *cursor,
73  const char *cell_name,
74  int row, int col);
75 
76 CursorBuffer * gnc_cursor_buffer_new (void);
77 void gnc_cursor_buffer_destroy (CursorBuffer *buffer);
78 
79 void gnc_table_layout_save_cursor (TableLayout *layout,
80  CellBlock *cursor,
81  CursorBuffer *buffer);
82 void gnc_table_layout_restore_cursor (TableLayout *layout,
83  CellBlock *cursor,
84  CursorBuffer *buffer);
86 #endif
Type definitions.
Definition: table-layout.c:35
TableLayout * gnc_table_layout_new(void)
API Declarations.
Definition: table-layout.c:59
Declarations for the CellBlock object.