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 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