diff options
author | Arno <am@disconnect.de> | 2011-02-12 14:59:36 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2011-02-12 14:59:36 +0100 |
commit | a2e6438b97a8b9055bee400ccc40a062f0a0e9db (patch) | |
tree | 9ad9d23a390fa8749fcad3e09d32e3cacd76e1f7 /statisticsdialog.h | |
parent | 1cba003449f2c875b3be81a9f7c5835b183e78c8 (diff) | |
download | SheMov-a2e6438b97a8b9055bee400ccc40a062f0a0e9db.tar.gz SheMov-a2e6438b97a8b9055bee400ccc40a062f0a0e9db.tar.bz2 SheMov-a2e6438b97a8b9055bee400ccc40a062f0a0e9db.zip |
Revamp statisticsdialog
Once again redesign the statisticsdialog. Switch back from WebKit and
HTML/CSS graph bars to a QWidget. Never forget about
QPainter::translate() again :)
Diffstat (limited to 'statisticsdialog.h')
-rw-r--r-- | statisticsdialog.h | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/statisticsdialog.h b/statisticsdialog.h index 70f2e55..4e7107a 100644 --- a/statisticsdialog.h +++ b/statisticsdialog.h @@ -11,6 +11,11 @@ #include <QDialog> #include <QList> #include <QVariant> +#include <QSize> +#include <QFont> +#include <QTextDocument> + +class QPaintEvent; class StatisticsDialog : public QDialog { Q_OBJECT @@ -19,11 +24,37 @@ class StatisticsDialog : public QDialog { ~StatisticsDialog() {} private: - QString table(const QList<QList<QVariant> > &data, int max) const; QList<QList<QVariant> > queryData(const QString &query) const; - int max(const QList<QList<QVariant> > &data) const; QString generalStatistics() const; }; +class GraphWidget : public QWidget { + Q_OBJECT + public: + GraphWidget(const QList<QList<QVariant> > data, const QString header, QWidget *parent = 0); + GraphWidget(const QString &text, const QString header, QWidget *parent = 0); + virtual ~GraphWidget() {} + virtual QSize sizeHint() const; + + protected: + virtual void paintEvent(QPaintEvent *event); + + private: + QList<QList<QVariant> > mData; + int mDescWidth; + const int mBarHeight; + const int mMargin; + const QString mHeader; + QSize mHeaderSize; + QFont mHeaderFont; + QFont mDataFont; + int mMaxValue; + int mPercentageWidth; + int mTotal; + const QString mText; + bool mIsText; + QTextDocument mDoc; +}; + #endif |