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