add set_cursor_pos() virtual method

2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
	* gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
	* gtk/gtkimcontext.h (struct _GtkIMContextClass): add
	set_cursor_pos() virtual method

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
	(gtk_im_context_xim_set_cursor_pos): add implementation for
	set_cursor_pos() method

	* gtk/gtkentry.c (recompute_idle_func): set current cursor
	position to input methods
This commit is contained in:
HideToshi Tajima
2001-03-14 22:03:24 +00:00
committed by Hidetoshi Tajima
parent cf89a05f07
commit 02f376a91f
12 changed files with 205 additions and 0 deletions

View File

@ -48,6 +48,8 @@ static gboolean gtk_im_multicontext_filter_keypress (GtkIMContext
static void gtk_im_multicontext_focus_in (GtkIMContext *context);
static void gtk_im_multicontext_focus_out (GtkIMContext *context);
static void gtk_im_multicontext_reset (GtkIMContext *context);
static void gtk_im_multicontext_set_cursor_pos (GtkIMContext *context,
GdkRectangle *area);
void gtk_im_multicontext_preedit_start_cb (GtkIMContext *slave,
GtkIMMulticontext *multicontext);
@ -102,6 +104,7 @@ gtk_im_multicontext_class_init (GtkIMMulticontextClass *class)
im_context_class->focus_in = gtk_im_multicontext_focus_in;
im_context_class->focus_out = gtk_im_multicontext_focus_out;
im_context_class->reset = gtk_im_multicontext_reset;
im_context_class->set_cursor_pos = gtk_im_multicontext_set_cursor_pos;
gobject_class->finalize = gtk_im_multicontext_finalize;
}
@ -271,6 +274,17 @@ gtk_im_multicontext_reset (GtkIMContext *context)
gtk_im_context_reset (slave);
}
static void
gtk_im_multicontext_set_cursor_pos (GtkIMContext *context,
GdkRectangle *area)
{
GtkIMMulticontext *multicontext = GTK_IM_MULTICONTEXT (context);
GtkIMContext *slave = gtk_im_multicontext_get_slave (multicontext);
if (slave)
gtk_im_context_set_cursor_pos (slave, area);
}
void
gtk_im_multicontext_preedit_start_cb (GtkIMContext *slave,
GtkIMMulticontext *multicontext)