00001 #ifndef EDITEUR_H 00002 #define EDITEUR_H 00003 00011 #include <QTextEdit> 00012 #include <QMouseEvent> 00013 #include <QLabel> 00014 #include <QTimer> 00015 #include <QKeyEvent> 00016 #include <QUrl> 00017 #include <QTextBlock> 00018 #include <QHttp> 00019 #include "frameaide.h" 00020 00021 #include "coloration.h" 00022 #include "syntaxe.h" 00023 #include "WebBrowser.h" 00024 #include "completer.h" 00025 class WidgetLigne; 00026 00049 class Editeur : public QTextEdit 00050 { 00051 Q_OBJECT 00052 00053 private: 00054 void initialiseEditeur(); 00055 Coloration *coloration; 00056 Syntaxe *syntaxe; 00057 Completer * completer; 00058 WidgetLigne* widget_ligne; 00060 QTextBlock* block_sous_souris; 00061 QWidget* parent; 00062 QString selection; 00063 FrameAide* aide; 00064 QTimer* temps_souris; 00065 QTimer* temps_clavier; 00066 QPoint position_curseur; 00067 const int temps_attente_souris; 00068 const int temps_attente_clavier; 00069 int nombre_caractere; 00070 int nombre_ligne; 00071 int nombre_caractere_sans_espace; 00075 protected : 00083 void mouseMoveEvent(QMouseEvent*); 00093 void keyPressEvent(QKeyEvent*); 00102 void keyReleaseEvent(QKeyEvent*); 00103 void mousePressEvent(QMouseEvent*); 00104 00105 public slots : 00113 void changeNombreCaractere(); 00120 void changeSelection(); 00121 00130 void changeSelectionSouris(); 00131 00139 void afficheLabelCurseur(); 00140 00141 00142 00143 public: 00144 00155 Editeur(QWidget* parent = 0, int temps_souris = 250, int temps_curseur = 250); 00156 00157 00167 void afficheLabel(); 00176 void ouvrirNavigateurInternet(QString url); 00187 QString recupereUrl(); 00193 int getNombreLigne(); 00199 int getNombreCaractere(); 00205 int getNombreCaractereSansEspace(); 00211 void setNombreCaractere(int); 00217 void setNombreLigne(int); 00223 void setNombreCaractereSansEspace(int); 00229 void setWidgetLigne(WidgetLigne* w); 00240 void setMargins(int l, int t, int r, int b); 00246 Coloration* getColoration(); 00252 QTextBlock* getBlockSousSouris(); 00253 00259 Completer* getCompleter() const; 00260 // /*! 00261 // * \brief fonction appelée lors de l'appui sur une touche du clavier, reféfinition de QTextEdit::focusInEvent 00262 // * 00263 // * Permet au Completer de se dessiner dans l' Editeur 00264 // * 00265 // * \param QFocusEvent* e : évènement du clavier 00266 // */ 00267 // void focusInEvent(QFocusEvent*); 00273 void miseAJourCompleter(); 00274 int ligne_curseur; 00275 //----------------------------MODIFIER-PAR-WilloW--fin------------------------------ 00276 }; 00277 00278 #endif