You may wish to begin by reading the text widget 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
textview.view
├── border.top
├── border.left
├── text
│ ╰── [selection]
├── border.right
├── border.bottom
╰── [window.popup]
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.
- 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_child_in_window (Widget child, TextWindowType which_window, int xpos, int ypos)
Adds a child at fixed coordinates in one of the text widget's windows.
- 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 coordinate (buffer_x
, buffer_y
) to
coordinates for the window win
, and stores the result in (window_x
, window_y
).
- public virtual TextBuffer create_buffer ()
- public virtual void draw_layer (TextViewLayer layer, Context cr)
- 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 Tab key inserts a tab characters.
- public int get_border_window_size (TextWindowType type)
Gets the width of the specified border window.
- public int get_bottom_margin ()
Gets the bottom margin for text in the this
.
- public unowned TextBuffer get_buffer ()
Returns the TextBuffer
being displayed by this text view.
- public void get_cursor_locations (TextIter? iter, out Rectangle strong, out Rectangle @weak)
Given an iter
within a text layout, determine the
positions of the strong and weak cursors if the insertion point is at that iterator.
- public bool get_cursor_visible ()
Find out whether the cursor should be displayed.
- public TextAttributes get_default_attributes ()
Obtains a copy of the default text attributes.
- public bool get_editable ()
Returns the default editability of the TextView
.
- public unowned Adjustment get_hadjustment ()
- public int get_indent ()
Gets the default indentation of paragraphs in
this.
- public InputHints get_input_hints ()
- public InputPurpose get_input_purpose ()
- 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 TextIter 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 bool get_monospace ()
- public bool get_overwrite ()
Returns whether the TextView 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 ()
- public int get_pixels_inside_wrap ()
- public int get_right_margin ()
Gets the default right margin for text in
this.
- 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 unowned Adjustment get_vadjustment ()
- public void get_visible_rect (out Rectangle visible_rect)
Fills visible_rect
with the currently-visible region of
the buffer, in buffer coordinates.
- public unowned Window? get_window (TextWindowType win)
Retrieves the Window corresponding to an
area of the text view; possible windows include the overall widget window, child windows on the left, right, top, bottom, and the
window that displays the text buffer.
- public TextWindowType get_window_type (Window window)
Usually used to find out which window an event corresponds to.
- public WrapMode get_wrap_mode ()
Gets the line wrapping for the view.
- public bool im_context_filter_keypress (EventKey event)
Allow the TextView input method to
internally handle key press and release events.
- public void move_child (Widget child, int xpos, int ypos)
- 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 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, it it
isn’t there already.
- public void reset_cursor_blink ()
Ensures that the cursor is shown (i.
- 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 Tab key is pressed.
- public void set_border_window_size (TextWindowType type, int size)
Sets the width of gtk_text_window_left
or gtk_text_window_right, or the height of gtk_text_window_top
or gtk_text_window_bottom.
- 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 TextView
.
- 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 property, which allows input methods to fine-tune their behaviour.
- public void set_input_purpose (InputPurpose purpose)
Sets the
input_purpose property which can be used by on-screen keyboards and other input methods to adjust their behaviour.
- 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 the
monospace property, which indicates that the text view should use monospace fonts.
- public void set_overwrite (bool overwrite)
Changes the TextView 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 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, storing the result in (buffer_x
,buffer_y
).
- public virtual signal void backspace ()
The backspace signal is a keybinding
signal which gets emitted when the user asks for it.
- public virtual signal void copy_clipboard ()
The copy_clipboard signal is a
keybinding signal which gets emitted to copy the selection to the clipboard.
- public virtual signal void cut_clipboard ()
The cut_clipboard signal is a
keybinding signal which gets emitted to cut the selection to the clipboard.
- public virtual signal void delete_from_cursor (DeleteType type, int count)
The delete_from_cursor signal is a
keybinding signal which gets emitted when the user initiates a text deletion.
- public virtual signal bool extend_selection (TextExtendSelection granularity, TextIter location, TextIter start, TextIter end)
The extend_selection signal is emitted
when the selection needs to be extended at location
.
- public virtual signal void insert_at_cursor (string str)
The insert_at_cursor signal is a
keybinding signal which gets emitted when the user initiates the insertion of a fixed string at the cursor.
- public virtual signal void insert_emoji ()
The insert_emoji signal is a keybinding
signal which gets emitted to present the Emoji chooser for the text_view
.
- public virtual signal void move_cursor (MovementStep step, int count, bool extend_selection)
The move_cursor signal is a keybinding
signal which gets emitted when the user initiates a cursor movement.
- public signal void move_viewport (ScrollStep step, int count)
The move_viewport signal is a
keybinding signal which can be bound to key combinations to allow the user to move the viewport, i.
- public virtual signal void paste_clipboard ()
The paste_clipboard signal is a
keybinding signal which gets emitted to paste the contents of the clipboard into the text view.
- public virtual signal void populate_popup (Menu popup)
The populate_popup signal gets emitted
before showing the context menu of the text view.
- public signal void preedit_changed (string preedit)
If an input method is used, the typed text will not immediately be
committed to the buffer.
- public signal void select_all (bool select)
The select_all signal is a keybinding
signal which gets emitted to select or unselect the complete contents of the text view.
- public virtual signal void set_anchor ()
The set_anchor signal is a keybinding
signal which gets emitted when the user initiates setting the "anchor" mark.
- public signal void toggle_cursor_visible ()
The toggle_cursor_visible signal is a
keybinding signal which gets emitted to toggle the cursor_visible
property.
- public virtual signal void toggle_overwrite ()
The toggle_overwrite signal is a
keybinding signal which gets emitted to toggle the overwrite mode of the text view.