reset XYZ adjustment values to zero

This commit is contained in:
Jean Sirmai 2024-08-06 05:25:41 +02:00
parent 1181af3457
commit a844995c08
Signed by: jean
GPG Key ID: FB3115C340E057E3
5 changed files with 35 additions and 10 deletions

View File

@ -1,12 +1,13 @@
Représentations des phénomènes par des réécritures de multigraphes géométriques (déc 2017).
Représentations de phénomènes complexes par des réécritures de multigraphes géométriques (déc 2017).
Espace, objets.
Gem-graph (une abréviation pour "graphes géométriques") permet de représenter par des dessins
divers objets en interaction. Ces dessins peuvent ensuite être animés par un automate.
Il est ainsi possible de modéliser des phénomènes complexes
qu'il serait difficile de saisir par des équations.
Il est ainsi possible de modéliser des phénomènes complexes.
(phénomènes complexes = nombreux objets divers + nombreuses interactions diverses)
Il serait difficile de saisir cette diversité par des équations.
L'espace où ces dessins sont réalisés est dérivé d'un espace euclidien orthonormé.
Il est homogène et isotrope mais doit être discrétisé pour pouvoir être traité automatiquement.

View File

@ -131,4 +131,4 @@ void on_clicked_search (GtkWidget *btt_menu, gpointer list_box);
void on_updating_objects_transparencies (GtkWidget *btt_reset, GtkScrollbar *reset_scrollbar);
void on_situations_box_do_reset (GtkWidget *btt_reset, GtkScrollbar *reset_scrollbar);
void on_resetting_XYZ_in_state_page ();

View File

@ -142,6 +142,11 @@ void widget_set_object_transparency_to_value (int rank, int value); // top
int widget_get_object_transparency (int i); // top
// called by : signal.c
// defined in : widget / state / middle
void widget_state_XYZ_reset_all();
/******************************************************************************/
/* R U L E S */
@ -209,7 +214,7 @@ void *widget_get_user_rules_tree (); // see "labo.c" for specification of the tr
/* T E X T S */
/******************************************************************************/
// called by : widget / topbar / polytext.c
// texts in : data / text
// texts in : data / text
void *widget_get_text_from_address (gchar *text_name);
@ -229,7 +234,7 @@ void *widget_get_an_impression_of_what_a_rules_comparator_could_be();
/* L A B O */
/******************************************************************************/
// now in : widget / rules / tree_tools
// called by tree.c widget_get_user_rules_tree()
// called by tree.c / widget_get_user_rules_tree()
void widget_let_us_create_a_complex_useless_and_expensive_tree (struct TreeNode_t *tree_root);

View File

@ -345,7 +345,10 @@ void on_updating_objects_transparencies (GtkWidget *btt_source, GtkScrollbar *sc
fsm_set_preferences_state (TRUE); // << à détailler TODO
}
void on_resetting_XYZ_in_state_page ()
{
widget_state_XYZ_reset_all();
}
// -------------------------- S IT U A T I O N S ------------------------ //

View File

@ -31,6 +31,19 @@
#include "../../../include/widget.h"
#include "../../../include/signal.h"
static GtkAdjustment *X_adjust;
static GtkAdjustment *Y_adjust;
static GtkAdjustment *Z_adjust;
void widget_state_XYZ_reset_all()
{
printf("WARNING state/middle/widget_state_XYZ_reset_all()\
agit aussi sur synth/...\
(tant que les GtkAdjustment *X_adjust, *Y_adjust, *Z_adjust ne sont pas distincts)\n");
gtk_adjustment_set_value (X_adjust, 0);
gtk_adjustment_set_value (Y_adjust, 0);
gtk_adjustment_set_value (Z_adjust, 0);
}
static GtkBox *rec_XYZ_box()
{
@ -38,9 +51,9 @@ static GtkBox *rec_XYZ_box()
GtkBox *XYZ_scrollbar_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2));
// GtkWidget *scale_X = gtk_scale_button_new (0, 360, 10, NULL); < à étudier
// (double min, double max, double step, const char** icons)
GtkAdjustment *X_adjust = gtk_adjustment_new (rand() % 100, 0, 380, 1, 0, 0);
GtkAdjustment *Y_adjust = gtk_adjustment_new (rand() % 200, 0, 380, 1, 0, 0);
GtkAdjustment *Z_adjust = gtk_adjustment_new (rand() % 300, 0, 380, 1, 0, 0);
X_adjust = gtk_adjustment_new (rand() % 100, 0, 380, 1, 0, 0);
Y_adjust = gtk_adjustment_new (rand() % 200, 0, 380, 1, 0, 0);
Z_adjust = gtk_adjustment_new (rand() % 300, 0, 380, 1, 0, 0);
GtkWidget *scroll_X = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, X_adjust);
GtkWidget *scroll_Y = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, Y_adjust);
GtkWidget *scroll_Z = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, Z_adjust);
@ -54,6 +67,9 @@ static GtkBox *rec_XYZ_box()
GtkWidget *btt_reset = gtk_toggle_button_new ();
gtk_button_set_icon_name (GTK_BUTTON (btt_reset), "view-refresh-symbolic");
g_signal_connect (btt_reset, "toggled",
G_CALLBACK (on_resetting_XYZ_in_state_page), scroll_X);
gtk_box_append (XYZ_labels_box, GTK_WIDGET (gtk_label_new ("\nX Y Z")));
gtk_box_append (XYZ_labels_box, GTK_WIDGET (XYZ_scrollbar_box));
gtk_box_append (XYZ_labels_box, GTK_WIDGET (btt_reset));