summaryrefslogtreecommitdiffstats
path: root/statisticsdialog.h
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2011-02-12 14:59:36 +0100
committerArno <am@disconnect.de>2011-02-12 14:59:36 +0100
commita2e6438b97a8b9055bee400ccc40a062f0a0e9db (patch)
tree9ad9d23a390fa8749fcad3e09d32e3cacd76e1f7 /statisticsdialog.h
parent1cba003449f2c875b3be81a9f7c5835b183e78c8 (diff)
downloadSheMov-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.h35
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