Gnome::Gtk4::TextMark
Table of Contents
Description§
A Gnome::Gtk4::TextMark is a position in a GtkTextbuffer that is preserved across modifications.
You may wish to begin by reading the [text widget conceptual overview](section-text-widget.html), which gives an overview of all the objects and data types related to the text widget and how they work together.
A Gnome::Gtk4::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 .get-iter-at-mark() in class Gnome. 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 .delete-mark() in class Gnome. Once deleted from the buffer, a mark is essentially useless.
Marks optionally have names; these can be convenient to avoid passing the Gnome::Gtk4::TextMark object around.
Marks are typically created using the .create-mark() in class Gnome function.
Uml Diagram§
UNKNOWN image§
=for image :class<inline> :src<asset_files/images/plantuml/TextMark.png> :width<70\%>Class initialization§
new§
:native-object§
Create an object using a native object from an object of the same type found elsewhere. See also Gnome::N::TopLevelSupportClass.
multi method new ( N-Object() :$native-object! )
new-textmark§
Creates a text mark.
Add it to a buffer using .add-mark() in class Gnome. If $name is undefined, the mark is anonymous; otherwise, the mark can be retrieved by name using .get-mark() in class Gnome. 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 right side of the text you’re typing).
method new-textmark ( Str $name, Bool() $left-gravity --> Gnome::Gtk4::TextMark )
- $name; mark name.
- $left-gravity; whether the mark should have left gravity.
Methods§
get-buffer§
Gets the buffer this mark is located inside.
Returns undefined if the mark is deleted.
method get-buffer (--> N-Object )
Return value; the mark’s Gnome::Gtk4::TextBuffer.
get-deleted§
Returns True if the mark has been removed from its buffer.
See .add-mark() in class Gnome for a way to add it to a buffer again.
method get-deleted (--> Bool )
Return value; whether the mark is deleted.
get-left-gravity§
Determines whether the mark has left gravity.
method get-left-gravity (--> Bool )
Return value; True if the mark has left gravity, False otherwise.
get-name§
Returns the mark name.
Returns undefined for anonymous marks.
method get-name (--> Str )
Return value; mark name.
get-visible§
Returns True if the mark is visible.
A cursor is displayed for visible marks.
method get-visible (--> Bool )
Return value; True if visible.
set-visible§
No documentation of method.
method set-visible ( Bool() $setting )
- $setting; .
About my projects, examples and tutorials