| 12
 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
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 
 |  
static void
AffichageConversation(gchar *sPath, gint iPath){
  GtkWidget *pWindow;
  GtkWidget *pVBox;
  GtkWidget *pTextView;
  GtkWidget *pScrolled;
  GtkWidget *pLabel;
  GtkTextBuffer *pText;
  gint r;
 
  pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_default_size(GTK_WINDOW(pWindow), 480, 480);
  gtk_window_set_title(GTK_WINDOW(pWindow), "Conversation");
  g_signal_connect(G_OBJECT(pWindow), "delete-event", G_CALLBACK(quit), NULL);
 
  if((r = open(sPath, O_RDONLY)) == -1){
    pLabel=gtk_label_new("Erreur lors de l'ouverture de la converation");
    gtk_container_add(GTK_CONTAINER(pWindow), pLabel);
    gtk_widget_show_all(pWindow);
    return;
  }
 
  pVBox = gtk_vbox_new(FALSE, 5);
  gtk_container_add(GTK_CONTAINER(pWindow), pVBox);
 
  //Creation de la barre d'outils
  static GtkWidget *pToolbar = NULL;
  pToolbar = gtk_toolbar_new();
  gtk_box_pack_start(GTK_BOX(pVBox), pToolbar, FALSE, FALSE, 0);
  //Creation a partir de stock
  gtk_toolbar_insert_stock(GTK_TOOLBAR(pToolbar), GTK_STOCK_SAVE, "Enregistrer", NULL, NULL, NULL, -1);
  gtk_toolbar_insert_stock(GTK_TOOLBAR(pToolbar), GTK_STOCK_QUIT, "Fermer", NULL, G_CALLBACK(quit), NULL, -1);
  gtk_toolbar_append_space(GTK_TOOLBAR(pToolbar));
  gtk_toolbar_insert_stock(GTK_TOOLBAR(pToolbar), GTK_STOCK_GO_BACK, "Precedent", NULL, NULL, NULL, -1);
  gtk_toolbar_insert_stock(GTK_TOOLBAR(pToolbar), GTK_STOCK_GO_FORWARD, "Suivant", NULL, NULL, NULL, -1);
  //Insertion d'un espace
  gtk_toolbar_append_space(GTK_TOOLBAR(pToolbar));
  //Modification de la taille des icones
  gtk_toolbar_set_icon_size(GTK_TOOLBAR(pToolbar), GTK_ICON_SIZE_BUTTON);
  //Affichage uniquement des icones
  gtk_toolbar_set_style(GTK_TOOLBAR(pToolbar), GTK_TOOLBAR_ICONS);
 
  pScrolled = gtk_scrolled_window_new(NULL, NULL);
  gtk_box_pack_start(GTK_BOX(pVBox), pScrolled, TRUE, TRUE, 5);
  pTextView = gtk_text_view_new();
  gtk_text_view_set_editable(GTK_TEXT_VIEW(pTextView), FALSE);
  gtk_container_add(GTK_CONTAINER(pScrolled), pTextView); //BUGGGGGGGGGGGGGGGGGGGGG
  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pScrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
  pText = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pTextView));
  //création de tags pour afficher le texte en gras ou couleur
  gtk_text_buffer_create_tag(pText, "message", "weight", PANGO_WEIGHT_BOLD, "foreground", "blue", NULL);
  gtk_text_buffer_create_tag(pText, "arrive", "weight", PANGO_WEIGHT_BOLD, "foreground", "red", NULL);
 
  gtk_widget_show_all(pWindow);
  return;
} | 
Partager