From 6a2f0fd2ca2143cb7e5ed87c5ac436fc3933d0ab Mon Sep 17 00:00:00 2001 From: Jean Sirmai Date: Sat, 27 Apr 2024 08:46:17 +0200 Subject: [PATCH] modules ? how to ? --- exec.o | Bin 26984 -> 26656 bytes main.c | 34 ++++++++++++++++++++-------------- warm.c | 15 +++++++++++++++ warm.h | 24 ++++++++++++++++++++++++ 4 files changed, 59 insertions(+), 14 deletions(-) create mode 100644 warm.c create mode 100644 warm.h diff --git a/exec.o b/exec.o index 062eab551f28365d9b8e699da821eade84798377..708cd5c0c7746113dacece9903521710d5c24275 100755 GIT binary patch delta 7604 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 delta 7917 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 D_5#b; diff --git a/main.c b/main.c index 6259d81..deecb57 100755 --- a/main.c +++ b/main.c @@ -1,4 +1,5 @@ #include +#include "./warm.h" static void print (GtkWidget *widget, gpointer data) {g_print (data);} @@ -10,17 +11,22 @@ static void activate (GtkApplication *app, gpointer user_data) { GtkWidget *button_4 = gtk_button_new_with_label ("IV"); GtkWidget *button_5 = gtk_button_new_with_label ("V"); + char *text = "niofnein"; + printf("in main.c : %s\n", text); +// print_text(text); + GtkWidget *window = gtk_application_window_new (app); GtkWidget *titlebar = gtk_header_bar_new(); GtkWidget *switcher = gtk_stack_switcher_new(); // GtkWidget *sidebar = gtk_stack_sidebar_new(); GtkStack *stack = GTK_STACK (gtk_stack_new()); + GtkWidget *page_0 = gtk_paned_new(GTK_ORIENTATION_VERTICAL); 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 *grid_1 = gtk_grid_new(); GtkWidget *box = gtk_box_new (0, 6); // 6 = spacing + GtkWidget *box_1 = gtk_box_new (0, 6); // 6 = spacing gtk_window_set_title (GTK_WINDOW (window), "Window"); gtk_widget_set_size_request (window, 60, 0); @@ -37,17 +43,22 @@ static void activate (GtkApplication *app, gpointer user_data) { gtk_grid_attach (GTK_GRID (grid), button_0, 0, 1, 2, 1); gtk_box_append (GTK_BOX (box), button_3); gtk_box_append (GTK_BOX (box), button_4); + gtk_box_append (GTK_BOX (box_1), button_5); + + gtk_grid_attach (GTK_GRID (grid), box, 0, 2, 2, 1); // https://developer-old.gnome.org/gtk4/stable/GtkStack.html // https://developer.gnome.org/documentation/index.html // 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, "n°0", "A"); - gtk_stack_add_titled (stack, page_2, "n°1", "B"); - GtkStackPage *page_3 = gtk_stack_add_titled (stack, grid_3, "n°2", "C"); - gtk_grid_attach (GTK_GRID (grid_3), button_5, 0, 0, 1, 1); + gtk_stack_add_titled (stack, page_0, "n°0", "A"); + gtk_stack_add_titled (stack, page_1, "n°1", "B"); + GtkStackPage *page_2 = gtk_stack_add_titled (stack, box_1, "any name", "C"); + gtk_stack_page_set_name (page_2, "n°2"); + + +// gtk_grid_attach (GTK_GRID (grid_1), button_5, 0, 0, 1, 1); gtk_orientable_set_orientation (GTK_ORIENTABLE (switcher), GTK_ORIENTATION_VERTICAL); @@ -56,17 +67,12 @@ static void activate (GtkApplication *app, gpointer user_data) { 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_3), "new name"); - GtkSelectionModel *stack_selection_model = gtk_stack_get_pages (stack); gtk_selection_model_select_item (stack_selection_model, 2, 1); -// gtk_stack_set_visible_child_name (stack, "n°3"); - printf("selected page name is [%s] (can't get its title !)\n", + printf("selected page name is [%s] (how do I get its title ?)\n", gtk_stack_get_visible_child_name (stack)); - gtk_stack_set_transition_type (GTK_STACK (stack), - GTK_STACK_TRANSITION_TYPE_CROSSFADE); +// gtk_stack_set_transition_type (GTK_STACK (stack), GTK_STACK_TRANSITION_TYPE_CROSSFADE); gtk_grid_attach (GTK_GRID (grid), switcher, 0, 3, 2, 1); gtk_window_present (GTK_WINDOW (window)); diff --git a/warm.c b/warm.c new file mode 100644 index 0000000..b9fc6bc --- /dev/null +++ b/warm.c @@ -0,0 +1,15 @@ +#pragma once +#include +#include +#include + + button_0 = gtk_button_new_with_label ("Quit"); + GtkWidget *button_1 = gtk_button_new_with_label ("I"); + 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"); + +// GtkToggleButton *tb1 = GTK_TOGGLE_BUTTON (gtk_button_new_with_label ("tb1")); + +void print_text(char *text) {printf("in warm.c : %s\n", text);} diff --git a/warm.h b/warm.h new file mode 100644 index 0000000..2a944d3 --- /dev/null +++ b/warm.h @@ -0,0 +1,24 @@ +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +extern GtkWidget *button_0; +extern GtkWidget *button_1; +extern GtkWidget *button_2; +extern GtkWidget *button_3; +extern GtkWidget *button_4; +extern GtkWidget *button_5; + +void print_text(char *text); +