Updraft
1.0
Open source glider flight visualisation tool.
|
00001 #ifndef UPDRAFT_SRC_PLUGINS_IGCVIEWER_INFOTEXTS_H_ 00002 #define UPDRAFT_SRC_PLUGINS_IGCVIEWER_INFOTEXTS_H_ 00003 00004 #include <QTextEdit> 00005 #include <QTime> 00006 #include "graphlabels.h" 00007 00008 namespace Updraft { 00009 namespace IgcViewer { 00010 00012 class PickedLabel : public Label { 00013 public: 00016 Qt::Orientations expandingDirections() const; 00017 QSize maximumSize() const; 00018 QSize minimumSize() const; 00019 QSize sizeHint() const; 00021 void draw(QPainter* painter); 00022 00023 PickedLabel(QList<int>* p, QList<QString>* t): 00024 pickedPositions(p), texts(t) {} 00025 00026 private: 00027 QList<int>* pickedPositions; 00028 QList<QString>* texts; 00029 00030 static const int MIN_WIDTH = 100; 00031 static const int MIN_HEIGHT = 70; 00032 00033 static const int TEXT_WIDTH = 67; 00034 static const int SPACE = 2; 00035 00036 static const QPen LABEL_PEN; 00037 }; 00038 00040 class IgcTextWidget : public QTextEdit { 00041 Q_OBJECT 00042 00043 public: 00044 IgcTextWidget() : segmentsTexts(NULL), pointsTexts(NULL) {} 00045 IgcTextWidget(QList<QString>* s, QList<QString>* p) 00046 : segmentsTexts(s), pointsTexts(p) {updateText();} 00047 00048 QSize sizeHint() const; 00049 00050 public slots: 00051 void setSegmentsTexts(QList<QString>* texts); 00052 void setPointsTexts(QList<QString>* texts); 00053 void setMouseOverText(const QString& text); 00054 void updateText(); 00055 00056 private: 00057 QString mouseOverText; 00058 QList<QString>* segmentsTexts; 00059 QList<QString>* pointsTexts; 00060 }; 00061 } 00062 } 00063 00064 #endif // UPDRAFT_SRC_PLUGINS_IGCVIEWER_INFOTEXTS_H_