Top |
Functions
Properties
Types and Values
struct | GtkTextTag |
enum | GtkWrapMode |
struct | GtkTextAttributes |
struct | GtkTextAppearance |
Description
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 is working (with minor issues) since 2.8.
Functions
gtk_text_tag_new ()
GtkTextTag *
gtk_text_tag_new (const gchar *name
);
Creates a GtkTextTag. Configure the tag using object arguments,
i.e. using g_object_set()
.
gtk_text_tag_get_priority ()
gint
gtk_text_tag_get_priority (GtkTextTag *tag
);
Get the tag priority.
gtk_text_tag_set_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.
gtk_text_tag_event ()
gboolean gtk_text_tag_event (GtkTextTag *tag
,GObject *event_object
,GdkEvent *event
,const GtkTextIter *iter
);
Emits the "event" signal on the GtkTextTag.
gtk_text_attributes_new ()
GtkTextAttributes *
gtk_text_attributes_new (void
);
Creates a GtkTextAttributes, which describes a set of properties on some text.
gtk_text_attributes_copy ()
GtkTextAttributes *
gtk_text_attributes_copy (GtkTextAttributes *src
);
Copies src
and returns a new GtkTextAttributes.
gtk_text_attributes_copy_values ()
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
.
gtk_text_attributes_unref ()
void
gtk_text_attributes_unref (GtkTextAttributes *values
);
Decrements the reference count on values
, freeing the structure
if the reference count reaches 0.
gtk_text_attributes_ref ()
GtkTextAttributes *
gtk_text_attributes_ref (GtkTextAttributes *values
);
Increments the reference count on values
.
Types and Values
enum GtkWrapMode
Describes a type of line wrapping.
Members
do not wrap lines; just make the text area wider |
||
wrap text, breaking lines anywhere the cursor can
appear (between characters, usually - if you want to
be technical, between graphemes, see
|
||
wrap text, breaking lines in between words |
||
wrap text, breaking lines in between words, or if that is not enough, also between graphemes. |
struct GtkTextAttributes
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.
Members
GtkTextAppearance |
pointer to sub-struct containing certain attributes |
|
GtkJustification |
||
GtkTextDirection |
||
gdouble |
||
gint |
||
gint |
||
gint |
||
gint |
||
gint |
||
gint |
||
GtkWrapMode |
||
guint |
||
guint |
||
guint |
||
guint |
struct GtkTextAppearance
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; };
Property Details
The “accumulative-margin”
property
“accumulative-margin” gboolean
Whether the margins accumulate or override each other.
When set to TRUE
the margins of this tag are added to the margins
of any other non-accumulative margins present. When set to FALSE
the margins override one another (the default).
Flags: Read / Write
Default value: FALSE
Since 2.12
The “background”
property
“background” gchar *
Background color as a string.
Flags: Write
Default value: NULL
The “background-full-height”
property
“background-full-height” gboolean
Whether the background color fills the entire line height or only the height of the tagged characters.
Flags: Read / Write
Default value: FALSE
The “background-full-height-set”
property
“background-full-height-set” gboolean
Whether this tag affects background height.
Flags: Read / Write
Default value: FALSE
The “background-gdk”
property
“background-gdk” GdkColor *
Background color as a (possibly unallocated) GdkColor.
Flags: Read / Write
The “background-set”
property
“background-set” gboolean
Whether this tag affects the background color.
Flags: Read / Write
Default value: FALSE
The “background-stipple”
property
“background-stipple” GdkPixmap *
Bitmap to use as a mask when drawing the text background.
Flags: Read / Write
The “background-stipple-set”
property
“background-stipple-set” gboolean
Whether this tag affects the background stipple.
Flags: Read / Write
Default value: FALSE
The “direction”
property
“direction” GtkTextDirection
Text direction, e.g. right-to-left or left-to-right.
Flags: Read / Write
Default value: GTK_TEXT_DIR_NONE
The “editable”
property
“editable” gboolean
Whether the text can be modified by the user.
Flags: Read / Write
Default value: TRUE
The “editable-set”
property
“editable-set” gboolean
Whether this tag affects text editability.
Flags: Read / Write
Default value: FALSE
The “family”
property
“family” gchar *
Name of the font family, e.g. Sans, Helvetica, Times, Monospace.
Flags: Read / Write
Default value: NULL
The “family-set”
property
“family-set” gboolean
Whether this tag affects the font family.
Flags: Read / Write
Default value: FALSE
The “font”
property
“font” gchar *
Font description as string, e.g. \"Sans Italic 12\".
Note that the initial value of this property depends on the internals of PangoFontDescription.
Flags: Read / Write
Default value: NULL
The “font-desc”
property
“font-desc” PangoFontDescription *
Font description as a PangoFontDescription struct.
Flags: Read / Write
The “foreground”
property
“foreground” gchar *
Foreground color as a string.
Flags: Write
Default value: NULL
The “foreground-gdk”
property
“foreground-gdk” GdkColor *
Foreground color as a (possibly unallocated) GdkColor.
Flags: Read / Write
The “foreground-set”
property
“foreground-set” gboolean
Whether this tag affects the foreground color.
Flags: Read / Write
Default value: FALSE
The “foreground-stipple”
property
“foreground-stipple” GdkPixmap *
Bitmap to use as a mask when drawing the text foreground.
Flags: Read / Write
The “foreground-stipple-set”
property
“foreground-stipple-set” gboolean
Whether this tag affects the foreground stipple.
Flags: Read / Write
Default value: FALSE
The “indent”
property
“indent” gint
Amount to indent the paragraph, in pixels.
Flags: Read / Write
Default value: 0
The “indent-set”
property
“indent-set” gboolean
Whether this tag affects indentation.
Flags: Read / Write
Default value: FALSE
The “invisible”
property
“invisible” gboolean
Whether this text is hidden.
Note that there may still be problems with the support for invisible text, in particular when navigating programmatically inside a buffer containing invisible segments.
Flags: Read / Write
Default value: FALSE
Since 2.8
The “invisible-set”
property
“invisible-set” gboolean
Whether this tag affects text visibility.
Flags: Read / Write
Default value: FALSE
The “justification”
property
“justification” GtkJustification
Left, right, or center justification.
Flags: Read / Write
Default value: GTK_JUSTIFY_LEFT
The “justification-set”
property
“justification-set” gboolean
Whether this tag affects paragraph justification.
Flags: Read / Write
Default value: FALSE
The “language”
property
“language” gchar *
The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If not set, an appropriate default will be used.
Note that the initial value of this property depends on the current
locale, see also gtk_get_default_language()
.
Flags: Read / Write
Default value: NULL
The “language-set”
property
“language-set” gboolean
Whether this tag affects the language the text is rendered as.
Flags: Read / Write
Default value: FALSE
The “left-margin”
property
“left-margin” gint
Width of the left margin in pixels.
Flags: Read / Write
Allowed values: >= 0
Default value: 0
The “left-margin-set”
property
“left-margin-set” gboolean
Whether this tag affects the left margin.
Flags: Read / Write
Default value: FALSE
The “name”
property
“name” gchar *
Name used to refer to the text tag. NULL for anonymous tags.
Flags: Read / Write / Construct Only
Default value: NULL
The “paragraph-background”
property
“paragraph-background” gchar *
The paragraph background color as a string.
Flags: Write
Default value: NULL
Since 2.8
The “paragraph-background-gdk”
property
“paragraph-background-gdk” GdkColor *
The paragraph background color as a as a (possibly unallocated) GdkColor.
Flags: Read / Write
Since 2.8
The “paragraph-background-set”
property
“paragraph-background-set” gboolean
Whether this tag affects the paragraph background color.
Flags: Read / Write
Default value: FALSE
The “pixels-above-lines”
property
“pixels-above-lines” gint
Pixels of blank space above paragraphs.
Flags: Read / Write
Allowed values: >= 0
Default value: 0
The “pixels-above-lines-set”
property
“pixels-above-lines-set” gboolean
Whether this tag affects the number of pixels above lines.
Flags: Read / Write
Default value: FALSE
The “pixels-below-lines”
property
“pixels-below-lines” gint
Pixels of blank space below paragraphs.
Flags: Read / Write
Allowed values: >= 0
Default value: 0
The “pixels-below-lines-set”
property
“pixels-below-lines-set” gboolean
Whether this tag affects the number of pixels above lines.
Flags: Read / Write
Default value: FALSE
The “pixels-inside-wrap”
property
“pixels-inside-wrap” gint
Pixels of blank space between wrapped lines in a paragraph.
Flags: Read / Write
Allowed values: >= 0
Default value: 0
The “pixels-inside-wrap-set”
property
“pixels-inside-wrap-set” gboolean
Whether this tag affects the number of pixels between wrapped lines.
Flags: Read / Write
Default value: FALSE
The “right-margin”
property
“right-margin” gint
Width of the right margin in pixels.
Flags: Read / Write
Allowed values: >= 0
Default value: 0
The “right-margin-set”
property
“right-margin-set” gboolean
Whether this tag affects the right margin.
Flags: Read / Write
Default value: FALSE
The “rise”
property
“rise” gint
Offset of text above the baseline (below the baseline if rise is negative) in Pango units.
Flags: Read / Write
Default value: 0
The “rise-set”
property
“rise-set” gboolean
Whether this tag affects the rise.
Flags: Read / Write
Default value: FALSE
The “scale”
property
“scale” gdouble
Font size as a scale factor relative to the default font size. This properly adapts to theme changes etc. so is recommended. Pango predefines some scales such as PANGO_SCALE_X_LARGE.
Flags: Read / Write
Allowed values: >= 0
Default value: 1
The “scale-set”
property
“scale-set” gboolean
Whether this tag scales the font size by a factor.
Flags: Read / Write
Default value: FALSE
The “size”
property
“size” gint
Font size in Pango units.
Flags: Read / Write
Allowed values: >= 0
Default value: 0
The “size-points”
property
“size-points” gdouble
Font size in points.
Flags: Read / Write
Allowed values: >= 0
Default value: 0
The “size-set”
property
“size-set” gboolean
Whether this tag affects the font size.
Flags: Read / Write
Default value: FALSE
The “stretch”
property
“stretch” PangoStretch
Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED.
Flags: Read / Write
Default value: PANGO_STRETCH_NORMAL
The “stretch-set”
property
“stretch-set” gboolean
Whether this tag affects the font stretch.
Flags: Read / Write
Default value: FALSE
The “strikethrough”
property
“strikethrough” gboolean
Whether to strike through the text.
Flags: Read / Write
Default value: FALSE
The “strikethrough-set”
property
“strikethrough-set” gboolean
Whether this tag affects strikethrough.
Flags: Read / Write
Default value: FALSE
The “style”
property
“style” PangoStyle
Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC.
Flags: Read / Write
Default value: PANGO_STYLE_NORMAL
The “style-set”
property
“style-set” gboolean
Whether this tag affects the font style.
Flags: Read / Write
Default value: FALSE
The “tabs-set”
property
“tabs-set” gboolean
Whether this tag affects tabs.
Flags: Read / Write
Default value: FALSE
The “underline”
property
“underline” PangoUnderline
Style of underline for this text.
Flags: Read / Write
Default value: PANGO_UNDERLINE_NONE
The “underline-set”
property
“underline-set” gboolean
Whether this tag affects underlining.
Flags: Read / Write
Default value: FALSE
The “variant”
property
“variant” PangoVariant
Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS.
Flags: Read / Write
Default value: PANGO_VARIANT_NORMAL
The “variant-set”
property
“variant-set” gboolean
Whether this tag affects the font variant.
Flags: Read / Write
Default value: FALSE
The “weight”
property
“weight” gint
Font weight as an integer, see predefined values in PangoWeight; for example, PANGO_WEIGHT_BOLD.
Flags: Read / Write
Allowed values: >= 0
Default value: 400
The “weight-set”
property
“weight-set” gboolean
Whether this tag affects the font weight.
Flags: Read / Write
Default value: FALSE
The “wrap-mode”
property
“wrap-mode” GtkWrapMode
Whether to wrap lines never, at word boundaries, or at character boundaries.
Flags: Read / Write
Default value: GTK_WRAP_NONE
The “wrap-mode-set”
property
“wrap-mode-set” gboolean
Whether this tag affects line wrap mode.
Flags: Read / Write
Default value: FALSE
Signal Details
The “event”
signal
gboolean user_function (GtkTextTag *tag, GObject *object, GdkEvent *event, GtkTextIter *iter, gpointer user_data)
The ::event signal is emitted when an event occurs on a region of the buffer marked with this tag.
Parameters
tag |
the GtkTextTag on which the signal is emitted |
|
object |
the object the event was fired from (typically a GtkTextView) |
|
event |
the event which triggered the signal |
|
iter |
a GtkTextIter pointing at the location the event occured |
|
user_data |
user data set when the signal handler was connected. |
Returns
TRUE
to stop other handlers from being invoked for the
event. FALSE
to propagate the event further.
Flags: Run Last