mainwindow.h

Aller à la documentation de ce fichier.
00001 #ifndef MAINWINDOW_H
00002 #define MAINWINDOW_H
00003 
00004 #include <QtGui/QMainWindow>
00005 #include <QtGui/QMenu>
00006 #include <QtGui/QMenuBar>
00007 #include <QtGui/QToolBar>
00008 #include <QtGui/QStatusBar>
00009 
00010 #include <QPaintEvent>
00011 #include <QPainter>
00012 #include <QDockWidget>
00013 
00014 #include <QTabWidget>
00015 #include <QTextEdit>
00016 #include <QRegExp>
00017 #include <QRegExpValidator>
00018 
00019 #include <iostream>
00020 #include <QLineEdit>
00021 
00022 #include <QList>
00023 #include <QUrl>
00024 #include <QFileDialog>
00025 #include <QDesktopServices>
00026 #include <QFileInfo>
00027 #include <QFile>
00028 #include <QTextStream>
00029 
00030 #include <QCloseEvent>
00031 #include <QMessageBox>
00032 #include <QPushButton>
00033 #include <QIcon>
00034 #include <QObject>
00035 #include <QIODevice>
00036 #include <QPrintPreviewDialog>
00037 
00038 #include "mesConfigs.h"
00039 #include "widgetDansOnglet.h"
00040 #include "widgetLigne.h"
00041 #include "Hierarchie.h"
00042 #include "Preferences.h"
00043 #include "RechercherRemplacer/FindDialog.h" //PLUS
00044 #include "FTPBrowser.h"
00045 
00053 class Validation;
00054 
00055 using namespace std;
00056 
00062 class MainWindow : public QMainWindow
00063 {
00064     Q_OBJECT
00065 
00066 private:
00067     // Principal
00068     QWidget *central_widget; 
00069     QWidget *central_widget_haut;
00070     FindDialog *rechercher_remplacer; 
00071     QComboBox * cb;
00072 
00073     QMenuBar *menu_bar;
00074     QToolBar *tool_bar;
00075     QStatusBar *status_bar;
00076     Preferences *mes_preferences;
00077     WebBrowser * w;
00078     FTPBrowser * ftp;
00079 
00080     // Menu
00081     QMenu *menu_fichier;
00082     QMenu *menu_edition;
00083     QMenu *menu_affichage;
00084     QMenu *menu_outils;
00085     QMenu *menu_aide;
00086     QMenu *sous_menu_outil;
00087 
00088     // Actions Menu
00089     //-> Fichier
00090     QAction *action_menu_nouveau;
00091     QAction *action_menu_nouveau_projet;
00092     QAction *action_menu_ouvrir;
00093     QAction *action_menu_enregistrer;
00094     QAction *action_menu_enregistrer_sous;
00095     QAction *action_menu_enregistrer_tout;
00096     QAction *action_menu_imprimer;
00097     QAction *action_menu_quitter;
00098     //-> Edition
00099     QAction *action_menu_annuler;
00100     QAction *action_menu_retablir;
00101     QAction *action_menu_couper;
00102     QAction *action_menu_copier;
00103     QAction *action_menu_coller;
00104     QAction *action_menu_select_tout;
00105     QAction *action_menu_zoom_plus;
00106     QAction *action_menu_zoom_moins;
00107     QAction *action_menu_preferences;
00108     QAction *action_menu_rechercher_remplacer; //PLUS
00109         
00110     //-> Affichage
00111     QAction *action_menu_afficher_cacher_num_ligne;
00112     QAction *action_menu_plein_ecran;
00113         //SousMenuOutil
00114         QAction *action_menu_outil_fichier;
00115         QAction *action_menu_outil_edition;
00116                 QAction *action_menu_outil_projet;
00117 
00118     // Toolbar Outils
00119     QToolBar *tool_fichier;
00120     QToolBar *tool_edition;
00121     QToolBar *tool_affichage;
00122     QToolBar *tool_aide;
00123 
00124     //Outils
00125     QAction *action_menu_web_browser;
00126     QAction *action_menu_ftp_browser;
00127     QAction *action_menu_validateur;
00128 
00129     //Aide
00130     QAction *action_menu_aide;
00131 
00132     // Dans centralWidget
00133     QTabWidget *tab_widget;
00134     WidgetDansOnglet *interieur_onglet; // contient qwidget(contient QLabel et QLabel) et QTextEdit
00135 
00136     // Docks
00137     QDockWidget *dock_projet;
00138     Hierarchie* hierarchie;
00139 
00140         // Dans statusBar
00141     QLabel *label_nb_lignes;
00142     QLabel *label_nb_caracteres;
00143 
00147     void restaurer();
00148     QPushButton * ok_workspace;
00149     QLineEdit * path_workspace;
00150     QString workspace;
00151     QFileDialog * chooseDir;
00152     QLineEdit * nouveau_projet;
00153    
00154     Validation * validation;
00155 
00156 
00157 private slots:
00158     void workspaceChoisi();
00159     void fichierNouveauProjet();
00160     void fichierNouveauProjetOk();
00161 
00162 
00163 public:
00164     // ACCESSEURS
00166     QWidget *getCentralWidget();
00168     QMenuBar *getMenuBar();
00170     QToolBar *getToolBar();
00172     QStatusBar *getStatusBar();
00174     Preferences *getMesPreferences();
00176     FindDialog* getRechercherRemplacer();
00178     WebBrowser* getWebBrowser();
00180     FTPBrowser* getFtpBrowser();
00181 
00182     // Menu
00184     QMenu *getMenuFichier();
00186     QMenu *getMenuEdition();
00188     QMenu *getMenuAffichage();
00190     QMenu *getMenuAide();
00192     QMenu *getSousMenuOutil();
00193 
00194     // Actions Menu
00195     //-> Fichier
00197     QAction *getActionMenuNouveau();
00199     QAction *getActionMenuOuvrir();
00201     QAction *getActionMenuEnregistrer();
00203     QAction *getActionMenuEnregistrerSous();
00205     QAction *getActionMenuEnregistrerTout();
00207     QAction *getActionMenuImprimer();
00209     QAction *getActionMenuWebBrowser();
00211     QAction *getActionMenuQuitter();
00212     //-> Edition
00214     QAction *getActionMenuAnnuler();
00216     QAction *getActionMenuRetablir();
00218     QAction *getActionMenuCouper();
00220     QAction *getActionMenuCopier();
00222     QAction *getActionMenuColler();
00224     QAction *getActionMenuSelectTout();
00226     QAction *getActionMenuZoomPlus();
00228     QAction *getActionMenuZoomMoins();
00230     QAction *getActionMenuPreferences();
00232     QAction *getActionMenuRechercherRemplacer(); //PLUS
00233         
00234     //-> Affichage
00236     QAction *getActionMenuAfficherCacherNumLigne();
00238     QAction *getActionMenuPleinEcran();
00239         //SousMenuOutil
00241         QAction *getActionMenuOutilFichier();
00243         QAction *getActionMenuOutilEdition();
00245             QAction *getActionMenuOutilProjet();
00246 
00247     // Outils
00249     QToolBar *getToolFichier();
00251     QToolBar *getToolEdition();
00253     QToolBar *getToolAffichage();
00255     QToolBar *getToolAide();
00256 
00257     // Dans centralWidget
00259     QTabWidget *getTabWidget(int = -1);
00261     WidgetDansOnglet *getInterieurOnglet();
00262 
00263     // Docks
00265     QDockWidget *getDock_projet();
00267     Hierarchie* getHierarchie();
00268         
00269         // Dans statusBar
00271     QLabel *getLabel_nb_lignes();
00273     QLabel *getLabel_nb_caracteres();
00274 
00275     // Methodes
00283     MainWindow(QWidget *parent = 0);
00284     ~MainWindow();
00290     void gestionMenuBarre();
00295     void gestionMenu();
00300     void gestionBarreOutils();
00305     void gestionMenuActions();
00310     void gestionMenuItems();
00315     void gestionBarreOutilsItems();
00320     void gestionOnglets();
00325     void gestionDocks();
00331     void gestionBarreStatus();
00340     void closeEvent(QCloseEvent * event);
00347     void messageQuitter(QCloseEvent * event);
00355     void messageEnregistrer(QCloseEvent * event, QString nomFichier);
00360     void enregistrer();
00365     void enregistrerSous();
00370     void enregistrerTout();
00377     void changeNom(QString);
00378 
00379     void ouvreFichier(QFileInfo*, bool=true);
00380     int ongletDejaOuvert(QFileInfo*);
00381 
00382 
00383     // Graphisme
00384     void paintEvent(QPaintEvent *event);
00385 
00393     QWidget* widgetChoisirWorkspace(QWidget* = 0, bool = false);
00394 
00395 public slots:
00396     // Fichiers
00398     void fichierNouveau();
00399     void fichierNouveauOk();
00400     void setNouvellePage(int);
00402     void fichierOuvrir();
00404     void fichierEnregistrer();
00406     void fichierEnregistrerSous();
00408     void fichierEnregistrerTout();
00410     void fichierImprimer();
00411 
00412 
00413     // Editions
00415     void editionCouper();
00417     void editionCopier();
00419     void editionColler();
00421     void editionSelectTout();
00423     void editionAnnuler();
00425     void editionRetablir();
00427     void editionZoomPlus();
00429     void editionZoomMoins();
00431     void editionPreferences();
00433     void editionRechercherRemplacer(); //PLUS
00434 
00435     // Affichage
00437     void affichageNumLigne();
00439     void affichagePleinEcran();
00441     void affichageOutilFichier();
00443     void affichageOutilEdition();
00445     void affichageOutilProjet();
00446 
00447     //Outils
00449     void outilsOuvrirWebBrowser();
00451     void outilsOuvrirFtpBrowser();
00455     void fermerTab(int);
00457     void modifNbLignes();
00459     void modifNomTab();
00461     void modifBarreStatus();
00465     void quandChangeOngletCourant(int);
00469     QIcon choixIcone(QString);
00473     void imprimerOk(QPrinter*);
00474 
00476     void enregistrerSettings();
00478     void constructeurApresWorkspace();
00479 
00480     void workspaceClavier(QString);
00482     void outilsValidateur();
00484     void outilsValidateurOnOff(bool);
00485 
00486     void apropos();
00487 };
00488 
00489 #endif // MAINWINDOW_H

Généré le Wed May 27 16:15:54 2009 pour MYW par  doxygen 1.5.8