WIP: const char *icon_name [3] = {...,...,...}; << transtypage vers un pointeur depuis un entier de taille différente

This commit is contained in:
Jean Sirmai 2024-07-26 22:18:03 +02:00
parent d8f8d39028
commit 52d9ed6817
Signed by: jean
GPG Key ID: FB3115C340E057E3
6 changed files with 32 additions and 6 deletions

View File

@ -33,4 +33,4 @@
#include <gtk-4.0/gtk/gtk.h>
void pref_set_store_restore_reset (int choice, int value);
const char get_button_icon_name (int n);

View File

@ -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 */
/******************************************************************************/

View File

@ -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
/******************************************************************************/

View File

@ -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);

View File

@ -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));
}

View File

@ -105,3 +105,4 @@ void *widget_get_space_view()
}