<class name="QInputContextFactory" doc="/**
&lt;p&gt;The &lt;a href=&quot;QInputContextFactory.html#QInputContextFactory()&quot;&gt;&lt;tt&gt;QInputContextFactory&lt;/tt&gt;&lt;/a&gt; class creates &lt;a href=&quot;QInputContext.html&quot;&gt;&lt;tt&gt;QInputContext&lt;/tt&gt;&lt;/a&gt; objects.&lt;/p&gt;
&lt;p&gt;The input context factory creates a &lt;a href=&quot;QInputContext.html&quot;&gt;&lt;tt&gt;QInputContext&lt;/tt&gt;&lt;/a&gt; object for a given key with QInputContextFactory::create().&lt;/p&gt;
&lt;p&gt;The input contexts are either built-in or dynamically loaded from an input context plugin (see QInputContextPlugin).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;QInputContextFactory.html#keys()&quot;&gt;&lt;tt&gt;keys&lt;/tt&gt;&lt;/a&gt; returns a list of valid keys. The keys are the names used, for example, to identify and specify input methods for the input method switching mechanism. The names have to be consistent with QInputContext::identifierName(), and may only contain ASCII characters.&lt;/p&gt;
&lt;p&gt;A key can be used to retrieve the associated input context's supported languages using &lt;a href=&quot;QInputContextFactory.html#languages(java.lang.String)&quot;&gt;&lt;tt&gt;languages&lt;/tt&gt;&lt;/a&gt;. You can retrieve the input context's description using &lt;a href=&quot;QInputContextFactory.html#description(java.lang.String)&quot;&gt;&lt;tt&gt;description&lt;/tt&gt;&lt;/a&gt; and finally you can get a user friendly internationalized name of the &lt;a href=&quot;QInputContext.html&quot;&gt;&lt;tt&gt;QInputContext&lt;/tt&gt;&lt;/a&gt; object specified by the key using &lt;a href=&quot;QInputContextFactory.html#displayName(java.lang.String)&quot;&gt;&lt;tt&gt;displayName&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QInputContext.html&quot;&gt;&lt;tt&gt;QInputContext&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;QInputContextPlugin&lt;/tt&gt; */">
    <method name="public QInputContextFactory()"/>
    <method name="public static com.trolltech.qt.gui.QInputContext create(java.lang.String key, com.trolltech.qt.core.QObject parent)" doc="/**
&lt;p&gt;Creates and returns a &lt;a href=&quot;QInputContext.html&quot;&gt;&lt;tt&gt;QInputContext&lt;/tt&gt;&lt;/a&gt; object for the input context specified by &lt;tt&gt;key&lt;/tt&gt; with the given &lt;tt&gt;parent&lt;/tt&gt;. Keys are case sensitive.&lt;/p&gt;

@see &lt;a href=&quot;QInputContextFactory.html#keys()&quot;&gt;&lt;tt&gt;keys&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public native static java.lang.String description(java.lang.String key)" doc="/**
&lt;p&gt;Returns an internationalized brief description of the &lt;a href=&quot;QInputContext.html&quot;&gt;&lt;tt&gt;QInputContext&lt;/tt&gt;&lt;/a&gt; object specified by &lt;tt&gt;key&lt;/tt&gt;. You can, for example, use this description in a user interface.&lt;/p&gt;

@see &lt;a href=&quot;QInputContextFactory.html#keys()&quot;&gt;&lt;tt&gt;keys&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QInputContextFactory.html#displayName(java.lang.String)&quot;&gt;&lt;tt&gt;displayName&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public native static java.lang.String displayName(java.lang.String key)" doc="/**
&lt;p&gt;Returns a user friendly internationalized name of the &lt;a href=&quot;QInputContext.html&quot;&gt;&lt;tt&gt;QInputContext&lt;/tt&gt;&lt;/a&gt; object specified by &lt;tt&gt;key&lt;/tt&gt;. You can, for example, use this name in a menu.&lt;/p&gt;

@see &lt;a href=&quot;QInputContextFactory.html#keys()&quot;&gt;&lt;tt&gt;keys&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;QInputContext::identifierName&lt;/tt&gt; */"/>
    <method name="public native static java.util.List&lt;java.lang.String&gt; keys()" doc="/**
&lt;p&gt;Returns the list of keys this factory can create input contexts for.&lt;/p&gt;
&lt;p&gt;The keys are the names used, for example, to identify and specify input methods for the input method switching mechanism. The names have to be consistent with QInputContext::identifierName(), and may only contain ASCII characters.&lt;/p&gt;

@see &lt;a href=&quot;QInputContextFactory.html#create(java.lang.String, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;create&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QInputContextFactory.html#displayName(java.lang.String)&quot;&gt;&lt;tt&gt;displayName&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;QInputContext::identifierName&lt;/tt&gt; */"/>
    <method name="public native static java.util.List&lt;java.lang.String&gt; languages(java.lang.String key)" doc="/**
&lt;p&gt;Returns the languages supported by the &lt;a href=&quot;QInputContext.html&quot;&gt;&lt;tt&gt;QInputContext&lt;/tt&gt;&lt;/a&gt; object specified by &lt;tt&gt;key&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;The languages are expressed as language code (e.g&amp;#x2e; &amp;quot;zh_CN&amp;quot;, &amp;quot;zh_TW&amp;quot;, &amp;quot;zh_HK&amp;quot;, &amp;quot;ja&amp;quot;, &amp;quot;ko&amp;quot;, ..&amp;#x2e;)&amp;#x2e; An input context that supports multiple languages can return all supported languages as a &lt;a href=&quot;%2E%2E/porting4.html#qstringlist&quot;&gt;&lt;tt&gt;QStringList&lt;/tt&gt;&lt;/a&gt;. The name has to be consistent with QInputContext::language().&lt;/p&gt;
&lt;p&gt;This information may be used to optimize a user interface.&lt;/p&gt;

@see &lt;a href=&quot;QInputContextFactory.html#keys()&quot;&gt;&lt;tt&gt;keys&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;QInputContext::language&lt;/tt&gt;
@see &lt;a href=&quot;%2E%2E/core/QLocale.html&quot;&gt;&lt;tt&gt;QLocale&lt;/tt&gt;&lt;/a&gt; */"/>
</class>
