Пример #1
0
static void
nimf_libhangul_update_page (NimfEngine    *engine,
                            NimfServiceIC *target)
{
  g_debug (G_STRLOC ": %s", G_STRFUNC);

  NimfLibhangul *hangul = NIMF_LIBHANGUL (engine);

  if (hangul->hanja_list == NULL)
    return;

  gint i;
  gint list_len = hanja_list_get_size (hangul->hanja_list);
  nimf_candidatable_clear (hangul->candidatable, target);

  for (i = (hangul->current_page - 1) * 10;
       i < MIN (hangul->current_page * 10, list_len); i++)
  {
    const Hanja *hanja = hanja_list_get_nth (hangul->hanja_list, i);
    const char  *item1 = hanja_get_value    (hanja);
    const char  *item2 = hanja_get_comment  (hanja);
    nimf_candidatable_append (hangul->candidatable, item1, item2);
  }

  nimf_candidatable_set_page_values (hangul->candidatable, target,
                                     hangul->current_page, hangul->n_pages, 10);
}
Пример #2
0
/**
 * @ingroup hanjadictionary
 * @brief @ref HanjaList의 n번째 아이템의 설명을 구하는 함수
 * @return n번째 아이템의 설명(comment), UTF-8
 *
 * HanjaList_get_nth()의 convenient 함수
 */
const char*
hanja_list_get_nth_comment(const HanjaList *list, unsigned int n)
{
    const Hanja* hanja = hanja_list_get_nth(list, n);
    return hanja_get_comment(hanja);
}