![]() | ![]() | ![]() | GTK+ Reference Manual | ![]() |
---|
GtkTextTag — A tag that can be applied to text in a GtkTextBuffer
#include <gtk/gtk.h> struct GtkTextTag; enum GtkWrapMode; struct GtkTextAttributes; GtkTextTag* gtk_text_tag_new (const gchar *name); gint gtk_text_tag_get_priority (GtkTextTag *tag); void gtk_text_tag_set_priority (GtkTextTag *tag, gint priority); gboolean gtk_text_tag_event (GtkTextTag *tag, GObject *event_object, GdkEvent *event, const GtkTextIter *iter); struct GtkTextAppearance; GtkTextAttributes* gtk_text_attributes_new (void); GtkTextAttributes* gtk_text_attributes_copy (GtkTextAttributes *src); void gtk_text_attributes_copy_values (GtkTextAttributes *src, GtkTextAttributes *dest); void gtk_text_attributes_unref (GtkTextAttributes *values); void gtk_text_attributes_ref (GtkTextAttributes *values);
GObject +----GtkTextTag
"background" gchararray : Write "background-full-height" gboolean : Read / Write "background-full-height-set" gboolean : Read / Write "background-gdk" GdkColor : Read / Write "background-set" gboolean : Read / Write "background-stipple" GdkPixmap : Read / Write "background-stipple-set" gboolean : Read / Write "direction" GtkTextDirection : Read / Write "editable" gboolean : Read / Write "editable-set" gboolean : Read / Write "family" gchararray : Read / Write "family-set" gboolean : Read / Write "font" gchararray : Read / Write "font-desc" PangoFontDescription : Read / Write "foreground" gchararray : Write "foreground-gdk" GdkColor : Read / Write "foreground-set" gboolean : Read / Write "foreground-stipple" GdkPixmap : Read / Write "foreground-stipple-set" gboolean : Read / Write "indent" gint : Read / Write "indent-set" gboolean : Read / Write "invisible" gboolean : Read / Write "invisible-set" gboolean : Read / Write "justification" GtkJustification : Read / Write "justification-set" gboolean : Read / Write "language" gchararray : Read / Write "language-set" gboolean : Read / Write "left-margin" gint : Read / Write "left-margin-set" gboolean : Read / Write "name" gchararray : Read / Write / Construct Only "pixels-above-lines" gint : Read / Write "pixels-above-lines-set" gboolean : Read / Write "pixels-below-lines" gint : Read / Write "pixels-below-lines-set" gboolean : Read / Write "pixels-inside-wrap" gint : Read / Write "pixels-inside-wrap-set" gboolean : Read / Write "right-margin" gint : Read / Write "right-margin-set" gboolean : Read / Write "rise" gint : Read / Write "rise-set" gboolean : Read / Write "scale" gdouble : Read / Write "scale-set" gboolean : Read / Write "size" gint : Read / Write "size-points" gdouble : Read / Write "size-set" gboolean : Read / Write "stretch" PangoStretch : Read / Write "stretch-set" gboolean : Read / Write "strikethrough" gboolean : Read / Write "strikethrough-set" gboolean : Read / Write "style" PangoStyle : Read / Write "style-set" gboolean : Read / Write "tabs" PangoTabArray : Read / Write "tabs-set" gboolean : Read / Write "underline" PangoUnderline : Read / Write "underline-set" gboolean : Read / Write "variant" PangoVariant : Read / Write "variant-set" gboolean : Read / Write "weight" gint : Read / Write "weight-set" gboolean : Read / Write "wrap-mode" GtkWrapMode : Read / Write "wrap-mode-set" gboolean : Read / Write
"event" gboolean user_function (GtkTextTag *texttag, GObject *arg1, GdkEvent *event, GtkTextIter *arg2, gpointer user_data);
You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together.
Tags should be in the GtkTextTagTable for a given GtkTextBuffer before using them with that buffer.
gtk_text_buffer_create_tag() is the best way to create tags. See gtk-demo for numerous examples.
The "invisible" property was not implemented for GTK+ 2.0; it's planned to be implemented in future releases.
typedef enum { GTK_WRAP_NONE, GTK_WRAP_CHAR, GTK_WRAP_WORD } GtkWrapMode;
Describes a type of line wrapping.
GTK_WRAP_NONE | do not wrap lines; just make the text area wider |
GTK_WRAP_CHAR | wrap text, breaking lines anywhere the cursor can appear (between characters, usually - if you want to be technical, between graphemes, see pango_get_log_attrs()) |
GTK_WRAP_WORD | wrap text, breaking lines in between words |
struct GtkTextAttributes { GtkTextAppearance appearance; GtkJustification justification; GtkTextDirection direction; /* Individual chunks of this can be set/unset as a group */ PangoFontDescription *font; gdouble font_scale; gint left_margin; gint indent; gint right_margin; gint pixels_above_lines; gint pixels_below_lines; gint pixels_inside_wrap; PangoTabArray *tabs; GtkWrapMode wrap_mode; /* How to handle wrap-around for this tag. * Must be GTK_WRAPMODE_CHAR, * GTK_WRAPMODE_NONE, GTK_WRAPMODE_WORD */ PangoLanguage *language; /* hide the text */ guint invisible : 1; /* Background is fit to full line height rather than * baseline +/- ascent/descent (font height) */ guint bg_full_height : 1; /* can edit this text */ guint editable : 1; /* colors are allocated etc. */ guint realized : 1; };
Using GtkTextAttributes directly should rarely be necessary. It's primarily useful with gtk_text_iter_get_attributes(). As with most GTK+ structs, the fields in this struct should only be read, never modified directly.
GtkTextAppearance appearance | pointer to sub-struct containing certain attributes |
GtkJustification justification | |
GtkTextDirection direction | |
PangoFontDescription *font | |
gdouble font_scale | |
gint left_margin | |
gint indent | |
gint right_margin | |
gint pixels_above_lines | |
gint pixels_below_lines | |
gint pixels_inside_wrap | |
PangoTabArray *tabs | |
GtkWrapMode wrap_mode | |
PangoLanguage *language | |
guint invisible : 1 | |
guint bg_full_height : 1 | |
guint editable : 1 | |
guint realized : 1 |
GtkTextTag* gtk_text_tag_new (const gchar *name);
Creates a GtkTextTag. Configure the tag using object arguments, i.e. using g_object_set().
name : | tag name, or NULL |
Returns : | a new GtkTextTag |
gint gtk_text_tag_get_priority (GtkTextTag *tag);
Get the tag priority.
tag : | a GtkTextTag |
Returns : | The tag's priority. |
void gtk_text_tag_set_priority (GtkTextTag *tag, gint priority);
Sets the priority of a GtkTextTag. Valid priorities are start at 0 and go to one less than gtk_text_tag_table_get_size(). Each tag in a table has a unique priority; setting the priority of one tag shifts the priorities of all the other tags in the table to maintain a unique priority for each tag. Higher priority tags "win" if two tags both set the same text attribute. When adding a tag to a tag table, it will be assigned the highest priority in the table by default; so normally the precedence of a set of tags is the order in which they were added to the table, or created with gtk_text_buffer_create_tag(), which adds the tag to the buffer's table automatically.
tag : | a GtkTextTag |
priority : | the new priority |
gboolean gtk_text_tag_event (GtkTextTag *tag, GObject *event_object, GdkEvent *event, const GtkTextIter *iter);
Emits the "event" signal on the GtkTextTag.
tag : | a GtkTextTag |
event_object : | object that received the event, such as a widget |
event : | the event |
iter : | location where the event was received |
Returns : | result of signal emission (whether the event was handled) |
struct GtkTextAppearance { GdkColor bg_color; GdkColor fg_color; GdkBitmap *bg_stipple; GdkBitmap *fg_stipple; /* super/subscript rise, can be negative */ gint rise; guint underline : 4; /* PangoUnderline */ guint strikethrough : 1; /* Whether to use background-related values; this is irrelevant for * the values struct when in a tag, but is used for the composite * values struct; it's true if any of the tags being composited * had background stuff set. */ guint draw_bg : 1; /* These are only used when we are actually laying out and rendering * a paragraph; not when a GtkTextAppearance is part of a * GtkTextAttributes. */ guint inside_selection : 1; guint is_text : 1; };
GtkTextAttributes* gtk_text_attributes_new (void);
Creates a GtkTextAttributes, which describes a set of properties on some text.
Returns : | a new GtkTextAttributes |
GtkTextAttributes* gtk_text_attributes_copy (GtkTextAttributes *src);
Copies src and returns a new GtkTextAttributes.
src : | a GtkTextAttributes to be copied |
Returns : | a copy of src |
void gtk_text_attributes_copy_values (GtkTextAttributes *src, GtkTextAttributes *dest);
Copies the values from src to dest so that dest has the same values as src. Frees existing values in dest.
src : | a GtkTextAttributes |
dest : | another GtkTextAttributes |
void gtk_text_attributes_unref (GtkTextAttributes *values);
Decrements the reference count on values, freeing the structure if the reference count reaches 0.
values : | a GtkTextAttributes |
void gtk_text_attributes_ref (GtkTextAttributes *values);
Increments the reference count on values.
values : | a GtkTextAttributes |
"background" (gchararray : Write) |
|
"background-full-height" (gboolean : Read / Write) |
|
"background-full-height-set" (gboolean : Read / Write) |
|
"background-gdk" (GdkColor : Read / Write) |
|
"background-set" (gboolean : Read / Write) |
|
"background-stipple" (GdkPixmap : Read / Write) |
|
"background-stipple-set" (gboolean : Read / Write) |
|
"direction" (GtkTextDirection : Read / Write) |
|
"editable" (gboolean : Read / Write) |
|
"editable-set" (gboolean : Read / Write) |
|
"family" (gchararray : Read / Write) |
|
"family-set" (gboolean : Read / Write) |
|
"font" (gchararray : Read / Write) |
|
"font-desc" (PangoFontDescription : Read / Write) |
|
"foreground" (gchararray : Write) |
|
"foreground-gdk" (GdkColor : Read / Write) |
|
"foreground-set" (gboolean : Read / Write) |
|
"foreground-stipple" (GdkPixmap : Read / Write) |
|
"foreground-stipple-set" (gboolean : Read / Write) |
|
"indent" (gint : Read / Write) |
|
"indent-set" (gboolean : Read / Write) |
|
"invisible" (gboolean : Read / Write) |
|
"invisible-set" (gboolean : Read / Write) |
|
"justification" (GtkJustification : Read / Write) |
|
"justification-set" (gboolean : Read / Write) |
|
"language" (gchararray : Read / Write) |
|
"language-set" (gboolean : Read / Write) |
|
"left-margin" (gint : Read / Write) |
|
"left-margin-set" (gboolean : Read / Write) |
|
"name" (gchararray : Read / Write / Construct Only) |
|
"pixels-above-lines" (gint : Read / Write) |
|
"pixels-above-lines-set" (gboolean : Read / Write) |
|
"pixels-below-lines" (gint : Read / Write) |
|
"pixels-below-lines-set" (gboolean : Read / Write) |
|
"pixels-inside-wrap" (gint : Read / Write) |
|
"pixels-inside-wrap-set" (gboolean : Read / Write) |
|
"right-margin" (gint : Read / Write) |
|
"right-margin-set" (gboolean : Read / Write) |
|
"rise" (gint : Read / Write) |
|
"rise-set" (gboolean : Read / Write) |
|
"scale" (gdouble : Read / Write) |
|
"scale-set" (gboolean : Read / Write) |
|
"size" (gint : Read / Write) |
|
"size-points" (gdouble : Read / Write) |
|
"size-set" (gboolean : Read / Write) |
|
"stretch" (PangoStretch : Read / Write) |
|
"stretch-set" (gboolean : Read / Write) |
|
"strikethrough" (gboolean : Read / Write) |
|
"strikethrough-set" (gboolean : Read / Write) |
|
"style" (PangoStyle : Read / Write) |
|
"style-set" (gboolean : Read / Write) |
|
"tabs" (PangoTabArray : Read / Write) |
|
"tabs-set" (gboolean : Read / Write) |
|
"underline" (PangoUnderline : Read / Write) |
|
"underline-set" (gboolean : Read / Write) |
|
"variant" (PangoVariant : Read / Write) |
|
"variant-set" (gboolean : Read / Write) |
|
"weight" (gint : Read / Write) |
|
"weight-set" (gboolean : Read / Write) |
|
"wrap-mode" (GtkWrapMode : Read / Write) |
|
"wrap-mode-set" (gboolean : Read / Write) |
|
gboolean user_function (GtkTextTag *texttag, GObject *arg1, GdkEvent *event, GtkTextIter *arg2, gpointer user_data);
texttag : | the object which received the signal. |
arg1 : | |
event : | |
arg2 : | |
user_data : | user data set when the signal handler was connected. |
Returns : |
<< GtkTextBuffer | GtkTextTagTable >> |