Gtk.TextMark
Gtk.TextMark — A position in the buffer preserved across buffer modifications
Object Hierarchy:
GObject
╰── Gtk.TextMark
Functions:
- new
(name:str=None, left_gravity:bool) -> Gtk.TextMark - set_visible
(self, setting:bool) - get_visible
(self) -> bool - get_deleted
(self) -> bool - get_name
(self) -> str - get_buffer
(self) -> Gtk.TextBuffer - get_left_gravity
(self) -> bool
Description:
You may wish to begin by reading the [text widget conceptual overview][TextWidget] which gives an overview of all the objects and data types related to the text widget and how they work together.
A Gtk.TextMark 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.TextBuffer::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.
Note that 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.TextBuffer::delete_mark(). Once deleted from the buffer, a mark is essentially useless.
Marks optionally have names; these can be convenient to avoid passing the Gtk.TextMark object around.
Marks are typically created using the Gtk.TextBuffer::create_mark() function.
Function Details:
new()
new (name:str=None, left_gravity:bool) -> Gtk.TextMark
Creates a text mark. Add it to a buffer using Gtk.TextBuffer:add_mark`()`.If `name` is `None`, the mark is anonymous; otherwise, the mark can be retrieved by name usingGtk.TextBuffer:get_mark(). If a mark has left gravity, and text is inserted at the mark’s current location, the mark will be moved to the left of the newly-inserted text. If the mark has right gravity (left_gravity = FALSE), the mark will end up on the right of newly-inserted text. The standard left-to-right cursor is a mark with right gravity (when you type, the cursor stays on the rightside of the text you’re typing).
Returns: new Gtk.TextMark
Since: 2.12
set_visible()
set_visible (self, setting:bool)
Sets the visibility of mark; the insertion point is normallyvisible, i.e. you can see it as a vertical bar. Also, the textwidget uses a visible mark to indicate where a drop will occur whendragging-and-dropping text. Most other marks are not visible.Marks are not visible by default.
get_visible()
get_visible (self) -> bool
Returns True if the mark is visible (i.e. a cursor is displayedfor it).
- Returns:
Trueif visible
get_deleted()
get_deleted (self) -> bool
Returns True if the mark has been removed from its bufferwith Gtk.TextBuffer:delete_mark`()`. SeeGtk.TextBuffer:add_mark()for a way to add it to a buffer again.
- Returns: whether the mark is deleted
get_name()
get_name (self) -> str
Returns the mark name; returns None for anonymous marks.
- Returns: mark name
get_buffer()
get_buffer (self) -> Gtk.TextBuffer
Gets the buffer this mark is located inside,or None if the mark is deleted.
- Returns:
the mark’s
Gtk.TextBuffer.
get_left_gravity()
get_left_gravity (self) -> bool
Determines whether the mark has left gravity.
- Returns:
Trueif the mark has left gravity,FALSEotherwise