[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