<Type Name="TextView" FullName="Gtk.TextView">
  <TypeSignature Language="C#" Value="public class TextView : Gtk.Container, Implementor, IWrapper, IWrapper, IDisposable" Maintainer="duncan" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyVersion>0.0.0.0</AssemblyVersion>
    <Attributes />
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Docs>
    <summary>Widget that displays a <see cref="T:Gtk.TextBuffer" /></summary>
    <remarks>
      <example>
        <code lang="C#">

           Gtk.TextView view;
           Gtk.TextBuffer buffer;

           view = new Gtk.TextView ();
           buffer = view.Buffer;

           buffer.Text = "Hello, this is some text";
        </code>
        <para>
          Now you might put the view in a container and display it on
          the screen; when the user edits the text, events on the
          buffer will be emitted, such as <see cref="E:Gtk.TextView.Changed" />, <see cref="E:Gtk.TextView.InsertText" />,
          and so on.
        </para>
      </example>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>Gtk.Container</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>Atk.Implementor</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>GLib.IWrapper</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>GLib.IWrapper</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes />
  <Members>
    <Member MemberName="GetIterLocation">
      <MemberSignature Language="C#" Value="public void GetIterLocation (Gtk.TextIter iter, Gdk.Rectangle location);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TextIter" />
        <Parameter Name="location" Type="Gdk.Rectangle" />
      </Parameters>
      <Docs>
        <summary>This API needs to be fixed</summary>
        <param name="iter">To be added: an object of type 'Gtk.TextIter'</param>
        <param name="location">To be added: an object of type 'Gdk.Rectangle'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="BufferToWindowCoords">
      <MemberSignature Language="C#" Value="public void BufferToWindowCoords (Gtk.TextWindowType win, int buffer_x, int buffer_y, out int window_x, out int window_y);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="win" Type="Gtk.TextWindowType" />
        <Parameter Name="buffer_x" Type="System.Int32" />
        <Parameter Name="buffer_y" Type="System.Int32" />
        <Parameter Name="window_x" Type="System.Int32&amp;" RefType="out" />
        <Parameter Name="window_y" Type="System.Int32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <summary>
          Converts specified buffer coordinates to coordinates
          for window
        </summary>
        <param name="win">
          a <see cref="T:Gtk.TextWindowType" />,
          except for <see cref="T:Gtk.TextWindowType.Private" /></param>
        <param name="buffer_x">x coordinate of the buffer</param>
        <param name="buffer_y">y coordinate of the buffer</param>
        <param name="window_x">return location for the window's x coordinate</param>
        <param name="window_y">return location for the window's y coordinate</param>
        <remarks>
          <para>
            Note that you can't convert coordinates for a nonexisting
            window (see <see cref="M:Ptk.TextView.SetBorderWindowSize(Gtk.TextWindowType,System.Int32)" />.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GetBorderWindowSize">
      <MemberSignature Language="C#" Value="public int GetBorderWindowSize (Gtk.TextWindowType type);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="type" Type="Gtk.TextWindowType" />
      </Parameters>
      <Docs>
        <summary>Gets the width of the specified border window.</summary>
        <param name="type">a window to return size from</param>
        <returns>the width of the window</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="BackwardDisplayLine">
      <MemberSignature Language="C#" Value="public bool BackwardDisplayLine (Gtk.TextIter iter);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TextIter" />
      </Parameters>
      <Docs>
        <summary>Moves the given iter backward by one display (wrapped) line</summary>
        <param name="iter">the given <see cref="T:Gtk.TextIter" /></param>
        <returns>
          <see langword="true" /> if <paramref name="iter" /> was moved and is not on the end iterator</returns>
        <remarks>
          <para>
            Moves the given iter backward by one display (wrapped)
            line. A display line is different from a
            paragraph. Paragraphs are separated by newlines or other
            paragraph separator characters. Display lines are created
            by line-wrapping a paragraph. If wrapping is turned off,
            display lines and paragraphs will be the same. Display
            lines are divided differently for each view, since they
            depend on the view's width; paragraphs are the same in all
            views, since they depend on the contents of the <see cref="T:Gtk.TextBuffer" />.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GetWindow">
      <MemberSignature Language="C#" Value="public Gdk.Window GetWindow (Gtk.TextWindowType win);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Window</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="win" Type="Gtk.TextWindowType" />
      </Parameters>
      <Docs>
        <summary>Retrieves the <see cref="T:Gdk.Window" /> corresponding to an area of the text view</summary>
        <param name="win">window to get</param>
        <returns>
          a <see cref="T:Gdk.Window" />, or <see langword="null" /></returns>
        <remarks>
          <para>
            Retrieves the <see cref="T:Gdk.Window" /> corresponding to
            an area of the text view; possible windows include the
            overall widget window, child windows on the left, right,
            top, bottom, and the window that displays the text
            buffer. Windows are <see langword="null" /> and
            nonexistent if their width or height is 0, and are
            nonexistent before the widget has been realized.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="SetBorderWindowSize">
      <MemberSignature Language="C#" Value="public void SetBorderWindowSize (Gtk.TextWindowType type, int size);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="type" Type="Gtk.TextWindowType" />
        <Parameter Name="size" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>
          Sets the width of <see cref="T:Gtk.TextWindowType.Left" />
          or <see cref="T:Gtk.TextWindowType.Right" />, or the height of
          <see cref="T:Gtk.TextWindow.Top" /> or <see cref="T:Gtk.TextWindow.Bottom" />.
        </summary>
        <param name="type">the window to affect</param>
        <param name="size">the width or height of the window</param>
        <remarks>
          <para>
            Automatically destroys the corresponding window if the
            size is set to 0, and creates the window if the size is
            set to non-zero. This function can only be used for the
            "border windows," it doesn't work with <see cref="T:Gtk.TextWindowType.Widget" />, <see cref="T:Gtk.TextWindow.Text" />, or <see cref="T:Gtk.TextWindow.Private" />.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="PlaceCursorOnscreen">
      <MemberSignature Language="C#" Value="public bool PlaceCursorOnscreen ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Moves the cursor to the currently visible region of the buffer, it it isn't there already.</summary>
        <returns>
          <see langword="true" /> if the cursor had to be moved</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="ForwardDisplayLineEnd">
      <MemberSignature Language="C#" Value="public bool ForwardDisplayLineEnd (Gtk.TextIter iter);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TextIter" />
      </Parameters>
      <Docs>
        <summary>Moves <paramref name="iter" /> forward to the next display line end</summary>
        <param name="iter">a <see cref="T:Gtk.TextIter" /></param>
        <returns>
          <see langword="true" /> if <paramref name="iter" /> was moved and is not on the end iterator</returns>
        <remarks>
          <para>
            Moves the given iter forward to the next display line
            end. A display line is different from a
            paragraph. Paragraphs are separated by newlines or other
            paragraph separator characters. Display lines are created
            by line-wrapping a paragraph. If wrapping is turned off,
            display lines and paragraphs will be the same. Display
            lines are divided differently for each view, since they
            depend on the view's width; paragraphs are the same in all
            views, since they depend on the contents of the
            <see cref="T:Gtk.TextBuffer" />.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GetVisibleRect">
      <MemberSignature Language="C#" Value="public void GetVisibleRect (Gdk.Rectangle visible_rect);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="visible_rect" Type="Gdk.Rectangle" />
      </Parameters>
      <Docs>
        <summary>Fills <paramref name="visible_rect" /> with the currently-visible region of the buffer, in buffer coordinates.</summary>
        <param name="visible_rect">the rectangle to fill</param>
        <remarks>
          You can convert to window coordinates with <see cref="M:Gtk.TextView.BufferToWindowCoords(Gtk.TextWindowType,System.Int32,System.Int32,System.Int32&amp;,System.Int32&amp;)" />.
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="AddChildAtAnchor">
      <MemberSignature Language="C#" Value="public void AddChildAtAnchor (Gtk.Widget child, Gtk.TextChildAnchor anchor);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="child" Type="Gtk.Widget" />
        <Parameter Name="anchor" Type="Gtk.TextChildAnchor" />
      </Parameters>
      <Docs>
        <summary>Adds a child widget in the text buffer, at the given anchor</summary>
        <param name="child">any <see cref="M:Gtk.Widget" /></param>
        <param name="anchor">
          a <see cref="M:Gtk.TextChildAnchor" /> in the current <see cref="P:Gtk.TextView.Buffer" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="BackwardDisplayLineStart">
      <MemberSignature Language="C#" Value="public bool BackwardDisplayLineStart (Gtk.TextIter iter);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TextIter" />
      </Parameters>
      <Docs>
        <summary>Moves the given <paramref name="iter" /> backward to the next display line start</summary>
        <param name="iter">the given <see cref="T:Gtk.TextIter" /></param>
        <returns>
          <see langword="true" /> if <paramref name="iter" /> was moved and is not on the end iterator</returns>
        <remarks>
          <para>
            A display line is different from a paragraph. Paragraphs
            are separated by newlines or other paragraph separator
            characters. Display lines are created by line-wrapping a
            paragraph. If wrapping is turned off, display lines and
            paragraphs will be the same. Display lines are divided
            differently for each view, since they depend on the view's
            width; paragraphs are the same in all views, since they
            depend on the contents of the <see cref="T:Gtk.TextBuffer" />.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ForwardDisplayLine">
      <MemberSignature Language="C#" Value="public bool ForwardDisplayLine (Gtk.TextIter iter);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TextIter" />
      </Parameters>
      <Docs>
        <summary>Moves the given <paramref name="iter" /> forward by one display (wrapped) line</summary>
        <param name="iter">the given <see cref="T:Gtk.TextIter" /></param>
        <returns>
          <see langword="true" /> if <paramref name="iter" /> was moved and is not on the end iterator</returns>
        <remarks>
          <para>
            A display line is different from a paragraph. Paragraphs
            are separated by newlines or other paragraph separator
            characters. Display lines are created by line-wrapping a
            paragraph. If wrapping is turned off, display lines and
            paragraphs will be the same. Display lines are divided
            differently for each view, since they depend on the view's
            width; paragraphs are the same in all views, since they
            depend on the contents of the <see cref="T:Gtk.TextBuffer" />.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GetLineYrange">
      <MemberSignature Language="C#" Value="public void GetLineYrange (Gtk.TextIter iter, out int y, out int height);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TextIter" />
        <Parameter Name="y" Type="System.Int32&amp;" RefType="out" />
        <Parameter Name="height" Type="System.Int32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <summary>
          Gets the y coordinate of the top of the line
          containing <paramref name="iter" />, and the height of the line
        </summary>
        <param name="iter">the given <see cref="T:Gtk.TextIter" /></param>
        <param name="y">return location for the y coordinate</param>
        <param name="height">return location for the height</param>
        <remarks>
          Gets the y coordinate of the top of the line containing
          iter, and the height of the line. The coordinate is a buffer
          coordinate; convert to window coordinates with <see cref="M:Gtk.TextView.BufferToWindowCoords(Gtk.TextWindowType,System.Int32,System.Int32,System.Int32&amp;,System.Int32&amp;)" />.
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ScrollToMark">
      <MemberSignature Language="C#" Value="public void ScrollToMark (Gtk.TextMark mark, double within_margin, bool use_align, double xalign, double yalign);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="mark" Type="Gtk.TextMark" />
        <Parameter Name="within_margin" Type="System.Double" />
        <Parameter Name="use_align" Type="System.Boolean" />
        <Parameter Name="xalign" Type="System.Double" />
        <Parameter Name="yalign" Type="System.Double" />
      </Parameters>
      <Docs>
        <summary>
          Scrolls the view so that <paramref name="mark" /> is on the
          screen in the position indicated by <paramref name="xalign" /> and <paramref name="yalign" /></summary>
        <param name="mark">a given <see cref="T:Gtk.TextMark" /></param>
        <param name="within_margin">
          margin of screen size, the valid range is 0.0 to 0.5
        </param>
        <param name="use_align">
          whether to use alignment arguments (if <see langword="false" />, just get the mark onscreen)
        </param>
        <param name="xalign">
          horizontal alignment of mark within visible area
        </param>
        <param name="yalign">
          vertical alignment of mark within visible area
        </param>
        <remarks>
          <para>
            An alignment of 0.0 indicates left or top, 1.0 indicates
            right or bottom, 0.5 means center. If <paramref name="use_align" /> is <see langword="false" />,
            the text scrolls the minimal distance to get the mark
            onscreen, possibly not scrolling at all. The effective
            screen for purposes of this function is reduced by a
            margin of size <paramref name="within_margin" />.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="StartsDisplayLine">
      <MemberSignature Language="C#" Value="public bool StartsDisplayLine (Gtk.TextIter iter);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TextIter" />
      </Parameters>
      <Docs>
        <summary>Determines whether iter is at the start of a display line</summary>
        <param name="iter">the given <see cref="T:Gtk.TextIter" /></param>
        <returns>
          <see langword="true" /> if <paramref name="iter" /> begins a wrapped line</returns>
        <remarks>
          <para>
            Determines whether iter is at the start of a display
            line. See <see cref="M:GtkTextView.ForwardDisplayLine(Gtk.TextIter)" /> for an
            explanation of display lines vs. paragraphs.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GetWindowType">
      <MemberSignature Language="C#" Value="public Gtk.TextWindowType GetWindowType (Gdk.Window window);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TextWindowType</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="window" Type="Gdk.Window" />
      </Parameters>
      <Docs>
        <summary>Used for finding out which window an event corresponds to</summary>
        <param name="window">a window type</param>
        <returns>the window type</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="MoveVisually">
      <MemberSignature Language="C#" Value="public bool MoveVisually (Gtk.TextIter iter, int count);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TextIter" />
        <Parameter Name="count" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Move the iterator a given number of characters visually, treating it as the strong cursor position</summary>
        <param name="iter">the given <see cref="T:Gtk.TextIter" /></param>
        <param name="count">the number of characters to move (negative moves left, positive moves right)</param>
        <returns>
          <see langword="true" /> if iter moved and is not on the end iterator</returns>
        <remarks>
          <para>
            Move the iterator a given number of characters visually,
            treating it as the strong cursor position. If count is
            positive, then the new strong cursor position will be
            count positions to the right of the old cursor
            position. If count is negative then the new strong cursor
            position will be count positions to the left of the old
            cursor position.
          </para>
          <para>
            In the presence of bidirection text, the correspondence
            between logical and visual order will depend on the
            direction of the current run, and there may be jumps when
            the cursor is moved off of the end of a run.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="MoveMarkOnscreen">
      <MemberSignature Language="C#" Value="public bool MoveMarkOnscreen (Gtk.TextMark mark);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="mark" Type="Gtk.TextMark" />
      </Parameters>
      <Docs>
        <summary>Moves <paramref name="mark" /> within the buffer so that it's located within the currently-visible text area</summary>
        <param name="mark">a <see cref="T:Gtk.TextMark" /></param>
        <returns>
          <see langword="true" /> if the mark moved (wasn't already onscreen)</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="ScrollToIter">
      <MemberSignature Language="C#" Value="public bool ScrollToIter (Gtk.TextIter iter, double within_margin, bool use_align, double xalign, double yalign);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TextIter" />
        <Parameter Name="within_margin" Type="System.Double" />
        <Parameter Name="use_align" Type="System.Boolean" />
        <Parameter Name="xalign" Type="System.Double" />
        <Parameter Name="yalign" Type="System.Double" />
      </Parameters>
      <Docs>p
        <summary>
          Scrolls the text view so that <paramref name="iter" /> is on
          the screen in the position indicated by <paramref name="xalign" /> and <paramref name="yalign" /></summary><param name="iter">the given <see cref="T:Gtk.TextIter" /></param><param name="within_margin">
          margin of screen size, the valid range is 0.0 to 0.5
        </param><param name="use_align">
          whether to use alignment arguments (if <see langword="false" />, just get the mark onscreen)
        </param><param name="xalign">horizontal alignment of mark within visible area</param><param name="yalign">vertical alignment of mark within visible area</param><returns>
          <see langword="true" /> if scrolling occurred</returns><remarks>
          <para>
            Scrolls the text view so that <paramref name="iter" /> is on the screen in the
            position indicated by <paramref name="xalign" /> and <paramref name="yalign" />. An alignment of
            0.0 indicates left or top, 1.0 indicates right or bottom,
            0.5 means center. If <paramref name="use_align" /> is <see langword="false" />, the text scrolls
            the minimal distance to get the mark onscreen, possibly
            not scrolling at all. The effective screen for purposes of
            this function is reduced by a margin of size
            within_margin.
          </para>
          <para>
            NOTE: This function uses the currently-computed height of
            the lines in the text buffer. Note that line heights are
            computed in an idle handler; so this function may not have
            the desired effect if it's called before the height
            computations. To avoid oddness, consider using <see cref="M:Gtk.TextView.ScrollToMark(Gtk.TextMark,System.Double,System.Boolean,System.Double,System.Double)" /> which saves a point to be scrolled to after line
            validation.
          </para>
        </remarks></Docs>
    </Member>
    <Member MemberName="ScrollMarkOnscreen">
      <MemberSignature Language="C#" Value="public void ScrollMarkOnscreen (Gtk.TextMark mark);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="mark" Type="Gtk.TextMark" />
      </Parameters>
      <Docs>
        <summary>
          Scrolls the text view the minimum distance such that <paramref name="mark" /> is contained within the visible area of
          the widget
        </summary>
        <param name="mark">
          a mark in the current <see cref="P:Gtk.TextView.Buffer" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="WindowToBufferCoords">
      <MemberSignature Language="C#" Value="public void WindowToBufferCoords (Gtk.TextWindowType win, int window_x, int window_y, out int buffer_x, out int buffer_y);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="win" Type="Gtk.TextWindowType" />
        <Parameter Name="window_x" Type="System.Int32" />
        <Parameter Name="window_y" Type="System.Int32" />
        <Parameter Name="buffer_x" Type="System.Int32&amp;" RefType="out" />
        <Parameter Name="buffer_y" Type="System.Int32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <summary>Converts coordinates on the window to buffer coordinates</summary>
        <param name="win">
          a <see cref="T:Gtk.TextWindowType" /> except <see cref="T:Gtk.TextWindowType.Private" /></param>
        <param name="window_x">x coordinate of the window</param>
        <param name="window_y">y coordinate of the window</param>
        <param name="buffer_x">return location for the buffer's x coordinate</param>
        <param name="buffer_y">return location for the buffer's y coordinate</param>
        <remarks>
          <para>
            Note that you can't convert coordinates for a nonexisting
            window (see <see cref="M:Ptk.TextView.SetBorderWindowSize(Gtk.TextWindowType,System.Int32)" />.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="protected virtual void Finalize ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Disposes the resources associated with the object.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public TextView (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Internal constructor</summary>
        <param name="raw">Pointer to the C object.</param>
        <returns>An instance of TextView, wrapping the C object.</returns>
        <remarks>
          <para>This is an internal constructor, and should not be used by user code.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public TextView ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Creates a new TextView</summary>
        <returns>the newly-created TextView</returns>
        <remarks>
          <para>
            If you don't set the <see cref="P:Gtk.TextView.Buffer" /> before using
            the text view, an empty default buffer will be created for
            you. If you want to specify your own buffer, use
            <see cref="C:Gtk.TextView(Gtk.TextBuffer)" />.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public TextView (Gtk.TextBuffer buffer);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="buffer" Type="Gtk.TextBuffer" />
      </Parameters>
      <Docs>
        <summary>Creates a new TextView displaying a specified buffer.</summary>
        <param name="buffer">the buffer to be displayed</param>
        <returns>a newly-created TextView</returns>
        <remarks>
          <para>
            Creates a new <see cref="T:Gtk.TextView" /> widget
            displaying the <paramref name="buffer" /> buffer. One
            buffer can be shared among many widgets.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static uint GType { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The GLib Type for Gtk.TextView</summary>
        <returns>The GLib Type for the Gtk.TextView class.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="DefaultAttributes">
      <MemberSignature Language="C#" Value="public Gtk.TextAttributes DefaultAttributes { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TextAttributes</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The default text attributes</summary>
        <returns>To be added: an object of type 'Gtk.TextAttributes'</returns>
        <remarks>
          <para>
            Obtains a copy of the default text attributes. These are
            the attributes used for text unless a tag overrides
            them. You'd typically pass the default attributes in to
            <see cref="M:Gtk.TextIter.GetAttributes(System.Boolean)" /> in order to get the attributes in effect at a given
            text position.
          </para>
          <para>
            The return valuea is a copy owned by the caller of this
            function, and should be freed.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Buffer">
      <MemberSignature Language="C#" Value="public Gtk.TextBuffer Buffer { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.TextBuffer</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>
          The <see cref="T:Gtk.TextBuffer" /> displayed by the text view
        </summary>
        <param name="value">the new buffer to be displayed</param>
        <returns>the current buffer that is displayed</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="CursorVisible">
      <MemberSignature Language="C#" Value="public bool CursorVisible { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>Whether the insertion point is displayed</summary>
        <param name="value">
          <see langword="true" /> to display the insertion
          point
        </param>
        <returns>whether the insertion point is visible</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="LeftMargin">
      <MemberSignature Language="C#" Value="public int LeftMargin { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>The default left margin</summary>
        <param name="value">the left margin in pixels</param>
        <returns>the left margin</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="RightMargin">
      <MemberSignature Language="C#" Value="public int RightMargin { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>The default right margin</summary>
        <param name="value">the right margin in pixels</param>
        <returns>the right margin</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="PixelsAboveLines">
      <MemberSignature Language="C#" Value="public int PixelsAboveLines { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>The default number of blank pixels above paragraphs</summary>
        <param name="value">the number of pixels above paragraphs</param>
        <returns>the number of pixels above paragraphs</returns>
        <remarks>
          <para>
            Tags in the <see cref="P:Gtk.TextView.Buffer" /> may
            override the defaults.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Justification">
      <MemberSignature Language="C#" Value="public Gtk.Justification Justification { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.Justification</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>The default justification</summary>
        <param name="value">The <see cref="T:Gtk.Justification" /> for the text</param>
        <returns>The default justification of paragraphs</returns>
        <remarks>
          <para>
            Tags in the <see cref="P:Gtk.TextView.Buffer" /> may
            override the defaults.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Indent">
      <MemberSignature Language="C#" Value="public int Indent { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>The default indentation for paragraphs</summary>
        <param name="value">the indentation in pixels</param>
        <returns>the number of pixels of indentation</returns>
        <remarks>
          <para>
            Tags in the <see cref="P:Gtk.TextView.Buffer" /> may override the default.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Editable">
      <MemberSignature Language="C#" Value="public bool Editable { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>Whether the text can be modified by the user</summary>
        <param name="value">
          <see langword="true" /> if the text is editable by the user
        </param>
        <returns>
          whether or not the text can be edited by the user
        </returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="WrapMode">
      <MemberSignature Language="C#" Value="public Gtk.WrapMode WrapMode { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.WrapMode</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>Whether to wrap lines never, at word boundaries, or at character boundaries.</summary>
        <param name="value">a <see cref="T:Gtk.WrapMode" /></param>
        <returns>the <see cref="T:Gtk.WrapMode" /> of the text view </returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Tabs">
      <MemberSignature Language="C#" Value="public Pango.TabArray Tabs { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Pango.TabArray</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>Custom tabs for this text</summary>
        <param name="value">a <see cref="T:Pango.TabArray" /></param>
        <returns>custom tabes for this text</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="PixelsBelowLines">
      <MemberSignature Language="C#" Value="public int PixelsBelowLines { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>The default number of pixels of blank space to put below paragraphs</summary>
        <param name="value">the number of pixels of blank space below paragraphs</param>
        <returns>the blank space below paragraphs in pixels</returns>
        <remarks>
          <para>
            Tags in the <see cref="P:Gtk.TextView.Buffer" /> may
            override this default.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="PixelsInsideWrap">
      <MemberSignature Language="C#" Value="public int PixelsInsideWrap { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters></Parameters>
      <Docs>
        <summary>The default number of pixels of blank space to leave between display/wrapped lines within a paragraph</summary>
        <param name="value">default number of pixels between wrapped lines</param>
        <returns>default number of pixels of blank space between wrapped lines</returns>
        <remarks>
          <para>
            Tags in the <see cref="P:Gtk.TextView.Buffer" /> may
            override this default.
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ScrollAdjustmentsSet">
      <MemberSignature Language="C#" Value="public event GtkSharp.ScrollAdjustmentsSetHandler ScrollAdjustmentsSet;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>GtkSharp.ScrollAdjustmentsSetHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetAnchor">
      <MemberSignature Language="C#" Value="public event EventHandler SetAnchor;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="MoveCursor">
      <MemberSignature Language="C#" Value="public event GtkSharp.MoveCursorHandler MoveCursor;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>GtkSharp.MoveCursorHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="PopulatePopup">
      <MemberSignature Language="C#" Value="public event GtkSharp.PopulatePopupHandler PopulatePopup;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>GtkSharp.PopulatePopupHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="DeleteFromCursor">
      <MemberSignature Language="C#" Value="public event GtkSharp.DeleteFromCursorHandler DeleteFromCursor;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>GtkSharp.DeleteFromCursorHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="CopyClipboard">
      <MemberSignature Language="C#" Value="public event EventHandler CopyClipboard;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="MoveFocus">
      <MemberSignature Language="C#" Value="public event GtkSharp.MoveFocusHandler MoveFocus;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>GtkSharp.MoveFocusHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="PageHorizontally">
      <MemberSignature Language="C#" Value="public event GtkSharp.PageHorizontallyHandler PageHorizontally;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>GtkSharp.PageHorizontallyHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="ToggleOverwrite">
      <MemberSignature Language="C#" Value="public event EventHandler ToggleOverwrite;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="CutClipboard">
      <MemberSignature Language="C#" Value="public event EventHandler CutClipboard;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="InsertAtCursor">
      <MemberSignature Language="C#" Value="public event GtkSharp.InsertAtCursorHandler InsertAtCursor;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>GtkSharp.InsertAtCursorHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="PasteClipboard">
      <MemberSignature Language="C#" Value="public event EventHandler PasteClipboard;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected TextView (GLib.Type gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="GLib.Type" />
      </Parameters>
      <Docs>
        <summary>Internal constructor</summary>
        <param name="gtype">GLib type for the type</param>
        <returns>Creates a new instance of TextView, using the GLib-provided type</returns>
        <remarks>
          <para>This is a constructor used by derivative types of <see cref="T:Gtk.TextView" /> that would have their own GLib type assigned to it.  This is not typically used by C# code.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="GetLineAtY">
      <MemberSignature Language="C#" Value="public void GetLineAtY (out Gtk.TextIter target_iter, int y, out int line_top);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="target_iter" Type="Gtk.TextIter&amp;" RefType="out" />
        <Parameter Name="y" Type="System.Int32" />
        <Parameter Name="line_top" Type="System.Int32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <summary>This method should be fixed</summary>
        <param name="target_iter">To be added: an object of type 'Gtk.TextIter&amp;'</param>
        <param name="y">To be added: an object of type 'int'</param>
        <param name="line_top">To be added: an object of type 'int&amp;'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetIterAtLocation">
      <MemberSignature Language="C#" Value="public void GetIterAtLocation (out Gtk.TextIter iter, int x, int y);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iter" Type="Gtk.TextIter&amp;" RefType="out" />
        <Parameter Name="x" Type="System.Int32" />
        <Parameter Name="y" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>This method should be fixed</summary>
        <param name="iter">To be added: an object of type 'Gtk.TextIter&amp;'</param>
        <param name="x">To be added: an object of type 'int'</param>
        <param name="y">To be added: an object of type 'int'</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
  </Members>
</Type>