##// END OF EJS Templates
Fixed visibility initialization on axis
Fixed visibility initialization on axis

File last commit:

r2344:bf21d64b0d3d
r2345:25ac4815295c
Show More
widget.cpp
85 lines | 2.3 KiB | text/x-c | CppLexer
Marek Rosa
Added callout example (Drawing on top of chart)
r2150 #include "widget.h"
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QVBoxLayout>
#include <QChart>
#include <QLineSeries>
Marek Rosa
Added hover support to splinechart and updated callout example
r2256 #include <QSplineSeries>
Marek Rosa
Added callout example (Drawing on top of chart)
r2150 #include <QGraphicsTextItem>
#include <QGraphicsLineItem>
#include "callout.h"
QTCOMMERCIALCHART_USE_NAMESPACE
Widget::Widget(QWidget *parent)
: QWidget(parent),
m_scene(0),
m_chart(0),
Marek Rosa
Added hovered signal to QLineSeries. Updated callout example
r2255 m_view(0),
m_tooltip(0)
Marek Rosa
Added callout example (Drawing on top of chart)
r2150 {
// chart
m_chart = new QChart;
m_chart->setMinimumSize(640, 480);
Marek Rosa
Added hovered signal to QLineSeries. Updated callout example
r2255 m_chart->setTitle("Hover the line to show callout. Click the line to make it stay");
m_chart->legend()->hide();
Marek Rosa
Added callout example (Drawing on top of chart)
r2150 QLineSeries *series = new QLineSeries;
series->append(1, 3);
series->append(4, 5);
series->append(5, 4.5);
series->append(7, 1);
series->append(11, 2);
m_chart->addSeries(series);
Marek Rosa
Added hover support to splinechart and updated callout example
r2256
QSplineSeries *series2 = new QSplineSeries;
series2->append(1.6, 1.4);
series2->append(2.4, 3.5);
series2->append(3.7, 2.5);
series2->append(7, 4);
series2->append(10, 2);
m_chart->addSeries(series2);
Marek Rosa
Added callout example (Drawing on top of chart)
r2150 m_chart->createDefaultAxes();
m_scene = new QGraphicsScene;
m_view = new QGraphicsView(m_scene);
m_view->setRenderHint(QPainter::Antialiasing);
m_scene->addItem(m_chart);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(m_view);
setLayout(mainLayout);
Marek Rosa
Added hovered signal to QLineSeries. Updated callout example
r2255 connect(series, SIGNAL(clicked(QPointF)), this, SLOT(keepCallout()));
connect(series, SIGNAL(hovered(QPointF, bool)), this, SLOT(tooltip(QPointF,bool)));
Marek Rosa
Added hover support to splinechart and updated callout example
r2256
connect(series2, SIGNAL(clicked(QPointF)), this, SLOT(keepCallout()));
connect(series2, SIGNAL(hovered(QPointF, bool)), this, SLOT(tooltip(QPointF,bool)));
Marek Rosa
Added callout example (Drawing on top of chart)
r2150 }
Widget::~Widget()
{
}
Marek Rosa
Added hovered signal to QLineSeries. Updated callout example
r2255 void Widget::keepCallout()
Marek Rosa
Added callout example (Drawing on top of chart)
r2150 {
Marek Rosa
Added hovered signal to QLineSeries. Updated callout example
r2255 m_tooltip = new Callout(m_chart);
}
void Widget::tooltip(QPointF point, bool state)
{
if (m_tooltip == 0)
m_tooltip = new Callout(m_chart);
if (state) {
Marek Rosa
Mapping functions added to QChart. Callout example updated
r2344 m_tooltip->setText(QString("X: %1 \nY: %2 ").arg(point.x()).arg(point.y()));
QXYSeries *series = qobject_cast<QXYSeries *>(sender());
m_tooltip->setAnchor(m_chart->mapToPosition(point, series));
m_tooltip->setPos(m_chart->mapToPosition(point, series) + QPoint(10, -50));
Marek Rosa
Added hovered signal to QLineSeries. Updated callout example
r2255 m_tooltip->setZValue(11);
m_tooltip->show();
} else {
m_tooltip->hide();
}
Marek Rosa
Added callout example (Drawing on top of chart)
r2150 }