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); }
/** * @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); }