[Gnucash-changes] gnucash
David Hampton
hampton at cvs.gnucash.org
Thu Mar 4 18:59:48 EST 2004
Update of /home/cvs/cvsroot/gnucash
In directory cvs.gnucash.org:/tmp/cvs-serv6137
Modified Files:
Tag: gnucash-gnome2-dev
AUTHORS ChangeLog
Log Message:
Tomas Cernaj's GType changes.
Update of /home/cvs/cvsroot/gnucash/src/register/register-gnome
In directory cvs.gnucash.org:/tmp/cvs-serv6137/src/register/register-gnome
Modified Files:
Tag: gnucash-gnome2-dev
gnucash-cursor.c gnucash-cursor.h gnucash-grid.c
gnucash-grid.h gnucash-header.h gnucash-sheet.c
gnucash-sheet.h
Log Message:
Tomas Cernaj's GType changes.
==================================================
Differences for AUTHORS (revision 1.84.4.4 -> 1.84.4.5)
==================================================
--- /home/cvs/cvsroot/gnucash/AUTHORS 2004/03/03 04:42:53 1.84.4.4
+++ /home/cvs/cvsroot/gnucash/AUTHORS 2004/03/04 23:59:48 1.84.4.5
@@ -101,6 +101,7 @@
Conrad Canterford <conrad at mail.watersprite.com.au> register bug fix
Bill Carlson <wwc at wwcnet.nu> performance improvements
David Mar?n Carre?o <davefx at aspl.f2s.com> Spanish translation of account setup.
+Tomas Cernaj <tcernaj at gmx.de> GType consistency changes
Carol Champagne <carol at io.com> documentation & a patient GUI usability critic
Nikos Charonitakis <charosn at her.forthnet.gr> Greek translation
Graham Chapman <grahamc at zeta.org.au> for the xacc-rpts addon package
==================================================
Differences for ChangeLog (revision 1.1487.2.116 -> 1.1487.2.117)
==================================================
--- /home/cvs/cvsroot/gnucash/ChangeLog 2004/03/03 23:15:04 1.1487.2.116
+++ /home/cvs/cvsroot/gnucash/ChangeLog 2004/03/04 23:59:48 1.1487.2.117
@@ -1,3 +1,14 @@
+2004-03-04 Tomas Cernaj <tcernaj at gmx.de>
+
+ * src/register/register-gnome/gnucash-cursor.c:
+ * src/register/register-gnome/gnucash-cursor.h:
+ * src/register/register-gnome/gnucash-grid.c:
+ * src/register/register-gnome/gnucash-grid.h:
+ * src/register/register-gnome/gnucash-header.h:
+ * src/register/register-gnome/gnucash-sheet.c:
+ * src/register/register-gnome/gnucash-sheet.h:
+ Convert to new GType-/GObject-System.
+
2004-02-09 Derek Atkins <derek at ihtfp.com>
* src/import-export/Makefile.am: added new 'format' provider desc
==================================================
Differences for gnucash-cursor.c (revision 1.6.6.2 -> 1.6.6.3)
==================================================
--- /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-cursor.c 2003/08/09 04:57:00 1.6.6.2
+++ /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-cursor.c 2004/03/04 23:59:48 1.6.6.3
@@ -40,9 +40,9 @@
static GnomeCanvasItem *gnucash_item_cursor_parent_class;
enum {
- ARG_0,
- ARG_SHEET,
- ARG_GRID,
+ PROP_0,
+ PROP_SHEET,
+ PROP_GRID,
};
@@ -345,17 +345,6 @@
static void
-gnucash_item_cursor_destroy (GtkObject *object)
-{
- GNUCASH_ITEM_CURSOR(object);
-
- if (GTK_OBJECT_CLASS (gnucash_item_cursor_parent_class)->destroy)
- (*GTK_OBJECT_CLASS (gnucash_item_cursor_parent_class)->destroy)
- (object);
-}
-
-
-static void
gnucash_item_cursor_init (GnucashItemCursor *cursor)
{
GnomeCanvasItem *item = GNOME_CANVAS_ITEM (cursor);
@@ -403,44 +392,43 @@
static void
-gnucash_item_cursor_class_init (GnucashItemCursorClass *item_cursor_class)
+gnucash_item_cursor_class_init (GnucashItemCursorClass *class)
{
- GtkObjectClass *object_class;
+ GObjectClass *object_class;
GnomeCanvasItemClass *item_class;
- gnucash_item_cursor_parent_class =
- gtk_type_class (gnome_canvas_item_get_type());
-
- object_class = (GtkObjectClass *) item_cursor_class;
- item_class = (GnomeCanvasItemClass *) item_cursor_class;
+ object_class = G_OBJECT_CLASS (class);
+ item_class = GNOME_CANVAS_ITEM_CLASS (class);
- object_class->destroy = gnucash_item_cursor_destroy;
+ gnucash_item_cursor_parent_class = g_type_class_peek_parent (class);
/* GnomeCanvasItem method overrides */
- item_class->draw = gnucash_item_cursor_draw;
+ item_class->draw = gnucash_item_cursor_draw;
}
-GtkType
+GType
gnucash_item_cursor_get_type (void)
{
- static GtkType gnucash_item_cursor_type = 0;
+ static GType gnucash_item_cursor_type = 0;
if (!gnucash_item_cursor_type) {
- GtkTypeInfo gnucash_item_cursor_info = {
- "GnucashItemCursor",
- sizeof (GnucashItemCursor),
+ static const GTypeInfo gnucash_item_cursor_info = {
sizeof (GnucashItemCursorClass),
- (GtkClassInitFunc) gnucash_item_cursor_class_init,
- (GtkObjectInitFunc) gnucash_item_cursor_init,
- NULL, /* reserved_1 */
- NULL, /* reserved_2 */
- (GtkClassInitFunc) NULL
+ NULL, /* base_init */
+ NULL, /* base_finalize */
+ (GClassInitFunc) gnucash_item_cursor_class_init,
+ NULL, /* class_finalize */
+ NULL, /* class_data */
+ sizeof (GnucashItemCursor),
+ 0, /* n_preallocs */
+ (GInstanceInitFunc) gnucash_item_cursor_init
};
gnucash_item_cursor_type =
- gtk_type_unique (gnome_canvas_item_get_type (),
- &gnucash_item_cursor_info);
+ g_type_register_static (gnome_canvas_item_get_type (),
+ "GnucashItemCursor",
+ &gnucash_item_cursor_info, 0);
}
return gnucash_item_cursor_type;
@@ -448,34 +436,53 @@
static void
-gnucash_cursor_destroy (GtkObject *object)
+gnucash_cursor_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
- GNUCASH_CURSOR(object);
+ GnomeCanvasItem *item;
+ GnucashCursor *cursor;
- if (GTK_OBJECT_CLASS (gnucash_cursor_parent_class)->destroy)
- (*GTK_OBJECT_CLASS
- (gnucash_cursor_parent_class)->destroy)(object);
+ item = GNOME_CANVAS_ITEM (object);
+ cursor = GNUCASH_CURSOR (object);
+
+ switch (prop_id){
+ case PROP_SHEET:
+ cursor->sheet =
+ GNUCASH_SHEET (g_value_get_object (value));
+ break;
+ case PROP_GRID:
+ cursor->grid =
+ GNUCASH_GRID (g_value_get_object (value));
+ break;
+ default:
+ break;
+ }
}
static void
-gnucash_cursor_set_arg (GtkObject *o, GtkArg *arg, guint arg_id)
+gnucash_cursor_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
{
GnomeCanvasItem *item;
GnucashCursor *cursor;
- item = GNOME_CANVAS_ITEM (o);
- cursor = GNUCASH_CURSOR (o);
+ item = GNOME_CANVAS_ITEM (object);
+ cursor = GNUCASH_CURSOR (object);
- switch (arg_id){
- case ARG_SHEET:
- cursor->sheet = GTK_VALUE_POINTER (*arg);
- break;
- case ARG_GRID:
- cursor->grid = GTK_VALUE_POINTER (*arg);
- break;
- default:
- break;
+ switch (prop_id){
+ case PROP_SHEET:
+ g_value_set_object (value, cursor->sheet);
+ break;
+ case PROP_GRID:
+ g_value_set_object (value, cursor->grid);
+ break;
+ default:
+ break;
}
}
@@ -493,51 +500,66 @@
static void
-gnucash_cursor_class_init (GnucashCursorClass *cursor_class)
+gnucash_cursor_class_init (GnucashCursorClass *class)
{
- GtkObjectClass *object_class;
+ GObjectClass *object_class;
GnomeCanvasItemClass *item_class;
- gnucash_cursor_parent_class =
- gtk_type_class (gnome_canvas_group_get_type());
-
- object_class = (GtkObjectClass *) cursor_class;
- item_class = (GnomeCanvasItemClass *) cursor_class;
+ object_class = G_OBJECT_CLASS (class);
+ item_class = GNOME_CANVAS_ITEM_CLASS (class);
- gtk_object_add_arg_type ("GnucashCursor::sheet", GTK_TYPE_POINTER,
- GTK_ARG_WRITABLE, ARG_SHEET);
- gtk_object_add_arg_type ("GnucashCursor::grid", GTK_TYPE_POINTER,
- GTK_ARG_WRITABLE, ARG_GRID);
+ gnucash_cursor_parent_class = g_type_class_peek_parent (class);
- object_class->set_arg = gnucash_cursor_set_arg;
- object_class->destroy = gnucash_cursor_destroy;
+ /* GObject method overrides */
+ object_class->set_property = gnucash_cursor_set_property;
+ object_class->get_property = gnucash_cursor_get_property;
/* GnomeCanvasItem method overrides */
item_class->realize = gnucash_cursor_realize;
item_class->unrealize = gnucash_cursor_unrealize;
+
+ /* properties */
+ g_object_class_install_property
+ (object_class,
+ PROP_SHEET,
+ g_param_spec_object ("sheet",
+ "Sheet Value",
+ "Sheet Value",
+ GNUCASH_TYPE_SHEET,
+ G_PARAM_READWRITE));
+ g_object_class_install_property
+ (object_class,
+ PROP_GRID,
+ g_param_spec_object ("grid",
+ "Grid Value",
+ "Grid Value",
+ GNUCASH_TYPE_GRID,
+ G_PARAM_READWRITE));
}
-GtkType
+GType
gnucash_cursor_get_type (void)
{
- static GtkType gnucash_cursor_type = 0;
+ static GType gnucash_cursor_type = 0;
if (!gnucash_cursor_type) {
- GtkTypeInfo gnucash_cursor_info = {
- "GnucashCursor",
- sizeof (GnucashCursor),
+ static const GTypeInfo gnucash_cursor_info = {
sizeof (GnucashCursorClass),
- (GtkClassInitFunc) gnucash_cursor_class_init,
- (GtkObjectInitFunc) gnucash_cursor_init,
- NULL, /* reserved_1 */
- NULL, /* reserved_2 */
- (GtkClassInitFunc) NULL
+ NULL, /* base_init */
+ NULL, /* base_finalize */
+ (GClassInitFunc) gnucash_cursor_class_init,
+ NULL, /* class_finalize */
+ NULL, /* class_data */
+ sizeof (GnucashCursor),
+ 0, /* n_preallocs */
+ (GInstanceInitFunc) gnucash_cursor_init
};
gnucash_cursor_type =
- gtk_type_unique (gnome_canvas_group_get_type (),
- &gnucash_cursor_info);
+ g_type_register_static (gnome_canvas_group_get_type (),
+ "GnucashCursor",
+ &gnucash_cursor_info, 0);
}
return gnucash_cursor_type;
==================================================
Differences for gnucash-cursor.h (revision 1.1 -> 1.1.6.1)
==================================================
--- /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-cursor.h 2001/08/07 23:28:38 1.1
+++ /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-cursor.h 2004/03/04 23:59:48 1.1.6.1
@@ -28,18 +28,18 @@
#define GNUCASH_TYPE_CURSOR (gnucash_cursor_get_type ())
-#define GNUCASH_CURSOR(obj) (GTK_CHECK_CAST((obj), GNUCASH_TYPE_CURSOR, GnucashCursor))
-#define GNUCASH_CURSOR_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), GNUCASH_TYPE_CURSOR))
-#define GNUCASH_IS_CURSOR(o) (GTK_CHECK_TYPE((o), GNUCASH_TYPE_CURSOR))
+#define GNUCASH_CURSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNUCASH_TYPE_CURSOR, GnucashCursor))
+#define GNUCASH_CURSOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNUCASH_TYPE_CURSOR, GnucashCursorClass))
+#define GNUCASH_IS_CURSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNUCASH_TYPE_CURSOR))
#define GNUCASH_TYPE_ITEM_CURSOR (gnucash_item_cursor_get_type ())
-#define GNUCASH_ITEM_CURSOR(obj) (GTK_CHECK_CAST((obj), GNUCASH_TYPE_ITEM_CURSOR, GnucashItemCursor))
-#define GNUCASH_ITEM_CURSOR_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), GNUCASH_TYPE_ITEM_CURSOR))
-#define GNUCASH_IS_ITEM_CURSOR(o) (GTK_CHECK_TYPE((o), GNUCASH_TYPE_ITEM_CURSOR))
+#define GNUCASH_ITEM_CURSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNUCASH_TYPE_ITEM_CURSOR, GnucashItemCursor))
+#define GNUCASH_ITEM_CURSOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNUCASH_TYPE_ITEM_CURSOR, GnucashItemCursorClass))
+#define GNUCASH_IS_ITEM_CURSOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNUCASH_TYPE_ITEM_CURSOR))
-GtkType gnucash_item_cursor_get_type (void);
-GtkType gnucash_cursor_get_type (void);
+GType gnucash_item_cursor_get_type (void);
+GType gnucash_cursor_get_type (void);
enum
==================================================
Differences for gnucash-grid.c (revision 1.2.6.5 -> 1.2.6.6)
==================================================
--- /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-grid.c 2003/10/18 03:47:15 1.2.6.5
+++ /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-grid.c 2004/03/04 23:59:48 1.2.6.6
@@ -38,8 +38,8 @@
/* Our arguments */
enum {
- ARG_0,
- ARG_SHEET
+ PROP_0,
+ PROP_SHEET
};
@@ -617,17 +617,6 @@
static void
-gnucash_grid_destroy (GtkObject *object)
-{
- GNUCASH_GRID(object);
-
- if (GTK_OBJECT_CLASS (gnucash_grid_parent_class)->destroy)
- (*GTK_OBJECT_CLASS
- (gnucash_grid_parent_class)->destroy)(object);
-}
-
-
-static void
gnucash_grid_init (GnucashGrid *grid)
{
GnomeCanvasItem *item = GNOME_CANVAS_ITEM (grid);
@@ -644,68 +633,105 @@
static void
-gnucash_grid_set_arg (GtkObject *o, GtkArg *arg, guint arg_id)
+gnucash_grid_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
GnomeCanvasItem *item;
GnucashGrid *grid;
- item = GNOME_CANVAS_ITEM (o);
- grid = GNUCASH_GRID (o);
+ item = GNOME_CANVAS_ITEM (object);
+ grid = GNUCASH_GRID (object);
- switch (arg_id){
- case ARG_SHEET:
- grid->sheet = GTK_VALUE_POINTER (*arg);
- break;
+ switch (prop_id){
+ case PROP_SHEET:
+ grid->sheet =
+ GNUCASH_SHEET (g_value_get_object (value));
+ break;
+ default:
+ break;
}
}
static void
-gnucash_grid_class_init (GnucashGridClass *grid_class)
+gnucash_grid_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
{
- GtkObjectClass *object_class;
- GnomeCanvasItemClass *item_class;
+ GnomeCanvasItem *item;
+ GnucashGrid *grid;
- gnucash_grid_parent_class =
- gtk_type_class (gnome_canvas_item_get_type());
+ item = GNOME_CANVAS_ITEM (object);
+ grid = GNUCASH_GRID (object);
- object_class = (GtkObjectClass *) grid_class;
- item_class = (GnomeCanvasItemClass *) grid_class;
+ switch (prop_id){
+ case PROP_SHEET:
+ g_value_set_object (value, grid->sheet);
+ break;
+ default:
+ break;
+ }
+}
- gtk_object_add_arg_type ("GnucashGrid::Sheet", GTK_TYPE_POINTER,
- GTK_ARG_WRITABLE, ARG_SHEET);
- object_class->set_arg = gnucash_grid_set_arg;
- object_class->destroy = gnucash_grid_destroy;
+static void
+gnucash_grid_class_init (GnucashGridClass *class)
+{
+ GObjectClass *object_class;
+ GnomeCanvasItemClass *item_class;
+
+ object_class = G_OBJECT_CLASS (class);
+ item_class = GNOME_CANVAS_ITEM_CLASS (class);
+
+ gnucash_grid_parent_class = g_type_class_peek_parent (class);
+
+ /* GObject method overrides */
+ object_class->set_property = gnucash_grid_set_property;
+ object_class->get_property = gnucash_grid_get_property;
/* GnomeCanvasItem method overrides */
item_class->update = gnucash_grid_update;
item_class->realize = gnucash_grid_realize;
item_class->unrealize = gnucash_grid_unrealize;
item_class->draw = gnucash_grid_draw;
+
+ /* properties */
+ g_object_class_install_property
+ (object_class,
+ PROP_SHEET,
+ g_param_spec_object ("sheet",
+ "Sheet Value",
+ "Sheet Value",
+ GNUCASH_TYPE_SHEET,
+ G_PARAM_READWRITE));
}
-GtkType
+GType
gnucash_grid_get_type (void)
{
- static GtkType gnucash_grid_type = 0;
+ static GType gnucash_grid_type = 0;
if (!gnucash_grid_type) {
- GtkTypeInfo gnucash_grid_info = {
- "GnucashGrid",
- sizeof (GnucashGrid),
+ static const GTypeInfo gnucash_grid_info = {
sizeof (GnucashGridClass),
- (GtkClassInitFunc) gnucash_grid_class_init,
- (GtkObjectInitFunc) gnucash_grid_init,
- NULL, /* reserved_1 */
- NULL, /* reserved_2 */
- (GtkClassInitFunc) NULL
+ NULL, /* base_init */
+ NULL, /* base_finalize */
+ (GClassInitFunc) gnucash_grid_class_init,
+ NULL, /* class_finalize */
+ NULL, /* class_data */
+ sizeof (GnucashGrid),
+ 0, /* n_preallocs */
+ (GInstanceInitFunc) gnucash_grid_init
};
gnucash_grid_type =
- gtk_type_unique (gnome_canvas_item_get_type (),
- &gnucash_grid_info);
+ g_type_register_static (gnome_canvas_item_get_type (),
+ "GnucashGrid",
+ &gnucash_grid_info, 0);
}
return gnucash_grid_type;
==================================================
Differences for gnucash-grid.h (revision 1.1.6.1 -> 1.1.6.2)
==================================================
--- /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-grid.h 2003/06/14 19:31:15 1.1.6.1
+++ /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-grid.h 2004/03/04 23:59:48 1.1.6.2
@@ -29,7 +29,7 @@
#define GNUCASH_TYPE_GRID (gnucash_grid_get_type ())
#define GNUCASH_GRID(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNUCASH_TYPE_GRID, GnucashGrid))
-#define GNUCASH_GRID_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNUCASH_TYPE_GRID))
+#define GNUCASH_GRID_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNUCASH_TYPE_GRID, GnucashGridClass))
#define GNUCASH_IS_GRID(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNUCASH_TYPE_GRID))
@@ -61,7 +61,7 @@
} GnucashGridClass;
-GtkType gnucash_grid_get_type (void);
+GType gnucash_grid_get_type (void);
GtkWidget *gnucash_grid_new (GnucashSheet *sheet);
gboolean gnucash_grid_find_loc_by_pixel (GnucashGrid *grid, gint x, gint y,
==================================================
Differences for gnucash-header.h (revision 1.3.6.1 -> 1.3.6.2)
==================================================
--- /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-header.h 2003/06/14 19:31:17 1.3.6.1
+++ /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-header.h 2004/03/04 23:59:48 1.3.6.2
@@ -26,7 +26,7 @@
#define GNC_TYPE_HEADER (gnc_header_get_type ())
#define GNC_HEADER(o) (G_TYPE_CHECK_INSTANCE_CAST((o), GNC_TYPE_HEADER, GncHeader))
-#define GNC_HEADER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNC_TYPE_HEADER))
+#define GNC_HEADER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNC_TYPE_HEADER, GncHeaderClass))
#define GNC_IS_HEADER(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GNC_TYPE_HEADER))
GType gnc_header_get_type (void);
==================================================
Differences for gnucash-sheet.c (revision 1.19.4.10 -> 1.19.4.11)
==================================================
--- /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-sheet.c 2004/03/03 04:42:53 1.19.4.10
+++ /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-sheet.c 2004/03/04 23:59:48 1.19.4.11
@@ -43,6 +43,10 @@
#define DEFAULT_REGISTER_HEIGHT 400
#define DEFAULT_REGISTER_WIDTH 630
+
+/* FIXME: seems like this is ok in gtk2... */
+#define GTK_ALLOWED_SELECTION_WITHIN_INSERT_SIGNAL 1
+
static guint gnucash_register_initial_rows = 15;
static void gnucash_sheet_start_editing_at_cursor (GnucashSheet *sheet);
@@ -174,12 +178,12 @@
static void
gnucash_sheet_stop_editing (GnucashSheet *sheet)
{
- if (sheet->insert_signal > 0)
- gtk_signal_disconnect (GTK_OBJECT(sheet->entry),
- sheet->insert_signal);
- if (sheet->delete_signal > 0)
- gtk_signal_disconnect (GTK_OBJECT(sheet->entry),
- sheet->delete_signal);
+ if (sheet->insert_signal != 0)
+ g_signal_handler_disconnect (G_OBJECT(sheet->entry),
+ sheet->insert_signal);
+ if (sheet->delete_signal != 0)
+ g_signal_handler_disconnect (G_OBJECT(sheet->entry),
+ sheet->delete_signal);
sheet->insert_signal = 0;
sheet->delete_signal = 0;
@@ -622,7 +626,7 @@
GnucashSheet *sheet;
GnomeCanvas *canvas;
- sheet = gtk_type_new (gnucash_sheet_get_type ());
+ sheet = g_object_new (GNUCASH_TYPE_SHEET, NULL);
canvas = GNOME_CANVAS (sheet);
sheet->table = table;
@@ -631,8 +635,8 @@
sheet->vadj = gtk_layout_get_vadjustment (GTK_LAYOUT(canvas));
sheet->hadj = gtk_layout_get_hadjustment (GTK_LAYOUT(canvas));
- gtk_signal_connect(GTK_OBJECT(sheet->vadj), "value_changed",
- GTK_SIGNAL_FUNC(gnucash_sheet_vadjustment_value_changed), sheet);
+ g_signal_connect (G_OBJECT (sheet->vadj), "value_changed",
+ G_CALLBACK (gnucash_sheet_vadjustment_value_changed), sheet);
return sheet;
}
@@ -734,19 +738,17 @@
if (retval) {
gnc_item_edit_reset_offset (GNC_ITEM_EDIT(sheet->item_editor));
- gtk_signal_handler_block (GTK_OBJECT (sheet->entry),
- sheet->insert_signal);
-
- gtk_signal_handler_block (GTK_OBJECT (sheet->entry),
- sheet->delete_signal);
-
+ g_signal_handler_block (G_OBJECT (sheet->entry),
+ sheet->insert_signal);
+ g_signal_handler_block (G_OBJECT (sheet->entry),
+ sheet->delete_signal);
+
gtk_entry_set_text (GTK_ENTRY (sheet->entry), retval);
-
- gtk_signal_handler_unblock (GTK_OBJECT (sheet->entry),
- sheet->delete_signal);
-
- gtk_signal_handler_unblock (GTK_OBJECT (sheet->entry),
- sheet->insert_signal);
+
+ g_signal_handler_unblock (G_OBJECT (sheet->entry),
+ sheet->delete_signal);
+ g_signal_handler_unblock (G_OBJECT (sheet->entry),
+ sheet->insert_signal);
}
gtk_editable_set_position (editable, cursor_position);
@@ -755,6 +757,7 @@
return retval;
}
+#if !GTK_ALLOWED_SELECTION_WITHIN_INSERT_SIGNAL
typedef struct {
GtkEditable *editable;
int start_sel;
@@ -777,6 +780,7 @@
g_free(info);
return FALSE; /* This is a one shot function */
}
+#endif
static void
gnucash_sheet_insert_cb (GtkWidget *widget,
@@ -806,12 +810,11 @@
int i;
const char *c;
gunichar uc;
- select_info *info;
if (sheet->input_cancelled)
{
- gtk_signal_emit_stop_by_name (GTK_OBJECT (sheet->entry),
- "insert_text");
+ g_signal_stop_emission_by_name (G_OBJECT (sheet->entry),
+ "insert_text");
return;
}
@@ -881,30 +884,28 @@
((strcmp (retval, new_text) != 0) ||
(*position != old_position)))
{
- gtk_signal_handler_block (GTK_OBJECT (sheet->entry),
- sheet->insert_signal);
-
- gtk_signal_handler_block (GTK_OBJECT (sheet->entry),
- sheet->delete_signal);
-
+ g_signal_handler_block (G_OBJECT (sheet->entry),
+ sheet->insert_signal);
+ g_signal_handler_block (G_OBJECT (sheet->entry),
+ sheet->delete_signal);
+
gtk_entry_set_text (GTK_ENTRY (sheet->entry), retval);
+
+ g_signal_handler_unblock (G_OBJECT (sheet->entry),
+ sheet->delete_signal);
+ g_signal_handler_unblock (G_OBJECT (sheet->entry),
+ sheet->insert_signal);
- gtk_signal_handler_unblock (GTK_OBJECT (sheet->entry),
- sheet->delete_signal);
-
- gtk_signal_handler_unblock (GTK_OBJECT (sheet->entry),
- sheet->insert_signal);
-
- gtk_signal_emit_stop_by_name (GTK_OBJECT(sheet->entry),
- "insert_text");
+ g_signal_stop_emission_by_name (G_OBJECT(sheet->entry),
+ "insert_text");
}
else if (retval == NULL)
{
retval = old_text;
/* the entry was disallowed, so we stop the insert signal */
- gtk_signal_emit_stop_by_name (GTK_OBJECT (sheet->entry),
- "insert_text");
+ g_signal_stop_emission_by_name (G_OBJECT (sheet->entry),
+ "insert_text");
}
if (*position < 0)
*position = g_utf8_strlen(retval, -1);
@@ -912,15 +913,18 @@
#if GTK_ALLOWED_SELECTION_WITHIN_INSERT_SIGNAL
gtk_editable_select_region (editable, start_sel, end_sel);
#else
- if (start_sel != end_sel) {
- info = g_malloc(sizeof(*info));
- info->editable = editable;
- info->start_sel = start_sel;
- info->end_sel = end_sel;
- g_timeout_add(/*ASAP*/ 1,
- (GSourceFunc)gnucash_sheet_select_data_cb,
- info);
- }
+ {
+ select_info *info;
+ if (start_sel != end_sel) {
+ info = g_malloc(sizeof(*info));
+ info->editable = editable;
+ info->start_sel = start_sel;
+ info->end_sel = end_sel;
+ g_timeout_add(/*ASAP*/ 1,
+ (GSourceFunc)gnucash_sheet_select_data_cb,
+ info);
+ }
+ }
#endif
g_string_free (new_text_gs, TRUE);
g_string_free (change_text_gs, TRUE);
@@ -1000,28 +1004,26 @@
if (retval && (strcmp (retval, new_text) != 0))
{
- gtk_signal_handler_block (GTK_OBJECT (sheet->entry),
- sheet->insert_signal);
-
- gtk_signal_handler_block (GTK_OBJECT (sheet->entry),
- sheet->delete_signal);
-
+ g_signal_handler_block (G_OBJECT (sheet->entry),
+ sheet->insert_signal);
+ g_signal_handler_block (G_OBJECT (sheet->entry),
+ sheet->delete_signal);
+
gtk_entry_set_text (GTK_ENTRY (sheet->entry), retval);
-
- gtk_signal_handler_unblock (GTK_OBJECT (sheet->entry),
- sheet->delete_signal);
-
- gtk_signal_handler_unblock (GTK_OBJECT (sheet->entry),
- sheet->insert_signal);
-
- gtk_signal_emit_stop_by_name (GTK_OBJECT(sheet->entry),
- "delete_text");
+
+ g_signal_handler_unblock (G_OBJECT (sheet->entry),
+ sheet->delete_signal);
+ g_signal_handler_unblock (G_OBJECT (sheet->entry),
+ sheet->insert_signal);
+
+ g_signal_stop_emission_by_name (G_OBJECT(sheet->entry),
+ "delete_text");
}
else if (retval == NULL)
{
/* the entry was disallowed, so we stop the delete signal */
- gtk_signal_emit_stop_by_name (GTK_OBJECT(sheet->entry),
- "delete_text");
+ g_signal_stop_emission_by_name (G_OBJECT(sheet->entry),
+ "delete_text");
}
gtk_editable_set_position (editable, cursor_position);
@@ -1112,14 +1114,11 @@
/* set up the signals */
sheet->insert_signal =
- gtk_signal_connect(GTK_OBJECT(sheet->entry), "insert_text",
- GTK_SIGNAL_FUNC(gnucash_sheet_insert_cb),
- sheet);
-
+ g_signal_connect(G_OBJECT(sheet->entry), "insert_text",
+ G_CALLBACK(gnucash_sheet_insert_cb), sheet);
sheet->delete_signal =
- gtk_signal_connect(GTK_OBJECT(sheet->entry), "delete_text",
- GTK_SIGNAL_FUNC(gnucash_sheet_delete_cb),
- sheet);
+ g_signal_connect(G_OBJECT(sheet->entry), "delete_text",
+ G_CALLBACK(gnucash_sheet_delete_cb), sheet);
}
static gboolean
@@ -1514,19 +1513,17 @@
if (new_text != NULL)
{
- gtk_signal_handler_block (GTK_OBJECT (sheet->entry),
- sheet->insert_signal);
-
- gtk_signal_handler_block (GTK_OBJECT (sheet->entry),
- sheet->delete_signal);
-
+ g_signal_handler_block (G_OBJECT (sheet->entry),
+ sheet->insert_signal);
+ g_signal_handler_block (G_OBJECT (sheet->entry),
+ sheet->delete_signal);
+
gtk_entry_set_text (GTK_ENTRY (sheet->entry), new_text);
-
- gtk_signal_handler_unblock (GTK_OBJECT (sheet->entry),
- sheet->delete_signal);
-
- gtk_signal_handler_unblock (GTK_OBJECT (sheet->entry),
- sheet->insert_signal);
+
+ g_signal_handler_unblock (G_OBJECT (sheet->entry),
+ sheet->delete_signal);
+ g_signal_handler_unblock (G_OBJECT (sheet->entry),
+ sheet->insert_signal);
changed = TRUE;
}
@@ -2196,10 +2193,10 @@
GnomeCanvasClass *canvas_class;
gobject_class = G_OBJECT_CLASS (class);
- widget_class = (GtkWidgetClass *) class;
- canvas_class = (GnomeCanvasClass *) class;
+ widget_class = GTK_WIDGET_CLASS (class);
+ canvas_class = GNOME_CANVAS_CLASS (class);
- sheet_parent_class = gtk_type_class (gnome_canvas_get_type ());
+ sheet_parent_class = g_type_class_peek_parent (class);
/* Method override */
gobject_class->finalize = gnucash_sheet_finalize;
@@ -2259,7 +2256,7 @@
}
-GtkType
+GType
gnucash_sheet_get_type (void)
{
static GType gnucash_sheet_type = 0;
@@ -2311,7 +2308,7 @@
/* The grid */
item = gnome_canvas_item_new (sheet_group,
gnucash_grid_get_type (),
- "GnucashGrid::Sheet", sheet,
+ "sheet", sheet,
NULL);
sheet->grid = item;
@@ -2322,8 +2319,8 @@
/* The cursor */
sheet->cursor = gnucash_cursor_new (sheet_group);
gnome_canvas_item_set (sheet->cursor,
- "GnucashCursor::sheet", sheet,
- "GnucashCursor::grid", sheet->grid,
+ "sheet", sheet,
+ "grid", sheet->grid,
NULL);
/* The entry widget */
@@ -2410,7 +2407,7 @@
}
-GtkType
+GType
gnucash_register_get_type (void)
{
static GType gnucash_register_type = 0;
@@ -2461,7 +2458,7 @@
GtkWidget *sheet;
GtkWidget *scrollbar;
- reg = gtk_type_new(gnucash_register_get_type ());
+ reg = g_object_new (GNUCASH_TYPE_REGISTER, NULL);
widget = GTK_WIDGET(reg);
sheet = gnucash_sheet_new (table);
==================================================
Differences for gnucash-sheet.h (revision 1.7.4.2 -> 1.7.4.3)
==================================================
--- /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-sheet.h 2003/07/17 08:05:10 1.7.4.2
+++ /home/cvs/cvsroot/gnucash/src/register/register-gnome/gnucash-sheet.h 2004/03/04 23:59:48 1.7.4.3
@@ -127,14 +127,14 @@
} GnucashRegister;
-GtkType gnucash_sheet_get_type (void);
+GType gnucash_sheet_get_type (void);
GtkWidget *gnucash_sheet_new (Table *table);
void gnucash_sheet_table_load (GnucashSheet *sheet, gboolean do_scroll);
void gnucash_sheet_recompute_block_offsets (GnucashSheet *sheet);
-GtkType gnucash_register_get_type (void);
+GType gnucash_register_get_type (void);
/* this already has scrollbars attached */
GtkWidget *gnucash_register_new (Table *table);
More information about the Gnucash-changes
mailing list