示例#1
0
文件: callback.c 项目: DirtYiCE/uim
void
preedit_clear_cb(void *ptr)
{
  uim_agent_context *ua = (uim_agent_context *)ptr;

  debug_printf(DEBUG_NOTE, "preedit_clear_cb\n");

  clear_preedit(ua->pe);
}
示例#2
0
文件: context.c 项目: DirtYiCE/uim
static void
update_context_encoding(uim_agent_context *ua)
{

  debug_printf(DEBUG_NOTE, "update_context_encoding\n");

  /* discard current context */
  clear_candidate(ua->cand);
  clear_preedit(ua->pe);
  
  uim_set_client_encoding(ua->context, ua->encoding);
}
示例#3
0
文件: context.c 项目: DirtYiCE/uim
/* release context from context list */
int
release_uim_agent_context(int context_id)
{
  uim_agent_context_list *ptr;
  
  for (ptr = agent_context_list_head; ptr != NULL; ptr = ptr->next) {
	if (ptr->agent_context->context_id == context_id) {

	  uim_agent_context *ua = ptr->agent_context;

	  /* clear current */
	  if (current == ua)
		clear_current_uim_agent_context();
	  
	  /* release */
	  uim_release_context(ua->context);

	  /* clear candidate */
	  clear_candidate(ua->cand);
	  free(ua->cand);

	  /* clear preedit */
	  clear_preedit(ua->pe);
	  free(ua->pe);

	  /* free others */
	  free(ua->encoding);
	  free(ua->im);
	  free(ua->prop->list);
	  free(ua->prop);
	  free(ua->comstr);

	  /* rebuild list */
	  if (ptr->next != NULL)
		ptr->next->prev = ptr->prev;
	  else
		agent_context_list_tail = ptr->prev;

	  if (ptr->prev != NULL)
		ptr->prev->next = ptr->next;
	  else
		agent_context_list_head = ptr->next;

	  free(ua);
	  free(ptr);

	  return context_id;
	}
  }

  return -1;
}
示例#4
0
static int
cmd_reset(int context_id)
{
  /* reset current context */
  uim_agent_context *ua = get_uim_agent_context(context_id);

  if (ua != NULL) {
	/* before reset, clear preedit and candidate */
	clear_preedit(ua->pe);
	clear_candidate(ua->cand);

	uim_reset_context(ua->context);

	check_prop_list_update(ua);
	check_default_engine();
	return 1;
  } else {
	return -1;
  }
}
示例#5
0
文件: ximserver.cpp 项目: NgoHuy/uim
// reset
void InputContext::clear()
{
    clear_preedit();
    candidate_deactivate();
    uim_reset_context(mUc);
}