hildon-im-plugin

hildon-im-plugin — Plugin interface for Hildon Input Method

Synopsis

                    HildonIMPlugin;
                    HildonIMPluginIface;
#define             HILDON_IM_DEFAULT_PLUGIN_PRIORITY
enum                HildonIMPluginGroup;
enum                HildonIMPluginType;
void                hildon_im_plugin_enable             (HildonIMPlugin *plugin,
                                                         gboolean init);
void                hildon_im_plugin_disable            (HildonIMPlugin *plugin);
void                hildon_im_plugin_settings_changed   (HildonIMPlugin *plugin,
                                                         const gchar *key,
                                                         const GConfValue *value);
void                hildon_im_plugin_language_settings_changed
                                                        (HildonIMPlugin *plugin,
                                                         gint index);
void                hildon_im_plugin_input_mode_changed (HildonIMPlugin *plugin);
void                hildon_im_plugin_keyboard_state_changed
                                                        (HildonIMPlugin *plugin);
void                hildon_im_plugin_character_autocase (HildonIMPlugin *plugin);
void                hildon_im_plugin_client_widget_changed
                                                        (HildonIMPlugin *plugin);
void                hildon_im_plugin_save_data          (HildonIMPlugin *plugin);
void                hildon_im_plugin_clear              (HildonIMPlugin *plugin);
void                hildon_im_plugin_button_activated   (HildonIMPlugin *plugin,
                                                         HildonIMButton button,
                                                         gboolean long_press);
void                hildon_im_plugin_mode_a             (HildonIMPlugin *plugin);
void                hildon_im_plugin_mode_b             (HildonIMPlugin *plugin);
void                hildon_im_plugin_language           (HildonIMPlugin *plugin);
void                hildon_im_plugin_backspace          (HildonIMPlugin *plugin);
void                hildon_im_plugin_enter              (HildonIMPlugin *plugin);
void                hildon_im_plugin_tab                (HildonIMPlugin *plugin);
void                hildon_im_plugin_fullscreen         (HildonIMPlugin *plugin,
                                                         gboolean fullscreen);
void                hildon_im_plugin_select_region      (HildonIMPlugin *plugin,
                                                         gint start,
                                                         gint end);
void                hildon_im_plugin_key_event          (HildonIMPlugin *plugin,
                                                         GdkEventType type,
                                                         guint state,
                                                         guint keyval,
                                                         guint hardware_keycode);
void                hildon_im_plugin_transition         (HildonIMPlugin *plugin,
                                                         gboolean from);
void                hildon_im_plugin_surrounding_received
                                                        (HildonIMPlugin *plugin,
                                                         const gchar *surrounding,
                                                         gint offset);
void                hildon_im_plugin_preedit_committed  (HildonIMPlugin *plugin,
                                                         const gchar *committed_preedit);
HildonIMPluginInfo* hildon_im_plugin_duplicate_info     (const HildonIMPluginInfo *src);
HildonIMPlugin*     hildon_im_plugin_create             (HildonIMUI *keyboard,
                                                         const gchar *plugin_name);

Object Hierarchy

  GInterface
   +----HildonIMPlugin

Prerequisites

HildonIMPlugin requires GtkWidget.

Description

Details

HildonIMPlugin

typedef struct _HildonIMPlugin HildonIMPlugin;


HildonIMPluginIface

typedef struct {
  GTypeInterface base_iface;

  void (*enable) (HildonIMPlugin *plugin, gboolean init);
  void (*disable) (HildonIMPlugin *plugin);
  void (*settings_changed) (HildonIMPlugin *plugin, const gchar *key,
                            const GConfValue *value);
  void (*language_settings_changed) (HildonIMPlugin *plugin, gint index);
  void (*input_mode_changed) (HildonIMPlugin *plugin);
  void (*keyboard_state_changed) (HildonIMPlugin *plugin);
  void (*client_widget_changed) (HildonIMPlugin *plugin);
  void (*character_autocase) (HildonIMPlugin *plugin);
  void (*clear) (HildonIMPlugin *plugin);
  void (*save_data) (HildonIMPlugin *plugin);

  void (*mode_a) (HildonIMPlugin *plugin);
  void (*mode_b) (HildonIMPlugin *plugin);
  void (*language) (HildonIMPlugin *plugin);
  void (*backspace) (HildonIMPlugin *plugin);
  void (*enter) (HildonIMPlugin *plugin);
  void (*tab) (HildonIMPlugin *plugin);
  void (*fullscreen) (HildonIMPlugin *plugin, gboolean fullscreen);
  void (*select_region) (HildonIMPlugin *plugin, gint start, gint end);
  void (*key_event) (HildonIMPlugin *plugin, GdkEventType type,
                     guint state, guint keyval, guint hardware_keycode);
  void (*transition) (HildonIMPlugin *plugin, gboolean from);
  void (*surrounding_received) (HildonIMPlugin *plugin,
                                const gchar *surrounding,
                                gint offset);
  void (*button_activated) (HildonIMPlugin *plugin,
                            HildonIMButton button,
                            gboolean long_press);
  
  void (*preedit_committed) (HildonIMPlugin *plugin,
                             const gchar *committed_preedit);
} HildonIMPluginIface;


HILDON_IM_DEFAULT_PLUGIN_PRIORITY

#define HILDON_IM_DEFAULT_PLUGIN_PRIORITY 0


enum HildonIMPluginGroup

typedef enum
{
  HILDON_IM_GROUP_LATIN,
  HILDON_IM_GROUP_CJK,
  HILDON_IM_GROUP_CUSTOM = 0x1000
} HildonIMPluginGroup;

The plugins can be intended for Latin, CJK or other languages.

HILDON_IM_GROUP_LATIN Lating languajes
HILDON_IM_GROUP_CJK Chinese, Japanese and Korean
HILDON_IM_GROUP_CUSTOM Other languages

enum HildonIMPluginType

typedef enum
{
  HILDON_IM_TYPE_DEFAULT,
  HILDON_IM_TYPE_SPECIAL,
  HILDON_IM_TYPE_FULLSCREEN,
  HILDON_IM_TYPE_PERSISTENT,
  HILDON_IM_TYPE_OTHERS,
  HILDON_IM_TYPE_HIDDEN,
  HILDON_IM_TYPE_SPECIAL_STANDALONE
} HildonIMPluginType;

The different kinds of plugins. Note that some of them aren't supported in Framentle because the HIM UI has been removed.

HILDON_IM_TYPE_DEFAULT The plugin uses default UI. Deprecated: Not used in Fremantle.
HILDON_IM_TYPE_SPECIAL The plugin is called by another plugin. Deprecated: Not used in Fremantle.
HILDON_IM_TYPE_FULLSCREEN The plugin is fullscreen
HILDON_IM_TYPE_PERSISTENT The plugin is loaded at startup and never removed.
HILDON_IM_TYPE_OTHERS The plugin doesn't fall into any of categories above.
HILDON_IM_TYPE_HIDDEN The plugin doesn't have a graphical UI.
HILDON_IM_TYPE_SPECIAL_STANDALONE A special plugin that has its own window

hildon_im_plugin_enable ()

void                hildon_im_plugin_enable             (HildonIMPlugin *plugin,
                                                         gboolean init);

Called when the plugin is enabled

plugin : HildonIMPlugin
init : whether it is called during initialized

hildon_im_plugin_disable ()

void                hildon_im_plugin_disable            (HildonIMPlugin *plugin);

Called when the plugin is disabled

plugin : HildonIMPlugin

hildon_im_plugin_settings_changed ()

void                hildon_im_plugin_settings_changed   (HildonIMPlugin *plugin,
                                                         const gchar *key,
                                                         const GConfValue *value);

A gconf value has been changed

plugin : HildonIMPlugin
key : the key id
value : the value

hildon_im_plugin_language_settings_changed ()

void                hildon_im_plugin_language_settings_changed
                                                        (HildonIMPlugin *plugin,
                                                         gint index);

The language settings has been changed

plugin : HildonIMPlugin
index : 0 = primary, 1 = secondary

hildon_im_plugin_input_mode_changed ()

void                hildon_im_plugin_input_mode_changed (HildonIMPlugin *plugin);

The input mode has been changed

plugin : HildonIMPlugin

hildon_im_plugin_keyboard_state_changed ()

void                hildon_im_plugin_keyboard_state_changed
                                                        (HildonIMPlugin *plugin);

The keyboard availability has changed

plugin : HildonIMPlugin

hildon_im_plugin_character_autocase ()

void                hildon_im_plugin_character_autocase (HildonIMPlugin *plugin);

Called when it is necessary to check the autocase

plugin : HildonIMPlugin

hildon_im_plugin_client_widget_changed ()

void                hildon_im_plugin_client_widget_changed
                                                        (HildonIMPlugin *plugin);

Called when the client widget has changed

plugin : HildonIMPlugin

hildon_im_plugin_save_data ()

void                hildon_im_plugin_save_data          (HildonIMPlugin *plugin);

Called when the main UI instructs us to save our own data

plugin : HildonIMPlugin

hildon_im_plugin_clear ()

void                hildon_im_plugin_clear              (HildonIMPlugin *plugin);

Clear the plugin

plugin : HildonIMPlugin

hildon_im_plugin_button_activated ()

void                hildon_im_plugin_button_activated   (HildonIMPlugin *plugin,
                                                         HildonIMButton button,
                                                         gboolean long_press);

Called when one of the common IM UI buttons is activated

plugin : HildonIMPlugin
button : HildonIMButton
long_press : whether the press was a long one

hildon_im_plugin_mode_a ()

void                hildon_im_plugin_mode_a             (HildonIMPlugin *plugin);

Warning

hildon_im_plugin_mode_a is deprecated and should not be used in newly-written code. Use hildon_im_plugin_button_activated Called when the mode a button is pressed

plugin : HildonIMPlugin

hildon_im_plugin_mode_b ()

void                hildon_im_plugin_mode_b             (HildonIMPlugin *plugin);

Warning

hildon_im_plugin_mode_b is deprecated and should not be used in newly-written code. Use hildon_im_plugin_button_activated Called when the mode b button is pressed

plugin : HildonIMPlugin

hildon_im_plugin_language ()

void                hildon_im_plugin_language           (HildonIMPlugin *plugin);

Deprecated

plugin : HildonIMPlugin

hildon_im_plugin_backspace ()

void                hildon_im_plugin_backspace          (HildonIMPlugin *plugin);

Called when the backspace button is pressed

plugin : HildonIMPlugin

hildon_im_plugin_enter ()

void                hildon_im_plugin_enter              (HildonIMPlugin *plugin);

Called when the enter button is pressed

plugin : HildonIMPlugin

hildon_im_plugin_tab ()

void                hildon_im_plugin_tab                (HildonIMPlugin *plugin);

Called when the tab button is pressed

plugin : HildonIMPlugin

hildon_im_plugin_fullscreen ()

void                hildon_im_plugin_fullscreen         (HildonIMPlugin *plugin,
                                                         gboolean fullscreen);

Called when it is needed to change the screen size

plugin : HildonIMPlugin
fullscreen : whether it is a fullscreen or not

hildon_im_plugin_select_region ()

void                hildon_im_plugin_select_region      (HildonIMPlugin *plugin,
                                                         gint start,
                                                         gint end);

When it is instructed to select a region

plugin : HildonIMPlugin
start :
end :

hildon_im_plugin_key_event ()

void                hildon_im_plugin_key_event          (HildonIMPlugin *plugin,
                                                         GdkEventType type,
                                                         guint state,
                                                         guint keyval,
                                                         guint hardware_keycode);

Called when for any key event

plugin : HildonIMPlugin
type :
state :
keyval :
hardware_keycode :

hildon_im_plugin_transition ()

void                hildon_im_plugin_transition         (HildonIMPlugin *plugin,
                                                         gboolean from);

Called when a plugin receives or loses control as the active plugin

plugin : HildonIMPlugin
from : whether the transition is from or to the plugin

hildon_im_plugin_surrounding_received ()

void                hildon_im_plugin_surrounding_received
                                                        (HildonIMPlugin *plugin,
                                                         const gchar *surrounding,
                                                         gint offset);

Provides the plugin with the surrounding of the client application

plugin : HildonIMPlugin
surrounding : the new surrounding
offset : the offset of the cursor within the surrounding

hildon_im_plugin_preedit_committed ()

void                hildon_im_plugin_preedit_committed  (HildonIMPlugin *plugin,
                                                         const gchar *committed_preedit);

Provides the plugin with the preedit text that the IMContext committed.

plugin : HildonIMPlugin
committed_preedit : the preedit that was committed

hildon_im_plugin_duplicate_info ()

HildonIMPluginInfo* hildon_im_plugin_duplicate_info     (const HildonIMPluginInfo *src);

Make a copy of a HildonIMPluginInfo

src : source
Returns : a HildonIMPluginInfo

hildon_im_plugin_create ()

HildonIMPlugin*     hildon_im_plugin_create             (HildonIMUI *keyboard,
                                                         const gchar *plugin_name);

Creates a plugin

keyboard : HildonIMUI
plugin_name : the name
Returns :