mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-17 23:10:22 +00:00
window: handle titlebar property for the buildable interface
This commit is contained in:
parent
96e0d9db72
commit
38688cad00
@ -103,6 +103,11 @@
|
|||||||
* <object class="GtkAccelGroup" id="accelgroup1"/>
|
* <object class="GtkAccelGroup" id="accelgroup1"/>
|
||||||
* ]]></programlisting>
|
* ]]></programlisting>
|
||||||
* </example>
|
* </example>
|
||||||
|
* <para>
|
||||||
|
* The GtkWindow implementation of the GtkBuildable interface
|
||||||
|
* supports setting a child as the titlebar by specifying "titlebar" as
|
||||||
|
* the "type" attribute of a <tag class="starttag">child</tag> element.
|
||||||
|
* </para>
|
||||||
* </refsect2>
|
* </refsect2>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -511,6 +516,10 @@ static void gtk_window_get_property (GObject *object,
|
|||||||
|
|
||||||
/* GtkBuildable */
|
/* GtkBuildable */
|
||||||
static void gtk_window_buildable_interface_init (GtkBuildableIface *iface);
|
static void gtk_window_buildable_interface_init (GtkBuildableIface *iface);
|
||||||
|
static void gtk_window_buildable_add_child (GtkBuildable *buildable,
|
||||||
|
GtkBuilder *builder,
|
||||||
|
GObject *child,
|
||||||
|
const gchar *type);
|
||||||
static void gtk_window_buildable_set_buildable_property (GtkBuildable *buildable,
|
static void gtk_window_buildable_set_buildable_property (GtkBuildable *buildable,
|
||||||
GtkBuilder *builder,
|
GtkBuilder *builder,
|
||||||
const gchar *name,
|
const gchar *name,
|
||||||
@ -1556,6 +1565,21 @@ gtk_window_buildable_interface_init (GtkBuildableIface *iface)
|
|||||||
iface->parser_finished = gtk_window_buildable_parser_finished;
|
iface->parser_finished = gtk_window_buildable_parser_finished;
|
||||||
iface->custom_tag_start = gtk_window_buildable_custom_tag_start;
|
iface->custom_tag_start = gtk_window_buildable_custom_tag_start;
|
||||||
iface->custom_finished = gtk_window_buildable_custom_finished;
|
iface->custom_finished = gtk_window_buildable_custom_finished;
|
||||||
|
iface->add_child = gtk_window_buildable_add_child;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gtk_window_buildable_add_child (GtkBuildable *buildable,
|
||||||
|
GtkBuilder *builder,
|
||||||
|
GObject *child,
|
||||||
|
const gchar *type)
|
||||||
|
{
|
||||||
|
if (type && strcmp (type, "titlebar") == 0)
|
||||||
|
gtk_window_set_titlebar (GTK_WINDOW (buildable), GTK_WIDGET (child));
|
||||||
|
else if (!type)
|
||||||
|
gtk_container_add (GTK_CONTAINER (buildable), GTK_WIDGET (child));
|
||||||
|
else
|
||||||
|
GTK_BUILDER_WARN_INVALID_CHILD_TYPE (buildable, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user