00001 #include <string.h>
00002 #include <unistd.h>
00003 #include <gtksourceview/gtksourceview.h>
00004 #include <gtksourceview/gtksourcebuffer.h>
00005 #include <gtksourceview/gtksourcelanguage.h>
00006 #include <gtksourceview/gtksourcelanguagesmanager.h>
00007
00008
00009
00010
00011 guint AppLEFT = 100;
00012 guint AppTOP = 50;
00013 guint AppWIDTH = 900;
00014 guint AppHEIGHT = 740;
00015 gboolean AppMAXIMIZED = FALSE;
00016 gchar *AppFONT = "Mono 8";
00017 gchar *AppBGROUND = "#FFFFFF";
00018 gchar *AppCompiler = "gcc";
00019 gshort AppUNDOLEVELS = 25;
00020 gchar *AppICONs[11] = { "img/icosmall.png",
00021 "img/folder_open.png",
00022 "img/0.png",
00023 "img/make.png",
00024 "img/icosmall.png",
00025 "img/new.png",
00026 "img/save.png",
00027 "img/compil.png",
00028 "img/comp.png",
00029 "img/folder_close.png",
00030 "img/img.gif"};
00031 gchar *GTKpkgcfg = "pkg-config --cflags --libs gtk+-2.0";
00032 gboolean ShowRightMARGIN;
00033
00034
00035 gchar *ProjetNOM;
00036 gchar *ProjetNOMssExt;
00037 gchar *ProjetCHEMIN;
00038 gchar *ProjetICON;
00039
00040 gshort ProjetTYPE;
00041 gchar *ProjetOPT;
00042 gchar *ProjetINCS;
00043 gchar *ProjetLIBS;
00044 gchar *ProjetEXEname;
00045 gchar *ProjetARGS;
00046 gboolean ProjetUseMAKEFILE;
00047
00048 guint NB;
00049 guint NBfichiersOuverts;
00050 gshort idOngletACTIF;
00051 gshort idACTIF;
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075 static gchar *nom[100];
00076 static gchar *chemin[100];
00077 static gshort ext[100];
00078 static gboolean estModifie[100];
00079 static gshort IDOnglet[100];
00080 static GtkSourceBuffer *TxtBuf[100];
00081 static GtkSourceView *TXT[100];
00082
00083
00084
00085
00086
00087 static GtkWidget *pToolBar, *pTView, *pMenuPROJET, *Onglets;
00088 static GtkTreeStore *pTreeStore;
00089 static GtkTreeIter iterProj;
00090
00091 static GtkWidget *Liste;
00092 static GtkListStore *model;
00093 GtkTreeIter TVit;
00094
00095 GtkWidget *TxtEDOptions[6];
00096 GtkWidget *CmbEDoptions[1];
00097 GtkWidget *Mak[2];
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127 void App_ChargerConfig();
00128 void App_Ajouter_ELEMENT(gchar* unNom, gchar* unChemin, gshort onglet);
00129 void App_Lister_Tableau();
00130 gchar* getNomSansExtension(gchar *fich);
00131 gshort getExtension(gchar* fich);
00132
00133
00134 void Projet_Nouveau();
00135 void Projet_Choisir();
00136 void Projet_Ouvrir(gchar* chem);
00137 void Projet_Enregistrer();
00138 void Projet_Generate_Makefile();
00139 void Creer_Pipe(gchar* str);
00140 void Projet_Compiler();
00141 void Projet_CompilExec();
00142 void Projet_Executer();
00143 void Projet_StopExec();
00144 void Projet_Clean();
00145
00146
00147 void Fichier_Nouveau();
00148 void Fichier_Choisir();
00149 void Fichier_Charger(gchar* chemin, GtkSourceBuffer *sBuf);
00150 void Ouvrir_Fichier_Ou_Le_Passer_Au_Premier_Plan(gshort id);
00151 void Fichier_Rechercher ();
00152 void Fichier_Modif();
00153 void Fichier_UNDO();
00154 void Fichier_REDO();
00155 void Fichier_Enregistrer();
00156 void Fichier_Enregistrer_Tous_Les_Fichier();
00157 void Fichier_EnregistrerSous();
00158 void Fichier_Fermer();
00159 void Fichier_Fermer_Un_Fichier(gshort id, gshort onglet);
00160 void Fichier_Fermer_Tous_Les_Fichiers();
00161 void Fichier_Retirer_Du_Projet();
00162 void Fichier_Ecrire(gshort id);
00163
00164
00165 GtkWidget* Creer_Fenetre(gchar* caption, guint Left, guint Top, guint Width,
00166 guint Height, gboolean isCENTERED, gboolean Maximized);
00167 gchar* DLG_Open (gboolean unProjet);
00168 void DLG_error (GtkWindow *parent, const gchar *msg, ...);
00169 gboolean DLG_Demander (gchar *question);
00170 void DLG_About (GtkWidget* widget, gpointer data);
00171 void DLG_Quitter (GtkWidget* widget, gpointer data);
00172
00173
00174 void Show_Editor();
00175
00176 gboolean TreeView_Click (GtkTreeView *TV, GdkEventButton *event);
00177 GtkWidget* Creer_TreeView(GtkWidget *fen, GtkWidget *panneau);
00178 GtkTreeIter Ajouter_TreeviewItem(GtkTreeIter *parent, gchar* unNom,
00179 gchar *unChemin, gchar *img);
00180
00181 void Creer_Onglets(GtkWidget* paned);
00182 GtkSourceBuffer* Creer_Onglet(gchar* caption);
00183 void Onglet_Click (GtkNotebook *Onglets, GtkNotebookPage *page,
00184 guint page_num);
00185
00186 GtkWidget* Creer_ToolBar();
00187
00188 GtkWidget* Menu_AddItem (gchar *img, GtkWidget *pMenu);
00189 void Menu_Ajouter_SEPARATEUR(GtkWidget *pMenu);
00190 void Menu_Ajouter_MENU(gchar* caption, GtkWidget *pMenu, GtkWidget *LeMenu);
00191 GtkWidget* Creer_Menu(GtkWidget *fen);
00192
00193 gboolean Liste_Click (GtkTreeView *Liste, GdkEventButton *event);
00194 GtkWidget* Liste_Creer();
00195 void Liste_Add_Msg(gchar *msg, ...);
00196
00197
00198 void DLG_Close (GtkWidget *widget, gpointer data);
00199
00200 void DLG_EditorOPTIONS(GtkWidget *widget, gpointer data);
00201 void EditorOPTIONS_Close();
00202
00203 void DLG_ProjectOPTIONS (void);
00204 GtkWidget *Ajouter_Prop(gchar *caption, gint a, gint b, gchar *var, GtkWidget *table);
00205 void Charger_Img_Bouton();
00206
00207 #include "App.h"
00208 #include "Projet.h"
00209 #include "Fichier.h"
00210 #include "Dialogs.h"
00211 #include "FrmMain.h"
00212 #include "FrmOptions.h"