IBusLookupTable

IBusLookupTable — Candidate word/phrase lookup table.

Stability Level

Stable, unless otherwise indicated

Synopsis

struct              IBusLookupTable;
struct              IBusLookupTableClass;
IBusLookupTable *   ibus_lookup_table_new               (guint page_size,
                                                         guint cursor_pos,
                                                         gboolean cursor_visible,
                                                         gboolean round);
void                ibus_lookup_table_append_candidate  (IBusLookupTable *table,
                                                         IBusText *text);
guint               ibus_lookup_table_get_number_of_candidates
                                                        (IBusLookupTable *table);
IBusText *          ibus_lookup_table_get_candidate     (IBusLookupTable *table,
                                                         guint index);
void                ibus_lookup_table_append_label      (IBusLookupTable *table,
                                                         IBusText *text);
void                ibus_lookup_table_set_label         (IBusLookupTable *table,
                                                         guint index,
                                                         IBusText *text);
IBusText *          ibus_lookup_table_get_label         (IBusLookupTable *table,
                                                         guint index);
void                ibus_lookup_table_set_cursor_pos    (IBusLookupTable *table,
                                                         guint cursor_pos);
guint               ibus_lookup_table_get_cursor_pos    (IBusLookupTable *table);
void                ibus_lookup_table_set_cursor_visible
                                                        (IBusLookupTable *table,
                                                         gboolean visible);
gboolean            ibus_lookup_table_is_cursor_visible (IBusLookupTable *table);
guint               ibus_lookup_table_get_cursor_in_page
                                                        (IBusLookupTable *table);
void                ibus_lookup_table_set_page_size     (IBusLookupTable *table,
                                                         guint page_size);
guint               ibus_lookup_table_get_page_size     (IBusLookupTable *table);
void                ibus_lookup_table_set_round         (IBusLookupTable *table,
                                                         gboolean round);
gboolean            ibus_lookup_table_is_round          (IBusLookupTable *table);
void                ibus_lookup_table_set_orientation   (IBusLookupTable *table,
                                                         gint orientation);
gint                ibus_lookup_table_get_orientation   (IBusLookupTable *table);
void                ibus_lookup_table_clear             (IBusLookupTable *table);
gboolean            ibus_lookup_table_page_up           (IBusLookupTable *table);
gboolean            ibus_lookup_table_page_down         (IBusLookupTable *table);
gboolean            ibus_lookup_table_cursor_up         (IBusLookupTable *table);
gboolean            ibus_lookup_table_cursor_down       (IBusLookupTable *table);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----IBusObject
               +----IBusSerializable
                     +----IBusLookupTable

Description

An IBusLookuptable stores the candidate words or phrases for users to choose from.

Use ibus_engine_update_lookup_table(), ibus_engine_show_lookup_table(), and ibus_engine_hide_lookup_table() to update, show and hide the lookup table.

Details

struct IBusLookupTable

struct IBusLookupTable {
    guint page_size;
    guint cursor_pos;
    gboolean cursor_visible;
    gboolean round;
    gint orientation;

    GArray *candidates;
    GArray *labels;
};

An IBusLookuptable stores the candidate words or phrases for users to choose from. Note that some input methods allow you to select candidate by pressing non-numeric keys such as "asdfghjkl;". Developers of these input methods should change the labels with ibus_lookup_table_append_label().

guint page_size;

number of candidate shown per page.

guint cursor_pos;

position index of cursor.

gboolean cursor_visible;

whether the cursor is visible.

gboolean round;

TRUE for lookup table wrap around.

gint orientation;

orientation of the table.

GArray *candidates;

Candidate words/phrases.

GArray *labels;

Candidate labels which identify individual candidates in the same page. Default is 1, 2, 3, 4 ...

struct IBusLookupTableClass

struct IBusLookupTableClass {
    IBusSerializableClass parent;
};


ibus_lookup_table_new ()

IBusLookupTable *   ibus_lookup_table_new               (guint page_size,
                                                         guint cursor_pos,
                                                         gboolean cursor_visible,
                                                         gboolean round);

New a IBusLookupTable.

page_size :

number of candidate shown per page, the max value is 16.

cursor_pos :

position index of cursor.

cursor_visible :

whether the cursor is visible.

round :

TRUE for lookup table wrap around.

Returns :

A newly allocated IBusLookupTable.

ibus_lookup_table_append_candidate ()

void                ibus_lookup_table_append_candidate  (IBusLookupTable *table,
                                                         IBusText *text);

Append a candidate word/phrase to IBusLookupTable, and increase reference.

table :

An IBusLookupTable.

text :

candidate word/phrase to be appended (in IBusText format).

ibus_lookup_table_get_number_of_candidates ()

guint               ibus_lookup_table_get_number_of_candidates
                                                        (IBusLookupTable *table);

Return the number of candidate in the table.

table :

An IBusLookupTable.

Returns :

The number of candidates in the table

ibus_lookup_table_get_candidate ()

IBusText *          ibus_lookup_table_get_candidate     (IBusLookupTable *table,
                                                         guint index);

Return IBusText at the given index. Borrowed reference.

table :

An IBusLookupTable.

index :

Index in the Lookup table.

Returns :

IBusText at the given index; NULL if no such IBusText. [transfer none]

ibus_lookup_table_append_label ()

void                ibus_lookup_table_append_label      (IBusLookupTable *table,
                                                         IBusText *text);

Append a candidate word/phrase to IBusLookupTable, and increase reference. This function is needed if the input method select candidate with non-numeric keys such as "asdfghjkl;".

table :

An IBusLookupTable.

text :

A candidate label to be appended (in IBusText format).

ibus_lookup_table_set_label ()

void                ibus_lookup_table_set_label         (IBusLookupTable *table,
                                                         guint index,
                                                         IBusText *text);

Append a candidate word/phrase to IBusLookupTable, and increase reference. This function is needed if the input method select candidate with non-numeric keys such as "asdfghjkl;".

table :

An IBusLookupTable.

index :

Intex in the Lookup table.

text :

A candidate label to be appended (in IBusText format).

ibus_lookup_table_get_label ()

IBusText *          ibus_lookup_table_get_label         (IBusLookupTable *table,
                                                         guint index);

Return IBusText at the given index. Borrowed reference.

table :

An IBusLookupTable.

index :

Index in the Lookup table.

Returns :

IBusText at the given index; NULL if no such IBusText. [transfer none]

ibus_lookup_table_set_cursor_pos ()

void                ibus_lookup_table_set_cursor_pos    (IBusLookupTable *table,
                                                         guint cursor_pos);

Set the cursor position of IBusLookupTable.

table :

An IBusLookupTable.

cursor_pos :

The position of cursor.

ibus_lookup_table_get_cursor_pos ()

guint               ibus_lookup_table_get_cursor_pos    (IBusLookupTable *table);

Get the cursor position of IBusLookupTable.

table :

An IBusLookupTable.

Returns :

The position of cursor.

ibus_lookup_table_set_cursor_visible ()

void                ibus_lookup_table_set_cursor_visible
                                                        (IBusLookupTable *table,
                                                         gboolean visible);

Set whether to make the cursor of an IBusLookupTable visible or not.

table :

An IBusLookupTable.

visible :

Whether to make the cursor of table visible.

ibus_lookup_table_is_cursor_visible ()

gboolean            ibus_lookup_table_is_cursor_visible (IBusLookupTable *table);

Returns whether the cursor of an IBusLookupTable is visible.

table :

An IBusLookupTable.

Returns :

Whether the cursor of table is visible.

ibus_lookup_table_get_cursor_in_page ()

guint               ibus_lookup_table_get_cursor_in_page
                                                        (IBusLookupTable *table);

Get the cursor position in current page of IBusLookupTable.

table :

An IBusLookupTable.

Returns :

The position of cursor in current page.

ibus_lookup_table_set_page_size ()

void                ibus_lookup_table_set_page_size     (IBusLookupTable *table,
                                                         guint page_size);

Set the number of candidate shown per page.

table :

An IBusLookupTable.

page_size :

number of candidate shown per page.

ibus_lookup_table_get_page_size ()

guint               ibus_lookup_table_get_page_size     (IBusLookupTable *table);

Get the number of candidate shown per page.

table :

An IBusLookupTable.

Returns :

Page size, i.e., number of candidate shown per page.

ibus_lookup_table_set_round ()

void                ibus_lookup_table_set_round         (IBusLookupTable *table,
                                                         gboolean round);

Set whether to make the IBusLookupTable round or not.

table :

An IBusLookupTable.

round :

Whether to make table round.

ibus_lookup_table_is_round ()

gboolean            ibus_lookup_table_is_round          (IBusLookupTable *table);

Returns whether the IBusLookupTable is round.

table :

An IBusLookupTable.

Returns :

Whether the table is round.

ibus_lookup_table_set_orientation ()

void                ibus_lookup_table_set_orientation   (IBusLookupTable *table,
                                                         gint orientation);

Set the orientation.

table :

An IBusLookupTable.

orientation :

.

ibus_lookup_table_get_orientation ()

gint                ibus_lookup_table_get_orientation   (IBusLookupTable *table);

Returns the orientation of the IBusLookupTable.

table :

An IBusLookupTable.

Returns :

The orientation of the table.

ibus_lookup_table_clear ()

void                ibus_lookup_table_clear             (IBusLookupTable *table);

Clear and remove all candidate from an IBusLookupTable.

table :

An IBusLookupTable.

ibus_lookup_table_page_up ()

gboolean            ibus_lookup_table_page_up           (IBusLookupTable *table);

Go to previous page of an IBusLookupTable.

It returns FALSE if it is already at the first page, unless table>-round==TRUE, where it will go to the last page.

table :

An IBusLookupTable.

Returns :

TRUE if succeed.

ibus_lookup_table_page_down ()

gboolean            ibus_lookup_table_page_down         (IBusLookupTable *table);

Go to next page of an IBusLookupTable.

It returns FALSE if it is already at the last page, unless table>-round==TRUE, where it will go to the first page.

table :

An IBusLookupTable.

Returns :

TRUE if succeed.

ibus_lookup_table_cursor_up ()

gboolean            ibus_lookup_table_cursor_up         (IBusLookupTable *table);

Go to previous candidate of an IBusLookupTable.

It returns FALSE if it is already at the first candidate, unless table>-round==TRUE, where it will go to the last candidate.

table :

An IBusLookupTable.

Returns :

TRUE if succeed.

ibus_lookup_table_cursor_down ()

gboolean            ibus_lookup_table_cursor_down       (IBusLookupTable *table);

Go to next candidate of an IBusLookupTable.

It returns FALSE if it is already at the last candidate, unless table>-round==TRUE, where it will go to the first candidate.

table :

An IBusLookupTable.

Returns :

TRUE if succeed.

See Also

IBusEngine