<Type Name="IMContext" FullName="Gtk.IMContext">
  <TypeSignature Language="C#" Value="public class IMContext : GLib.Object, IWrapper, IDisposable" Maintainer="auto" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>0.0.0.0</AssemblyVersion>
    <AssemblyCulture>neutral</AssemblyCulture>
    <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>A base class for input method contexts.</summary>
    <remarks/>
  </Docs>
  <Base>
    <BaseTypeName>GLib.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>GLib.IWrapper</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes />
  <Members>
    <Member MemberName="FocusIn">
      <MemberSignature Language="C#" Value="public void FocusIn ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary> Notify the input method that the widget to which this 
	  input context corresponds has gained focus. The input method
	  may, for example, change the displayed feedback to reflect
	  this change.</summary>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName="FocusOut">
      <MemberSignature Language="C#" Value="public void FocusOut ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Notify the input method that the widget to which this
	  input context corresponds has lost focus. The input method
	  may, for example, change the displayed feedback or reset the contexts
	  state to reflect this change.
	</summary>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName="DeleteSurrounding">
      <MemberSignature Language="C#" Value="public bool DeleteSurrounding (int offset, int n_chars);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="offset" Type="System.Int32" />
        <Parameter Name="n_chars" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="offset">a <see cref="T:System.Int32"/></param>
        <param name="n_chars">a <see cref="T:System.Int32"/></param>
        <returns>a <see cref="T:System.Boolean"/></returns>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName="FilterKeypress">
      <MemberSignature Language="C#" Value="public bool FilterKeypress (Gdk.EventKey evnt);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="evnt" Type="Gdk.EventKey" />
      </Parameters>
      <Docs>
        <summary>Allow an input method to handle a <see cref="T:Gdk.EventKey" />.</summary>
        <param name="evnt">a <see cref="T:Gdk.EventKey" /> representing a key press.</param>
        <returns>
          <see langword="true" /> if the keypress was handled.</returns>
        <remarks>If the method returns <see langword="true" />, no further processing should be done for <paramref name="evnt" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Reset">
      <MemberSignature Language="C#" Value="public void Reset ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Resets the state of the input method.</summary>
        <remarks>Call this method if, for example, a change in cursor position has occurred.  The reset clears any existing pre-edit state.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="protected override 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 IMContext (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 IMContext, 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="ClientWindow">
      <MemberSignature Language="C#" Value="public Gdk.Window ClientWindow { set; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Window</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="value">a <see cref="T:Gdk.Window"/></param>
        <returns>a <see cref="T:Gdk.Window"/></returns>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName="CursorLocation">
      <MemberSignature Language="C#" Value="public Gdk.Rectangle CursorLocation { set; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gdk.Rectangle</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="value">a <see cref="T:Gdk.Rectangle"/></param>
        <returns>a <see cref="T:Gdk.Rectangle"/></returns>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName="UsePreedit">
      <MemberSignature Language="C#" Value="public bool UsePreedit { set; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="value">a <see cref="T:System.Boolean"/></param>
        <returns>a <see cref="T:System.Boolean"/></returns>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName="PreeditChanged">
      <MemberSignature Language="C#" Value="public event EventHandler PreeditChanged;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName="PreeditStart">
      <MemberSignature Language="C#" Value="public event EventHandler PreeditStart;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName="SurroundingDeleted">
      <MemberSignature Language="C#" Value="public event Gtk.SurroundingDeletedHandler SurroundingDeleted;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.SurroundingDeletedHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName="Commit">
      <MemberSignature Language="C#" Value="public event Gtk.CommitHandler Commit;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.CommitHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Commit text event.</summary>
        <remarks>The event is emitted when the input method has processed all the keystrokes for an individual text element, including pre-edit keystrokes.  The resulting text is located in <see cref="M:Gtk.CommitArgs.Str" /></remarks>
      </Docs>
    </Member>
    <Member MemberName="RetrieveSurrounding">
      <MemberSignature Language="C#" Value="public event Gtk.RetrieveSurroundingHandler RetrieveSurrounding;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>Gtk.RetrieveSurroundingHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName="PreeditEnd">
      <MemberSignature Language="C#" Value="public event EventHandler PreeditEnd;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName="SetSurrounding">
      <MemberSignature Language="C#" Value="public void SetSurrounding (string text, int cursor_index);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="text" Type="System.String" />
        <Parameter Name="cursor_index" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="text">a <see cref="T:System.String"/></param>
        <param name="cursor_index">a <see cref="T:System.Int32"/></param>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName="GetSurrounding">
      <MemberSignature Language="C#" Value="public bool GetSurrounding (string text, out int cursor_index);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="text" Type="System.String" />
        <Parameter Name="cursor_index" Type="System.Int32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="text">a <see cref="T:System.String" /></param>
        <param name="cursor_index">a <see cref="T:System.Int32&amp;" /></param>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>GType Property.</summary>
        <returns>a <see cref="T:GLib.GType" /></returns>
        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.IMContext" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnPreeditEnd">
      <MemberSignature Language="C#" Value="protected virtual void OnPreeditEnd ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.IMContext.PreeditEnd" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.IMContext.PreeditEnd" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnRetrieveSurrounding">
      <MemberSignature Language="C#" Value="protected virtual bool OnRetrieveSurrounding ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.IMContext.RetrieveSurrounding" /> event.</summary>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.IMContext.RetrieveSurrounding" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnCommit">
      <MemberSignature Language="C#" Value="protected virtual void OnCommit (string str);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="str" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.IMContext.Commit" /> event.</summary>
        <param name="str">a <see cref="T:System.String" /></param>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.IMContext.Commit" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnSurroundingDeleted">
      <MemberSignature Language="C#" Value="protected virtual bool OnSurroundingDeleted (int offset, int n_chars);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="offset" Type="System.Int32" />
        <Parameter Name="n_chars" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.IMContext.SurroundingDeleted" /> event.</summary>
        <param name="offset">a <see cref="T:System.Int32" /></param>
        <param name="n_chars">a <see cref="T:System.Int32" /></param>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.IMContext.SurroundingDeleted" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnPreeditStart">
      <MemberSignature Language="C#" Value="protected virtual void OnPreeditStart ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.IMContext.PreeditStart" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.IMContext.PreeditStart" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnPreeditChanged">
      <MemberSignature Language="C#" Value="protected virtual void OnPreeditChanged ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Default handler for the <see cref="M:Gtk.IMContext.PreeditChanged" /> event.</summary>
        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.IMContext.PreeditChanged" /> event.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected IMContext (GLib.GType gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>Protected Constructor.</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <returns>a <see cref="T:Gtk.IMContext" /></returns>
        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetPreeditString">
      <MemberSignature Language="C#" Value="public int GetPreeditString (string str, Pango.AttrList attrs);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="str" Type="System.String" />
        <Parameter Name="attrs" Type="Pango.AttrList" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="str">a <see cref="T:System.String" /></param>
        <param name="attrs">a <see cref="T:Pango.AttrList" /></param>
        <returns>a <see cref="T:System.Int32" /></returns>
        <remarks/>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected IMContext ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Protected Constructor.</summary>
        <returns>a <see cref="T:Gtk.IMContext" /></returns>
        <remarks />
      </Docs>
    </Member>
  </Members>
</Type>
