From a2e6438b97a8b9055bee400ccc40a062f0a0e9db Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 12 Feb 2011 14:59:36 +0100 Subject: 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 :) --- statisticsdialog.h | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) (limited to 'statisticsdialog.h') diff --git a/statisticsdialog.h b/statisticsdialog.h index 70f2e55..4e7107a 100644 --- a/statisticsdialog.h +++ b/statisticsdialog.h @@ -11,6 +11,11 @@ #include #include #include +#include +#include +#include + +class QPaintEvent; class StatisticsDialog : public QDialog { Q_OBJECT @@ -19,11 +24,37 @@ class StatisticsDialog : public QDialog { ~StatisticsDialog() {} private: - QString table(const QList > &data, int max) const; QList > queryData(const QString &query) const; - int max(const QList > &data) const; QString generalStatistics() const; }; +class GraphWidget : public QWidget { + Q_OBJECT + public: + GraphWidget(const QList > 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 > 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 -- cgit v1.2.3-70-g09d2