<refentry id="GtkTextView">
<refmeta>
<refentrytitle>GtkTextView</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>GtkTextView</refname><refpurpose>Widget that displays a <link linkend="GtkTextBuffer">GtkTextBuffer</link></refpurpose>
</refnamediv>

<refsynopsisdiv><title>Synopsis</title>
<synopsis>

#include &lt;gtk/gtk.h&gt;


struct      <link linkend="GtkTextView-struct">GtkTextView</link>;
enum        <link linkend="GtkTextWindowType">GtkTextWindowType</link>;
<link linkend="GtkWidget">GtkWidget</link>*  <link linkend="gtk-text-view-new">gtk_text_view_new</link>               (void);
<link linkend="GtkWidget">GtkWidget</link>*  <link linkend="gtk-text-view-new-with-buffer">gtk_text_view_new_with_buffer</link>   (<link linkend="GtkTextBuffer">GtkTextBuffer</link> *buffer);
void        <link linkend="gtk-text-view-set-buffer">gtk_text_view_set_buffer</link>        (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextBuffer">GtkTextBuffer</link> *buffer);
<link linkend="GtkTextBuffer">GtkTextBuffer</link>* <link linkend="gtk-text-view-get-buffer">gtk_text_view_get_buffer</link>     (<link linkend="GtkTextView">GtkTextView</link> *text_view);
void        <link linkend="gtk-text-view-scroll-to-mark">gtk_text_view_scroll_to_mark</link>    (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextMark">GtkTextMark</link> *mark,
                                             <link linkend="gdouble">gdouble</link> within_margin,
                                             <link linkend="gboolean">gboolean</link> use_align,
                                             <link linkend="gdouble">gdouble</link> xalign,
                                             <link linkend="gdouble">gdouble</link> yalign);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-text-view-scroll-to-iter">gtk_text_view_scroll_to_iter</link>    (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter,
                                             <link linkend="gdouble">gdouble</link> within_margin,
                                             <link linkend="gboolean">gboolean</link> use_align,
                                             <link linkend="gdouble">gdouble</link> xalign,
                                             <link linkend="gdouble">gdouble</link> yalign);
void        <link linkend="gtk-text-view-scroll-mark-onscreen">gtk_text_view_scroll_mark_onscreen</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextMark">GtkTextMark</link> *mark);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-text-view-move-mark-onscreen">gtk_text_view_move_mark_onscreen</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextMark">GtkTextMark</link> *mark);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-text-view-place-cursor-onscreen">gtk_text_view_place_cursor_onscreen</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);
void        <link linkend="gtk-text-view-get-visible-rect">gtk_text_view_get_visible_rect</link>  (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GdkRectangle">GdkRectangle</link> *visible_rect);
void        <link linkend="gtk-text-view-get-iter-location">gtk_text_view_get_iter_location</link> (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             const <link linkend="GtkTextIter">GtkTextIter</link> *iter,
                                             <link linkend="GdkRectangle">GdkRectangle</link> *location);
void        <link linkend="gtk-text-view-get-line-at-y">gtk_text_view_get_line_at_y</link>     (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *target_iter,
                                             <link linkend="gint">gint</link> y,
                                             <link linkend="gint">gint</link> *line_top);
void        <link linkend="gtk-text-view-get-line-yrange">gtk_text_view_get_line_yrange</link>   (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             const <link linkend="GtkTextIter">GtkTextIter</link> *iter,
                                             <link linkend="gint">gint</link> *y,
                                             <link linkend="gint">gint</link> *height);
void        <link linkend="gtk-text-view-get-iter-at-location">gtk_text_view_get_iter_at_location</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter,
                                             <link linkend="gint">gint</link> x,
                                             <link linkend="gint">gint</link> y);
void        <link linkend="gtk-text-view-buffer-to-window-coords">gtk_text_view_buffer_to_window_coords</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextWindowType">GtkTextWindowType</link> win,
                                             <link linkend="gint">gint</link> buffer_x,
                                             <link linkend="gint">gint</link> buffer_y,
                                             <link linkend="gint">gint</link> *window_x,
                                             <link linkend="gint">gint</link> *window_y);
void        <link linkend="gtk-text-view-window-to-buffer-coords">gtk_text_view_window_to_buffer_coords</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextWindowType">GtkTextWindowType</link> win,
                                             <link linkend="gint">gint</link> window_x,
                                             <link linkend="gint">gint</link> window_y,
                                             <link linkend="gint">gint</link> *buffer_x,
                                             <link linkend="gint">gint</link> *buffer_y);
<link linkend="GdkWindow">GdkWindow</link>*  <link linkend="gtk-text-view-get-window">gtk_text_view_get_window</link>        (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextWindowType">GtkTextWindowType</link> win);
<link linkend="GtkTextWindowType">GtkTextWindowType</link> <link linkend="gtk-text-view-get-window-type">gtk_text_view_get_window_type</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GdkWindow">GdkWindow</link> *window);
void        <link linkend="gtk-text-view-set-border-window-size">gtk_text_view_set_border_window_size</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextWindowType">GtkTextWindowType</link> type,
                                             <link linkend="gint">gint</link> size);
<link linkend="gint">gint</link>        <link linkend="gtk-text-view-get-border-window-size">gtk_text_view_get_border_window_size</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextWindowType">GtkTextWindowType</link> type);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-text-view-forward-display-line">gtk_text_view_forward_display_line</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-text-view-backward-display-line">gtk_text_view_backward_display_line</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-text-view-forward-display-line-end">gtk_text_view_forward_display_line_end</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-text-view-backward-display-line-start">gtk_text_view_backward_display_line_start</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-text-view-starts-display-line">gtk_text_view_starts_display_line</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             const <link linkend="GtkTextIter">GtkTextIter</link> *iter);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-text-view-move-visually">gtk_text_view_move_visually</link>     (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter,
                                             <link linkend="gint">gint</link> count);
void        <link linkend="gtk-text-view-add-child-at-anchor">gtk_text_view_add_child_at_anchor</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkWidget">GtkWidget</link> *child,
                                             <link linkend="GtkTextChildAnchor">GtkTextChildAnchor</link> *anchor);
struct      <link linkend="GtkTextChildAnchor-struct">GtkTextChildAnchor</link>;
<link linkend="GtkTextChildAnchor">GtkTextChildAnchor</link>* <link linkend="gtk-text-child-anchor-new">gtk_text_child_anchor_new</link>
                                            (void);
<link linkend="GList">GList</link>*      <link linkend="gtk-text-child-anchor-get-widgets">gtk_text_child_anchor_get_widgets</link>
                                            (<link linkend="GtkTextChildAnchor">GtkTextChildAnchor</link> *anchor);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-text-child-anchor-get-deleted">gtk_text_child_anchor_get_deleted</link>
                                            (<link linkend="GtkTextChildAnchor">GtkTextChildAnchor</link> *anchor);
void        <link linkend="gtk-text-view-add-child-in-window">gtk_text_view_add_child_in_window</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkWidget">GtkWidget</link> *child,
                                             <link linkend="GtkTextWindowType">GtkTextWindowType</link> which_window,
                                             <link linkend="gint">gint</link> xpos,
                                             <link linkend="gint">gint</link> ypos);
void        <link linkend="gtk-text-view-move-child">gtk_text_view_move_child</link>        (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkWidget">GtkWidget</link> *child,
                                             <link linkend="gint">gint</link> xpos,
                                             <link linkend="gint">gint</link> ypos);
void        <link linkend="gtk-text-view-set-wrap-mode">gtk_text_view_set_wrap_mode</link>     (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkWrapMode">GtkWrapMode</link> wrap_mode);
<link linkend="GtkWrapMode">GtkWrapMode</link> <link linkend="gtk-text-view-get-wrap-mode">gtk_text_view_get_wrap_mode</link>     (<link linkend="GtkTextView">GtkTextView</link> *text_view);
void        <link linkend="gtk-text-view-set-editable">gtk_text_view_set_editable</link>      (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gboolean">gboolean</link> setting);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-text-view-get-editable">gtk_text_view_get_editable</link>      (<link linkend="GtkTextView">GtkTextView</link> *text_view);
void        <link linkend="gtk-text-view-set-cursor-visible">gtk_text_view_set_cursor_visible</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gboolean">gboolean</link> setting);
<link linkend="gboolean">gboolean</link>    <link linkend="gtk-text-view-get-cursor-visible">gtk_text_view_get_cursor_visible</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);
void        <link linkend="gtk-text-view-set-pixels-above-lines">gtk_text_view_set_pixels_above_lines</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gint">gint</link> pixels_above_lines);
<link linkend="gint">gint</link>        <link linkend="gtk-text-view-get-pixels-above-lines">gtk_text_view_get_pixels_above_lines</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);
void        <link linkend="gtk-text-view-set-pixels-below-lines">gtk_text_view_set_pixels_below_lines</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gint">gint</link> pixels_below_lines);
<link linkend="gint">gint</link>        <link linkend="gtk-text-view-get-pixels-below-lines">gtk_text_view_get_pixels_below_lines</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);
void        <link linkend="gtk-text-view-set-pixels-inside-wrap">gtk_text_view_set_pixels_inside_wrap</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gint">gint</link> pixels_inside_wrap);
<link linkend="gint">gint</link>        <link linkend="gtk-text-view-get-pixels-inside-wrap">gtk_text_view_get_pixels_inside_wrap</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);
void        <link linkend="gtk-text-view-set-justification">gtk_text_view_set_justification</link> (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkJustification">GtkJustification</link> justification);
<link linkend="GtkJustification">GtkJustification</link> <link linkend="gtk-text-view-get-justification">gtk_text_view_get_justification</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);
void        <link linkend="gtk-text-view-set-left-margin">gtk_text_view_set_left_margin</link>   (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gint">gint</link> left_margin);
<link linkend="gint">gint</link>        <link linkend="gtk-text-view-get-left-margin">gtk_text_view_get_left_margin</link>   (<link linkend="GtkTextView">GtkTextView</link> *text_view);
void        <link linkend="gtk-text-view-set-right-margin">gtk_text_view_set_right_margin</link>  (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gint">gint</link> right_margin);
<link linkend="gint">gint</link>        <link linkend="gtk-text-view-get-right-margin">gtk_text_view_get_right_margin</link>  (<link linkend="GtkTextView">GtkTextView</link> *text_view);
void        <link linkend="gtk-text-view-set-indent">gtk_text_view_set_indent</link>        (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gint">gint</link> indent);
<link linkend="gint">gint</link>        <link linkend="gtk-text-view-get-indent">gtk_text_view_get_indent</link>        (<link linkend="GtkTextView">GtkTextView</link> *text_view);
void        <link linkend="gtk-text-view-set-tabs">gtk_text_view_set_tabs</link>          (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="PangoTabArray">PangoTabArray</link> *tabs);
<link linkend="PangoTabArray">PangoTabArray</link>* <link linkend="gtk-text-view-get-tabs">gtk_text_view_get_tabs</link>       (<link linkend="GtkTextView">GtkTextView</link> *text_view);
<link linkend="GtkTextAttributes">GtkTextAttributes</link>* <link linkend="gtk-text-view-get-default-attributes">gtk_text_view_get_default_attributes</link>
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);
#define     <link linkend="GTK-TEXT-VIEW-PRIORITY-VALIDATE-CAPS">GTK_TEXT_VIEW_PRIORITY_VALIDATE</link>


</synopsis>
</refsynopsisdiv>

<refsect1>
<title>Object Hierarchy</title>
<synopsis>

  <link linkend="GObject">GObject</link>
   +----<link linkend="GtkObject">GtkObject</link>
         +----<link linkend="GtkWidget">GtkWidget</link>
               +----<link linkend="GtkContainer">GtkContainer</link>
                     +----GtkTextView
</synopsis>

</refsect1>

<refsect1>
<title>Properties</title>
<synopsis>

  &quot;<link linkend="GtkTextView--pixels-above-lines">pixels-above-lines</link>&quot;   <link linkend="gint">gint</link>                 : Read / Write
  &quot;<link linkend="GtkTextView--pixels-below-lines">pixels-below-lines</link>&quot;   <link linkend="gint">gint</link>                 : Read / Write
  &quot;<link linkend="GtkTextView--pixels-inside-wrap">pixels-inside-wrap</link>&quot;   <link linkend="gint">gint</link>                 : Read / Write
  &quot;<link linkend="GtkTextView--editable">editable</link>&quot;             <link linkend="gboolean">gboolean</link>             : Read / Write
  &quot;<link linkend="GtkTextView--wrap-mode">wrap-mode</link>&quot;            <link linkend="GtkWrapMode">GtkWrapMode</link>          : Read / Write
  &quot;<link linkend="GtkTextView--justification">justification</link>&quot;        <link linkend="GtkJustification">GtkJustification</link>     : Read / Write
  &quot;<link linkend="GtkTextView--left-margin">left-margin</link>&quot;          <link linkend="gint">gint</link>                 : Read / Write
  &quot;<link linkend="GtkTextView--right-margin">right-margin</link>&quot;         <link linkend="gint">gint</link>                 : Read / Write
  &quot;<link linkend="GtkTextView--indent">indent</link>&quot;               <link linkend="gint">gint</link>                 : Read / Write
  &quot;<link linkend="GtkTextView--tabs">tabs</link>&quot;                 <link linkend="PangoTabArray">PangoTabArray</link>        : Read / Write
  &quot;<link linkend="GtkTextView--cursor-visible">cursor-visible</link>&quot;       <link linkend="gboolean">gboolean</link>             : Read / Write
</synopsis>
</refsect1>

<refsect1>
<title>Signal Prototypes</title>
<synopsis>

&quot;<link linkend="GtkTextView-copy-clipboard">copy-clipboard</link>&quot;
            void        user_function      (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTextView-cut-clipboard">cut-clipboard</link>&quot;
            void        user_function      (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTextView-delete-from-cursor">delete-from-cursor</link>&quot;
            void        user_function      (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="GtkDeleteType">GtkDeleteType</link> arg1,
                                            <link linkend="gint">gint</link> arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTextView-insert-at-cursor">insert-at-cursor</link>&quot;
            void        user_function      (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gchar">gchar</link> *arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTextView-move-cursor">move-cursor</link>&quot;
            void        user_function      (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="GtkMovementStep">GtkMovementStep</link> arg1,
                                            <link linkend="gint">gint</link> arg2,
                                            <link linkend="gboolean">gboolean</link> arg3,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTextView-move-focus">move-focus</link>&quot;
            void        user_function      (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="GtkDirectionType">GtkDirectionType</link> arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTextView-page-horizontally">page-horizontally</link>&quot;
            void        user_function      (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gint">gint</link> arg1,
                                            <link linkend="gboolean">gboolean</link> arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTextView-paste-clipboard">paste-clipboard</link>&quot;
            void        user_function      (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTextView-populate-popup">populate-popup</link>&quot;
            void        user_function      (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="GtkMenu">GtkMenu</link> *arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTextView-set-anchor">set-anchor</link>&quot;
            void        user_function      (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTextView-set-scroll-adjustments">set-scroll-adjustments</link>&quot;
            void        user_function      (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="GtkAdjustment">GtkAdjustment</link> *arg1,
                                            <link linkend="GtkAdjustment">GtkAdjustment</link> *arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTextView-toggle-overwrite">toggle-overwrite</link>&quot;
            void        user_function      (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gpointer">gpointer</link> user_data);
</synopsis>
</refsect1>


<refsect1>
<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>

<para>

</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="GtkTextView-struct">struct GtkTextView</title>
<programlisting>struct GtkTextView;</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GtkTextWindowType">enum GtkTextWindowType</title>
<programlisting>typedef enum
{
  GTK_TEXT_WINDOW_PRIVATE,
  GTK_TEXT_WINDOW_WIDGET,
  GTK_TEXT_WINDOW_TEXT,
  GTK_TEXT_WINDOW_LEFT,
  GTK_TEXT_WINDOW_RIGHT,
  GTK_TEXT_WINDOW_TOP,
  GTK_TEXT_WINDOW_BOTTOM
} GtkTextWindowType;
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-new">gtk_text_view_new ()</title>
<programlisting><link linkend="GtkWidget">GtkWidget</link>*  gtk_text_view_new               (void);</programlisting>
<para>
Creates a new <link linkend="GtkTextView">GtkTextView</link>. If you don't call <link linkend="gtk-text-view-set-buffer">gtk_text_view_set_buffer</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">gtk_text_view_get_buffer</link>(). If you want
to specify your own buffer, consider <link linkend="gtk-text-view-new-with-buffer">gtk_text_view_new_with_buffer</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a new <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-new-with-buffer">gtk_text_view_new_with_buffer ()</title>
<programlisting><link linkend="GtkWidget">GtkWidget</link>*  gtk_text_view_new_with_buffer   (<link linkend="GtkTextBuffer">GtkTextBuffer</link> *buffer);</programlisting>
<para>
Creates a new <link linkend="GtkTextView">GtkTextView</link> widget displaying the buffer
<parameter>buffer</parameter>. One buffer can be shared among many widgets.
<parameter>buffer</parameter> may be NULL to create a default buffer, in which case
this function is equivalent to <link linkend="gtk-text-view-new">gtk_text_view_new</link>(). The
text view adds its own reference count to the buffer; it does not
take over an existing reference.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>buffer</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextBuffer">GtkTextBuffer</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a new <link linkend="GtkTextView">GtkTextView</link>.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-set-buffer">gtk_text_view_set_buffer ()</title>
<programlisting>void        gtk_text_view_set_buffer        (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextBuffer">GtkTextBuffer</link> *buffer);</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">GtkTextView</link>
will not "adopt" it.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>buffer</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextBuffer">GtkTextBuffer</link>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-buffer">gtk_text_view_get_buffer ()</title>
<programlisting><link linkend="GtkTextBuffer">GtkTextBuffer</link>* gtk_text_view_get_buffer     (<link linkend="GtkTextView">GtkTextView</link> *text_view);</programlisting>
<para>
Returns the <link linkend="GtkTextBuffer">GtkTextBuffer</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>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a <link linkend="GtkTextBuffer">GtkTextBuffer</link>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-scroll-to-mark">gtk_text_view_scroll_to_mark ()</title>
<programlisting>void        gtk_text_view_scroll_to_mark    (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextMark">GtkTextMark</link> *mark,
                                             <link linkend="gdouble">gdouble</link> within_margin,
                                             <link linkend="gboolean">gboolean</link> use_align,
                                             <link linkend="gdouble">gdouble</link> xalign,
                                             <link linkend="gdouble">gdouble</link> yalign);</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 <literal>FALSE</literal>, 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>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>mark</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextMark">GtkTextMark</link>
</entry></row>
<row><entry align="right"><parameter>within_margin</parameter>&nbsp;:</entry>
<entry> margin as a [0.0,0.5) fraction of screen size
</entry></row>
<row><entry align="right"><parameter>use_align</parameter>&nbsp;:</entry>
<entry> whether to use alignment arguments (if <literal>FALSE</literal>, just get the mark onscreen)
</entry></row>
<row><entry align="right"><parameter>xalign</parameter>&nbsp;:</entry>
<entry> horizontal alignment of mark within visible area.
</entry></row>
<row><entry align="right"><parameter>yalign</parameter>&nbsp;:</entry>
<entry> vertical alignment of mark within visible area
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-scroll-to-iter">gtk_text_view_scroll_to_iter ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_text_view_scroll_to_iter    (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter,
                                             <link linkend="gdouble">gdouble</link> within_margin,
                                             <link linkend="gboolean">gboolean</link> use_align,
                                             <link linkend="gdouble">gdouble</link> xalign,
                                             <link linkend="gdouble">gdouble</link> yalign);</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 <literal>FALSE</literal>, 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>.
NOTE: This function uses the currently-computed height of the
lines in the text buffer. Note that 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">gtk_text_view_scroll_to_mark</link>() which saves a point
to be scrolled to after line validation.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>iter</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextIter">GtkTextIter</link>
</entry></row>
<row><entry align="right"><parameter>within_margin</parameter>&nbsp;:</entry>
<entry> margin as a [0.0,0.5) fraction of screen size
</entry></row>
<row><entry align="right"><parameter>use_align</parameter>&nbsp;:</entry>
<entry> whether to use alignment arguments (if <literal>FALSE</literal>, just get the mark onscreen)
</entry></row>
<row><entry align="right"><parameter>xalign</parameter>&nbsp;:</entry>
<entry> horizontal alignment of mark within visible area.
</entry></row>
<row><entry align="right"><parameter>yalign</parameter>&nbsp;:</entry>
<entry> vertical alignment of mark within visible area
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if scrolling occurred
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-scroll-mark-onscreen">gtk_text_view_scroll_mark_onscreen ()</title>
<programlisting>void        gtk_text_view_scroll_mark_onscreen
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextMark">GtkTextMark</link> *mark);</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>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>mark</parameter>&nbsp;:</entry>
<entry> a mark in the buffer for <parameter>text_view</parameter>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-move-mark-onscreen">gtk_text_view_move_mark_onscreen ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_text_view_move_mark_onscreen
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextMark">GtkTextMark</link> *mark);</programlisting>
<para>
Moves a mark within the buffer so that it's
located within the currently-visible text area.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>mark</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextMark">GtkTextMark</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if the mark moved (wasn't already onscreen)
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-place-cursor-onscreen">gtk_text_view_place_cursor_onscreen ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_text_view_place_cursor_onscreen
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);</programlisting>
<para>
Moves the cursor to the currently visible region of the
buffer, it it isn't there already.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> TRUE if the cursor had to be moved.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-visible-rect">gtk_text_view_get_visible_rect ()</title>
<programlisting>void        gtk_text_view_get_visible_rect  (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GdkRectangle">GdkRectangle</link> *visible_rect);</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">gtk_text_view_buffer_to_window_coords</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>visible_rect</parameter>&nbsp;:</entry>
<entry> rectangle to fill
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-iter-location">gtk_text_view_get_iter_location ()</title>
<programlisting>void        gtk_text_view_get_iter_location (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             const <link linkend="GtkTextIter">GtkTextIter</link> *iter,
                                             <link linkend="GdkRectangle">GdkRectangle</link> *location);</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">gtk_text_view_buffer_to_window_coords</link>() to convert these
coordinates to coordinates for one of the windows in the text view.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>iter</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextIter">GtkTextIter</link>
</entry></row>
<row><entry align="right"><parameter>location</parameter>&nbsp;:</entry>
<entry> bounds of the character at <parameter>iter</parameter>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-line-at-y">gtk_text_view_get_line_at_y ()</title>
<programlisting>void        gtk_text_view_get_line_at_y     (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *target_iter,
                                             <link linkend="gint">gint</link> y,
                                             <link linkend="gint">gint</link> *line_top);</programlisting>
<para>
Gets the <link linkend="GtkTextIter">GtkTextIter</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">gtk_text_view_window_to_buffer_coords</link>().
If non-<literal>NULL</literal>, <parameter>line_top</parameter> will be filled with the coordinate of the top
edge of the line.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>target_iter</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextIter">GtkTextIter</link>
</entry></row>
<row><entry align="right"><parameter>y</parameter>&nbsp;:</entry>
<entry> a y coordinate
</entry></row>
<row><entry align="right"><parameter>line_top</parameter>&nbsp;:</entry>
<entry> return location for top coordinate of the line
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-line-yrange">gtk_text_view_get_line_yrange ()</title>
<programlisting>void        gtk_text_view_get_line_yrange   (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             const <link linkend="GtkTextIter">GtkTextIter</link> *iter,
                                             <link linkend="gint">gint</link> *y,
                                             <link linkend="gint">gint</link> *height);</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">gtk_text_view_buffer_to_window_coords</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>iter</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextIter">GtkTextIter</link>
</entry></row>
<row><entry align="right"><parameter>y</parameter>&nbsp;:</entry>
<entry> return location for a y coordinate
</entry></row>
<row><entry align="right"><parameter>height</parameter>&nbsp;:</entry>
<entry> return location for a height
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-iter-at-location">gtk_text_view_get_iter_at_location ()</title>
<programlisting>void        gtk_text_view_get_iter_at_location
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter,
                                             <link linkend="gint">gint</link> x,
                                             <link linkend="gint">gint</link> y);</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">gtk_text_view_window_to_buffer_coords</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>iter</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextIter">GtkTextIter</link>
</entry></row>
<row><entry align="right"><parameter>x</parameter>&nbsp;:</entry>
<entry> x position, in buffer coordinates
</entry></row>
<row><entry align="right"><parameter>y</parameter>&nbsp;:</entry>
<entry> y position, in buffer coordinates
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-buffer-to-window-coords">gtk_text_view_buffer_to_window_coords ()</title>
<programlisting>void        gtk_text_view_buffer_to_window_coords
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextWindowType">GtkTextWindowType</link> win,
                                             <link linkend="gint">gint</link> buffer_x,
                                             <link linkend="gint">gint</link> buffer_y,
                                             <link linkend="gint">gint</link> *window_x,
                                             <link linkend="gint">gint</link> *window_y);</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">gtk_text_view_set_border_window_size</link>()).</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>win</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextWindowType">GtkTextWindowType</link> except <link linkend="GTK-TEXT-WINDOW-PRIVATE-CAPS">GTK_TEXT_WINDOW_PRIVATE</link>
</entry></row>
<row><entry align="right"><parameter>buffer_x</parameter>&nbsp;:</entry>
<entry> buffer x coordinate
</entry></row>
<row><entry align="right"><parameter>buffer_y</parameter>&nbsp;:</entry>
<entry> buffer y coordinate
</entry></row>
<row><entry align="right"><parameter>window_x</parameter>&nbsp;:</entry>
<entry> window x coordinate return location
</entry></row>
<row><entry align="right"><parameter>window_y</parameter>&nbsp;:</entry>
<entry> window y coordinate return location
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-window-to-buffer-coords">gtk_text_view_window_to_buffer_coords ()</title>
<programlisting>void        gtk_text_view_window_to_buffer_coords
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextWindowType">GtkTextWindowType</link> win,
                                             <link linkend="gint">gint</link> window_x,
                                             <link linkend="gint">gint</link> window_y,
                                             <link linkend="gint">gint</link> *buffer_x,
                                             <link linkend="gint">gint</link> *buffer_y);</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">gtk_text_view_set_border_window_size</link>()).</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>win</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextWindowType">GtkTextWindowType</link> except <link linkend="GTK-TEXT-WINDOW-PRIVATE-CAPS">GTK_TEXT_WINDOW_PRIVATE</link>
</entry></row>
<row><entry align="right"><parameter>window_x</parameter>&nbsp;:</entry>
<entry> window x coordinate
</entry></row>
<row><entry align="right"><parameter>window_y</parameter>&nbsp;:</entry>
<entry> window y coordinate
</entry></row>
<row><entry align="right"><parameter>buffer_x</parameter>&nbsp;:</entry>
<entry> buffer x coordinate return location
</entry></row>
<row><entry align="right"><parameter>buffer_y</parameter>&nbsp;:</entry>
<entry> buffer y coordinate return location
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-window">gtk_text_view_get_window ()</title>
<programlisting><link linkend="GdkWindow">GdkWindow</link>*  gtk_text_view_get_window        (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextWindowType">GtkTextWindowType</link> win);</programlisting>
<para>
Retrieves the <link linkend="GdkWindow">GdkWindow</link> corresponding to an area of the text view;
possible windows include the overall widget window, child windows
on the left, right, top, bottom, and the window that displays the
text buffer. Windows are <literal>NULL</literal> and nonexistent if their width or
height is 0, and are nonexistent before the widget has been
realized.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>win</parameter>&nbsp;:</entry>
<entry> window to get
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a <link linkend="GdkWindow">GdkWindow</link>, or <literal>NULL</literal>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-window-type">gtk_text_view_get_window_type ()</title>
<programlisting><link linkend="GtkTextWindowType">GtkTextWindowType</link> gtk_text_view_get_window_type
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GdkWindow">GdkWindow</link> *window);</programlisting>
<para>
Usually used to find out which window an event corresponds to.
If you connect to an event signal on <parameter>text_view</parameter>, this function
should be called on <literal>event-&gt;window</literal> to
see which window it was.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>window</parameter>&nbsp;:</entry>
<entry> a window type
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the window type.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-set-border-window-size">gtk_text_view_set_border_window_size ()</title>
<programlisting>void        gtk_text_view_set_border_window_size
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextWindowType">GtkTextWindowType</link> type,
                                             <link linkend="gint">gint</link> size);</programlisting>
<para>
Sets the width of <literal>GTK_TEXT_WINDOW_LEFT</literal> or <literal>GTK_TEXT_WINDOW_RIGHT</literal>,
or the height of <literal>GTK_TEXT_WINDOW_TOP</literal> or <literal>GTK_TEXT_WINDOW_BOTTOM</literal>.
Automatically destroys the corresponding window if the size is set
to 0, and creates the window if the size is set to non-zero.  This
function can only be used for the "border windows," it doesn't work
with <link linkend="GTK-TEXT-WINDOW-WIDGET-CAPS">GTK_TEXT_WINDOW_WIDGET</link>, <link linkend="GTK-TEXT-WINDOW-TEXT-CAPS">GTK_TEXT_WINDOW_TEXT</link>, or
<link linkend="GTK-TEXT-WINDOW-PRIVATE-CAPS">GTK_TEXT_WINDOW_PRIVATE</link>.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>type</parameter>&nbsp;:</entry>
<entry> window to affect
</entry></row>
<row><entry align="right"><parameter>size</parameter>&nbsp;:</entry>
<entry> width or height of the window
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-border-window-size">gtk_text_view_get_border_window_size ()</title>
<programlisting><link linkend="gint">gint</link>        gtk_text_view_get_border_window_size
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextWindowType">GtkTextWindowType</link> type);</programlisting>
<para>
Gets the width of the specified border window. See
<link linkend="gtk-text-view-set-border-window-size">gtk_text_view_set_border_window_size</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>type</parameter>&nbsp;:</entry>
<entry> window to return size from
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> width of window
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-forward-display-line">gtk_text_view_forward_display_line ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_text_view_forward_display_line
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter);</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">GtkTextBuffer</link>.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>iter</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextIter">GtkTextIter</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if <parameter>iter</parameter> was moved and is not on the end iterator
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-backward-display-line">gtk_text_view_backward_display_line ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_text_view_backward_display_line
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter);</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">GtkTextBuffer</link>.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>iter</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextIter">GtkTextIter</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if <parameter>iter</parameter> was moved and is not on the end iterator
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-forward-display-line-end">gtk_text_view_forward_display_line_end ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_text_view_forward_display_line_end
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter);</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">GtkTextBuffer</link>.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>iter</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextIter">GtkTextIter</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if <parameter>iter</parameter> was moved and is not on the end iterator
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-backward-display-line-start">gtk_text_view_backward_display_line_start ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_text_view_backward_display_line_start
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter);</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">GtkTextBuffer</link>.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>iter</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextIter">GtkTextIter</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if <parameter>iter</parameter> was moved and is not on the end iterator
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-starts-display-line">gtk_text_view_starts_display_line ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_text_view_starts_display_line
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             const <link linkend="GtkTextIter">GtkTextIter</link> *iter);</programlisting>
<para>
Determines whether <parameter>iter</parameter> is at the start of a display line.
See <link linkend="gtk-text-view-forward-display-line">gtk_text_view_forward_display_line</link>() for an explanation of
display lines vs. paragraphs.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>iter</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextIter">GtkTextIter</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if <parameter>iter</parameter> begins a wrapped line
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-move-visually">gtk_text_view_move_visually ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_text_view_move_visually     (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkTextIter">GtkTextIter</link> *iter,
                                             <link linkend="gint">gint</link> count);</programlisting>
<para>
Moves <parameter>iter</parameter> up or down by <parameter>count</parameter> display (wrapped) lines.
See <link linkend="gtk-text-view-forward-display-line">gtk_text_view_forward_display_line</link>() for an explanation of
display lines vs. paragraphs.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>iter</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextIter">GtkTextIter</link>
</entry></row>
<row><entry align="right"><parameter>count</parameter>&nbsp;:</entry>
<entry> number of lines to move
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if <parameter>iter</parameter> moved and is not on the end iterator
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-add-child-at-anchor">gtk_text_view_add_child_at_anchor ()</title>
<programlisting>void        gtk_text_view_add_child_at_anchor
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkWidget">GtkWidget</link> *child,
                                             <link linkend="GtkTextChildAnchor">GtkTextChildAnchor</link> *anchor);</programlisting>
<para>
Adds a child widget in the text buffer, at the given <parameter>anchor</parameter>.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>child</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkWidget">GtkWidget</link>
</entry></row>
<row><entry align="right"><parameter>anchor</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextChildAnchor">GtkTextChildAnchor</link> in the <link linkend="GtkTextBuffer">GtkTextBuffer</link> for <parameter>text_view</parameter>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GtkTextChildAnchor-struct">struct GtkTextChildAnchor</title>
<programlisting>struct GtkTextChildAnchor;</programlisting>
<para id="GtkTextChildAnchor">

</para></refsect2>
<refsect2>
<title><anchor id="gtk-text-child-anchor-new">gtk_text_child_anchor_new ()</title>
<programlisting><link linkend="GtkTextChildAnchor">GtkTextChildAnchor</link>* gtk_text_child_anchor_new
                                            (void);</programlisting>
<para>
Creates a new <link linkend="GtkTextChildAnchor">GtkTextChildAnchor</link>. Usually you would then insert
it into a <link linkend="GtkTextBuffer">GtkTextBuffer</link> with <link linkend="gtk-text-buffer-insert-child-anchor">gtk_text_buffer_insert_child_anchor</link>().
To perform the creation and insertion in one step, use the
convenience function <link linkend="gtk-text-buffer-create-child-anchor">gtk_text_buffer_create_child_anchor</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a new <link linkend="GtkTextChildAnchor">GtkTextChildAnchor</link>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-child-anchor-get-widgets">gtk_text_child_anchor_get_widgets ()</title>
<programlisting><link linkend="GList">GList</link>*      gtk_text_child_anchor_get_widgets
                                            (<link linkend="GtkTextChildAnchor">GtkTextChildAnchor</link> *anchor);</programlisting>
<para>
Gets a list of all widgets anchored at this child anchor.
The returned list should be freed with <link linkend="g-list-free">g_list_free</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>anchor</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextChildAnchor">GtkTextChildAnchor</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> list of widgets anchored at <parameter>anchor</parameter>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-child-anchor-get-deleted">gtk_text_child_anchor_get_deleted ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_text_child_anchor_get_deleted
                                            (<link linkend="GtkTextChildAnchor">GtkTextChildAnchor</link> *anchor);</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">g_object_ref</link>()) if you plan
to use this function &mdash; otherwise all deleted child anchors
will also be finalized.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>anchor</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextChildAnchor">GtkTextChildAnchor</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if the child anchor has been deleted from its buffer
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-add-child-in-window">gtk_text_view_add_child_in_window ()</title>
<programlisting>void        gtk_text_view_add_child_in_window
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkWidget">GtkWidget</link> *child,
                                             <link linkend="GtkTextWindowType">GtkTextWindowType</link> which_window,
                                             <link linkend="gint">gint</link> xpos,
                                             <link linkend="gint">gint</link> ypos);</programlisting>
<para>
Adds a child at fixed coordinates in one of the text widget's
windows.  The window must have nonzero size (see
<link linkend="gtk-text-view-set-border-window-size">gtk_text_view_set_border_window_size</link>()).  Note that the child
coordinates are given relative to the <link linkend="GdkWindow">GdkWindow</link> in question, and
that these coordinates have no sane relationship to scrolling. When
placing a child in <link linkend="GTK-TEXT-WINDOW-WIDGET-CAPS">GTK_TEXT_WINDOW_WIDGET</link>, scrolling is
irrelevant, the child floats above all scrollable areas. But when
placing a child in one of the scrollable windows (border windows or
text window), you'll need to compute the child's correct position
in buffer coordinates any time scrolling occurs or buffer changes
occur, and then call <link linkend="gtk-text-view-move-child">gtk_text_view_move_child</link>() to update the
child's position. Unfortunately there's no good way to detect that
scrolling has occurred, using the current API; a possible hack
would be to update all child positions when the scroll adjustments
change or the text buffer changes. See bug 64518 on
bugzilla.gnome.org for status of fixing this issue.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>child</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkWidget">GtkWidget</link>
</entry></row>
<row><entry align="right"><parameter>which_window</parameter>&nbsp;:</entry>
<entry> which window the child should appear in
</entry></row>
<row><entry align="right"><parameter>xpos</parameter>&nbsp;:</entry>
<entry> X position of child in window coordinates
</entry></row>
<row><entry align="right"><parameter>ypos</parameter>&nbsp;:</entry>
<entry> Y position of child in window coordinates
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-move-child">gtk_text_view_move_child ()</title>
<programlisting>void        gtk_text_view_move_child        (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkWidget">GtkWidget</link> *child,
                                             <link linkend="gint">gint</link> xpos,
                                             <link linkend="gint">gint</link> ypos);</programlisting>
<para>
Updates the position of a child, as for <link linkend="gtk-text-view-add-child-in-window">gtk_text_view_add_child_in_window</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>child</parameter>&nbsp;:</entry>
<entry> child widget already added to the text view
</entry></row>
<row><entry align="right"><parameter>xpos</parameter>&nbsp;:</entry>
<entry> new X position in window coordinates
</entry></row>
<row><entry align="right"><parameter>ypos</parameter>&nbsp;:</entry>
<entry> new Y position in window coordinates
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-set-wrap-mode">gtk_text_view_set_wrap_mode ()</title>
<programlisting>void        gtk_text_view_set_wrap_mode     (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkWrapMode">GtkWrapMode</link> wrap_mode);</programlisting>
<para>
Sets the line wrapping for the view.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>wrap_mode</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkWrapMode">GtkWrapMode</link>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-wrap-mode">gtk_text_view_get_wrap_mode ()</title>
<programlisting><link linkend="GtkWrapMode">GtkWrapMode</link> gtk_text_view_get_wrap_mode     (<link linkend="GtkTextView">GtkTextView</link> *text_view);</programlisting>
<para>
Gets the line wrapping for the view.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the line wrap setting
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-set-editable">gtk_text_view_set_editable ()</title>
<programlisting>void        gtk_text_view_set_editable      (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gboolean">gboolean</link> setting);</programlisting>
<para>
Sets the default editability of the <link linkend="GtkTextView">GtkTextView</link>. You can override
this default setting with tags in the buffer, using the "editable"
attribute of tags.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>setting</parameter>&nbsp;:</entry>
<entry> whether it's editable
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-editable">gtk_text_view_get_editable ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_text_view_get_editable      (<link linkend="GtkTextView">GtkTextView</link> *text_view);</programlisting>
<para>
Returns the default editability of the <link linkend="GtkTextView">GtkTextView</link>. Tags in the
buffer may override this setting for some ranges of text.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> whether text is editable by default
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-set-cursor-visible">gtk_text_view_set_cursor_visible ()</title>
<programlisting>void        gtk_text_view_set_cursor_visible
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gboolean">gboolean</link> setting);</programlisting>
<para>
Toggles whether the insertion point is 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>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>setting</parameter>&nbsp;:</entry>
<entry> whether to show the insertion cursor
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-cursor-visible">gtk_text_view_get_cursor_visible ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_text_view_get_cursor_visible
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);</programlisting>
<para>
Find out whether the cursor is being displayed.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> whether the insertion mark is visible
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-set-pixels-above-lines">gtk_text_view_set_pixels_above_lines ()</title>
<programlisting>void        gtk_text_view_set_pixels_above_lines
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gint">gint</link> pixels_above_lines);</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>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>pixels_above_lines</parameter>&nbsp;:</entry>
<entry> pixels above paragraphs
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-pixels-above-lines">gtk_text_view_get_pixels_above_lines ()</title>
<programlisting><link linkend="gint">gint</link>        gtk_text_view_get_pixels_above_lines
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);</programlisting>
<para>
Gets the default number of pixels to put above paragraphs.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> default number of pixels above paragraphs
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-set-pixels-below-lines">gtk_text_view_set_pixels_below_lines ()</title>
<programlisting>void        gtk_text_view_set_pixels_below_lines
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gint">gint</link> pixels_below_lines);</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>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>pixels_below_lines</parameter>&nbsp;:</entry>
<entry> pixels below paragraphs 
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-pixels-below-lines">gtk_text_view_get_pixels_below_lines ()</title>
<programlisting><link linkend="gint">gint</link>        gtk_text_view_get_pixels_below_lines
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);</programlisting>
<para>
Gets the value set by <link linkend="gtk-text-view-set-pixels-below-lines">gtk_text_view_set_pixels_below_lines</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> default number of blank pixels below paragraphs
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-set-pixels-inside-wrap">gtk_text_view_set_pixels_inside_wrap ()</title>
<programlisting>void        gtk_text_view_set_pixels_inside_wrap
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gint">gint</link> pixels_inside_wrap);</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>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>pixels_inside_wrap</parameter>&nbsp;:</entry>
<entry> default number of pixels between wrapped lines
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-pixels-inside-wrap">gtk_text_view_get_pixels_inside_wrap ()</title>
<programlisting><link linkend="gint">gint</link>        gtk_text_view_get_pixels_inside_wrap
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);</programlisting>
<para>
Gets the value set by <link linkend="gtk-text-view-set-pixels-inside-wrap">gtk_text_view_set_pixels_inside_wrap</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> default number of pixels of blank space between wrapped lines
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-set-justification">gtk_text_view_set_justification ()</title>
<programlisting>void        gtk_text_view_set_justification (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="GtkJustification">GtkJustification</link> justification);</programlisting>
<para>
Sets the default justification of text in <parameter>text_view</parameter>.
Tags in the view's buffer may override the default.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>justification</parameter>&nbsp;:</entry>
<entry> justification
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-justification">gtk_text_view_get_justification ()</title>
<programlisting><link linkend="GtkJustification">GtkJustification</link> gtk_text_view_get_justification
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);</programlisting>
<para>
Gets the default justification of paragraphs in <parameter>text_view</parameter>.
Tags in the buffer may override the default.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> default justification
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-set-left-margin">gtk_text_view_set_left_margin ()</title>
<programlisting>void        gtk_text_view_set_left_margin   (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gint">gint</link> left_margin);</programlisting>
<para>
Sets the default left margin for text in <parameter>text_view</parameter>.
Tags in the buffer may override the default.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>left_margin</parameter>&nbsp;:</entry>
<entry> left margin in pixels
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-left-margin">gtk_text_view_get_left_margin ()</title>
<programlisting><link linkend="gint">gint</link>        gtk_text_view_get_left_margin   (<link linkend="GtkTextView">GtkTextView</link> *text_view);</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>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> left margin in pixels
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-set-right-margin">gtk_text_view_set_right_margin ()</title>
<programlisting>void        gtk_text_view_set_right_margin  (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gint">gint</link> right_margin);</programlisting>
<para>
Sets the default right margin for text in the text view.
Tags in the buffer may override the default.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>right_margin</parameter>&nbsp;:</entry>
<entry> right margin in pixels
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-right-margin">gtk_text_view_get_right_margin ()</title>
<programlisting><link linkend="gint">gint</link>        gtk_text_view_get_right_margin  (<link linkend="GtkTextView">GtkTextView</link> *text_view);</programlisting>
<para>
Gets the default right margin for text in <parameter>text_view</parameter>. Tags
in the buffer may override the default.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> right margin in pixels
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-set-indent">gtk_text_view_set_indent ()</title>
<programlisting>void        gtk_text_view_set_indent        (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="gint">gint</link> indent);</programlisting>
<para>
Sets the default indentation for paragraphs in <parameter>text_view</parameter>.
Tags in the buffer may override the default.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>indent</parameter>&nbsp;:</entry>
<entry> indentation in pixels
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-indent">gtk_text_view_get_indent ()</title>
<programlisting><link linkend="gint">gint</link>        gtk_text_view_get_indent        (<link linkend="GtkTextView">GtkTextView</link> *text_view);</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>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> number of pixels of indentation
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-set-tabs">gtk_text_view_set_tabs ()</title>
<programlisting>void        gtk_text_view_set_tabs          (<link linkend="GtkTextView">GtkTextView</link> *text_view,
                                             <link linkend="PangoTabArray">PangoTabArray</link> *tabs);</programlisting>
<para>
Sets the default tab stops for paragraphs in <parameter>text_view</parameter>.
Tags in the buffer may override the default.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><parameter>tabs</parameter>&nbsp;:</entry>
<entry> tabs as a <link linkend="PangoTabArray">PangoTabArray</link>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-tabs">gtk_text_view_get_tabs ()</title>
<programlisting><link linkend="PangoTabArray">PangoTabArray</link>* gtk_text_view_get_tabs       (<link linkend="GtkTextView">GtkTextView</link> *text_view);</programlisting>
<para>
Gets the default tabs for <parameter>text_view</parameter>. Tags in the buffer may
override the defaults. The returned array will be <literal>NULL</literal> if
"standard" (8-space) tabs are used. Free the return value
with <link linkend="pango-tab-array-free">pango_tab_array_free</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> copy of default tab array, or <literal>NULL</literal> if "standard" tabs are used; must be freed with <link linkend="pango-tab-array-free">pango_tab_array_free</link>().
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-text-view-get-default-attributes">gtk_text_view_get_default_attributes ()</title>
<programlisting><link linkend="GtkTextAttributes">GtkTextAttributes</link>* gtk_text_view_get_default_attributes
                                            (<link linkend="GtkTextView">GtkTextView</link> *text_view);</programlisting>
<para>
Obtains a copy of the default text attributes. These are the
attributes used for text unless a tag overrides them.
You'd typically pass the default attributes in to
<link linkend="gtk-text-iter-get-attributes">gtk_text_iter_get_attributes</link>() in order to get the
attributes in effect at a given text position.
</para>
<para>
The return value is a copy owned by the caller of this function,
and should be freed.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>text_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTextView">GtkTextView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a new <link linkend="GtkTextAttributes">GtkTextAttributes</link>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GTK-TEXT-VIEW-PRIORITY-VALIDATE-CAPS">GTK_TEXT_VIEW_PRIORITY_VALIDATE</title>
<programlisting>#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>
<title>Properties</title>
<variablelist>
<varlistentry><term><anchor id="GtkTextView--pixels-above-lines">&quot;<literal>pixels-above-lines</literal>&quot; (<link linkend="gint">gint</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTextView--pixels-below-lines">&quot;<literal>pixels-below-lines</literal>&quot; (<link linkend="gint">gint</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTextView--pixels-inside-wrap">&quot;<literal>pixels-inside-wrap</literal>&quot; (<link linkend="gint">gint</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTextView--editable">&quot;<literal>editable</literal>&quot; (<link linkend="gboolean">gboolean</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTextView--wrap-mode">&quot;<literal>wrap-mode</literal>&quot; (<link linkend="GtkWrapMode">GtkWrapMode</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTextView--justification">&quot;<literal>justification</literal>&quot; (<link linkend="GtkJustification">GtkJustification</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTextView--left-margin">&quot;<literal>left-margin</literal>&quot; (<link linkend="gint">gint</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTextView--right-margin">&quot;<literal>right-margin</literal>&quot; (<link linkend="gint">gint</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTextView--indent">&quot;<literal>indent</literal>&quot; (<link linkend="gint">gint</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTextView--tabs">&quot;<literal>tabs</literal>&quot; (<link linkend="PangoTabArray">PangoTabArray</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTextView--cursor-visible">&quot;<literal>cursor-visible</literal>&quot; (<link linkend="gboolean">gboolean</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>

</variablelist>
</refsect1>

<refsect1>
<title>Signals</title>
<refsect2><title><anchor id="GtkTextView-copy-clipboard">The &quot;copy-clipboard&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>textview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTextView-cut-clipboard">The &quot;cut-clipboard&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>textview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTextView-delete-from-cursor">The &quot;delete-from-cursor&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="GtkDeleteType">GtkDeleteType</link> arg1,
                                            <link linkend="gint">gint</link> arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>textview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg2</parameter>&nbsp;:</entry>
<entry>

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTextView-insert-at-cursor">The &quot;insert-at-cursor&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gchar">gchar</link> *arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>textview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTextView-move-cursor">The &quot;move-cursor&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="GtkMovementStep">GtkMovementStep</link> arg1,
                                            <link linkend="gint">gint</link> arg2,
                                            <link linkend="gboolean">gboolean</link> arg3,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>textview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg2</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg3</parameter>&nbsp;:</entry>
<entry>

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTextView-move-focus">The &quot;move-focus&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="GtkDirectionType">GtkDirectionType</link> arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>textview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTextView-page-horizontally">The &quot;page-horizontally&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gint">gint</link> arg1,
                                            <link linkend="gboolean">gboolean</link> arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>textview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg2</parameter>&nbsp;:</entry>
<entry>

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTextView-paste-clipboard">The &quot;paste-clipboard&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>textview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTextView-populate-popup">The &quot;populate-popup&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="GtkMenu">GtkMenu</link> *arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>textview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTextView-set-anchor">The &quot;set-anchor&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>textview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTextView-set-scroll-adjustments">The &quot;set-scroll-adjustments&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="GtkAdjustment">GtkAdjustment</link> *arg1,
                                            <link linkend="GtkAdjustment">GtkAdjustment</link> *arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>textview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg2</parameter>&nbsp;:</entry>
<entry>

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTextView-toggle-overwrite">The &quot;toggle-overwrite&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTextView">GtkTextView</link> *textview,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>textview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2>
</refsect1>


<refsect1>
<title>See Also</title>
<para>
<link linkend="GtkTextBuffer">GtkTextBuffer</link>, <link linkend="GtkTextIter">GtkTextIter</link>
</para>
</refsect1>

</refentry>
