#include <string.h>
#include <unistd.h>
#include <gtksourceview/gtksourceview.h>
#include <gtksourceview/gtksourcebuffer.h>
#include <gtksourceview/gtksourcelanguage.h>
#include <gtksourceview/gtksourcelanguagesmanager.h>
#include "App.h"
#include "Projet.h"
#include "Fichier.h"
#include "Dialogs.h"
#include "FrmMain.h"
#include "FrmOptions.h"
Graphe des dépendances par inclusion de Globals.h:
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier:
Aller au code source de ce fichier.
Fonctions | |
void | App_ChargerConfig () |
void | App_Ajouter_ELEMENT (gchar *unNom, gchar *unChemin, gshort onglet) |
void | App_Lister_Tableau () |
gchar * | getNomSansExtension (gchar *fich) |
gshort | getExtension (gchar *fich) |
void | Projet_Nouveau () |
void | Projet_Choisir () |
void | Projet_Ouvrir (gchar *chem) |
void | Projet_Enregistrer () |
void | Projet_Generate_Makefile () |
void | Creer_Pipe (gchar *str) |
void | Projet_Compiler () |
void | Projet_CompilExec () |
void | Projet_Executer () |
void | Projet_StopExec () |
void | Projet_Clean () |
void | Fichier_Nouveau () |
void | Fichier_Choisir () |
void | Fichier_Charger (gchar *chemin, GtkSourceBuffer *sBuf) |
void | Ouvrir_Fichier_Ou_Le_Passer_Au_Premier_Plan (gshort id) |
void | Fichier_Rechercher () |
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) |
GtkWidget * | Creer_Fenetre (gchar *caption, guint Left, guint Top, guint Width, guint Height, gboolean isCENTERED, gboolean Maximized) |
gchar * | DLG_Open (gboolean unProjet) |
void | DLG_error (GtkWindow *parent, const gchar *msg,...) |
gboolean | DLG_Demander (gchar *question) |
void | DLG_About (GtkWidget *widget, gpointer data) |
void | DLG_Quitter (GtkWidget *widget, gpointer data) |
void | Show_Editor () |
gboolean | TreeView_Click (GtkTreeView *TV, GdkEventButton *event) |
GtkWidget * | Creer_TreeView (GtkWidget *fen, GtkWidget *panneau) |
GtkTreeIter | Ajouter_TreeviewItem (GtkTreeIter *parent, gchar *unNom, gchar *unChemin, gchar *img) |
void | Creer_Onglets (GtkWidget *paned) |
GtkSourceBuffer * | Creer_Onglet (gchar *caption) |
void | Onglet_Click (GtkNotebook *Onglets, GtkNotebookPage *page, guint page_num) |
GtkWidget * | Creer_ToolBar () |
GtkWidget * | Menu_AddItem (gchar *img, GtkWidget *pMenu) |
void | Menu_Ajouter_SEPARATEUR (GtkWidget *pMenu) |
void | Menu_Ajouter_MENU (gchar *caption, GtkWidget *pMenu, GtkWidget *LeMenu) |
GtkWidget * | Creer_Menu (GtkWidget *fen) |
gboolean | Liste_Click (GtkTreeView *Liste, GdkEventButton *event) |
GtkWidget * | Liste_Creer () |
void | Liste_Add_Msg (gchar *msg,...) |
void | DLG_Close (GtkWidget *widget, gpointer data) |
void | DLG_EditorOPTIONS (GtkWidget *widget, gpointer data) |
void | EditorOPTIONS_Close () |
void | DLG_ProjectOPTIONS (void) |
GtkWidget * | Ajouter_Prop (gchar *caption, gint a, gint b, gchar *var, GtkWidget *table) |
void | Charger_Img_Bouton () |
Variables | |
guint | AppLEFT = 100 |
guint | AppTOP = 50 |
guint | AppWIDTH = 900 |
guint | AppHEIGHT = 740 |
gboolean | AppMAXIMIZED = FALSE |
gchar * | AppFONT = "Mono 8" |
gchar * | AppBGROUND = "#FFFFFF" |
gchar * | AppCompiler = "gcc" |
gshort | AppUNDOLEVELS = 25 |
gchar * | AppICONs [11] |
gchar * | GTKpkgcfg = "pkg-config --cflags --libs gtk+-2.0" |
gboolean | ShowRightMARGIN |
gchar * | ProjetNOM |
gchar * | ProjetNOMssExt |
gchar * | ProjetCHEMIN |
gchar * | ProjetICON |
gshort | ProjetTYPE |
gchar * | ProjetOPT |
gchar * | ProjetINCS |
gchar * | ProjetLIBS |
gchar * | ProjetEXEname |
gchar * | ProjetARGS |
gboolean | ProjetUseMAKEFILE |
guint | NB |
guint | NBfichiersOuverts |
gshort | idOngletACTIF |
gshort | idACTIF |
GtkTreeIter | TVit |
GtkWidget * | TxtEDOptions [6] |
GtkWidget * | CmbEDoptions [1] |
GtkWidget * | Mak [2] |
|
Définition à la ligne 214 du fichier FrmOptions.h. Référencé par DLG_ProjectOPTIONS(). 00215 {
00216 GtkWidget *T = gtk_entry_new();
00217 GtkWidget *label = gtk_label_new (caption);
00218 gtk_table_attach (GTK_TABLE (table), label, 0, 1, a, b,
00219 (GtkAttachOptions) (GTK_FILL),(GtkAttachOptions) (0), 0, 0);
00220
00221 gtk_entry_set_text (GTK_ENTRY (T), var);
00222
00223 gtk_table_attach (GTK_TABLE (table), T, 1, 2, a, b,
00224 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
00225 (GtkAttachOptions) (0), 0, 0);
00226 return T;
00227 }
|
|
Définition à la ligne 109 du fichier FrmMain.h. Références AppICONs, getExtension(), IMGs, et NB. Référencé par Fichier_Choisir(), Fichier_Nouveau(), Projet_Nouveau(), Projet_Ouvrir(), et Show_Editor(). 00110 { 00111 GtkTreeIter fils; 00112 GdkPixbuf *pImg = NULL; 00113 gshort a=-1; 00114 00115 if (img) // un chemin d 'image a été spécifié? 00116 { 00117 ext[NB] = -1; 00118 pImg = gdk_pixbuf_new_from_file (img, NULL); 00119 } 00120 else // sinon, la détermine en fonction de l' extension 00121 { 00122 a = getExtension(unNom); 00123 ext[NB] = a; 00124 if (a==-1) pImg = gdk_pixbuf_new_from_file (AppICONs[1], NULL); 00125 else if (a== 0) pImg = gdk_pixbuf_new_from_file (AppICONs[2], NULL); 00126 else if (a==-2) pImg = gdk_pixbuf_new_from_file (AppICONs[3], NULL); 00127 //else if (a==10) pImg = gdk_pixbuf_new_from_file (AppICONs[10], NULL); 00128 else pImg = gdk_pixbuf_new_from_file (IMGs[a] , NULL); 00129 } 00130 gtk_tree_store_append (pTreeStore, &fils, parent); 00131 gtk_tree_store_set (pTreeStore, &fils, 0,NB++, 1,pImg, 2,unNom, -1); 00132 gtk_tree_view_expand_all(GTK_TREE_VIEW (pTView)); 00133 00134 return fils; 00135 }
Voici le graphe d'appel pour cette fonction: |
|
|
|
Définition à la ligne 4 du fichier App.h. Références AppBGROUND, AppConf, AppFONT, AppHEIGHT, AppLEFT, AppMAXIMIZED, AppTOP, AppUNDOLEVELS, AppWIDTH, et ShowRightMARGIN. Référencé par Show_Editor(). 00005 { 00006 FILE *pF=NULL; 00007 gchar c, mot[200], *tmp=NULL; 00008 guchar flag=0, b=0; 00009 00010 //g_print("Chargement config : %s\n", chem); 00011 if ( !(pF = fopen (AppConf,"r")) ) 00012 { 00013 //g_print("Impossible d'ouvrir %s\n", AppConf); 00014 return; 00015 } 00016 memset(mot,0,200); 00017 00018 //g_print(" ouvre fichier\n"); 00019 while ((c = fgetc (pF)) != EOF) 00020 { 00021 if (c == ':') 00022 { 00023 if (g_strcasecmp(mot, "LEFT" )==0) flag=1; 00024 else if (g_strcasecmp(mot, "TOP" )==0) flag=2; 00025 else if (g_strcasecmp(mot, "HEIGHT" )==0) flag=3; 00026 else if (g_strcasecmp(mot, "WIDTH" )==0) flag=4; 00027 else if (g_strcasecmp(mot, "MAXIMIZED" )==0) flag=5; 00028 else if (g_strcasecmp(mot, "BGROUND" )==0) flag=6; 00029 else if (g_strcasecmp(mot, "FONT" )==0) flag=7; 00030 else if (g_strcasecmp(mot, "SHOWRIGHTMARGIN")==0) flag=8; 00031 else if (g_strcasecmp(mot, "UNDOLEVELS" )==0) flag=9; 00032 else flag=0; 00033 memset(mot,0,b); b=0; 00034 } 00035 else if (c ==0XA) 00036 { 00037 if (flag==1) // LEFT ------------------------------------------------- 00038 { 00039 tmp = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00040 AppLEFT = g_ascii_strtod(tmp,NULL); 00041 } 00042 else if (flag==2) // TOP -------------------------------------------------- 00043 { 00044 tmp = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00045 AppTOP = g_ascii_strtod(tmp,NULL); 00046 } 00047 else if (flag==3) // HEIGHT ----------------------------------------------- 00048 { 00049 tmp = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00050 AppHEIGHT = g_ascii_strtod(tmp,NULL); 00051 } 00052 else if (flag==4) // WIDTH ------------------------------------------------ 00053 { 00054 tmp = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00055 AppWIDTH = g_ascii_strtod(tmp,NULL); 00056 } 00057 else if (flag==5) // MAXIMIZED -------------------------------------------- 00058 { 00059 tmp = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00060 AppMAXIMIZED = (g_ascii_strtod(tmp,NULL)) ? TRUE : FALSE; 00061 } 00062 else if (flag==6) // BACKGROUND COLOR ------------------------------------- 00063 AppBGROUND = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00064 else if (flag==7) // FONT ------------------------------------------------- 00065 AppFONT = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00066 else if (flag==8) // SHOWRIGHTMARGIN -------------------------------------- 00067 { 00068 tmp = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00069 ShowRightMARGIN = (g_ascii_strtod(tmp,NULL)) ? TRUE : FALSE; 00070 } 00071 else if (flag==9) // UNDO LEVELS ------------------------------------------ 00072 { 00073 tmp = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00074 AppUNDOLEVELS = (g_ascii_strtod(tmp,NULL))?TRUE:FALSE; 00075 } 00076 memset(mot,0,b); b=flag=0; 00077 } 00078 else if (c !=0XD) mot[b++] = c; 00079 } 00080 fclose (pF); 00081 if (tmp) g_free(tmp); 00082 //g_print("Config chargée\n"); 00083 }
|
|
Définition à la ligne 92 du fichier App.h. Références idACTIF, idOngletACTIF, NB, et NBfichiersOuverts. Référencé par Projet_Ouvrir(). 00093 { 00094 guint i; 00095 if (!NB) return; 00096 g_print("\nNB=%d NBfichiersOuverts=%d " 00097 "idOngletACTIF=%d idACTIF=%d\n",NB,NBfichiersOuverts,idOngletACTIF,idACTIF); 00098 00099 g_print("\tnom\tid\tExt\tModif\tOnglet\tchemin\n" 00100 "----------------------------------------------------------------\n"); 00101 for (i=0; i<NB; i++) 00102 g_print("(%10s)\t%d\t%d\t%d\t%d\t(%s)\n", nom[i], 00103 i, 00104 ext[i], 00105 estModifie[i], 00106 IDOnglet[i], 00107 chemin[i]); 00108 }
|
|
|
|
Définition à la ligne 4 du fichier Dialogs.h. Références ProjetICON. Référencé par DLG_EditorOPTIONS(), DLG_ProjectOPTIONS(), et Show_Editor(). 00007 { 00008 GtkWidget *fen; 00009 fen = gtk_window_new (GTK_WINDOW_TOPLEVEL); 00010 gtk_window_set_title (GTK_WINDOW(fen), caption); 00011 //g_print("1 %s", ProjetICON); 00012 if (ProjetICON) 00013 gtk_window_set_default_icon_from_file (ProjetICON, NULL); 00014 //g_print("2"); 00015 00016 gtk_window_set_default_size(GTK_WINDOW(fen), Width, Height); 00017 if (isCENTERED) 00018 gtk_window_set_position (GTK_WINDOW(fen), GTK_WIN_POS_CENTER); 00019 else 00020 gtk_window_move (GTK_WINDOW(fen), Left, Top); 00021 00022 if (Maximized) gtk_window_maximize(GTK_WINDOW(fen)); 00023 00024 return fen; 00025 }
|
|
Menu PROJET Menu BUILD** Menu HELP Définition à la ligne 471 du fichier FrmMain.h. Références AppICONs, DLG_About(), DLG_Quitter(), Fichier_Choisir(), Fichier_Enregistrer(), Fichier_EnregistrerSous(), Fichier_Fermer(), Fichier_Nouveau(), Fichier_Retirer_Du_Projet(), Menu_AddItem(), Menu_AddItemIMG(), Menu_Ajouter_MENU(), Menu_Ajouter_SEPARATEUR(), Projet_Choisir(), Projet_Clean(), Projet_Compiler(), Projet_CompilExec(), Projet_Enregistrer(), Projet_Executer(), Projet_Generate_Makefile(), et Projet_Nouveau(). Référencé par Show_Editor(). 00573 : Clic **************************************************************
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 213 du fichier FrmMain.h. Références AppBGROUND, AppFONT, AppUNDOLEVELS, idACTIF, NBfichiersOuverts, et ShowRightMARGIN. Référencé par Fichier_Choisir(), Fichier_Nouveau(), et Ouvrir_Fichier_Ou_Le_Passer_Au_Premier_Plan(). 00250 : makefile (shell) 00251 // -1: dossier. jamais ouvert 00252 // 0: non coloré 00253 // 1+: C, coloré 00254 g_object_set (G_OBJECT (sBuf), "highlight", 00255 (ext[idACTIF]>0 || ext[idACTIF]==-2)?TRUE:FALSE, NULL); 00256 00257 00258 TXTbox = gtk_source_view_new_with_buffer(sBuf); 00259 00260 // Couleur du fond 00261 gdk_color_parse (AppBGROUND, &color); 00262 gtk_widget_modify_base (TXTbox, GTK_STATE_NORMAL, &color); 00263 00264 // Font name/size 00265 font_desc = pango_font_description_from_string (AppFONT); 00266 gtk_widget_modify_font (TXTbox, font_desc); 00267 pango_font_description_free (font_desc); 00268 00269 // Undo levels 00270 if (AppUNDOLEVELS) gtk_source_buffer_set_max_undo_levels (sBuf, AppUNDOLEVELS); 00271 00272 // brackets matching enlightment 00273 gtk_source_buffer_set_check_brackets (sBuf, FALSE); 00274 // Show line numbers 00275 gtk_source_view_set_show_line_numbers (GTK_SOURCE_VIEW(TXTbox), TRUE); 00276 00277 // Show Right margin 00278 gtk_source_view_set_show_margin(GTK_SOURCE_VIEW(TXTbox), 00279 ShowRightMARGIN?TRUE:FALSE); 00280 00281 TXT[idACTIF] = GTK_SOURCE_VIEW(TXTbox); 00282 IDOnglet[idACTIF]=NBfichiersOuverts++; 00283 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(pScroll), 00284 GTK_WIDGET(TXTbox)); 00285 00286 gtk_widget_show_all (pScroll); 00287 00288 /* gtk_notebook_set_current_page (GTK_NOTEBOOK(Onglets), 00289 gtk_notebook_append_page(GTK_NOTEBOOK(Onglets), 00290 pScroll, GTK_WIDGET(pBOX)));*/ 00291 gtk_notebook_set_current_page (GTK_NOTEBOOK(Onglets), 00292 gtk_notebook_append_page(GTK_NOTEBOOK(Onglets), 00293 pScroll, GTK_WIDGET(gtk_label_new(caption)))); 00294 return sBuf; 00295 } 00296 00297 /* ============================================================================= 00298 * Crée le notebook ************************************************************ 00299 ==============================================================================*/ 00300 void Creer_Onglets(GtkWidget* paned) 00301 { 00302 GtkWidget *table = gtk_table_new (3, 6, FALSE); 00303 00304 Onglets = gtk_notebook_new(); 00305 gtk_notebook_set_scrollable(GTK_NOTEBOOK(Onglets), TRUE);
|
|
Définition à la ligne 310 du fichier FrmMain.h. Références Onglet_Click(). Référencé par Show_Editor(). 00323 {
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 303 du fichier Projet.h. Références BUFSIZE, et Liste_Add_Msg(). Référencé par Projet_Compiler(), et Projet_Executer(). 00304 { 00305 /* 00306 gint exit_status; 00307 gchar *sout = NULL; 00308 gchar *serr = NULL; 00309 GError *err = NULL; 00310 gchar **tab; 00311 gint n=1; 00312 //g_print("str: %s", str); 00313 if (g_spawn_command_line_sync ("ls", &sout, &serr, &exit_status, &err)) 00314 { 00315 if (exit_status==0) 00316 { 00317 g_print("%s", sout); 00318 tab = g_strsplit (sout, "\n", 0); 00319 while (tab[n-1]) 00320 { 00321 Liste_Add_Msg("%s", tab[n-1]); 00322 n++; 00323 } 00324 } 00325 else Liste_Add_Msg("Exit code: %d", exit_status); 00326 } 00327 */ 00328 00329 #define BUFSIZE 4096 00330 FILE * pip; 00331 gchar ligne[BUFSIZE]; 00332 gchar buf[BUFSIZE]; 00333 gint n=1, x=0, i; 00334 00335 //gtk_list_store_clear(GTK_LIST_STORE(model)); 00336 pip = popen(str, "r"); 00337 if (!pip) 00338 Liste_Add_Msg ("Probleme de pipe"); 00339 else 00340 { 00341 while(n) 00342 { 00343 n = fread (buf, 1, BUFSIZE, pip); 00344 for (i=0; i<=n; i++) // Splitte le retour: 1 ligne = 1 entrée. 00345 { 00346 if (buf[i]==0XA || i==n) 00347 { 00348 if (x) 00349 { 00350 Liste_Add_Msg (g_locale_to_utf8 (ligne, x, NULL, NULL, NULL)); 00351 x=0; 00352 } 00353 } 00354 else ligne[x++]=buf[i]; 00355 } 00356 } 00357 00358 // ferme le pipe et récupère son code de sortie 00359 i = pclose(pip); 00360 if (i==0) 00361 str = g_strdup("OK"); 00362 else 00363 str = g_strdup_printf("Exit code: %d", i); 00364 Liste_Add_Msg(str); 00365 g_free(str); 00366 } 00367 }
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 332 du fichier FrmMain.h. Références DLG_EditorOPTIONS(), DLG_ProjectOPTIONS(), Fichier_Choisir(), Fichier_Enregistrer(), Fichier_EnregistrerSous(), Fichier_Fermer(), Fichier_Nouveau(), Fichier_Rechercher(), Fichier_REDO(), Fichier_UNDO(), Projet_Choisir(), Projet_Clean(), Projet_Compiler(), Projet_CompilExec(), Projet_Enregistrer(), Projet_Executer(), Projet_Generate_Makefile(), et Projet_Nouveau(). Référencé par Show_Editor(). 00424 { 00425 GtkWidget *p = gtk_image_menu_item_new_with_label(caption);
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 139 du fichier FrmMain.h. Références TreeView_Click(). Référencé par Show_Editor(). 00140 { 00141 GtkWidget *pTView = NULL; 00142 GtkWidget *pScrollWin = NULL; 00143 GtkCellRenderer *p_renderer = NULL; 00144 GtkTreeViewColumn *p_column = NULL; 00145 00146 // Crée scrolled window pour treeview 00147 pScrollWin = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (pScrollWin), 00148 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); 00149 gtk_paned_add1 (GTK_PANED (panneau), pScrollWin); 00150 pTreeStore = gtk_tree_store_new (3, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_STRING); 00151 // Crée treeview 00152 pTView = gtk_tree_view_new_with_model (GTK_TREE_MODEL (pTreeStore)); 00153 gtk_container_add (GTK_CONTAINER (pScrollWin), pTView); // colonne d'index 00154 p_renderer = gtk_cell_renderer_text_new (); p_column = gtk_tree_view_column_new_with_attributes (NULL, p_renderer, "int", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (pTView), p_column); 00155 gtk_tree_view_column_set_visible(p_column, FALSE); 00156 // colonne image 00157 p_renderer = gtk_cell_renderer_pixbuf_new (); p_column = gtk_tree_view_column_new_with_attributes (NULL, p_renderer, "pixbuf", 1, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (pTView), p_column); //colonne texte 00158 p_renderer = gtk_cell_renderer_text_new (); p_column = gtk_tree_view_column_new_with_attributes (NULL, p_renderer, "text", 2, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (pTView), p_column); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (pTView), FALSE); 00159 00160 g_signal_connect(pTView, "button-press-event", G_CALLBACK(TreeView_Click), NULL); 00161 //g_signal_connect(pTView, "row_collapsed", G_CALLBACK(TreeView_Collapsed), NULL); 00162 //g_signal_connect(pTView, "row_expanded" , G_CALLBACK(TreeView_Expanded ), NULL); 00163 00164 return pTView; 00165 } 00166 00167 00168 00169 00170 00171 00172 00173 00174 00175
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 109 du fichier Dialogs.h. Références AppABOUTstr. Référencé par Creer_Menu(). 00110 { 00111 GtkWidget *pAbout = gtk_message_dialog_new (GTK_WINDOW(data), 00112 GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, AppABOUTstr); 00113 gtk_dialog_run(GTK_DIALOG(pAbout)); 00114 gtk_widget_destroy(pAbout); 00115 }
|
|
Définition à la ligne 69 du fichier FrmOptions.h. Référencé par DLG_EditorOPTIONS(). 00070 {
00071 //g_print ("Destruction fenetre Options.\n");
00072 gtk_widget_destroy(GTK_WIDGET(data));
00073 }
|
|
Définition à la ligne 86 du fichier Dialogs.h. Référencé par Fichier_Fermer_Un_Fichier(). 00087 { 00088 GtkWidget *DLG = gtk_message_dialog_new(NULL, 00089 GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, 00090 GTK_BUTTONS_YES_NO, question); 00091 00092 switch(gtk_dialog_run(GTK_DIALOG(DLG))) 00093 { 00094 case GTK_RESPONSE_YES: 00095 gtk_widget_destroy(DLG); 00096 return TRUE; 00097 break; 00098 case GTK_RESPONSE_NONE: 00099 case GTK_RESPONSE_NO: 00100 gtk_widget_destroy(DLG); 00101 return FALSE; 00102 break; 00103 } 00104 return FALSE; 00105 }
|
|
Définition à la ligne 8 du fichier FrmOptions.h. Références AppMIME, AppTEMPLATE, Creer_Fenetre(), DLG_Close(), et Fichier_Charger(). Référencé par Creer_ToolBar(). 00009 { 00010 //g_print ("clic sur Options\n"); 00011 static GtkWidget *FrmOpt, *Hbox, *TXTbox; 00012 PangoFontDescription *font_desc; 00013 GtkSourceLanguagesManager *lm; 00014 GtkSourceLanguage *language = NULL; 00015 GtkSourceBuffer *sBuf; 00016 00017 GtkWidget *bouton; 00018 00019 // Creation fenetre ---------------------------------------------------------- 00020 FrmOpt = Creer_Fenetre("Options", 0,0,400,200, TRUE, FALSE); 00021 g_signal_connect(G_OBJECT(FrmOpt), "destroy", G_CALLBACK(DLG_Close), 00022 G_OBJECT(FrmOpt)); 00023 //gtk_window_set_position (GTK_WINDOW (FrmOpt), GTK_WIN_POS_CENTER); 00024 gtk_window_set_resizable (GTK_WINDOW (FrmOpt), FALSE); 00025 00026 // Un Hbox divise le fenêtre en deux ----------------------------------------- 00027 Hbox = gtk_hbox_new(FALSE, 0); 00028 gtk_container_add(GTK_CONTAINER(FrmOpt), Hbox); 00029 00030 // à gauche, les boutons 00031 bouton = gtk_button_new_with_label("bouton 1"); 00032 gtk_box_pack_start(GTK_BOX(Hbox), bouton, FALSE, FALSE, 0); 00033 gtk_widget_show(bouton); 00034 00035 bouton = gtk_button_new_with_label("bouton 2"); 00036 gtk_box_pack_start(GTK_BOX(Hbox), bouton, FALSE, FALSE, 0); 00037 gtk_widget_show(bouton); 00038 00039 bouton = gtk_button_new_with_label("bouton 3"); 00040 gtk_box_pack_start(GTK_BOX(Hbox), bouton, FALSE, FALSE, 0); 00041 gtk_widget_show(bouton); 00042 00043 // à droite, le textbox colorisé --------------------------------------------- 00044 lm = gtk_source_languages_manager_new(); 00045 sBuf = GTK_SOURCE_BUFFER (gtk_source_buffer_new (NULL)); 00046 g_object_set_data_full (G_OBJECT (sBuf), "languages-manager",lm, 00047 (GDestroyNotify) g_object_unref); 00048 language = gtk_source_languages_manager_get_language_from_mime_type (lm, AppMIME); 00049 gtk_source_buffer_set_language (sBuf, language); 00050 g_object_set (G_OBJECT (sBuf), "highlight", TRUE, NULL); 00051 00052 // Creation source view ------------------------------------------------------ 00053 TXTbox = gtk_source_view_new_with_buffer(sBuf); 00054 gtk_container_add (GTK_CONTAINER (Hbox), TXTbox); 00055 font_desc = pango_font_description_from_string ("Mono 8"); 00056 gtk_widget_modify_font (TXTbox, font_desc); 00057 pango_font_description_free (font_desc); 00058 00059 00060 //Charge l' exemple illustrant les options ----------------------------------- 00061 Fichier_Charger(AppTEMPLATE, sBuf);//, TRUE); 00062 00063 // Affiche l' ensemble ------------------------------------------------------- 00064 gtk_widget_show_all(FrmOpt); 00065 }
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 66 du fichier Dialogs.h. Référencé par Projet_Ouvrir(). 00067 { 00068 va_list ap; 00069 gchar *tt; 00070 GtkWidget *dialog; 00071 00072 va_start (ap, msg); 00073 tt = g_strdup_vprintf (msg, ap); 00074 va_end (ap); 00075 00076 dialog = gtk_message_dialog_new (parent,GTK_DIALOG_DESTROY_WITH_PARENT, 00077 GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,tt); 00078 g_free (tt); 00079 00080 gtk_dialog_run (GTK_DIALOG (dialog)); 00081 gtk_widget_destroy (dialog); 00082 }
|
|
Définition à la ligne 29 du fichier Dialogs.h. Références AppEXTproj, EXTs, et nbEXT. Référencé par Fichier_Choisir(), et Projet_Choisir(). 00030 { 00031 gchar* str = NULL; 00032 GtkFileFilter *FILTER; 00033 GtkWidget *DLG; 00034 00035 DLG = gtk_file_chooser_dialog_new("Ouvrir", NULL, 00036 GTK_FILE_CHOOSER_ACTION_OPEN, 00037 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, 00038 GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); 00039 00040 FILTER = gtk_file_filter_new (); 00041 if (unProjet) 00042 gtk_file_filter_add_pattern (FILTER, AppEXTproj); 00043 else 00044 { 00045 gushort n; 00046 for (n=1; n<nbEXT; n++) 00047 { 00048 str = g_strdup_printf("*.%s", EXTs[n]); 00049 gtk_file_filter_add_pattern (FILTER, str); 00050 00051 str = g_strdup_printf("*.%s", g_ascii_strup(EXTs[n], -1)); 00052 gtk_file_filter_add_pattern (FILTER, str); 00053 } 00054 } 00055 gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(DLG), FILTER); 00056 00057 str = g_strdup(""); 00058 if (gtk_dialog_run (GTK_DIALOG(DLG)) == GTK_RESPONSE_ACCEPT) 00059 str = gtk_file_chooser_get_preview_filename(GTK_FILE_CHOOSER(DLG));; 00060 gtk_widget_destroy (DLG); 00061 return str; 00062 }
|
|
Définition à la ligne 133 du fichier FrmOptions.h. Références Ajouter_Prop(), BtnICON_Click(), CmbEDoptions, Creer_Fenetre(), EditorOPTIONS_Close(), Mak, ProjetARGS, ProjetEXEname, ProjetICON, ProjetINCS, ProjetLIBS, ProjetNOMssExt, ProjetOPT, ProjetTYPE, ProjetUseMAKEFILE, et TxtEDOptions. Référencé par Creer_ToolBar(). 00134 { 00135 GtkWidget *Frm, *table1; 00136 GtkWidget *label; 00137 GtkWidget *pImage, *button; // icone du projet 00138 GtkWidget *box2; 00139 GSList *group; 00140 00141 Frm = Creer_Fenetre("Propriétés du projet", 0,0,500,160, TRUE, FALSE); 00142 g_signal_connect(G_OBJECT(Frm), "destroy", G_CALLBACK(EditorOPTIONS_Close), 00143 G_OBJECT(Frm)); 00144 table1 = gtk_table_new (10, 2, FALSE); 00145 gtk_container_add (GTK_CONTAINER (Frm), table1); 00146 00147 // Icone du projet ----------------------------------------------------------- 00148 button = gtk_button_new (); 00149 g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (BtnICON_Click), 00150 NULL); 00151 box2 = gtk_vbox_new (FALSE, 5); 00152 gtk_container_set_border_width (GTK_CONTAINER (box2), 2); 00153 pImage = gtk_image_new_from_file(ProjetICON); 00154 gtk_box_pack_start(GTK_BOX(box2), pImage, FALSE, FALSE, 5); 00155 gtk_container_add (GTK_CONTAINER (button), box2); 00156 gtk_table_attach (GTK_TABLE (table1), button, 0,1, 0,1, 00157 (GtkAttachOptions) (GTK_FILL),(GtkAttachOptions) (0), 0, 0); 00158 00159 // Nom du projet ------------------------------------------------------------- 00160 TxtEDOptions[0] = Ajouter_Prop("Nom du Projet", 1, 2, ProjetNOMssExt, table1); 00161 00162 // Type de Projet ------------------------------------------------------------ 00163 label = gtk_label_new ("Type de Projet"); 00164 gtk_table_attach (GTK_TABLE (table1), label, 0, 1, 2, 3, 00165 (GtkAttachOptions) (GTK_FILL),(GtkAttachOptions) (0), 0, 0); 00166 00167 CmbEDoptions[0] = gtk_combo_box_new_text (); 00168 gtk_table_attach (GTK_TABLE (table1), CmbEDoptions[0], 1, 2, 2, 3, 00169 (GtkAttachOptions) (GTK_FILL),(GtkAttachOptions) (0), 0, 0); 00170 00171 gtk_combo_box_append_text (GTK_COMBO_BOX (CmbEDoptions[0]), "Application Console"); 00172 gtk_combo_box_append_text (GTK_COMBO_BOX (CmbEDoptions[0]), "Application GUI GTK"); 00173 gtk_combo_box_append_text (GTK_COMBO_BOX (CmbEDoptions[0]), "Librairie statique"); 00174 gtk_combo_box_append_text (GTK_COMBO_BOX (CmbEDoptions[0]), "Librairie Dynamique"); 00175 00176 gtk_combo_box_set_active (GTK_COMBO_BOX (CmbEDoptions[0]), ProjetTYPE); 00177 00178 // Paramètres de compilation ------------------------------------------------- 00179 TxtEDOptions[1] = Ajouter_Prop("Arguments de Compil", 3, 4, ProjetOPT, table1); 00180 TxtEDOptions[2] = Ajouter_Prop("Nom de l' exécutable", 4, 5, ProjetEXEname, table1); 00181 TxtEDOptions[3] = Ajouter_Prop("Exec params", 5, 6, ProjetARGS, table1); 00182 // Utiliser Makefile --------------------------------------------------------- 00183 00184 label = gtk_label_new ("Utiliser Makefile"); 00185 gtk_table_attach (GTK_TABLE (table1), label, 0, 1, 6, 7, 00186 (GtkAttachOptions) (GTK_FILL),(GtkAttachOptions) (0), 0, 0); 00187 00188 // Options Use Makefile ------------------------------------------------------ 00189 box2 = gtk_vbox_new (FALSE, 5); 00190 gtk_container_set_border_width (GTK_CONTAINER (box2), 10); 00191 gtk_table_attach (GTK_TABLE (table1), box2, 1, 2, 7, 8, 00192 (GtkAttachOptions) (GTK_FILL),(GtkAttachOptions) (0), 0, 0); 00193 00194 Mak[0] = gtk_radio_button_new_with_label (NULL, "Non, pas de Makefile"); 00195 gtk_box_pack_start (GTK_BOX (box2), Mak[0], TRUE, TRUE, 0); 00196 00197 group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (Mak[0])); 00198 Mak[1] = gtk_radio_button_new_with_label (group, "Oui, Utiliser Makefile"); 00199 gtk_box_pack_start (GTK_BOX (box2), Mak[1], TRUE, TRUE, 0); 00200 00201 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (Mak[ProjetUseMAKEFILE]), TRUE); 00202 00203 // Includes, libs ------------------------------------------------------------ 00204 TxtEDOptions[4] = Ajouter_Prop("Includes", 8, 9, ProjetINCS, table1); 00205 TxtEDOptions[5] = Ajouter_Prop("Libs", 9, 10, ProjetLIBS, table1); 00206 00207 // Affiche l' ensemble ------------------------------------------------------- 00208 gtk_widget_show_all(Frm); 00209 00210 }
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 119 du fichier Dialogs.h. Référencé par Creer_Menu(). 00120 { 00121 GtkWidget *pQuestion; 00122 00123 pQuestion = gtk_message_dialog_new(GTK_WINDOW(data), 00124 GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, 00125 "Voulez vous vraiment\nquitter le programme?"); 00126 00127 switch(gtk_dialog_run(GTK_DIALOG(pQuestion))) 00128 { 00129 case GTK_RESPONSE_YES: gtk_main_quit(); break; 00130 case GTK_RESPONSE_NONE: 00131 case GTK_RESPONSE_NO: gtk_widget_destroy(pQuestion); break; 00132 } 00133 }
|
|
Définition à la ligne 232 du fichier FrmOptions.h. Références CmbEDoptions, Mak, ProjetARGS, ProjetEXEname, ProjetINCS, ProjetLIBS, ProjetNOMssExt, ProjetOPT, ProjetTYPE, ProjetUseMAKEFILE, et TxtEDOptions. Référencé par DLG_ProjectOPTIONS(). 00233 { 00234 const gchar *s; 00235 gint i; 00236 00237 s = gtk_entry_get_text(GTK_ENTRY(TxtEDOptions[0])); 00238 if (g_strcasecmp(ProjetNOMssExt, s)!=0) ProjetNOMssExt = g_strdup(s); 00239 00240 i = gtk_combo_box_get_active (GTK_COMBO_BOX(CmbEDoptions[0])); 00241 if (i != ProjetTYPE) ProjetTYPE = i; 00242 00243 s = gtk_entry_get_text(GTK_ENTRY(TxtEDOptions[1])); 00244 if (g_strcasecmp(ProjetOPT, s)!=0) ProjetOPT = g_strdup(s); 00245 00246 s = gtk_entry_get_text(GTK_ENTRY(TxtEDOptions[2])); 00247 if (g_strcasecmp(ProjetEXEname, s)!=0) ProjetEXEname = g_strdup(s); 00248 00249 s = gtk_entry_get_text(GTK_ENTRY(TxtEDOptions[3])); 00250 if (g_strcasecmp(ProjetARGS, s)!=0) ProjetARGS = g_strdup(s); 00251 00252 i = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (Mak[0])); 00253 if (i != ProjetUseMAKEFILE) ProjetUseMAKEFILE = i; 00254 i = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (Mak[1])); 00255 if (i != ProjetUseMAKEFILE) ProjetUseMAKEFILE = i; 00256 00257 s = gtk_entry_get_text(GTK_ENTRY(TxtEDOptions[4])); 00258 if (g_strcasecmp(ProjetINCS, s)!=0) ProjetINCS = g_strdup(s); 00259 00260 s = gtk_entry_get_text(GTK_ENTRY(TxtEDOptions[5])); 00261 if (g_strcasecmp(ProjetLIBS, s)!=0) ProjetLIBS = g_strdup(s); 00262 }
|
|
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 }
|
|
Définition à la ligne 138 du fichier App.h. Référencé par Ajouter_TreeviewItem(), et Fichier_EnregistrerSous(). 00139 { 00140 gchar *exta =NULL; 00141 guint n,pos,len; 00142 00143 // si c'est un dossier, retourne -1 00144 if (g_file_test(fich, G_FILE_TEST_IS_DIR)) return -1; 00145 00146 n = pos = strlen(fich); 00147 //pos=n; 00148 while(pos>0) // cherche la position du dernier point 00149 { 00150 if (fich[pos]=='.') break; 00151 pos--; 00152 } 00153 00154 if (!pos) //pas de point ex. README Makefile AUTHORS etc 00155 { 00156 if (g_strcasecmp(fich, "Makefile")==0) return -2; 00157 else return 0; 00158 } 00159 00160 len = n-pos; // il y a un point: sort l' extension ... 00161 exta=g_malloc(len); 00162 strncpy(exta, fich+pos+1, len-1); 00163 exta[len-1]='\0'; 00164 len=0; 00165 00166 for (n=1; n<nbEXT; n++) // ... Pour la comparer aux extensions internes 00167 { 00168 if (g_strcasecmp(exta, EXTs[n])==0) 00169 { 00170 len=n; 00171 break; 00172 } 00173 } 00174 g_free (exta); 00175 return len; 00176 }
|
|
Définition à la ligne 112 du fichier App.h. Référencé par Projet_Compiler(), Projet_Generate_Makefile(), et Projet_Ouvrir(). 00113 { 00114 gchar *nom =NULL; 00115 gushort n,pos; 00116 00117 if (!fich) return NULL; 00118 n = strlen(fich); 00119 pos=n; 00120 while(pos>0) // cherche la position du dernier point 00121 { 00122 if (fich[pos]=='.') break; 00123 pos--; 00124 }; 00125 00126 if (pos) // il y a un point: sort l' extension ... 00127 { 00128 nom=g_malloc(pos); 00129 strncpy(nom, fich, pos); 00130 nom[pos]='\0'; 00131 } 00132 return nom; 00133 }
|
|
Définition à la ligne 657 du fichier FrmMain.h. Référencé par Creer_Pipe(), Fichier_Ecrire(), Fichier_EnregistrerSous(), Projet_Compiler(), Projet_Enregistrer(), Projet_Executer(), et Projet_Generate_Makefile(). 00672 { 00673 static GtkWidget *fenetre, *Vbox, *Hpaned, *Hbox, *Vpaned, *pMenuBar;//, *statusBar;
|
|
Définition à la ligne 585 du fichier FrmMain.h. Références idACTIF, et Ouvrir_Fichier_Ou_Le_Passer_Au_Premier_Plan(). Référencé par Liste_Creer(). 00586 { 00587 pTreeModel = gtk_tree_view_get_model (Liste); 00588 if (gtk_tree_view_get_path_at_pos(Liste,(gint) event->x, 00589 (gint) event->y, &path, NULL, NULL, NULL)) 00590 { 00591 if (gtk_tree_model_get_iter(pTreeModel, &iter, path)) 00592 { 00593 gtk_tree_model_get (pTreeModel, &iter, 0, &str, -1); 00594 tab = g_strsplit (str, ":", 0); 00595 if (tab[1] && tab[2]) 00596 { 00597 n = g_ascii_strtod(tab[1],NULL); 00598 if (n) 00599 { 00600 //g_print("now let's jump to line %d in %s!!!!\n", n, tab[0]); 00601 Ouvrir_Fichier_Ou_Le_Passer_Au_Premier_Plan(idACTIF); 00602 00603 gtk_text_buffer_get_iter_at_line(GTK_TEXT_BUFFER(TxtBuf[idACTIF]), &it, n-1); 00604 gtk_text_buffer_place_cursor (GTK_TEXT_BUFFER(TxtBuf[idACTIF]), &it); 00605 gtk_source_view_set_highlight_current_line(TXT[idACTIF], TRUE); 00606 //last_pos = gtk_text_buffer_create_mark (GTK_TEXT_BUFFER(TxtBuf[idACTIF]), 00607 // "last_pos", &it, FALSE); 00608 // gtk_text_view_scroll_mark_onscreen (GTK_TEXT_VIEW(TXT[idACTIF]), last_pos); 00609 gtk_text_view_scroll_to_iter (GTK_TEXT_VIEW(TXT[idACTIF]), &it, 00610 0.0, TRUE, 1.0, 1.0); 00611 } 00612 } 00613 } 00614 } 00615 } 00616 return FALSE; 00617 } 00618 /* ============================================================================= 00619 * Crée la liste de messages *************************************************** 00620 ==============================================================================*/ 00621 GtkWidget *Liste_Creer() 00622 { 00623 GtkWidget *tree_view, *Scroll; 00624 GtkTreeViewColumn *column; 00625 GtkCellRenderer *cell; 00626 00627 Scroll = gtk_scrolled_window_new (NULL, NULL);
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 631 du fichier FrmMain.h. Références Liste_Click(). Référencé par Show_Editor(). 00648 { 00649 GtkTreeIter iter; 00650 va_list ap; 00651 gchar *tt; 00652 00653 va_start (ap, msg);
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 445 du fichier FrmMain.h. Référencé par Creer_Menu(). 00445 { 00446 GtkWidget *p = gtk_separator_menu_item_new(); 00447 gtk_menu_shell_append(GTK_MENU_SHELL(pMenu), p); 00448 } 00449 /* ============================================================================= 00450 * Ajoute au menu un item de base **********************************************
|
|
Définition à la ligne 462 du fichier FrmMain.h. Référencé par Creer_Menu(). 00462 { 00463 GtkWidget *LeMenu, *pMenu, *p; 00464 00465 LeMenu = gtk_menu_bar_new(); 00466 ///////////////////////////////////////////////////////////////////////////// 00467 /** Menu PROJET ************************************************************/
|
|
Définition à la ligne 454 du fichier FrmMain.h. Référencé par Creer_Menu(). 00462 {
|
|
Définition à la ligne 190 du fichier FrmMain.h. Références idACTIF, idOngletACTIF, NB, et NBfichiersOuverts. Référencé par Creer_Onglets(). 00191 { 00192 idACTIF = n; 00193 break; 00194 } 00195 } 00196 } 00197 //g_print(" >> idACTIF %d\n", idACTIF); 00198 //AppLister_Tableau(); 00199 } 00200 /* ============================================================================= 00201 * (3) Crée un onglet et son scroolWindow ************************************* 00202 ==============================================================================*/ 00203 GtkSourceBuffer *Creer_Onglet(gchar* caption) 00204 { 00205 GtkWidget *pScroll, *TXTbox; 00206 PangoFontDescription *font_desc; 00207 GdkColor color; 00208 GtkSourceLanguagesManager *lm; 00209 GtkSourceLanguage *language = NULL;
|
|
Définition à la ligne 8 du fichier FrmMain.h. Références Creer_Onglet(), Fichier_Charger(), et idACTIF. Référencé par Liste_Click(), et TreeView_Click(). 00009 { 00010 if (ext[id]==-1) return; // si c'est pas un dossier... 00011 if (IDOnglet[id]==-1) // s'il n'est pas déjà ouvert, l' ouvre 00012 { 00013 TxtBuf[id] = Creer_Onglet(nom[id]); 00014 //IDOnglet[id]=NBfichiersOuverts++; 00015 Fichier_Charger(chemin[id], TxtBuf[id]); 00016 } 00017 else // sinon, le passe au premier plan 00018 gtk_notebook_set_current_page(GTK_NOTEBOOK(Onglets), IDOnglet[idACTIF]); 00019 }
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 16 du fichier Projet.h. Références DLG_Open(), et Projet_Ouvrir(). Référencé par Creer_Menu(), et Creer_ToolBar(). 00017 { 00018 gchar *chem = DLG_Open(TRUE); 00019 if (strlen(chem)) Projet_Ouvrir(chem); 00020 g_free(chem); 00021 }
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 397 du fichier Projet.h. Références idACTIF, idOngletACTIF, NB, NBfichiersOuverts, ProjetARGS, ProjetCHEMIN, ProjetEXEname, ProjetINCS, ProjetLIBS, ProjetNOM, ProjetNOMssExt, ProjetOPT, et ProjetTYPE. Référencé par Creer_Menu(), Creer_ToolBar(), Projet_Nouveau(), et Projet_Ouvrir(). 00398 { 00399 guint i; 00400 00401 for (i=0; i<NB; i++) 00402 { 00403 g_free(nom[i]); 00404 g_free(chemin[i]); 00405 ext[i]=0; 00406 estModifie[i]=0; 00407 if (IDOnglet[i]>-1) 00408 gtk_notebook_remove_page (GTK_NOTEBOOK(Onglets), 0); 00409 IDOnglet[i]=-1; 00410 } 00411 00412 if (ProjetNOM) g_free(ProjetNOM); ProjetNOM=NULL; 00413 if (ProjetNOMssExt) g_free(ProjetNOMssExt); ProjetNOMssExt=NULL; 00414 if (ProjetCHEMIN) g_free(ProjetCHEMIN); ProjetCHEMIN=NULL; 00415 if (ProjetOPT) g_free(ProjetOPT); ProjetOPT=NULL; 00416 if (ProjetARGS) g_free(ProjetARGS); ProjetARGS=NULL; 00417 if (ProjetINCS) g_free(ProjetINCS); ProjetINCS=NULL; 00418 if (ProjetLIBS) g_free(ProjetLIBS); ProjetLIBS=NULL; 00419 if (ProjetEXEname) g_free(ProjetEXEname); ProjetEXEname=NULL; 00420 00421 NB = NBfichiersOuverts = 0; 00422 idACTIF = idOngletACTIF = ProjetTYPE = -1; 00423 00424 gtk_tree_store_clear(pTreeStore); 00425 gtk_list_store_clear(GTK_LIST_STORE(model)); 00426 00427 //Lister_Tableau(); 00428 }
|
|
Définition à la ligne 27 du fichier EdBx-Fasm.c. Références AppCOMPILER, Creer_Pipe(), Fichier_Enregistrer_Tous_Les_Fichier(), getNomSansExtension(), GTKpkgcfg, Liste_Add_Msg(), NB, ProjetEXEname, ProjetINCS, ProjetLIBS, ProjetNOMssExt, ProjetOPT, ProjetTYPE, et ProjetUseMAKEFILE. 00028 { 00029 gshort n, c=0; 00030 gchar *S, *d=NULL; 00031 00032 gchar *noms[100]; 00033 gchar *chems[100]; 00034 00035 // S'il faut utiliser un makefile, recherche son chemin, 00036 // chdir, make, et chdir dossier d'origine. 00037 if (ProjetUseMAKEFILE) 00038 { 00039 gtk_list_store_clear(GTK_LIST_STORE(model)); 00040 for (n=0; n<NB; n++) 00041 { 00042 if (g_strcasecmp(nom[n],"makefile")==0) 00043 { 00044 d = g_get_current_dir(); 00045 break; 00046 } 00047 } 00048 if (d) 00049 { 00050 S = g_path_get_dirname(chemin[n]); 00051 chdir(S); 00052 S = g_strdup("make"); 00053 Liste_Add_Msg(S); 00054 Creer_Pipe(S); 00055 chdir(d); 00056 g_free(d); 00057 } 00058 else Liste_Add_Msg("Ajoutez le makefile au projet."); 00059 } 00060 00061 // Pas de makefile 00062 else 00063 { 00064 gtk_list_store_clear(GTK_LIST_STORE (model)); 00065 00066 // Détermine le nombre d' objets à compiler 00067 for (n=0; n<NB; n++) 00068 { 00069 if (ext[n]==1) 00070 { // hworld.asm 00071 noms[c] = getNomSansExtension(nom[n]); // hworld 00072 chems[c] = g_path_get_dirname (chemin[n]); // /src 00073 c++; 00074 } 00075 } 00076 00077 // 1 seul objet 00078 if (c==1) 00079 { 00080 for (n=0; n<NB; n++) 00081 { 00082 if (ext[n]==1) 00083 { 00084 S = g_strdup_printf("%s %s %s 2>&1", AppCOMPILER, chemin[n], ProjetEXEname); 00085 Liste_Add_Msg(S); 00086 Creer_Pipe(S); 00087 } 00088 } 00089 } 00090 00091 // Plusieurs objets; les compile puis les linke 00092 else if (c>1) 00093 { 00094 for (n=0; n<c; n++) // compile les objets 00095 { 00096 S = g_strdup_printf("%s %s/%s.asm %s/%s.o", AppCOMPILER, 00097 chems[n],noms[n], 00098 chems[n],noms[n]); 00099 Liste_Add_Msg(S); 00100 Creer_Pipe(S); 00101 } 00102 // Linke les objets 00103 S = g_strdup("ld"); 00104 for (n=0; n<c; n++) 00105 S = g_strdup_printf("%s %s/%s.o", S, chems[n], noms[n]); 00106 S = g_strdup_printf("%s -o %s", S, ProjetEXEname); 00107 Liste_Add_Msg(S); 00108 Creer_Pipe(S); 00109 } 00110 } 00111 }
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 382 du fichier Projet.h. Références Projet_Compiler(), et Projet_Executer(). Référencé par Creer_Menu(), et Creer_ToolBar(). 00383 { 00384 Projet_Compiler(); 00385 Projet_Executer(); 00386 }
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 135 du fichier Projet.h. Références Fichier_Enregistrer_Tous_Les_Fichier(), Liste_Add_Msg(), NB, ProjetARGS, ProjetEXEname, ProjetICON, ProjetINCS, ProjetLIBS, ProjetNOM, ProjetOPT, et ProjetTYPE. Référencé par Creer_Menu(), et Creer_ToolBar(). 00136 { 00137 Fichier_Enregistrer_Tous_Les_Fichier(); 00138 00139 //Ecraser fichier projet 00140 FILE *pF; 00141 pF = fopen(ProjetNOM,"w"); 00142 00143 fprintf(pF, "TYPE:%d\n", ProjetTYPE); 00144 fprintf(pF, "EXE:%s\n", ProjetEXEname); 00145 if (ProjetICON) fprintf(pF, "ICON:%s\n", ProjetICON); 00146 if (ProjetOPT) fprintf(pF, "OPT:%s\n" , ProjetOPT); 00147 if (ProjetARGS) fprintf(pF, "ARGS:%s\n", ProjetARGS); 00148 if (ProjetINCS) fprintf(pF, "INCS:%s\n", ProjetINCS); 00149 if (ProjetLIBS) fprintf(pF, "LIBS:%s\n", ProjetLIBS); 00150 fprintf(pF, "\n"); 00151 00152 gshort n; 00153 for (n=1; n<NB; n++) 00154 if (ext[n]==-1) fprintf(pF, "\nDOSSIER:%s\n", chemin[n]); 00155 else fprintf(pF, "FILE:%s\n" , chemin[n]); 00156 00157 /* 00158 FILE:src/EdBx.c 00159 00160 DOSSIER:Editor 00161 FILE:src/Globals.h 00162 */ 00163 fclose(pF); 00164 Liste_Add_Msg ("Projet enregistré."); 00165 }
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 371 du fichier Projet.h. Références Creer_Pipe(), Liste_Add_Msg(), et ProjetEXEname. Référencé par Creer_Menu(), Creer_ToolBar(), et Projet_CompilExec(). 00372 { 00373 gchar *S=NULL; 00374 if (g_path_is_absolute(ProjetEXEname)) S = g_strdup(ProjetEXEname); 00375 else S = g_strdup_printf("./%s 2>&1", ProjetEXEname); 00376 Liste_Add_Msg ("Exécution de %s", S); 00377 Creer_Pipe(S); 00378 }
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 211 du fichier Projet.h. Références AppCOMPILER, AppLINKER, EXTs, getNomSansExtension(), Liste_Add_Msg(), NB, ProjetEXEname, ProjetINCS, ProjetLIBS, ProjetOPT, et ProjetTYPE. Référencé par Creer_Menu(), et Creer_ToolBar(). 00212 { 00213 gshort n,b=0; 00214 gchar *noms[100]; 00215 //gchar *chems[100]; 00216 FILE *pF; 00217 gint exit_status; 00218 gchar *serr = NULL; 00219 GError *err = NULL; 00220 gchar *INCS = NULL; 00221 gchar *LIBS = NULL; 00222 gchar *EXEname = g_path_get_basename(ProjetEXEname); 00223 00224 //Identify source files list 00225 for (n=0; n<NB; n++) 00226 { 00227 if (ext[n]==1) noms[b++] = g_strdup(getNomSansExtension(nom[n])); 00228 } 00229 00230 INCS = g_path_get_dirname (ProjetEXEname); 00231 if (INCS) INCS = g_strdup_printf("%s/makefile", INCS); 00232 00233 pF = fopen(INCS, "w"); 00234 if (!pF) return; 00235 00236 fprintf(pF, "# Generated by EdBx\n\n"); 00237 fprintf(pF, "CC=%s\n", AppCOMPILER); 00238 fprintf(pF, "OPT="); if (ProjetOPT) fprintf(pF, "%s", ProjetOPT); 00239 fprintf(pF, "\nLINKER=%s\n\n", AppLINKER); 00240 00241 // INCS --------------------- 00242 fprintf(pF, "INCS="); 00243 if (ProjetINCS) fprintf(pF, "%s", ProjetINCS); 00244 00245 if (ProjetTYPE==1) // EXE GTK 00246 { 00247 00248 if (g_spawn_command_line_sync ("pkg-config --cflags gtk+-2.0", 00249 &INCS, &serr, &exit_status, &err)) 00250 { 00251 if (exit_status!=0) Liste_Add_Msg( 00252 "Generate_Makefile: pkg-config Exit code: %d.\n", exit_status); 00253 else if (INCS) fprintf(pF, "%s", INCS); 00254 } 00255 else Liste_Add_Msg("Generate_Makefile: g_spawn_command_line_sync()" 00256 " retourne FALSE!\n"); 00257 } 00258 00259 00260 // LIBS ---------------------- 00261 fprintf(pF, "\n\nLIBS="); 00262 if (ProjetLIBS) fprintf(pF, "%s", ProjetLIBS); 00263 if (ProjetTYPE==1) // EXE GTK 00264 { 00265 if (g_spawn_command_line_sync ("pkg-config --libs gtk+-2.0", 00266 &LIBS, &serr, &exit_status, &err)) 00267 { 00268 if (exit_status!=0) Liste_Add_Msg( 00269 "Generate_Makefile: pkg-config Exit code: %d.\n", exit_status); 00270 else if (LIBS) fprintf(pF, "%s", LIBS); 00271 } 00272 else Liste_Add_Msg("Generate_Makefile: g_spawn_command_line_sync()" 00273 " retourne FALSE!\n"); 00274 } 00275 00276 00277 00278 fprintf(pF, "\n\n%s:", EXEname); 00279 for (n=0; n<b; n++) fprintf(pF, " %s.o", noms[n]); 00280 00281 fprintf(pF, "\n\t${LINKER} ${OPT} ${LIBS}"); 00282 for (n=0; n<b; n++) fprintf(pF, " %s.o", noms[n]); 00283 fprintf(pF, " -o %s\n\n", EXEname); 00284 00285 for (n=0; n<b; n++) 00286 { 00287 fprintf(pF, "%s.o: %s.%s\n", noms[n], noms[n], EXTs[1]); 00288 00289 if (g_strcasecmp(AppCOMPILER,"gcc")==0) 00290 fprintf(pF, "\t${CC} ${OPT} ${INCS} -c %s.c -o %s.o\n\n", noms[n], noms[n]); 00291 else if (g_strcasecmp(AppCOMPILER,"fasm")==0) 00292 fprintf(pF, "\t${CC} ${OPT} ${INCS} %s.%s %s.o\n\n", noms[n], EXTs[1], noms[n]); 00293 00294 g_free(noms[n]); 00295 } 00296 00297 fclose(pF); 00298 Liste_Add_Msg("Makefile créé."); 00299 }
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 4 du fichier Projet.h. Références Ajouter_TreeviewItem(), AppICONs, Projet_Clean(), ProjetARGS, ProjetNOMssExt, et ProjetTYPE. Référencé par Creer_Menu(), et Creer_ToolBar(). 00005 { 00006 Projet_Clean(); 00007 00008 ProjetTYPE = 0; 00009 ProjetNOMssExt = g_strdup("Projet"); 00010 ProjetARGS = g_strdup("-Wall -s"); 00011 iterProj = Ajouter_TreeviewItem(NULL,ProjetNOMssExt,NULL,AppICONs[1]); 00012 }
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 25 du fichier Projet.h. Références Ajouter_ELEMENT(), Ajouter_TreeviewItem(), App_Lister_Tableau(), AppICONs, AppUNDOLEVELS, DLG_error(), getNomSansExtension(), NB, Projet_Clean(), ProjetARGS, ProjetCHEMIN, ProjetEXEname, ProjetICON, ProjetINCS, ProjetLIBS, ProjetNOM, ProjetNOMssExt, ProjetOPT, ProjetTYPE, et ProjetUseMAKEFILE. Référencé par main(), et Projet_Choisir(). 00026 { 00027 FILE *pF=NULL; 00028 gchar c, mot[200], *tmp=NULL; 00029 guchar flag=0, b=0; 00030 GtkTreeIter pere; 00031 00032 g_print("Ouverture projet : %s\n", chem); 00033 if ( !(pF = fopen (chem,"r")) ) 00034 { 00035 DLG_error (NULL, "Impossible d'ouvrir %s", chem); 00036 return; 00037 } 00038 00039 // cleanup de tous les onglets 00040 Projet_Clean(); 00041 memset(mot,0,200); 00042 00043 // récupère le nom du projet ouvert 00044 ProjetNOM = g_locale_to_utf8 (g_path_get_basename(chem), -1, NULL, NULL, NULL); 00045 // en déduit nom sans extension 00046 ProjetNOMssExt = getNomSansExtension(ProjetNOM); 00047 // récupère le chemin complet du projet 00048 ProjetCHEMIN = g_locale_to_utf8 (chem, -1, NULL, NULL, NULL); 00049 if (chem) g_free(chem); 00050 00051 //(1) Insérer nouvelle entrée dans le tableau 00052 Ajouter_ELEMENT(ProjetNOM, ProjetCHEMIN, -1); 00053 //(2) Insérer nouvelle entrée dans le treeview 00054 iterProj = Ajouter_TreeviewItem(NULL, ProjetNOMssExt, ProjetCHEMIN, AppICONs[1]); 00055 pere = iterProj; // Pour projet sans sous-dossier :) 00056 00057 // parcourt le fichier pour insérer les autres entrées au TreeView 00058 while ((c = fgetc (pF)) != EOF) 00059 { 00060 if (c == ':') 00061 { 00062 if (g_strcasecmp(mot, "TYPE" )==0) flag=1; 00063 else if (g_strcasecmp(mot, "OPT" )==0) flag=2; 00064 else if (g_strcasecmp(mot, "DOSSIER" )==0) flag=3; 00065 else if (g_strcasecmp(mot, "FILE" )==0) flag=4; 00066 else if (g_strcasecmp(mot, "EXE" )==0) flag=5; 00067 else if (g_strcasecmp(mot, "ARGS" )==0) flag=6; 00068 else if (g_strcasecmp(mot, "INCS" )==0) flag=7; 00069 else if (g_strcasecmp(mot, "LIBS" )==0) flag=8; 00070 else if (g_strcasecmp(mot, "MAKEFILE" )==0) flag=9; 00071 else if (g_strcasecmp(mot, "UNDOLEVELS")==0) flag=10; 00072 else if (g_strcasecmp(mot, "ICON" )==0) flag=11; 00073 else flag=0; 00074 memset(mot,0,b); b=0; 00075 } 00076 else if (c ==0XA) 00077 { 00078 if (flag==1) // TYPE PROJET //////////////////////////////////////// 00079 { 00080 tmp = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00081 ProjetTYPE = g_ascii_strtod(tmp,NULL); 00082 } 00083 else if (flag==2) // OPTIONS //////////////////////////////////////////// 00084 ProjetOPT = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00085 else if (flag==3) // DOSSIER //////////////////////////////////////////// 00086 { 00087 tmp = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00088 //(1) Insérer nouvelle entrée dans le tableau 00089 Ajouter_ELEMENT(tmp, tmp, -1); 00090 //(2) Insérer nouvelle entrée dans le treeview 00091 pere = Ajouter_TreeviewItem(&iterProj, tmp, tmp, AppICONs[1]); 00092 } 00093 else if (flag==4) // FICHIER //////////////////////////////////////////// 00094 { 00095 tmp = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00096 //(1) Insérer nouvelle entrée dans le tableau 00097 Ajouter_ELEMENT(g_path_get_basename(tmp), tmp, -1); 00098 //(2) Insérer nouvelle entrée dans le treeview 00099 Ajouter_TreeviewItem(&pere, nom[NB], tmp, NULL); 00100 //Ouvrir_Fichier_Ou_Le_Passer_Au_Premier_Plan(NB-1); 00101 } 00102 else if (flag==5) // NOM EXE //////////////////////////////////////////// 00103 ProjetEXEname = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00104 else if (flag==6) // EXEC ARGS ////////////////////////////////////////// 00105 ProjetARGS = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00106 else if (flag==7) // INCLUDES /////////////////////////////////////////// 00107 ProjetINCS = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00108 else if (flag==8) // LIBS /////////////////////////////////////////////// 00109 ProjetLIBS = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00110 else if (flag==9) // USE MAKEFILE /////////////////////////////////////// 00111 { 00112 tmp = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00113 ProjetUseMAKEFILE = (g_ascii_strtod(tmp,NULL))?TRUE:FALSE; 00114 } 00115 else if (flag==10) // UNDO LEVELS /////////////////////////////////////// 00116 { 00117 tmp = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00118 AppUNDOLEVELS = (g_ascii_strtod(tmp,NULL))?TRUE:FALSE; 00119 } 00120 else if (flag==11) // ICON ////////////////////////////////////////////// 00121 ProjetICON = g_locale_to_utf8 (mot, -1, NULL, NULL, NULL); 00122 00123 memset(mot,0,b); b=flag=0; 00124 } 00125 else if (c !=0XD) mot[b++] = c; 00126 } //while (c = fgetc) 00127 00128 fclose (pF); 00129 if (tmp) g_free(tmp); 00130 App_Lister_Tableau(); 00131 }
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 390 du fichier Projet.h. 00391 { 00392 00393 }
|
|
Définition à la ligne 681 du fichier FrmMain.h. Références Ajouter_ELEMENT(), Ajouter_TreeviewItem(), App_ChargerConfig(), AppCAPTION, AppHEIGHT, AppICON, AppICONs, AppLEFT, AppMAXIMIZED, AppTOP, AppWIDTH, Creer_Fenetre(), Creer_Menu(), Creer_Onglets(), Creer_ToolBar(), Creer_TreeView(), idACTIF, idOngletACTIF, Liste_Creer(), NB, et NBfichiersOuverts. Référencé par main(). Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 76 du fichier FrmMain.h. Références idACTIF, Ouvrir_Fichier_Ou_Le_Passer_Au_Premier_Plan(), et TVit. Référencé par Creer_TreeView(). 00077 { 00078 GtkTreeModel *pTreeModel; 00079 GtkTreePath *path; 00080 00081 //Liste_Add_Msg("TREEVIEW_CLIC"); 00082 if (event->type == GDK_BUTTON_PRESS) 00083 { 00084 pTreeModel = gtk_tree_view_get_model (TV); 00085 if (gtk_tree_view_get_path_at_pos(TV,(gint) event->x, 00086 (gint) event->y, &path, NULL, NULL, NULL)) 00087 { 00088 if (gtk_tree_model_get_iter(pTreeModel, &TVit, path)) 00089 { 00090 gtk_tree_model_get (pTreeModel, &TVit, 0, &idACTIF, -1); 00091 } 00092 } 00093 00094 if (event->button == 1) 00095 { 00096 Ouvrir_Fichier_Ou_Le_Passer_Au_Premier_Plan(idACTIF); 00097 } // si boutton gauche 00098 else 00099 { 00100 gtk_menu_popup(GTK_MENU(pMenuPROJET), NULL, NULL, NULL, NULL, 00101 event->button, gdk_event_get_time((GdkEvent*)event)); 00102 } 00103 } 00104 return FALSE; 00105 }
Voici le graphe d'appel pour cette fonction: |
|
Définition à la ligne 17 du fichier Globals.h. Référencé par App_ChargerConfig(), et Creer_Onglet(). |
|
|
|
Définition à la ligne 16 du fichier Globals.h. Référencé par App_ChargerConfig(), et Creer_Onglet(). |
|
Définition à la ligne 14 du fichier Globals.h. Référencé par App_ChargerConfig(), et Show_Editor(). |
|
Valeur initiale: { "img/icosmall.png", "img/folder_open.png", "img/0.png", "img/make.png", "img/icosmall.png", "img/new.png", "img/save.png", "img/compil.png", "img/comp.png", "img/folder_close.png", "img/img.gif"} Définition à la ligne 20 du fichier Globals.h. Référencé par Ajouter_TreeviewItem(), Creer_Menu(), Projet_Nouveau(), Projet_Ouvrir(), et Show_Editor(). |
|
Définition à la ligne 11 du fichier Globals.h. Référencé par App_ChargerConfig(), et Show_Editor(). |
|
Définition à la ligne 15 du fichier Globals.h. Référencé par App_ChargerConfig(), et Show_Editor(). |
|
Définition à la ligne 12 du fichier Globals.h. Référencé par App_ChargerConfig(), et Show_Editor(). |
|
Définition à la ligne 19 du fichier Globals.h. Référencé par App_ChargerConfig(), Creer_Onglet(), et Projet_Ouvrir(). |
|
Définition à la ligne 13 du fichier Globals.h. Référencé par App_ChargerConfig(), et Show_Editor(). |
|
Définition à la ligne 96 du fichier Globals.h. Référencé par DLG_ProjectOPTIONS(), et EditorOPTIONS_Close(). |
|
Définition à la ligne 31 du fichier Globals.h. Référencé par Projet_Compiler(). |
|
Définition à la ligne 51 du fichier Globals.h. Référencé par App_Lister_Tableau(), Creer_Onglet(), Fichier_Enregistrer(), Fichier_EnregistrerSous(), Fichier_Fermer(), Fichier_Modif(), Fichier_Rechercher(), Fichier_REDO(), Fichier_UNDO(), Liste_Click(), Onglet_Click(), Ouvrir_Fichier_Ou_Le_Passer_Au_Premier_Plan(), Projet_Clean(), Projet_Compiler(), Show_Editor(), et TreeView_Click(). |
|
Définition à la ligne 50 du fichier Globals.h. Référencé par App_Lister_Tableau(), Fichier_Ecrire(), Fichier_EnregistrerSous(), Fichier_Fermer(), Fichier_Fermer_Un_Fichier(), Fichier_Modif(), Onglet_Click(), Projet_Clean(), et Show_Editor(). |
|
Définition à la ligne 97 du fichier Globals.h. Référencé par DLG_ProjectOPTIONS(), et EditorOPTIONS_Close(). |
|
Définition à la ligne 48 du fichier Globals.h. Référencé par Ajouter_ELEMENT(), Ajouter_TreeviewItem(), App_Lister_Tableau(), Fichier_Choisir(), Fichier_Enregistrer_Tous_Les_Fichier(), Fichier_Fermer_Un_Fichier(), Fichier_Nouveau(), Fichier_Retirer_Du_Projet(), Onglet_Click(), Projet_Clean(), Projet_Compiler(), Projet_Enregistrer(), Projet_Generate_Makefile(), Projet_Ouvrir(), et Show_Editor(). |
|
Définition à la ligne 49 du fichier Globals.h. Référencé par App_Lister_Tableau(), Creer_Onglet(), Fichier_Choisir(), Fichier_Fermer_Un_Fichier(), Fichier_Nouveau(), Onglet_Click(), Projet_Clean(), et Show_Editor(). |
|
Définition à la ligne 45 du fichier Globals.h. Référencé par DLG_ProjectOPTIONS(), EditorOPTIONS_Close(), Projet_Clean(), Projet_Enregistrer(), Projet_Nouveau(), et Projet_Ouvrir(). |
|
Définition à la ligne 37 du fichier Globals.h. Référencé par Projet_Clean(), et Projet_Ouvrir(). |
|
Définition à la ligne 44 du fichier Globals.h. Référencé par DLG_ProjectOPTIONS(), EditorOPTIONS_Close(), Projet_Clean(), Projet_Compiler(), Projet_Enregistrer(), Projet_Executer(), Projet_Generate_Makefile(), et Projet_Ouvrir(). |
|
Définition à la ligne 38 du fichier Globals.h. Référencé par BtnICON_Click(), Creer_Fenetre(), DLG_ProjectOPTIONS(), Projet_Enregistrer(), et Projet_Ouvrir(). |
|
Définition à la ligne 42 du fichier Globals.h. Référencé par DLG_ProjectOPTIONS(), EditorOPTIONS_Close(), Projet_Clean(), Projet_Compiler(), Projet_Enregistrer(), Projet_Generate_Makefile(), et Projet_Ouvrir(). |
|
Définition à la ligne 43 du fichier Globals.h. Référencé par DLG_ProjectOPTIONS(), EditorOPTIONS_Close(), Projet_Clean(), Projet_Compiler(), Projet_Enregistrer(), Projet_Generate_Makefile(), et Projet_Ouvrir(). |
|
Définition à la ligne 35 du fichier Globals.h. Référencé par Projet_Clean(), Projet_Enregistrer(), et Projet_Ouvrir(). |
|
Définition à la ligne 36 du fichier Globals.h. Référencé par DLG_ProjectOPTIONS(), EditorOPTIONS_Close(), Projet_Clean(), Projet_Compiler(), Projet_Nouveau(), et Projet_Ouvrir(). |
|
Définition à la ligne 41 du fichier Globals.h. Référencé par DLG_ProjectOPTIONS(), EditorOPTIONS_Close(), Projet_Clean(), Projet_Compiler(), Projet_Enregistrer(), Projet_Generate_Makefile(), et Projet_Ouvrir(). |
|
Définition à la ligne 40 du fichier Globals.h. Référencé par DLG_ProjectOPTIONS(), EditorOPTIONS_Close(), Projet_Clean(), Projet_Compiler(), Projet_Enregistrer(), Projet_Generate_Makefile(), Projet_Nouveau(), et Projet_Ouvrir(). |
|
Définition à la ligne 46 du fichier Globals.h. Référencé par DLG_ProjectOPTIONS(), EditorOPTIONS_Close(), Projet_Compiler(), et Projet_Ouvrir(). |
|
Définition à la ligne 32 du fichier Globals.h. Référencé par App_ChargerConfig(), et Creer_Onglet(). |
|
Définition à la ligne 93 du fichier Globals.h. Référencé par Fichier_Retirer_Du_Projet(), et TreeView_Click(). |
|
Définition à la ligne 95 du fichier Globals.h. Référencé par DLG_ProjectOPTIONS(), et EditorOPTIONS_Close(). |