## IBusPanelService IBusPanelService — Panel service back-end. |

## Stability Level

Stable, unless otherwise indicated

## Synopsis

    struct              IBusPanelService;
    struct              IBusPanelServiceClass;
    IBusPanelService *  ibus_panel_service_new              (GDBusConnection *connection);
    void                ibus_panel_service_candidate_clicked
                                                            (IBusPanelService *panel,
                                                             guint index,
                                                             guint button,
                                                             guint state);
    void                ibus_panel_service_cursor_down      (IBusPanelService *panel);
    void                ibus_panel_service_cursor_up        (IBusPanelService *panel);
    void                ibus_panel_service_page_down        (IBusPanelService *panel);
    void                ibus_panel_service_page_up          (IBusPanelService *panel);
    void                ibus_panel_service_property_activate
                                                            (IBusPanelService *panel,
                                                             const gchar *prop_name,
                                                             guint prop_state);
    void                ibus_panel_service_property_show    (IBusPanelService *panel,
                                                             const gchar *prop_name);
    void                ibus_panel_service_property_hide    (IBusPanelService *panel,
                                                             const gchar *prop_name);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----IBusObject
                   +----IBusService
                         +----IBusPanelService

## Signals

      "cursor-down-lookup-table"                       : Run Last
      "cursor-up-lookup-table"                         : Run Last
      "destroy-context"                                : Run Last
      "focus-in"                                       : Run Last
      "focus-out"                                      : Run Last
      "hide-auxiliary-text"                            : Run Last
      "hide-language-bar"                              : Run Last
      "hide-lookup-table"                              : Run Last
      "hide-preedit-text"                              : Run Last
      "page-down-lookup-table"                         : Run Last
      "page-up-lookup-table"                           : Run Last
      "register-properties"                            : Run Last
      "reset"                                          : Run Last
      "set-cursor-location"                            : Run Last
      "show-auxiliary-text"                            : Run Last
      "show-language-bar"                              : Run Last
      "show-lookup-table"                              : Run Last
      "show-preedit-text"                              : Run Last
      "start-setup"                                    : Run Last
      "state-changed"                                  : Run Last
      "update-auxiliary-text"                          : Run Last
      "update-lookup-table"                            : Run Last
      "update-preedit-text"                            : Run Last
      "update-property"                                : Run Last

## Description

An IBusPanelService is a base class for UI services. Developers can "extend" this class for panel UI development.

## Details

### struct IBusPanelService

    struct IBusPanelService;

An opaque data type representing an IBusPanelService.

### struct IBusPanelServiceClass

    struct IBusPanelServiceClass {
        IBusServiceClass parent;

        /* class members */
        void     (* focus_in)                  (IBusPanelService       *panel,
                                                const gchar
                                                       *input_context_path);
        void     (* focus_out)                 (IBusPanelService       *panel,
                                                const gchar
                                                       *input_context_path);
        void     (* register_properties)       (IBusPanelService       *panel,
                                                IBusPropList           *prop_list);
        void     (* set_cursor_location)       (IBusPanelService       *panel,
                                                gint                    x,
                                                gint                    y,
                                                gint                    w,
                                                gint                    h);
        void     (* update_auxiliary_text)     (IBusPanelService       *panel,
                                                IBusText               *text,
                                                gboolean                visible);
        void     (* update_lookup_table)       (IBusPanelService       *panel,
                                                IBusLookupTable        *lookup_table,
                                                gboolean                visible);
        void     (* update_preedit_text)       (IBusPanelService       *panel,
                                                IBusText               *text,
                                                guint                  cursor_pos,
                                                gboolean               visible);
        void     (* update_property)           (IBusPanelService       *panel,
                                                IBusProperty           *prop);
        void     (* cursor_down_lookup_table)  (IBusPanelService       *panel);
        void     (* cursor_up_lookup_table)    (IBusPanelService       *panel);
        void     (* hide_auxiliary_text)       (IBusPanelService       *panel);
        void     (* hide_language_bar)         (IBusPanelService       *panel);
        void     (* hide_lookup_table)         (IBusPanelService       *panel);
        void     (* hide_preedit_text)         (IBusPanelService       *panel);
        void     (* page_down_lookup_table)    (IBusPanelService       *panel);
        void     (* page_up_lookup_table)      (IBusPanelService       *panel);
        void     (* reset)                     (IBusPanelService       *panel);
        void     (* show_auxiliary_text)       (IBusPanelService       *panel);
        void     (* show_language_bar)         (IBusPanelService       *panel);
        void     (* show_lookup_table)         (IBusPanelService       *panel);
        void     (* show_preedit_text)         (IBusPanelService       *panel);
        void     (* start_setup)               (IBusPanelService       *panel);
        void     (* state_changed)             (IBusPanelService       *panel);
        void     (* destroy_context)           (IBusPanelService       *panel,
                                                const gchar
                                                       *input_context_path);
    };

### ibus_panel_service_new ()

    IBusPanelService *  ibus_panel_service_new              (GDBusConnection *connection);

New an IBusPanelService from an GDBusConnection.

`connection` : | An GDBusConnection.
Returns : | A newly allocated IBusPanelService.

### ibus_panel_service_candidate_clicked ()

    void                ibus_panel_service_candidate_clicked
                                                            (IBusPanelService *panel,
                                                             guint index,
                                                             guint button,
                                                             guint state);

Notify that a candidate is clicked by sending a "CandidateClicked" to IBus service.

`panel` : | An IBusPanelService
`index` : | Index in the Lookup table
`button` : | GdkEventButton::button (1: left button, etc.)
`state` : | GdkEventButton::state (key modifier flags)

### ibus_panel_service_cursor_down ()

    void                ibus_panel_service_cursor_down      (IBusPanelService *panel);

Notify that the cursor is down by sending a "CursorDown" to IBus service.

`panel` : | An IBusPanelService

### ibus_panel_service_cursor_up ()

    void                ibus_panel_service_cursor_up        (IBusPanelService *panel);

Notify that the cursor is up by sending a "CursorUp" to IBus service.

`panel` : | An IBusPanelService

### ibus_panel_service_page_down ()

    void                ibus_panel_service_page_down        (IBusPanelService *panel);

Notify that the page is down by sending a "PageDown" to IBus service.

`panel` : | An IBusPanelService

### ibus_panel_service_page_up ()

    void                ibus_panel_service_page_up          (IBusPanelService *panel);

Notify that the page is up by sending a "PageUp" to IBus service.

`panel` : | An IBusPanelService

### ibus_panel_service_property_activate ()

    void                ibus_panel_service_property_activate
                                                            (IBusPanelService *panel,
                                                             const gchar *prop_name,
                                                             guint prop_state);

Notify that a property is active by sending a "PropertyActivate" message to IBus service.

`panel` : | An IBusPanelService
`prop_name` : | A property name
`prop_state` : | State of the property

### ibus_panel_service_property_show ()

    void                ibus_panel_service_property_show    (IBusPanelService *panel,
                                                             const gchar *prop_name);

Notify that a property is shown by sending a "ValueChanged" message to IBus service.

`panel` : | An IBusPanelService
`prop_name` : | A property name

### ibus_panel_service_property_hide ()

    void                ibus_panel_service_property_hide    (IBusPanelService *panel,
                                                             const gchar *prop_name);

Notify that a property is hidden by sending a "ValueChanged" message to IBus service.

`panel` : | An IBusPanelService
`prop_name` : | A property name

## Signal Details

### The `"cursor-down-lookup-table"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the cursor-down-lookup-table. Implement the member function `cursor_down_lookup_table()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"cursor-up-lookup-table"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the cursor-up-lookup-table. Implement the member function `cursor_up_lookup_table()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"destroy-context"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gchar            *input_context_path,
                                                            gpointer          user_data)               : Run Last

Emitted when the client application destroys. Implement the member function `destroy_context()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`input_context_path` : | Object path of InputContext.
`user_data` : | user data set when the signal handler was connected.

### The `"focus-in"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gchar            *input_context_path,
                                                            gpointer          user_data)               : Run Last

Emitted when the client application get the focus-in. Implement the member function `focus_in()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`input_context_path` : | Object path of InputContext.
`user_data` : | user data set when the signal handler was connected.

### The `"focus-out"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gchar            *input_context_path,
                                                            gpointer          user_data)               : Run Last

Emitted when the client application get the focus-out. Implement the member function `focus_out()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`input_context_path` : | Object path of InputContext.
`user_data` : | user data set when the signal handler was connected.

### The `"hide-auxiliary-text"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the hide-auxiliary-text. Implement the member function `hide_auxiliary_text()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"hide-language-bar"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the hide-language-bar. Implement the member function `hide_language_bar()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"hide-lookup-table"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the hide-lookup-table. Implement the member function `hide_lookup_table()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"hide-preedit-text"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the hide-preedit-text. Implement the member function `hide_preedit_text()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"page-down-lookup-table"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the page-down-lookup-table. Implement the member function `page_down_lookup_table()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"page-up-lookup-table"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the page-up-lookup-table. Implement the member function `page_up_lookup_table()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"register-properties"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            IBusPropList     *prop_list,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the register-properties. Implement the member function `register_properties()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`prop_list` : | An IBusPropList that contains properties.
`user_data` : | user data set when the signal handler was connected.

### The `"reset"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the reset. Implement the member function `reset()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"set-cursor-location"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gint              x,
                                                            gint              y,
                                                            gint              w,
                                                            gint              h,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the set-cursor-location. Implement the member function `set_cursor_location()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`x` : | X coordinate of the cursor.
`y` : | Y coordinate of the cursor.
`w` : | Width of the cursor.
`h` : | Height of the cursor.
`user_data` : | user data set when the signal handler was connected.

### The `"show-auxiliary-text"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the show-auxiliary-text. Implement the member function `show_auxiliary_text()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"show-language-bar"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the show-language-bar. Implement the member function `show_language_bar()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"show-lookup-table"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the show-lookup-table. Implement the member function `show_lookup_table()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"show-preedit-text"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the show-preedit-text. Implement the member function `show_preedit_text()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"start-setup"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the start-setup. Implement the member function `start_setup()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"state-changed"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the state-changed. Implement the member function `state_changed()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`user_data` : | user data set when the signal handler was connected.

### The `"update-auxiliary-text"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            IBusText         *text,
                                                            gboolean          visible,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the update-auxiliary-text. Implement the member function `update_auxiliary_text()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`text` : | A preedit text to be updated.
`visible` : | Whether the update is visible.
`user_data` : | user data set when the signal handler was connected.

### The `"update-lookup-table"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            IBusLookupTable  *lookup_table,
                                                            gboolean          visible,
                                                            gpointer          user_data)         : Run Last

Emitted when the client application get the update-lookup-table. Implement the member function `update_lookup_table()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`lookup_table` : | A lookup table to be updated.
`visible` : | Whether the update is visible.
`user_data` : | user data set when the signal handler was connected.

### The `"update-preedit-text"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            IBusText         *text,
                                                            guint             cursor_pos,
                                                            gboolean          visible,
                                                            gpointer          user_data)       : Run Last

Emitted when the client application get the update-preedit-text. Implement the member function `update_preedit_text()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`text` : | A preedit text to be updated.
`cursor_pos` : | The cursor position of the text.
`visible` : | Whether the update is visible.
`user_data` : | user data set when the signal handler was connected.

### The `"update-property"` signal

    void                user_function                      (IBusPanelService *panel,
                                                            IBusProperty     *prop,
                                                            gpointer          user_data)      : Run Last

Emitted when the client application get the update-property. Implement the member function `update_property()` in extended class to receive this signal.

### Note

Argument `user_data` is ignored in this function.

`panel` : | An IBusPanelService
`prop` : | The IBusProperty to be updated.
`user_data` : | user data set when the signal handler was connected.