From 52d9ed68171835eeb5d8c6d603de5d5960a83e64 Mon Sep 17 00:00:00 2001 From: Jean Sirmai Date: Fri, 26 Jul 2024 22:18:03 +0200 Subject: [PATCH] =?UTF-8?q?WIP:=20const=20char=20*icon=5Fname=20[3]=20=3D?= =?UTF-8?q?=20{...,...,...};=20=20<<=20=20transtypage=20vers=20un=20pointe?= =?UTF-8?q?ur=20depuis=20un=20entier=20de=20taille=20diff=C3=A9rente?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/prefer.h | 2 +- include/widget.h | 2 ++ src/fsm.c | 3 ++- src/prefer.c | 29 +++++++++++++++++++++++++---- src/signal.c | 1 + src/widget/state/middle.c | 1 + 6 files changed, 32 insertions(+), 6 deletions(-) diff --git a/include/prefer.h b/include/prefer.h index fc91618..b9125aa 100644 --- a/include/prefer.h +++ b/include/prefer.h @@ -33,4 +33,4 @@ #include void pref_set_store_restore_reset (int choice, int value); - +const char get_button_icon_name (int n); diff --git a/include/widget.h b/include/widget.h index 008bcdc..b3d3a12 100644 --- a/include/widget.h +++ b/include/widget.h @@ -77,6 +77,8 @@ void widget_reset_all_situations_transparencies_to_value (int value); // top void widget_set_object_transparency_to_value (int rank, int value); // top int widget_get_object_transparency (int i); // top + + /******************************************************************************/ /* S T O C K */ /******************************************************************************/ diff --git a/src/fsm.c b/src/fsm.c index b139e42..499fbf4 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -47,7 +47,8 @@ int fsm_get_state_rules_data () {return choice_STATE_RULES_DATA;} void fsm_set_preferences_state (bool value) {preferences_have_been_modified = value;} bool fsm_get_preferences_state () {return preferences_have_been_modified;} -// preferences_have_been_modified and should be stored before closing the current session. TODO +// preferences_have_been_modified +// and should be stored before closing the current session. TODO /******************************************************************************/ diff --git a/src/prefer.c b/src/prefer.c index b96c43b..e6e0a30 100644 --- a/src/prefer.c +++ b/src/prefer.c @@ -34,18 +34,39 @@ #include "../include/widget.h" +// TODO Les noms d'icônes sont utilisés pour deux fonctions distinctes : +// 1) dans widget/state/top.c get_objects_box() (apparence du bouton)) +// 2) dans signal.c on_updating_objects_transparencies() +// où ils servent à identifier le bouton source (activé) +// Cette identification va déterminer le choix du switch +// de la fonction : pref_set_store_restore_reset () + +// ! WARNING ! Cette méthode d'identification est dangereuse: +// Si un utilisateur modifie l'apparence d'un bouton (par préférence...) +// il ne comprendra pas facilement pourquoi cette légère modification +// qui n'aurait du concerner que l'aspect du bouton +// a en même temps modifié le comportement du programme. + +// Les "symbolics" (les noms) des icônes devraient être déclarées une seule fois (ici)) +// de façon à ce qu'une seule variable soit utilisée pour les deux fonctions. + +static const char *icon_name [3] = { + "document-revert-rtl-symbolic", + "edit-undo-symbolic", + "view-refresh-symbolic" +}; +// transtypage vers un pointeur depuis un entier de taille différente vvv TODO +const char *get_button_icon_name (int n) {return (const char*) icon_name [n];} + + struct preferences { int transparency [n_objects]; }; // may become a long, long list... struct preferences *pref_jean = NULL; // TODO (voir graphics_init(...)) // pour remplacer p[i] par : pref_jean->transparency [i] // en attendant: static int p[n_objects] = {}; -static int choice_STORE_RESTORE_RESET = STORE; - void pref_set_store_restore_reset (int choice, int value) { - choice_STORE_RESTORE_RESET = choice; - switch (choice) { case (STORE) : printf("STORE (value = %d)\n", value); diff --git a/src/signal.c b/src/signal.c index 875cf3d..fb2ed82 100644 --- a/src/signal.c +++ b/src/signal.c @@ -345,3 +345,4 @@ void on_situations_box_do_reset (GtkWidget *btt_reset, GtkScrollbar *reset_scrol fsm_reset_all_situations_transparencies_at_value (gtk_adjustment_get_value (adj_situ)); } + diff --git a/src/widget/state/middle.c b/src/widget/state/middle.c index 8613a89..c6ef777 100644 --- a/src/widget/state/middle.c +++ b/src/widget/state/middle.c @@ -105,3 +105,4 @@ void *widget_get_space_view() } +