diff options
author | Robert Griebl <rgriebl@trolltech.com> | 2010-04-14 18:09:48 +0200 |
---|---|---|
committer | Robert Griebl <rgriebl@trolltech.com> | 2010-04-14 18:10:04 +0200 |
commit | 28bd34d57fd99d0f90b6cb59ca8a0d4ad8ebb572 (patch) | |
tree | b707b5494d414a9acffb38a47fca4c3c074b9d09 | |
parent | 0503f713d3769746b12970f46760488c240c4705 (diff) |
added debug plots
-rw-r--r-- | kineticscroller.pro | 4 | ||||
-rw-r--r-- | main.cpp | 9 | ||||
-rw-r--r-- | qkineticscroller.cpp | 14 | ||||
-rw-r--r-- | qkineticscroller.h | 2 | ||||
-rw-r--r-- | qkineticscroller_p.h | 3 |
5 files changed, 28 insertions, 4 deletions
diff --git a/kineticscroller.pro b/kineticscroller.pro index 02a9c60..8b879b7 100644 --- a/kineticscroller.pro +++ b/kineticscroller.pro @@ -8,5 +8,5 @@ DEPENDPATH += . INCLUDEPATH += . # Input -HEADERS += qkineticscroller.h qkineticscroller_p.h qscrollareakineticscroller.h metricswidget.h -SOURCES += main.cpp qkineticscroller.cpp qscrollareakineticscroller.cpp metricswidget.cpp +HEADERS += qkineticscroller.h qkineticscroller_p.h qscrollareakineticscroller.h metricswidget.h plotwidget.h +SOURCES += main.cpp qkineticscroller.cpp qscrollareakineticscroller.cpp metricswidget.cpp plotwidget.cpp @@ -2,6 +2,7 @@ #include "qscrollareakineticscroller.h" #include "metricswidget.h" +#include "plotwidget.h" int main(int argc, char **argv) { @@ -17,11 +18,15 @@ int main(int argc, char **argv) s->setWidget(lw); QWidget *metrics = new MetricsWidget(s); + QWidget *plot = new PlotWidget(s); QHBoxLayout *lay = new QHBoxLayout(w); lay->addWidget(lw); - lay->addWidget(metrics); - + QTabWidget *tab = new QTabWidget(); + tab->addTab(metrics, metrics->windowTitle()); + tab->addTab(plot, plot->windowTitle()); + lay->addWidget(tab); + w->show(); w->raise(); diff --git a/qkineticscroller.cpp b/qkineticscroller.cpp index 47d3aed..d06f7eb 100644 --- a/qkineticscroller.cpp +++ b/qkineticscroller.cpp @@ -189,6 +189,8 @@ QKineticScrollerPrivate::QKineticScrollerPrivate() , scrollToY(false) , overshootX(false) , overshootY(false) + , debugHook(0) + , debugHookUser(0) { } QKineticScrollerPrivate::~QKineticScrollerPrivate() @@ -201,6 +203,14 @@ void QKineticScrollerPrivate::init() q->resetScrollMetrics(); } +void QKineticScroller::registerDebugHook(void (*callback)(void *user, const QPointF &releaseVelocity, const QPointF &position, const QPointF &overshootPosition), void *user) +{ + Q_D(QKineticScroller); + d->debugHook = callback; + d->debugHookUser = user; + qWarning("AAAAAAAAAAAAAAAAA"); +} + void QKineticScroller::resetScrollMetrics() { static QMap<ScrollMetric, QVariant> metrics; @@ -282,6 +292,8 @@ const char *QKineticScrollerPrivate::inputName(QKineticScroller::Input input) void QKineticScrollerPrivate::timerEvent(QTimerEvent *e) { + Q_Q(QKineticScroller); + if (e->timerId() != timerId) { QObject::timerEvent(e); return; @@ -303,6 +315,8 @@ void QKineticScrollerPrivate::timerEvent(QTimerEvent *e) if (state == te->state) { (this->*te->handler)(); + if (debugHook) + debugHook(debugHookUser, releaseVelocity, q->contentPosition(), overshootPosition); return; } } diff --git a/qkineticscroller.h b/qkineticscroller.h index 145f5cb..239102f 100644 --- a/qkineticscroller.h +++ b/qkineticscroller.h @@ -124,6 +124,8 @@ public: void setDpi(qreal dpi); void setDpiFromWidget(QWidget *widget); + void registerDebugHook(void (*callback)(void *user, const QPointF &releaseVelocity, const QPointF &position, const QPointF &overshootPosition), void *user); + protected: explicit QKineticScroller(); diff --git a/qkineticscroller_p.h b/qkineticscroller_p.h index ccaee6d..2dcbbbd 100644 --- a/qkineticscroller_p.h +++ b/qkineticscroller_p.h @@ -146,6 +146,9 @@ public: qreal overshootStartTimeY; int timerId; + void (*debugHook)(void *user, const QPointF &releaseVelocity, const QPointF &position, const QPointF &overshootPosition); + void *debugHookUser; + QKineticScroller *q_ptr; }; |