Sets our main struct and passes it to the parent class.
Creates a new GtkTextView.
Creates a new GtkTextView widget displaying the buffer @buffer.
Adds a child widget in the text buffer, at the given @anchor.
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.
Emitted when the selection needs to be extended at @location.
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.
Gets emitted when the user initiates a cursor movement.
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.
Gets emitted to select or unselect the complete contents of the text view.
Gets emitted when the user initiates settings the "anchor" mark.
Gets emitted to toggle the cursor-visible property.
Gets emitted to toggle the overwrite mode of the text view.
Adds @child at a fixed coordinate in the GtkTextView's text window.
Moves the given @iter backward by one display (wrapped) line.
Moves the given @iter backward to the next display line start.
Converts buffer coordinates to window coordinates.
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.
Gets the bottom margin for text in the @text_view.
Returns the GtkTextBuffer being displayed by this text view.
Determine the positions of the strong and weak cursors if the insertion point is at @iter.
Find out whether the cursor should be displayed.
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.
Gets a GtkWidget that has previously been set as gutter.
Gets the default indentation of paragraphs in @text_view.
Gets the input-hints of the GtkTextView.
Gets the input-purpose of the GtkTextView.
Retrieves the iterator at buffer coordinates @x and @y.
Retrieves the iterator pointing to the character 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.
Gets the default left margin size of paragraphs in the @text_view.
Gets the GtkTextIter at the start of the line containing the coordinate @y.
Gets the y coordinate of the top of the line containing @iter, and the height of the line.
Gets whether the GtkTextView uses monospace styling.
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.
Gets the default right margin for text in @text_view.
the main Gtk struct as a void*
Gets the default tabs for @text_view.
Get the main Gtk struct
Gets the top margin for text in the @text_view.
Fills @visible_rect with the currently-visible region of the buffer, in buffer coordinates.
Gets the line wrapping for the view.
Allow the GtkTextView input method to internally handle key press and release events.
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.
Moves the cursor to the currently visible region of the buffer.
Removes a child widget from @text_view.
Ensures that the cursor is shown.
Reset the input method context of the text view if needed.
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 behavior of the text widget when the Tab key is pressed.
Sets the bottom margin for text in @text_view.
Sets @buffer as the buffer being displayed by @text_view.
Toggles whether the insertion point should be displayed.
Sets the default editability of the GtkTextView.
Sets a menu model to add when constructing the context menu for @text_view.
Places @widget into the gutter specified by @win.
Sets the default indentation for paragraphs in @text_view.
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 default left margin for text in @text_view.
Sets whether the GtkTextView should display text in monospace styling.
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.
Sets the default right margin for text in the text view.
Sets the default tab stops for paragraphs in @text_view.
Sets the top margin for text in @text_view.
Sets the line wrapping for the view.
Determines whether @iter is at the start of a display line.
Converts coordinates on the window identified by @win to buffer coordinates.
the main Gtk struct
the main Gtk struct
Get the main Gtk struct
the main Gtk struct as a void*
Obtains the current default reading direction.
Sets the default reading direction for widgets.
Enable or disable an action installed with gtk_widget_class_install_action().
For widgets that can be “activated” (buttons, menu items, etc.) this function activates them.
Looks up the action in the action groups associated with @widget and its ancestors, and activates it.
Activates the default.activate action from @widget.
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.
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.
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 @widget's coordinate system into @target's coordinate system.
Tests if the point at (@x, @y) is contained in @widget.
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.
Checks to see if a drag movement has passed the GTK drag threshold.
Notifies the user about an input-related error on this widget.
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.
Retrieves the widget’s allocation.
Gets the first ancestor of @widget with type @widget_type.
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.
Queries the cursor set on @widget.
Gets the reading direction for a particular widget.
Get the GdkDisplay for the toplevel window associated with this widget.
Returns the widgets first child.
Returns the current focus child of @widget.
Returns whether the widget should grab focus when it is clicked with the mouse.
Determines whether @widget can own the input focus.
Gets the font map of @widget.
Returns the cairo_font_options_t used for Pango rendering.
Obtains the frame clock for a widget.
Gets the horizontal alignment of @widget.
Returns the current value of the has-tooltip property.
Returns the content height of the widget.
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.
Returns the widgets last child.
Retrieves the layout manager used by @widget
Whether the widget is mapped.
Gets the bottom margin of @widget.
Gets the end margin of @widget.
Gets the start margin of @widget.
Gets the top margin of @widget.
Retrieves the name of a widget.
Returns the GtkNative widget that contains @widget.
Returns the widgets next sibling.
#Fetches the requested opacity for this widget.
Returns the widgets overflow value.
Gets a PangoContext with the appropriate font map, font description, and base direction for this widget.
Returns the parent widget of @widget.
Retrieves the minimum and natural size of a widget, taking into account the widget’s preference for height-for-width management.
Returns the widgets 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.
Returns the GtkRoot widget of @widget.
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.
Gets the size request that was explicitly set for the widget using gtk_widget_set_size_request().
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 vertical alignment of @widget.
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.
Returns the content width of the widget.
Causes @widget to have the keyboard focus for the GtkWindow it's inside.
Returns whether @css_class is currently applied to @widget.
Determines whether @widget is the current default widget within its toplevel.
Determines if the widget has the global input focus.
Determines if the widget should show a visible indication that it has the global input focus.
Reverses the effects of gtk_widget_show().
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.
Determines if the widget is the focus widget within its toplevel.
Returns the widget’s effective sensitivity.
Determines whether the widget and all its parents are marked as visible.
Emits the ::keynav-failed signal on the widget.
Returns the widgets for which this widget is the target of a mnemonic.
Causes a widget to be mapped if it isn’t already.
Measures @widget in the orientation @orientation and for the given @for_size.
Emits the GtkWidget::mnemonic-activate signal.
Returns a GListModel to track the children of @widget.
Returns a GListModel to track the [class@Gtk.EventController]s of @widget.
Finds the descendant of @widget closest to the screen at the point (@x, @y).
Flags the widget for a rerun of the GtkWidgetClass::size_allocate function.
Schedules this widget to be redrawn in paint phase of the current or the next frame.
Flags a widget to have its size renegotiated.
Creates the GDK resources associated with a widget.
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().
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.
Will clear all style classes applied to @widget and replace them with @classes.
Sets the cursor to be shown when pointer devices point towards @widget.
Sets a named cursor to be shown when pointer devices point towards @widget.
Sets the reading direction on a particular widget.
Set @child as the current focus child of @widget.
Sets whether the widget should grab focus when it is clicked with the mouse.
Specifies whether @widget can own the input focus.
Sets the font map to use for Pango rendering.
Sets the cairo_font_options_t used for Pango rendering in this widget.
Sets the horizontal alignment of @widget.
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 layout manager delegate instance that provides an implementation for measuring and allocating the children of @widget.
Sets the bottom margin of @widget.
Sets the end margin of @widget.
Sets the start margin of @widget.
Sets the top margin of @widget.
Sets a widgets name.
Request the @widget to be rendered partially transparent.
Sets how @widget treats content that is drawn outside the widget's content area.
Sets @parent as the parent widget of @widget.
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 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 vertical alignment of @widget.
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.
Returns whether @widget should contribute to the measuring and allocation of its parent.
Flags a widget to be displayed.
Allocates widget with a transformation that translates the origin to the position in @allocation.
Snapshot the a child of @widget.
Translate coordinates relative to @src_widget’s allocation to coordinates relative to @dest_widget’s allocations.
Triggers a tooltip query on the display where the toplevel of @widget is located.
Causes a widget to be unmapped if it’s currently mapped.
Dissociate @widget from its parent.
Causes a widget to be unrealized (frees all GDK resources associated with the widget).
Turns off flag values for the current widget state.
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 @widget is hidden.
Emitted if keyboard navigation fails.
Emitted when @widget is going to be mapped.
Emitted when a widget is activated via a mnemonic.
Emitted when the focus is moved.
Emitted when the widgets tooltip is about to be shown.
Emitted when @widget is associated with a GdkSurface.
Emitted when @widget is shown.
Emitted when the widget state changes.
Emitted when @widget is going to be unmapped.
Emitted when the GdkSurface associated with @widget is destroyed.
Get the main Gtk struct
the main Gtk struct as a void*
Returns the size of a non-scrolling border around the outside of the scrollable.
Retrieves the GtkAdjustment used for horizontal scrolling.
Gets the horizontal GtkScrollablePolicy.
Retrieves the GtkAdjustment used for vertical scrolling.
Gets the vertical GtkScrollablePolicy.
Sets the horizontal adjustment of the GtkScrollable.
Sets the GtkScrollablePolicy.
Sets the vertical adjustment of the GtkScrollable.
Sets the GtkScrollablePolicy.
A widget that displays the contents of a [class@Gtk.TextBuffer].
You may wish to begin by reading the conceptual overview, which gives an overview of all the objects and data types related to the text widget and how they work together.
CSS nodes
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.