GtkLabel
<!-- ##### SECTION Short_Description ##### -->
-A widget that displays a small to medium amount of text.
+A widget that displays a small to medium amount of text
<!-- ##### SECTION Long_Description ##### -->
<para>
#GtkButton, a #GtkMenuItem, or a #GtkOptionMenu.
</para>
+<refsect2 id="GtkLabel-BUILDER-UI">
+<title>GtkLabel as GtkBuildable</title>
+<para>
+The GtkLabel implementation of the GtkBuildable interface supports a
+custom <attributes> element, which supports any number of <attribute>
+elements. the <attribute> element has attributes named name, value,
+start and end and allows you to specify #PangoAttribute values for this label.
+</para>
+<example>
+<title>A UI definition fragment specifying Pango attributes</title>
+<programlisting><![CDATA[
+<object class="GtkLabel">
+ <attributes>
+ <attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
+ <attribute name="background" value="red" start="5" end="10"/>"
+ </attributes>
+</object>
+]]></programlisting>
+</example>
+<para>
+The start and end attributes specify the range of characters to which the
+Pango attribute applies. If start and end are not specified, the attribute is
+applied to the whole text. Note that specifying ranges does not make much
+sense with translatable attributes. Use markup embedded in the translatable
+content instead.
+</para>
+</refsect2>
+
+
<refsect2>
<title>Mnemonics</title>
tags in the Pango manual.)
</para>
<para>
-The markup passed to gtk_label_set_markup() must be valid; for
-example, literal </>/& characters must be escaped as
-&lt;, &gt;, and &amp;. If you pass text obtained from
-the user, file, or a network to gtk_label_set_markup(),
-you'll want to escape it with g_markup_escape_text().
+The markup passed to gtk_label_set_markup() must be valid; for example,
+literal </>/& characters must be escaped as &lt;,
+&gt;, and &amp;. If you pass text obtained from the user, file,
+or a network to gtk_label_set_markup(), you'll want to escape it with
+g_markup_escape_text() or g_markup_printf_escaped().
</para>
<para>
Markup strings are just a convenient way to set the #PangoAttrList on
</para>
</refsect2>
-<refsect2>
+<refsect2 id="label-text-layout">
<title>Text layout</title>
<para>
gtk_label_set_line_wrap().
</para>
<para>
-gtk_label_set_justify() sets how the lines in a label align
-with one another. If you want to set how the label as a whole
+gtk_label_set_justify() sets how the lines in a label align
+with one another. If you want to set how the label as a whole
aligns in its available space, see gtk_misc_set_alignment().
</para>
+<para>
+The #GtkLabel:width-chars and #GtkLabel:max-width-chars properties
+can be used to control the size allocation of ellipsized or wrapped
+labels. For ellipsizing labels, if either is specified (and less
+than the actual text size), it is used as the minimum width, and the actual
+text size is used as the natural width of the label. For wrapping labels,
+width-chars is used as the minimum width, if specified, and max-width-chars
+is used as the natural width. Even if max-width-chars specified, wrapping
+labels will be rewrapped to use all of the available width.
+</para>
+<note><para>Note that the interpretation of #GtkLabel:width-chars and
+#GtkLabel:max-width-chars has changed a bit with the introduction of
+width-for-height geometry management and #GtkExtendedLayout.</para></note>
+</refsect2>
+
+<refsect2>
+<title>Links</title>
+
+<para>
+Since 2.18, GTK+ supports markup for clickable hyperlinks in addition
+to regular Pango markup. The markup for links is borrowed from HTML, using the
+<tag>a</tag> with href and title attributes. GTK+ renders links similar to the
+way they appear in web browsers, with colored, underlined text. The title
+attribute is displayed as a tooltip on the link. An example looks like this:
+<informalexample><programlisting>
+gtk_label_set_markup (label, "Go to the <a href=\"http://www.gtk.org\" title=\"&lt;i&gt;Our&/i&gt; website\">GTK+ website</a> for more...");
+</programlisting></informalexample>
+It is possible to implement custom handling for links and their tooltips with
+the #GtkLabel::activate-link signal and the gtk_label_get_current_uri() function.
+</para>
</refsect2>
</para>
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
<!-- ##### STRUCT GtkLabel ##### -->
<para>
This should not be accessed directly. Use the accessor functions as
</para>
+<!-- ##### SIGNAL GtkLabel::activate-current-link ##### -->
+<para>
+
+</para>
+
+@label: the object which received the signal.
+
+<!-- ##### SIGNAL GtkLabel::activate-link ##### -->
+<para>
+
+</para>
+
+@label: the object which received the signal.
+@arg1:
+@Returns:
+
<!-- ##### SIGNAL GtkLabel::copy-clipboard ##### -->
<para>
@label: the object which received the signal.
@arg1:
+<!-- ##### ARG GtkLabel:angle ##### -->
+<para>
+
+</para>
+
<!-- ##### ARG GtkLabel:attributes ##### -->
<para>
</para>
+<!-- ##### ARG GtkLabel:max-width-chars ##### -->
+<para>
+
+</para>
+
<!-- ##### ARG GtkLabel:mnemonic-keyval ##### -->
<para>
</para>
+<!-- ##### ARG GtkLabel:single-line-mode ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkLabel:track-visited-links ##### -->
+<para>
+
+</para>
+
<!-- ##### ARG GtkLabel:use-markup ##### -->
<para>
</para>
+<!-- ##### ARG GtkLabel:width-chars ##### -->
+<para>
+
+</para>
+
<!-- ##### ARG GtkLabel:wrap ##### -->
<para>
</para>
+<!-- ##### ARG GtkLabel:wrap-mode ##### -->
+<para>
+
+</para>
+
<!-- ##### FUNCTION gtk_label_new ##### -->
<para>
@mode:
-<!-- ##### FUNCTION gtk_label_get ##### -->
+<!-- ##### FUNCTION gtk_label_set_width_chars ##### -->
<para>
-Gets the current string of text within the #GtkLabel and writes it to
-the given @str argument. It does not make a copy of this string so you
-must not write to it.
+
</para>
-@label: The #GtkLabel widget you want to get the text from.
-@str: The reference to the pointer you want to point to the text.
+@label:
+@n_chars:
-<!-- ##### FUNCTION gtk_label_parse_uline ##### -->
+<!-- ##### FUNCTION gtk_label_set_max_width_chars ##### -->
<para>
-Parses the given string for underscores and converts the next
-character to an underlined character. The last character that
-was underlined will have its lower-cased accelerator keyval returned (i.e.
-"_File" would return the keyval for "f". This is
-probably only used within the Gtk+ library itself for menu items and such.
+
</para>
-@label: The #GtkLabel you want to affect.
-@string: The string you want to parse for underlines.
-@Returns: The lowercase keyval of the last character underlined.
+@label:
+@n_chars:
<!-- ##### FUNCTION gtk_label_set_line_wrap ##### -->
@wrap:
-<!-- ##### MACRO gtk_label_set ##### -->
+<!-- ##### FUNCTION gtk_label_set_line_wrap_mode ##### -->
<para>
-Aliases gtk_label_set_text(). Probably used for backward compatibility with
-Gtk+ 1.0.x.
+
</para>
+@label:
+@wrap_mode:
<!-- ##### FUNCTION gtk_label_get_layout_offsets ##### -->
@Returns:
+<!-- ##### FUNCTION gtk_label_get_width_chars ##### -->
+<para>
+
+</para>
+
+@label:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_label_get_max_width_chars ##### -->
+<para>
+
+</para>
+
+@label:
+@Returns:
+
+
<!-- ##### FUNCTION gtk_label_get_label ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION gtk_label_get_line_wrap_mode ##### -->
+<para>
+
+</para>
+
+@label:
+@Returns:
+
+
<!-- ##### FUNCTION gtk_label_get_mnemonic_widget ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION gtk_label_get_single_line_mode ##### -->
+<para>
+
+</para>
+
+@label:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_label_get_angle ##### -->
+<para>
+
+</para>
+
+@label:
+@Returns:
+
+
<!-- ##### FUNCTION gtk_label_set_label ##### -->
<para>
@setting:
+<!-- ##### FUNCTION gtk_label_set_single_line_mode ##### -->
+<para>
+
+</para>
+
+@label:
+@single_line_mode:
+
+
+<!-- ##### FUNCTION gtk_label_set_angle ##### -->
+<para>
+
+</para>
+
+@label:
+@angle:
+
+
+<!-- ##### FUNCTION gtk_label_get_current_uri ##### -->
+<para>
+
+</para>
+
+@label:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_label_set_track_visited_links ##### -->
+<para>
+
+</para>
+
+@label:
+@track_links:
+
+
+<!-- ##### FUNCTION gtk_label_get_track_visited_links ##### -->
+<para>
+
+</para>
+
+@label:
+@Returns:
+
+