IBusPanelService

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

## Stability Level

Stable, unless otherwise indicated

## Synopsis

                        IBusPanelService;
                        IBusPanelServiceClass;
    IBusPanelService *  ibus_panel_service_new              (IBusConnection *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_active  (IBusPanelService *panel,
                                                             const gchar *prop_name,
                                                             int 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

## Properties

      "connection"               IBusConnection*       : Read / Write / Construct Only

## Description

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

## Details

### IBusPanelService

    typedef struct _IBusPanelService IBusPanelService;

An opaque data type representing an IBusPanelService.

### IBusPanelServiceClass

    typedef struct {
        IBusServiceClass parent;

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

### ibus_panel_service_new ()

    IBusPanelService *  ibus_panel_service_new              (IBusConnection *connection);

New an IBusPanelService from an IBusConnection.

`connection` : | An IBusConnection.
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_active ()

    void                ibus_panel_service_property_active  (IBusPanelService *panel,
                                                             const gchar *prop_name,
                                                             int 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

## Property Details

### The `"connection"` property

      "connection"               IBusConnection*       : Read / Write / Construct Only

Connection of this IBusPanelService.