Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier:

Aller au code source de ce fichier.
Fonctions | |
| void | Fichier_Nouveau () |
| void | Fichier_Choisir () |
| void | Fichier_Charger (gchar *chemin, GtkSourceBuffer *sBuf) |
| void | Fichier_Rechercher (void) |
| void | Fichier_Modif () |
| void | Fichier_UNDO () |
| void | Fichier_REDO () |
| void | Fichier_Enregistrer () |
| void | Fichier_Enregistrer_Tous_Les_Fichier () |
| void | Fichier_EnregistrerSous () |
| void | Fichier_Fermer () |
| void | Fichier_Fermer_Un_Fichier (gshort id, gshort onglet) |
| void | Fichier_Fermer_Tous_Les_Fichiers () |
| void | Fichier_Retirer_Du_Projet () |
| void | Fichier_Ecrire (gshort id) |
|
||||||||||||
|
Définition à la ligne 78 du fichier Fichier.h. Références Fichier_Modif(). Référencé par DLG_EditorOPTIONS(), Fichier_Choisir(), et Ouvrir_Fichier_Ou_Le_Passer_Au_Premier_Plan(). 00079 {
00080 gchar *tmp = NULL, *utf8=NULL;
00081 GtkTextIter iter;
00082
00083 if (g_file_get_contents (chemin, &tmp, NULL, NULL))
00084 {
00085 if (!g_utf8_validate (tmp, -1, NULL))
00086 {
00087 //g_print("Fichier non UTF-8 -> conversion en utf-8.\n");
00088 utf8 = g_locale_to_utf8 (tmp, -1, NULL, NULL, NULL);
00089 tmp=g_strdup(utf8);
00090 g_free(utf8);
00091 }
00092 gtk_source_buffer_begin_not_undoable_action (sBuf);
00093 gtk_text_buffer_get_iter_at_line (GTK_TEXT_BUFFER(sBuf), &iter, 0);
00094 gtk_text_buffer_insert (GTK_TEXT_BUFFER(sBuf), &iter, tmp, -1);
00095 g_free (tmp);
00096 // Place curseur au début
00097 gtk_text_buffer_set_modified (GTK_TEXT_BUFFER(sBuf), FALSE);
00098 gtk_text_buffer_get_start_iter (GTK_TEXT_BUFFER(sBuf), &iter);
00099 gtk_text_buffer_place_cursor (GTK_TEXT_BUFFER(sBuf), &iter);
00100
00101 g_signal_connect (G_OBJECT (sBuf), "changed", G_CALLBACK (Fichier_Modif), NULL);
00102 gtk_source_buffer_end_not_undoable_action (sBuf);
00103 }
00104 }
Voici le graphe d'appel pour cette fonction: ![]() |
|
|
Définition à la ligne 53 du fichier Fichier.h. Références Ajouter_ELEMENT(), Ajouter_TreeviewItem(), Creer_Onglet(), DLG_Open(), Fichier_Charger(), NB, et NBfichiersOuverts. Référencé par Creer_Menu(), et Creer_ToolBar(). 00054 {
00055 gchar *nom = NULL;
00056 gchar *chemin=NULL;
00057
00058 chemin = DLG_Open(FALSE);
00059 if (chemin)
00060 {
00061 nom = g_path_get_basename(chemin);
00062 //(1) Insérer nouvelle entrée dans le tableau
00063 Ajouter_ELEMENT(nom, chemin, NBfichiersOuverts++);
00064 //(2) Insérer nouvelle entrée dans le treeview
00065 Ajouter_TreeviewItem(&iterProj, nom, chemin, NULL);
00066 //(3) Créer nouvel onglet et son textbox/sourceBuffer
00067 TxtBuf[NB-1] = Creer_Onglet(nom);
00068 //(4) Charger le textbox depuis un fichier
00069 Fichier_Charger(chemin, TxtBuf[NB-1]);
00070 estModifie[NB-1]=FALSE;
00071 g_free(nom);
00072 g_free(chemin);
00073 }
00074 }
Voici le graphe d'appel pour cette fonction: ![]() |
|
|
Définition à la ligne 338 du fichier Fichier.h. Références idOngletACTIF, et Liste_Add_Msg(). Référencé par Fichier_Enregistrer(), Fichier_Enregistrer_Tous_Les_Fichier(), et Fichier_Fermer_Un_Fichier(). 00339 {
00340 FILE *fichier = fopen (chemin[id],"w");
00341 if (fichier)
00342 {
00343 gchar *contenu=NULL;//, *locale;
00344 GtkTextIter start, end;
00345 GtkWidget *p_child = NULL;
00346 GtkLabel *label = NULL;
00347
00348 // obtient texte depuis le GtkSourceBuffer
00349 gtk_text_buffer_get_bounds (GTK_TEXT_BUFFER(TxtBuf[id]), &start, &end);
00350 contenu = gtk_text_buffer_get_text (GTK_TEXT_BUFFER(TxtBuf[id]), &start, &end, FALSE);
00351 //récupérer l'encodage.
00352 //locale = g_locale_from_utf8 (contenu, -1, NULL, NULL, NULL);
00353
00354 //Ecriture
00355 //g_file_set_contents (chemin[id],contenu,-1,NULL);
00356 fprintf (fichier, "%s", contenu);//locale);
00357 fclose (fichier);
00358
00359 //Liste_Add_Msg("%s écrit.", chemin[id]);
00360 estModifie[id]=FALSE;
00361
00362 // retire * du label onglet
00363 p_child = gtk_notebook_get_nth_page (GTK_NOTEBOOK(Onglets), idOngletACTIF);
00364 label = GTK_LABEL (gtk_notebook_get_tab_label (GTK_NOTEBOOK(Onglets), p_child));
00365 gtk_label_set_text (label, nom[id]);
00366
00367 g_free (contenu);
00368 //g_free (locale);
00369 Liste_Add_Msg("%s écrit.", chemin[id]);
00370 }
00371 }
Voici le graphe d'appel pour cette fonction: ![]() |
|
|
Définition à la ligne 163 du fichier Fichier.h. Références Fichier_Ecrire(), et idACTIF. Référencé par Creer_Menu(), et Creer_ToolBar(). 00164 {
00165 Fichier_Ecrire(idACTIF);
00166 }
Voici le graphe d'appel pour cette fonction: ![]() |
|
|
Définition à la ligne 170 du fichier Fichier.h. Références Fichier_Ecrire(), et NB. Référencé par Projet_Compiler(), et Projet_Enregistrer(). 00171 {
00172 gushort n;
00173 for (n=0; n<NB; n++)
00174 {
00175 if (estModifie[n]) Fichier_Ecrire(n);
00176 }
00177 }
Voici le graphe d'appel pour cette fonction: ![]() |
|
|
Définition à la ligne 181 du fichier Fichier.h. Références getExtension(), idACTIF, idOngletACTIF, et Liste_Add_Msg(). Référencé par Creer_Menu(), et Creer_ToolBar(). 00182 {
00183 GtkWidget *dialog;
00184 gchar *chem=NULL;
00185 gchar *dosRELATIF=NULL;
00186 gchar *newNOM=NULL;
00187 gchar *contenu=NULL;
00188 FILE *pF;
00189 GtkTextIter start, end;
00190 GtkWidget *p_child = NULL;
00191 GtkLabel *label = NULL;
00192
00193
00194 dialog = gtk_file_chooser_dialog_new ("Enregistrer Sous", NULL,
00195 GTK_FILE_CHOOSER_ACTION_SAVE,
00196 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
00197 GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL);
00198
00199 dosRELATIF = g_path_get_dirname(chemin[idACTIF]);
00200 chem = g_strdup_printf("%s/%s/", g_get_current_dir(), dosRELATIF);
00201 gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), chem);
00202 gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), nom[idACTIF]);
00203
00204 if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
00205 {
00206 chem = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
00207 //g_print("je vais écrire %s\n", chem);
00208 pF = fopen (chem,"w");
00209 if (pF)
00210 {
00211 // obtient texte depuis le GtkSourceBuffer
00212 gtk_text_buffer_get_bounds (GTK_TEXT_BUFFER(TxtBuf[idACTIF]), &start, &end);
00213 contenu = gtk_text_buffer_get_text (GTK_TEXT_BUFFER(TxtBuf[idACTIF]),
00214 &start, &end, FALSE);
00215 //Ecriture
00216 fprintf (pF, "%s", contenu);
00217 fclose (pF);
00218 contenu = g_strdup_printf("%s écrit.", chem);
00219 Liste_Add_Msg(contenu);
00220
00221 //change le nom de l' onglet
00222 newNOM = g_path_get_basename(chem);
00223 p_child = gtk_notebook_get_nth_page (GTK_NOTEBOOK(Onglets), idOngletACTIF);
00224 label = GTK_LABEL (gtk_notebook_get_tab_label (GTK_NOTEBOOK(Onglets), p_child));
00225 gtk_label_set_text (label, newNOM);
00226
00227 //Change le nom dans le treeview
00228 // obtenir pIMG
00229 //gtk_tree_store_set (pTreeStore, &fils, 0,idACTIF, 1,pImg, 2,newNOM, -1);
00230
00231
00232 //change nom dans tableau
00233 nom[idACTIF] = g_strdup(newNOM);
00234 chemin[idACTIF] = g_strdup_printf("%s/%s", dosRELATIF, newNOM);
00235 ext[idACTIF] = getExtension(newNOM); //re-détermine l' extension
00236 estModifie[idACTIF] = FALSE;
00237 }
00238 }
00239
00240 if (newNOM) g_free (newNOM);
00241 if (chem) g_free (chem);
00242 if (dosRELATIF) g_free (dosRELATIF);
00243 gtk_widget_destroy (dialog);
00244 //App_Lister_Tableau();
00245 }
Voici le graphe d'appel pour cette fonction: ![]() |
|
|
Définition à la ligne 249 du fichier Fichier.h. Références Fichier_Fermer_Un_Fichier(), idACTIF, et idOngletACTIF. Référencé par Creer_Menu(), et Creer_ToolBar(). 00250 {
00251 Fichier_Fermer_Un_Fichier(idACTIF, idOngletACTIF);
00252 }
Voici le graphe d'appel pour cette fonction: ![]() |
|
|
Définition à la ligne 286 du fichier Fichier.h. 00287 {
00288 // parcourt la structure. si ->estOuvert, le ferme
00289 //gint id = gtk_notebook_get_current_page (GTK_NOTEBOOK(Onglets));
00290 //g_print("fermeture onglet n°%d!\n", id);
00291 //gtk_notebook_remove_page (GTK_NOTEBOOK(Onglets), gtk_notebook_get_current_page (GTK_NOTEBOOK(Onglets)));
00292 }
|
|
||||||||||||
|
Définition à la ligne 254 du fichier Fichier.h. Références DLG_Demander(), Fichier_Ecrire(), idOngletACTIF, NB, et NBfichiersOuverts. Référencé par Fichier_Fermer(), et Fichier_Retirer_Du_Projet(). 00255 {
00256 gint n;
00257
00258 // il peut cliquer alors qu'aucun fichier n' est ouvert
00259 if (!NBfichiersOuverts) return;
00260
00261 // s'il est modifié, demande s'il faut enregistrer
00262 if (estModifie[id])
00263 {
00264 if (DLG_Demander(g_strdup_printf("%s : fichier modifié.\nEcrire avant de le fermer?",
00265 (chemin[id])?chemin[id]:nom[id])))
00266 Fichier_Ecrire(id);
00267 }
00268
00269 // Supprime l' onglet
00270 gtk_notebook_remove_page (GTK_NOTEBOOK(Onglets), onglet);
00271
00272 // décale les numéros d' onglet
00273 for (n=1; n<NB; n++)
00274 {
00275 if (IDOnglet[n]> idOngletACTIF) IDOnglet[n]-=1;
00276 else if (IDOnglet[n]==idOngletACTIF) IDOnglet[n]=-1;
00277 }
00278
00279 // signale qu'il est fermé.
00280 NBfichiersOuverts--;
00281 idOngletACTIF--;
00282 }
Voici le graphe d'appel pour cette fonction: ![]() |
|
|
Définition à la ligne 132 du fichier Fichier.h. Références idACTIF, et idOngletACTIF. Référencé par Fichier_Charger(). 00133 {
00134 GtkWidget *p_child = NULL;
00135 GtkLabel *label = NULL;
00136
00137 if (!estModifie[idACTIF])
00138 {
00139 estModifie[idACTIF] = TRUE;
00140
00141 p_child = gtk_notebook_get_nth_page (GTK_NOTEBOOK(Onglets), idOngletACTIF);
00142 label = GTK_LABEL (gtk_notebook_get_tab_label (GTK_NOTEBOOK(Onglets), p_child));
00143 gtk_label_set_text (label, g_strdup_printf ("%s *", nom[idACTIF]));
00144 }
00145 }
|
|
|
Définition à la ligne 4 du fichier Fichier.h. Références Ajouter_ELEMENT(), Ajouter_TreeviewItem(), AppNEWfile, Creer_Onglet(), NB, et NBfichiersOuverts. Référencé par Creer_Menu(), et Creer_ToolBar(). 00005 {
00006 //(1) Insérer nouvelle entrée dans le tableau
00007 Ajouter_ELEMENT(AppNEWfile, NULL, NBfichiersOuverts++);
00008 estModifie[NB] = TRUE;
00009 Ajouter_TreeviewItem(&iterProj, AppNEWfile, NULL, NULL);
00010 /* GtkTreeIter iter;
00011 gtk_tree_store_insert (pTreeStore,&iter,&iterProj,2);
00012
00013 GdkPixbuf *pImg = gdk_pixbuf_new_from_file (IMGs[1], NULL);
00014 gtk_tree_store_set (pTreeStore, &iter, 0,NB++, 1,pImg, 2,AppNEWfile, -1);
00015 */
00016 /*
00017 // Remonte pour trouver le dossier, et son iter
00018
00019 //Liste_Add_Msg("idACTIF=%d", idACTIF);
00020 gshort n;
00021 for (n=idACTIF; n>-1; n--)
00022 {
00023 //Liste_Add_Msg("n=%d", n);
00024 if (ext[n]==-1)
00025 {
00026 GtkTreeIter iter;
00027 //GtkTreeIter itDOSSIER;
00028 //GtkTreePath *path;
00029 //Liste_Add_Msg("bingo %s %d", nom[n], n);
00030 gtk_tree_store_insert (pTreeStore,&iter,NULL,5);
00031 //if (gtk_tree_model_get_iter(pTreeModel, &itDOSSIER, path))
00032 //{
00033 // gtk_tree_model_get (pTreeModel, &TVit, 0, &idACTIF, -1);
00034 //}
00035 break;
00036 }
00037 }
00038 //Ajouter_TreeviewItem(&TVit, AppNEWfile, NULL, NULL);
00039 */
00040
00041 //(2) Insérer nouvelle entrée dans le treeview
00042 //GtkTreeIter i;
00043 //i = Ajouter_TreeviewItem(&iterProj, AppNEWfile, NULL, NULL);
00044 //gtk_tree_store_move_after (pTreeStore, &i, NULL);
00045 //gtk_tree_store_move_after (pTreeStore, &i, &TVit);
00046
00047 //(3) Créer nouvel onglet et son textbox/sourceBuffer
00048 TxtBuf[NB-1] = Creer_Onglet(AppNEWfile);
00049 }
Voici le graphe d'appel pour cette fonction: ![]() |
|
|
Définition à la ligne 108 du fichier Fichier.h. Références idACTIF. Référencé par Creer_ToolBar(). 00109 {
00110 GtkTextIter iter, mstart, mend;
00111 const gchar *text = "void";
00112 gboolean found;
00113 GtkTextMark *last_pos;
00114
00115 gtk_text_buffer_get_start_iter (GTK_TEXT_BUFFER(TxtBuf[idACTIF]), &iter);
00116
00117 found = gtk_text_iter_forward_search (&iter, text, 0, &mstart, &mend, NULL);
00118 if (found)
00119 {
00120 g_print("found\n");
00121 //gtk_text_buffer_place_cursor (GTK_TEXT_BUFFER(TxtBuf[idACTIF]), iter);
00122 gtk_source_view_set_highlight_current_line(TXT[idACTIF], TRUE);
00123 gtk_text_buffer_select_range (GTK_TEXT_BUFFER(TxtBuf[idACTIF]), &mstart, &mend);
00124 last_pos = gtk_text_buffer_create_mark (GTK_TEXT_BUFFER(TxtBuf[idACTIF]), "last_pos", &mend, FALSE);
00125 gtk_text_view_scroll_mark_onscreen (GTK_TEXT_VIEW(TXT[idACTIF]), last_pos);
00126 }
00127 else g_print("nan\n");
00128 }
|
|
|
Définition à la ligne 156 du fichier Fichier.h. Références idACTIF. Référencé par Creer_ToolBar(). 00157 {
00158 gtk_source_buffer_redo (TxtBuf[idACTIF]);
00159 }
|
|
|
Définition à la ligne 296 du fichier Fichier.h. Références Fichier_Fermer_Un_Fichier(), NB, et TVit. Référencé par Creer_Menu(). 00297 {
00298 GtkTreeModel *pTreeModel;
00299 gshort id, i;
00300
00301 //App_Lister_Tableau();
00302 // s'il est ouvert, le ferme. si modifié: demande enregistrement
00303 pTreeModel = gtk_tree_view_get_model (GTK_TREE_VIEW(pTView));
00304 gtk_tree_model_get (pTreeModel, &TVit, 0, &id, -1);
00305 if (IDOnglet[id]!=-1)
00306 Fichier_Fermer_Un_Fichier(id, IDOnglet[id]);
00307
00308 //g_print("je vais retirer %d %s\n", id, nom[id]);
00309 // Retire du TreeView
00310 gtk_tree_store_remove (pTreeStore, &TVit);
00311
00312 // Retire du tableau interne, décale les suivants
00313 for (i=1; i<NB; i++)
00314 {
00315 if (i>=id)
00316 {
00317 nom [i] = g_strdup(nom[i+1]);
00318 chemin [i] = g_strdup(chemin[i+1]);
00319 ext [i] = ext[i+1];
00320 estModifie[i] = estModifie[i+1];
00321 IDOnglet [i] = IDOnglet[i+1];
00322 TxtBuf [i] = TxtBuf[i+1];
00323 TXT [i] = TXT[i+1];
00324 }
00325 }
00326 // libère le dernier
00327 g_free(nom[NB]);
00328 g_free(chemin[NB]);
00329 ext[NB] = estModifie[NB]= IDOnglet[NB] = -1;
00330 g_free(TxtBuf[NB]);
00331 g_free(TXT[NB]);
00332 NB--;
00333 //App_Lister_Tableau();
00334 }
Voici le graphe d'appel pour cette fonction: ![]() |
|
|
Définition à la ligne 149 du fichier Fichier.h. Références idACTIF. Référencé par Creer_ToolBar(). 00150 {
00151 gtk_source_buffer_undo (TxtBuf[idACTIF]);
00152 }
|
1.4.2