<?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-gtkimmulticontext">
  <refnamediv>
    <refname>gtk.IMMulticontext</refname>
    <refpurpose>an input method context object that manages the use of
multiple input method contexts for a widget</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>gtk.IMMulticontext</classname></ooclass>
      <ooclass><classname><link
linkend="class-gtkimcontext">gtk.IMContext</link></classname></ooclass>
      <constructorsynopsis language="python">
	<methodname><link
linkend="constructor-gtkimmulticontext">gtk.IMMulticontext</link></methodname>
	<methodparam></methodparam>  </constructorsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkimmulticontext--append-menuitems">append_menuitems</link></methodname>
	<methodparam><parameter
		       role="keyword">menushell</parameter></methodparam>
      </methodsynopsis>

      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkimmulticontext--get-context-id">get_context_id</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkimmulticontext--set-context-id">set_context_id</link></methodname>
        <methodparam><parameter role="keyword">context_id</parameter></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-gtkimcontext">gtk.IMContext</link>
      +-- <link linkend="class-gtkimmulticontext">gtk.IMMulticontext</link>
</synopsis>

  </refsect1>

  <refsect1 id="signal-prototypes-gtkimmulticontext">
    <title>gtk.IMMulticontext Signal Prototypes</title>

    <para><link linkend="signal-prototypes-gobject">gobject.GObject Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkimcontext">gtk.IMContext Signal Prototypes</link></para>
  </refsect1>

  <refsect1>
    <title>Description</title>

    <para>The <link
linkend="class-gtkimmulticontext"><classname>gtk.IMMulticontext</classname></link> 
class is a subclass of <link
linkend="class-gtkimcontext"><classname>gtk.IMContext</classname></link>
that manages the use of multiple input method contexts for a widget
including the ability to switch between contexts on the fly. A <link
linkend="class-gtkimmulticontext"><classname>gtk.IMMulticontext</classname></link> 
object will proxy the method calls and signals to and from the object
implementing the input method.</para>

  </refsect1>

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

    <programlisting><constructorsynopsis language="python">
	<methodname>gtk.IMMulticontext</methodname>
	<methodparam></methodparam>  </constructorsynopsis></programlisting>
    <variablelist>
      <varlistentry>
	<term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara>a new <link
linkend="class-gtkimmulticontext"><classname>gtk.IMMulticontext</classname>
object</link>.</simpara></listitem>
      </varlistentry>
    </variablelist>

    <para>Creates a new <link
linkend="class-gtkimmulticontext"><classname>gtk.IMMulticontext</classname></link> 
object.</para>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-gtkimmulticontext--append-menuitems">
      <title>gtk.IMMulticontext.append_menuitems</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>append_menuitems</methodname>
	  <methodparam><parameter
			 role="keyword">menushell</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">menushell</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtkmenushell"><classname>gtk.MenuShell</classname></link>
widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>append_menuitems</methodname>() method adds
menuitems for various available input methods to a menu; the menuitems, when
selected, will switch the input method for the context and the global
default input method.</para>

    </refsect2>

    <refsect2 id="method-gtkimmulticontext--get-context-id">
      <title>gtk.IMMulticontext.get_context_id</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_context_id</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>The id of the currently active slave.</simpara></listitem>
        </varlistentry>
      </variablelist>

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

      <para>The <methodname>get_context_id</methodname>() method gets the id of the
      currently active slave of the context. </para>

    </refsect2>

    <refsect2 id="method-gtkimmulticontext--set-context-id">
      <title>gtk.IMMulticontext.set_context_id</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_context_id</methodname>
        <methodparam><parameter role="keyword">context_id</parameter></methodparam>
      </methodsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">context_id</parameter>&nbsp;:</term>
          <listitem><simpara>The id to use.</simpara></listitem>
        </varlistentry>
      </variablelist>

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

      <para>The <methodname>set_context_id</methodname>() method sets the context id
      for context.</para>
      
      <para>This causes the currently active slave of context to be replaced by the
      slave corresponding to the new context id.</para>

    </refsect2>

  </refsect1>

</refentry>
