summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Griebl <rgriebl@trolltech.com>2010-04-14 18:09:48 +0200
committerRobert Griebl <rgriebl@trolltech.com>2010-04-14 18:10:04 +0200
commit28bd34d57fd99d0f90b6cb59ca8a0d4ad8ebb572 (patch)
treeb707b5494d414a9acffb38a47fca4c3c074b9d09
parent0503f713d3769746b12970f46760488c240c4705 (diff)
added debug plots
-rw-r--r--kineticscroller.pro4
-rw-r--r--main.cpp9
-rw-r--r--qkineticscroller.cpp14
-rw-r--r--qkineticscroller.h2
-rw-r--r--qkineticscroller_p.h3
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
diff --git a/main.cpp b/main.cpp
index 6d272d7..7ea0354 100644
--- a/main.cpp
+++ b/main.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;
};