*/
#define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API
+#include "config.h"
#include "gtktextchild.h"
#include "gtktextbtree.h"
#include "gtktextlayout.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); \
- } \
+#include "gtkintl.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_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 *
}
-GtkTextLineSegmentClass gtk_text_pixbuf_type = {
+const GtkTextLineSegmentClass gtk_text_pixbuf_type = {
"pixbuf", /* name */
FALSE, /* leftGravity */
NULL, /* splitFunc */
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 */
GtkTextLayout *layout)
{
g_object_set_data (G_OBJECT (child),
- "gtk-text-child-anchor-layout",
+ I_("gtk-text-child-anchor-layout"),
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;
+static void gtk_text_child_anchor_finalize (GObject *obj);
- 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, "GtkTextChildAnchor",
- &object_info, 0);
- }
-
- return object_type;
-}
+G_DEFINE_TYPE (GtkTextChildAnchor, gtk_text_child_anchor, G_TYPE_OBJECT)
static void
gtk_text_child_anchor_init (GtkTextChildAnchor *child_anchor)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- parent_class = g_type_class_peek_parent (klass);
-
object_class->finalize = gtk_text_child_anchor_finalize;
}
}
anchor->segment = NULL;
+
+ G_OBJECT_CLASS (gtk_text_child_anchor_parent_class)->finalize (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)
_gtk_anchored_child_set_layout (child, layout);
}
-
-