void IMContextImpl::set_lookup_table (const LookupTable &new_lookup_table)
{
    lookup_table.clear ();
    lookup_table.set_page_size (new_lookup_table.get_page_size ());
    lookup_table.show_cursor (new_lookup_table.is_cursor_visible ());
    lookup_table.fix_page_size (new_lookup_table.is_page_size_fixed ());
    for (int i = 0; i < new_lookup_table.number_of_candidates (); ++i) {
        const WideString &label = new_lookup_table.get_candidate (i);
        const AttributeList &attributes = new_lookup_table.get_attributes (i);
        lookup_table.append_candidate (label, attributes);
    }
    lookup_table.set_cursor_pos (new_lookup_table.get_cursor_pos ());
}