### Class

# Gtk IMMulticontext

since: 4.0

#### Description [src]

    class Gtk.IMMulticontext : Gtk.IMContext
    {
      /* No available fields */
    }

`GtkIMMulticontext` is an input method context supporting multiple, switchable input methods.

Text widgets such as `GtkText` or `GtkTextView` use a `GtkIMMultiContext` to implement their `im-module` property for switching between different input methods.

Available since: 4.0

#### Ancestors

- GtkIMContext
- GObject

#### Constructors

###### gtk_im_multicontext_new

Creates a new `GtkIMMulticontext`.

since: 4.0

#### Instance methods

###### gtk_im_multicontext_get_context_id

Gets the id of the currently active delegate of the `context`.

since: 4.0

###### gtk_im_multicontext_set_context_id

Sets the context id for `context`.

since: 4.0

##### Methods inherited from GtkIMContext (15)

###### gtk_im_context_activate_osk

Requests the platform to show an on-screen keyboard for user input.

since: 4.14

###### gtk_im_context_delete_surrounding

Asks the widget that the input context is attached to delete characters around the cursor position by emitting the `::delete_surrounding` signal.

since: 4.0

###### gtk_im_context_filter_key

Allow an input method to forward key press and release events to another input method without necessarily having a `GdkEvent` available.

since: 4.0

###### gtk_im_context_filter_keypress

Allow an input method to internally handle key press and release events.

since: 4.0

###### gtk_im_context_focus_in

Notify the input method that the widget to which this input context corresponds has gained focus.

since: 4.0

###### gtk_im_context_focus_out

Notify the input method that the widget to which this input context corresponds has lost focus.

since: 4.0

###### gtk_im_context_get_preedit_string

Retrieve the current preedit string for the input context, and a list of attributes to apply to the string.

since: 4.0

###### gtk_im_context_get_surrounding

Retrieves context around the insertion point.

deprecated: 4.2 since: 4.0

###### gtk_im_context_get_surrounding_with_selection

Retrieves context around the insertion point.

since: 4.2

###### gtk_im_context_reset

Notify the input method that a change such as a change in cursor position has been made.

since: 4.0

###### gtk_im_context_set_client_widget

Set the client widget for the input context.

since: 4.0

###### gtk_im_context_set_cursor_location

Notify the input method that a change in cursor position has been made.

since: 4.0

###### gtk_im_context_set_surrounding

Sets surrounding context around the insertion point and preedit string.

deprecated: 4.2 since: 4.0

###### gtk_im_context_set_surrounding_with_selection

Sets surrounding context around the insertion point and preedit string. This function is expected to be called in response to the `GtkIMContext::retrieve-surrounding` signal, and will likely have no effect if called at other times.

since: 4.2

###### gtk_im_context_set_use_preedit

Sets whether the IM context should use the preedit string to display feedback.

since: 4.0

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

##### Properties inherited from GtkIMContext (2)

###### Gtk.IMContext:input-hints

Additional hints that allow input methods to fine-tune their behaviour.

since: 4.0

###### Gtk.IMContext:input-purpose

The purpose of the text field that the `GtkIMContext is connected to.

since: 4.0

#### Signals

##### Signals inherited from GtkIMContext (6)

###### GtkIMContext::commit

The ::commit signal is emitted when a complete input sequence has been entered by the user.

since: 4.0

###### GtkIMContext::delete-surrounding

The ::delete-surrounding signal is emitted when the input method needs to delete all or part of the context surrounding the cursor.

since: 4.0

###### GtkIMContext::preedit-changed

The ::preedit-changed signal is emitted whenever the preedit sequence currently being entered has changed.

since: 4.0

###### GtkIMContext::preedit-end

The ::preedit-end signal is emitted when a preediting sequence has been completed or canceled.

since: 4.0

###### GtkIMContext::preedit-start

The ::preedit-start signal is emitted when a new preediting sequence starts.

since: 4.0

###### GtkIMContext::retrieve-surrounding

The ::retrieve-surrounding signal is emitted when the input method requires the context surrounding the cursor.

since: 4.0

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

since: 2.0

#### Class structure

    struct GtkIMMulticontextClass {
      GtkIMContextClass parent_class;
      void (* _gtk_reserved1) (
    void
      );
      void (* _gtk_reserved2) (
    void
      );
      void (* _gtk_reserved3) (
    void
      );
      void (* _gtk_reserved4) (
    void
      );

    }

No description available.

###### Class members

`parent_class: GtkIMContextClass`
  No description available.
`_gtk_reserved1: void (* _gtk_reserved1) ( void )`
  No description available.
`_gtk_reserved2: void (* _gtk_reserved2) ( void )`
  No description available.
`_gtk_reserved3: void (* _gtk_reserved3) ( void )`
  No description available.
`_gtk_reserved4: void (* _gtk_reserved4) ( void )`
  No description available.