Globals.h

Aller à la documentation de ce fichier.
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  * Variables globales **********************************************************
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  // Projet ouvert --------------------------------------------------------------
00035  gchar    *ProjetNOM;           // ex. foo.bxp
00036  gchar    *ProjetNOMssExt;      // ex. foo
00037  gchar    *ProjetCHEMIN;        // ex. /home/joe/foo.bxp or src/foo.bxp
00038  gchar    *ProjetICON;          // img/icon.png
00039  // Compilation ----------------------------------------------------------------
00040  gshort   ProjetTYPE;           // 0:Exe console 1:exeGTK 2:static lib 3:dyn lib
00041  gchar    *ProjetOPT;           // Compile options ex. -Wall -s
00042  gchar    *ProjetINCS;          // Chaîne d 'includes
00043  gchar    *ProjetLIBS;          // Chaîne de libs
00044  gchar    *ProjetEXEname;       // ex. foo.exe or foo
00045  gchar    *ProjetARGS;          // Exec command line args
00046  gboolean ProjetUseMAKEFILE;    // if true, use it to compile
00047  // Statut ---------------------------------------------------------------------
00048  guint    NB;                   // nombre de fichiers/dossiers du projet
00049  guint    NBfichiersOuverts;
00050  gshort   idOngletACTIF;        // onglet sélectionné
00051  gshort   idACTIF;              // id structure/treeview
00052 /* =============================================================================
00053  * Tableau interne  ************************************************************
00054 ==============================================================================*/
00055 /*
00056         NB=15 NBfichiersOuverts=0 idOngletACTIF=-1 idACTIF=-1
00057                 nom     id      Ext     Modif   Onglet  chemin
00058         ----------------------------------------------------------------
00059         (  EdBx.bxp)    0       -1      0       -1      (EdBx.bxp)
00060         (    EdBx.c)    1        1      0       -1      (src/EdBx.c)
00061         (    README)    2        0      0       -1      (C/README)
00062         (    Editor)    3       -1      0       -1      (Editor)
00063         (     App.h)    4        2      0       -1      (src/App.h)
00064         (  Projet.h)    5        2      0       -1      (src/Projet.h)
00065         ( Fichier.h)    6        2      0       -1      (src/Fichier.h)
00066         ( Dialogs.h)    7        2      0       -1      (src/Dialogs.h)
00067         ( Globals.h)    8        2      0       -1      (src/Globals.h)
00068         (    README)    9        0      0       -1      (README)
00069         (      docs)    10      -1      0       -1      (docs)
00070         (      C.sh)    11       0      0       -1      (C.sh)
00071         (  EdBx.bxp)    12       0      0       -1      (EdBx.bxp)
00072         ( EdBx.conf)    13       0      0       -1      (EdBx.conf)
00073         (  makefile)    14      -2      0       -1      (makefile)
00074 */
00075  static gchar              *nom[100];   // nom de fichier
00076  static gchar           *chemin[100];   // chemin absolu
00077  static gshort              ext[100];   // -1 = dossier 0=texte 1,2,3,4=C,h,cpp,cc
00078  static gboolean     estModifie[100];   // 0 ou 1
00079  static gshort         IDOnglet[100];   // -1 = fermé ou dossier
00080  static GtkSourceBuffer *TxtBuf[100];   // pointeur vers buffer
00081  static GtkSourceView      *TXT[100];   // pointeur vers texte
00082  //static GtkWidget         *pLBL[100]; // label onglet*
00083 
00084 /* =============================================================================
00085  * Contrôles *******************************************************************
00086 ==============================================================================*/
00087  static GtkWidget       *pToolBar, *pTView, *pMenuPROJET, *Onglets;
00088  static GtkTreeStore    *pTreeStore;
00089  static GtkTreeIter     iterProj;
00090  // Liste de messages
00091  static GtkWidget       *Liste;
00092  static GtkListStore    *model;
00093  GtkTreeIter            TVit;   //iter sélectionné
00094  // Options du Projet
00095  GtkWidget *TxtEDOptions[6];
00096  GtkWidget *CmbEDoptions[1];
00097  GtkWidget *Mak[2];
00098 
00099 /* =============================================================================
00100  * Prototypes de fonctions *****************************************************
00101 ==============================================================================*/
00102 /* =============================================================================
00103  * Depuis le toolbar, le menu, ou en cliquant sur le TreeView, je peux appeler:
00104 
00105     - NOUVEAU FICHIER
00106     - OUVRIR FICHIER
00107     - OUVRIR PROJET
00108 
00109   Ces 3 actions vont avoir pour but d'appeler certaines de ces 4 fonctions:
00110 
00111   (1) Créer une entrée dans le tableau interne          App_Ajouter_ELEMENT()   
00112   (2) Insérer nouvelle entrée dans le treeview          Ajouter_TreeViewItem()
00113   (3) Créer nouvel onglet et son textbox/sourceBuffer   Creer_Onglet()
00114   (4) Charger le textbox depuis un fichier              Fichier_Charger()
00115 
00116         -------------------------------
00117         Objectif         |   Appelle
00118         -------------------------------
00119         NOUVEAU FICHIER -> (1)(2)(3)
00120         OUVRIR  FICHIER -> (1)(2)(3)(4)
00121         OUVRIR  PROJET  -> (1)(2)
00122         TREEVIEW_CLICK  -> (3)(4)       
00123         -------------------------------
00124     Ajouter_TreeViewItem() Détermine extension, NB++     ====================*/
00125 
00126  // APPLICATION ================================================================
00127  void   App_ChargerConfig();
00128  void   App_Ajouter_ELEMENT(gchar* unNom, gchar* unChemin, gshort onglet);
00129  void   App_Lister_Tableau(); //dbug vers console
00130  gchar* getNomSansExtension(gchar *fich);
00131  gshort getExtension(gchar* fich);
00132 
00133  // PROJET =====================================================================
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  // FICHIER ====================================================================
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  // DIALOGS ====================================================================
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  // FRMMAIN ====================================================================
00174  void Show_Editor();
00175  //     Treeview
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  //     Onglets
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  //     Toolbar
00186  GtkWidget*  Creer_ToolBar();
00187  //     Menu
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  //     Liste
00193  gboolean    Liste_Click (GtkTreeView *Liste, GdkEventButton *event);
00194  GtkWidget*  Liste_Creer();
00195  void        Liste_Add_Msg(gchar *msg, ...);
00196 
00197  // FORMS OPTIONS ==============================================================
00198  void     DLG_Close (GtkWidget *widget, gpointer data);
00199  // Editor Options -------------------------------------------------------------
00200  void     DLG_EditorOPTIONS(GtkWidget *widget, gpointer data);
00201  void     EditorOPTIONS_Close();
00202  // Project Options ------------------------------------------------------------
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"

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