hildon-im-settings-plugin

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

Synopsis

                    HildonIMSettingsPluginManager;
                    HildonIMSettingsPlugin;
                    HildonIMSettingsPluginIface;
#define             HILDON_IM_SETTINGS_DEVICE_ID
#define             HILDON_IM_SETTINGS_PRIMARY_LANGUAGE
#define             HILDON_IM_SETTINGS_SECONDARY_LANGUAGE
#define             HILDON_IM_SETTINGS_SELECTED_LANGUAGE
enum                HildonIMSettingsCategory;
GtkWidget*          hildon_im_settings_plugin_create_widget
                                                        (HildonIMSettingsPlugin *plugin,
                                                         HildonIMSettingsCategory where,
                                                         GtkSizeGroup *size_group,
                                                         gint *weight);
void                hildon_im_settings_plugin_value_changed
                                                        (HildonIMSettingsPlugin *plugin,
                                                         const gchar *,
                                                         GType ,
                                                         gpointer );
void                hildon_im_settings_plugin_save_data (HildonIMSettingsPlugin *plugin,
                                                         HildonIMSettingsCategory where);
HildonIMSettingsPluginManager* hildon_im_settings_plugin_manager_new
                                                        (void);
void                hildon_im_settings_plugin_manager_destroy
                                                        (HildonIMSettingsPluginManager *);
gboolean            hildon_im_settings_plugin_manager_load_plugins
                                                        (HildonIMSettingsPluginManager *);
void                hildon_im_settings_plugin_manager_unload_plugins
                                                        (HildonIMSettingsPluginManager *m);
GSList*             hildon_im_settings_plugin_manager_get_plugins
                                                        (HildonIMSettingsPluginManager *);
void                hildon_im_settings_plugin_manager_set_internal_value
                                                        (HildonIMSettingsPluginManager *,
                                                         GType ,
                                                         const gchar *,
                                                         gpointer );
void                hildon_im_settings_plugin_manager_unset_internal_value
                                                        (HildonIMSettingsPluginManager *,
                                                         const gchar *);
gpointer            hildon_im_settings_plugin_manager_get_internal_value
                                                        (HildonIMSettingsPluginManager *,
                                                         const gchar *,
                                                         GType *);
osso_context_t*     hildon_im_settings_plugin_manager_get_context
                                                        (HildonIMSettingsPluginManager *m);
void                hildon_im_settings_plugin_manager_set_context
                                                        (HildonIMSettingsPluginManager *m,
                                                         osso_context_t *osso);

Object Hierarchy

  GInterface
   +----HildonIMSettingsPlugin

Description

Details

HildonIMSettingsPluginManager

typedef struct _HildonIMSettingsPluginManager HildonIMSettingsPluginManager;


HildonIMSettingsPlugin

typedef struct _HildonIMSettingsPlugin HildonIMSettingsPlugin;


HildonIMSettingsPluginIface

typedef struct {
  GTypeInterface base_iface;

  GtkWidget *(*create_widget) (HildonIMSettingsPlugin *, HildonIMSettingsCategory, GtkSizeGroup *, gint *);
  void (*value_changed) (HildonIMSettingsPlugin *, const gchar*, GType type, gpointer value);
  void (*save_data) (HildonIMSettingsPlugin *, HildonIMSettingsCategory where);
  void (*reload) (HildonIMSettingsPlugin *);
	void (*set_manager) (HildonIMSettingsPlugin *, HildonIMSettingsPluginManager *);
} HildonIMSettingsPluginIface;


HILDON_IM_SETTINGS_DEVICE_ID

#define HILDON_IM_SETTINGS_DEVICE_ID          "DeviceID"


HILDON_IM_SETTINGS_PRIMARY_LANGUAGE

#define HILDON_IM_SETTINGS_PRIMARY_LANGUAGE   "PrimaryLanguage"


HILDON_IM_SETTINGS_SECONDARY_LANGUAGE

#define HILDON_IM_SETTINGS_SECONDARY_LANGUAGE "SecondaryLanguage"


HILDON_IM_SETTINGS_SELECTED_LANGUAGE

#define HILDON_IM_SETTINGS_SELECTED_LANGUAGE  "SelectedLanguage"


enum HildonIMSettingsCategory

typedef enum
{
  HILDON_IM_SETTINGS_HARDWARE,
  HILDON_IM_SETTINGS_ONSCREEN,
  HILDON_IM_SETTINGS_LANGUAGE_GENERAL,
  HILDON_IM_SETTINGS_PRIMARY_LANGUAGE_SETTINGS_WIDGET,
  HILDON_IM_SETTINGS_SECONDARY_LANGUAGE_SETTINGS_WIDGET,
  HILDON_IM_SETTINGS_LANGUAGE_ADDITIONAL,
  HILDON_IM_SETTINGS_OTHER
} HildonIMSettingsCategory;


hildon_im_settings_plugin_create_widget ()

GtkWidget*          hildon_im_settings_plugin_create_widget
                                                        (HildonIMSettingsPlugin *plugin,
                                                         HildonIMSettingsCategory where,
                                                         GtkSizeGroup *size_group,
                                                         gint *weight);

Creates the widget and gives the estimation of the weight of the widget so the application can easily determine the order of the widgets created by separate plugins.

plugin : HildonIMSettingsPlugin
where : HildonIMSettingsCategory, where to put the widget
size_group : GtkSizeGroup
weight : gint specifies the 'weight' or the position of the widget, negative numbers yields more top position.
Returns :

hildon_im_settings_plugin_value_changed ()

void                hildon_im_settings_plugin_value_changed
                                                        (HildonIMSettingsPlugin *plugin,
                                                         const gchar *,
                                                         GType ,
                                                         gpointer );

Called when a value in the settings changed. The plugin might want to do something when other plugin change it's settings.

plugin : HildonIMSettingsPlugin
Param2 :
Param3 :
Param4 :

hildon_im_settings_plugin_save_data ()

void                hildon_im_settings_plugin_save_data (HildonIMSettingsPlugin *plugin,
                                                         HildonIMSettingsCategory where);

If where is 0 then it occured in the applet main UI, and if it is 1 then it occured in the languages dialog. Some plugins which don't have settings in the language dialog may want to skip the saving if the changes made in the language dialog, and vice versa.

plugin : HildonIMSettingsPlugin
where : gint where the saving occured.

hildon_im_settings_plugin_manager_new ()

HildonIMSettingsPluginManager* hildon_im_settings_plugin_manager_new
                                                        (void);

Creates a Settings Plugin Manager

Returns :

hildon_im_settings_plugin_manager_destroy ()

void                hildon_im_settings_plugin_manager_destroy
                                                        (HildonIMSettingsPluginManager *);

Destroy a Settings Plugin Manager

Param1 :

hildon_im_settings_plugin_manager_load_plugins ()

gboolean            hildon_im_settings_plugin_manager_load_plugins
                                                        (HildonIMSettingsPluginManager *);

Param1 :
Returns :

hildon_im_settings_plugin_manager_unload_plugins ()

void                hildon_im_settings_plugin_manager_unload_plugins
                                                        (HildonIMSettingsPluginManager *m);

Unloads all plugins loaded.

m :

hildon_im_settings_plugin_manager_get_plugins ()

GSList*             hildon_im_settings_plugin_manager_get_plugins
                                                        (HildonIMSettingsPluginManager *);

Param1 :
Returns :

hildon_im_settings_plugin_manager_set_internal_value ()

void                hildon_im_settings_plugin_manager_set_internal_value
                                                        (HildonIMSettingsPluginManager *,
                                                         GType ,
                                                         const gchar *,
                                                         gpointer );

Param1 :
Param2 :
Param3 :
Param4 :

hildon_im_settings_plugin_manager_unset_internal_value ()

void                hildon_im_settings_plugin_manager_unset_internal_value
                                                        (HildonIMSettingsPluginManager *,
                                                         const gchar *);

Param1 :
Param2 :

hildon_im_settings_plugin_manager_get_internal_value ()

gpointer            hildon_im_settings_plugin_manager_get_internal_value
                                                        (HildonIMSettingsPluginManager *,
                                                         const gchar *,
                                                         GType *);

Param1 :
Param2 :
Param3 :
Returns :

hildon_im_settings_plugin_manager_get_context ()

osso_context_t*     hildon_im_settings_plugin_manager_get_context
                                                        (HildonIMSettingsPluginManager *m);

Sets the osso_context used by the HildonIMSettingsPluginManager.

m :
Returns :

hildon_im_settings_plugin_manager_set_context ()

void                hildon_im_settings_plugin_manager_set_context
                                                        (HildonIMSettingsPluginManager *m,
                                                         osso_context_t *osso);

m :
osso :