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 supportedmethod
get_ltr_context
: C function gtk_text_view_get_ltr_context is ignoredmethod
get_rtl_context
: C function gtk_text_view_get_rtl_context is ignoredparameter
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.
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.
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 @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 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.
Moves the given @iter forward by one display (wrapped) line.
Moves the given @iter forward to the next display line end.
Returns whether pressing the Tab key inserts a tab characters.
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.
Gets the bottom margin for text in the @text_view.
Returns the GtkTextBuffer
being displayed by this text view.
Gets the ID of the @buildable object.
Determines whether the input focus can enter @widget or any of its children.
Queries whether @widget can be the target of pointer events.
Gets the value set with gtk_widget_set_child_visible().
Gets the clipboard object for @widget.
Returns the list of style classes applied to @widget.
Returns the CSS name that is used for @self.
Determine the positions of the strong and weak cursors if the insertion point is at @iter.
Find out whether the cursor should be displayed.
Gets the reading direction for a particular widget.
Get the GdkDisplay
for the toplevel window associated with this widget.
Returns the default editability of the GtkTextView
.
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.
Determines whether @widget can own the input focus.
Returns the current focus child of @widget.
Returns whether the widget should grab focus when it is clicked with the mouse.
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.
Returns the current value of the has-tooltip
property.
Gets whether the widget would like any available extra horizontal space.
Gets whether gtk_widget_set_hexpand() has been used to explicitly set the expand flag on this widget.
Gets the horizontal GtkScrollablePolicy
.
Gets the input-hints
of the GtkTextView
.
Gets the input-purpose
of the GtkTextView
.
Retrieves the iterator at buffer coordinates @x and @y.
Gets a rectangle which roughly contains the character at @iter.
Gets the default justification of paragraphs in @text_view.
Returns the widget’s last child.
Retrieves the layout manager used by @widget.
Gets the default left margin size of paragraphs in the @text_view.
Gets the bottom margin of @widget.
Gets the end margin of @widget.
Gets the start margin of @widget.
Gets the top margin of @widget.
Gets whether the GtkTextView
uses monospace styling.
Retrieves the next accessible sibling of an accessible object
Returns the widget’s next sibling.
#Fetches the requested opacity for this widget.
Returns the widget’s overflow value.
Returns whether the GtkTextView
is in overwrite mode or not.
Gets the default number of pixels to put above paragraphs.
Gets the default number of pixels to put below paragraphs.
Gets the default number of pixels to put between wrapped lines inside a paragraph.
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.
Determines whether @widget is always treated as the default widget within its toplevel when it has the focus, even if another widget is the default.
Gets whether the widget prefers a height-for-width layout or a width-for-height layout.
Gets the default right margin for text in @text_view.
Retrieves the internal scale factor that maps from window coordinates to the actual device pixels.
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.
Gets the contents of the tooltip for @widget.
Gets the contents of the tooltip for @widget.
Gets the top margin for text in the @text_view.
Retrieves the GtkAdjustment
used for vertical scrolling.
Gets whether the widget would like any available extra vertical space.
Gets whether gtk_widget_set_vexpand() has been used to explicitly set the expand flag on this widget.
Determines whether the widget is visible.
Fills @visible_rect with the currently-visible region of the buffer, in buffer coordinates.
Gets the vertical GtkScrollablePolicy
.
Gets the line wrapping for the view.
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.
Sets the behavior of the text widget when the Tab key is pressed.
Sets the parent and sibling of an accessible object.
Sets the bottom margin for text in @text_view.
Sets @buffer as the buffer being displayed by @text_view.
Specifies whether the input focus can enter the widget or any of its children.
Sets whether @widget can be the target of pointer events.
Sets whether @widget should be mapped along with its parent.
Clear all style classes applied to @widget and replace them with @classes.
Sets a named cursor to be shown when pointer devices point towards @widget.
Toggles whether the insertion point should be displayed.
Sets the reading direction on a particular widget.
Sets the default editability of the GtkTextView
.
Sets a menu model to add when constructing the context menu for @text_view.
Specifies whether @widget can own the input focus.
Set @child as the current focus child of @widget.
Sets whether the widget should grab focus when it is clicked with the mouse.
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 has-tooltip
property on @widget to @has_tooltip.
Sets whether the widget would like any available extra horizontal space.
Sets whether the hexpand flag will be used.
Sets the GtkScrollablePolicy
.
Sets the input-hints
of the GtkTextView
.
Sets the input-purpose
of the GtkTextView
.
Sets the default justification of text in @text_view.
Sets the layout manager delegate instance that provides an implementation for measuring and allocating the children of @widget.
Sets the default left margin for text in @text_view.
Sets the bottom margin of @widget.
Sets the end margin of @widget.
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 start margin of @widget.
Sets the top margin of @widget.
Sets whether the GtkTextView
should display text in monospace styling.
Request the @widget to be rendered partially transparent.
Sets how @widget treats content that is drawn outside the widget's content area.
Changes the GtkTextView
overwrite mode.
Sets the default number of blank pixels above paragraphs in @text_view.
Sets the default number of pixels of blank space to put below paragraphs in @text_view.
Sets the default number of pixels of blank space to leave between display/wrapped lines within a paragraph.
Specifies whether @widget will be treated as the default widget within its toplevel when it has the focus, even if another widget is the default.
Sets the default right margin for text in the text view.
Sets the sensitivity of a widget.
Sets the minimum size of a widget.
Turns on flag values in the current widget state.
Sets @markup as the contents of the tooltip, which is marked up with Pango markup.
Sets @text as the contents of the tooltip.
Sets the top margin for text in @text_view.
Sets the vertical adjustment of the GtkScrollable
.
Sets whether the widget would like any available extra vertical space.
Sets whether the vexpand flag will be used.
Sets the visibility state of @widget.
Sets the GtkScrollablePolicy
.
Sets the line wrapping for the view.
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.