Bonjour je rencontre un petit problème dans le cas suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
typedef struct {
  gpointer a;
  gpointer b;
} axdata;
 
G_MODULE_EXPORT void set_min (GtkEntry * axmin, gpointer data)
{
  int i, j;
  axdata * adata = (axdata *)data;
 
  i = GPOINTER_TO_INT(adata -> a);
  j = GPOINTER_TO_INT(adata -> b);
}
 
GtkWidget * axis_layout (gpointer ax, gpointer cx)
{
  axdata dataxe;
  GtkWidget * amin;
 
  amin = gtk_entry_new ();
  dataxe.a = cx;
  dataxe.b = ax;
 
  g_signal_connect ((gpointer)amin, "activate", G_CALLBACK(set_min), &dataxe);
  return (amin);
}
 
void edit_axis (gpointer curve)
{
  GtkWidget * edit_image;
  GtkWidget * ebox;
 
  edit_image = gtk_dialog_new ();
  gtk_window_set_type_hint (GTK_WINDOW (edit_image), GDK_WINDOW_TYPE_HINT_DIALOG);
  gtk_window_set_title (GTK_WINDOW(edit_image), "Edit curve");
 
  ebox = GTK_DIALOG (edit_image)-> vbox;
 
  gtk_box_pack_start (GTK_BOX (ebox),  axis_layout(GINT_TO_POINTER(0), curve), TRUE, TRUE, 0);
 
  gtk_widget_show_all(edit_image);
  gtk_dialog_run (GTK_DIALOG(edit_image));
}
Il m'est impossible de récupérer les bonnes valeurs dans la fonction 'set_min' après le signal_connect.

Merci d'avance pour votre aide.