WIP: Comment remettre tous les curseurs (Objects/Situations) à ZÉRO ou à UN.
This commit is contained in:
parent
76857c033e
commit
415238c5d1
|
@ -61,7 +61,7 @@ GtkScrolledWindow *get_user_rules_tree ();
|
||||||
|
|
||||||
void icons_for_fun (GtkHeaderBar *header_bar);
|
void icons_for_fun (GtkHeaderBar *header_bar);
|
||||||
GtkWidget *get_window_child_DATA_lab();
|
GtkWidget *get_window_child_DATA_lab();
|
||||||
void learning_menus_and_all_that_stuff(GtkMenuButton* menu_button);
|
void go_to_the_lab (GtkMenuButton* menu_button);
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* I M A G E S */
|
/* I M A G E S */
|
||||||
|
|
|
@ -85,13 +85,13 @@ static char *get_str_STATE_RULES_DATA (int value) {
|
||||||
static void debug_printing (int prescribed, int sub_automaton) {
|
static void debug_printing (int prescribed, int sub_automaton) {
|
||||||
switch (sub_automaton) { // sub_automaton 0 is EXEC_EDIT and
|
switch (sub_automaton) { // sub_automaton 0 is EXEC_EDIT and
|
||||||
// sub_automaton 1 is STATE_RULES_DATA
|
// sub_automaton 1 is STATE_RULES_DATA
|
||||||
case (0) : printf("switch %5s x %5s > %5s X %5s\n",
|
case (0) : printf("switch %5s x %5s > %5s x %5s\n",
|
||||||
get_str_EXEC_EDIT (choice_EXEC_EDIT),
|
get_str_EXEC_EDIT (choice_EXEC_EDIT),
|
||||||
get_str_STATE_RULES_DATA (choice_STATE_RULES_DATA),
|
get_str_STATE_RULES_DATA (choice_STATE_RULES_DATA),
|
||||||
get_str_EXEC_EDIT (prescribed),
|
get_str_EXEC_EDIT (prescribed),
|
||||||
get_str_STATE_RULES_DATA (choice_STATE_RULES_DATA));
|
get_str_STATE_RULES_DATA (choice_STATE_RULES_DATA));
|
||||||
break;
|
break;
|
||||||
case (1) : printf("switch %5s x %5s > %5s X %5s\n",
|
case (1) : printf("switch %5s x %5s > %5s x %5s\n",
|
||||||
get_str_EXEC_EDIT (choice_EXEC_EDIT),
|
get_str_EXEC_EDIT (choice_EXEC_EDIT),
|
||||||
get_str_STATE_RULES_DATA (choice_STATE_RULES_DATA),
|
get_str_STATE_RULES_DATA (choice_STATE_RULES_DATA),
|
||||||
get_str_EXEC_EDIT (choice_EXEC_EDIT),
|
get_str_EXEC_EDIT (choice_EXEC_EDIT),
|
||||||
|
|
|
@ -320,11 +320,21 @@ void on_clicked_HOME (GtkWidget *btt_reset, gpointer data) {
|
||||||
gtk_window_present (GTK_WINDOW (get_dialog_window())); // works once only !
|
gtk_window_present (GTK_WINDOW (get_dialog_window())); // works once only !
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_clicked_MENU (GtkWidget *btt_reset, gpointer menu_button) {
|
|
||||||
printf ("callback.on_clicked_MENU button() presents the text_window ( :- ) but... it works only once.\n");
|
|
||||||
learning_menus_and_all_that_stuff (menu_button);
|
|
||||||
gtk_window_present (GTK_WINDOW (get_text_window())); // works once only !
|
|
||||||
}
|
|
||||||
|
|
||||||
|
void on_clicked_MENU (GtkWidget *btt_reset, gpointer menu_button) {go_to_the_lab (menu_button);}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void on_reset_image (GtkWidget *btt_reset, gpointer data) {
|
void on_reset_image (GtkWidget *btt_reset, gpointer data) {
|
||||||
printf ("callback.on_reset_image() <> Comment remettre tous les curseurs à zéro ?\n");
|
printf ("callback.on_reset_image() <> Comment remettre tous les curseurs à zéro ?\n");
|
||||||
|
|
|
@ -163,7 +163,7 @@ static void window_header_bar (GtkWindow *window, char *title){
|
||||||
gtk_button_set_icon_name (search, "folder-saved-search-symbolic");
|
gtk_button_set_icon_name (search, "folder-saved-search-symbolic");
|
||||||
gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), GTK_WIDGET (search));
|
gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), GTK_WIDGET (search));
|
||||||
|
|
||||||
GtkButton *open_menu = GTK_BUTTON (gtk_button_new ());
|
GtkButton *open_menu = GTK_BUTTON (gtk_button_new ()); // gtk_button_new or gtk_menu_button_new ?
|
||||||
gtk_button_set_icon_name (open_menu, "open-menu-symbolic");
|
gtk_button_set_icon_name (open_menu, "open-menu-symbolic");
|
||||||
g_signal_connect (open_menu, "clicked", G_CALLBACK (on_clicked_MENU), open_menu);
|
g_signal_connect (open_menu, "clicked", G_CALLBACK (on_clicked_MENU), open_menu);
|
||||||
gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), GTK_WIDGET (open_menu));
|
gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), GTK_WIDGET (open_menu));
|
||||||
|
|
|
@ -53,60 +53,16 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
void go_to_the_lab (GtkMenuButton* menu_button) { // Je veux que ce bouton ouvre un menu.
|
||||||
setup_listitem_cb (GtkListItemFactory *factory,
|
|
||||||
GtkListItem *list_item)
|
|
||||||
{
|
|
||||||
GtkWidget *image;
|
|
||||||
|
|
||||||
image = gtk_image_new ();
|
|
||||||
gtk_image_set_icon_size (GTK_IMAGE (image), GTK_ICON_SIZE_LARGE);
|
|
||||||
gtk_list_item_set_child (list_item, image);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
bind_listitem_cb (GtkListItemFactory *factory,
|
|
||||||
GtkListItem *list_item)
|
|
||||||
{
|
|
||||||
GtkWidget *image;
|
|
||||||
GAppInfo *app_info;
|
|
||||||
|
|
||||||
image = gtk_list_item_get_child (list_item);
|
|
||||||
app_info = gtk_list_item_get_item (list_item);
|
|
||||||
gtk_image_set_from_gicon (GTK_IMAGE (image), g_app_info_get_icon (app_info));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
activate_cb (GtkListView *list,
|
|
||||||
guint position,
|
|
||||||
gpointer unused)
|
|
||||||
{
|
|
||||||
GAppInfo *app_info;
|
|
||||||
|
|
||||||
app_info = g_list_model_get_item (G_LIST_MODEL (gtk_list_view_get_model (list)), position);
|
|
||||||
g_app_info_launch (app_info, NULL, NULL, NULL);
|
|
||||||
g_object_unref (app_info);
|
|
||||||
}
|
|
||||||
|
|
||||||
void learning_menus_and_all_that_stuff (GtkMenuButton* menu_button) {
|
|
||||||
printf ("labo.learning_menus_and_all_that_stuff...()\
|
|
||||||
> presents the text_window ( ;- ))\n \
|
|
||||||
which, at the present time,... works only once ( :- ((\n");
|
|
||||||
|
|
||||||
gtk_window_present (GTK_WINDOW (get_text_window()));
|
gtk_window_present (GTK_WINDOW (get_text_window()));
|
||||||
|
|
||||||
|
char *array[] = {"one", "two", "three", "four", NULL};
|
||||||
GtkListItemFactory *factory = gtk_signal_list_item_factory_new ();
|
GtkStringList *list = gtk_string_list_new ((const char * const *) array);
|
||||||
g_signal_connect (factory, "setup", G_CALLBACK (setup_listitem_cb), NULL);
|
printf ("labo.go_to_the_lab () > list [3] = %s\n", gtk_string_list_get_string (list, 2));
|
||||||
g_signal_connect (factory, "bind", G_CALLBACK (bind_listitem_cb), NULL);
|
|
||||||
|
|
||||||
// model =
|
|
||||||
GSList *list = NULL;
|
|
||||||
// list = gtk_list_view_new (GTK_SELECTION_MODEL (gtk_single_selection_new (model)), factory);
|
|
||||||
g_signal_connect (list, "activate", G_CALLBACK (activate_cb), NULL); //
|
|
||||||
gtk_menu_button_set_child (GTK_MENU_BUTTON (menu_button), NULL); // << list (a GtkWidget)
|
|
||||||
|
|
||||||
// https://docs.gtk.org/gtk4/class.ListView.html
|
// https://docs.gtk.org/gtk4/class.ListView.html
|
||||||
|
// https://toshiocp.github.io/Gtk4-tutorial/sec29.html
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -72,16 +72,21 @@ static GtkBox *get_ZOOM_box(){
|
||||||
return ZOOM_box;
|
return ZOOM_box;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static GtkBox *get_OBJECTS_box(){
|
static GtkBox *get_OBJECTS_box(){
|
||||||
GtkBox *objects_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0));
|
GtkBox *objects_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0));
|
||||||
GtkWidget *btt_reset = gtk_check_button_new_with_label ("reset");
|
GtkWidget *btt_reset = gtk_check_button_new_with_label ("reset");
|
||||||
g_signal_connect (btt_reset, "toggled", G_CALLBACK (on_reset_image), NULL);
|
g_signal_connect (btt_reset, "toggled", G_CALLBACK (on_reset_image), NULL);
|
||||||
gtk_box_append (objects_box, btt_reset);
|
gtk_box_append (objects_box, btt_reset);
|
||||||
GtkAdjustment *adjust = NULL;
|
// Je veux pouvoir remettre tous les curseurs à ZÉRO ou à UN. TODO
|
||||||
for (int i = 0; i < 32; i++) {
|
int n = 32;
|
||||||
// (value, lower, upper, step_increment, page_increment, page_size)
|
GtkAdjustment *adjust [n]; // (value, lower, upper, step_increment, page_increment, page_size)
|
||||||
adjust = gtk_adjustment_new (rand() % 127, 0, 127, 1, 0, 0);
|
for (int i = 0; i < n; i++) {
|
||||||
GtkScrollbar *scrollbar_i = GTK_SCROLLBAR (gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, adjust));
|
adjust [i] = gtk_adjustment_new (rand() % 127, 0, 127, 1, 0, 0);
|
||||||
|
}
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
// adjust [i] = gtk_adjustment_new (127, 0, 127, 1, 0, 0);
|
||||||
|
GtkScrollbar *scrollbar_i = GTK_SCROLLBAR (gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, adjust [i]));
|
||||||
char tooltip_text[8];
|
char tooltip_text[8];
|
||||||
sprintf(tooltip_text, "\n%d\n", i);
|
sprintf(tooltip_text, "\n%d\n", i);
|
||||||
if (0 == i % 5) gtk_widget_set_tooltip_text (GTK_WIDGET (scrollbar_i), " membrane ");
|
if (0 == i % 5) gtk_widget_set_tooltip_text (GTK_WIDGET (scrollbar_i), " membrane ");
|
||||||
|
|
Loading…
Reference in New Issue