GnuCash c935c2f+
Loading...
Searching...
No Matches
gnucash-sheetP.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_SHEETP_H
22#define GNUCASH_SHEETP_H
23
24#include <gtk/gtk.h>
25#include "gnucash-sheet.h"
26#include "gnucash-item-edit.h"
27#include "gnucash-cursor.h"
28
38{
39 GtkLayout layout;
40
41 GtkWidget *window;
42
43 GtkWidget *popup;
44 gpointer popup_data;
45
46 Table *table;
47 gboolean read_only;
48
49 GtkWidget *reg;
50
51 gint num_virt_rows;
52 gint num_virt_cols;
53
54 GtkWidget *header_item;
55 GnucashCursor *cursor;
56
57 GHashTable *cursor_styles;
58
59 /* some style information associated to a sheet */
60 GHashTable *dimensions_hash_table;
61
62 GTable *blocks;
63
64 GtkWidget *item_editor;
65 GtkWidget *entry;
66
67 gboolean use_gnc_color_theme;
68 gboolean use_horizontal_lines;
69 gboolean use_vertical_lines;
70
71 gboolean input_cancelled;
72
73 gint num_visible_blocks;
74 gint num_visible_phys_rows;
75
76 gint width; /* the width in pixels of the sheet */
77 gint height;
78
79 gint window_height;
80 gint window_width;
81
82 gint editing;
83
84 gboolean sheet_has_focus;
85
86 guint button; /* mouse button being held down */
87 gboolean grabbed; /* has the grab */
88 gdouble button_x, button_y;
89
90 guint insert_signal;
91 guint delete_signal;
92
93 GtkAdjustment *hadj, *vadj;
94 GtkWidget *hscrollbar, *vscrollbar;
95
96 GFunc moved_cb;
97 gpointer moved_cb_data;
98
99 GFunc open_doclink_cb;
100 gpointer open_doclink_cb_data;
101
102 int pos, bound;
104};
105
106
108{
109 GtkLayoutClass parent_class;
110};
111
112
113GncItemEdit *gnucash_sheet_get_item_edit (GnucashSheet *sheet);
114void gnucash_sheet_set_popup (GnucashSheet *sheet, GtkWidget *popup, gpointer data);
115void gnucash_sheet_goto_virt_loc (GnucashSheet *sheet, VirtualLocation virt_loc);
116void gnucash_sheet_refresh_from_prefs (GnucashSheet *sheet);
117
118gboolean gnucash_sheet_find_loc_by_pixel (GnucashSheet *sheet, gint x, gint y,
119 VirtualLocation *vcell_loc);
120gboolean gnucash_sheet_draw_internal (GnucashSheet *sheet, cairo_t *cr,
121 GtkAllocation *alloc);
122void gnucash_sheet_draw_cursor (GnucashCursor *cursor, cairo_t *cr);
123
125#endif
Public declarations for GnucashCursor class.
Public declarations for GncItemEdit class.
Public declarations of GnucashRegister class.