IBusProperty

IBusProperty — UI component for input method engine property.

Stability Level

Stable, unless otherwise indicated

Synopsis

#define             IBUS_TYPE_PROP_LIST
#define             IBUS_PROP_LIST                      (obj)
#define             IBUS_PROP_LIST_CLASS                (klass)
#define             IBUS_IS_PROP_LIST                   (obj)
#define             IBUS_IS_PROP_LIST_CLASS             (klass)
#define             IBUS_PROP_LIST_GET_CLASS            (obj)
enum                IBusPropType;
enum                IBusPropState;
                    IBusProperty;
                    IBusPropList;
IBusProperty *      ibus_property_new                   (const gchar *key,
                                                         IBusPropType type,
                                                         IBusText *label,
                                                         const gchar *icon,
                                                         IBusText *tooltip,
                                                         gboolean sensitive,
                                                         gboolean visible,
                                                         IBusPropState state,
                                                         IBusPropList *prop_list);
void                ibus_property_set_label             (IBusProperty *prop,
                                                         IBusText *label);
void                ibus_property_set_visible           (IBusProperty *prop,
                                                         gboolean visible);
void                ibus_property_set_sub_props         (IBusProperty *prop,
                                                         IBusPropList *prop_list);
gboolean            ibus_property_update                (IBusProperty *prop,
                                                         IBusProperty *prop_update);
GType               ibus_prop_list_get_type             ();
IBusPropList *      ibus_prop_list_new                  ();
void                ibus_prop_list_append               (IBusPropList *prop_list,
                                                         IBusProperty *prop);
IBusProperty *      ibus_prop_list_get                  (IBusPropList *prop_list,
                                                         guint index);
gboolean            ibus_prop_list_update_property      (IBusPropList *prop_list,
                                                         IBusProperty *prop);

Object Hierarchy

  GObject
   +----IBusObject
         +----IBusSerializable
               +----IBusProperty
  GObject
   +----IBusObject
         +----IBusSerializable
               +----IBusPropList

Description

An IBusProperty is an UI component like a button or a menu item which shows the status of corresponding input method engine property. End user can operate and see the current status of IME through these components. For example, ibus-chewing users change the English/Chinese input mode by pressing ctrl-space or click on the Eng/Chi switch button. And the IBusProperty shows the change correspondingly.

Details

IBUS_TYPE_PROP_LIST

#define             IBUS_TYPE_PROP_LIST


IBUS_PROP_LIST()

#define             IBUS_PROP_LIST(obj)

obj :


IBUS_PROP_LIST_CLASS()

#define             IBUS_PROP_LIST_CLASS(klass)

klass :


IBUS_IS_PROP_LIST()

#define             IBUS_IS_PROP_LIST(obj)

obj :


IBUS_IS_PROP_LIST_CLASS()

#define             IBUS_IS_PROP_LIST_CLASS(klass)

klass :


IBUS_PROP_LIST_GET_CLASS()

#define             IBUS_PROP_LIST_GET_CLASS(obj)

obj :


enum IBusPropType

typedef enum {
    PROP_TYPE_NORMAL = 0,
    PROP_TYPE_TOGGLE = 1,
    PROP_TYPE_RADIO = 2,
    PROP_TYPE_MENU = 3,
    PROP_TYPE_SEPARATOR = 4,
} IBusPropType;

Type of IBusProperty.

PROP_TYPE_NORMAL

Property is shown as normal text.

PROP_TYPE_TOGGLE

Property is shown as a toggle button.

PROP_TYPE_RADIO

Property is shown as a radio selection option.

PROP_TYPE_MENU

Property is shown as a menu, usually imply it has sub menu items.

PROP_TYPE_SEPARATOR

A separator for menu.

enum IBusPropState

typedef enum {
    PROP_STATE_UNCHECKED = 0,
    PROP_STATE_CHECKED = 1,
    PROP_STATE_INCONSISTENT = 2,
} IBusPropState;

State of IBusProperty. The actual effect depends on IBusPropType of the IBusProperty.

PROP_TYPE_TOGGLE

Emphasized if PROP_STATE_CHECKED, normal otherwise.

PROP_TYPE_RADIO

Option checked if PROP_STATE_CHECKED, unchecked otherwise.

No effect on other types.

PROP_STATE_UNCHECKED

Property option is unchecked.

PROP_STATE_CHECKED

Property option is checked.

PROP_STATE_INCONSISTENT

The state is inconsistent with the associated IME property.

IBusProperty

typedef struct {
    gchar    *key;
    gchar    *icon;
    IBusText *label;
    IBusText *tooltip;

    gboolean sensitive;
    gboolean visible;
    guint type;
    guint state;

    IBusPropList *sub_props;
} IBusProperty;

UI component for input method engine property.

gchar *key;

Unique Identity for the IBusProperty.

gchar *icon;

Icon file for the IBusProperty.

IBusText *label;

Text shown in UI.

IBusText *tooltip;

Message shown if mouse hovered the IBusProperty.

gboolean sensitive;

Whether the IBusProperty is sensitive to keyboard and mouse event.

gboolean visible;

Whether the IBusProperty is visible.

guint type;

IBusPropType of IBusProperty.

guint state;

IBusPropState of IBusProperty.

IBusPropList *sub_props;

IBusPropList that contains sub IBusProperties. These IBusProperties are usually shown as sub menu item.

IBusPropList

typedef struct {
    GArray *properties;
} IBusPropList;

A GArray of IBusProperties.

GArray *properties;

GArray that holds IBusProperties.

ibus_property_new ()

IBusProperty *      ibus_property_new                   (const gchar *key,
                                                         IBusPropType type,
                                                         IBusText *label,
                                                         const gchar *icon,
                                                         IBusText *tooltip,
                                                         gboolean sensitive,
                                                         gboolean visible,
                                                         IBusPropState state,
                                                         IBusPropList *prop_list);

New a IBusProperty.

key :

Unique Identity for the IBusProperty.

type :

IBusPropType of IBusProperty.

label :

Text shown in UI.

icon :

Icon file for the IBusProperty.

tooltip :

Message shown if mouse hovered the IBusProperty.

sensitive :

Whether the IBusProperty is sensitive to keyboard and mouse event.

visible :

Whether the IBusProperty is visible.

state :

IBusPropState of IBusProperty.

prop_list :

IBusPropList that contains sub IBusProperties.

Returns :

A newly allocated IBusProperty.

ibus_property_set_label ()

void                ibus_property_set_label             (IBusProperty *prop,
                                                         IBusText *label);

Set the label of IBusProperty.

prop :

An IBusProperty.

label :

Text shown in UI.

ibus_property_set_visible ()

void                ibus_property_set_visible           (IBusProperty *prop,
                                                         gboolean visible);

Set whether the IBusProperty is visible.

prop :

An IBusProperty.

visible :

Whether the IBusProperty is visible.

ibus_property_set_sub_props ()

void                ibus_property_set_sub_props         (IBusProperty *prop,
                                                         IBusPropList *prop_list);

Set the sub IBusProperties.

prop :

An IBusProperty.

prop_list :

IBusPropList that contains sub IBusProperties.

ibus_property_update ()

gboolean            ibus_property_update                (IBusProperty *prop,
                                                         IBusProperty *prop_update);

Update the content of an IBusProperty. IBusProperty prop_update can either be sub-property of prop, or holds new values for prop.

prop :

An IBusProperty.

prop_update :

IBusPropList that contains sub IBusProperties.

Returns :

TRUE for update suceeded; FALSE otherwise.

ibus_prop_list_get_type ()

GType               ibus_prop_list_get_type             ();

Returns :


ibus_prop_list_new ()

IBusPropList *      ibus_prop_list_new                  ();

New a IBusPropList.

Returns :

A newly allocated IBusPropList.

ibus_prop_list_append ()

void                ibus_prop_list_append               (IBusPropList *prop_list,
                                                         IBusProperty *prop);

Append an IBusProperty to an IBusPropList.

prop_list :

An IBusPropList.

prop :

IBusProperty to be append to prop_list.

ibus_prop_list_get ()

IBusProperty *      ibus_prop_list_get                  (IBusPropList *prop_list,
                                                         guint index);

Returns IBusProperty at given index.

prop_list :

An IBusPropList.

index :

Index of an IBusPropList.

Returns :

IBusProperty at given index, NULL if no such IBusProperty.

ibus_prop_list_update_property ()

gboolean            ibus_prop_list_update_property      (IBusPropList *prop_list,
                                                         IBusProperty *prop);

Update an IBusProperty in IBusPropList.

prop_list :

An IBusPropList.

prop :

IBusProperty to be update.

Returns :

TRUE if succeeded, FALSE otherwise.

See Also

#IBusEngine