A widget that displays the contents of a [class@Gtk.
TextBuffer].
![An example GtkTextview](multiline-text.png)
You may wish to begin by reading the [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.
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.
- public void add_child_at_anchor (Widget child, TextChildAnchor anchor)
Adds a child widget in the text buffer, at the given anchor
.
- public void add_overlay (Widget child, int xpos, int ypos)
Adds child
at a fixed coordinate in the `GtkTextView`'s
text window.
- public bool backward_display_line (ref TextIter iter)
Moves the given iter
backward by one display (wrapped)
line.
- public bool backward_display_line_start (ref TextIter iter)
Moves the given iter
backward to the next display line
start.
- public void buffer_to_window_coords (TextWindowType win, int buffer_x, int buffer_y, out int window_x, out int window_y)
Converts buffer coordinates to window coordinates.
- public virtual TextBuffer create_buffer ()
- public bool forward_display_line (ref TextIter iter)
Moves the given iter
forward by one display (wrapped)
line.
- public bool forward_display_line_end (ref TextIter iter)
Moves the given iter
forward to the next display line
end.
- public bool get_accepts_tab ()
Returns whether pressing the <kbd>Tab</kbd> key inserts a
tab characters.
- public int get_bottom_margin ()
Gets the bottom margin for text in the this
.
- public unowned TextBuffer get_buffer ()
Returns the `GtkTextBuffer` being displayed by this text view.
- public void get_cursor_locations (TextIter? iter, out Rectangle strong, out Rectangle @weak)
Determine the positions of the strong and weak cursors if the
insertion point is at iter
.
- public bool get_cursor_visible ()
Find out whether the cursor should be displayed.
- public bool get_editable ()
Returns the default editability of the `GtkTextView`.
- public unowned MenuModel get_extra_menu ()
Gets the menu model that gets added to the context menu or
null if none has been set.
- public unowned Widget? get_gutter (TextWindowType win)
Gets a `GtkWidget` that has previously been set as gutter.
- public int get_indent ()
Gets the default indentation of paragraphs in
this.
- public InputHints get_input_hints ()
Gets the `input-hints` of the `GtkTextView`.
- public InputPurpose get_input_purpose ()
Gets the `input-purpose` of the `GtkTextView`.
- public bool get_iter_at_location (out TextIter iter, int x, int y)
Retrieves the iterator at buffer coordinates x
and
y
.
- public bool get_iter_at_position (out TextIter iter, out int trailing, int x, int y)
Retrieves the iterator pointing to the character at buffer coordinates
x
and y
.
- public void get_iter_location (TextIter iter, out Rectangle location)
Gets a rectangle which roughly contains the character at iter
.
- public Justification get_justification ()
Gets the default justification of paragraphs in
this.
- public int get_left_margin ()
Gets the default left margin size of paragraphs in the
this.
- public void get_line_at_y (out TextIter target_iter, int y, out int line_top)
Gets the `GtkTextIter` at the start of the line containing the
coordinate y
.
- public void get_line_yrange (TextIter iter, out int y, out int height)
Gets the y coordinate of the top of the line containing iter
, and the height of the line.
- public unowned Context get_ltr_context ()
Gets the `PangoContext` that is used for rendering LTR directed text
layouts.
- public bool get_monospace ()
Gets whether the `GtkTextView` uses monospace styling.
- public bool get_overwrite ()
Returns whether the `GtkTextView` is in overwrite mode or not.
- public int get_pixels_above_lines ()
Gets the default number of pixels to put above paragraphs.
- public int get_pixels_below_lines ()
Gets the default number of pixels to put below paragraphs.
- public int get_pixels_inside_wrap ()
Gets the default number of pixels to put between wrapped lines inside
a paragraph.
- public int get_right_margin ()
Gets the default right margin for text in
this.
- public unowned Context get_rtl_context ()
Gets the `PangoContext` that is used for rendering RTL directed text
layouts.
- public TabArray? get_tabs ()
Gets the default tabs for this.
- public int get_top_margin ()
Gets the top margin for text in the this
.
- public void get_visible_rect (out Rectangle visible_rect)
Fills visible_rect
with the currently-visible region of
the buffer, in buffer coordinates.
- public WrapMode get_wrap_mode ()
Gets the line wrapping for the view.
- public bool im_context_filter_keypress (Event event)
Allow the `GtkTextView` input method to internally handle key press
and release events.
- public bool move_mark_onscreen (TextMark mark)
Moves a mark within the buffer so that it's located within the
currently-visible text area.
- public void move_overlay (Widget child, int xpos, int ypos)
Updates the position of a child.
- public bool move_visually (ref TextIter iter, int count)
Move the iterator a given number of characters visually, treating it
as the strong cursor position.
- public bool place_cursor_onscreen ()
Moves the cursor to the currently visible region of the buffer.
- public void remove (Widget child)
Removes a child widget from this.
- public void reset_cursor_blink ()
Ensures that the cursor is shown.
- public void reset_im_context ()
Reset the input method context of the text view if needed.
- public void scroll_mark_onscreen (TextMark mark)
Scrolls this the minimum distance
such that mark
is contained within the visible area of the widget.
- public bool scroll_to_iter (TextIter iter, double within_margin, bool use_align, double xalign, double yalign)
Scrolls this so that iter
is on the screen in the position indicated by xalign
and yalign
.
- public void scroll_to_mark (TextMark mark, double within_margin, bool use_align, double xalign, double yalign)
Scrolls this so that mark
is on the screen in the position indicated by xalign
and yalign
.
- public void set_accepts_tab (bool accepts_tab)
Sets the behavior of the text widget when the <kbd>Tab</kbd
> key is pressed.
- public void set_bottom_margin (int bottom_margin)
Sets the bottom margin for text in this
.
- public void set_buffer (TextBuffer? buffer)
Sets buffer
as the buffer being displayed by
this.
- public void set_cursor_visible (bool setting)
Toggles whether the insertion point should be displayed.
- public void set_editable (bool setting)
Sets the default editability of the `GtkTextView`.
- public void set_extra_menu (MenuModel? model)
Sets a menu model to add when constructing the context menu for
this.
- public void set_gutter (TextWindowType win, Widget? widget)
Places widget
into the gutter specified by win
.
- public void set_indent (int indent)
Sets the default indentation for paragraphs in
this.
- public void set_input_hints (InputHints hints)
Sets the `input-hints` of the `GtkTextView`.
- public void set_input_purpose (InputPurpose purpose)
Sets the `input-purpose` of the `GtkTextView`.
- public void set_justification (Justification justification)
Sets the default justification of text in
this.
- public void set_left_margin (int left_margin)
Sets the default left margin for text in
this.
- public void set_monospace (bool monospace)
Sets whether the `GtkTextView` should display text in monospace
styling.
- public void set_overwrite (bool overwrite)
Changes the `GtkTextView` overwrite mode.
- public void set_pixels_above_lines (int pixels_above_lines)
Sets the default number of blank pixels above paragraphs in
this.
- public void set_pixels_below_lines (int pixels_below_lines)
Sets the default number of pixels of blank space to put below
paragraphs in this.
- public void set_pixels_inside_wrap (int pixels_inside_wrap)
Sets the default number of pixels of blank space to leave between
display/wrapped lines within a paragraph.
- public void set_right_margin (int right_margin)
Sets the default right margin for text in the text view.
- public void set_tabs (TabArray tabs)
Sets the default tab stops for paragraphs in
this.
- public void set_top_margin (int top_margin)
Sets the top margin for text in this
.
- public void set_wrap_mode (WrapMode wrap_mode)
Sets the line wrapping for the view.
- public virtual void snapshot_layer (TextViewLayer layer, Snapshot snapshot)
- public bool starts_display_line (TextIter iter)
Determines whether iter
is at the start of a display
line.
- public void window_to_buffer_coords (TextWindowType win, int window_x, int window_y, out int buffer_x, out int buffer_y)
Converts coordinates on the window identified by win
to
buffer coordinates.