<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY pi "&#960;">
<!ENTITY solidus "&#8260;">
]>
<refentry id="GtkTextView">
<refmeta>
<refentrytitle role="top_of_page" id="GtkTextView.top_of_page">GtkTextView</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkTextView</refname>
<refpurpose>Widget that displays a GtkTextBuffer</refpurpose>
</refnamediv>

<refsect1 id="GtkTextView.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-text-view-new">gtk_text_view_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-text-view-new-with-buffer">gtk_text_view_new_with_buffer</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-buffer">gtk_text_view_set_buffer</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkTextBuffer"><returnvalue>GtkTextBuffer</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-text-view-get-buffer">gtk_text_view_get_buffer</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-scroll-to-mark">gtk_text_view_scroll_to_mark</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-scroll-to-iter">gtk_text_view_scroll_to_iter</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-scroll-mark-onscreen">gtk_text_view_scroll_mark_onscreen</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-move-mark-onscreen">gtk_text_view_move_mark_onscreen</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-place-cursor-onscreen">gtk_text_view_place_cursor_onscreen</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-visible-rect">gtk_text_view_get_visible_rect</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-iter-location">gtk_text_view_get_iter_location</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-cursor-locations">gtk_text_view_get_cursor_locations</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-line-at-y">gtk_text_view_get_line_at_y</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-line-yrange">gtk_text_view_get_line_yrange</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-iter-at-location">gtk_text_view_get_iter_at_location</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-iter-at-position">gtk_text_view_get_iter_at_position</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-buffer-to-window-coords">gtk_text_view_buffer_to_window_coords</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-window-to-buffer-coords">gtk_text_view_window_to_buffer_coords</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-forward-display-line">gtk_text_view_forward_display_line</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-backward-display-line">gtk_text_view_backward_display_line</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-forward-display-line-end">gtk_text_view_forward_display_line_end</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-backward-display-line-start">gtk_text_view_backward_display_line_start</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-starts-display-line">gtk_text_view_starts_display_line</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-move-visually">gtk_text_view_move_visually</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-add-child-at-anchor">gtk_text_view_add_child_at_anchor</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-remove">gtk_text_view_remove</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkTextChildAnchor"><returnvalue>GtkTextChildAnchor</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-text-child-anchor-new">gtk_text_child_anchor_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;**
</entry><entry role="function_name"><link linkend="gtk-text-child-anchor-get-widgets">gtk_text_child_anchor_get_widgets</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-child-anchor-get-deleted">gtk_text_child_anchor_get_deleted</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-text-view-get-gutter">gtk_text_view_get_gutter</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-gutter">gtk_text_view_set_gutter</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-add-overlay">gtk_text_view_add_overlay</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-move-overlay">gtk_text_view_move_overlay</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-wrap-mode">gtk_text_view_set_wrap_mode</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWrapMode"><returnvalue>GtkWrapMode</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-wrap-mode">gtk_text_view_get_wrap_mode</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-editable">gtk_text_view_set_editable</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-editable">gtk_text_view_get_editable</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-cursor-visible">gtk_text_view_set_cursor_visible</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-cursor-visible">gtk_text_view_get_cursor_visible</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-reset-cursor-blink">gtk_text_view_reset_cursor_blink</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-overwrite">gtk_text_view_set_overwrite</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-overwrite">gtk_text_view_get_overwrite</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-pixels-above-lines">gtk_text_view_set_pixels_above_lines</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-pixels-above-lines">gtk_text_view_get_pixels_above_lines</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-pixels-below-lines">gtk_text_view_set_pixels_below_lines</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-pixels-below-lines">gtk_text_view_get_pixels_below_lines</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-pixels-inside-wrap">gtk_text_view_set_pixels_inside_wrap</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-pixels-inside-wrap">gtk_text_view_get_pixels_inside_wrap</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-justification">gtk_text_view_set_justification</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkJustification"><returnvalue>GtkJustification</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-justification">gtk_text_view_get_justification</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-left-margin">gtk_text_view_set_left_margin</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-left-margin">gtk_text_view_get_left_margin</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-right-margin">gtk_text_view_set_right_margin</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-right-margin">gtk_text_view_get_right_margin</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-top-margin">gtk_text_view_set_top_margin</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-top-margin">gtk_text_view_get_top_margin</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-bottom-margin">gtk_text_view_set_bottom_margin</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-bottom-margin">gtk_text_view_get_bottom_margin</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-indent">gtk_text_view_set_indent</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-indent">gtk_text_view_get_indent</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-tabs">gtk_text_view_set_tabs</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoTabArray"><returnvalue>PangoTabArray</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-text-view-get-tabs">gtk_text_view_get_tabs</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-accepts-tab">gtk_text_view_set_accepts_tab</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-accepts-tab">gtk_text_view_get_accepts_tab</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-im-context-filter-keypress">gtk_text_view_im_context_filter_keypress</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-reset-im-context">gtk_text_view_reset_im_context</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-input-purpose">gtk_text_view_set_input_purpose</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkInputPurpose"><returnvalue>GtkInputPurpose</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-input-purpose">gtk_text_view_get_input_purpose</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-input-hints">gtk_text_view_set_input_hints</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkInputHints"><returnvalue>GtkInputHints</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-input-hints">gtk_text_view_get_input_hints</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-monospace">gtk_text_view_set_monospace</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-get-monospace">gtk_text_view_get_monospace</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-text-view-set-extra-menu">gtk_text_view_set_extra_menu</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GMenuModel"><returnvalue>GMenuModel</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-text-view-get-extra-menu">gtk_text_view_get_extra_menu</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkTextView.properties" role="properties">
<title role="properties.title">Properties</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="properties_type" colwidth="150px"/>
<colspec colname="properties_name" colwidth="300px"/>
<colspec colname="properties_flags" colwidth="200px"/>
<tbody>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTextView--accepts-tab">accepts-tab</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkTextView--bottom-margin">bottom-margin</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkTextView--buffer">buffer</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTextView--cursor-visible">cursor-visible</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTextView--editable">editable</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GMenuModel"><type>GMenuModel</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkTextView--extra-menu">extra-menu</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gchar"><type>gchar</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkTextView--im-module">im-module</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkTextView--indent">indent</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkInputHints"><type>GtkInputHints</type></link></entry><entry role="property_name"><link linkend="GtkTextView--input-hints">input-hints</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkInputPurpose"><type>GtkInputPurpose</type></link></entry><entry role="property_name"><link linkend="GtkTextView--input-purpose">input-purpose</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkJustification"><type>GtkJustification</type></link></entry><entry role="property_name"><link linkend="GtkTextView--justification">justification</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkTextView--left-margin">left-margin</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTextView--monospace">monospace</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTextView--overwrite">overwrite</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkTextView--pixels-above-lines">pixels-above-lines</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkTextView--pixels-below-lines">pixels-below-lines</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkTextView--pixels-inside-wrap">pixels-inside-wrap</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkTextView--right-margin">right-margin</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="PangoTabArray"><type>PangoTabArray</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkTextView--tabs">tabs</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkTextView--top-margin">top-margin</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkWrapMode"><type>GtkWrapMode</type></link></entry><entry role="property_name"><link linkend="GtkTextView--wrap-mode">wrap-mode</link></entry><entry role="property_flags">Read / Write</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkTextView.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="signal_proto_type" colwidth="150px"/>
<colspec colname="signal_proto_name" colwidth="300px"/>
<colspec colname="signal_proto_flags" colwidth="200px"/>
<tbody>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-backspace">backspace</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-copy-clipboard">copy-clipboard</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-cut-clipboard">cut-clipboard</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-delete-from-cursor">delete-from-cursor</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-extend-selection">extend-selection</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-insert-at-cursor">insert-at-cursor</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-insert-emoji">insert-emoji</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-move-cursor">move-cursor</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-move-viewport">move-viewport</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-paste-clipboard">paste-clipboard</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-preedit-changed">preedit-changed</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-select-all">select-all</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-set-anchor">set-anchor</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-toggle-cursor-visible">toggle-cursor-visible</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTextView-toggle-overwrite">toggle-overwrite</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkTextView.actions" role="actions">
<title role="actions.title">Actions</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="actions_none" colwidth="150px"/>
<colspec colname="actions_name" colwidth="300px"/>
<colspec colname="actions_param" colwidth="200px"/>
<tbody>
<row><entry></entry><entry role="action_name"><link linkend="GtkTextView|menu.popup">menu.popup</link></entry><entry role="parameter_type"></entry></row>
<row><entry></entry><entry role="action_name"><link linkend="GtkTextView|text.redo">text.redo</link></entry><entry role="parameter_type"></entry></row>
<row><entry></entry><entry role="action_name"><link linkend="GtkTextView|text.undo">text.undo</link></entry><entry role="parameter_type"></entry></row>
<row><entry></entry><entry role="action_name"><link linkend="GtkTextView|misc.insert-emoji">misc.insert-emoji</link></entry><entry role="parameter_type"></entry></row>
<row><entry></entry><entry role="action_name"><link linkend="GtkTextView|selection.select-all">selection.select-all</link></entry><entry role="parameter_type"></entry></row>
<row><entry></entry><entry role="action_name"><link linkend="GtkTextView|selection.delete">selection.delete</link></entry><entry role="parameter_type"></entry></row>
<row><entry></entry><entry role="action_name"><link linkend="GtkTextView|clipboard.paste">clipboard.paste</link></entry><entry role="parameter_type"></entry></row>
<row><entry></entry><entry role="action_name"><link linkend="GtkTextView|clipboard.copy">clipboard.copy</link></entry><entry role="parameter_type"></entry></row>
<row><entry></entry><entry role="action_name"><link linkend="GtkTextView|clipboard.cut">clipboard.cut</link></entry><entry role="parameter_type"></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<anchor id="GtkTextChildAnchor"/><refsect1 id="GtkTextView.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="GtkTextView-struct">GtkTextView</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="GtkTextViewClass">GtkTextViewClass</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkTextViewLayer">GtkTextViewLayer</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkTextWindowType">GtkTextWindowType</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkTextExtendSelection">GtkTextExtendSelection</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkWrapMode">GtkWrapMode</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="GtkTextChildAnchor-struct">GtkTextChildAnchor</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="GTK-TEXT-VIEW-PRIORITY-VALIDATE:CAPS">GTK_TEXT_VIEW_PRIORITY_VALIDATE</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkTextView.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> <link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
    <phrase role="lineart">&#9474;</phrase>   <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GtkWidget">GtkWidget</link>
    <phrase role="lineart">&#9474;</phrase>       <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkTextView
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkTextChildAnchor
</screen>
</refsect1>
<refsect1 id="GtkTextView.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkTextView implements
 <link linkend="AtkImplementorIface">AtkImplementorIface</link>,  <link linkend="GtkBuildable">GtkBuildable</link>,  <link linkend="GtkConstraintTarget">GtkConstraintTarget</link> and  <link linkend="GtkScrollable">GtkScrollable</link>.</para>

</refsect1>

<refsect1 id="GtkTextView.includes"><title>Includes</title><synopsis>#include &lt;gtk/gtk.h&gt;
</synopsis></refsect1>

<refsect1 id="GtkTextView.description" role="desc">
<title role="desc.title">Description</title>
<para>You may wish to begin by reading the
<link linkend="TextWidget">text widget conceptual overview</link>
which gives an overview of all the objects and data
types related to the text widget and how they work together.</para>
<refsect2><title>CSS nodes</title><informalexample><programlisting role="example"><![CDATA[
textview.view
├── border.top
├── border.left
├── text
│   ╰── [selection]
├── border.right
├── border.bottom
╰── [window.popup]
]]></programlisting></informalexample>
<para></para>
<para>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.</para>
<para>A node representing the selection will appear below the text node.</para>
<para>If a context menu is opened, the window node will appear as a subnode
of the main node.</para>
</refsect2>

</refsect1>
<refsect1 id="GtkTextView.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gtk-text-view-new" role="function">
<title>gtk_text_view_new&#160;()</title>
<indexterm zone="gtk-text-view-new"><primary>gtk_text_view_new</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_text_view_new (<parameter><type>void</type></parameter>);</programlisting>
<para>Creates a new <link linkend="GtkTextView"><type>GtkTextView</type></link>. If you don’t call <link linkend="gtk-text-view-set-buffer"><function>gtk_text_view_set_buffer()</function></link>
before using the text view, an empty default buffer will be created
for you. Get the buffer with <link linkend="gtk-text-view-get-buffer"><function>gtk_text_view_get_buffer()</function></link>. If you want
to specify your own buffer, consider <link linkend="gtk-text-view-new-with-buffer"><function>gtk_text_view_new_with_buffer()</function></link>.</para>
<refsect3 id="gtk-text-view-new.returns" role="returns">
<title>Returns</title>
<para> a new <link linkend="GtkTextView"><type>GtkTextView</type></link></para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-new-with-buffer" role="function">
<title>gtk_text_view_new_with_buffer&#160;()</title>
<indexterm zone="gtk-text-view-new-with-buffer"><primary>gtk_text_view_new_with_buffer</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_text_view_new_with_buffer (<parameter><link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link> *buffer</parameter>);</programlisting>
<para>Creates a new <link linkend="GtkTextView"><type>GtkTextView</type></link> widget displaying the buffer
<parameter>buffer</parameter>
. One buffer can be shared among many widgets.
<parameter>buffer</parameter>
 may be <link linkend="NULL:CAPS"><literal>NULL</literal></link> to create a default buffer, in which case
this function is equivalent to <link linkend="gtk-text-view-new"><function>gtk_text_view_new()</function></link>. The
text view adds its own reference count to the buffer; it does not
take over an existing reference.</para>
<refsect3 id="gtk-text-view-new-with-buffer.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>buffer</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-new-with-buffer.returns" role="returns">
<title>Returns</title>
<para> a new <link linkend="GtkTextView"><type>GtkTextView</type></link>.</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-buffer" role="function">
<title>gtk_text_view_set_buffer&#160;()</title>
<indexterm zone="gtk-text-view-set-buffer"><primary>gtk_text_view_set_buffer</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_buffer (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                          <parameter><link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link> *buffer</parameter>);</programlisting>
<para>Sets <parameter>buffer</parameter>
 as the buffer being displayed by <parameter>text_view</parameter>
. The previous
buffer displayed by the text view is unreferenced, and a reference is
added to <parameter>buffer</parameter>
. If you owned a reference to <parameter>buffer</parameter>
 before passing it
to this function, you must remove that reference yourself; <link linkend="GtkTextView"><type>GtkTextView</type></link>
will not “adopt” it.</para>
<refsect3 id="gtk-text-view-set-buffer.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>buffer</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-buffer" role="function">
<title>gtk_text_view_get_buffer&#160;()</title>
<indexterm zone="gtk-text-view-get-buffer"><primary>gtk_text_view_get_buffer</primary></indexterm>
<programlisting language="C"><link linkend="GtkTextBuffer"><returnvalue>GtkTextBuffer</returnvalue></link>&#160;*
gtk_text_view_get_buffer (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Returns the <link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link> being displayed by this text view.
The reference count on the buffer is not incremented; the caller
of this function won’t own a new reference.</para>
<refsect3 id="gtk-text-view-get-buffer.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-buffer.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-scroll-to-mark" role="function">
<title>gtk_text_view_scroll_to_mark&#160;()</title>
<indexterm zone="gtk-text-view-scroll-to-mark"><primary>gtk_text_view_scroll_to_mark</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_scroll_to_mark (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                              <parameter><link linkend="GtkTextMark"><type>GtkTextMark</type></link> *mark</parameter>,
                              <parameter><link linkend="gdouble"><type>gdouble</type></link> within_margin</parameter>,
                              <parameter><link linkend="gboolean"><type>gboolean</type></link> use_align</parameter>,
                              <parameter><link linkend="gdouble"><type>gdouble</type></link> xalign</parameter>,
                              <parameter><link linkend="gdouble"><type>gdouble</type></link> yalign</parameter>);</programlisting>
<para>Scrolls <parameter>text_view</parameter>
 so that <parameter>mark</parameter>
 is on the screen in the position
indicated by <parameter>xalign</parameter>
 and <parameter>yalign</parameter>
. An alignment of 0.0 indicates
left or top, 1.0 indicates right or bottom, 0.5 means center. 
If <parameter>use_align</parameter>
 is <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>, the text scrolls the minimal distance to 
get the mark onscreen, possibly not scrolling at all. The effective 
screen for purposes of this function is reduced by a margin of size 
<parameter>within_margin</parameter>
.</para>
<refsect3 id="gtk-text-view-scroll-to-mark.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>mark</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextMark"><type>GtkTextMark</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>within_margin</para></entry>
<entry role="parameter_description"><para>margin as a [0.0,0.5) fraction of screen size</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>use_align</para></entry>
<entry role="parameter_description"><para>whether to use alignment arguments (if <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>, just
get the mark onscreen)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>xalign</para></entry>
<entry role="parameter_description"><para>horizontal alignment of mark within visible area</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>yalign</para></entry>
<entry role="parameter_description"><para>vertical alignment of mark within visible area</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-scroll-to-iter" role="function">
<title>gtk_text_view_scroll_to_iter&#160;()</title>
<indexterm zone="gtk-text-view-scroll-to-iter"><primary>gtk_text_view_scroll_to_iter</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_scroll_to_iter (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                              <parameter><link linkend="GtkTextIter"><type>GtkTextIter</type></link> *iter</parameter>,
                              <parameter><link linkend="gdouble"><type>gdouble</type></link> within_margin</parameter>,
                              <parameter><link linkend="gboolean"><type>gboolean</type></link> use_align</parameter>,
                              <parameter><link linkend="gdouble"><type>gdouble</type></link> xalign</parameter>,
                              <parameter><link linkend="gdouble"><type>gdouble</type></link> yalign</parameter>);</programlisting>
<para>Scrolls <parameter>text_view</parameter>
 so that <parameter>iter</parameter>
 is on the screen in the position
indicated by <parameter>xalign</parameter>
 and <parameter>yalign</parameter>
. An alignment of 0.0 indicates
left or top, 1.0 indicates right or bottom, 0.5 means center.
If <parameter>use_align</parameter>
 is <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>, the text scrolls the minimal distance to
get the mark onscreen, possibly not scrolling at all. The effective
screen for purposes of this function is reduced by a margin of size
<parameter>within_margin</parameter>
.</para>
<para>Note that this function uses the currently-computed height of the
lines in the text buffer. Line heights are computed in an idle
handler; so this function may not have the desired effect if it’s
called before the height computations. To avoid oddness, consider
using <link linkend="gtk-text-view-scroll-to-mark"><function>gtk_text_view_scroll_to_mark()</function></link> which saves a point to be
scrolled to after line validation.</para>
<refsect3 id="gtk-text-view-scroll-to-iter.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextIter"><type>GtkTextIter</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>within_margin</para></entry>
<entry role="parameter_description"><para>margin as a [0.0,0.5) fraction of screen size</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>use_align</para></entry>
<entry role="parameter_description"><para>whether to use alignment arguments (if <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>,
just get the mark onscreen)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>xalign</para></entry>
<entry role="parameter_description"><para>horizontal alignment of mark within visible area</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>yalign</para></entry>
<entry role="parameter_description"><para>vertical alignment of mark within visible area</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-scroll-to-iter.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if scrolling occurred</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-scroll-mark-onscreen" role="function">
<title>gtk_text_view_scroll_mark_onscreen&#160;()</title>
<indexterm zone="gtk-text-view-scroll-mark-onscreen"><primary>gtk_text_view_scroll_mark_onscreen</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_scroll_mark_onscreen (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                    <parameter><link linkend="GtkTextMark"><type>GtkTextMark</type></link> *mark</parameter>);</programlisting>
<para>Scrolls <parameter>text_view</parameter>
 the minimum distance such that <parameter>mark</parameter>
 is contained
within the visible area of the widget.</para>
<refsect3 id="gtk-text-view-scroll-mark-onscreen.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>mark</para></entry>
<entry role="parameter_description"><para>a mark in the buffer for <parameter>text_view</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-move-mark-onscreen" role="function">
<title>gtk_text_view_move_mark_onscreen&#160;()</title>
<indexterm zone="gtk-text-view-move-mark-onscreen"><primary>gtk_text_view_move_mark_onscreen</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_move_mark_onscreen (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                  <parameter><link linkend="GtkTextMark"><type>GtkTextMark</type></link> *mark</parameter>);</programlisting>
<para>Moves a mark within the buffer so that it's
located within the currently-visible text area.</para>
<refsect3 id="gtk-text-view-move-mark-onscreen.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>mark</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextMark"><type>GtkTextMark</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-move-mark-onscreen.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the mark moved (wasn’t already onscreen)</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-place-cursor-onscreen" role="function">
<title>gtk_text_view_place_cursor_onscreen&#160;()</title>
<indexterm zone="gtk-text-view-place-cursor-onscreen"><primary>gtk_text_view_place_cursor_onscreen</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_place_cursor_onscreen (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Moves the cursor to the currently visible region of the
buffer, if it isn’t there already.</para>
<refsect3 id="gtk-text-view-place-cursor-onscreen.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-place-cursor-onscreen.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the cursor had to be moved.</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-visible-rect" role="function">
<title>gtk_text_view_get_visible_rect&#160;()</title>
<indexterm zone="gtk-text-view-get-visible-rect"><primary>gtk_text_view_get_visible_rect</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_get_visible_rect (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                <parameter><link linkend="GdkRectangle"><type>GdkRectangle</type></link> *visible_rect</parameter>);</programlisting>
<para>Fills <parameter>visible_rect</parameter>
 with the currently-visible
region of the buffer, in buffer coordinates. Convert to window coordinates
with <link linkend="gtk-text-view-buffer-to-window-coords"><function>gtk_text_view_buffer_to_window_coords()</function></link>.</para>
<refsect3 id="gtk-text-view-get-visible-rect.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>visible_rect</para></entry>
<entry role="parameter_description"><para>rectangle to fill. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-iter-location" role="function">
<title>gtk_text_view_get_iter_location&#160;()</title>
<indexterm zone="gtk-text-view-get-iter-location"><primary>gtk_text_view_get_iter_location</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_get_iter_location (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                 <parameter>const <link linkend="GtkTextIter"><type>GtkTextIter</type></link> *iter</parameter>,
                                 <parameter><link linkend="GdkRectangle"><type>GdkRectangle</type></link> *location</parameter>);</programlisting>
<para>Gets a rectangle which roughly contains the character at <parameter>iter</parameter>
.
The rectangle position is in buffer coordinates; use
<link linkend="gtk-text-view-buffer-to-window-coords"><function>gtk_text_view_buffer_to_window_coords()</function></link> to convert these
coordinates to coordinates for one of the windows in the text view.</para>
<refsect3 id="gtk-text-view-get-iter-location.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextIter"><type>GtkTextIter</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>location</para></entry>
<entry role="parameter_description"><para>bounds of the character at <parameter>iter</parameter>
. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-cursor-locations" role="function">
<title>gtk_text_view_get_cursor_locations&#160;()</title>
<indexterm zone="gtk-text-view-get-cursor-locations"><primary>gtk_text_view_get_cursor_locations</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_get_cursor_locations (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                    <parameter>const <link linkend="GtkTextIter"><type>GtkTextIter</type></link> *iter</parameter>,
                                    <parameter><link linkend="GdkRectangle"><type>GdkRectangle</type></link> *strong</parameter>,
                                    <parameter><link linkend="GdkRectangle"><type>GdkRectangle</type></link> *weak</parameter>);</programlisting>
<para>Given an <parameter>iter</parameter>
 within a text layout, determine the positions of the
strong and weak cursors if the insertion point is at that
iterator. The position of each cursor is stored as a zero-width
rectangle. The strong cursor location is the location where
characters of the directionality equal to the base direction of the
paragraph are inserted.  The weak cursor location is the location
where characters of the directionality opposite to the base
direction of the paragraph are inserted.</para>
<para>If <parameter>iter</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, the actual cursor position is used.</para>
<para>Note that if <parameter>iter</parameter>
 happens to be the actual cursor position, and
there is currently an IM preedit sequence being entered, the
returned locations will be adjusted to account for the preedit
cursor’s offset within the preedit sequence.</para>
<para>The rectangle position is in buffer coordinates; use
<link linkend="gtk-text-view-buffer-to-window-coords"><function>gtk_text_view_buffer_to_window_coords()</function></link> to convert these
coordinates to coordinates for one of the windows in the text view.</para>
<refsect3 id="gtk-text-view-get-cursor-locations.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextIter"><type>GtkTextIter</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>strong</para></entry>
<entry role="parameter_description"><para>location to store the strong
cursor position (may be <link linkend="NULL:CAPS"><literal>NULL</literal></link>). </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>weak</para></entry>
<entry role="parameter_description"><para>location to store the weak
cursor position (may be <link linkend="NULL:CAPS"><literal>NULL</literal></link>). </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-line-at-y" role="function">
<title>gtk_text_view_get_line_at_y&#160;()</title>
<indexterm zone="gtk-text-view-get-line-at-y"><primary>gtk_text_view_get_line_at_y</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_get_line_at_y (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                             <parameter><link linkend="GtkTextIter"><type>GtkTextIter</type></link> *target_iter</parameter>,
                             <parameter><link linkend="gint"><type>gint</type></link> y</parameter>,
                             <parameter><link linkend="gint"><type>gint</type></link> *line_top</parameter>);</programlisting>
<para>Gets the <link linkend="GtkTextIter"><type>GtkTextIter</type></link> at the start of the line containing
the coordinate <parameter>y</parameter>
. <parameter>y</parameter>
 is in buffer coordinates, convert from
window coordinates with <link linkend="gtk-text-view-window-to-buffer-coords"><function>gtk_text_view_window_to_buffer_coords()</function></link>.
If non-<link linkend="NULL:CAPS"><literal>NULL</literal></link>, <parameter>line_top</parameter>
 will be filled with the coordinate of the top
edge of the line.</para>
<refsect3 id="gtk-text-view-get-line-at-y.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>target_iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextIter"><type>GtkTextIter</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>y</para></entry>
<entry role="parameter_description"><para>a y coordinate</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>line_top</para></entry>
<entry role="parameter_description"><para>return location for top coordinate of the line. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-line-yrange" role="function">
<title>gtk_text_view_get_line_yrange&#160;()</title>
<indexterm zone="gtk-text-view-get-line-yrange"><primary>gtk_text_view_get_line_yrange</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_get_line_yrange (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                               <parameter>const <link linkend="GtkTextIter"><type>GtkTextIter</type></link> *iter</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> *y</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> *height</parameter>);</programlisting>
<para>Gets the y coordinate of the top of the line containing <parameter>iter</parameter>
,
and the height of the line. The coordinate is a buffer coordinate;
convert to window coordinates with <link linkend="gtk-text-view-buffer-to-window-coords"><function>gtk_text_view_buffer_to_window_coords()</function></link>.</para>
<refsect3 id="gtk-text-view-get-line-yrange.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextIter"><type>GtkTextIter</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>y</para></entry>
<entry role="parameter_description"><para>return location for a y coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>height</para></entry>
<entry role="parameter_description"><para>return location for a height. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-iter-at-location" role="function">
<title>gtk_text_view_get_iter_at_location&#160;()</title>
<indexterm zone="gtk-text-view-get-iter-at-location"><primary>gtk_text_view_get_iter_at_location</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_get_iter_at_location (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                    <parameter><link linkend="GtkTextIter"><type>GtkTextIter</type></link> *iter</parameter>,
                                    <parameter><link linkend="gint"><type>gint</type></link> x</parameter>,
                                    <parameter><link linkend="gint"><type>gint</type></link> y</parameter>);</programlisting>
<para>Retrieves the iterator at buffer coordinates <parameter>x</parameter>
 and <parameter>y</parameter>
. Buffer
coordinates are coordinates for the entire buffer, not just the
currently-displayed portion.  If you have coordinates from an
event, you have to convert those to buffer coordinates with
<link linkend="gtk-text-view-window-to-buffer-coords"><function>gtk_text_view_window_to_buffer_coords()</function></link>.</para>
<refsect3 id="gtk-text-view-get-iter-at-location.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextIter"><type>GtkTextIter</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>x</para></entry>
<entry role="parameter_description"><para>x position, in buffer coordinates</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>y</para></entry>
<entry role="parameter_description"><para>y position, in buffer coordinates</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-iter-at-location.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the position is over text</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-iter-at-position" role="function">
<title>gtk_text_view_get_iter_at_position&#160;()</title>
<indexterm zone="gtk-text-view-get-iter-at-position"><primary>gtk_text_view_get_iter_at_position</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_get_iter_at_position (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                    <parameter><link linkend="GtkTextIter"><type>GtkTextIter</type></link> *iter</parameter>,
                                    <parameter><link linkend="gint"><type>gint</type></link> *trailing</parameter>,
                                    <parameter><link linkend="gint"><type>gint</type></link> x</parameter>,
                                    <parameter><link linkend="gint"><type>gint</type></link> y</parameter>);</programlisting>
<para>Retrieves the iterator pointing to the character at buffer
coordinates <parameter>x</parameter>
 and <parameter>y</parameter>
. Buffer coordinates are coordinates for
the entire buffer, not just the currently-displayed portion.
If you have coordinates from an event, you have to convert
those to buffer coordinates with
<link linkend="gtk-text-view-window-to-buffer-coords"><function>gtk_text_view_window_to_buffer_coords()</function></link>.</para>
<para>Note that this is different from <link linkend="gtk-text-view-get-iter-at-location"><function>gtk_text_view_get_iter_at_location()</function></link>,
which returns cursor locations, i.e. positions between
characters.</para>
<refsect3 id="gtk-text-view-get-iter-at-position.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextIter"><type>GtkTextIter</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>trailing</para></entry>
<entry role="parameter_description"><para>if non-<link linkend="NULL:CAPS"><literal>NULL</literal></link>, location to store an integer indicating where
in the grapheme the user clicked. It will either be
zero, or the number of characters in the grapheme.
0 represents the trailing edge of the grapheme. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>x</para></entry>
<entry role="parameter_description"><para>x position, in buffer coordinates</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>y</para></entry>
<entry role="parameter_description"><para>y position, in buffer coordinates</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-iter-at-position.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the position is over text</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-buffer-to-window-coords" role="function">
<title>gtk_text_view_buffer_to_window_coords&#160;()</title>
<indexterm zone="gtk-text-view-buffer-to-window-coords"><primary>gtk_text_view_buffer_to_window_coords</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_buffer_to_window_coords (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                       <parameter><link linkend="GtkTextWindowType"><type>GtkTextWindowType</type></link> win</parameter>,
                                       <parameter><link linkend="gint"><type>gint</type></link> buffer_x</parameter>,
                                       <parameter><link linkend="gint"><type>gint</type></link> buffer_y</parameter>,
                                       <parameter><link linkend="gint"><type>gint</type></link> *window_x</parameter>,
                                       <parameter><link linkend="gint"><type>gint</type></link> *window_y</parameter>);</programlisting>
<para>Converts coordinate (<parameter>buffer_x</parameter>
, <parameter>buffer_y</parameter>
) to coordinates for the window
<parameter>win</parameter>
, and stores the result in (<parameter>window_x</parameter>
, <parameter>window_y</parameter>
). </para>
<para>Note that you can’t convert coordinates for a nonexisting window (see 
<link linkend="gtk-text-view-set-border-window-size"><function>gtk_text_view_set_border_window_size()</function></link>).</para>
<refsect3 id="gtk-text-view-buffer-to-window-coords.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>win</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextWindowType"><type>GtkTextWindowType</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>buffer_x</para></entry>
<entry role="parameter_description"><para>buffer x coordinate</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>buffer_y</para></entry>
<entry role="parameter_description"><para>buffer y coordinate</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>window_x</para></entry>
<entry role="parameter_description"><para>window x coordinate return location or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>window_y</para></entry>
<entry role="parameter_description"><para>window y coordinate return location or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-window-to-buffer-coords" role="function">
<title>gtk_text_view_window_to_buffer_coords&#160;()</title>
<indexterm zone="gtk-text-view-window-to-buffer-coords"><primary>gtk_text_view_window_to_buffer_coords</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_window_to_buffer_coords (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                       <parameter><link linkend="GtkTextWindowType"><type>GtkTextWindowType</type></link> win</parameter>,
                                       <parameter><link linkend="gint"><type>gint</type></link> window_x</parameter>,
                                       <parameter><link linkend="gint"><type>gint</type></link> window_y</parameter>,
                                       <parameter><link linkend="gint"><type>gint</type></link> *buffer_x</parameter>,
                                       <parameter><link linkend="gint"><type>gint</type></link> *buffer_y</parameter>);</programlisting>
<para>Converts coordinates on the window identified by <parameter>win</parameter>
 to buffer
coordinates, storing the result in (<parameter>buffer_x</parameter>
,<parameter>buffer_y</parameter>
).</para>
<para>Note that you can’t convert coordinates for a nonexisting window (see 
<link linkend="gtk-text-view-set-border-window-size"><function>gtk_text_view_set_border_window_size()</function></link>).</para>
<refsect3 id="gtk-text-view-window-to-buffer-coords.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>win</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextWindowType"><type>GtkTextWindowType</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>window_x</para></entry>
<entry role="parameter_description"><para>window x coordinate</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>window_y</para></entry>
<entry role="parameter_description"><para>window y coordinate</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>buffer_x</para></entry>
<entry role="parameter_description"><para>buffer x coordinate return location or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>buffer_y</para></entry>
<entry role="parameter_description"><para>buffer y coordinate return location or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-forward-display-line" role="function">
<title>gtk_text_view_forward_display_line&#160;()</title>
<indexterm zone="gtk-text-view-forward-display-line"><primary>gtk_text_view_forward_display_line</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_forward_display_line (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                    <parameter><link linkend="GtkTextIter"><type>GtkTextIter</type></link> *iter</parameter>);</programlisting>
<para>Moves the given <parameter>iter</parameter>
 forward by one display (wrapped) line.
A display line is different from a paragraph. Paragraphs are
separated by newlines or other paragraph separator characters.
Display lines are created by line-wrapping a paragraph. If
wrapping is turned off, display lines and paragraphs will be the
same. Display lines are divided differently for each view, since
they depend on the view’s width; paragraphs are the same in all
views, since they depend on the contents of the <link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link>.</para>
<refsect3 id="gtk-text-view-forward-display-line.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextIter"><type>GtkTextIter</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-forward-display-line.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>iter</parameter>
was moved and is not on the end iterator</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-backward-display-line" role="function">
<title>gtk_text_view_backward_display_line&#160;()</title>
<indexterm zone="gtk-text-view-backward-display-line"><primary>gtk_text_view_backward_display_line</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_backward_display_line (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                     <parameter><link linkend="GtkTextIter"><type>GtkTextIter</type></link> *iter</parameter>);</programlisting>
<para>Moves the given <parameter>iter</parameter>
 backward by one display (wrapped) line.
A display line is different from a paragraph. Paragraphs are
separated by newlines or other paragraph separator characters.
Display lines are created by line-wrapping a paragraph. If
wrapping is turned off, display lines and paragraphs will be the
same. Display lines are divided differently for each view, since
they depend on the view’s width; paragraphs are the same in all
views, since they depend on the contents of the <link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link>.</para>
<refsect3 id="gtk-text-view-backward-display-line.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextIter"><type>GtkTextIter</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-backward-display-line.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>iter</parameter>
was moved and is not on the end iterator</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-forward-display-line-end" role="function">
<title>gtk_text_view_forward_display_line_end&#160;()</title>
<indexterm zone="gtk-text-view-forward-display-line-end"><primary>gtk_text_view_forward_display_line_end</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_forward_display_line_end
                               (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                <parameter><link linkend="GtkTextIter"><type>GtkTextIter</type></link> *iter</parameter>);</programlisting>
<para>Moves the given <parameter>iter</parameter>
 forward to the next display line end.
A display line is different from a paragraph. Paragraphs are
separated by newlines or other paragraph separator characters.
Display lines are created by line-wrapping a paragraph. If
wrapping is turned off, display lines and paragraphs will be the
same. Display lines are divided differently for each view, since
they depend on the view’s width; paragraphs are the same in all
views, since they depend on the contents of the <link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link>.</para>
<refsect3 id="gtk-text-view-forward-display-line-end.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextIter"><type>GtkTextIter</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-forward-display-line-end.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>iter</parameter>
was moved and is not on the end iterator</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-backward-display-line-start" role="function">
<title>gtk_text_view_backward_display_line_start&#160;()</title>
<indexterm zone="gtk-text-view-backward-display-line-start"><primary>gtk_text_view_backward_display_line_start</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_backward_display_line_start
                               (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                <parameter><link linkend="GtkTextIter"><type>GtkTextIter</type></link> *iter</parameter>);</programlisting>
<para>Moves the given <parameter>iter</parameter>
 backward to the next display line start.
A display line is different from a paragraph. Paragraphs are
separated by newlines or other paragraph separator characters.
Display lines are created by line-wrapping a paragraph. If
wrapping is turned off, display lines and paragraphs will be the
same. Display lines are divided differently for each view, since
they depend on the view’s width; paragraphs are the same in all
views, since they depend on the contents of the <link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link>.</para>
<refsect3 id="gtk-text-view-backward-display-line-start.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextIter"><type>GtkTextIter</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-backward-display-line-start.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>iter</parameter>
was moved and is not on the end iterator</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-starts-display-line" role="function">
<title>gtk_text_view_starts_display_line&#160;()</title>
<indexterm zone="gtk-text-view-starts-display-line"><primary>gtk_text_view_starts_display_line</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_starts_display_line (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                   <parameter>const <link linkend="GtkTextIter"><type>GtkTextIter</type></link> *iter</parameter>);</programlisting>
<para>Determines whether <parameter>iter</parameter>
 is at the start of a display line.
See <link linkend="gtk-text-view-forward-display-line"><function>gtk_text_view_forward_display_line()</function></link> for an explanation of
display lines vs. paragraphs.</para>
<refsect3 id="gtk-text-view-starts-display-line.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextIter"><type>GtkTextIter</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-starts-display-line.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>iter</parameter>
begins a wrapped line</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-move-visually" role="function">
<title>gtk_text_view_move_visually&#160;()</title>
<indexterm zone="gtk-text-view-move-visually"><primary>gtk_text_view_move_visually</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_move_visually (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                             <parameter><link linkend="GtkTextIter"><type>GtkTextIter</type></link> *iter</parameter>,
                             <parameter><link linkend="gint"><type>gint</type></link> count</parameter>);</programlisting>
<para>Move the iterator a given number of characters visually, treating
it as the strong cursor position. If <parameter>count</parameter>
 is positive, then the
new strong cursor position will be <parameter>count</parameter>
 positions to the right of
the old cursor position. If <parameter>count</parameter>
 is negative then the new strong
cursor position will be <parameter>count</parameter>
 positions to the left of the old
cursor position.</para>
<para>In the presence of bi-directional text, the correspondence
between logical and visual order will depend on the direction
of the current run, and there may be jumps when the cursor
is moved off of the end of a run.</para>
<refsect3 id="gtk-text-view-move-visually.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextIter"><type>GtkTextIter</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>count</para></entry>
<entry role="parameter_description"><para>number of characters to move (negative moves left,
positive moves right)</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-move-visually.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>iter</parameter>
moved and is not on the end iterator</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-add-child-at-anchor" role="function">
<title>gtk_text_view_add_child_at_anchor&#160;()</title>
<indexterm zone="gtk-text-view-add-child-at-anchor"><primary>gtk_text_view_add_child_at_anchor</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_add_child_at_anchor (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                   <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>,
                                   <parameter><link linkend="GtkTextChildAnchor"><type>GtkTextChildAnchor</type></link> *anchor</parameter>);</programlisting>
<para>Adds a child widget in the text buffer, at the given <parameter>anchor</parameter>
.</para>
<refsect3 id="gtk-text-view-add-child-at-anchor.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWidget"><type>GtkWidget</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>anchor</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextChildAnchor"><type>GtkTextChildAnchor</type></link> in the <link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link> for <parameter>text_view</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-remove" role="function">
<title>gtk_text_view_remove&#160;()</title>
<indexterm zone="gtk-text-view-remove"><primary>gtk_text_view_remove</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_remove (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                      <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>);</programlisting>
</refsect2>
<refsect2 id="gtk-text-child-anchor-new" role="function">
<title>gtk_text_child_anchor_new&#160;()</title>
<indexterm zone="gtk-text-child-anchor-new"><primary>gtk_text_child_anchor_new</primary></indexterm>
<programlisting language="C"><link linkend="GtkTextChildAnchor"><returnvalue>GtkTextChildAnchor</returnvalue></link>&#160;*
gtk_text_child_anchor_new (<parameter><type>void</type></parameter>);</programlisting>
<para>Creates a new <link linkend="GtkTextChildAnchor"><type>GtkTextChildAnchor</type></link>. Usually you would then insert
it into a <link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link> with <link linkend="gtk-text-buffer-insert-child-anchor"><function>gtk_text_buffer_insert_child_anchor()</function></link>.
To perform the creation and insertion in one step, use the
convenience function <link linkend="gtk-text-buffer-create-child-anchor"><function>gtk_text_buffer_create_child_anchor()</function></link>.</para>
<refsect3 id="gtk-text-child-anchor-new.returns" role="returns">
<title>Returns</title>
<para> a new <link linkend="GtkTextChildAnchor"><type>GtkTextChildAnchor</type></link></para>
</refsect3></refsect2>
<refsect2 id="gtk-text-child-anchor-get-widgets" role="function">
<title>gtk_text_child_anchor_get_widgets&#160;()</title>
<indexterm zone="gtk-text-child-anchor-get-widgets"><primary>gtk_text_child_anchor_get_widgets</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;**
gtk_text_child_anchor_get_widgets (<parameter><link linkend="GtkTextChildAnchor"><type>GtkTextChildAnchor</type></link> *anchor</parameter>,
                                   <parameter><link linkend="guint"><type>guint</type></link> *out_len</parameter>);</programlisting>
<para>Gets a list of all widgets anchored at this child anchor.</para>
<para>The order in which the widgets are returned is not defined.</para>
<refsect3 id="gtk-text-child-anchor-get-widgets.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>anchor</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextChildAnchor"><type>GtkTextChildAnchor</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-child-anchor-get-widgets.returns" role="returns">
<title>Returns</title>
<para>an
array of widgets anchored at <parameter>anchor</parameter>
. </para>
<para><emphasis role="annotation">[<acronym>array</acronym> length=out_len][<acronym>transfer container</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-text-child-anchor-get-deleted" role="function">
<title>gtk_text_child_anchor_get_deleted&#160;()</title>
<indexterm zone="gtk-text-child-anchor-get-deleted"><primary>gtk_text_child_anchor_get_deleted</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_child_anchor_get_deleted (<parameter><link linkend="GtkTextChildAnchor"><type>GtkTextChildAnchor</type></link> *anchor</parameter>);</programlisting>
<para>Determines whether a child anchor has been deleted from
the buffer. Keep in mind that the child anchor will be
unreferenced when removed from the buffer, so you need to
hold your own reference (with <link linkend="g-object-ref"><function>g_object_ref()</function></link>) if you plan
to use this function — otherwise all deleted child anchors
will also be finalized.</para>
<refsect3 id="gtk-text-child-anchor-get-deleted.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>anchor</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextChildAnchor"><type>GtkTextChildAnchor</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-child-anchor-get-deleted.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the child anchor has been deleted from its buffer</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-gutter" role="function">
<title>gtk_text_view_get_gutter&#160;()</title>
<indexterm zone="gtk-text-view-get-gutter"><primary>gtk_text_view_get_gutter</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_text_view_get_gutter (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                          <parameter><link linkend="GtkTextWindowType"><type>GtkTextWindowType</type></link> win</parameter>);</programlisting>
<para>Gets a <link linkend="GtkWidget"><type>GtkWidget</type></link> that has previously been set with
<link linkend="gtk-text-view-set-gutter"><function>gtk_text_view_set_gutter()</function></link>.</para>
<para><parameter>win</parameter>
 must be one of <link linkend="GTK-TEXT-WINDOW-LEFT:CAPS"><literal>GTK_TEXT_WINDOW_LEFT</literal></link>, <link linkend="GTK-TEXT-WINDOW-RIGHT:CAPS"><literal>GTK_TEXT_WINDOW_RIGHT</literal></link>,
<link linkend="GTK-TEXT-WINDOW-TOP:CAPS"><literal>GTK_TEXT_WINDOW_TOP</literal></link>, or <link linkend="GTK-TEXT-WINDOW-BOTTOM:CAPS"><literal>GTK_TEXT_WINDOW_BOTTOM</literal></link>.</para>
<refsect3 id="gtk-text-view-get-gutter.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>win</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextWindowType"><type>GtkTextWindowType</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-gutter.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GtkWidget"><type>GtkWidget</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-gutter" role="function">
<title>gtk_text_view_set_gutter&#160;()</title>
<indexterm zone="gtk-text-view-set-gutter"><primary>gtk_text_view_set_gutter</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_gutter (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                          <parameter><link linkend="GtkTextWindowType"><type>GtkTextWindowType</type></link> win</parameter>,
                          <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *widget</parameter>);</programlisting>
<para>Places <parameter>widget</parameter>
 into the gutter specified by <parameter>win</parameter>
.</para>
<para><parameter>win</parameter>
 must be one of <link linkend="GTK-TEXT-WINDOW-LEFT:CAPS"><literal>GTK_TEXT_WINDOW_LEFT</literal></link>, <link linkend="GTK-TEXT-WINDOW-RIGHT:CAPS"><literal>GTK_TEXT_WINDOW_RIGHT</literal></link>,
<link linkend="GTK-TEXT-WINDOW-TOP:CAPS"><literal>GTK_TEXT_WINDOW_TOP</literal></link>, or <link linkend="GTK-TEXT-WINDOW-BOTTOM:CAPS"><literal>GTK_TEXT_WINDOW_BOTTOM</literal></link>.</para>
<refsect3 id="gtk-text-view-set-gutter.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>win</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextWindowType"><type>GtkTextWindowType</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>widget</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWidget"><type>GtkWidget</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-add-overlay" role="function">
<title>gtk_text_view_add_overlay&#160;()</title>
<indexterm zone="gtk-text-view-add-overlay"><primary>gtk_text_view_add_overlay</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_add_overlay (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                           <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>,
                           <parameter><link linkend="gint"><type>gint</type></link> xpos</parameter>,
                           <parameter><link linkend="gint"><type>gint</type></link> ypos</parameter>);</programlisting>
<para>Adds <parameter>child</parameter>
 at a fixed coordinate in the <link linkend="GtkTextView"><type>GtkTextView</type></link>'s text window. The
<parameter>xpos</parameter>
 and <parameter>ypos</parameter>
 must be in buffer coordinates (see
<link linkend="gtk-text-view-get-iter-location"><function>gtk_text_view_get_iter_location()</function></link> to conver to buffer coordinates).</para>
<para><parameter>child</parameter>
 will scroll with the text view.</para>
<para>If instead you want a widget that will not move with the <link linkend="GtkTextView"><type>GtkTextView</type></link>
contents see <link linkend="GtkOverlay"><type>GtkOverlay</type></link>.</para>
<refsect3 id="gtk-text-view-add-overlay.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWidget"><type>GtkWidget</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>xpos</para></entry>
<entry role="parameter_description"><para>X position of child in window coordinates</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>ypos</para></entry>
<entry role="parameter_description"><para>Y position of child in window coordinates</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-move-overlay" role="function">
<title>gtk_text_view_move_overlay&#160;()</title>
<indexterm zone="gtk-text-view-move-overlay"><primary>gtk_text_view_move_overlay</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_move_overlay (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                            <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>,
                            <parameter><link linkend="gint"><type>gint</type></link> xpos</parameter>,
                            <parameter><link linkend="gint"><type>gint</type></link> ypos</parameter>);</programlisting>
<para>Updates the position of a child, as for <link linkend="gtk-text-view-add-overlay"><function>gtk_text_view_add_overlay()</function></link>.</para>
<refsect3 id="gtk-text-view-move-overlay.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>a widget already added with <link linkend="gtk-text-view-add-overlay"><function>gtk_text_view_add_overlay()</function></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>xpos</para></entry>
<entry role="parameter_description"><para>new X position in buffer coordinates</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>ypos</para></entry>
<entry role="parameter_description"><para>new Y position in buffer coordinates</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-wrap-mode" role="function">
<title>gtk_text_view_set_wrap_mode&#160;()</title>
<indexterm zone="gtk-text-view-set-wrap-mode"><primary>gtk_text_view_set_wrap_mode</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_wrap_mode (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                             <parameter><link linkend="GtkWrapMode"><type>GtkWrapMode</type></link> wrap_mode</parameter>);</programlisting>
<para>Sets the line wrapping for the view.</para>
<refsect3 id="gtk-text-view-set-wrap-mode.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>wrap_mode</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWrapMode"><type>GtkWrapMode</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-wrap-mode" role="function">
<title>gtk_text_view_get_wrap_mode&#160;()</title>
<indexterm zone="gtk-text-view-get-wrap-mode"><primary>gtk_text_view_get_wrap_mode</primary></indexterm>
<programlisting language="C"><link linkend="GtkWrapMode"><returnvalue>GtkWrapMode</returnvalue></link>
gtk_text_view_get_wrap_mode (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the line wrapping for the view.</para>
<refsect3 id="gtk-text-view-get-wrap-mode.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-wrap-mode.returns" role="returns">
<title>Returns</title>
<para> the line wrap setting</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-editable" role="function">
<title>gtk_text_view_set_editable&#160;()</title>
<indexterm zone="gtk-text-view-set-editable"><primary>gtk_text_view_set_editable</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_editable (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                            <parameter><link linkend="gboolean"><type>gboolean</type></link> setting</parameter>);</programlisting>
<para>Sets the default editability of the <link linkend="GtkTextView"><type>GtkTextView</type></link>. You can override
this default setting with tags in the buffer, using the “editable”
attribute of tags.</para>
<refsect3 id="gtk-text-view-set-editable.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>setting</para></entry>
<entry role="parameter_description"><para>whether it’s editable</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-editable" role="function">
<title>gtk_text_view_get_editable&#160;()</title>
<indexterm zone="gtk-text-view-get-editable"><primary>gtk_text_view_get_editable</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_get_editable (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Returns the default editability of the <link linkend="GtkTextView"><type>GtkTextView</type></link>. Tags in the
buffer may override this setting for some ranges of text.</para>
<refsect3 id="gtk-text-view-get-editable.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-editable.returns" role="returns">
<title>Returns</title>
<para> whether text is editable by default</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-cursor-visible" role="function">
<title>gtk_text_view_set_cursor_visible&#160;()</title>
<indexterm zone="gtk-text-view-set-cursor-visible"><primary>gtk_text_view_set_cursor_visible</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_cursor_visible (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                  <parameter><link linkend="gboolean"><type>gboolean</type></link> setting</parameter>);</programlisting>
<para>Toggles whether the insertion point should be displayed. A buffer with
no editable text probably shouldn’t have a visible cursor, so you may
want to turn the cursor off.</para>
<para>Note that this property may be overridden by the
<link linkend="GtkSettings--gtk-keynav-use-caret"><type>“gtk-keynav-use-caret”</type></link> settings.</para>
<refsect3 id="gtk-text-view-set-cursor-visible.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>setting</para></entry>
<entry role="parameter_description"><para>whether to show the insertion cursor</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-cursor-visible" role="function">
<title>gtk_text_view_get_cursor_visible&#160;()</title>
<indexterm zone="gtk-text-view-get-cursor-visible"><primary>gtk_text_view_get_cursor_visible</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_get_cursor_visible (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Find out whether the cursor should be displayed.</para>
<refsect3 id="gtk-text-view-get-cursor-visible.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-cursor-visible.returns" role="returns">
<title>Returns</title>
<para> whether the insertion mark is visible</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-reset-cursor-blink" role="function">
<title>gtk_text_view_reset_cursor_blink&#160;()</title>
<indexterm zone="gtk-text-view-reset-cursor-blink"><primary>gtk_text_view_reset_cursor_blink</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_reset_cursor_blink (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Ensures that the cursor is shown (i.e. not in an 'off' blink
interval) and resets the time that it will stay blinking (or
visible, in case blinking is disabled).</para>
<para>This function should be called in response to user input
(e.g. from derived classes that override the textview's
event handlers).</para>
<refsect3 id="gtk-text-view-reset-cursor-blink.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-overwrite" role="function">
<title>gtk_text_view_set_overwrite&#160;()</title>
<indexterm zone="gtk-text-view-set-overwrite"><primary>gtk_text_view_set_overwrite</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_overwrite (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                             <parameter><link linkend="gboolean"><type>gboolean</type></link> overwrite</parameter>);</programlisting>
<para>Changes the <link linkend="GtkTextView"><type>GtkTextView</type></link> overwrite mode.</para>
<refsect3 id="gtk-text-view-set-overwrite.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>overwrite</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to turn on overwrite mode, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to turn it off</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-overwrite" role="function">
<title>gtk_text_view_get_overwrite&#160;()</title>
<indexterm zone="gtk-text-view-get-overwrite"><primary>gtk_text_view_get_overwrite</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_get_overwrite (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Returns whether the <link linkend="GtkTextView"><type>GtkTextView</type></link> is in overwrite mode or not.</para>
<refsect3 id="gtk-text-view-get-overwrite.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-overwrite.returns" role="returns">
<title>Returns</title>
<para> whether <parameter>text_view</parameter>
is in overwrite mode or not.</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-pixels-above-lines" role="function">
<title>gtk_text_view_set_pixels_above_lines&#160;()</title>
<indexterm zone="gtk-text-view-set-pixels-above-lines"><primary>gtk_text_view_set_pixels_above_lines</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_pixels_above_lines (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                      <parameter><link linkend="gint"><type>gint</type></link> pixels_above_lines</parameter>);</programlisting>
<para>Sets the default number of blank pixels above paragraphs in <parameter>text_view</parameter>
.
Tags in the buffer for <parameter>text_view</parameter>
 may override the defaults.</para>
<refsect3 id="gtk-text-view-set-pixels-above-lines.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>pixels_above_lines</para></entry>
<entry role="parameter_description"><para>pixels above paragraphs</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-pixels-above-lines" role="function">
<title>gtk_text_view_get_pixels_above_lines&#160;()</title>
<indexterm zone="gtk-text-view-get-pixels-above-lines"><primary>gtk_text_view_get_pixels_above_lines</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_text_view_get_pixels_above_lines (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the default number of pixels to put above paragraphs.
Adding this function with <link linkend="gtk-text-view-get-pixels-below-lines"><function>gtk_text_view_get_pixels_below_lines()</function></link>
is equal to the line space between each paragraph.</para>
<refsect3 id="gtk-text-view-get-pixels-above-lines.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-pixels-above-lines.returns" role="returns">
<title>Returns</title>
<para> default number of pixels above paragraphs</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-pixels-below-lines" role="function">
<title>gtk_text_view_set_pixels_below_lines&#160;()</title>
<indexterm zone="gtk-text-view-set-pixels-below-lines"><primary>gtk_text_view_set_pixels_below_lines</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_pixels_below_lines (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                      <parameter><link linkend="gint"><type>gint</type></link> pixels_below_lines</parameter>);</programlisting>
<para>Sets the default number of pixels of blank space
to put below paragraphs in <parameter>text_view</parameter>
. May be overridden
by tags applied to <parameter>text_view</parameter>
’s buffer.</para>
<refsect3 id="gtk-text-view-set-pixels-below-lines.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>pixels_below_lines</para></entry>
<entry role="parameter_description"><para>pixels below paragraphs </para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-pixels-below-lines" role="function">
<title>gtk_text_view_get_pixels_below_lines&#160;()</title>
<indexterm zone="gtk-text-view-get-pixels-below-lines"><primary>gtk_text_view_get_pixels_below_lines</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_text_view_get_pixels_below_lines (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the value set by <link linkend="gtk-text-view-set-pixels-below-lines"><function>gtk_text_view_set_pixels_below_lines()</function></link>.</para>
<para>The line space is the sum of the value returned by this function and the
value returned by <link linkend="gtk-text-view-get-pixels-above-lines"><function>gtk_text_view_get_pixels_above_lines()</function></link>.</para>
<refsect3 id="gtk-text-view-get-pixels-below-lines.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-pixels-below-lines.returns" role="returns">
<title>Returns</title>
<para> default number of blank pixels below paragraphs</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-pixels-inside-wrap" role="function">
<title>gtk_text_view_set_pixels_inside_wrap&#160;()</title>
<indexterm zone="gtk-text-view-set-pixels-inside-wrap"><primary>gtk_text_view_set_pixels_inside_wrap</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_pixels_inside_wrap (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                      <parameter><link linkend="gint"><type>gint</type></link> pixels_inside_wrap</parameter>);</programlisting>
<para>Sets the default number of pixels of blank space to leave between
display/wrapped lines within a paragraph. May be overridden by
tags in <parameter>text_view</parameter>
’s buffer.</para>
<refsect3 id="gtk-text-view-set-pixels-inside-wrap.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>pixels_inside_wrap</para></entry>
<entry role="parameter_description"><para>default number of pixels between wrapped lines</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-pixels-inside-wrap" role="function">
<title>gtk_text_view_get_pixels_inside_wrap&#160;()</title>
<indexterm zone="gtk-text-view-get-pixels-inside-wrap"><primary>gtk_text_view_get_pixels_inside_wrap</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_text_view_get_pixels_inside_wrap (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the value set by <link linkend="gtk-text-view-set-pixels-inside-wrap"><function>gtk_text_view_set_pixels_inside_wrap()</function></link>.</para>
<refsect3 id="gtk-text-view-get-pixels-inside-wrap.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-pixels-inside-wrap.returns" role="returns">
<title>Returns</title>
<para> default number of pixels of blank space between wrapped lines</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-justification" role="function">
<title>gtk_text_view_set_justification&#160;()</title>
<indexterm zone="gtk-text-view-set-justification"><primary>gtk_text_view_set_justification</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_justification (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                 <parameter><link linkend="GtkJustification"><type>GtkJustification</type></link> justification</parameter>);</programlisting>
<para>Sets the default justification of text in <parameter>text_view</parameter>
.
Tags in the view’s buffer may override the default.</para>
<refsect3 id="gtk-text-view-set-justification.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>justification</para></entry>
<entry role="parameter_description"><para>justification</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-justification" role="function">
<title>gtk_text_view_get_justification&#160;()</title>
<indexterm zone="gtk-text-view-get-justification"><primary>gtk_text_view_get_justification</primary></indexterm>
<programlisting language="C"><link linkend="GtkJustification"><returnvalue>GtkJustification</returnvalue></link>
gtk_text_view_get_justification (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the default justification of paragraphs in <parameter>text_view</parameter>
.
Tags in the buffer may override the default.</para>
<refsect3 id="gtk-text-view-get-justification.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-justification.returns" role="returns">
<title>Returns</title>
<para> default justification</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-left-margin" role="function">
<title>gtk_text_view_set_left_margin&#160;()</title>
<indexterm zone="gtk-text-view-set-left-margin"><primary>gtk_text_view_set_left_margin</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_left_margin (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> left_margin</parameter>);</programlisting>
<para>Sets the default left margin for text in <parameter>text_view</parameter>
.
Tags in the buffer may override the default.</para>
<para>Note that this function is confusingly named.
In CSS terms, the value set here is padding.</para>
<refsect3 id="gtk-text-view-set-left-margin.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>left_margin</para></entry>
<entry role="parameter_description"><para>left margin in pixels</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-left-margin" role="function">
<title>gtk_text_view_get_left_margin&#160;()</title>
<indexterm zone="gtk-text-view-get-left-margin"><primary>gtk_text_view_get_left_margin</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_text_view_get_left_margin (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the default left margin size of paragraphs in the <parameter>text_view</parameter>
.
Tags in the buffer may override the default.</para>
<refsect3 id="gtk-text-view-get-left-margin.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-left-margin.returns" role="returns">
<title>Returns</title>
<para> left margin in pixels</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-right-margin" role="function">
<title>gtk_text_view_set_right_margin&#160;()</title>
<indexterm zone="gtk-text-view-set-right-margin"><primary>gtk_text_view_set_right_margin</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_right_margin (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> right_margin</parameter>);</programlisting>
<para>Sets the default right margin for text in the text view.
Tags in the buffer may override the default.</para>
<para>Note that this function is confusingly named.
In CSS terms, the value set here is padding.</para>
<refsect3 id="gtk-text-view-set-right-margin.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>right_margin</para></entry>
<entry role="parameter_description"><para>right margin in pixels</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-right-margin" role="function">
<title>gtk_text_view_get_right_margin&#160;()</title>
<indexterm zone="gtk-text-view-get-right-margin"><primary>gtk_text_view_get_right_margin</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_text_view_get_right_margin (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the default right margin for text in <parameter>text_view</parameter>
. Tags
in the buffer may override the default.</para>
<refsect3 id="gtk-text-view-get-right-margin.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-right-margin.returns" role="returns">
<title>Returns</title>
<para> right margin in pixels</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-top-margin" role="function">
<title>gtk_text_view_set_top_margin&#160;()</title>
<indexterm zone="gtk-text-view-set-top-margin"><primary>gtk_text_view_set_top_margin</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_top_margin (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                              <parameter><link linkend="gint"><type>gint</type></link> top_margin</parameter>);</programlisting>
<para>Sets the top margin for text in <parameter>text_view</parameter>
.</para>
<para>Note that this function is confusingly named.
In CSS terms, the value set here is padding.</para>
<refsect3 id="gtk-text-view-set-top-margin.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>top_margin</para></entry>
<entry role="parameter_description"><para>top margin in pixels</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-top-margin" role="function">
<title>gtk_text_view_get_top_margin&#160;()</title>
<indexterm zone="gtk-text-view-get-top-margin"><primary>gtk_text_view_get_top_margin</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_text_view_get_top_margin (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the top margin for text in the <parameter>text_view</parameter>
.</para>
<refsect3 id="gtk-text-view-get-top-margin.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-top-margin.returns" role="returns">
<title>Returns</title>
<para> top margin in pixels</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-bottom-margin" role="function">
<title>gtk_text_view_set_bottom_margin&#160;()</title>
<indexterm zone="gtk-text-view-set-bottom-margin"><primary>gtk_text_view_set_bottom_margin</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_bottom_margin (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                 <parameter><link linkend="gint"><type>gint</type></link> bottom_margin</parameter>);</programlisting>
<para>Sets the bottom margin for text in <parameter>text_view</parameter>
.</para>
<para>Note that this function is confusingly named.
In CSS terms, the value set here is padding.</para>
<refsect3 id="gtk-text-view-set-bottom-margin.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>bottom_margin</para></entry>
<entry role="parameter_description"><para>bottom margin in pixels</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-bottom-margin" role="function">
<title>gtk_text_view_get_bottom_margin&#160;()</title>
<indexterm zone="gtk-text-view-get-bottom-margin"><primary>gtk_text_view_get_bottom_margin</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_text_view_get_bottom_margin (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the bottom margin for text in the <parameter>text_view</parameter>
.</para>
<refsect3 id="gtk-text-view-get-bottom-margin.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-bottom-margin.returns" role="returns">
<title>Returns</title>
<para> bottom margin in pixels</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-indent" role="function">
<title>gtk_text_view_set_indent&#160;()</title>
<indexterm zone="gtk-text-view-set-indent"><primary>gtk_text_view_set_indent</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_indent (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                          <parameter><link linkend="gint"><type>gint</type></link> indent</parameter>);</programlisting>
<para>Sets the default indentation for paragraphs in <parameter>text_view</parameter>
.
Tags in the buffer may override the default.</para>
<refsect3 id="gtk-text-view-set-indent.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>indent</para></entry>
<entry role="parameter_description"><para>indentation in pixels</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-indent" role="function">
<title>gtk_text_view_get_indent&#160;()</title>
<indexterm zone="gtk-text-view-get-indent"><primary>gtk_text_view_get_indent</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_text_view_get_indent (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the default indentation of paragraphs in <parameter>text_view</parameter>
.
Tags in the view’s buffer may override the default.
The indentation may be negative.</para>
<refsect3 id="gtk-text-view-get-indent.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-indent.returns" role="returns">
<title>Returns</title>
<para> number of pixels of indentation</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-tabs" role="function">
<title>gtk_text_view_set_tabs&#160;()</title>
<indexterm zone="gtk-text-view-set-tabs"><primary>gtk_text_view_set_tabs</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_tabs (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                        <parameter><link linkend="PangoTabArray"><type>PangoTabArray</type></link> *tabs</parameter>);</programlisting>
<para>Sets the default tab stops for paragraphs in <parameter>text_view</parameter>
.
Tags in the buffer may override the default.</para>
<refsect3 id="gtk-text-view-set-tabs.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>tabs</para></entry>
<entry role="parameter_description"><para>tabs as a <link linkend="PangoTabArray"><type>PangoTabArray</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-tabs" role="function">
<title>gtk_text_view_get_tabs&#160;()</title>
<indexterm zone="gtk-text-view-get-tabs"><primary>gtk_text_view_get_tabs</primary></indexterm>
<programlisting language="C"><link linkend="PangoTabArray"><returnvalue>PangoTabArray</returnvalue></link>&#160;*
gtk_text_view_get_tabs (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the default tabs for <parameter>text_view</parameter>
. Tags in the buffer may
override the defaults. The returned array will be <link linkend="NULL:CAPS"><literal>NULL</literal></link> if
“standard” (8-space) tabs are used. Free the return value
with <link linkend="pango-tab-array-free"><function>pango_tab_array_free()</function></link>.</para>
<refsect3 id="gtk-text-view-get-tabs.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-tabs.returns" role="returns">
<title>Returns</title>
<para>copy of default tab array, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if
“standard" tabs are used; must be freed with <link linkend="pango-tab-array-free"><function>pango_tab_array_free()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-accepts-tab" role="function">
<title>gtk_text_view_set_accepts_tab&#160;()</title>
<indexterm zone="gtk-text-view-set-accepts-tab"><primary>gtk_text_view_set_accepts_tab</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_accepts_tab (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                               <parameter><link linkend="gboolean"><type>gboolean</type></link> accepts_tab</parameter>);</programlisting>
<para>Sets the behavior of the text widget when the Tab key is pressed. 
If <parameter>accepts_tab</parameter>
 is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, a tab character is inserted. If <parameter>accepts_tab</parameter>
 
is <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> the keyboard focus is moved to the next widget in the focus 
chain.</para>
<refsect3 id="gtk-text-view-set-accepts-tab.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>accepts_tab</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if pressing the Tab key should insert a tab
character, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>, if pressing the Tab key should move the
keyboard focus.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-accepts-tab" role="function">
<title>gtk_text_view_get_accepts_tab&#160;()</title>
<indexterm zone="gtk-text-view-get-accepts-tab"><primary>gtk_text_view_get_accepts_tab</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_get_accepts_tab (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Returns whether pressing the Tab key inserts a tab characters.
<link linkend="gtk-text-view-set-accepts-tab"><function>gtk_text_view_set_accepts_tab()</function></link>.</para>
<refsect3 id="gtk-text-view-get-accepts-tab.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-accepts-tab.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if pressing the Tab key inserts a tab character,
<link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if pressing the Tab key moves the keyboard focus.</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-im-context-filter-keypress" role="function">
<title>gtk_text_view_im_context_filter_keypress&#160;()</title>
<indexterm zone="gtk-text-view-im-context-filter-keypress"><primary>gtk_text_view_im_context_filter_keypress</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_im_context_filter_keypress
                               (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                <parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Allow the <link linkend="GtkTextView"><type>GtkTextView</type></link> input method to internally handle key press
and release events. If this function returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, then no further
processing should be done for this key event. See
<link linkend="gtk-im-context-filter-keypress"><function>gtk_im_context_filter_keypress()</function></link>.</para>
<para>Note that you are expected to call this function from your handler
when overriding key event handling. This is needed in the case when
you need to insert your own key handling between the input method
and the default key event handling of the <link linkend="GtkTextView"><type>GtkTextView</type></link>.</para>
<informalexample><programlisting role="example"><![CDATA[
static gboolean
gtk_foo_bar_key_press_event (GtkWidget *widget,
                             GdkEvent  *event)
{
  guint keyval;
  
  gdk_event_get_keyval ((GdkEvent*)event, &keyval);

  if (keyval == GDK_KEY_Return || keyval == GDK_KEY_KP_Enter)
    {
      if (gtk_text_view_im_context_filter_keypress (GTK_TEXT_VIEW (widget), event))
        return TRUE;
    }

  // Do some stuff

  return GTK_WIDGET_CLASS (gtk_foo_bar_parent_class)->key_press_event (widget, event);
}
]]></programlisting></informalexample>
<para></para>
<refsect3 id="gtk-text-view-im-context-filter-keypress.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>the key event</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-im-context-filter-keypress.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the input method handled the key event.</para>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-reset-im-context" role="function">
<title>gtk_text_view_reset_im_context&#160;()</title>
<indexterm zone="gtk-text-view-reset-im-context"><primary>gtk_text_view_reset_im_context</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_reset_im_context (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Reset the input method context of the text view if needed.</para>
<para>This can be necessary in the case where modifying the buffer
would confuse on-going input method behavior.</para>
<refsect3 id="gtk-text-view-reset-im-context.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-input-purpose" role="function">
<title>gtk_text_view_set_input_purpose&#160;()</title>
<indexterm zone="gtk-text-view-set-input-purpose"><primary>gtk_text_view_set_input_purpose</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_input_purpose (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                                 <parameter><link linkend="GtkInputPurpose"><type>GtkInputPurpose</type></link> purpose</parameter>);</programlisting>
<para>Sets the <link linkend="GtkTextView--input-purpose"><type>“input-purpose”</type></link> property which
can be used by on-screen keyboards and other input
methods to adjust their behaviour.</para>
<refsect3 id="gtk-text-view-set-input-purpose.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>purpose</para></entry>
<entry role="parameter_description"><para>the purpose</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-input-purpose" role="function">
<title>gtk_text_view_get_input_purpose&#160;()</title>
<indexterm zone="gtk-text-view-get-input-purpose"><primary>gtk_text_view_get_input_purpose</primary></indexterm>
<programlisting language="C"><link linkend="GtkInputPurpose"><returnvalue>GtkInputPurpose</returnvalue></link>
gtk_text_view_get_input_purpose (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the value of the <link linkend="GtkTextView--input-purpose"><type>“input-purpose”</type></link> property.</para>
<refsect3 id="gtk-text-view-get-input-purpose.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-input-hints" role="function">
<title>gtk_text_view_set_input_hints&#160;()</title>
<indexterm zone="gtk-text-view-set-input-hints"><primary>gtk_text_view_set_input_hints</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_input_hints (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                               <parameter><link linkend="GtkInputHints"><type>GtkInputHints</type></link> hints</parameter>);</programlisting>
<para>Sets the <link linkend="GtkTextView--input-hints"><type>“input-hints”</type></link> property, which
allows input methods to fine-tune their behaviour.</para>
<refsect3 id="gtk-text-view-set-input-hints.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>hints</para></entry>
<entry role="parameter_description"><para>the hints</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-input-hints" role="function">
<title>gtk_text_view_get_input_hints&#160;()</title>
<indexterm zone="gtk-text-view-get-input-hints"><primary>gtk_text_view_get_input_hints</primary></indexterm>
<programlisting language="C"><link linkend="GtkInputHints"><returnvalue>GtkInputHints</returnvalue></link>
gtk_text_view_get_input_hints (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the value of the <link linkend="GtkTextView--input-hints"><type>“input-hints”</type></link> property.</para>
<refsect3 id="gtk-text-view-get-input-hints.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-monospace" role="function">
<title>gtk_text_view_set_monospace&#160;()</title>
<indexterm zone="gtk-text-view-set-monospace"><primary>gtk_text_view_set_monospace</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_monospace (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                             <parameter><link linkend="gboolean"><type>gboolean</type></link> monospace</parameter>);</programlisting>
<para>Sets the <link linkend="GtkTextView--monospace"><type>“monospace”</type></link> property, which
indicates that the text view should use monospace
fonts.</para>
<refsect3 id="gtk-text-view-set-monospace.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>monospace</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to request monospace styling</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-monospace" role="function">
<title>gtk_text_view_get_monospace&#160;()</title>
<indexterm zone="gtk-text-view-get-monospace"><primary>gtk_text_view_get_monospace</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_text_view_get_monospace (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the value of the <link linkend="GtkTextView--monospace"><type>“monospace”</type></link> property.</para>
<para>Return: <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if monospace fonts are desired</para>
<refsect3 id="gtk-text-view-get-monospace.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-set-extra-menu" role="function">
<title>gtk_text_view_set_extra_menu&#160;()</title>
<indexterm zone="gtk-text-view-set-extra-menu"><primary>gtk_text_view_set_extra_menu</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_text_view_set_extra_menu (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>,
                              <parameter><link linkend="GMenuModel"><type>GMenuModel</type></link> *model</parameter>);</programlisting>
<para>Sets a menu model to add when constructing
the context menu for <parameter>text_view</parameter>
.</para>
<refsect3 id="gtk-text-view-set-extra-menu.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>model</para></entry>
<entry role="parameter_description"><para>a <link linkend="GMenuModel"><type>GMenuModel</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-text-view-get-extra-menu" role="function">
<title>gtk_text_view_get_extra_menu&#160;()</title>
<indexterm zone="gtk-text-view-get-extra-menu"><primary>gtk_text_view_get_extra_menu</primary></indexterm>
<programlisting language="C"><link linkend="GMenuModel"><returnvalue>GMenuModel</returnvalue></link>&#160;*
gtk_text_view_get_extra_menu (<parameter><link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view</parameter>);</programlisting>
<para>Gets the menu model set with <link linkend="gtk-text-view-set-extra-menu"><function>gtk_text_view_set_extra_menu()</function></link>.</para>
<refsect3 id="gtk-text-view-get-extra-menu.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTextView"><type>GtkTextView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-text-view-get-extra-menu.returns" role="returns">
<title>Returns</title>
<para>(nullable): the menu model. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkTextView.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GtkTextView-struct" role="struct">
<title>struct GtkTextView</title>
<indexterm zone="GtkTextView-struct"><primary>GtkTextView</primary></indexterm>
<programlisting language="C">struct GtkTextView;</programlisting>
</refsect2>
<refsect2 id="GtkTextViewClass" role="struct">
<title>struct GtkTextViewClass</title>
<indexterm zone="GtkTextViewClass"><primary>GtkTextViewClass</primary></indexterm>
<programlisting language="C">struct GtkTextViewClass {
  GtkWidgetClass parent_class;

  void (* move_cursor)           (GtkTextView      *text_view,
                                  GtkMovementStep   step,
                                  gint              count,
                                  gboolean          extend_selection);
  void (* set_anchor)            (GtkTextView      *text_view);
  void (* insert_at_cursor)      (GtkTextView      *text_view,
                                  const gchar      *str);
  void (* delete_from_cursor)    (GtkTextView      *text_view,
                                  GtkDeleteType     type,
                                  gint              count);
  void (* backspace)             (GtkTextView      *text_view);
  void (* cut_clipboard)         (GtkTextView      *text_view);
  void (* copy_clipboard)        (GtkTextView      *text_view);
  void (* paste_clipboard)       (GtkTextView      *text_view);
  void (* toggle_overwrite)      (GtkTextView      *text_view);
  GtkTextBuffer * (* create_buffer) (GtkTextView   *text_view);
  void (* snapshot_layer)        (GtkTextView      *text_view,
			          GtkTextViewLayer  layer,
			          GtkSnapshot      *snapshot);
  gboolean (* extend_selection)  (GtkTextView            *text_view,
                                  GtkTextExtendSelection  granularity,
                                  const GtkTextIter      *location,
                                  GtkTextIter            *start,
                                  GtkTextIter            *end);
  void (* insert_emoji)          (GtkTextView      *text_view);
};
</programlisting>
<refsect3 id="GtkTextViewClass.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkTextViewClass.move-cursor">move_cursor</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>The class handler for the <link linkend="GtkTextView-move-cursor"><type>“move-cursor”</type></link>
keybinding signal.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkTextViewClass.set-anchor">set_anchor</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>The class handler for the <link linkend="GtkTextView-set-anchor"><type>“set-anchor”</type></link>
keybinding signal.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkTextViewClass.insert-at-cursor">insert_at_cursor</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>The class handler for the <link linkend="GtkTextView-insert-at-cursor"><type>“insert-at-cursor”</type></link>
keybinding signal.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkTextViewClass.delete-from-cursor">delete_from_cursor</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>The class handler for the <link linkend="GtkTextView-delete-from-cursor"><type>“delete-from-cursor”</type></link>
keybinding signal.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkTextViewClass.backspace">backspace</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>The class handler for the <link linkend="GtkTextView-backspace"><type>“backspace”</type></link>
keybinding signal.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkTextViewClass.cut-clipboard">cut_clipboard</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>The class handler for the <link linkend="GtkTextView-cut-clipboard"><type>“cut-clipboard”</type></link>
keybinding signal</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkTextViewClass.copy-clipboard">copy_clipboard</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>The class handler for the <link linkend="GtkTextView-copy-clipboard"><type>“copy-clipboard”</type></link>
keybinding signal.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkTextViewClass.paste-clipboard">paste_clipboard</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>The class handler for the <link linkend="GtkTextView-paste-clipboard"><type>“paste-clipboard”</type></link>
keybinding signal.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkTextViewClass.toggle-overwrite">toggle_overwrite</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>The class handler for the <link linkend="GtkTextView-toggle-overwrite"><type>“toggle-overwrite”</type></link>
keybinding signal.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkTextViewClass.create-buffer">create_buffer</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>The create_buffer vfunc is called to create a <link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link>
for the text view. The default implementation is to just call
<link linkend="gtk-text-buffer-new"><function>gtk_text_buffer_new()</function></link>.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkTextViewClass.snapshot-layer">snapshot_layer</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>The snapshot_layer vfunc is called before and after the text
view is drawing its own text. Applications can override this vfunc
in a subclass to draw customized content underneath or above the
text. In the <link linkend="GTK-TEXT-VIEW-LAYER-BELOW-TEXT:CAPS"><literal>GTK_TEXT_VIEW_LAYER_BELOW_TEXT</literal></link> and <link linkend="GTK-TEXT-VIEW-LAYER-ABOVE-TEXT:CAPS"><literal>GTK_TEXT_VIEW_LAYER_ABOVE_TEXT</literal></link>
the drawing is done in the buffer coordinate space, but the older (deprecated)
layers <link linkend="GTK-TEXT-VIEW-LAYER-BELOW:CAPS"><literal>GTK_TEXT_VIEW_LAYER_BELOW</literal></link> and <link linkend="GTK-TEXT-VIEW-LAYER-ABOVE:CAPS"><literal>GTK_TEXT_VIEW_LAYER_ABOVE</literal></link> work in viewport
coordinates, which makes them unnecessarily hard to use.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkTextViewClass.extend-selection">extend_selection</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>The class handler for the <link linkend="GtkTextView-extend-selection"><type>“extend-selection”</type></link> signal.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="GtkTextViewClass.insert-emoji">insert_emoji</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>The class handler for the <link linkend="GtkTextView-insert-emoji"><type>“insert-emoji”</type></link> signal.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="GtkTextViewLayer" role="enum">
<title>enum GtkTextViewLayer</title>
<indexterm zone="GtkTextViewLayer"><primary>GtkTextViewLayer</primary></indexterm>
<para>Used to reference the layers of <link linkend="GtkTextView"><type>GtkTextView</type></link> for the purpose of customized
drawing with the ::snapshot_layer vfunc.</para>
<refsect3 id="GtkTextViewLayer.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TEXT-VIEW-LAYER-BELOW-TEXT:CAPS">GTK_TEXT_VIEW_LAYER_BELOW_TEXT</para></entry>
<entry role="enum_member_description"><para>The layer rendered below the text (but above the background).</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TEXT-VIEW-LAYER-ABOVE-TEXT:CAPS">GTK_TEXT_VIEW_LAYER_ABOVE_TEXT</para></entry>
<entry role="enum_member_description"><para>The layer rendered above the text.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GtkTextWindowType" role="enum">
<title>enum GtkTextWindowType</title>
<indexterm zone="GtkTextWindowType"><primary>GtkTextWindowType</primary></indexterm>
<para>Used to reference the parts of <link linkend="GtkTextView"><type>GtkTextView</type></link>.</para>
<refsect3 id="GtkTextWindowType.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TEXT-WINDOW-WIDGET:CAPS">GTK_TEXT_WINDOW_WIDGET</para></entry>
<entry role="enum_member_description"><para>Window that floats over scrolling areas.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TEXT-WINDOW-TEXT:CAPS">GTK_TEXT_WINDOW_TEXT</para></entry>
<entry role="enum_member_description"><para>Scrollable text window.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TEXT-WINDOW-LEFT:CAPS">GTK_TEXT_WINDOW_LEFT</para></entry>
<entry role="enum_member_description"><para>Left side border window.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TEXT-WINDOW-RIGHT:CAPS">GTK_TEXT_WINDOW_RIGHT</para></entry>
<entry role="enum_member_description"><para>Right side border window.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TEXT-WINDOW-TOP:CAPS">GTK_TEXT_WINDOW_TOP</para></entry>
<entry role="enum_member_description"><para>Top border window.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TEXT-WINDOW-BOTTOM:CAPS">GTK_TEXT_WINDOW_BOTTOM</para></entry>
<entry role="enum_member_description"><para>Bottom border window.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GtkTextExtendSelection" role="enum">
<title>enum GtkTextExtendSelection</title>
<indexterm zone="GtkTextExtendSelection"><primary>GtkTextExtendSelection</primary></indexterm>
<para>Granularity types that extend the text selection. Use the
<link linkend="GtkTextView-extend-selection"><type>“extend-selection”</type></link> signal to customize the selection.</para>
<refsect3 id="GtkTextExtendSelection.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TEXT-EXTEND-SELECTION-WORD:CAPS">GTK_TEXT_EXTEND_SELECTION_WORD</para></entry>
<entry role="enum_member_description"><para>Selects the current word. It is triggered by
a double-click for example.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TEXT-EXTEND-SELECTION-LINE:CAPS">GTK_TEXT_EXTEND_SELECTION_LINE</para></entry>
<entry role="enum_member_description"><para>Selects the current line. It is triggered by
a triple-click for example.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GtkWrapMode" role="enum">
<title>enum GtkWrapMode</title>
<indexterm zone="GtkWrapMode"><primary>GtkWrapMode</primary></indexterm>
<para>Describes a type of line wrapping.</para>
<refsect3 id="GtkWrapMode.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GTK-WRAP-NONE:CAPS">GTK_WRAP_NONE</para></entry>
<entry role="enum_member_description"><para>do not wrap lines; just make the text area wider</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-WRAP-CHAR:CAPS">GTK_WRAP_CHAR</para></entry>
<entry role="enum_member_description"><para>wrap text, breaking lines anywhere the cursor can
appear (between characters, usually - if you want to be technical,
between graphemes, see <link linkend="pango-get-log-attrs"><function>pango_get_log_attrs()</function></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-WRAP-WORD:CAPS">GTK_WRAP_WORD</para></entry>
<entry role="enum_member_description"><para>wrap text, breaking lines in between words</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-WRAP-WORD-CHAR:CAPS">GTK_WRAP_WORD_CHAR</para></entry>
<entry role="enum_member_description"><para>wrap text, breaking lines in between words, or if
that is not enough, also between graphemes</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GtkTextChildAnchor-struct" role="struct">
<title>struct GtkTextChildAnchor</title>
<indexterm zone="GtkTextChildAnchor-struct"><primary>GtkTextChildAnchor</primary></indexterm>
<programlisting language="C">struct GtkTextChildAnchor;</programlisting>
<para>A <link linkend="GtkTextChildAnchor"><type>GtkTextChildAnchor</type></link> is a spot in the buffer where child widgets can
be “anchored” (inserted inline, as if they were characters). The anchor
can have multiple widgets anchored, to allow for multiple views.</para>
</refsect2>
<refsect2 id="GTK-TEXT-VIEW-PRIORITY-VALIDATE:CAPS" role="macro">
<title>GTK_TEXT_VIEW_PRIORITY_VALIDATE</title>
<indexterm zone="GTK-TEXT-VIEW-PRIORITY-VALIDATE:CAPS"><primary>GTK_TEXT_VIEW_PRIORITY_VALIDATE</primary></indexterm>
<programlisting language="C">#define GTK_TEXT_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5)
</programlisting>
<para>The priority at which the text view validates onscreen lines
in an idle job in the background.</para>
</refsect2>

</refsect1>
<refsect1 id="GtkTextView.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkTextView--accepts-tab" role="property"><title>The <literal>“accepts-tab”</literal> property</title>
<indexterm zone="GtkTextView--accepts-tab"><primary>GtkTextView:accepts-tab</primary></indexterm>
<programlisting>  “accepts-tab”              <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether Tab will result in a tab character being entered.</para><para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkTextView--bottom-margin" role="property"><title>The <literal>“bottom-margin”</literal> property</title>
<indexterm zone="GtkTextView--bottom-margin"><primary>GtkTextView:bottom-margin</primary></indexterm>
<programlisting>  “bottom-margin”            <link linkend="gint"><type>gint</type></link></programlisting>
<para>The bottom margin for text in the text view.</para>
<para>Note that this property is confusingly named. In CSS terms,
the value set here is padding, and it is applied in addition
to the padding from the theme.</para>
<para>Don't confuse this property with <link linkend="GtkWidget--margin-bottom"><type>“margin-bottom”</type></link>.</para>
<para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= 0</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkTextView--buffer" role="property"><title>The <literal>“buffer”</literal> property</title>
<indexterm zone="GtkTextView--buffer"><primary>GtkTextView:buffer</primary></indexterm>
<programlisting>  “buffer”                   <link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link>&#160;*</programlisting>
<para>The buffer which is displayed.</para><para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkTextView--cursor-visible" role="property"><title>The <literal>“cursor-visible”</literal> property</title>
<indexterm zone="GtkTextView--cursor-visible"><primary>GtkTextView:cursor-visible</primary></indexterm>
<programlisting>  “cursor-visible”           <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>If the insertion cursor is shown.</para><para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkTextView--editable" role="property"><title>The <literal>“editable”</literal> property</title>
<indexterm zone="GtkTextView--editable"><primary>GtkTextView:editable</primary></indexterm>
<programlisting>  “editable”                 <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether the text can be modified by the user.</para><para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkTextView--extra-menu" role="property"><title>The <literal>“extra-menu”</literal> property</title>
<indexterm zone="GtkTextView--extra-menu"><primary>GtkTextView:extra-menu</primary></indexterm>
<programlisting>  “extra-menu”               <link linkend="GMenuModel"><type>GMenuModel</type></link>&#160;*</programlisting>
<para>Menu model to append to the context menu.</para><para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkTextView--im-module" role="property"><title>The <literal>“im-module”</literal> property</title>
<indexterm zone="GtkTextView--im-module"><primary>GtkTextView:im-module</primary></indexterm>
<programlisting>  “im-module”                <link linkend="gchar"><type>gchar</type></link>&#160;*</programlisting>
<para>Which IM (input method) module should be used for this text_view.

See <link linkend="GtkIMContext"><type>GtkIMContext</type></link>.</para>
<para>Setting this to a non-<link linkend="NULL:CAPS"><literal>NULL</literal></link> value overrides the
system-wide IM module setting. See the GtkSettings

<link linkend="GtkSettings--gtk-im-module"><type>“gtk-im-module”</type></link> property.</para>
<para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Default value: NULL</para>
</refsect2>
<refsect2 id="GtkTextView--indent" role="property"><title>The <literal>“indent”</literal> property</title>
<indexterm zone="GtkTextView--indent"><primary>GtkTextView:indent</primary></indexterm>
<programlisting>  “indent”                   <link linkend="gint"><type>gint</type></link></programlisting>
<para>Amount to indent the paragraph, in pixels.</para><para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkTextView--input-hints" role="property"><title>The <literal>“input-hints”</literal> property</title>
<indexterm zone="GtkTextView--input-hints"><primary>GtkTextView:input-hints</primary></indexterm>
<programlisting>  “input-hints”              <link linkend="GtkInputHints"><type>GtkInputHints</type></link></programlisting>
<para>Additional hints (beyond <link linkend="GtkTextView--input-purpose"><type>“input-purpose”</type></link>) that
allow input methods to fine-tune their behaviour.</para>
<para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkTextView--input-purpose" role="property"><title>The <literal>“input-purpose”</literal> property</title>
<indexterm zone="GtkTextView--input-purpose"><primary>GtkTextView:input-purpose</primary></indexterm>
<programlisting>  “input-purpose”            <link linkend="GtkInputPurpose"><type>GtkInputPurpose</type></link></programlisting>
<para>The purpose of this text field.</para>
<para>This property can be used by on-screen keyboards and other input
methods to adjust their behaviour.</para>
<para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Default value: GTK_INPUT_PURPOSE_FREE_FORM</para>
</refsect2>
<refsect2 id="GtkTextView--justification" role="property"><title>The <literal>“justification”</literal> property</title>
<indexterm zone="GtkTextView--justification"><primary>GtkTextView:justification</primary></indexterm>
<programlisting>  “justification”            <link linkend="GtkJustification"><type>GtkJustification</type></link></programlisting>
<para>Left, right, or center justification.</para><para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Default value: GTK_JUSTIFY_LEFT</para>
</refsect2>
<refsect2 id="GtkTextView--left-margin" role="property"><title>The <literal>“left-margin”</literal> property</title>
<indexterm zone="GtkTextView--left-margin"><primary>GtkTextView:left-margin</primary></indexterm>
<programlisting>  “left-margin”              <link linkend="gint"><type>gint</type></link></programlisting>
<para>The default left margin for text in the text view.
Tags in the buffer may override the default.</para>
<para>Note that this property is confusingly named. In CSS terms,
the value set here is padding, and it is applied in addition
to the padding from the theme.</para>
<para>Don't confuse this property with <link linkend="GtkWidget--margin-left"><type>“margin-left”</type></link>.</para>
<para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= 0</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkTextView--monospace" role="property"><title>The <literal>“monospace”</literal> property</title>
<indexterm zone="GtkTextView--monospace"><primary>GtkTextView:monospace</primary></indexterm>
<programlisting>  “monospace”                <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>If <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, set the <link linkend="GTK-STYLE-CLASS-MONOSPACE:CAPS"><literal>GTK_STYLE_CLASS_MONOSPACE</literal></link> style class on the
text view to indicate that a monospace font is desired.</para>
<para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTextView--overwrite" role="property"><title>The <literal>“overwrite”</literal> property</title>
<indexterm zone="GtkTextView--overwrite"><primary>GtkTextView:overwrite</primary></indexterm>
<programlisting>  “overwrite”                <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether entered text overwrites existing contents.</para><para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTextView--pixels-above-lines" role="property"><title>The <literal>“pixels-above-lines”</literal> property</title>
<indexterm zone="GtkTextView--pixels-above-lines"><primary>GtkTextView:pixels-above-lines</primary></indexterm>
<programlisting>  “pixels-above-lines”       <link linkend="gint"><type>gint</type></link></programlisting>
<para>Pixels of blank space above paragraphs.</para><para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= 0</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkTextView--pixels-below-lines" role="property"><title>The <literal>“pixels-below-lines”</literal> property</title>
<indexterm zone="GtkTextView--pixels-below-lines"><primary>GtkTextView:pixels-below-lines</primary></indexterm>
<programlisting>  “pixels-below-lines”       <link linkend="gint"><type>gint</type></link></programlisting>
<para>Pixels of blank space below paragraphs.</para><para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= 0</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkTextView--pixels-inside-wrap" role="property"><title>The <literal>“pixels-inside-wrap”</literal> property</title>
<indexterm zone="GtkTextView--pixels-inside-wrap"><primary>GtkTextView:pixels-inside-wrap</primary></indexterm>
<programlisting>  “pixels-inside-wrap”       <link linkend="gint"><type>gint</type></link></programlisting>
<para>Pixels of blank space between wrapped lines in a paragraph.</para><para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= 0</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkTextView--right-margin" role="property"><title>The <literal>“right-margin”</literal> property</title>
<indexterm zone="GtkTextView--right-margin"><primary>GtkTextView:right-margin</primary></indexterm>
<programlisting>  “right-margin”             <link linkend="gint"><type>gint</type></link></programlisting>
<para>The default right margin for text in the text view.
Tags in the buffer may override the default.</para>
<para>Note that this property is confusingly named. In CSS terms,
the value set here is padding, and it is applied in addition
to the padding from the theme.</para>
<para>Don't confuse this property with <link linkend="GtkWidget--margin-right"><type>“margin-right”</type></link>.</para>
<para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= 0</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkTextView--tabs" role="property"><title>The <literal>“tabs”</literal> property</title>
<indexterm zone="GtkTextView--tabs"><primary>GtkTextView:tabs</primary></indexterm>
<programlisting>  “tabs”                     <link linkend="PangoTabArray"><type>PangoTabArray</type></link>&#160;*</programlisting>
<para>Custom tabs for this text.</para><para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkTextView--top-margin" role="property"><title>The <literal>“top-margin”</literal> property</title>
<indexterm zone="GtkTextView--top-margin"><primary>GtkTextView:top-margin</primary></indexterm>
<programlisting>  “top-margin”               <link linkend="gint"><type>gint</type></link></programlisting>
<para>The top margin for text in the text view.</para>
<para>Note that this property is confusingly named. In CSS terms,
the value set here is padding, and it is applied in addition
to the padding from the theme.</para>
<para>Don't confuse this property with <link linkend="GtkWidget--margin-top"><type>“margin-top”</type></link>.</para>
<para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= 0</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkTextView--wrap-mode" role="property"><title>The <literal>“wrap-mode”</literal> property</title>
<indexterm zone="GtkTextView--wrap-mode"><primary>GtkTextView:wrap-mode</primary></indexterm>
<programlisting>  “wrap-mode”                <link linkend="GtkWrapMode"><type>GtkWrapMode</type></link></programlisting>
<para>Whether to wrap lines never, at word boundaries, or at character boundaries.</para><para>Owner: GtkTextView</para>
<para>Flags: Read / Write</para>
<para>Default value: GTK_WRAP_NONE</para>
</refsect2>

</refsect1>
<refsect1 id="GtkTextView.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkTextView-backspace" role="signal"><title>The <literal>“backspace”</literal> signal</title>
<indexterm zone="GtkTextView-backspace"><primary>GtkTextView::backspace</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The ::backspace signal is a

<link linkend="GtkBindingSignal">keybinding signal</link>

which gets emitted when the user asks for it.</para>
<para>The default bindings for this signal are
Backspace and Shift-Backspace.</para>
<refsect3 id="GtkTextView-backspace.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTextView-copy-clipboard" role="signal"><title>The <literal>“copy-clipboard”</literal> signal</title>
<indexterm zone="GtkTextView-copy-clipboard"><primary>GtkTextView::copy-clipboard</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The ::copy-clipboard signal is a

<link linkend="GtkBindingSignal">keybinding signal</link>

which gets emitted to copy the selection to the clipboard.</para>
<para>The default bindings for this signal are
Ctrl-c and Ctrl-Insert.</para>
<refsect3 id="GtkTextView-copy-clipboard.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTextView-cut-clipboard" role="signal"><title>The <literal>“cut-clipboard”</literal> signal</title>
<indexterm zone="GtkTextView-cut-clipboard"><primary>GtkTextView::cut-clipboard</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The ::cut-clipboard signal is a

<link linkend="GtkBindingSignal">keybinding signal</link>

which gets emitted to cut the selection to the clipboard.</para>
<para>The default bindings for this signal are
Ctrl-x and Shift-Delete.</para>
<refsect3 id="GtkTextView-cut-clipboard.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTextView-delete-from-cursor" role="signal"><title>The <literal>“delete-from-cursor”</literal> signal</title>
<indexterm zone="GtkTextView-delete-from-cursor"><primary>GtkTextView::delete-from-cursor</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link>  *text_view,
               <link linkend="GtkDeleteType"><type>GtkDeleteType</type></link> type,
               <link linkend="gint"><type>gint</type></link>          count,
               <link linkend="gpointer"><type>gpointer</type></link>      user_data)</programlisting>
<para>The ::delete-from-cursor signal is a

<link linkend="GtkBindingSignal">keybinding signal</link>

which gets emitted when the user initiates a text deletion.</para>
<para>If the <parameter>type</parameter>
 is <link linkend="GTK-DELETE-CHARS:CAPS"><literal>GTK_DELETE_CHARS</literal></link>, GTK+ deletes the selection
if there is one, otherwise it deletes the requested number
of characters.</para>
<para>The default bindings for this signal are
Delete for deleting a character, Ctrl-Delete for

deleting a word and Ctrl-Backspace for deleting a word

backwords.</para>
<refsect3 id="GtkTextView-delete-from-cursor.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>type</para></entry>
<entry role="parameter_description"><para>the granularity of the deletion, as a <link linkend="GtkDeleteType"><type>GtkDeleteType</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>count</para></entry>
<entry role="parameter_description"><para>the number of <parameter>type</parameter>
units to delete</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTextView-extend-selection" role="signal"><title>The <literal>“extend-selection”</literal> signal</title>
<indexterm zone="GtkTextView-extend-selection"><primary>GtkTextView::extend-selection</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link>           *text_view,
               <link linkend="GtkTextExtendSelection"><type>GtkTextExtendSelection</type></link> granularity,
               <link linkend="GtkTextIter"><type>GtkTextIter</type></link>           *location,
               <link linkend="GtkTextIter"><type>GtkTextIter</type></link>           *start,
               <link linkend="GtkTextIter"><type>GtkTextIter</type></link>           *end,
               <link linkend="gpointer"><type>gpointer</type></link>               user_data)</programlisting>
<para>The ::extend-selection signal is emitted when the selection needs to be
extended at <parameter>location</parameter>
.</para>
<refsect3 id="GtkTextView-extend-selection.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>granularity</para></entry>
<entry role="parameter_description"><para>the granularity type</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>location</para></entry>
<entry role="parameter_description"><para>the location where to extend the selection</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>start</para></entry>
<entry role="parameter_description"><para>where the selection should start</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>end</para></entry>
<entry role="parameter_description"><para>where the selection should end</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="GtkTextView-extend-selection.returns" role="returns">
<title>Returns</title>
<para> <link linkend="GDK-EVENT-STOP:CAPS"><literal>GDK_EVENT_STOP</literal></link> to stop other handlers from being invoked for the
event. <link linkend="GDK-EVENT-PROPAGATE:CAPS"><literal>GDK_EVENT_PROPAGATE</literal></link> to propagate the event further.</para>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkTextView-insert-at-cursor" role="signal"><title>The <literal>“insert-at-cursor”</literal> signal</title>
<indexterm zone="GtkTextView-insert-at-cursor"><primary>GtkTextView::insert-at-cursor</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view,
               <link linkend="gchar"><type>gchar</type></link>       *string,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The ::insert-at-cursor signal is a
<link linkend="GtkBindingSignal">keybinding signal</link>
which gets emitted when the user initiates the insertion of a

fixed string at the cursor.</para>
<para>This signal has no default bindings.</para>
<refsect3 id="GtkTextView-insert-at-cursor.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>string</para></entry>
<entry role="parameter_description"><para>the string to insert</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTextView-insert-emoji" role="signal"><title>The <literal>“insert-emoji”</literal> signal</title>
<indexterm zone="GtkTextView-insert-emoji"><primary>GtkTextView::insert-emoji</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The ::insert-emoji signal is a
<link linkend="GtkBindingSignal">keybinding signal</link>
which gets emitted to present the Emoji chooser for the <parameter>text_view</parameter>
.</para>
<para>The default bindings for this signal are Ctrl-. and Ctrl-;</para>
<refsect3 id="GtkTextView-insert-emoji.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTextView-move-cursor" role="signal"><title>The <literal>“move-cursor”</literal> signal</title>
<indexterm zone="GtkTextView-move-cursor"><primary>GtkTextView::move-cursor</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link>    *text_view,
               <link linkend="GtkMovementStep"><type>GtkMovementStep</type></link> step,
               <link linkend="gint"><type>gint</type></link>            count,
               <link linkend="gboolean"><type>gboolean</type></link>        extend_selection,
               <link linkend="gpointer"><type>gpointer</type></link>        user_data)</programlisting>
<para>The ::move-cursor signal is a

<link linkend="GtkBindingSignal">keybinding signal</link>

which gets emitted when the user initiates a cursor movement.

If the cursor is not visible in <parameter>text_view</parameter>
, this signal causes
the viewport to be moved instead.</para>
<para>Applications should not connect to it, but may emit it with

<link linkend="g-signal-emit-by-name"><function>g_signal_emit_by_name()</function></link> if they need to control the cursor
programmatically.</para>
<para>The default bindings for this signal come in two variants,
the variant with the Shift modifier extends the selection,
the variant without the Shift modifer does not.
There are too many key combinations to list them all here.</para>
<itemizedlist>
<listitem><para>Arrow keys move by individual characters/lines</para></listitem>
<listitem><para>Ctrl-arrow key combinations move by words/paragraphs</para></listitem>
<listitem><para>Home/End keys move to the ends of the buffer</para></listitem>
<listitem><para>PageUp/PageDown keys move vertically by pages</para></listitem>
<listitem><para>Ctrl-PageUp/PageDown keys move horizontally by pages</para></listitem>
</itemizedlist>
<refsect3 id="GtkTextView-move-cursor.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>step</para></entry>
<entry role="parameter_description"><para>the granularity of the move, as a <link linkend="GtkMovementStep"><type>GtkMovementStep</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>count</para></entry>
<entry role="parameter_description"><para>the number of <parameter>step</parameter>
units to move</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>extend_selection</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the move should extend the selection</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTextView-move-viewport" role="signal"><title>The <literal>“move-viewport”</literal> signal</title>
<indexterm zone="GtkTextView-move-viewport"><primary>GtkTextView::move-viewport</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link>  *text_view,
               <link linkend="GtkScrollStep"><type>GtkScrollStep</type></link> step,
               <link linkend="gint"><type>gint</type></link>          count,
               <link linkend="gpointer"><type>gpointer</type></link>      user_data)</programlisting>
<para>The ::move-viewport signal is a
<link linkend="GtkBindingSignal">keybinding signal</link>
which can be bound to key combinations to allow the user
to move the viewport, i.e. change what part of the text view
is visible in a containing scrolled window.</para>
<para>There are no default bindings for this signal.</para>
<refsect3 id="GtkTextView-move-viewport.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>step</para></entry>
<entry role="parameter_description"><para>the granularity of the movement, as a <link linkend="GtkScrollStep"><type>GtkScrollStep</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>count</para></entry>
<entry role="parameter_description"><para>the number of <parameter>step</parameter>
units to move</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTextView-paste-clipboard" role="signal"><title>The <literal>“paste-clipboard”</literal> signal</title>
<indexterm zone="GtkTextView-paste-clipboard"><primary>GtkTextView::paste-clipboard</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The ::paste-clipboard signal is a

<link linkend="GtkBindingSignal">keybinding signal</link>

which gets emitted to paste the contents of the clipboard

into the text view.</para>
<para>The default bindings for this signal are
Ctrl-v and Shift-Insert.</para>
<refsect3 id="GtkTextView-paste-clipboard.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTextView-preedit-changed" role="signal"><title>The <literal>“preedit-changed”</literal> signal</title>
<indexterm zone="GtkTextView-preedit-changed"><primary>GtkTextView::preedit-changed</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view,
               <link linkend="gchar"><type>gchar</type></link>       *preedit,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>If an input method is used, the typed text will not immediately
be committed to the buffer. So if you are interested in the text,
connect to this signal.</para>
<para>This signal is only emitted if the text at the given position
is actually editable.</para>
<refsect3 id="GtkTextView-preedit-changed.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>preedit</para></entry>
<entry role="parameter_description"><para>the current preedit string</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTextView-select-all" role="signal"><title>The <literal>“select-all”</literal> signal</title>
<indexterm zone="GtkTextView-select-all"><primary>GtkTextView::select-all</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view,
               <link linkend="gboolean"><type>gboolean</type></link>     select,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The ::select-all signal is a

<link linkend="GtkBindingSignal">keybinding signal</link>

which gets emitted to select or unselect the complete
contents of the text view.</para>
<para>The default bindings for this signal are Ctrl-a and Ctrl-/

for selecting and Shift-Ctrl-a and Ctrl-\ for unselecting.</para>
<refsect3 id="GtkTextView-select-all.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>select</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to select, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to unselect</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTextView-set-anchor" role="signal"><title>The <literal>“set-anchor”</literal> signal</title>
<indexterm zone="GtkTextView-set-anchor"><primary>GtkTextView::set-anchor</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The ::set-anchor signal is a
<link linkend="GtkBindingSignal">keybinding signal</link>
which gets emitted when the user initiates setting the "anchor"

mark. The "anchor" mark gets placed at the same position as the
"insert" mark.</para>
<para>This signal has no default bindings.</para>
<refsect3 id="GtkTextView-set-anchor.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTextView-toggle-cursor-visible" role="signal"><title>The <literal>“toggle-cursor-visible”</literal> signal</title>
<indexterm zone="GtkTextView-toggle-cursor-visible"><primary>GtkTextView::toggle-cursor-visible</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The ::toggle-cursor-visible signal is a
<link linkend="GtkBindingSignal">keybinding signal</link>
which gets emitted to toggle the <link linkend="GtkTextView--cursor-visible"><type>“cursor-visible”</type></link>
property.</para>
<para>The default binding for this signal is F7.</para>
<refsect3 id="GtkTextView-toggle-cursor-visible.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTextView-toggle-overwrite" role="signal"><title>The <literal>“toggle-overwrite”</literal> signal</title>
<indexterm zone="GtkTextView-toggle-overwrite"><primary>GtkTextView::toggle-overwrite</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTextView"><type>GtkTextView</type></link> *text_view,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The ::toggle-overwrite signal is a

<link linkend="GtkBindingSignal">keybinding signal</link>

which gets emitted to toggle the overwrite mode of the text view.</para>
<para>The default bindings for this signal is Insert.</para>
<refsect3 id="GtkTextView-toggle-overwrite.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text_view</para></entry>
<entry role="parameter_description"><para>the object which received the signal</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2>
</refsect1>
<refsect1 id="GtkTextView.action-details" role="action_details">
<title role="action_details.title">Action Details</title>
<refsect2 id="GtkTextView|menu.popup" role="action"><title>The <literal>“menu.popup”</literal> action</title>
<indexterm zone="GtkTextView|menu.popup"><primary>GtkTextView|menu.popup</primary></indexterm>
<para>Opens the context menu.</para>
</refsect2>
<refsect2 id="GtkTextView|text.redo" role="action"><title>The <literal>“text.redo”</literal> action</title>
<indexterm zone="GtkTextView|text.redo"><primary>GtkTextView|text.redo</primary></indexterm>
<para>Redoes the last change to the contents.</para>
</refsect2>
<refsect2 id="GtkTextView|text.undo" role="action"><title>The <literal>“text.undo”</literal> action</title>
<indexterm zone="GtkTextView|text.undo"><primary>GtkTextView|text.undo</primary></indexterm>
<para>Undoes the last change to the contents.</para>
</refsect2>
<refsect2 id="GtkTextView|misc.insert-emoji" role="action"><title>The <literal>“misc.insert-emoji”</literal> action</title>
<indexterm zone="GtkTextView|misc.insert-emoji"><primary>GtkTextView|misc.insert-emoji</primary></indexterm>
<para>Opens the Emoji chooser.</para>
</refsect2>
<refsect2 id="GtkTextView|selection.select-all" role="action"><title>The <literal>“selection.select-all”</literal> action</title>
<indexterm zone="GtkTextView|selection.select-all"><primary>GtkTextView|selection.select-all</primary></indexterm>
<para>Selects all of the widgets content.</para>
</refsect2>
<refsect2 id="GtkTextView|selection.delete" role="action"><title>The <literal>“selection.delete”</literal> action</title>
<indexterm zone="GtkTextView|selection.delete"><primary>GtkTextView|selection.delete</primary></indexterm>
<para>Deletes the current selection.</para>
</refsect2>
<refsect2 id="GtkTextView|clipboard.paste" role="action"><title>The <literal>“clipboard.paste”</literal> action</title>
<indexterm zone="GtkTextView|clipboard.paste"><primary>GtkTextView|clipboard.paste</primary></indexterm>
<para>Inserts the contents of the clipboard into the widget.</para>
</refsect2>
<refsect2 id="GtkTextView|clipboard.copy" role="action"><title>The <literal>“clipboard.copy”</literal> action</title>
<indexterm zone="GtkTextView|clipboard.copy"><primary>GtkTextView|clipboard.copy</primary></indexterm>
<para>Copies the contents to the clipboard.</para>
</refsect2>
<refsect2 id="GtkTextView|clipboard.cut" role="action"><title>The <literal>“clipboard.cut”</literal> action</title>
<indexterm zone="GtkTextView|clipboard.cut"><primary>GtkTextView|clipboard.cut</primary></indexterm>
<para>Copies the contents to the clipboard and deletes it from the widget.</para>
</refsect2>

</refsect1>
<refsect1 id="GtkTextView.see-also">
<title>See Also</title>
<para><link linkend="GtkTextBuffer"><type>GtkTextBuffer</type></link>, <link linkend="GtkTextIter"><type>GtkTextIter</type></link></para>

</refsect1>

</refentry>
