X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtktextchild.c;h=dd7d3a49061766733c874e156479ab1716926da0;hb=fa4878979e0a72890ca577a210ccd7cf6291dbf0;hp=05a1a3c7e32dd539b3bee70b75b944f51c018935;hpb=94eec042676a8e18cebc9af8f27cd251355f4ba4;p=~andy%2Fgtk diff --git a/gtk/gtktextchild.c b/gtk/gtktextchild.c index 05a1a3c7e..dd7d3a490 100644 --- a/gtk/gtktextchild.c +++ b/gtk/gtktextchild.c @@ -48,28 +48,29 @@ */ #define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API -#include +#include "config.h" #include "gtktextchild.h" #include "gtktextbtree.h" #include "gtktextlayout.h" #include "gtkintl.h" -#include "gtkalias.h" - -#define CHECK_IN_BUFFER(anchor) \ - G_STMT_START { \ - if ((anchor)->segment == NULL) \ - { \ - g_warning ("%s: GtkTextChildAnchor hasn't been in a buffer yet", G_GNUC_FUNCTION); \ - } \ + +#define CHECK_IN_BUFFER(anchor) \ + G_STMT_START { \ + if ((anchor)->segment == NULL) \ + { \ + g_warning ("%s: GtkTextChildAnchor hasn't been in a buffer yet",\ + G_STRFUNC); \ + } \ } G_STMT_END -#define CHECK_IN_BUFFER_RETURN(anchor, val) \ - G_STMT_START { \ - if ((anchor)->segment == NULL) \ - { \ - g_warning ("%s: GtkTextChildAnchor hasn't been in a buffer yet", G_GNUC_FUNCTION); \ - return (val); \ - } \ +#define CHECK_IN_BUFFER_RETURN(anchor, val) \ + G_STMT_START { \ + if ((anchor)->segment == NULL) \ + { \ + g_warning ("%s: GtkTextChildAnchor hasn't been in a buffer yet",\ + G_STRFUNC); \ + return (val); \ + } \ } G_STMT_END static GtkTextLineSegment * @@ -108,7 +109,7 @@ pixbuf_segment_check_func (GtkTextLineSegment *seg, } -GtkTextLineSegmentClass gtk_text_pixbuf_type = { +const GtkTextLineSegmentClass gtk_text_pixbuf_type = { "pixbuf", /* name */ FALSE, /* leftGravity */ NULL, /* splitFunc */ @@ -133,9 +134,10 @@ _gtk_pixbuf_segment_new (GdkPixbuf *pixbuf) seg->next = NULL; - seg->byte_count = 3; /* We convert to the 0xFFFC "unknown character", - * a 3-byte sequence in UTF-8 - */ + /* We convert to the 0xFFFC "unknown character", + * a 3-byte sequence in UTF-8. + */ + seg->byte_count = GTK_TEXT_UNKNOWN_CHAR_UTF8_LEN; seg->char_count = 1; seg->body.pixbuf.pixbuf = pixbuf; @@ -206,7 +208,7 @@ child_segment_check_func (GtkTextLineSegment *seg, g_error ("child segment has char count of %d", seg->char_count); } -GtkTextLineSegmentClass gtk_text_child_type = { +const GtkTextLineSegmentClass gtk_text_child_type = { "child-widget", /* name */ FALSE, /* leftGravity */ NULL, /* splitFunc */ @@ -304,38 +306,9 @@ _gtk_anchored_child_set_layout (GtkWidget *child, layout); } -static void gtk_text_child_anchor_init (GtkTextChildAnchor *child_anchor); -static void gtk_text_child_anchor_class_init (GtkTextChildAnchorClass *klass); -static void gtk_text_child_anchor_finalize (GObject *obj); - -static gpointer parent_class = NULL; - -GType -gtk_text_child_anchor_get_type (void) -{ - static GType object_type = 0; - - if (!object_type) - { - static const GTypeInfo object_info = - { - sizeof (GtkTextChildAnchorClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gtk_text_child_anchor_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GtkTextChildAnchor), - 0, /* n_preallocs */ - (GInstanceInitFunc) gtk_text_child_anchor_init, - }; - - object_type = g_type_register_static (G_TYPE_OBJECT, I_("GtkTextChildAnchor"), - &object_info, 0); - } +static void gtk_text_child_anchor_finalize (GObject *obj); - return object_type; -} +G_DEFINE_TYPE (GtkTextChildAnchor, gtk_text_child_anchor, G_TYPE_OBJECT) static void gtk_text_child_anchor_init (GtkTextChildAnchor *child_anchor) @@ -348,8 +321,6 @@ gtk_text_child_anchor_class_init (GtkTextChildAnchorClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); - parent_class = g_type_class_peek_parent (klass); - object_class->finalize = gtk_text_child_anchor_finalize; } @@ -404,7 +375,7 @@ gtk_text_child_anchor_finalize (GObject *obj) anchor->segment = NULL; - G_OBJECT_CLASS (parent_class)->finalize (obj); + G_OBJECT_CLASS (gtk_text_child_anchor_parent_class)->finalize (obj); } /** @@ -413,9 +384,9 @@ gtk_text_child_anchor_finalize (GObject *obj) * * Gets a list of all widgets anchored at this child anchor. * The returned list should be freed with g_list_free(). - * - * - * Return value: list of widgets anchored at @anchor + * + * + * Return value: (element-type GtkWidget) (transfer container): list of widgets anchored at @anchor **/ GList* gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor) @@ -539,6 +510,3 @@ gtk_text_anchored_child_set_layout (GtkWidget *child, _gtk_anchored_child_set_layout (child, layout); } - -#define __GTK_TEXT_CHILD_C__ -#include "gtkaliasdef.c"