mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-26 21:51:08 +00:00
27d05102ab
This is pretty unused and gets in the way of the next steps. A potential side effect is that for templates the widget was passed as the user data argument. If that turns out to be important, we have to special case that situation.
49 lines
1.2 KiB
C
49 lines
1.2 KiB
C
#include <gtk/gtk.h>
|
|
#include <glib/gstdio.h>
|
|
|
|
static GtkWidget *header_stack;
|
|
static GtkWidget *page_stack;
|
|
|
|
static void
|
|
back_to_main (GtkButton *button)
|
|
{
|
|
gtk_stack_set_visible_child_name (GTK_STACK (header_stack), "main");
|
|
gtk_stack_set_visible_child_name (GTK_STACK (page_stack), "page1");
|
|
}
|
|
|
|
static void
|
|
go_to_secondary (GtkButton *button)
|
|
{
|
|
gtk_stack_set_visible_child_name (GTK_STACK (header_stack), "secondary");
|
|
gtk_stack_set_visible_child_name (GTK_STACK (page_stack), "secondary");
|
|
}
|
|
|
|
int
|
|
main (int argc, char *argv[])
|
|
{
|
|
GtkBuilder *builder;
|
|
GtkWidget *win;
|
|
|
|
#ifdef GTK_SRCDIR
|
|
g_chdir (GTK_SRCDIR);
|
|
#endif
|
|
|
|
gtk_init ();
|
|
|
|
builder = gtk_builder_new ();
|
|
gtk_builder_add_callback_symbol (builder, "back_to_main", G_CALLBACK (back_to_main));
|
|
gtk_builder_add_callback_symbol (builder, "go_to_secondary", G_CALLBACK (go_to_secondary));
|
|
gtk_builder_add_from_file (builder, "teststackedheaders.ui", NULL);
|
|
gtk_builder_connect_signals (builder);
|
|
|
|
win = (GtkWidget *)gtk_builder_get_object (builder, "window");
|
|
header_stack = (GtkWidget *)gtk_builder_get_object (builder, "header_stack");
|
|
page_stack = (GtkWidget *)gtk_builder_get_object (builder, "page_stack");
|
|
|
|
gtk_window_present (GTK_WINDOW (win));
|
|
|
|
gtk_main ();
|
|
|
|
return 0;
|
|
}
|