EdBx.c

Aller à la documentation de ce fichier.
00001 // gcc -Wall -s `pkg-config --cflags --libs gtk+-2.0`
00002 //-I/usr/include/gtksourceview-1.0 -lgtksourceview-1.0 -o EdBx EdBx.c
00003 
00004 #include <gtk/gtk.h>
00005 
00006  gchar  *AppCAPTION     = "Editeur Langage C";
00007  gchar  *AppConf        = "EdBx.conf";
00008  gchar  *AppEXTproj     = "*.bxp";
00009  gchar  *AppCOMPILER    = "gcc";
00010  gchar  *AppLINKER      = "ld";
00011  gchar  *AppICON        = "img/ico.png";
00012  #define nbEXT 3
00013  gchar  *EXTs[nbEXT]    = { NULL ,    "c"    ,    "h"    };
00014  gchar  *IMGs[nbEXT]    = { NULL ,"img/a.png","img/H.png"};
00015 
00016  gchar  *AppNEWfile     = "new.c";
00017  gchar  *AppMIME        = "text/x-cgtksrc";
00018  gchar  *AppTEMPLATE    = "Templates/hworld.c";
00019  gchar  *AppABOUTstr    = "Editeur Langage C\nEcrit en C avec GTK+ 2.0\n\n"
00020                           "Par Bertrand-Xavier Massot (C) 2006\n";
00021 
00022 #include "Globals.h"
00023 
00024 /* =============================================================================
00025  * Projet: Compiler ************************************************************
00026 ==============================================================================*/
00027 void Projet_Compiler()
00028 {
00029   gshort n;
00030   gchar *S, *d=NULL;
00031 
00032   // clic sur compiler alors qu'aucun projet n' est ouvert
00033   if (!ProjetEXEname) return;
00034 
00035   // Commence par enregistrer les fichiers modifiés
00036   Fichier_Enregistrer_Tous_Les_Fichier();
00037   // clean liste
00038   gtk_list_store_clear(GTK_LIST_STORE(model));
00039 
00040   // S'il faut utiliser un makefile, recherche son chemin,
00041   // chdir, make, et chdir dossier d'origine.
00042   if (ProjetUseMAKEFILE)
00043   {
00044     for (n=0; n<NB; n++)
00045     {
00046       if (g_strcasecmp(nom[n],"makefile")==0)
00047       {
00048         d = g_get_current_dir();
00049         break;
00050       }
00051     }
00052     if (d)
00053     {
00054       S = g_path_get_dirname(chemin[n]);
00055       chdir(S);
00056       S = g_strdup("make");
00057       Liste_Add_Msg(S);
00058       Creer_Pipe(S);
00059       chdir(d);
00060       g_free(d);
00061     }
00062     else Liste_Add_Msg("Ajoutez le makefile au projet.");
00063   }
00064 
00065   // Pas de makefile: assemble le string de lancement du compilateur
00066   else
00067   {
00068     Liste_Add_Msg ("Compilation de %s", ProjetNOMssExt);
00069 
00070     S = g_strdup_printf("%s %s", AppCOMPILER, ProjetOPT);
00071 
00072     if (ProjetTYPE==1) // EXE GTK
00073       S = g_strdup_printf("%s `%s`", S, GTKpkgcfg);
00074     if (ProjetINCS) S = g_strdup_printf("%s %s", S, ProjetINCS);
00075     if (ProjetLIBS) S = g_strdup_printf("%s %s", S, ProjetLIBS);
00076 
00077     // obtient la liste des fichiers .C
00078     for (n=0; n<NB; n++)
00079     {
00080      if (ext[n]==1)
00081       S = g_strdup_printf("%s %s ", S, chemin[n]);
00082     }
00083     S = g_strdup_printf("%s-o %s 2>&1", S, ProjetEXEname);
00084     Liste_Add_Msg (S);
00085     Creer_Pipe(S);
00086   }
00087 }
00088 
00089 /* =============================================================================
00090  * Point d' entrée *************************************************************
00091 ==============================================================================*/
00092 int main(int argc, char **argv)
00093 {
00094   gtk_init(&argc, &argv);
00095 
00096   Show_Editor();
00097 
00098   if (argv[1]) Projet_Ouvrir(argv[1]);
00099   //else Projet_Ouvrir("EdBx.bxp");
00100 
00101   gtk_main();
00102   return 0;
00103 }

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