GnuCash c935c2f+
Loading...
Searching...
No Matches
gnucash-style.h
Go to the documentation of this file.
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_STYLE_H
22#define GNUCASH_STYLE_H
23
24#include "gnucash-sheet.h"
32typedef struct
33{
34 gint pixel_height;
35 gint pixel_width;
36
37 gint origin_x;
38 gint origin_y;
39
40 gboolean can_span_over;
42
43typedef struct
44{
45 gint nrows;
46 gint ncols;
47
48 /* totals, in pixels */
49 gint height;
50 gint width;
51
52 /* per cell parameters */
53 GTable *cell_dimensions;
54
55 gint refcount;
57
59{
60 CellBlock * cursor;
61
62 gint nrows;
63 gint ncols;
64
65 BlockDimensions *dimensions;
66
67 gint refcount;
68};
69
70
71gboolean gnucash_style_init (void);
72
73void gnucash_sheet_style_init(void);
74
75gint gnucash_style_col_is_resizable (SheetBlockStyle *style, int col);
76
77CellDimensions * gnucash_style_get_cell_dimensions (SheetBlockStyle *style,
78 int row, int col);
79
80void gnucash_sheet_set_col_width (GnucashSheet *sheet, int col, int width);
81
82gint gnucash_style_row_width(SheetBlockStyle *style, int row);
83
84void gnucash_sheet_styles_set_dimensions (GnucashSheet *sheet, int width);
85
86void gnucash_sheet_style_destroy (GnucashSheet *sheet, SheetBlockStyle *style);
87
88void gnucash_sheet_clear_styles (GnucashSheet *sheet);
89void gnucash_sheet_create_styles (GnucashSheet *sheet);
90
91void gnucash_sheet_compile_styles (GnucashSheet *sheet);
92
93void gnucash_sheet_styles_recompile (GnucashSheet *sheet);
94
95SheetBlockStyle *gnucash_sheet_get_style (GnucashSheet *sheet,
96 VirtualCellLocation vcell_loc);
97
98SheetBlockStyle *
99gnucash_sheet_get_style_from_table (GnucashSheet *sheet,
100 VirtualCellLocation vcell_loc);
101
102SheetBlockStyle *
103gnucash_sheet_get_style_from_cursor (GnucashSheet *sheet,
104 const char *cursor_name);
105
106void gnucash_sheet_style_get_cell_pixel_rel_coords (SheetBlockStyle *style,
107 gint cell_row,
108 gint cell_col,
109 gint *x, gint *y,
110 gint *w, gint *h);
111
112void gnucash_sheet_style_ref (GnucashSheet *sheet, SheetBlockStyle *style);
113void gnucash_sheet_style_unref (GnucashSheet *sheet, SheetBlockStyle *style);
114
115void gnucash_sheet_get_borders (GnucashSheet *sheet, VirtualLocation virt_loc,
116 PhysicalCellBorders *borders);
117
118typedef GHashTable *GNCHeaderWidths;
119
120GNCHeaderWidths gnc_header_widths_new (void);
121void gnc_header_widths_destroy (GNCHeaderWidths widths);
122void gnc_header_widths_set_width (GNCHeaderWidths widths,
123 const char *cell_name,
124 int width);
125int gnc_header_widths_get_width (GNCHeaderWidths widths,
126 const char *cell_name);
127
128void gnucash_sheet_get_header_widths (GnucashSheet *sheet,
129 GNCHeaderWidths widths);
130void gnucash_sheet_set_header_widths (GnucashSheet *sheet,
131 GNCHeaderWidths widths);
133#endif
Public declarations of GnucashRegister class.