<?xml version="1.0" standalone="no"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<refentry id="class-gtktextview">
  <refnamediv>
    <refname>gtk.TextView</refname>
    <refpurpose>a widget that displays the contents of a <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link></refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>gtk.TextView</classname></ooclass>
      <ooclass><classname><link
linkend="class-gtkcontainer">gtk.Container</link></classname></ooclass>
      <constructorsynopsis language="python">
	<methodname><link
linkend="constructor-gtktextview">gtk.TextView</link></methodname>
	<methodparam><parameter
		       role="keyword">buffer</parameter><initializer>None</initializer></methodparam>
      </constructorsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--set-buffer">set_buffer</link></methodname>
	<methodparam><parameter
		       role="keyword">buffer</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-buffer">get_buffer</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--scroll-to-iter">scroll_to_iter</link></methodname>
	<methodparam><parameter
		       role="keyword">iter</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">within_margin</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">use_align</parameter><initializer>False</initializer></methodparam>
	<methodparam><parameter
		       role="keyword">xalign</parameter><initializer>0.5</initializer></methodparam>
	<methodparam><parameter
		       role="keyword">yalign</parameter><initializer>0.5</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--scroll-to-mark">scroll_to_mark</link></methodname>
	<methodparam><parameter
		       role="keyword">mark</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">within_margin</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">use_align</parameter><initializer>False</initializer></methodparam>
	<methodparam><parameter
		       role="keyword">xalign</parameter><initializer>0.5</initializer></methodparam>
	<methodparam><parameter
		       role="keyword">yalign</parameter><initializer>0.5</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--scroll-mark-onscreen">scroll_mark_onscreen</link></methodname>
	<methodparam><parameter
		       role="keyword">mark</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--move-mark-onscreen">move_mark_onscreen</link></methodname>
	<methodparam><parameter
		       role="keyword">mark</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--place-cursor-onscreen">place_cursor_onscreen</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-visible-rect">get_visible_rect</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--set-cursor-visible">set_cursor_visible</link></methodname>
	<methodparam><parameter
		       role="keyword">setting</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-cursor-visible">get_cursor_visible</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-iter-location">get_iter_location</link></methodname>
	<methodparam><parameter
		       role="keyword">iter</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-iter-at-location">get_iter_at_location</link></methodname>
	<methodparam><parameter role="keyword">x</parameter></methodparam>
	<methodparam><parameter role="keyword">y</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-line-yrange">get_line_yrange</link></methodname>
	<methodparam><parameter
		       role="keyword">iter</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-line-at-y">get_line_at_y</link></methodname>
	<methodparam><parameter
		       role="keyword">target_iter</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--buffer-to-window-coords">buffer_to_window_coords</link></methodname>
	<methodparam><parameter role="keyword">win</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">buffer_x</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">buffer_y</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--window-to-buffer-coords">window_to_buffer_coords</link></methodname>
	<methodparam><parameter role="keyword">win</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">window_x</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">window_y</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-window">get_window</link></methodname>
	<methodparam><parameter role="keyword">win</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-window-type">get_window_type</link></methodname>
	<methodparam><parameter
		       role="keyword">window</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--set-border-window-size">set_border_window_size</link></methodname>
	<methodparam><parameter
		       role="keyword">type</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">size</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-border-window-size">get_border_window_size</link></methodname>
	<methodparam><parameter
		       role="keyword">type</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--forward-display-line">forward_display_line</link></methodname>
	<methodparam><parameter
		       role="keyword">iter</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--backward-display-line">backward_display_line</link></methodname>
	<methodparam><parameter
		       role="keyword">iter</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--forward-display-line-end">forward_display_line_end</link></methodname>
	<methodparam><parameter
		       role="keyword">iter</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--backward-display-line-start">backward_display_line_start</link></methodname>
	<methodparam><parameter
		       role="keyword">iter</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--starts-display-line">starts_display_line</link></methodname>
	<methodparam><parameter
		       role="keyword">iter</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--move-visually">move_visually</link></methodname>
	<methodparam><parameter
		       role="keyword">iter</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">count</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--add-child-at-anchor">add_child_at_anchor</link></methodname>
	<methodparam><parameter
		       role="keyword">child</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">anchor</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--add-child-in-window">add_child_in_window</link></methodname>
	<methodparam><parameter
		       role="keyword">child</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">which_window</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">xpos</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">ypos</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--move-child">move_child</link></methodname>
	<methodparam><parameter
		       role="keyword">child</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">xpos</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">ypos</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--set-wrap-mode">set_wrap_mode</link></methodname>
	<methodparam><parameter
		       role="keyword">wrap_mode</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-wrap-mode">get_wrap_mode</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--set-editable">set_editable</link></methodname>
	<methodparam><parameter
		       role="keyword">setting</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-editable">get_editable</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>

      <methodsynopsis language="python">
	<methodname><link linkend="method-gtktextview--set-overwrite">set_overwrite</link></methodname>
	<methodparam><parameter
		       role="keyword">overwrite</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtktextview--get-overwrite">get_overwrite</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtktextview--set-accepts-tab">set_accepts_tab</link></methodname>
	<methodparam><parameter
		       role="keyword">accepts_tab</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtktextview--get-accepts-tab">get_accepts_tab</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>

      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--set-pixels-above-lines">set_pixels_above_lines</link></methodname>
	<methodparam><parameter
		       role="keyword">pixels_above_lines</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-pixels-above-lines">get_pixels_above_lines</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--set-pixels-below-lines">set_pixels_below_lines</link></methodname>
	<methodparam><parameter
		       role="keyword">pixels_below_lines</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-pixels-below-lines">get_pixels_below_lines</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--set-pixels-inside-wrap">set_pixels_inside_wrap</link></methodname>
	<methodparam><parameter
		       role="keyword">pixels_inside_wrap</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-pixels-inside-wrap">get_pixels_inside_wrap</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--set-justification">set_justification</link></methodname>
	<methodparam><parameter
		       role="keyword">justification</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-justification">get_justification</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--set-left-margin">set_left_margin</link></methodname>
	<methodparam><parameter
		       role="keyword">left_margin</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-left-margin">get_left_margin</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--set-right-margin">set_right_margin</link></methodname>
	<methodparam><parameter
		       role="keyword">right_margin</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-right-margin">get_right_margin</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--set-indent">set_indent</link></methodname>
	<methodparam><parameter
		       role="keyword">indent</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-indent">get_indent</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--set-tabs">set_tabs</link></methodname>
	<methodparam><parameter
		       role="keyword">tabs</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-tabs">get_tabs</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview--get-default-attributes">get_default_attributes</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
<!-- NOT IMPLEMENTED
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtktextview- -get-iter-at-position">get_iter_at_position</link></methodname>
	<methodparam><parameter role="keyword">x</parameter></methodparam>
	<methodparam><parameter role="keyword">y</parameter></methodparam>
      </methodsynopsis>
END OF NOT IMPLEMENTED -->
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtktextview--get-hadjustment">get_hadjustment</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtktextview--get-vadjustment">get_vadjustment</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <!--<methodsynopsis language="python">
        <methodname><link linkend="method-gtktextview- -im-context-filter-keypress">im_context_filter_keypress</link></methodname>
        <methodparam><parameter role="keyword">event</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtktextview- -reset-im-context">reset_im_context</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>-->
    </classsynopsis>

  </refsect1>

  <refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
  +-- <link linkend="class-gtkobject">gtk.Object</link>
    +-- <link linkend="class-gtkwidget">gtk.Widget</link>
      +-- <link linkend="class-gtkcontainer">gtk.Container</link>
        +-- <link linkend="class-gtktextview">gtk.TextView</link>
</synopsis>

  </refsect1>
  
  <refsect1>
		<title>Implemented Interfaces</title>
		<para>
			<link linkend="class-gtktextview"><classname>gtk.TextView</classname></link>
			implements 
			<link linkend="class-gtkbuildable"><classname>gtk.Buildable</classname></link>
		</para>
	</refsect1>


  <refsect1 id="properties-gtktextview">
    <title>gtk.TextView Properties</title>

    <para><link linkend="properties-gtkobject">gtk.Object Properties</link></para>
    <para><link linkend="properties-gtkwidget">gtk.Widget Properties</link></para>
    <para><link linkend="properties-gtkcontainer">gtk.Container Properties</link></para>

    <blockquote role="properties">
      <informaltable pgwide="1" frame="none">
	<tgroup cols="3">
	  <colspec column="1" colwidth="1in"/>
	  <colspec column="2" colwidth="1in"/>
	  <colspec column="3" colwidth="4in"/>
	  <tbody>

	    <row valign="top">
	      <entry>"accepts-tab"</entry>
	      <entry>Read-Write</entry>

	      <entry>If <literal>True</literal>, pressing
<keycap>Tab</keycap> will result in a tab character being entered; otherwise
the focus will be moved. Available in GTK+ 2.4 and above.</entry>
	    </row>

	    <row valign="top">
	      <entry>"buffer"</entry>
	      <entry>Read-Write</entry>

	      <entry>The buffer that is displayed. Available in GTK+ 2.4 and
above.</entry>
	    </row>

	    <row valign="top">
	      <entry>"cursor-visible"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the insertion cursor is
shown</entry>
	    </row>

	    <row valign="top">
	      <entry>"editable"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the text can be modified by
the user by default</entry>
	    </row>

	    <row valign="top">
	      <entry>"indent"</entry>
	      <entry>Read-Write</entry>
	      <entry>The default amount to indent the paragraph, in
pixels</entry>
	    </row>

	    <row valign="top">
	      <entry>"justification"</entry>
	      <entry>Read-Write</entry>
	      <entry>The default text justification:
<literal>gtk.JUSTIFY_LEFT</literal>, <literal>gtk.JUSTIFY_RIGHT</literal>,
<literal>gtk.JUSTIFY_CENTER</literal> or
<literal>gtk.JUSTIFY_FILL</literal></entry>
	    </row>

	    <row valign="top">
	      <entry>"left-margin"</entry>
	      <entry>Read-Write</entry>
	      <entry>The default width of the left margin in pixels</entry>
	    </row>

	    <row valign="top">
	      <entry>"overwrite"</entry>
	      <entry>Read-Write</entry>

	      <entry>If <literal>True</literal>, the entered text overwrites
	      existing contents. Available in GTK+ 2.4 and above.</entry>
	    </row>

	    <row valign="top">
	      <entry>"pixels-above-lines"</entry>
	      <entry>Read-Write</entry>
	      <entry>The default number of pixels of blank space above
paragraphs</entry>
	    </row>

	    <row valign="top">
	      <entry>"pixels-below-lines"</entry>
	      <entry>Read-Write</entry>
	      <entry>The default number of pixels of blank space below
paragraphs</entry>
	    </row>

	    <row valign="top">
	      <entry>"pixels-inside-wrap"</entry>
	      <entry>Read-Write</entry>
	      <entry>The default number of pixels of blank space between
wrapped lines in a paragraph</entry>
	    </row>

	    <row valign="top">
	      <entry>"right-margin"</entry>
	      <entry>Read-Write</entry>
	      <entry>The default width of the right margin in pixels</entry>
	    </row>

	    <row valign="top">
	      <entry>"tabs"</entry>
	      <entry>Read-Write</entry>
	      <entry>The default custom tabs</entry>
	    </row>

	    <row valign="top">
	      <entry>"wrap-mode"</entry>
	      <entry>Read-Write</entry>
	      <entry>The default wrap mode:
<literal>gtk.WRAP_NONE</literal>, <literal>gtk.WRAP_CHAR</literal> or
<literal>gtk.WRAP_WORD</literal></entry>
	    </row>

	  </tbody>
	</tgroup>
      </informaltable>
    </blockquote>

  </refsect1>

  <refsect1 id="style-properties-gtktextview">
    <title>gtk.TextView Style Properties</title>

    <para><link linkend="style-properties-gtkwidget">gtk.Widget Style Properties</link></para>

    <blockquote role="properties">
      <informaltable pgwide="1" frame="none">
	<tgroup cols="3">
	  <colspec column="1" colwidth="1in"/>
	  <colspec column="2" colwidth="1in"/>
	  <colspec column="3" colwidth="4in"/>
	  <tbody>

	    <row valign="top">
	      <entry>"error-underline-color"</entry>
	      <entry>Read-Write</entry>

	      <entry>The <link
linkend="class-gdkcolor"><classname>gtk.gdk.Color</classname></link> with
which to draw error-indication underlines. Available in GTK+ 2.4 and
above.</entry>
	    </row>

	  </tbody>
	</tgroup>
      </informaltable>
    </blockquote>

  </refsect1>

  <refsect1 id="signal-prototypes-gtktextview">
    <title>gtk.TextView Signal Prototypes</title>

    <para><link linkend="signal-prototypes-gobject">gobject.GObject Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkobject">gtk.Object Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkwidget">gtk.Widget Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkcontainer">gtk.Container Signal Prototypes</link></para>

    <variablelist>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--backspace">backspace</link></term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--copy-clipboard">copy-clipboard</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--cut-clipboard">cut-clipboard</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--delete-from-cursor">delete-from-cursor</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>delete_type</parameter></methodparam>
            <methodparam><parameter>count</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--insert-at-cursor">insert-at-cursor</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>string</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--move-cursor">move-cursor</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>step_size</parameter></methodparam>
            <methodparam><parameter>count</parameter></methodparam>
            <methodparam><parameter>extend_selection</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--move-focus">move-focus</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>direction</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--move-viewport">move-viewport</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>scrollstep</parameter></methodparam>
            <methodparam><parameter>count</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--page-horizontally">page-horizontally</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>count</parameter></methodparam>
            <methodparam><parameter>extend_selection</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--paste-clipboard">paste-clipboard</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--populate-popup">populate-popup</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>menu</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--select-all">select-all</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>select</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--set-anchor">set-anchor</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--set-scroll-adjustments">set-scroll-adjustments</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>hadjustment</parameter></methodparam>
            <methodparam><parameter>vadjustment</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtktextview--toggle-overwrite">toggle-overwrite</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>textview</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
    </variablelist>

  </refsect1>

  <refsect1 id="description-gtktextview">
    <title>Description</title>

    <para>A <link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link>
widget provides the display for the contents of a <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link>
object. A textview provides a set of attributes for the default display of
text from a textbuffer. The attributes set by <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> objects
override the attributes set on a <link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link>
widget. Since a <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link>
can be associated with multiple <link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link>
widgets each having a different set of default attributes, the display of
the same text in different textview widgets can be quite different except
for those attributes that are overridden by texttags.</para>

    <para>A <link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link>
widget has several <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>
widgets most of which are not displayed by default:</para>

    <variablelist>
      <varlistentry>
        <term><literal>gtk.TEXT_WINDOW_WIDGET</literal></term>
        <listitem>
	  <simpara>The widget window</simpara>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><literal>gtk.TEXT_WINDOW_TEXT</literal></term>
        <listitem>
	  <simpara>The window that holds the text</simpara>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><literal>gtk.TEXT_WINDOW_LEFT</literal></term>
        <listitem>
	  <simpara>The left border window - not displayed by
default</simpara>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><literal>gtk.TEXT_WINDOW_RIGHT</literal></term>
        <listitem>
	  <simpara>The right border window - not displayed by
default</simpara>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><literal>gtk.TEXT_WINDOW_TOP</literal></term>
        <listitem>
	  <simpara>The top border window - not displayed by
default</simpara>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><literal>gtk.TEXT_WINDOW_BOTTOM</literal></term>
        <listitem>
	  <simpara>The bottom border window - not displayed by
default</simpara>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><literal>gtk.TEXT_WINDOW_PRIVATE</literal></term>
        <listitem>
	  <simpara>An internal inaccessible <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link></simpara>
        </listitem>
      </varlistentry>
    </variablelist>

    <para>The border windows are not created until they are given a size by
using the <link
linkend="method-gtktextview--set-border-window-size"><methodname>set_border_window_size</methodname>()</link> 
method.</para>

    <para>Depending on the wrap mode of the textview a textbuffer line may be
displayed as more than one screen display line. The textview has methods to
navigate through the display lines.</para>

    <para>A <link
linkend="class-gtktextchildanchor"><classname>gtk.TextChildAnchor</classname></link> 
in a <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link>
provides a place for a <literal>PyGTK</literal> widget to be placed in a
<link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link>. Each
textview displaying the same textbuffer with a child anchor must have a
different widget placed at that child anchor. In addition, a widget can be
placed at a specific location in one of the above <link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link>
windows using the <link
linkend="method-gtktextview--add-child-in-window"><methodname>add_child_in_window</methodname>()</link> 
method. The widget will be clipped to the window boundaries if it is larger
than the window or located where it extends beyond the window
boundaries.</para>

    <para>A <link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link> has a
default popup menu that includes the usual cut, copy and paste
capabilities. In PyGTK 2.2 <link
linkend="class-gtkclipboard"><classname>gtk.Clipboard</classname></link>
objects are supported so your program can access the contents of the cut,
copy and paste clipboard through the
<literal>gdk.SELECTION_CLIPBOARD</literal> clipboard. Also the selected text
in a <link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link> is
available on the <literal>gdk.SELECTION_PRIMARY</literal> clipboard.</para>

  </refsect1>

  <refsect1 id="constructor-gtktextview">
    <title>Constructor</title>

    <programlisting><constructorsynopsis language="python">
	<methodname>gtk.TextView</methodname>
	<methodparam><parameter
		       role="keyword">buffer</parameter><initializer>None</initializer></methodparam>
      </constructorsynopsis></programlisting>
    <variablelist>
      <varlistentry>
	<term><parameter role="keyword">buffer</parameter>&nbsp;:</term>
	<listitem><simpara>a <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link>
or <literal>None</literal></simpara></listitem>
      </varlistentry>
      <varlistentry>
	<term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara>a new <link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link>.</simpara></listitem>
      </varlistentry>
    </variablelist>

    <para>Creates a new <link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link>
widget displaying the <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link>
specified by <parameter>buffer</parameter>. If <parameter>buffer</parameter>
is <literal>None</literal>, a new <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link>
will be created. One textbuffer can be shared among many widgets.</para>

  </refsect1>

  <refsect1>
    <title>Methods</title>

  <refsect2 id="method-gtktextview--set-buffer">
      <title>gtk.TextView.set_buffer</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_buffer</methodname>
	  <methodparam><parameter
			 role="keyword">buffer</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">buffer</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_buffer</methodname>() method sets the <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link>
specified by <parameter>buffer</parameter> as the textbuffer being displayed
by the textview.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-buffer">
      <title>gtk.TextView.get_buffer</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_buffer</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_buffer</methodname>() method returns the
<link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link>
being displayed by this textview.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--scroll-to-iter">
      <title>gtk.TextView.scroll_to_iter</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>scroll_to_iter</methodname>
	  <methodparam><parameter
			 role="keyword">iter</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">within_margin</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">use_align</parameter><initializer>False</initializer></methodparam>
	  <methodparam><parameter
			 role="keyword">xalign</parameter><initializer>0.5</initializer></methodparam>
	  <methodparam><parameter
			 role="keyword">yalign</parameter><initializer>0.5</initializer></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">iter</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link>
object</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">within_margin</parameter>&nbsp;:</term>
	  <listitem><simpara>the margin as a [0.0,0.5) fraction of screen
size</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">use_align</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal> use the alignment
arguments; if <literal>False</literal>, just get <parameter>iter</parameter>
on screen</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">xalign</parameter>&nbsp;:</term>
	  <listitem><simpara>the horizontal alignment of
<parameter>iter</parameter> within visible area.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">yalign</parameter>&nbsp;:</term>
	  <listitem><simpara>the vertical alignment of
<parameter>iter</parameter> within visible area</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if scrolling
occurred</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>scroll_to_iter</methodname>() method scrolls the
textview so that the <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link>
location specified by <parameter>iter</parameter> is on the screen in the
position indicated by <parameter>xalign</parameter> and
<parameter>yalign</parameter>. If <parameter>use_align</parameter> is
<literal>True</literal> the alignments specify the fraction of screen space
to the left of or above the location of <parameter>iter</parameter>. If
<parameter>use_align</parameter> is <literal>False</literal>, the text
scrolls the minimal distance to get <parameter>iter</parameter> on screen,
possibly not scrolling at all. The effective screen for purposes of this
method is reduced by a margin of size specified by
<parameter>within_margin</parameter>.</para>

      <note>
	<para>This method uses the currently-computed height of the lines in
the text buffer. The line heights are computed in an idle handler so this
method may not have the desired effect if it's called before the height
computations are complete. To avoid oddness, consider using the <link
linkend="method-gtktextview--scroll-to-mark"><methodname>scroll_to_mark</methodname>()</link> 
method that saves a point to be scrolled to after line validation.</para>
      </note>

    </refsect2>

    <refsect2 id="method-gtktextview--scroll-to-mark">
      <title>gtk.TextView.scroll_to_mark</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>scroll_to_mark</methodname>
	  <methodparam><parameter
			 role="keyword">mark</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">within_margin</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">use_align</parameter><initializer>False</initializer></methodparam>
	  <methodparam><parameter
			 role="keyword">xalign</parameter><initializer>0.5</initializer></methodparam>
	  <methodparam><parameter
			 role="keyword">yalign</parameter><initializer>0.5</initializer></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">mark</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextmark"><classname>gtk.TextMark</classname></link>
object</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">within_margin</parameter>&nbsp;:</term>
	  <listitem><simpara>the margin as a [0.0,0.5) fraction of screen
size</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">use_align</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal> use the alignment
arguments; if <literal>False</literal>, just get <parameter>mark</parameter>
on screen</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">xalign</parameter>&nbsp;:</term>
	  <listitem><simpara>the horizontal alignment of
<parameter>mark</parameter> within the visible area.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">yalign</parameter>&nbsp;:</term>
	  <listitem><simpara>the vertical alignment of
<parameter>mark</parameter> within the visible area</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>scroll_to_mark</methodname>() method scrolls the
textview so that the <link
linkend="class-gtktextmark"><classname>gtk.TextMark</classname></link>
location specified by <parameter>mark</parameter> is on the screen in the
position specified by <parameter>xalign</parameter> and
<parameter>yalign</parameter>. If <parameter>use_align</parameter> is
<literal>True</literal> the alignments specify the fraction of screen space
to the left of or above the location of <parameter>mark</parameter>. If
<parameter>use_align</parameter> is <literal>False</literal>, the text
scrolls the minimal distance to get <parameter>mark</parameter> on screen,
possibly not scrolling at all. The effective screen for purposes of this
function is reduced by a margin of size specified by
<parameter>within_margin</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--scroll-mark-onscreen">
      <title>gtk.TextView.scroll_mark_onscreen</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>scroll_mark_onscreen</methodname>
	  <methodparam><parameter
			 role="keyword">mark</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">mark</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextmark"><classname>gtk.TextMark</classname></link> in
the textbuffer for textview</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>scroll_mark_onscreen</methodname>() method
scrolls the textview the minimum distance to place the <link
linkend="class-gtktextmark"><classname>gtk.TextMark</classname></link>
location specified by <parameter>mark</parameter> within the visible area of
the widget.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--move-mark-onscreen">
      <title>gtk.TextView.move_mark_onscreen</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>move_mark_onscreen</methodname>
	  <methodparam><parameter
			 role="keyword">mark</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">mark</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextmark"><classname>gtk.TextMark</classname></link>
object</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if
<parameter>mark</parameter> moved (wasn't already
on screen)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>move_mark_onscreen</methodname>() moves the
<link linkend="class-gtktextmark"><classname>gtk.TextMark</classname></link>
location specified by <parameter>mark</parameter> to a location within the
currently-visible text area of the textview.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--place-cursor-onscreen">
      <title>gtk.TextView.place_cursor_onscreen</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>place_cursor_onscreen</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>True if the cursor had to be
moved.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>place_cursor_onscreen</methodname>() method
moves the cursor to a new location within the currently visible region of
the buffer, if it isn't there already.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-visible-rect">
      <title>gtk.TextView.get_visible_rect</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_visible_rect</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gdkrectangle"><classname>gtk.gdk.Rectangle</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_visible_rect</methodname>() method returns a
<link
linkend="class-gdkrectangle"><classname>gtk.gdk.Rectangle</classname></link>
containing the coordinates of the currently-visible region of the buffer.
The rectangle is in buffer coordinates that can be converted to window
coordinates with the <link
linkend="method-gtktextview--buffer-to-window-coords"><methodname>buffer_to_window_coords</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-cursor-visible">
      <title>gtk.TextView.set_cursor_visible</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_cursor_visible</methodname>
	  <methodparam><parameter
			 role="keyword">setting</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">setting</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal> show the insertion
cursor</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_cursor_visible</methodname>() method sets
the "cursor-visible" property to the value of
<parameter>setting</parameter>. If <parameter>setting</parameter> is
<literal>True</literal> the cursor is visible; if <literal>False</literal>,
it is not. A buffer with no editable text probably shouldn't have a visible
cursor, so you may want to turn the cursor off.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-cursor-visible">
      <title>gtk.TextView.get_cursor_visible</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_cursor_visible</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the insertion mark
is visible</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_cursor_visible</methodname>() method returns
the value of the "cursor-visible" property that determines if the insertion
point is visible.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-iter-location">
      <title>gtk.TextView.get_iter_location</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_iter_location</methodname>
	  <methodparam><parameter
			 role="keyword">iter</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">iter</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gdkrectangle"><classname>gtk.gdk.Rectangle</classname></link>
containing the bounds of the character at
<parameter>iter</parameter></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_iter_location</methodname>() method returns
a <link
linkend="class-gdkrectangle"><classname>gtk.gdk.Rectangle</classname></link>
that contains the character at the location specified by
<parameter>iter</parameter>. The rectangle position is in buffer coordinates
that can be converted to window coordinates with the <link
linkend="method-gtktextview--buffer-to-window-coords"><methodname>buffer_to_window_coords</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-iter-at-location">
      <title>gtk.TextView.get_iter_at_location</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_iter_at_location</methodname>
	  <methodparam><parameter role="keyword">x</parameter></methodparam>
	  <methodparam><parameter role="keyword">y</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">x</parameter>&nbsp;:</term>
	  <listitem><simpara>x position, in buffer
coordinates</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">y</parameter>&nbsp;:</term>
	  <listitem><simpara>y position, in buffer
coordinates</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_iter_at_location</methodname>() method
returns a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link> that
points at the location specified by the buffer coordinates
<parameter>x</parameter> and <parameter>y</parameter>. Buffer coordinates
are coordinates for the entire buffer, not just the currently-displayed
portion.  Window coordinates from an event, must be converted to buffer
coordinates with the <link
linkend="method-gtktextview--window-to-buffer-coords"><methodname>window_to_buffer_coords</methodname>()</link> 
method before using them with this method.</para>

    </refsect2>

<!-- NOT IMPLEMENTED
    <refsect2 id="method-gtktextview- -get-iter-at-position">
      <title>gtk.TextView.get_iter_at_position</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_iter_at_position</methodname>
	  <methodparam><parameter role="keyword">x</parameter></methodparam>
	  <methodparam><parameter role="keyword">y</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">x</parameter>&nbsp;:</term>
	  <listitem><simpara>x position, in buffer
coordinates</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">y</parameter>&nbsp;:</term>
	  <listitem><simpara>y position, in buffer
coordinates</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a 2-tuple containing a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link> and
an integer indicating where in the grapheme the user clicked. It will either
be zero, or the number of characters in the grapheme. 0 represents the
trailing edge of the grapheme.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.8 and above.</para>
      </note>

      <para>The <methodname>get_iter_at_position</methodname>() method
returns a 2-tuple containing a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link> that
points at the location specified by the buffer coordinates
<parameter>x</parameter> and <parameter>y</parameter> and an integer
indicating where in the grapheme the user clicked. It will either be zero,
or the number of characters in the grapheme. 0 represents the trailing edge
of the grapheme.</para>

      <para>Buffer coordinates are coordinates for the entire buffer, not
just the currently-displayed portion.  Window coordinates from an event,
must be converted to buffer coordinates with the <link
linkend="method-gtktextview- -window-to-buffer-coords"><methodname>window_to_buffer_coords</methodname>()</link>
method before using them with this method.</para>

      <para>Note that this method is different from the <link
linkend="method-gtktextview- -get-iter-at-location"><methodname>get_iter_at_location</methodname>()</link>
method that returns cursor locations, i.e. positions between
characters.</para>

    </refsect2>
END OF NOT IMPLEMENTED -->

    <refsect2 id="method-gtktextview--get-line-yrange">
      <title>gtk.TextView.get_line_yrange</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_line_yrange</methodname>
	  <methodparam><parameter
			 role="keyword">iter</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">iter</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a tuple containing a y coordinate and a
height</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_line_yrange</methodname>() method locates
the line containing the <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link>
specified by <parameter>iter</parameter> and returns a tuple containing the
y coordinate of the top of the line and the height of the line. The
coordinate is a buffer coordinate that can be converted to window
coordinates with the <link
linkend="method-gtktextview--buffer-to-window-coords"><methodname>buffer_to_window_coords</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-line-at-y">
      <title>gtk.TextView.get_line_at_y</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_line_at_y</methodname>
	  <methodparam><parameter role="keyword">y</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">y</parameter>&nbsp;:</term>
	  <listitem><simpara>a y coordinate</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a tuple containing a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link>
pointing at the line start and the top coordinate of the
line</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_line_at_y</methodname>() method returns a
tuple containing:</para>

      <itemizedlist>
	<listitem>
	  <simpara>a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link>
pointing at the start of the line with the vertical coordinate specified by
<parameter>y</parameter> and,</simpara>
	</listitem>
	<listitem>
	  <simpara>the vertical coordinate of the top edge of the
line.</simpara>
	</listitem>
      </itemizedlist>

      <para><parameter>y</parameter> is in buffer coordinates that can be
converted from window coordinates with the <link
linkend="method-gtktextview--window-to-buffer-coords"><methodname>window_to_buffer_coords</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--buffer-to-window-coords">
      <title>gtk.TextView.buffer_to_window_coords</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>buffer_to_window_coords</methodname>
	  <methodparam><parameter
			 role="keyword">win</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">buffer_x</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">buffer_y</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">win</parameter>&nbsp;:</term>
	  <listitem><simpara>one of the textview windows except
<literal>gtk.TEXT_WINDOW_PRIVATE</literal></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">buffer_x</parameter>&nbsp;:</term>
	  <listitem><simpara>buffer x coordinate</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">buffer_y</parameter>&nbsp;:</term>
	  <listitem><simpara>buffer y coordinate</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a tuple containing the window x and y
coordinates</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>buffer_to_window_coords</methodname>() method
returns a tuple containing the x and y coordinates for the window specified
by <parameter>win</parameter> that correspond to the textbuffer coordinates
specified by <parameter>buffer_x</parameter> and
<parameter>buffer_y</parameter>. See the above <link
linkend="description-gtktextview">description</link> for more details on
textview window types.</para>

      <note>
	<para>You can't convert coordinates for a non-existing window (see
the <link
linkend="method-gtktextview--set-border-window-size"><methodname>set_border_window_size</methodname>()</link> 
method).</para>
      </note>

    </refsect2>

    <refsect2 id="method-gtktextview--window-to-buffer-coords">
      <title>gtk.TextView.window_to_buffer_coords</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>window_to_buffer_coords</methodname>
	  <methodparam><parameter
			 role="keyword">win</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">window_x</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">window_y</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">win</parameter>&nbsp;:</term>
	  <listitem><simpara>a textview window except
<literal>gtk.TEXT_WINDOW_PRIVATE</literal></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">window_x</parameter>&nbsp;:</term>
	  <listitem><simpara>window x coordinate</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">window_y</parameter>&nbsp;:</term>
	  <listitem><simpara>window y coordinate</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a tuple containing the textbuffer x and y
coordinates</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>window_to_buffer_coords</methodname>() method
returns a tuple containing the textbuffer x and y coordinates corresponding
to the <parameter>window_x</parameter> and<parameter> window_y</parameter>
coordinates in the window specified by <parameter>win</parameter>, See the
above <link linkend="description-gtktextview">description</link> for more
details on textview window types.</para>

      <note>
	<para>You can't convert coordinates for a non-existing window (see
the <link
linkend="method-gtktextview--set-border-window-size"><methodname>set_border_window_size</methodname>()</link>) 
method.</para>
      </note>

    </refsect2>

    <refsect2 id="method-gtktextview--get-window">
      <title>gtk.TextView.get_window</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_window</methodname>
	  <methodparam><parameter
			 role="keyword">win</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">win</parameter>&nbsp;:</term>
	  <listitem><simpara>a textview window type</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>, or
<literal>None</literal></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_window</methodname>() method returns the
<link linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>
corresponding to an area of the textview specified by
<parameter>win</parameter>:</para>

      <variablelist>
	<varlistentry>
	  <term><literal>gtk.TEXT_WINDOW_WIDGET</literal></term>
	  <listitem>
	    <simpara>The widget window</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.TEXT_WINDOW_TEXT</literal></term>
	  <listitem>
	    <simpara>The window that holds the text</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.TEXT_WINDOW_LEFT</literal></term>
	  <listitem>
	    <simpara>The left border window - not displayed by
default</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.TEXT_WINDOW_RIGHT</literal></term>
	  <listitem>
	    <simpara>The right border window - not displayed by
default</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.TEXT_WINDOW_TOP</literal></term>
	  <listitem>
	    <simpara>The top border window - not displayed by
default</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.TEXT_WINDOW_BOTTOM</literal></term>
	  <listitem>
	    <simpara>The bottom border window - not displayed by
default</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.TEXT_WINDOW_PRIVATE</literal></term>
	  <listitem>
	    <simpara>An internal inaccessible <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link></simpara>
	  </listitem>
	</varlistentry>
      </variablelist>

      <para>This method returns <literal>None</literal> if the window is
nonexistent i.e. if its width or height is 0.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-window-type">
      <title>gtk.TextView.get_window_type</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_window_type</methodname>
	  <methodparam><parameter
			 role="keyword">window</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">window</parameter>&nbsp;:</term>
	  <listitem><simpara>a window type</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the window type.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_window_type</methodname>() method returns
the type of the <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>
specified by <parameter>window</parameter>. This method is used to find out
what window type an event corresponds to. If you connect to an event signal
on the textview, this method can be called on
<literal>event.window</literal> to see what window type it was. See the
<link
linkend="method-gtktextview--get-window"><methodname>get_window</methodname>()</link> 
method for more details on window types.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-border-window-size">
      <title>gtk.TextView.set_border_window_size</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_border_window_size</methodname>
	  <methodparam><parameter
			 role="keyword">type</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">size</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">type</parameter>&nbsp;:</term>
	  <listitem><simpara>a textview border window
type</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">size</parameter>&nbsp;:</term>
	  <listitem><simpara>the width or height of the
window</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_border_window_size</methodname>() method
sets the width of a <literal>gtk.TEXT_WINDOW_LEFT</literal> or
<literal>gtk.TEXT_WINDOW_RIGHT</literal> window, or the height of a
<literal>gtk.TEXT_WINDOW_TOP</literal> or
<literal>gtk.TEXT_WINDOW_BOTTOM</literal> window. This method 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 method can only be used for the
"border windows", it doesn't work with the
<literal>gtk.TEXT_WINDOW_WIDGET</literal>,
<literal>gtk.TEXT_WINDOW_TEXT</literal>, or
<literal>gtk.TEXT_WINDOW_PRIVATE</literal> windows.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-border-window-size">
      <title>gtk.TextView.get_border_window_size</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_border_window_size</methodname>
	  <methodparam><parameter
			 role="keyword">type</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">type</parameter>&nbsp;:</term>
	  <listitem><simpara>a textview border window
type</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the width or height of the textview border
window</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_border_window_size</methodname>() method
returns the width or height of the border window of the type specified by
<parameter>type</parameter>. See the <link
linkend="method-gtktextview--set-border-window-size"><methodname>set_border_window_size</methodname>()</link> 
method for more details.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--forward-display-line">
      <title>gtk.TextView.forward_display_line</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>forward_display_line</methodname>
	  <methodparam><parameter
			 role="keyword">iter</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">iter</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if
<parameter>iter</parameter> was moved and is not on the end
iterator</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>forward_display_line</methodname>() method moves
the location of <parameter>iter</parameter> forward by one display line. A
textview display line is different from a textbuffer line. Textbuffer lines
are paragraphs and are separated by newlines or other paragraph separator
characters. Display lines are created by line-wrapping a textbuffer line. If
wrapping is turned off, display lines and textbuffer lines will be the same.
Display lines are divided differently for each textview, since they depend
on the textview's width and the textview's default wrap mode. Paragraphs are
the same in all views, since they depend on the contents of the <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link>.
This method returns <literal>True</literal> if the location of
<parameter>iter</parameter> moves to a dereferenceable position (i.e. not
the end position).</para>

    </refsect2>

    <refsect2 id="method-gtktextview--backward-display-line">
      <title>gtk.TextView.backward_display_line</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>backward_display_line</methodname>
	  <methodparam><parameter
			 role="keyword">iter</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">iter</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if
<parameter>iter</parameter> was moved</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>backward_display_line</methodname>() method
moves the location of <parameter>iter</parameter> backward by one display
line. A textview display line is different from a textbuffer line. Textview
lines are paragraphs and are separated by newlines or other paragraph
separator characters. Display lines are created by line-wrapping a
textbuffer line. If wrapping is turned off, display lines and textbuffer
lines will be the same. Display lines are divided differently for each
textview, since they depend on the textview's width and the textview's
default wrap mode. Paragraphs are the same in all views, since they depend
on the contents of the <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link>.
This method returns <literal>True</literal> if the location of
<parameter>iter</parameter> moves to a dereferenceable position (i.e. not
the end position).</para>

    </refsect2>

    <refsect2 id="method-gtktextview--forward-display-line-end">
      <title>gtk.TextView.forward_display_line_end</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>forward_display_line_end</methodname>
	  <methodparam><parameter
			 role="keyword">iter</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">iter</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if
<parameter>iter</parameter> was moved and is not on the end
iterator</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>forward_display_line_end</methodname>() method
moves the location of <parameter>iter</parameter> forward to the next
display line end. A textview display line is different from a textbuffer
line. Textbuffer lines are paragraphs and are separated by newlines or other
paragraph separator characters. Display lines are created by line-wrapping a
textbuffer line. If wrapping is turned off, display lines and textbuffer
lines will be the same. Display lines are divided differently for each
textview, since they depend on the textview's width and the textview's
default wrap mode. Paragraphs are the same in all views, since they depend
on the contents of the <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link>.
This method returns <literal>True</literal> if the location of
<parameter>iter</parameter> moves to a dereferenceable position (i.e. not
the end position).</para>

    </refsect2>

    <refsect2 id="method-gtktextview--backward-display-line-start">
      <title>gtk.TextView.backward_display_line_start</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>backward_display_line_start</methodname>
	  <methodparam><parameter
			 role="keyword">iter</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">iter</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if
<parameter>iter</parameter> was moved</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>backward_display_line_start</methodname>()
method moves the location of <parameter>iter</parameter> backward to the
next display line start. A textview display line is different from a
textbuffer line. Textbuffer lines are paragraphs and are separated by newlines
or other paragraph separator characters. Display lines are created by
line-wrapping a textbuffer line. If wrapping is turned off, display lines
and textbuffer lines will be the same. Display lines are divided differently
for each textview, since they depend on the textview's width and the
textview's default wrap mode. Paragraphs are the same in all views, since
they depend on the contents of the <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link>.
This method returns <literal>True</literal> if the location of
<parameter>iter</parameter> moves to a dereferenceable position (i.e. not
the end position).</para>

    </refsect2>

    <refsect2 id="method-gtktextview--starts-display-line">
      <title>gtk.TextView.starts_display_line</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>starts_display_line</methodname>
	  <methodparam><parameter
			 role="keyword">iter</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">iter</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the location of
<parameter>iter</parameter> is at the beginning of a display
line</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>starts_display_line</methodname>() method
returns <literal>True</literal> if the location of
<parameter>iter</parameter> is at the start of a display line. See the <link
linkend="method-gtktextview--forward-display-line"><methodname>forward_display_line</methodname>()</link> 
method for an explanation of display lines vs. textbuffer lines
(paragraphs).</para>

    </refsect2>

    <refsect2 id="method-gtktextview--move-visually">
      <title>gtk.TextView.move_visually</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>move_visually</methodname>
	  <methodparam><parameter
			 role="keyword">iter</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">count</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">iter</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextiter"><classname>gtk.TextIter</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">count</parameter>&nbsp;:</term>
	  <listitem><simpara>the number of characters to move (may be
negative)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if
<parameter>iter</parameter> moved and is not on the end
iterator</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The<methodname> move_visually</methodname>() method moves the
location of <parameter>iter</parameter> by <parameter>count</parameter>
cursor positions. If count is negative the location moves against the
normal text direction. Note a cursor position move may move over multiple
characters when multiple characters combine to form one grapheme.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--add-child-at-anchor">
      <title>gtk.TextView.add_child_at_anchor</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>add_child_at_anchor</methodname>
	  <methodparam><parameter
			 role="keyword">child</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">anchor</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">child</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtkwidget"><classname>gtk.Widget</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">anchor</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtktextchildanchor"><classname>gtk.TextChildAnchor</classname></link> 
in the textview's <link
linkend="class-gtktextbuffer"><classname>gtk.TextBuffer</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>add_child_at_anchor</methodname>() method adds
the widget specified by <parameter>child</parameter> in the textview, at the
<link
linkend="class-gtktextchildanchor"><classname>gtk.TextChildAnchor</classname></link>
specified by <parameter>anchor</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--add-child-in-window">
      <title>gtk.TextView.add_child_in_window</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>add_child_in_window</methodname>
	  <methodparam><parameter
			 role="keyword">child</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">which_window</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">xpos</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">ypos</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">child</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtkwidget"><classname>gtk.Widget</classname></link></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
role="keyword">which_window</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview window
<parameter>child</parameter> should appear in</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">xpos</parameter>&nbsp;:</term>
	  <listitem><simpara>the X position of <parameter>child</parameter>
in window coordinates</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">ypos</parameter>&nbsp;:</term>
	  <listitem><simpara>the Y position of <parameter>child</parameter>
in window coordinates</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>add_child_in_window</methodname>() method adds
the widget specified by <parameter>child</parameter> at the fixed
coordinates specified by <parameter>xpos</parameter> and
<parameter>ypos</parameter> in one of the text widget's windows specified by
<parameter>which_window</parameter>.  The window must have nonzero size (see
the <link
linkend="method-gtktextview--set-border-window-size"><methodname>set_border_window_size</methodname>()</link> 
method).</para>

      <note>
	<para>The <parameter>child</parameter> coordinates are given
relative to the <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>
specified by <parameter>which_window</parameter>, and these coordinates have
no sane relationship to scrolling. When placing <parameter>child</parameter>
in a <literal>gtk.TEXT_WINDOW_WIDGET</literal> window, scrolling is
irrelevant, <parameter>child</parameter> floats above all scrollable areas.
However, placing <parameter>child</parameter> in one of the scrollable
windows (a border windows or the text window), you'll need to compute the
correct position of <parameter>child</parameter> in textbuffer coordinates
any time scrolling occurs or textbuffer changes occur, and then call the
<link
linkend="method-gtktextview--move-child"><methodname>move_child</methodname>()</link> 
method 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.</para>
      </note>

    </refsect2>

    <refsect2 id="method-gtktextview--move-child">
      <title>gtk.TextView.move_child</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>move_child</methodname>
	  <methodparam><parameter
			 role="keyword">child</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">xpos</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">ypos</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">child</parameter>&nbsp;:</term>
	  <listitem><simpara>a child widget in the
textview</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">xpos</parameter>&nbsp;:</term>
	  <listitem><simpara>the new X position in window
coordinates</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">ypos</parameter>&nbsp;:</term>
	  <listitem><simpara>the new Y position in window
coordinates</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>move_child</methodname>() method moves the
position of <parameter>child</parameter> to the location (in its current
window) specified by <parameter>xpos</parameter> and
<parameter>ypos</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-wrap-mode">
      <title>gtk.TextView.set_wrap_mode</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_wrap_mode</methodname>
	  <methodparam><parameter
			 role="keyword">wrap_mode</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">wrap_mode</parameter>&nbsp;:</term>
	  <listitem><simpara>a wrap mode value</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_wrap_mode</methodname>() method sets the
"wrap-mode" property of the textview to the value specified by
<parameter>wrap_mode</parameter>. The value of wrap_mode can be one of:
<literal>gtk.WRAP_NONE</literal>, <literal>gtk.WRAP_CHAR</literal>, <literal>gtk.WRAP_WORD</literal>
or <literal>gtk.WRAP_WORD_CHAR</literal>. The "wrap-mode" property defines the wrap
mode for text that is not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "wrap_mode" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-wrap-mode">
      <title>gtk.TextView.get_wrap_mode</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_wrap_mode</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the line wrap setting</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_wrap_mode</methodname>() method returns the
value of the "wrap-mode" property. The value of "wrap-mode" can be one of:
<literal>gtk.WRAP_NONE</literal>, <literal>gtk.WRAP_CHAR</literal> or
<literal>gtk.WRAP_WORD</literal>. The "wrap-mode" property defines the wrap
mode for text that is not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "wrap_mode" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-editable">
      <title>gtk.TextView.set_editable</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_editable</methodname>
	  <methodparam><parameter
			 role="keyword">setting</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">setting</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal> the text is editable
by default</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_editable</methodname>() method sets the
"editable" property to the value of <parameter>setting</parameter>. If
<parameter>setting</parameter> is <literal>True</literal> the text in
textview is editable by default. The "editable" property determines the
editability of the <link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link> text
that is not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "editable" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-editable">
      <title>gtk.TextView.get_editable</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_editable</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><parameter>True</parameter> if text is editable
by default</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_editable</methodname>() method returns the
value of the "editable" property. The "editable" property determines the
editability of the <link
linkend="class-gtktextview"><classname>gtk.TextView</classname></link> text
that is not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "editable" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-overwrite">
      <title>gtk.TextView.set_overwrite</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_overwrite</methodname>
	  <methodparam><parameter role="keyword">overwrite</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
	  role="keyword">overwrite</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal> turn on overwrite
	  mode; if <literal>False</literal> turn it off</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>set_overwrite</methodname>() method sets the
"overwrite" property to the value of <parameter>overwrite</parameter>. If
<parameter>overwrite</parameter> is <literal>True</literal>, inserted text
overwrites the existing text.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-overwrite">
      <title>gtk.TextView.get_overwrite</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_overwrite</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the textview is in
	  overwrite mode</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>get_overwrite</methodname>() method returns the
value of the "overwrite" property. see the <link
linkend="method-gtktextview--set-overwrite"><methodname>set_overwrite</methodname>()</link>
method for more information.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-accepts-tab">
      <title>gtk.TextView.set_accepts_tab</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_accepts_tab</methodname>
	  <methodparam><parameter role="keyword">accepts_tab</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
	  role="keyword">accepts_tab</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal> pressing the
	  <keycap>Tab</keycap> key should insert a tab character; if
	  <literal>False</literal>, pressing the <keycap>Tab</keycap> key
	  should move the keyboard focus.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>set_accepts_tab</methodname>() method sets the
"accepts_tab" property to the value of
<parameter>accepts_tab</parameter>. If <parameter>accepts_tab</parameter> is
<literal>True</literal> a tab character is inserted. If
<parameter>accepts_tab</parameter> is <literal>False</literal> the keyboard
focus is moved to the next widget in the focus chain.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-accepts-tab">
      <title>gtk.TextView.get_accepts_tab</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_accepts_tab</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if pressing the
	  <keycap>Tab</keycap> key inserts a tab character,
	  <literal>False</literal> if pressing the <keycap>Tab</keycap> key
	  moves the keyboard focus.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>get_accepts_tab</methodname>() method returns
the value of the "accepts_tab" property. See the <link
linkend="method-gtktextview--set-accepts-tab"><methodname>set_accepts_tab()</methodname></link>
method for more information.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-pixels-above-lines">
      <title>gtk.TextView.set_pixels_above_lines</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_pixels_above_lines</methodname>
	  <methodparam><parameter
			 role="keyword">pixels_above_lines</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">pixels_above_lines</parameter>&nbsp;:</term>
	  <listitem><simpara>the number of pixels above
paragraphs</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_pixels_above_lines</methodname>() method
sets the "pixels-above-lines" property to the value of
<parameter>pixels_above_lines</parameter>. The "pixels-above-lines" property
determines the number of blank pixels to place above textbuffer lines
(paragraphs) in the textview for text that is not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "pixels-above-lines" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-pixels-above-lines">
      <title>gtk.TextView.get_pixels_above_lines</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_pixels_above_lines</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the default number of pixels above
paragraphs</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_pixels_above_lines</methodname>() method
returns the value of the "pixels-above-lines" property. The
"pixels-above-lines" property determines the number of pixels to put above
textbuffer lines (paragraphs) in the textview for text that is not
influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "pixels-above-lines" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-pixels-below-lines">
      <title>gtk.TextView.set_pixels_below_lines</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_pixels_below_lines</methodname>
	  <methodparam><parameter
			 role="keyword">pixels_below_lines</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">pixels_below_lines</parameter>&nbsp;:</term>
	  <listitem><simpara>the default number of pixels below
paragraphs</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_pixels_below_lines</methodname>() method
sets the "pixels-below-lines" property to the value of
<parameter>pixels_below_lines</parameter>. The "pixels-below-lines" property
determines the number of blank pixels to place below textbuffer lines
(paragraphs) in the textview for text that is not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "pixels-below-lines" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-pixels-below-lines">
      <title>gtk.TextView.get_pixels_below_lines</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_pixels_below_lines</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the default number of blank pixels below
paragraphs</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_pixels_below_lines</methodname>() method
returns the value of the "pixels-below-lines" property. The
"pixels-below-lines" property determines the number of pixels to put below
textbuffer lines (paragraphs) in the textview for text that is not
influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "pixels-below-lines" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-pixels-inside-wrap">
      <title>gtk.TextView.set_pixels_inside_wrap</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_pixels_inside_wrap</methodname>
	  <methodparam><parameter
			 role="keyword">pixels_inside_wrap</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">pixels_inside_wrap</parameter>&nbsp;:</term>
	  <listitem><simpara>the default number of pixels between wrapped
lines</simpara></listitem>
	</varlistentry>
      </variablelist>
      <para>The <methodname>set_pixels_inside_wrap</methodname>() method
sets the "pixels-inside_wrap" property to the value of
<parameter>pixels_inside_wrap</parameter>. The "pixels-inside_wrap" property
determines the number of blank pixels to place between wrapped textbuffer
lines (inside paragraphs) for text that is not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "pixels-inside_wrap" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-pixels-inside-wrap">
      <title>gtk.TextView.get_pixels_inside_wrap</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_pixels_inside_wrap</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the default number of pixels of blank space
between wrapped lines</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_pixels_inside_wrap</methodname>() method
returns the value of the "pixels-inside-wrap" property. The
"pixels-inside-wrap" property determines the number of pixels to put between
wrapped textbuffer lines (inside paragraphs) for text that is not influenced
by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "pixels-inside-wrap" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-justification">
      <title>gtk.TextView.set_justification</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_justification</methodname>
	  <methodparam><parameter
			 role="keyword">justification</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">justification</parameter>&nbsp;:</term>
	  <listitem><simpara>the text justification</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_justification</methodname>() method sets the
"justification" property to the value of
<parameter>justification</parameter>. The value of justification must be one
of: <literal>gtk.JUSTIFY_LEFT</literal>,
<literal>gtk.JUSTIFY_RIGHT</literal>, <literal>gtk.JUSTIFY_CENTER</literal>
or <literal>gtk.JUSTIFY_FILL</literal>. The "justification" property
determines the justification of text in the textview that is not influenced
by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
set its "justification" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-justification">
      <title>gtk.TextView.get_justification</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_justification</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the default justification</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_justification</methodname>() method returns
the value of the "justification" property. the default justification of
paragraphs in <parameter>text_view</parameter>. The value of "justification"
must be one of: <literal>gtk.JUSTIFY_LEFT</literal>,
<literal>gtk.JUSTIFY_RIGHT</literal>, <literal>gtk.JUSTIFY_CENTER</literal>
or <literal>gtk.JUSTIFY_FILL</literal>. The "justification" property
determines the justification of text in the textview that is not influenced
by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
set its "justification" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-left-margin">
      <title>gtk.TextView.set_left_margin</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_left_margin</methodname>
	  <methodparam><parameter
			 role="keyword">left_margin</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">left_margin</parameter>&nbsp;:</term>
	  <listitem><simpara>the default left margin in pixels</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_left_margin</methodname>() method sets the
"left-margin" property to the value of <parameter>left_margin</parameter>.
The "left-margin"property determines the number of pixels of space for the
left margin  of text that is not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "left_margin" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-left-margin">
      <title>gtk.TextView.get_left_margin</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_left_margin</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the default left margin in
pixels</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_left_margin</methodname>() method returns
the value of the "left_margin" property. The "left-margin"property
determines the number of pixels of space for the left margin  of text that
is not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "left_margin" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-right-margin">
      <title>gtk.TextView.set_right_margin</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_right_margin</methodname>
	  <methodparam><parameter
			 role="keyword">right_margin</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">right_margin</parameter>&nbsp;:</term>
	  <listitem><simpara>the default right margin in
pixels</simpara></listitem>
	</varlistentry>
      </variablelist>
      <para>The <methodname>set_right_margin</methodname>() method sets the
"right-margin" property to the value of <parameter>right_margin</parameter>.
The "right-margin"property determines the number of pixels of space for the
right margin  of text that is not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "right_margin" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-right-margin">
      <title>gtk.TextView.get_right_margin</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_right_margin</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the default right margin in
pixels</simpara></listitem>
	</varlistentry>
      </variablelist>
      <para>The <methodname>get_right_margin</methodname>() method returns
the value of the "right_margin" property. The "right-margin"property
determines the number of pixels of space for the right margin  of text that
is not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "right_margin" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-indent">
      <title>gtk.TextView.set_indent</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_indent</methodname>
	  <methodparam><parameter
			 role="keyword">indent</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">indent</parameter>&nbsp;:</term>
	  <listitem><simpara>the default indentation in
pixels</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_indent</methodname>() method sets the
"indent" property to the value of <parameter>indent</parameter>. The
"indent" property determines the indentation for textview paragraphs that
are not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "indent" attribute. The indentation may be negative.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-indent">
      <title>gtk.TextView.get_indent</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_indent</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the default number of pixels of
indentation</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_indent</methodname>() method returns the
value of the "indent" property. The "indent" property determines the
indentation for textview paragraphs that are not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "indent" attribute. The indentation may be negative.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--set-tabs">
      <title>gtk.TextView.set_tabs</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_tabs</methodname>
	  <methodparam><parameter
			 role="keyword">tabs</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">tabs</parameter>&nbsp;:</term>
	  <listitem><simpara>the default tabs as a <link
linkend="class-pangotabarray"><classname>pango.TabArray</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_tabs</methodname>() method sets the "tabs"
property to a copy of the value of <parameter>tabs</parameter>. The "tabs"
property contains the custom tab stops for the textview paragraphs that are
not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "tabs" attribute.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-tabs">
      <title>gtk.TextView.get_tabs</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_tabs</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a copy of default tab array, or
<literal>None</literal> if "standard" tabs are used</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_tabs</methodname>() method returns the value
of the "tabs" property.  The "tabs" property contains the custom tab stops
for the textview paragraphs that are not influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link> that
sets its "tabs" attribute. The returned value will be
<literal>None</literal> if "standard" (8-space) tabs are used.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-default-attributes">
      <title>gtk.TextView.get_default_attributes</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_default_attributes</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a new <link
linkend="class-gtktextattributes"><classname>gtk.TextAttributes</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_default_attributes</methodname>() method
returns a copy of the default <link
linkend="class-gtktextattributes"><classname>gtk.TextAttributes</classname></link>. 
These attributes are used for text unless the text is influenced by a <link
linkend="class-gtktexttag"><classname>gtk.TextTag</classname></link>.
You'd typically pass the default attributes in to the <link
linkend="method-gtktextiter--get-attributes"><methodname>gtk.TextIter.get_attributes</methodname>()</link> 
method to get the attributes in effect at a given text position.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-hadjustment">
      <title>gtk.TextView.get_hadjustment</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_hadjustment</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the horizontal adjustment.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_hadjustment</methodname>() method gets the horizontal-scrolling adjustment.</para>

    </refsect2>

    <refsect2 id="method-gtktextview--get-vadjustment">
      <title>gtk.TextView.get_vadjustment</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_vadjustment</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the vertical adjustment.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>get_vadjustment</methodname>() method gets the vertical-scrolling adjustment.</para>

    </refsect2>

<!--    <refsect2 id="method-gtktextview- -im-context-filter-keypress">
      <title>gtk.TextView.im_context_filter_keypress</title>

      <programlisting><methodsynopsis language="python">
        <methodname>im_context_filter_keypress</methodname>
        <methodparam><parameter role="keyword">event</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">event</parameter>&nbsp;:</term>
          <listitem><simpara>XXX.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>XXX.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>im_context_filter_keypress</methodname>() method XXX.</para>

    </refsect2>

    <refsect2 id="method-gtktextview- -reset-im-context">
      <title>gtk.TextView.reset_im_context</title>

      <programlisting><methodsynopsis language="python">
        <methodname>reset_im_context</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>XXX.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>reset_im_context</methodname>() method XXX.</para>

    </refsect2>-->

  </refsect1>

  <refsect1>
    <title>Signals</title>

    <refsect2 id="signal-gtktextview--backspace">
      <title>The "backspace" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python"><methodname>callback</methodname>
      <methodparam><parameter>textview</parameter></methodparam>
      <methodparam><parameter>user_param1</parameter></methodparam>
      <methodparam><parameter>...</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter>textview</parameter>&nbsp;:</term>
          <listitem><simpara>the object which received the signal.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
          with the <link
          linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
          method</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>...</parameter>&nbsp;:</term>
          <listitem><simpara>additional user parameters (if any)</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This signal is available in GTK+ 2.10 and above.</para>
      </note>

      <para>The "backspace" signal is emitted when the
      <keycap>Backspace</keycap> key is pressed.</para>


    </refsect2>

    <refsect2 id="signal-gtktextview--copy-clipboard">
      <title>The "copy-clipboard" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "copy-clipboard" signal is emitted when a selection is
copied to the clipboard from  <parameter>textview</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtktextview--cut-clipboard">
      <title>The "cut-clipboard" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "cut-clipboard" signal is emitted when a selection is cut
from <parameter>textview</parameter> to the clipboard.</para>

    </refsect2>

    <refsect2 id="signal-gtktextview--delete-from-cursor">
      <title>The "delete-from-cursor" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>delete_type</parameter></methodparam>
	  <methodparam><parameter>count</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>delete_type</parameter>&nbsp;:</term>
	  <listitem><simpara>the type of deletion</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>count</parameter>&nbsp;:</term>
	  <listitem><simpara>the number of deletions to
do</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "delete-from-cursor" signal is emitted when a deletion of
the type specified by <parameter>delete_type</parameter> is initiated by
user action (e.g. pressing the <keycap>Delete</keycap> or
<keycap>Backspace</keycap> keys). The value of
<parameter>delete_type</parameter> must be one of:</para>

      <itemizedlist>
	<listitem>
	  <simpara><literal>gtk.DELETE_CHARS</literal></simpara>
	</listitem>
	<listitem>
	  <simpara><literal>gtk.DELETE_WORD_ENDS</literal></simpara>
	</listitem>
	<listitem>
	  <simpara><literal>gtk.DELETE_WORDS</literal></simpara>
	</listitem>
	<listitem>
	  <simpara><literal>gtk.DELETE_DISPLAY_LINES</literal></simpara>
	</listitem>
	<listitem>
	  <simpara><literal>gtk.DELETE_DISPLAY_LINE_ENDS</literal></simpara>
	</listitem>
	<listitem>
	  <simpara><literal>gtk.DELETE_PARAGRAPH_ENDS</literal></simpara>
	</listitem>
	<listitem>
	  <simpara><literal>gtk.DELETE_PARAGRAPHS</literal></simpara>
	</listitem>
	<listitem>
	  <simpara><literal>gtk.DELETE_WHITESPACE</literal></simpara>
	</listitem>
      </itemizedlist>

      <para><parameter>count</parameter> specifies the number of times that
deletion should be applied.</para>

    </refsect2>

    <refsect2 id="signal-gtktextview--insert-at-cursor">
      <title>The "insert-at-cursor" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>string</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>string</parameter>&nbsp;:</term>
	  <listitem><simpara>the text to be inserted</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "insert-at-cursor" signal is emitted when
<parameter>string</parameter> is being inserted in
<parameter>textview</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtktextview--move-cursor">
      <title>The "move-cursor" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>step_size</parameter></methodparam>
	  <methodparam><parameter>count</parameter></methodparam>
	  <methodparam><parameter>extend_selection</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>step_size</parameter>&nbsp;:</term>
	  <listitem><simpara>the step size to move</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>count</parameter>&nbsp;:</term>
	  <listitem><simpara>the number of steps to
move</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>extend_selection</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal> extend the
selection</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "move-cursor" signal is emitted when the cursor is moved by
<parameter>count</parameter> steps of <parameter>step_size</parameter>. If
<parameter>extend_selection</parameter> is <literal>True</literal> the
selection is extended by the cursor movement. The value of step_size must be
one of:</para>

      <variablelist>
	<varlistentry>
	  <term><literal>gtk.MOVEMENT_LOGICAL_POSITIONS</literal></term>
	  <listitem>
	    <simpara>move by graphemes</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.MOVEMENT_VISUAL_POSITIONS</literal></term>
	  <listitem>
	    <simpara>move by graphemes</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.MOVEMENT_WORDS</literal></term>
	  <listitem>
	    <simpara>move by words</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.MOVEMENT_DISPLAY_LINES</literal></term>
	  <listitem>
	    <simpara>move by lines(wrapped lines)</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.MOVEMENT_DISPLAY_LINE_ENDS</literal></term>
	  <listitem>
	    <simpara>move to line ends(wrapped lines)</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.MOVEMENT_PARAGRAPHS</literal></term>
	  <listitem>
	    <simpara>move by paragraphs(newline-ended lines)</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.MOVEMENT_PARAGRAPH_ENDS</literal></term>
	  <listitem>
	    <simpara>move to ends of a paragraph</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.MOVEMENT_PAGES</literal></term>
	  <listitem>
	    <simpara>move by pages</simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><literal>gtk.MOVEMENT_BUFFER_ENDS</literal></term>
	  <listitem>
	    <simpara>move to ends of the buffer</simpara>
	  </listitem>
	</varlistentry>
      </variablelist>

      <para></para>

    </refsect2>

    <refsect2 id="signal-gtktextview--move-focus">
      <title>The "move-focus" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>direction</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>direction</parameter>&nbsp;:</term>
	  <listitem><simpara>the direction to move the
focus</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "move-focus" signal is emitted when the focus moves from
<parameter>textview</parameter> in the direction specified by
<parameter>direction</parameter> that must be one of:
<literal>gtk.DIR_TAB_FORWARD</literal>,
<literal>gtk.DIR_TAB_BACKWARD</literal>, <literal>gtk.DIR_UP</literal>,
<literal>gtk.DIR_DOWN</literal>, <literal>gtk.DIR_LEFT</literal> or
<literal>gtk.DIR_RIGHT</literal></para>

    </refsect2>

    <refsect2 id="signal-gtktextview--move-viewport">
      <title>The "move-viewport" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>scrollstep</parameter></methodparam>
	  <methodparam><parameter>count</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>scrollstep</parameter>&nbsp;:</term>
	  <listitem><simpara>the size of the scroll step:
	  <literal>gtk.SCROLL_STEPS</literal>,
	  <literal>gtk.SCROLL_PAGES</literal>,
	  <literal>gtk.SCROLL_ENDS</literal>,
	  <literal>gtk.SCROLL_HORIZONTAL_STEPS</literal>,
	  <literal>gtk.SCROLL_HORIZONTAL_PAGES</literal> or
	  <literal>gtk.SCROLL_HORIZONTAL_ENDS</literal></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>count</parameter>&nbsp;:</term>
	  <listitem><simpara>the number of scroll steps of size
	  <parameter>scrollstep</parameter> to take</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This signal is available in GTK+ 2.4 and above.</para>
      </note>

      <para>The "move-viewport" signal is emitted when the viewport is being
moved usually as the result of user action in moving the cursor or using
the scrollbars.</para>

    </refsect2>

    <refsect2 id="signal-gtktextview--page-horizontally">
      <title>The "page-horizontally" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>count</parameter></methodparam>
	  <methodparam><parameter>extend_selection</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>count</parameter>&nbsp;:</term>
	  <listitem><simpara>the number of pages to
move</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>extend_selection</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal> extend the
selection</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "page-horizontally" signal is emitted when user initiates
horizontal paging by pressing one of the key combinations:</para>

      <variablelist>
	<varlistentry>
	  <term><keycombo action="simul"><keycap>Control</keycap>
	      <keycap>Page&nbsp;Up</keycap>
	    </keycombo></term>
	  <listitem>
	    <simpara>Page horizontally with
<parameter>extend_selection</parameter> set to
<literal>False</literal></simpara>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><keycombo action="simul"><keycap>Shift</keycap>
	      <keycap>Control</keycap>
	      <keycap>Page&nbsp;Up</keycap>
	    </keycombo></term>
	  <listitem>
	    <simpara>Page horizontally with
<parameter>extend_selection</parameter> set to
<literal>True</literal></simpara>
	  </listitem>
	</varlistentry>
      </variablelist>

      <para></para>

    </refsect2>

    <refsect2 id="signal-gtktextview--paste-clipboard">
      <title>The "paste-clipboard" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "paste-clipboard" signal is emitted when the contents of the
clipboard are pasted into <parameter>textview</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtktextview--populate-popup">
      <title>The "populate-popup" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>menu</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>menu</parameter>&nbsp;:</term>
	  <listitem><simpara>the menu to populate</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "populate-popup" signal is emitted when the popup menu
(specified by <parameter>menu</parameter>) associated with
<parameter>textview</parameter> needs to be populated.</para>

    </refsect2>

    <refsect2 id="signal-gtktextview--select-all">
      <title>The "select-all" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>select</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>select</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal> select the buffer
	  contents; otherwise deselect the buffer
	  contents</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>


      <note>
	<para>This signal is available in GTK+ 2.2 and above.</para>
      </note>

      <para>The "select-all" signal is emitted when the user presses one
of:</para>

    <itemizedlist>
      <listitem>
	<simpara><keycombo
action='simul'><keycap>Control</keycap><keycap>a</keycap></keycombo> or
<keycombo
action='simul'><keycap>Control</keycap><keycap>/</keycap></keycombo> to
select all text in a buffer</simpara>
      </listitem>
      <listitem>
	<simpara><keycombo
action='simul'><keycap>Control</keycap><keycap>\</keycap></keycombo> to
deselect all text in a buffer</simpara>
      </listitem>
   </itemizedlist>
      
    <para></para>

    </refsect2>

    <refsect2 id="signal-gtktextview--set-anchor">
      <title>The "set-anchor" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "set-anchor" signal is emitted when an application calls the
<link
linkend="method-gobject--emit"><methodname>GObject.emit()</methodname>()</link> 
method on textview with "set-anchor" as the signal.</para>

    </refsect2>

    <refsect2 id="signal-gtktextview--set-scroll-adjustments">
      <title>The "set-scroll-adjustments" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>hadjustment</parameter></methodparam>
	  <methodparam><parameter>vadjustment</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>hadjustment</parameter>&nbsp;:</term>
	  <listitem><simpara>the horizontal adjustment</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>vadjustment</parameter>&nbsp;:</term>
	  <listitem><simpara>the vertical adjustment</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "set-scroll-adjustments" signal is emitted when one or both
adjustments (specified by <parameter>hadjustment</parameter> and
<parameter>vadjustment</parameter>) are set on
<parameter>textview</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtktextview--toggle-overwrite">
      <title>The "toggle-overwrite" gtk.TextView Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>textview</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>textview</parameter>&nbsp;:</term>
	  <listitem><simpara>the textview that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "toggle-overwrite" signal is emitted when the user presses
the <keycap>Insert</keycap> key.</para>

    </refsect2>

  </refsect1>

</refentry>
