Gtk.TextMark


Gtk.TextMark — A position in the buffer preserved across buffer modifications

Object Hierarchy:

    GObject
    ╰── Gtk.TextMark

Functions:

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: True if 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: True if the mark has left gravity, FALSE otherwise

results matching ""

    No results matching ""