summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTitta Heikkala <titta.heikkala@digia.com>2013-10-03 13:41:36 +0300
committerTitta Heikkala <titta.heikkala@digia.com>2013-10-03 14:30:54 +0300
commite4fe606cdd4c422655d76e7a58e54d7a846ec371 (patch)
treebe42bcd7ffccf06d9e7bec963549d5dac359e587 /src
parentf115d51b86d8650dbb9a2458e3cf893201fd6a40 (diff)
Fix Chart build when QT_NO_RUBBERBAND is defined
No rubber band is set for the QChartView if QT_NO_RUBBERBAND is defined. A warning will be fired in case one tries to set the rubber band and Qt is configured without the it. Task-number: QTRD-2240 Change-Id: I6259726077e39f143e317e1b1b13a1daa2a0c1e0 Reviewed-by: Karim Pinter <karim.pinter@digia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/qchartview.cpp19
-rw-r--r--src/qchartview_p.h2
2 files changed, 21 insertions, 0 deletions
diff --git a/src/qchartview.cpp b/src/qchartview.cpp
index 7d5dc10c..fd23b74c 100644
--- a/src/qchartview.cpp
+++ b/src/qchartview.cpp
@@ -107,6 +107,7 @@ void QChartView::setChart(QChart *chart)
*/
void QChartView::setRubberBand(const RubberBands &rubberBand)
{
+#ifndef QT_NO_RUBBERBAND
d_ptr->m_rubberBandFlags = rubberBand;
if (!d_ptr->m_rubberBandFlags) {
@@ -119,6 +120,10 @@ void QChartView::setRubberBand(const RubberBands &rubberBand)
d_ptr->m_rubberBand = new QRubberBand(QRubberBand::Rectangle, this);
d_ptr->m_rubberBand->setEnabled(true);
}
+#else
+ Q_UNUSED(rubberBand);
+ qWarning("Unable to set rubber band because Qt is configured without it.");
+#endif
}
/*!
@@ -135,6 +140,7 @@ QChartView::RubberBands QChartView::rubberBand() const
*/
void QChartView::mousePressEvent(QMouseEvent *event)
{
+#ifndef QT_NO_RUBBERBAND
QRectF plotArea = d_ptr->m_chart->plotArea();
if (d_ptr->m_rubberBand && d_ptr->m_rubberBand->isEnabled()
&& event->button() == Qt::LeftButton && plotArea.contains(event->pos())) {
@@ -143,8 +149,11 @@ void QChartView::mousePressEvent(QMouseEvent *event)
d_ptr->m_rubberBand->show();
event->accept();
} else {
+#endif
QGraphicsView::mousePressEvent(event);
+#ifndef QT_NO_RUBBERBAND
}
+#endif
}
/*!
@@ -153,6 +162,7 @@ void QChartView::mousePressEvent(QMouseEvent *event)
*/
void QChartView::mouseMoveEvent(QMouseEvent *event)
{
+#ifndef QT_NO_RUBBERBAND
if (d_ptr->m_rubberBand && d_ptr->m_rubberBand->isVisible()) {
QRect rect = d_ptr->m_chart->plotArea().toRect();
int width = event->pos().x() - d_ptr->m_rubberBandOrigin.x();
@@ -167,8 +177,11 @@ void QChartView::mouseMoveEvent(QMouseEvent *event)
}
d_ptr->m_rubberBand->setGeometry(QRect(d_ptr->m_rubberBandOrigin.x(), d_ptr->m_rubberBandOrigin.y(), width, height).normalized());
} else {
+#endif
QGraphicsView::mouseMoveEvent(event);
+#ifndef QT_NO_RUBBERBAND
}
+#endif
}
/*!
@@ -178,6 +191,7 @@ void QChartView::mouseMoveEvent(QMouseEvent *event)
*/
void QChartView::mouseReleaseEvent(QMouseEvent *event)
{
+#ifndef QT_NO_RUBBERBAND
if (d_ptr->m_rubberBand && d_ptr->m_rubberBand->isVisible()) {
if (event->button() == Qt::LeftButton) {
d_ptr->m_rubberBand->hide();
@@ -217,8 +231,11 @@ void QChartView::mouseReleaseEvent(QMouseEvent *event)
event->accept();
}
} else {
+#endif
QGraphicsView::mouseReleaseEvent(event);
+#ifndef QT_NO_RUBBERBAND
}
+#endif
}
/*!
@@ -236,7 +253,9 @@ QChartViewPrivate::QChartViewPrivate(QChartView *q, QChart *chart)
: q_ptr(q),
m_scene(new QGraphicsScene(q)),
m_chart(chart),
+#ifndef QT_NO_RUBBERBAND
m_rubberBand(0),
+#endif
m_rubberBandFlags(QChartView::NoRubberBand)
{
q_ptr->setFrameShape(QFrame::NoFrame);
diff --git a/src/qchartview_p.h b/src/qchartview_p.h
index 0d8c409d..87e2168e 100644
--- a/src/qchartview_p.h
+++ b/src/qchartview_p.h
@@ -55,7 +55,9 @@ public:
QGraphicsScene *m_scene;
QChart *m_chart;
QPoint m_rubberBandOrigin;
+#ifndef QT_NO_RUBBERBAND
QRubberBand *m_rubberBand;
+#endif
QChartView::RubberBands m_rubberBandFlags;
};