IBusText

IBusText — Text with decorating information.

Synopsis

struct              IBusText;
struct              IBusTextClass;
IBusText *          ibus_text_new_from_string           (const gchar *str);
IBusText *          ibus_text_new_from_ucs4             (const gunichar *str);
IBusText *          ibus_text_new_from_static_string    (const gchar *str);
IBusText *          ibus_text_new_from_printf           (const gchar *fmt,
                                                         ...);
IBusText *          ibus_text_new_from_unichar          (gunichar c);
void                ibus_text_append_attribute          (IBusText *text,
                                                         guint type,
                                                         guint value,
                                                         guint start_index,
                                                         gint end_index);
guint               ibus_text_get_length                (IBusText *text);
gboolean            ibus_text_get_is_static             (IBusText *text);
const gchar *       ibus_text_get_text                  (IBusText *text);
IBusAttrList *      ibus_text_get_attributes            (IBusText *text);
void                ibus_text_set_attributes            (IBusText *text,
                                                         IBusAttrList *attrs);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----IBusObject
               +----IBusSerializable
                     +----IBusText

Description

An IBusText is the main text object in IBus. The text is decorated according to associated IBusAttribute, e.g. the foreground/background color, underline, and applied scope.

Details

struct IBusText

struct IBusText {
    gboolean is_static;
    gchar  *text;
    IBusAttrList *attrs;
};

A text object in IBus.

gboolean is_static;

Whether text is static, i.e., no need and will not be freed. Only TRUE if IBusText is newed from ibus_text_new_from_static_string().

gchar *text;

The string content of IBusText in UTF-8.

IBusAttrList *attrs;

Associated IBusAttributes.

struct IBusTextClass

struct IBusTextClass {
    IBusSerializableClass parent;
};


ibus_text_new_from_string ()

IBusText *          ibus_text_new_from_string           (const gchar *str);

New an IBusText from a string.

str will be duplicated in IBusText, so feel free to free str after this function.

str :

An text string to be set.

Returns :

A newly allocated IBusText.

ibus_text_new_from_ucs4 ()

IBusText *          ibus_text_new_from_ucs4             (const gunichar *str);

New an IBusText from an UCS-4 encoded string.

str will be duplicated in IBusText, so feel free to free str after this function.

str :

An text string to be set.

Returns :

A newly allocated IBusText.

ibus_text_new_from_static_string ()

IBusText *          ibus_text_new_from_static_string    (const gchar *str);

New an IBusText from a static string.

Since str is a static string which won't be freed. This function will NOT duplicate str.

str :

An text string to be set.

Returns :

A newly allocated IBusText.

ibus_text_new_from_printf ()

IBusText *          ibus_text_new_from_printf           (const gchar *fmt,
                                                         ...);

New an IBusText from a printf expression.

The result of printf expression is stored in the new IBusText instance.

fmt :

printf format string.

... :

arguments for fmt.

Returns :

A newly allocated IBusText.

ibus_text_new_from_unichar ()

IBusText *          ibus_text_new_from_unichar          (gunichar c);

New an IBusText from a single UCS4-encoded character.

c :

A single UCS4-encoded character.

Returns :

A newly allocated IBusText.

ibus_text_append_attribute ()

void                ibus_text_append_attribute          (IBusText *text,
                                                         guint type,
                                                         guint value,
                                                         guint start_index,
                                                         gint end_index);

Append an IBusAttribute for IBusText.

text :

an IBusText

type :

IBusAttributeType for text.

value :

Value for the type.

start_index :

The starting index, inclusive.

end_index :

The ending index, exclusive.

ibus_text_get_length ()

guint               ibus_text_get_length                (IBusText *text);

Return number of characters in an IBusText. This function is based on g_utf8_strlen(), so unlike strlen(), it does not count by bytes but characters instead.

text :

An IBusText.

Returns :

Number of character in text, not counted by bytes.

ibus_text_get_is_static ()

gboolean            ibus_text_get_is_static             (IBusText *text);

Return the is_static in an IBusText.

text :

An IBusText.

Returns :

the is_static in text.

ibus_text_get_text ()

const gchar *       ibus_text_get_text                  (IBusText *text);

Return the text in an IBusText. Should not be freed.

text :

An IBusText.

Returns :

the text in text.

ibus_text_get_attributes ()

IBusAttrList *      ibus_text_get_attributes            (IBusText *text);

Return the attributes in an IBusText. Should not be freed.

text :

An IBusText.

Returns :

the attrs in text. [transfer none]

ibus_text_set_attributes ()

void                ibus_text_set_attributes            (IBusText *text,
                                                         IBusAttrList *attrs);

text :

An IBusText.

attrs :

An IBusAttrList

See Also

IBusAttribute