[gtk+] Use gtk_window_set_titlebar in testheaderbar
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Use gtk_window_set_titlebar in testheaderbar
- Date: Mon, 18 Mar 2013 12:50:32 +0000 (UTC)
commit 55969a8a0cc674aab5f0ad49874d4b2c4d8dfb87
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Mar 18 08:26:24 2013 -0400
Use gtk_window_set_titlebar in testheaderbar
This demonstrates how custom titlebars work both with
and without csd.
tests/testheaderbar.c | 35 +++++++++++++++++++++++------------
1 files changed, 23 insertions(+), 12 deletions(-)
---
diff --git a/tests/testheaderbar.c b/tests/testheaderbar.c
index 3f6d099..f269192 100644
--- a/tests/testheaderbar.c
+++ b/tests/testheaderbar.c
@@ -1,7 +1,24 @@
#include <gtk/gtk.h>
static const gchar css[] =
- ".header { -GtkWidget-window-dragging: true; }";
+ ".background { "
+ " background-image: -gtk-gradient (linear, center top, center bottom, "
+ " from (red), "
+ " to (blue)); "
+ " border-radius: 10px 10px 0px 0px; "
+ " border-width: 0px; "
+ "}"
+ ".titlebar:backdrop { "
+ " background-image: none; "
+ " background-color: @bg_color; "
+ " border-radius: 10px 10px 0px 0px; "
+ "}"
+ ".titlebar { "
+ " background-image: -gtk-gradient (linear, center top, center bottom, "
+ " from (white), "
+ " to (@bg_color)); "
+ " border-radius: 10px 10px 0px 0px; "
+ "}";
int
main (int argc, char *argv[])
@@ -18,13 +35,8 @@ main (int argc, char *argv[])
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_widget_realize (window);
- gdk_window_set_decorations (gtk_widget_get_window (window),
- GDK_DECOR_BORDER);
-
header = gtk_header_bar_new ();
- gtk_style_context_add_class (gtk_widget_get_style_context (header),
- "header");
+ gtk_style_context_add_class (gtk_widget_get_style_context (header), "titlebar");
provider = gtk_css_provider_new ();
gtk_css_provider_load_from_data (provider, css, -1, NULL);
gtk_style_context_add_provider_for_screen (gtk_widget_get_screen (window),
@@ -38,16 +50,16 @@ main (int argc, char *argv[])
gtk_header_bar_pack_end (GTK_HEADER_BAR (header), button);
- box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+ gtk_window_set_titlebar (GTK_WINDOW (window), header);
+ box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box);
- gtk_box_pack_start (GTK_BOX (box), header, FALSE, FALSE, 0);
-
footer = gtk_header_bar_new ();
gtk_header_bar_pack_start (GTK_HEADER_BAR (footer), gtk_button_new_with_label ("Start"));
gtk_header_bar_set_custom_title (GTK_HEADER_BAR (footer), gtk_check_button_new_with_label ("Middle"));
- gtk_header_bar_pack_end (GTK_HEADER_BAR (footer), gtk_button_new_with_label ("End"));
+ gtk_header_bar_pack_end (GTK_HEADER_BAR (footer), gtk_button_new_with_label ("End 1"));
+ gtk_header_bar_pack_end (GTK_HEADER_BAR (footer), gtk_button_new_with_label ("End 2"));
gtk_box_pack_end (GTK_BOX (box), footer, FALSE, FALSE, 0);
content = gtk_image_new_from_icon_name ("start-here-symbolic", GTK_ICON_SIZE_DIALOG);
@@ -55,7 +67,6 @@ main (int argc, char *argv[])
gtk_box_pack_start (GTK_BOX (box), content, FALSE, TRUE, 0);
-
gtk_widget_show_all (window);
gtk_main ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]