00001 #ifndef WIDGETLIGNE_H 00002 #define WIDGETLIGNE_H 00003 00010 #include <QPainter> 00011 #include <QPaintEvent> 00012 #include <QPixmap> 00013 #include <QMenu> 00014 #include <QAction> 00015 #include <QIcon> 00016 00017 #include <QTextEdit> 00018 #include <QTextBlock> 00019 #include <QTextLayout> 00020 #include <QList> 00021 00022 #include <QScrollBar> 00023 #include <QApplication> 00024 #include <iostream> 00025 #include <QMouseEvent> 00026 using namespace std; 00027 00028 #include "editeur.h" 00029 #include "Entete.h" 00030 00049 class WidgetLigne : public QWidget 00050 { 00051 00052 Q_OBJECT 00053 00054 public: 00063 WidgetLigne(Editeur* p); 00072 virtual void resizeEvent(QResizeEvent* e); 00080 WidgetListe* getListe(int i); 00090 int enleveLigne(int i); 00101 int ajoutLigne(int i=-1); 00107 void ajoutWidgetListe(WidgetListe* w); 00117 void ajoutWidgetListe(QAction* a, QString t, QString i); 00118 void afficheListe(int); 00124 int listeContientLigne(); 00134 void incrementeListe(int i); 00140 void chargement(); 00146 void miseAJourMargin(); 00154 void miseAJourWidgetListe(); 00165 WidgetListe* existeListe(QString t , QString c); 00173 void enleveWidgetListe(WidgetListe* w); 00174 00183 void incrementeLigneListe(int debut,int difference); 00184 00185 protected: 00197 virtual void paintEvent(QPaintEvent*); 00209 virtual void mousePressEvent(QMouseEvent*); 00210 00211 private: 00212 Editeur *editeur_texte; 00213 QPixmap* mon_image; 00214 int numero_premiere_ligne; 00215 QRectF rectangle; 00216 QPointF position_layout; 00217 int vertical_scroll_bar_value; 00218 int ligne_courante; 00219 QList<WidgetListe*> ma_liste; 00220 int taille_image; 00221 bool ligne_a_droite; 00223 public slots: 00233 void cliqueMenu(QAction*); 00240 void miseAJourListe(); 00241 }; 00242 00243 #endif