#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(). |
1.4.2