File: test-header-bar.c

package info (click to toggle)
epiphany-browser 3.22.7-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 20,368 kB
  • ctags: 5,201
  • sloc: ansic: 56,800; sh: 4,109; makefile: 1,341; xml: 1,289; python: 33
file content (71 lines) | stat: -rw-r--r-- 2,128 bytes parent folder | download | duplicates (20)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <gtk/gtk.h>
#include <libgd/gd-header-bar.h>

static void
on_switch_clicked (GtkWidget   *button,
                   GdHeaderBar *bar)
{
  GtkWidget *image = NULL;
  static gboolean use_custom = TRUE;

  if (use_custom)
    {
      image = gtk_image_new_from_icon_name ("face-wink-symbolic", GTK_ICON_SIZE_MENU);
      use_custom = FALSE;
    }
  else
    {
      use_custom = TRUE;
    }

  gd_header_bar_set_custom_title (bar, image);
}

gint
main (gint argc,
      gchar ** argv)
{
  GtkWidget *window, *bar, *box, *button;

  gtk_init (&argc, &argv);

  if (g_getenv ("RTL"))
    gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL);
  else
    gtk_widget_set_default_direction (GTK_TEXT_DIR_LTR);

  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_widget_set_size_request (window, 300, 300);

  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
  gtk_container_add (GTK_CONTAINER (window), box);

  bar = gd_header_bar_new ();
  gtk_box_pack_start (GTK_BOX (box), bar, FALSE, TRUE, 0);

  gd_header_bar_set_title (GD_HEADER_BAR (bar), "Title Title Title Title Title Title");
  gd_header_bar_set_subtitle (GD_HEADER_BAR (bar), "Subtitle Subtitle Subtitle Subtitle Subtitle Subtitle");
  button = gtk_button_new_with_label ("Switch");
  gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
  gtk_style_context_add_class (gtk_widget_get_style_context (button), GTK_STYLE_CLASS_RAISED);
  gd_header_bar_pack_start (GD_HEADER_BAR (bar), button);
  g_signal_connect (button, "clicked", G_CALLBACK (on_switch_clicked), bar);

  button = gtk_button_new_with_label ("Done");
  gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
  gtk_style_context_add_class (gtk_widget_get_style_context (button), "suggested-action");

  gd_header_bar_pack_end (GD_HEADER_BAR (bar), button);

  button = gtk_button_new_with_label ("Almost");
  gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
  gtk_style_context_add_class (gtk_widget_get_style_context (button), GTK_STYLE_CLASS_RAISED);
  gd_header_bar_pack_end (GD_HEADER_BAR (bar), button);

  gtk_widget_show_all (window);
  gtk_main ();

  gtk_widget_destroy (window);

  return 0;
}