#include "im-extra-intl.h"
-
GType type_mim = 0;
/* is this a character that could appear in a mim word */
static gboolean
-is_mim_word_character (gunichar uc)
+is_mim_word_character(gunichar uc)
{
- return (((uc >= 0x0590 && uc <= 0x5ff) || (uc >= 0xfb1d && uc <= 0xfb4f))
- && g_unichar_isdefined (uc) && ! g_unichar_ispunct (uc));
+ return (((uc >= 0x0590 && uc <= 0x5ff) || (uc >= 0xfb1d && uc <= 0xfb4f))
+ && g_unichar_isdefined(uc) && !g_unichar_ispunct(uc));
}
-
static gboolean
-at_initial_position (GtkIMContext *context)
+at_initial_position(GtkIMContext *context)
{
- gchar *text;
- gchar *prevp;
- gint cursor_index;
- gunichar uc;
+ gchar *text;
+ gchar *prevp;
+ gint cursor_index;
+ gunichar uc;
- if (! gtk_im_context_get_surrounding (context, &text, &cursor_index))
- return FALSE;
+ if (!gtk_im_context_get_surrounding(context, &text, &cursor_index))
+ return FALSE;
- prevp = g_utf8_find_prev_char (text, text + cursor_index);
- if (prevp == NULL)
- return TRUE;
+ prevp = g_utf8_find_prev_char(text, text + cursor_index);
+ if (prevp == NULL)
+ return TRUE;
- uc = g_utf8_get_char_validated (prevp, text + cursor_index - prevp);
- g_return_val_if_fail (uc != (gunichar)(-1) && uc != (gunichar)(-2),
- FALSE);
+ uc = g_utf8_get_char_validated(prevp, text + cursor_index - prevp);
+ g_return_val_if_fail(uc != (gunichar)(-1) && uc != (gunichar)(-2), FALSE);
- if (is_mim_word_character (uc))
- return FALSE;
- else
- return TRUE;
-}
-
-static void
-mim_reset (GtkIMContext *context)
-{
+ if (is_mim_word_character(uc))
+ return FALSE;
+ else
+ return TRUE;
}
static gboolean
-mim_filter_keypress (GtkIMContext *context,
- GdkEventKey *event)
+mim_filter_keypress(GtkIMContext *context, GdkEventKey *event)
{
- gboolean is_initial;
- gint i;
+ gboolean is_initial;
+ gint i;
- if (event->type == GDK_KEY_RELEASE)
- return FALSE;
+ if (event->type == GDK_KEY_RELEASE)
+ return FALSE;
- /* don't filter key events with accelerator modifiers held down */
- if (event->state
- & (gtk_accelerator_get_default_mod_mask () & ~GDK_SHIFT_MASK))
- return FALSE;
+ /* don't filter key events with accelerator modifiers held down */
+ if (event->state & (gtk_accelerator_get_default_mod_mask()
+ & ~GDK_SHIFT_MASK))
+ return FALSE;
- is_initial = at_initial_position (context);
- return TRUE;
+ is_initial = at_initial_position(context);
+ return TRUE;
}
-
static void
-mim_class_init (GtkIMContextClass *clazz)
+mim_set_client_window(GtkIMContext *context,
+ GdkWindow *window)
{
- clazz->filter_keypress = mim_filter_keypress;
- clazz->reset = mim_reset;
+ if (window == NULL) {
+ /* create new client window */
+ //mim_mui_create_window();
+ }
}
static void
-mim_init (GtkIMContext *im_context)
+mim_reset(GtkIMContext *context)
{
}
+static void
+mim_class_init(GtkIMContextClass *clazz)
+{
+ clazz->filter_keypress = mim_filter_keypress;
+ clazz->reset = mim_reset;
+ clazz->set_client_window = mim_set_client_window;
+}
static void
-mim_register_type (GTypeModule *module)
+mim_init(GtkIMContext *im_context)
{
- static const GTypeInfo object_info =
- {
- sizeof (GtkIMContextClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mim_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkIMContext),
- 0,
- (GInstanceInitFunc) mim_init,
- };
-
- type_mim =
- g_type_module_register_type (module,
- GTK_TYPE_IM_CONTEXT,
- "GtkIMContextYiddishNoah",
- &object_info, 0);
}
+static void
+mim_register_type(GTypeModule *module)
+{
+ static const GTypeInfo object_info =
+ {
+ sizeof(GtkIMContextClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) mim_class_init,
+ NULL, /* class_finalize */
+ NULL, /* class_data */
+ sizeof(GtkIMContext),
+ 0,
+ (GInstanceInitFunc) mim_init,
+ };
+
+ type_mim = g_type_module_register_type(module,
+ GTK_TYPE_IM_CONTEXT,
+ "GtkIMContextYiddishNoah",
+ &object_info,
+ 0);
+}
-static const GtkIMContextInfo mim_info =
+static const
+GtkIMContextInfo mim_info =
{
- "mim", /* ID */
- N_("MiM"), /* Human readable name */
- GETTEXT_PACKAGE, /* Translation domain */
- LOCALEDIR, /* Dir for bindtextdomain */
- "zh_CN", /* Languages for which this module is the default */
+ "mim", /* ID */
+ N_("MiM"), /* Human readable name */
+ GETTEXT_PACKAGE, /* Translation domain */
+ LOCALEDIR, /* Dir for bindtextdomain */
+ "zh_CN", /* Languages for which this module is the default */
};
-
-static const GtkIMContextInfo *info_list[] =
+static const
+GtkIMContextInfo *info_list[] =
{
- &mim_info,
+ &mim_info,
};
-
void
-im_module_init (GTypeModule *module)
+im_module_init(GTypeModule *module)
{
- g_debug("mim-immodule imported!");
- mim_register_type (module);
+ g_debug("mim-immodule imported!");
+ mim_register_type(module);
}
void
-im_module_exit ()
+im_module_exit()
{
- g_debug("mim-immodule released!");
+ g_debug("mim-immodule released!");
}
-void
-im_module_list (const GtkIMContextInfo ***contexts, gint *n_contexts)
+void
+im_module_list(const GtkIMContextInfo ***contexts,
+ gint *n_contexts)
{
- *contexts = info_list;
- *n_contexts = G_N_ELEMENTS (info_list);
+ *contexts = info_list;
+ *n_contexts = G_N_ELEMENTS(info_list);
}
-
GtkIMContext *
-im_module_create (const gchar *context_id)
+im_module_create(const gchar *context_id)
{
- if (strcmp (context_id, "mim-n") == 0)
- return GTK_IM_CONTEXT (g_object_new (type_mim, NULL));
- else
- return NULL;
+ if (strcmp(context_id, "mim-n") == 0)
+ return GTK_IM_CONTEXT(g_object_new(type_mim, NULL));
+ else
+ return NULL;
}
-
-