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
| void C_afficher_text (GtkWidget *Widget,gpointer *Data)
{
printf("ON RENTRE DANS C_afficher_text");
S_C_afficher_text *data_local= (S_C_afficher_text*) Data;
printf("buffer |%s|",data_local->buffer);
int taille=strlen(data_local->buffer);
char data[taille];
//déclaration des éléments d'affichages
GtkWidget *view;
GtkTextBuffer *buf;
strcpy(data,data_local->buffer);
view = gtk_text_view_new ();
buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
//déclaration des différents tags
GtkTextTag* size;
GtkTextTag* centre;
GtkTextTag* lock;
//insertion des données à afficher dans le buffer
gtk_text_buffer_set_text (buf, data, -1);
//insertion de l'élément text dans la zone d'affichage
gtk_box_pack_start(GTK_BOX(data_local->zone),view,TRUE,TRUE,0);
printf("\nle PB est ici ? \n");
//récuperation du début et de la fin du buffer
GtkTextIter start, end;
gtk_text_buffer_get_start_iter (buf, &start);
gtk_text_buffer_get_end_iter(buf, &end);
//création du tag taille
size = gtk_text_buffer_create_tag (buf, "size20","size", 30 * PANGO_SCALE,NULL);
//création du tag centre
centre=gtk_text_buffer_create_tag (buf,"center-justify", "justification", GTK_JUSTIFY_CENTER,NULL);
//création du tag verouillé pour l'utilisateur
lock=gtk_text_buffer_create_tag (buf, "editable","editable", FALSE,NULL);
//appliation du tag au buffer
gtk_text_buffer_apply_tag( buf,size,&start,&end ); //grace au tag lui même
gtk_text_buffer_apply_tag( buf,centre,&start,&end );
gtk_text_buffer_apply_tag( buf,lock,&start,&end );
gtk_widget_show_all (data_local->main_fenetre);
} |