Référence du fichier Globals.h

#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]


Documentation des fonctions

GtkWidget* Ajouter_Prop gchar *  caption,
gint  a,
gint  b,
gchar *  var,
GtkWidget *  table
 

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 }

GtkTreeIter Ajouter_TreeviewItem GtkTreeIter *  parent,
gchar *  unNom,
gchar *  unChemin,
gchar *  img
 

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:

void App_Ajouter_ELEMENT gchar *  unNom,
gchar *  unChemin,
gshort  onglet
 

void App_ChargerConfig  ) 
 

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 }

void App_Lister_Tableau  ) 
 

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 }

void Charger_Img_Bouton  ) 
 

GtkWidget* Creer_Fenetre gchar *  caption,
guint  Left,
guint  Top,
guint  Width,
guint  Height,
gboolean  isCENTERED,
gboolean  Maximized
 

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 }

GtkWidget* Creer_Menu GtkWidget *  fen  ) 
 

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:

GtkSourceBuffer* Creer_Onglet gchar *  caption  ) 
 

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);

void Creer_Onglets GtkWidget *  paned  ) 
 

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:

void Creer_Pipe gchar *  str  ) 
 

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:

GtkWidget* Creer_ToolBar  ) 
 

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:

GtkWidget* Creer_TreeView GtkWidget *  fen,
GtkWidget *  panneau
 

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:

void DLG_About GtkWidget *  widget,
gpointer  data
 

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 }

void DLG_Close GtkWidget *  widget,
gpointer  data
 

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 }

gboolean DLG_Demander gchar *  question  ) 
 

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 }

void DLG_EditorOPTIONS GtkWidget *  widget,
gpointer  data
 

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:

void DLG_error GtkWindow *  parent,
const gchar *  msg,
  ...
 

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 }

gchar* DLG_Open gboolean  unProjet  ) 
 

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 }

void DLG_ProjectOPTIONS void   ) 
 

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:

void DLG_Quitter GtkWidget *  widget,
gpointer  data
 

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 }

void EditorOPTIONS_Close  ) 
 

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 }

void Fichier_Charger gchar *  chemin,
GtkSourceBuffer *  sBuf
 

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:

void Fichier_Choisir  ) 
 

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:

void Fichier_Ecrire gshort  id  ) 
 

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:

void Fichier_Enregistrer  ) 
 

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:

void Fichier_Enregistrer_Tous_Les_Fichier  ) 
 

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:

void Fichier_EnregistrerSous  ) 
 

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:

void Fichier_Fermer  ) 
 

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

Voici le graphe d'appel pour cette fonction:

void Fichier_Fermer_Tous_Les_Fichiers  ) 
 

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 }

void Fichier_Fermer_Un_Fichier gshort  id,
gshort  onglet
 

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:

void Fichier_Modif  ) 
 

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 }

void Fichier_Nouveau  ) 
 

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:

void Fichier_Rechercher  ) 
 

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 }

void Fichier_REDO  ) 
 

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 }

void Fichier_Retirer_Du_Projet  ) 
 

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:

void Fichier_UNDO  ) 
 

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 }

gshort getExtension gchar *  fich  ) 
 

Définition à la ligne 138 du fichier App.h.

Références EXTs, et nbEXT.

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 }

gchar* getNomSansExtension gchar *  fich  ) 
 

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 }

void Liste_Add_Msg gchar *  msg,
  ...
 

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;

gboolean Liste_Click GtkTreeView *  Liste,
GdkEventButton *  event
 

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:

GtkWidget* Liste_Creer  ) 
 

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:

GtkWidget* Menu_AddItem gchar *  img,
GtkWidget *  pMenu
 

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

void Menu_Ajouter_MENU gchar *  caption,
GtkWidget *  pMenu,
GtkWidget *  LeMenu
 

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 ************************************************************/

void Menu_Ajouter_SEPARATEUR GtkWidget *  pMenu  ) 
 

Définition à la ligne 454 du fichier FrmMain.h.

Référencé par Creer_Menu().

00462 {

void Onglet_Click GtkNotebook *  Onglets,
GtkNotebookPage *  page,
guint  page_num
 

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;

void Ouvrir_Fichier_Ou_Le_Passer_Au_Premier_Plan gshort  id  ) 
 

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:

void Projet_Choisir  ) 
 

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:

void Projet_Clean  ) 
 

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 }

void Projet_Compiler  ) 
 

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:

void Projet_CompilExec  ) 
 

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:

void Projet_Enregistrer  ) 
 

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:

void Projet_Executer  ) 
 

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:

void Projet_Generate_Makefile  ) 
 

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:

void Projet_Nouveau  ) 
 

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:

void Projet_Ouvrir gchar *  chem  ) 
 

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:

void Projet_StopExec  ) 
 

Définition à la ligne 390 du fichier Projet.h.

00391 {
00392 
00393 }

void Show_Editor  ) 
 

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:

gboolean TreeView_Click GtkTreeView *  TV,
GdkEventButton *  event
 

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:


Documentation des variables

gchar* AppBGROUND = "#FFFFFF"
 

Définition à la ligne 17 du fichier Globals.h.

Référencé par App_ChargerConfig(), et Creer_Onglet().

gchar* AppCompiler = "gcc"
 

Définition à la ligne 18 du fichier Globals.h.

gchar* AppFONT = "Mono 8"
 

Définition à la ligne 16 du fichier Globals.h.

Référencé par App_ChargerConfig(), et Creer_Onglet().

guint AppHEIGHT = 740
 

Définition à la ligne 14 du fichier Globals.h.

Référencé par App_ChargerConfig(), et Show_Editor().

gchar* AppICONs[11]
 

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

guint AppLEFT = 100
 

Définition à la ligne 11 du fichier Globals.h.

Référencé par App_ChargerConfig(), et Show_Editor().

gboolean AppMAXIMIZED = FALSE
 

Définition à la ligne 15 du fichier Globals.h.

Référencé par App_ChargerConfig(), et Show_Editor().

guint AppTOP = 50
 

Définition à la ligne 12 du fichier Globals.h.

Référencé par App_ChargerConfig(), et Show_Editor().

gshort AppUNDOLEVELS = 25
 

Définition à la ligne 19 du fichier Globals.h.

Référencé par App_ChargerConfig(), Creer_Onglet(), et Projet_Ouvrir().

guint AppWIDTH = 900
 

Définition à la ligne 13 du fichier Globals.h.

Référencé par App_ChargerConfig(), et Show_Editor().

GtkWidget* CmbEDoptions[1]
 

Définition à la ligne 96 du fichier Globals.h.

Référencé par DLG_ProjectOPTIONS(), et EditorOPTIONS_Close().

gchar* GTKpkgcfg = "pkg-config --cflags --libs gtk+-2.0"
 

Définition à la ligne 31 du fichier Globals.h.

Référencé par Projet_Compiler().

gshort idACTIF
 

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

gshort idOngletACTIF
 

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

GtkWidget* Mak[2]
 

Définition à la ligne 97 du fichier Globals.h.

Référencé par DLG_ProjectOPTIONS(), et EditorOPTIONS_Close().

guint NB
 

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

guint NBfichiersOuverts
 

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

gchar* ProjetARGS
 

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

gchar* ProjetCHEMIN
 

Définition à la ligne 37 du fichier Globals.h.

Référencé par Projet_Clean(), et Projet_Ouvrir().

gchar* ProjetEXEname
 

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

gchar* ProjetICON
 

Définition à la ligne 38 du fichier Globals.h.

Référencé par BtnICON_Click(), Creer_Fenetre(), DLG_ProjectOPTIONS(), Projet_Enregistrer(), et Projet_Ouvrir().

gchar* ProjetINCS
 

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

gchar* ProjetLIBS
 

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

gchar* ProjetNOM
 

Définition à la ligne 35 du fichier Globals.h.

Référencé par Projet_Clean(), Projet_Enregistrer(), et Projet_Ouvrir().

gchar* ProjetNOMssExt
 

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

gchar* ProjetOPT
 

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

gshort ProjetTYPE
 

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

gboolean ProjetUseMAKEFILE
 

Définition à la ligne 46 du fichier Globals.h.

Référencé par DLG_ProjectOPTIONS(), EditorOPTIONS_Close(), Projet_Compiler(), et Projet_Ouvrir().

gboolean ShowRightMARGIN
 

Définition à la ligne 32 du fichier Globals.h.

Référencé par App_ChargerConfig(), et Creer_Onglet().

GtkTreeIter TVit
 

Définition à la ligne 93 du fichier Globals.h.

Référencé par Fichier_Retirer_Du_Projet(), et TreeView_Click().

GtkWidget* TxtEDOptions[6]
 

Définition à la ligne 95 du fichier Globals.h.

Référencé par DLG_ProjectOPTIONS(), et EditorOPTIONS_Close().


Généré le Sat Jan 13 02:55:16 2007 pour EdBX:IDELangageC,Python,FASMécritavecGTK+ par  doxygen 1.4.2