static void gnucash_grid_realize (GnomeCanvasItem *item) { GdkWindow *window; GnucashGrid *gnucash_grid; GdkGC *gc; if (GNOME_CANVAS_ITEM_CLASS (gnucash_grid_parent_class)->realize) (GNOME_CANVAS_ITEM_CLASS (gnucash_grid_parent_class)->realize)(item); gnucash_grid = GNUCASH_GRID (item); window = gtk_widget_get_window (GTK_WIDGET (item->canvas)); /* Configure the default grid gc */ gnucash_grid->grid_gc = gc = gdk_gc_new (window); gnucash_grid->fill_gc = gdk_gc_new (window); gnucash_grid->gc = gdk_gc_new (window); /* Allocate the default colors */ gnucash_grid->background = gn_white; gnucash_grid->grid_color = gn_black; gnucash_grid->default_color = gn_black; gdk_gc_set_foreground (gc, &gnucash_grid->grid_color); gdk_gc_set_background (gc, &gnucash_grid->background); gdk_gc_set_foreground (gnucash_grid->fill_gc, &gnucash_grid->background); gdk_gc_set_background (gnucash_grid->fill_gc, &gnucash_grid->grid_color); }
static void gnucash_grid_unrealize (GnomeCanvasItem *item) { GnucashGrid *gnucash_grid = GNUCASH_GRID (item); if (gnucash_grid->grid_gc != NULL) { g_object_unref(gnucash_grid->grid_gc); gnucash_grid->grid_gc = NULL; } if (gnucash_grid->fill_gc != NULL) { g_object_unref(gnucash_grid->fill_gc); gnucash_grid->fill_gc = NULL; } if (gnucash_grid->gc != NULL) { g_object_unref(gnucash_grid->gc); gnucash_grid->gc = NULL; } if (GNOME_CANVAS_ITEM_CLASS (gnucash_grid_parent_class)->unrealize) (*GNOME_CANVAS_ITEM_CLASS (gnucash_grid_parent_class)->unrealize)(item); }
static void gnucash_cursor_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GnucashCursor *cursor; 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; } }