Gnome::Gtk4::TextMark

#------------------------------------------------------------------------------- #--[Class Description]---------------------------------------------------------- #-------------------------------------------------------------------------------

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 =for image :src<asset_files/images/plantuml/TextMark.png> :width<70%> :class<inline>

#------------------------------------------------------------------------------- #--[Class Initialization]------------------------------------------------------- #-------------------------------------------------------------------------------

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]-------------------------------------------------------------------- #-------------------------------------------------------------------------------

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; .

Gnome::Gtk4 v0.2.8

Modules for package Gnome::Gtk4:api<2>. The language binding to GNOME’s user interface toolkit version 4

Authors

    License

    Artistic-2.0

    Dependencies

    CairoXMLXML::XPathGnome::Gio:api<2>Gnome::Gsk4:api<2>Gnome::Gdk4:api<2>Gnome::Graphene:api<2>Gnome::Pango:api<2>Gnome::GObject:api<2>Gnome::Glib:api<2>Gnome::N:api<2>

    Test Dependencies

    Provides

    • Gnome::Gtk4::AboutDialog
    • Gnome::Gtk4::ActionBar
    • Gnome::Gtk4::ActivateAction
    • Gnome::Gtk4::Adjustment
    • Gnome::Gtk4::AlertDialog
    • Gnome::Gtk4::AlternativeTrigger
    • Gnome::Gtk4::AnyFilter
    • Gnome::Gtk4::AppChooserButton
    • Gnome::Gtk4::AppChooserDialog
    • Gnome::Gtk4::AppChooserWidget
    • Gnome::Gtk4::Application
    • Gnome::Gtk4::ApplicationWindow
    • Gnome::Gtk4::AspectFrame
    • Gnome::Gtk4::Assistant
    • Gnome::Gtk4::AssistantPage
    • Gnome::Gtk4::BinLayout
    • Gnome::Gtk4::BoolFilter
    • Gnome::Gtk4::Box
    • Gnome::Gtk4::BoxLayout
    • Gnome::Gtk4::Builder
    • Gnome::Gtk4::BuilderListItemFactory
    • Gnome::Gtk4::Button
    • Gnome::Gtk4::Calendar
    • Gnome::Gtk4::CallbackAction
    • Gnome::Gtk4::CellArea
    • Gnome::Gtk4::CellAreaBox
    • Gnome::Gtk4::CellRenderer
    • Gnome::Gtk4::CellRendererAccel
    • Gnome::Gtk4::CellRendererCombo
    • Gnome::Gtk4::CellRendererPixbuf
    • Gnome::Gtk4::CellRendererProgress
    • Gnome::Gtk4::CellRendererSpin
    • Gnome::Gtk4::CellRendererSpinner
    • Gnome::Gtk4::CellRendererText
    • Gnome::Gtk4::CellRendererToggle
    • Gnome::Gtk4::CellView
    • Gnome::Gtk4::CenterBox
    • Gnome::Gtk4::CenterLayout
    • Gnome::Gtk4::CheckButton
    • Gnome::Gtk4::ColorButton
    • Gnome::Gtk4::ColorChooserDialog
    • Gnome::Gtk4::ColorChooserWidget
    • Gnome::Gtk4::ColumnView
    • Gnome::Gtk4::ComboBox
    • Gnome::Gtk4::ComboBoxText
    • Gnome::Gtk4::Constraint
    • Gnome::Gtk4::ConstraintLayout
    • Gnome::Gtk4::ConstraintLayoutChild
    • Gnome::Gtk4::CssProvider
    • Gnome::Gtk4::CustomLayout
    • Gnome::Gtk4::Dialog
    • Gnome::Gtk4::DragIcon
    • Gnome::Gtk4::DragSource
    • Gnome::Gtk4::DrawingArea
    • Gnome::Gtk4::DropControllerMotion
    • Gnome::Gtk4::DropDown
    • Gnome::Gtk4::DropTarget
    • Gnome::Gtk4::DropTargetAsync
    • Gnome::Gtk4::EditableLabel
    • Gnome::Gtk4::EmojiChooser
    • Gnome::Gtk4::Entry
    • Gnome::Gtk4::EntryBuffer
    • Gnome::Gtk4::EntryCompletion
    • Gnome::Gtk4::EventController
    • Gnome::Gtk4::EveryFilter
    • Gnome::Gtk4::Expander
    • Gnome::Gtk4::Expression
    • Gnome::Gtk4::FileChooserDialog
    • Gnome::Gtk4::FileChooserWidget
    • Gnome::Gtk4::FileFilter
    • Gnome::Gtk4::Filter
    • Gnome::Gtk4::Fixed
    • Gnome::Gtk4::FixedLayout
    • Gnome::Gtk4::FixedLayoutChild
    • Gnome::Gtk4::FlowBox
    • Gnome::Gtk4::FlowBoxChild
    • Gnome::Gtk4::FontButton
    • Gnome::Gtk4::FontChooserDialog
    • Gnome::Gtk4::FontChooserWidget
    • Gnome::Gtk4::Frame
    • Gnome::Gtk4::GLArea
    • Gnome::Gtk4::Gesture
    • Gnome::Gtk4::GestureClick
    • Gnome::Gtk4::GestureDrag
    • Gnome::Gtk4::GestureLongPress
    • Gnome::Gtk4::GesturePan
    • Gnome::Gtk4::GestureRotate
    • Gnome::Gtk4::GestureSingle
    • Gnome::Gtk4::GestureStylus
    • Gnome::Gtk4::GestureSwipe
    • Gnome::Gtk4::GestureZoom
    • Gnome::Gtk4::Grid
    • Gnome::Gtk4::GridLayout
    • Gnome::Gtk4::GridLayoutChild
    • Gnome::Gtk4::GridView
    • Gnome::Gtk4::HeaderBar
    • Gnome::Gtk4::IconPaintable
    • Gnome::Gtk4::IconTheme
    • Gnome::Gtk4::IconView
    • Gnome::Gtk4::Image
    • Gnome::Gtk4::InfoBar
    • Gnome::Gtk4::KeyvalTrigger
    • Gnome::Gtk4::Label
    • Gnome::Gtk4::LayoutChild
    • Gnome::Gtk4::LayoutManager
    • Gnome::Gtk4::LevelBar
    • Gnome::Gtk4::LinkButton
    • Gnome::Gtk4::ListBase
    • Gnome::Gtk4::ListBox
    • Gnome::Gtk4::ListBoxRow
    • Gnome::Gtk4::ListItem
    • Gnome::Gtk4::ListItemFactory
    • Gnome::Gtk4::ListStore
    • Gnome::Gtk4::ListView
    • Gnome::Gtk4::LockButton
    • Gnome::Gtk4::MediaControls
    • Gnome::Gtk4::MenuButton
    • Gnome::Gtk4::MessageDialog
    • Gnome::Gtk4::MnemonicAction
    • Gnome::Gtk4::MnemonicTrigger
    • Gnome::Gtk4::MultiFilter
    • Gnome::Gtk4::MultiSelection
    • Gnome::Gtk4::MultiSorter
    • Gnome::Gtk4::N-AccessibleList
    • Gnome::Gtk4::N-Bitset
    • Gnome::Gtk4::N-BitsetIter
    • Gnome::Gtk4::N-Border
    • Gnome::Gtk4::N-Requisition
    • Gnome::Gtk4::N-ScrollInfo
    • Gnome::Gtk4::N-TextIter
    • Gnome::Gtk4::N-TreeIter
    • Gnome::Gtk4::N-TreePath
    • Gnome::Gtk4::N-TreeRowReference
    • Gnome::Gtk4::NamedAction
    • Gnome::Gtk4::NeverTrigger
    • Gnome::Gtk4::NoSelection
    • Gnome::Gtk4::Notebook
    • Gnome::Gtk4::NotebookPage
    • Gnome::Gtk4::NothingAction
    • Gnome::Gtk4::NumericSorter
    • Gnome::Gtk4::Overlay
    • Gnome::Gtk4::OverlayLayout
    • Gnome::Gtk4::OverlayLayoutChild
    • Gnome::Gtk4::PageSetupUnixDialog
    • Gnome::Gtk4::Paned
    • Gnome::Gtk4::PasswordEntry
    • Gnome::Gtk4::Picture
    • Gnome::Gtk4::Popover
    • Gnome::Gtk4::PopoverMenu
    • Gnome::Gtk4::PopoverMenuBar
    • Gnome::Gtk4::PrintOperation
    • Gnome::Gtk4::PrintUnixDialog
    • Gnome::Gtk4::ProgressBar
    • Gnome::Gtk4::R-Accessible
    • Gnome::Gtk4::R-Actionable
    • Gnome::Gtk4::R-AppChooser
    • Gnome::Gtk4::R-Buildable
    • Gnome::Gtk4::R-BuilderScope
    • Gnome::Gtk4::R-CellEditable
    • Gnome::Gtk4::R-CellLayout
    • Gnome::Gtk4::R-ColorChooser
    • Gnome::Gtk4::R-ConstraintTarget
    • Gnome::Gtk4::R-Editable
    • Gnome::Gtk4::R-FileChooser
    • Gnome::Gtk4::R-FontChooser
    • Gnome::Gtk4::R-Native
    • Gnome::Gtk4::R-Orientable
    • Gnome::Gtk4::R-PrintOperationPreview
    • Gnome::Gtk4::R-Root
    • Gnome::Gtk4::R-Scrollable
    • Gnome::Gtk4::R-SelectionModel
    • Gnome::Gtk4::R-ShortcutManager
    • Gnome::Gtk4::R-StyleProvider
    • Gnome::Gtk4::R-SymbolicPaintable
    • Gnome::Gtk4::R-TreeDragDest
    • Gnome::Gtk4::R-TreeDragSource
    • Gnome::Gtk4::R-TreeModel
    • Gnome::Gtk4::R-TreeSortable
    • Gnome::Gtk4::Range
    • Gnome::Gtk4::Revealer
    • Gnome::Gtk4::Scale
    • Gnome::Gtk4::ScaleButton
    • Gnome::Gtk4::Scrollbar
    • Gnome::Gtk4::ScrolledWindow
    • Gnome::Gtk4::SearchBar
    • Gnome::Gtk4::SearchEntry
    • Gnome::Gtk4::Separator
    • Gnome::Gtk4::Shortcut
    • Gnome::Gtk4::ShortcutAction
    • Gnome::Gtk4::ShortcutController
    • Gnome::Gtk4::ShortcutLabel
    • Gnome::Gtk4::ShortcutTrigger
    • Gnome::Gtk4::ShortcutsGroup
    • Gnome::Gtk4::ShortcutsSection
    • Gnome::Gtk4::ShortcutsShortcut
    • Gnome::Gtk4::ShortcutsWindow
    • Gnome::Gtk4::SignalAction
    • Gnome::Gtk4::SignalListItemFactory
    • Gnome::Gtk4::SingleSelection
    • Gnome::Gtk4::Snapshot
    • Gnome::Gtk4::Sorter
    • Gnome::Gtk4::SpinButton
    • Gnome::Gtk4::Spinner
    • Gnome::Gtk4::Stack
    • Gnome::Gtk4::StackPage
    • Gnome::Gtk4::StackSidebar
    • Gnome::Gtk4::StackSwitcher
    • Gnome::Gtk4::Statusbar
    • Gnome::Gtk4::StringFilter
    • Gnome::Gtk4::StringList
    • Gnome::Gtk4::StringObject
    • Gnome::Gtk4::StringSorter
    • Gnome::Gtk4::StyleContext
    • Gnome::Gtk4::Switch
    • Gnome::Gtk4::T-aboutdialog
    • Gnome::Gtk4::T-accessible
    • Gnome::Gtk4::T-activateaction
    • Gnome::Gtk4::T-application
    • Gnome::Gtk4::T-assistant
    • Gnome::Gtk4::T-bitset
    • Gnome::Gtk4::T-border
    • Gnome::Gtk4::T-builder
    • Gnome::Gtk4::T-builderscope
    • Gnome::Gtk4::T-cellrenderer
    • Gnome::Gtk4::T-cellrendereraccel
    • Gnome::Gtk4::T-dialog
    • Gnome::Gtk4::T-editable
    • Gnome::Gtk4::T-entry
    • Gnome::Gtk4::T-enums
    • Gnome::Gtk4::T-expression
    • Gnome::Gtk4::T-filechooser
    • Gnome::Gtk4::T-filter
    • Gnome::Gtk4::T-fontchooser
    • Gnome::Gtk4::T-iconpaintable
    • Gnome::Gtk4::T-icontheme
    • Gnome::Gtk4::T-iconview
    • Gnome::Gtk4::T-image
    • Gnome::Gtk4::T-levelbar
    • Gnome::Gtk4::T-messagedialog
    • Gnome::Gtk4::T-native
    • Gnome::Gtk4::T-notebook
    • Gnome::Gtk4::T-popovermenu
    • Gnome::Gtk4::T-printoperation
    • Gnome::Gtk4::T-revealer
    • Gnome::Gtk4::T-scrolledwindow
    • Gnome::Gtk4::T-shortcutaction
    • Gnome::Gtk4::T-shortcutsshortcut
    • Gnome::Gtk4::T-show
    • Gnome::Gtk4::T-sorter
    • Gnome::Gtk4::T-spinbutton
    • Gnome::Gtk4::T-stack
    • Gnome::Gtk4::T-stringfilter
    • Gnome::Gtk4::T-stylecontext
    • Gnome::Gtk4::T-styleprovider
    • Gnome::Gtk4::T-textiter
    • Gnome::Gtk4::T-textview
    • Gnome::Gtk4::T-treednd
    • Gnome::Gtk4::T-treedragdest
    • Gnome::Gtk4::T-treemodel
    • Gnome::Gtk4::T-treesortable
    • Gnome::Gtk4::T-treeview
    • Gnome::Gtk4::T-treeviewcolumn
    • Gnome::Gtk4::T-types
    • Gnome::Gtk4::T-widget
    • Gnome::Gtk4::Text
    • Gnome::Gtk4::TextBuffer
    • Gnome::Gtk4::TextChildAnchor
    • Gnome::Gtk4::TextMark
    • Gnome::Gtk4::TextTag
    • Gnome::Gtk4::TextTagTable
    • Gnome::Gtk4::TextView
    • Gnome::Gtk4::ToggleButton
    • Gnome::Gtk4::Tooltip
    • Gnome::Gtk4::TreeExpander
    • Gnome::Gtk4::TreeListModel
    • Gnome::Gtk4::TreeListRow
    • Gnome::Gtk4::TreeListRowSorter
    • Gnome::Gtk4::TreeModelSort
    • Gnome::Gtk4::TreeSelection
    • Gnome::Gtk4::TreeStore
    • Gnome::Gtk4::TreeView
    • Gnome::Gtk4::TreeViewColumn
    • Gnome::Gtk4::Video
    • Gnome::Gtk4::Viewport
    • Gnome::Gtk4::VolumeButton
    • Gnome::Gtk4::Widget
    • Gnome::Gtk4::WidgetPaintable
    • Gnome::Gtk4::Window
    • Gnome::Gtk4::WindowControls
    • Gnome::Gtk4::WindowHandle

    Documentation

    The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.