Bonjour à tous
je cherche à créer une fenêtre avec gtk+
cette fenêtre contiendra 2 "espaces graphiques", l'un en dessous de l'autre, sur lesquels je désirerais tracer des courbes.
J'ai réussi à créer un graphique.
Malheureusement, lorsque j'en ajoute un second, les 2 graphiques sont "liés", c'est à dire que ce que je dessine dans le premier graphique se trouve déssiné dans l'autre graphique.
Comment faire?
Voici mon code:
//pour créer la fenêtre
p_applic->fenetre = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width (GTK_CONTAINER (p_applic->fenetre), 10);
gtk_window_set_resizable (GTK_WINDOW (p_applic->fenetre), FALSE);
g_signal_connect(G_OBJECT(p_applic->fenetre),"destroy",G_CALLBACK(gtk_main_quit), NULL);
p_applic->vbox = gtk_vbox_new (FALSE, 4);
gtk_container_add (GTK_CONTAINER (p_applic->fenetre), p_applic->vbox);
//pour créer lle premier graphique
p_applic->drawingarea = gtk_drawing_area_new();
gtk_widget_set_size_request(p_applic->drawingarea, LARG, HAUT);
gtk_box_pack_start (GTK_BOX (p_applic->vbox), p_applic->drawingarea, TRUE, TRUE, 0);
g_signal_connect(G_OBJECT(p_applic->drawingarea),"event",G_CALLBACK(rafraichir), NULL);
//pour pouvoir écrire sur le premier graphque
gtk_widget_show_all(p_applic->fenetre);
pixmap = gdk_pixmap_new( p_applic->drawingarea->window,LARG_WIN1, HAUT_WIN1, -1 );
gdk_draw_rectangle(pixmap, p_applic->drawingarea->style->fg_gc[GTK_STATE_INSENSITIVE], TRUE, 0,0, LARG_WIN1, HAUT_WIN1);
//pour créer le second graphique
p_applic->drawingarea2 = gtk_drawing_area_new();
gtk_widget_set_size_request(p_applic->drawingarea2, LARG, HAUT);
gtk_box_pack_start (GTK_BOX (p_applic->vbox), p_applic->drawingarea2, TRUE, TRUE, 0);
g_signal_connect(G_OBJECT(p_applic->drawingarea2),"event",G_CALLBACK(rafraichir), NULL);
//pour pouvoir écrire sur le second graphique
gtk_widget_show_all(p_applic->fenetre);
pixmap = gdk_pixmap_new( p_applic->drawingarea2->window,LARG_WIN2, HAUT_WIN2, -1 );
gdk_draw_rectangle(pixmap, p_applic->drawingarea2->style->fg_gc[GTK_STATE_INSENSITIVE], TRUE, 0,0, LARG_WIN1, HAUT_WIN1);
merci d'avance