WIP: cleaning... cleaning... cleaning...
This commit is contained in:
parent
912f2e5044
commit
c22187af45
10
src/main.c
10
src/main.c
|
@ -64,15 +64,11 @@ int main(int argc, char **argv)
|
|||
app = gem_graph_client_application_new("org.alec.gemgraph",
|
||||
G_APPLICATION_DEFAULT_FLAGS);
|
||||
|
||||
g_signal_connect (app, "activate", G_CALLBACK (on_activate_window_creation), // in : "sand_box_2.c :"
|
||||
"This signal comes from main.c and is displayed by the sand_box window\n");
|
||||
|
||||
g_signal_connect (app, "activate", G_CALLBACK (on_activate_window_creation),
|
||||
"This signal comes from main.c");
|
||||
|
||||
// Jean 2024-01-20 Je désactive la visualisation de la fenêtre principale
|
||||
// pour travailler dans une fenêtre minimale (cf. sand_box)
|
||||
//
|
||||
// gtk_window_present(window); < cf. application.c ligne 122
|
||||
|
||||
// pour ne travailler que dans la fenêtre de sand_box.c
|
||||
|
||||
res = g_application_run(G_APPLICATION(app), argc, argv);
|
||||
return res;
|
||||
|
|
|
@ -25,33 +25,12 @@
|
|||
#include <gtk-4.0/gtk/gtk.h>
|
||||
#include <gdk/gdk.h>
|
||||
#include <glib-2.0/glib.h>
|
||||
|
||||
#include "../../include/base.h"
|
||||
#include "../../include/ui.h"
|
||||
|
||||
static enum { NAME_COLUMN };
|
||||
|
||||
/* custom function to fill the model with data */
|
||||
static GtkWidget populate_tree_model (my_store){
|
||||
GtkWidget *my_tree;
|
||||
GtkTreeViewColumn *my_column;
|
||||
GtkCellRenderer *my_renderer;
|
||||
|
||||
GtkTreeIter my_iter_1, my_iter_2;
|
||||
gtk_tree_store_append (my_store, &my_iter_1, NULL); // Acquire an iterator
|
||||
gtk_tree_store_set (my_store, &my_iter_1, NAME_COLUMN, "value A", -1);
|
||||
gtk_tree_store_append (my_store, &my_iter_2, &my_iter_1); // Acquire a child iterator
|
||||
gtk_tree_store_set (my_store, &my_iter_2, NAME_COLUMN, "value B", -1);
|
||||
my_column = gtk_tree_view_column_new_with_attributes ("names", my_renderer, "text", NAME_COLUMN, NULL);
|
||||
gtk_tree_view_append_column (GTK_TREE_VIEW (my_tree), my_column);
|
||||
|
||||
return *my_tree;
|
||||
};
|
||||
|
||||
|
||||
|
||||
static void on_button_action (GtkWidget *widget, gpointer data) {if (data) g_print (data);}
|
||||
static void on_destroy (GtkWidget *widget, gpointer data) { if (data) g_print (data); exit(0);}
|
||||
int n = 0;
|
||||
static void on_button_action (GtkWidget *widget, gpointer data){n++; g_print (data, n);}
|
||||
static void on_destroy (GtkWidget *widget, gpointer data) {if (data) g_print (data); exit(0);}
|
||||
|
||||
void on_activate_window_creation (GtkApplication *app, gpointer data) {
|
||||
GtkWidget *my_window;
|
||||
|
@ -69,21 +48,22 @@ void on_activate_window_creation (GtkApplication *app, gpointer data) {
|
|||
gtk_widget_show (my_window); // show != present
|
||||
|
||||
my_button = gtk_button_new_with_label (my_button_title);
|
||||
g_signal_connect(G_OBJECT (my_button), "clicked", G_CALLBACK(on_button_action), "button clicked (could use some data)\n");
|
||||
// g_signal_connect_swapped (my_button, "clicked", G_CALLBACK (gtk_window_close), my_window);
|
||||
g_signal_connect(G_OBJECT (my_button), "clicked", G_CALLBACK(on_button_action), "button clicked (n = %d)\n");
|
||||
// g_signal_connect_swapped (my_button, "clicked", G_CALLBACK (gtk_window_close), my_window); // < Then my_button closes my_window
|
||||
g_signal_connect(G_OBJECT (my_window), "destroy", G_CALLBACK(on_destroy), "closes window using exit(0)\n");
|
||||
|
||||
gtk_box_append(GTK_BOX (my_box), GTK_WIDGET(my_button)); // gtk_window_set_child (GTK_WINDOW (my_window), my_button);
|
||||
gtk_box_append(GTK_BOX (my_box), GTK_WIDGET(my_button)); // else : gtk_window_set_child (GTK_WINDOW (my_window), my_button);
|
||||
|
||||
if (data) g_print (data);
|
||||
if (data) {g_print (data); g_print (" and is displayed by [on_activate_window_creation()] in the sand_box window.\n");}
|
||||
printf("-------------------------------------------------------------------------------------------------------------------------------------------\n\
|
||||
[sand_box.c > on_activate_window_creation()] > widgets examples are in user/jean/01/GTK4/tree (learning)/The_Gnome_way/demos/gtk-demo <\n");
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// guix shell -m manifest.scm make clean && clear && time make run
|
||||
// GOBJECT_DEBUG=instance_count GIO Gnome Input Output
|
||||
// guix shell -m manifest.scm && pkg-config --libs gtk4
|
||||
// make clean && clear && time make run
|
||||
// GOBJECT_DEBUG=instance_count GIO = Gnome Input Output
|
||||
|
||||
// https://docs.gtk.org/
|
||||
// https://docs.gtk.org/gtk4/
|
||||
|
@ -109,3 +89,4 @@ void on_activate_window_creation (GtkApplication *app, gpointer data) {
|
|||
//
|
||||
//
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue