TextView
A widget that displays the contents of a class@Gtk.TextBuffer.
You may wish to begin by reading the 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.
Shortcuts and Gestures
GtkTextView
supports the following keyboard shortcuts:
Shift+F10 or Menu opens the context menu.
Ctrl+Z undoes the last modification.
Ctrl+Y or Ctrl+Shift+Z redoes the last undone modification.
Additionally, the following signals have default keybindings:
signal@Gtk.TextView::backspace
signal@Gtk.TextView::copy-clipboard
signal@Gtk.TextView::cut-clipboard
signal@Gtk.TextView::delete-from-cursor
signal@Gtk.TextView::insert-emoji
signal@Gtk.TextView::move-cursor
signal@Gtk.TextView::paste-clipboard
signal@Gtk.TextView::select-all
signal@Gtk.TextView::toggle-cursor-visible
signal@Gtk.TextView::toggle-overwrite
Actions
GtkTextView
defines a set of built-in actions:
clipboard.copy
copies the contents to the clipboard.clipboard.cut
copies the contents to the clipboard and deletes it from the widget.clipboard.paste
inserts the contents of the clipboard into the widget.menu.popup
opens the context menu.misc.insert-emoji
opens the Emoji chooser.selection.delete
deletes the current selection.selection.select-all
selects all of the widgets content.text.redo
redoes the last change to the contents.text.undo
undoes the last change to the contents.
CSS nodes
textview.view
├── border.top
├── border.left
├── text
│ ╰── [selection]
├── border.right
├── border.bottom
╰── [window.popup]
GtkTextView
has a main css node with name textview and style class .view, and subnodes for each of the border windows, and the main text area, with names border and text, respectively. The border nodes each get one of the style classes .left, .right, .top or .bottom.
A node representing the selection will appear below the text node.
If a context menu is opened, the window node will appear as a subnode of the main node.
Accessibility
GtkTextView
uses the %GTK_ACCESSIBLE_ROLE_TEXT_BOX role.
Skipped during bindings generation
parameter
window_x
: window_x: Out parameter is not supportedparameter
trailing
: trailing: Out parameter is not supportedparameter
line_top
: line_top: Out parameter is not supportedparameter
y
: y: Out parameter is not supportedparameter
buffer_x
: buffer_x: Out parameter is not supportedmethod
buffer
: Property TypeInfo of getter and setter do not matchmethod
extra-menu
: Property TypeInfo of getter and setter do not matchmethod
im-module
: Property has no getter nor settermethod
tabs
: Property TypeInfo of getter and setter do not match
Constructors
Properties
Whether Tab will result in a tab character being entered.
The accessible role of the given GtkAccessible
implementation.
The bottom margin for text in the text view.
A list of css classes applied to this widget.
If the insertion cursor is shown.
Whether the widget should grab focus when it is clicked with the mouse.
Horizontal GtkAdjustment
of the scrollable widget.
Enables or disables the emission of the ::query-tooltip signal on @widget.
Whether to use the hexpand
property.
Determines when horizontal scrolling should start.
Additional hints (beyond property@Gtk.TextView:input-purpose) that allow input methods to fine-tune their behaviour.
The purpose of this text field.
Left, right, or center justification.
The GtkLayoutManager
instance to use to compute the preferred size of the widget, and allocate its children.
The default left margin for text in the text view.
Margin on bottom side of widget.
Margin on start of widget, horizontally.
Pixels of blank space above paragraphs.
Pixels of blank space below paragraphs.
Pixels of blank space between wrapped lines in a paragraph.
Whether the widget will receive the default action when it is focused.
The default right margin for text in the text view.
The scale factor of the widget.
Sets the text of tooltip to be the given string, which is marked up with Pango markup.
Sets the text of tooltip to be the given string.
Vertical GtkAdjustment
of the scrollable widget.
Whether to use the vexpand
property.
Determines when vertical scrolling should start.
Functions
Enable or disable an action installed with gtk_widget_class_install_action().
Looks up the action in the action groups associated with
Activates the default.activate
action from @widget.
For widgets that can be “activated” (buttons, menu items, etc.), this function activates them.
Adds a child widget in the text buffer, at the given @anchor.
Adds @controller to @widget so that it will receive events.
Adds a style class to @widget.
Adds a widget to the list of mnemonic labels for this widget.
Adds @child at a fixed coordinate in the GtkTextView
's text window.
Queues an animation frame update and adds a callback to be called before each frame.
This function is only used by GtkWidget
subclasses, to assign a size, position and (optionally) baseline to their child widgets.
Requests the user's screen reader to announce the given message.
Moves the given @iter backward by one display (wrapped) line.
Moves the given @iter backward to the next display line start.
Called by widgets as the user moves around the window using keyboard shortcuts.
Computes the bounds for @widget in the coordinate space of @target.
Computes whether a container should give this widget extra space when possible.
Translates the given @point in @widget's coordinates to coordinates relative to @target’s coordinate system.
Computes a matrix suitable to describe a transformation from
Gets emitted when the user asks for it.
Gets emitted to copy the selection to the clipboard.
Gets emitted to cut the selection to the clipboard.
Gets emitted when the user initiates a text deletion.
Signals that all holders of a reference to the widget should release the reference that they hold.
Emitted when the text direction of a widget changes.
Emitted when the selection needs to be extended at @location.
Emitted when @widget is hidden.
Gets emitted when the user initiates the insertion of a fixed string at the cursor.
Gets emitted to present the Emoji chooser for the @text_view.
Emitted if keyboard navigation fails.
Emitted when @widget is going to be mapped.
Emitted when a widget is activated via a mnemonic.
Gets emitted when the user initiates a cursor movement.
Emitted when the focus is moved.
Gets emitted to move the viewport.
Gets emitted to paste the contents of the clipboard into the text view.
Emitted when preedit text of the active IM changes.
Emitted when the widget’s tooltip is about to be shown.
Emitted when @widget is associated with a GdkSurface
.
Gets emitted to select or unselect the complete contents of the text view.
Gets emitted when the user initiates settings the "anchor" mark.
Emitted when @widget is shown.
Emitted when the widget state changes.
Gets emitted to toggle the cursor-visible
property.
Gets emitted to toggle the overwrite mode of the text view.
Emitted when @widget is going to be unmapped.
Emitted when the GdkSurface
associated with @widget is destroyed.
Creates a new PangoContext
with the appropriate font map, font options, font description, and base direction for drawing text for this widget.
Creates a new PangoLayout
with the appropriate font map, font description, and base direction for drawing text for this widget.
Clears the template children for the given widget.
Checks to see if a drag movement has passed the GTK drag threshold.
Moves the given @iter forward by one display (wrapped) line.
Moves the given @iter forward to the next display line end.
Retrieves the accessible parent for an accessible object.
Retrieves the accessible role of an accessible object.
Returns the baseline that has currently been allocated to @widget.
Returns the height that has currently been allocated to @widget.
Returns the width that has currently been allocated to @widget.
Gets the first ancestor of @widget with type @widget_type.
Retrieves the accessible implementation for the given GtkAccessible
.
Returns the baseline that has currently been allocated to @widget.
Returns the GtkTextBuffer
being displayed by this text view.
Gets the ID of the @buildable object.
Gets the value set with gtk_widget_set_child_visible().
Gets the clipboard object for @widget.
Determine the positions of the strong and weak cursors if the insertion point is at @iter.
Gets the reading direction for a particular widget.
Get the GdkDisplay
for the toplevel window associated with this widget.
Gets the menu model that gets added to the context menu or null if none has been set.
Retrieves the first accessible child of an accessible object.
Returns the widget’s first child.
Returns the current focus child of @widget.
Gets the font map of @widget.
Obtains the frame clock for a widget.
Gets a GtkWidget
that has previously been set as gutter.
Retrieves the GtkAdjustment
used for horizontal scrolling.
Gets the horizontal GtkScrollablePolicy
.
Retrieves the iterator at buffer coordinates @x and @y.
Gets a rectangle which roughly contains the character at @iter.
Returns the widget’s last child.
Gets the PangoContext
that is used for rendering LTR directed text layouts.
Retrieves the next accessible sibling of an accessible object
Returns the widget’s next sibling.
Gets a PangoContext
with the appropriate font map, font description, and base direction for this widget.
Query a platform state, such as focus.
Retrieves the minimum and natural size of a widget, taking into account the widget’s preference for height-for-width management.
Returns the widget’s previous sibling.
Gets the primary clipboard of @widget.
Determines whether @widget is realized.
Gets whether the widget prefers a height-for-width layout or a width-for-height layout.
Gets the PangoContext
that is used for rendering RTL directed text layouts.
Returns the widget’s sensitivity.
Gets the settings object holding the settings used for this widget.
Returns the content width or height of the widget.
Returns the widget state as a flag set.
Returns the style context associated to @widget.
Fetch an object build from the template XML for @widget_type in this @widget instance.
Retrieves the GtkAdjustment
used for vertical scrolling.
Determines whether the widget is visible.
Fills @visible_rect with the currently-visible region of the buffer, in buffer coordinates.
Gets the vertical GtkScrollablePolicy
.
Returns whether @css_class is currently applied to @widget.
Determines whether @widget is the current default widget within its toplevel.
Determines if the widget should show a visible indication that it has the global input focus.
Allow the GtkTextView
input method to internally handle key press and release events.
Returns whether the widget is currently being destroyed.
Creates and initializes child widgets defined in templates.
Inserts @group into @widget.
Inserts @widget into the child widget list of @parent.
Inserts @widget into the child widget list of @parent.
Determines whether @widget is somewhere inside @ancestor, possibly with intermediate containers.
Determines whether @widget can be drawn to.
Returns the widget’s effective sensitivity.
Emits the ::keynav-failed
signal on the widget.
Returns the widgets for which this widget is the target of a mnemonic.
Emits the ::mnemonic-activate signal.
Moves a mark within the buffer so that it's located within the currently-visible text area.
Updates the position of a child.
Move the iterator a given number of characters visually, treating it as the strong cursor position.
Returns a GListModel
to track the children of @widget.
Returns a GListModel
to track the class@Gtk.EventControllers of @widget.
Moves the cursor to the currently visible region of the buffer.
Flags the widget for a rerun of the vfunc@Gtk.Widget.size_allocate function.
Flags a widget to have its size renegotiated.
Removes @controller from @widget, so that it doesn't process events anymore.
Removes a style from @widget.
Removes a widget from the list of mnemonic labels for this widget.
Removes a tick callback previously registered with gtk_widget_add_tick_callback().
Ensures that the cursor is shown.
Reset the input method context of the text view if needed.
Resets the accessible @property to its default value.
Resets the accessible @relation to its default value.
Resets the accessible @state to its default value.
Scrolls @text_view the minimum distance such that @mark is contained within the visible area of the widget.
Scrolls @text_view so that @iter is on the screen in the position indicated by @xalign and @yalign.
Scrolls @text_view so that @mark is on the screen in the position indicated by @xalign and @yalign.
Sets the parent and sibling of an accessible object.
Sets @buffer as the buffer being displayed by @text_view.
Sets whether @widget should be mapped along with its parent.
Sets a named cursor to be shown when pointer devices point towards @widget.
Sets the reading direction on a particular widget.
Sets a menu model to add when constructing the context menu for @text_view.
Set @child as the current focus child of @widget.
Sets the font map to use for Pango rendering.
Places @widget into the gutter specified by @win.
Sets the horizontal adjustment of the GtkScrollable
.
Sets the GtkScrollablePolicy
.
Set all margins to the same value.
Set start and end margin to horizontal and top and bottom margin to vertical
Set margins.
Sets the sensitivity of a widget.
Sets the minimum size of a widget.
Turns on flag values in the current widget state.
Sets the vertical adjustment of the GtkScrollable
.
Sets the visibility state of @widget.
Sets the GtkScrollablePolicy
.
Returns whether @widget should contribute to the measuring and allocation of its parent.
Determines whether @iter is at the start of a display line.
Triggers a tooltip query on the display where the toplevel of @widget is located.
Turns off flag values for the current widget state.
Updates the position of the caret.
Notifies assistive technologies of a change in contents.
Updates the next accessible sibling of @self.
Updates the boundary of the selection.