diff --git a/exec.o b/exec.o index b963f51..c6c694e 100755 Binary files a/exec.o and b/exec.o differ diff --git a/main.c b/main.c index 416289f..771ecd0 100755 --- a/main.c +++ b/main.c @@ -8,18 +8,18 @@ static void activate (GtkApplication *app, gpointer user_data) { GtkWidget *button_2 = gtk_button_new_with_label ("II"); GtkWidget *button_3 = gtk_button_new_with_label ("III"); GtkWidget *button_4 = gtk_button_new_with_label ("IV"); + GtkWidget *button_5 = gtk_button_new_with_label ("V"); GtkWidget *window = gtk_application_window_new (app); GtkWidget *titlebar = gtk_header_bar_new(); -// GtkWidget *overlay = gtk_overlay_new(); -// gtk_overlay_set_buildable_id (GTK_BUILDABLE(overlay), "overlay id"); -// printf("overlay %s\n", gtk_buildable_get_buildable_id (GTK_BUILDABLE(overlay))); + GtkWidget *switcher = gtk_stack_switcher_new(); // GtkWidget *sidebar = gtk_stack_sidebar_new(); GtkStack *stack = GTK_STACK (gtk_stack_new()); GtkWidget *page_1 = gtk_paned_new(GTK_ORIENTATION_VERTICAL); GtkWidget *page_2 = gtk_paned_new(GTK_ORIENTATION_VERTICAL); GtkWidget *grid = gtk_grid_new(); + GtkWidget *grid_3 = gtk_grid_new(); GtkWidget *box = gtk_box_new (0, 6); // 6 = spacing gtk_window_set_title (GTK_WINDOW (window), "Window"); @@ -44,22 +44,24 @@ static void activate (GtkApplication *app, gpointer user_data) { // https://docs.gtk.org/gtk4/enum.AccessibleRole.html // GtkToggleButton *tb1 = GTK_TOGGLE_BUTTON (gtk_button_new_with_label ("tb1")); - gtk_stack_add_titled (stack, page_1, "name 1", "page A"); - gtk_stack_add_titled (stack, page_2, "name 2", "page B"); + gtk_stack_add_titled (stack, page_1, "1", "A"); + gtk_stack_add_titled (stack, page_2, "2", "B"); + GtkStackPage *page_3 = gtk_stack_add_titled (stack, grid_3, "3", "C"); + gtk_grid_attach (GTK_GRID (grid_3), button_5, 0, 0, 1, 1); + - gtk_orientable_set_orientation (GTK_ORIENTABLE (switcher), GTK_ORIENTATION_HORIZONTAL); gtk_orientable_set_orientation (GTK_ORIENTABLE (switcher), GTK_ORIENTATION_VERTICAL); + gtk_orientable_set_orientation (GTK_ORIENTABLE (switcher), GTK_ORIENTATION_HORIZONTAL); gtk_stack_switcher_set_stack (GTK_STACK_SWITCHER (switcher), stack); // gtk_stack_sidebar_set_stack (GTK_STACK_SIDEBAR (sidebar), stack); gtk_stack_page_get_child (GTK_STACK_PAGE(page_1)); // gtk_stack_page_set_name (GTK_STACK_PAGE(page_1), "new name"); - gtk_stack_set_visible_child_name (stack, "name 1"); - printf("visible is page [%s] with name (%s)\n", - "?", // gtk_stack_page_get_title (GTK_STACK_PAGE(page_1)), + gtk_stack_set_visible_child_name (stack, "3"); + printf("visible is page [%s] whose name is : %s\n", + gtk_stack_page_get_title (page_3), gtk_stack_get_visible_child_name (stack)); - // gtk_stack_page_get_title (GTK_STACK_PAGE(page_1))); gtk_stack_set_transition_type (GTK_STACK (stack), GTK_STACK_TRANSITION_TYPE_CROSSFADE); @@ -111,4 +113,9 @@ main (int argc, * */ +// GtkWidget *overlay = gtk_overlay_new(); +// gtk_overlay_set_buildable_id (GTK_BUILDABLE(overlay), "overlay id"); +// printf("overlay %s\n", gtk_buildable_get_buildable_id (GTK_BUILDABLE(overlay))); + +// how do I attach a widget to a page ?