GnuCash  4.13-74-g66d9f1383e+
gnucash-cursor.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_CURSOR_H
22 #define GNUCASH_CURSOR_H
23 
24 #include <glib.h>
25 #include "gnucash-sheet.h"
26 
34 #define GNUCASH_TYPE_CURSOR (gnucash_cursor_get_type ())
35 #define GNUCASH_CURSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNUCASH_TYPE_CURSOR, GnucashCursor))
36 #define GNUCASH_CURSOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNUCASH_TYPE_CURSOR, GnucashCursorClass))
37 #define GNUCASH_IS_CURSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNUCASH_TYPE_CURSOR))
38 
39 #define GNUCASH_TYPE_ITEM_CURSOR (gnucash_item_cursor_get_type ())
40 #define GNUCASH_ITEM_CURSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNUCASH_TYPE_ITEM_CURSOR, GnucashItemCursor))
41 #define GNUCASH_ITEM_CURSOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNUCASH_TYPE_ITEM_CURSOR, GnucashItemCursorClass))
42 #define GNUCASH_IS_ITEM_CURSOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNUCASH_TYPE_ITEM_CURSOR))
43 
44 
45 GType gnucash_item_cursor_get_type (void);
46 GType gnucash_cursor_get_type (void);
47 
48 
49 enum
50 {
51  GNUCASH_CURSOR_CELL,
52  GNUCASH_CURSOR_BLOCK,
53  GNUCASH_CURSOR_NUM
54 };
55 
56 
57 typedef struct
58 {
59  gint row;
60  gint col;
61 
62  /* precomputed pixel coords for the item cursor*/
63  gint x, y, w, h;
65 
66 
67 typedef struct
68 {
69  GObject obj;
70 
71  GnucashCursorCell cell;
72  GnucashSheet *sheet;
73 
74  gint row;
75  gint col;
76  /* precomputed pixel coords for the block cursor*/
77  gint x, y, w, h;
78 
79  SheetBlockStyle *style;
81 
82 typedef struct
83 {
84  GObjectClass parent_class;
86 
87 
88 GnucashCursor *gnucash_cursor_new (GnucashSheet *sheet);
89 
90 void gnucash_cursor_get_virt (GnucashCursor *cursor,
91  VirtualLocation *virt_loc);
92 
93 void gnucash_cursor_set (GnucashCursor *cursor, VirtualLocation virt_loc);
94 
95 void gnucash_cursor_set_style (GnucashCursor *cursor, SheetBlockStyle *style);
96 
97 void gnucash_cursor_configure (GnucashCursor *cursor);
98 
100 #endif /* GNUCASH_CURSOR_H */
Public declarations of GnucashRegister class.