Ejemplo n.º 1
0
Archivo: imti-er.c Proyecto: BYC/gtk
static void
ti_er_init (GtkIMContextSimple *im_context)
{
  gtk_im_context_simple_add_table (im_context,
				   ti_er_compose_seqs,
				   5,
				   G_N_ELEMENTS (ti_er_compose_seqs) / (5 + 2));
}
Ejemplo n.º 2
0
static void
cyrillic_translit_init (GtkIMContextSimple *im_context)
{
  gtk_im_context_simple_add_table (im_context,
				   cyrillic_compose_seqs,
				   4,
				   G_N_ELEMENTS (cyrillic_compose_seqs) / (4 + 2));
}
Ejemplo n.º 3
0
static void
inuktitut_init (GtkIMContextSimple *im_context)
{
  gtk_im_context_simple_add_table (im_context,
				   inuktitut_compose_seqs,
				   4,
				   G_N_ELEMENTS (inuktitut_compose_seqs) / (4 + 2));
}
Ejemplo n.º 4
0
static void
viqr_init (GtkIMContextSimple *im_context)
{
  gtk_im_context_simple_add_table (im_context,
				   viqr_compose_seqs,
				   4,
				   G_N_ELEMENTS (viqr_compose_seqs) / (4 + 2));
}
Ejemplo n.º 5
0
Archivo: imcedilla.c Proyecto: BYC/gtk
static void
cedilla_init (GtkIMContextSimple *im_context)
{
  gtk_im_context_simple_add_table (im_context,
				   cedilla_compose_seqs,
				   4,
				   G_N_ELEMENTS (cedilla_compose_seqs) / (4 + 2));
}
Ejemplo n.º 6
0
static void
fcitx_im_context_init(FcitxIMContext *context)
{
    FcitxLog(LOG_LEVEL, "fcitx_im_context_init");
    context->client = NULL;
    context->area.x = -1;
    context->area.y = -1;
    context->area.width = 0;
    context->area.height = 0;
    context->use_preedit = TRUE;
    context->cursor_pos = 0;
    context->preedit_string = NULL;
    context->attrlist = NULL;
    context->capacity = CAPACITY_SURROUNDING_TEXT;

    context->slave = gtk_im_context_simple_new();
    gtk_im_context_simple_add_table(GTK_IM_CONTEXT_SIMPLE(context->slave),
                                    cedilla_compose_seqs,
                                    4,
                                    G_N_ELEMENTS(cedilla_compose_seqs) / (4 + 2));

    g_signal_connect(context->slave,
                     "commit",
                     G_CALLBACK(_slave_commit_cb),
                     context);
    g_signal_connect(context->slave,
                     "preedit-start",
                     G_CALLBACK(_slave_preedit_start_cb),
                     context);
    g_signal_connect(context->slave,
                     "preedit-end",
                     G_CALLBACK(_slave_preedit_end_cb),
                     context);
    g_signal_connect(context->slave,
                     "preedit-changed",
                     G_CALLBACK(_slave_preedit_changed_cb),
                     context);
    g_signal_connect(context->slave,
                     "retrieve-surrounding",
                     G_CALLBACK(_slave_retrieve_surrounding_cb),
                     context);
    g_signal_connect(context->slave,
                     "delete-surrounding",
                     G_CALLBACK(_slave_delete_surrounding_cb),
                     context);

    context->time = GDK_CURRENT_TIME;

    context->client = fcitx_client_new();
    g_signal_connect(context->client, "connected", G_CALLBACK(_fcitx_im_context_connect_cb), context);
    g_signal_connect(context->client, "enable-im", G_CALLBACK(_fcitx_im_context_enable_im_cb), context);
    g_signal_connect(context->client, "close-im", G_CALLBACK(_fcitx_im_context_close_im_cb), context);
    g_signal_connect(context->client, "forward-key", G_CALLBACK(_fcitx_im_context_forward_key_cb), context);
    g_signal_connect(context->client, "commit-string", G_CALLBACK(_fcitx_im_context_commit_string_cb), context);
    g_signal_connect(context->client, "delete-surrounding-text", G_CALLBACK(_fcitx_im_context_delete_surrounding_text_cb), context);
    g_signal_connect(context->client, "update-formatted-preedit", G_CALLBACK(_fcitx_im_context_update_formatted_preedit_cb), context);
}
/* TODO: Why are we taking a third argument?  Shouldn't it be determined by the
 * length of rbdata? */
static VALUE
rg_add_table(VALUE self, VALUE rbdata, VALUE rbmax_seq_len, VALUE rbn_seqs)
{
    GtkIMContextSimple *context_simple = _SELF(self);
    gint max_seq_len = NUM2INT(rbmax_seq_len);
    gint n_seqs = NUM2INT(rbn_seqs);
    long n;
    guint16 *data;

    if (max_seq_len > GTK_MAX_COMPOSE_LEN)
        rb_raise(rb_eArgError,
                 "max_seq_len cannot be greater than GTK_MAX_COMPOSE_LEN: %d > %d",
                 max_seq_len, GTK_MAX_COMPOSE_LEN);

    data = RVAL2GUINT16S(rbdata, n);

    gtk_im_context_simple_add_table(context_simple, data, max_seq_len, n_seqs);

    g_free(data);

    return self;
}