Bonsoir à tous,

Voilà, j'essaye d'intégrer à une Zone de Texte le contenu d'un fichier qui se trouve dans le même répertoire que le programme appelant.
Je ne veux pas que l'utilisateur puisse choisir son fichier (comme expliqué dans les exemples que j'ai lu) mais prendre un fichier que moi seul ai défini.
Et après avoir cherché et tester plusieurs façons, je me suis rendu à l'évidence ==> c'est trop dur pour moi

De façon plus général ce que je veux faire :
1) Ouverture d'une fenetre d'aide à l'utilisateur par appuie d'un bouton (déjà présent dans la fenetre principale). FAIT ^^
2) La fenetre d'aide doit s'ouvrir avec dans la zone de texte le contenu d'un fichier texte.
PAS FAIT

Voila une partie de mon main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
/*Creation du bouton Aide*/
 
	Mon_Bouton_Aide = gtk_button_new_from_stock (GTK_STOCK_INFO);
 
	gtk_table_attach_defaults(GTK_TABLE(Mon_Tableau),Mon_Bouton_Aide,2,3,7,8);
 
	g_signal_connect (G_OBJECT (Mon_Bouton_Aide), "clicked", G_CALLBACK (cb_aide), Ma_Fenetre_Aide);
Et la fonction cb_aide que j'appelle :
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 
#include <gtk/gtk.h>
void cb_aide (GtkButton *pBouton, gpointer user_data)
{
GtkWidget *Ma_VBox = NULL;
GtkWidget *Zone_Texte = NULL;
GtkTextBuffer *Buffer = NULL;
GtkTextIter iStart;
gchar *Mon_Fichier, *Buffer_Fichier;
 
 
 
 
 
/*Creation de la fenetre d'aide et configuration*/
 
user_data = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW (user_data), 300, 240);
 
gtk_window_set_title (GTK_WINDOW (user_data), "Informations");
 
gtk_window_set_position(GTK_WINDOW (user_data), GTK_WIN_POS_CENTER);
 
 
g_signal_connect (G_OBJECT (user_data), "destroy", G_CALLBACK (gtk_main_quit), NULL);
 
 
	/* Creation de la GtkBox verticale */
	Ma_VBox = gtk_vbox_new(TRUE, 0);
	/* Ajout de la GtkVBox dans la fenetre */
	gtk_container_add(GTK_CONTAINER(user_data), Ma_VBox);
 
	/* Creation de la zone de texte */
 
	Zone_Texte = gtk_text_view_new_with_buffer (Buffer);
 
	gtk_text_view_set_editable(GTK_TEXT_VIEW(Zone_Texte),0);
 
	/*L'utilisateur n'a pas la possibilité dediter la zone de texte*/
 
	gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW(Zone_Texte),0);
 
	/*L'utilisateur ne verra pas de curseur dans la zone de texte*/
 
	gtk_text_view_set_justification (GTK_TEXT_VIEW(Zone_Texte),GTK_JUSTIFY_CENTER);
 
	/*insertion de la zone de texte dans la Vbox*/
	gtk_box_pack_start(GTK_BOX(Ma_VBox), Zone_Texte, TRUE, TRUE, 25);
 
 
		/* Recuperation du chemin */
		Mon_Fichier = gtk_file_chooser_select_filename (GTK_FILE_CHOOSER_ACTION_OPEN, "Readme.txt");
		Buffer_Fichier = NULL;
		g_file_get_contents(Mon_Fichier, &Buffer_Fichier, NULL, NULL);
		g_free(Mon_Fichier);
 
		/* Recuperation du buffer */
		Buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (Zone_Texte));
		/* Affichage du fichier */
		gtk_text_buffer_get_start_iter(Buffer, &iStart);
		gtk_text_buffer_insert(Buffer, &iStart, Buffer_Fichier, -1);
		g_free(Buffer_Fichier);
 
 
/* Affichage de la fenetre d'aide */
 
	gtk_widget_show_all (user_data);
 
 
 
/* Lancement de la boucle principale */
 
	gtk_main ();
 
 
 (void)pBouton;
 
 
}
Merci d'avance pour votre aide.
J'espère que c'est suffisamment clair et que je ne crée pas un sujet déjà résolu (bien que je n'ai rien trouvé de comparable)