-- Tambet Ingo <tambet@ximian.com> |
? libgnomeprintui.patch Index: gnome-canvas-hacktext.c =================================================================== RCS file: /cvs/gnome/libgnomeprintui/libgnomeprintui/gnome-canvas-hacktext.c,v retrieving revision 1.32 diff -u -r1.32 gnome-canvas-hacktext.c --- gnome-canvas-hacktext.c 6 Sep 2002 06:01:28 -0000 1.32 +++ gnome-canvas-hacktext.c 7 Oct 2002 08:43:11 -0000 @@ -40,16 +40,17 @@ #include <libgnomeprint/gnome-rfont.h> #include "gnome-canvas-hacktext.h" +#include "gnome-print-i18n.h" enum { - ARG_0, - ARG_TEXT, - ARG_GLYPHLIST, - ARG_FILL_COLOR, - ARG_FILL_COLOR_RGBA, - ARG_FONT, - ARG_X, - ARG_Y + PROP_0, + PROP_TEXT, + PROP_GLYPHLIST, + PROP_FILL_COLOR, + PROP_FILL_COLOR_RGBA, + PROP_FONT, + PROP_X, + PROP_Y }; @@ -120,20 +121,57 @@ gobject_class->set_property = gnome_canvas_hacktext_set_property; gobject_class->get_property = gnome_canvas_hacktext_get_property; - /* FIXME: finish port (Chema) */ -#if 0 - /* When this gets checked into libgnomeui, change the - * GTK_TYPE_POINTER to GTK_TYPE_GNOME_CANVAS_HACKTEXT, and add an - * entry to gnome-boxed.defs - */ - gtk_object_add_arg_type ("GnomeCanvasHacktext::text", GTK_TYPE_STRING, GTK_ARG_READWRITE, ARG_TEXT); - gtk_object_add_arg_type ("GnomeCanvasHacktext::glyphlist", GTK_TYPE_POINTER, GTK_ARG_READWRITE, ARG_GLYPHLIST); - gtk_object_add_arg_type ("GnomeCanvasHacktext::fill_color", GTK_TYPE_STRING, GTK_ARG_WRITABLE, ARG_FILL_COLOR); - gtk_object_add_arg_type ("GnomeCanvasHacktext::fill_color_rgba", GTK_TYPE_UINT, GTK_ARG_READWRITE, ARG_FILL_COLOR_RGBA); - gtk_object_add_arg_type ("GnomeCanvasHacktext::font", GTK_TYPE_OBJECT, GTK_ARG_READWRITE, ARG_FONT); - gtk_object_add_arg_type ("GnomeCanvasHacktext::x", GTK_TYPE_DOUBLE, GTK_ARG_READWRITE, ARG_X); - gtk_object_add_arg_type ("GnomeCanvasHacktext::y", GTK_TYPE_DOUBLE, GTK_ARG_READWRITE, ARG_Y); -#endif + g_object_class_install_property + (gobject_class, + PROP_TEXT, + g_param_spec_string ("text", + _("Text"), + _("Text to render"), + NULL, + G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property + (gobject_class, + PROP_X, + g_param_spec_double ("x", NULL, NULL, + -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, + (G_PARAM_READABLE | G_PARAM_WRITABLE))); + g_object_class_install_property + (gobject_class, + PROP_Y, + g_param_spec_double ("y", NULL, NULL, + -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, + (G_PARAM_READABLE | G_PARAM_WRITABLE))); + g_object_class_install_property + (gobject_class, + PROP_GLYPHLIST, + g_param_spec_pointer ("glyphlist", + _("Glyphlist"), + _("Glyphlist"), + (G_PARAM_READABLE | G_PARAM_WRITABLE))); + g_object_class_install_property + (gobject_class, + PROP_FILL_COLOR, + g_param_spec_string ("fill_color", + _("Color"), + _("Text color, as string"), + NULL, + G_PARAM_WRITABLE)); + g_object_class_install_property + (gobject_class, + PROP_FILL_COLOR_RGBA, + g_param_spec_uint ("fill_color_rgba", + _("Color"), + _("Text color, as an R/G/B/A combined integer"), + 0, G_MAXUINT, 0, + (G_PARAM_READABLE | G_PARAM_WRITABLE))); + g_object_class_install_property + (gobject_class, + PROP_FONT, + g_param_spec_object ("font", + _("Font"), + _("Font as a GnomeFont struct"), + GNOME_TYPE_FONT, + (G_PARAM_READABLE | G_PARAM_WRITABLE))); object_class->destroy = gnome_canvas_hacktext_destroy; @@ -245,13 +283,8 @@ const GValue *value, GParamSpec *pspec) { - - g_assert_not_reached (); -/* FIMXE: Finish port to 2.0 (Chema) */ -#if 0 GnomeCanvasItem *item; GnomeCanvasHacktext *bp; - char *text; GnomeGlyphList * gl; GdkColor color; GnomeFont * font; @@ -259,10 +292,8 @@ item = GNOME_CANVAS_ITEM (object); bp = GNOME_CANVAS_HACKTEXT (object); - switch (arg_id) { - case ARG_TEXT: - text = GTK_VALUE_POINTER (*arg); - + switch (param_id) { + case PROP_TEXT: if (bp->text) { g_free (bp->text); bp->text = NULL; @@ -273,14 +304,13 @@ bp->priv->glyphlist = NULL; } - if (text) - bp->text = g_strdup (text); + bp->text = g_value_dup_string (value); gnome_canvas_item_request_update (item); break; - case ARG_GLYPHLIST: - gl = GTK_VALUE_POINTER (*arg); + case PROP_GLYPHLIST: + gl = g_value_get_pointer (value); if (bp->text) { g_free (bp->text); @@ -302,8 +332,8 @@ break; - case ARG_FILL_COLOR: - if (gnome_canvas_get_color (item->canvas, GTK_VALUE_STRING (*arg), &color)) { + case PROP_FILL_COLOR: + if (gnome_canvas_get_color (item->canvas, g_value_get_string (value), &color)) { bp->fill_set = TRUE; bp->fill_pixel = color.pixel; bp->fill_rgba = @@ -319,17 +349,17 @@ gnome_canvas_item_request_update (item); break; - case ARG_FILL_COLOR_RGBA: + case PROP_FILL_COLOR_RGBA: bp->fill_set = TRUE; - bp->fill_rgba = GTK_VALUE_UINT (*arg); + bp->fill_rgba = g_value_get_uint (value); /* should probably request repaint on the fill_svp */ gnome_canvas_item_request_update (item); break; - case ARG_FONT: - font = GTK_VALUE_POINTER (*arg); + case PROP_FONT: + font = g_value_get_object (value); if (font) gnome_font_ref (font); if (bp->priv->font) @@ -339,20 +369,19 @@ gnome_canvas_item_request_update (item); break; - case ARG_X: - bp->x = GTK_VALUE_DOUBLE (*arg); + case PROP_X: + bp->x = g_value_get_double (value); gnome_canvas_item_request_update (item); break; - case ARG_Y: - bp->y = GTK_VALUE_DOUBLE (*arg); + case PROP_Y: + bp->y = g_value_get_double (value); gnome_canvas_item_request_update (item); break; default: break; } -#endif } static void @@ -361,40 +390,35 @@ GValue *value, GParamSpec *pspec) { -/* FIXME: Finish port to 2.0 (Chema) */ -#if 0 GnomeCanvasHacktext *bp; bp = GNOME_CANVAS_HACKTEXT (object); - switch (arg_id) { - case ARG_TEXT: - if (bp->text) { - GTK_VALUE_POINTER (*arg) = g_strdup (bp->text); - } else - GTK_VALUE_POINTER (*arg) = NULL; + switch (param_id) { + case PROP_TEXT: + g_value_set_string (value, bp->text); break; - case ARG_FILL_COLOR_RGBA: - GTK_VALUE_UINT (*arg) = bp->fill_color; + + case PROP_FILL_COLOR_RGBA: + g_value_set_uint (value, bp->fill_color); break; - case ARG_FONT: - GTK_VALUE_POINTER (*arg) = bp->priv->font; + case PROP_FONT: + g_value_set_object (value, bp->priv->font); break; - case ARG_X: - GTK_VALUE_DOUBLE (*arg) = bp->x; + case PROP_X: + g_value_set_double (value, bp->x); break; - case ARG_Y: - GTK_VALUE_DOUBLE (*arg) = bp->y; + case PROP_Y: + g_value_set_double (value, bp->y); break; default: - arg->type = GTK_TYPE_INVALID; + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; } -#endif } static void