X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtktextmark.c;h=33b0649a6f66f050b9e73b03b07ec16bb38b4efc;hb=HEAD;hp=b9fb6377fd88467e7a28ee4d1ec2522b56e1c1dc;hpb=5f1b5d24067468fc86b28dccc504c71abdaf68b8;p=~andy%2Fgtk diff --git a/gtk/gtktextmark.c b/gtk/gtktextmark.c index b9fb6377f..33b0649a6 100644 --- a/gtk/gtktextmark.c +++ b/gtk/gtktextmark.c @@ -54,6 +54,43 @@ #include "gtkintl.h" +/** + * SECTION:gtktextmark + * @Short_description: A position in the buffer preserved across buffer modifications + * @Title: GtkTextMark + * + * You may wish to begin by reading the text widget + * conceptual overview which gives an overview of all the objects and data + * types related to the text widget and how they work together. + * + * A #GtkTextMark is like a bookmark in a text buffer; it preserves a position in + * the text. You can convert the mark to an iterator using + * gtk_text_buffer_get_iter_at_mark(). Unlike iterators, marks remain valid across + * buffer mutations, because their behavior is defined when text is inserted or + * deleted. When text containing a mark is deleted, the mark remains in the + * position originally occupied by the deleted text. When text is inserted at a + * mark, a mark with left gravity will be moved to the + * beginning of the newly-inserted text, and a mark with right + * gravity will be moved to the end. + * + * + * "left" and "right" here refer to logical direction (left is the toward the start + * of the buffer); in some languages such as Hebrew the logically-leftmost text is + * not actually on the left when displayed. + * + * + * Marks are reference counted, but the reference count only controls the validity + * of the memory; marks can be deleted from the buffer at any time with + * gtk_text_buffer_delete_mark(). Once deleted from the buffer, a mark is + * essentially useless. + * + * Marks optionally have names; these can be convenient to avoid passing the + * #GtkTextMark object around. + * + * Marks are typically created using the gtk_text_buffer_create_mark() function. + */ + + static void gtk_text_mark_set_property (GObject *object, guint prop_id, const GValue *value,