##// END OF EJS Templates
Adding metatype declarations in qml plugin for Qt5...
Adding metatype declarations in qml plugin for Qt5 Not sure why they are needed for Qt5. Definetly NOT needed for Qt4.

File last commit:

r2256:fb69d3a3a2fe
r2257:b97c592cff78
Show More
widget.cpp
84 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) {
m_tooltip->setText(QString("X: %1\nY: %2").arg(point.x()).arg(point.y()));
m_tooltip->setAnchor(m_chart->mapFromParent(m_view->mapToScene(m_view->mapFromGlobal(QCursor::pos()))));
m_tooltip->setPos(m_chart->mapFromParent(m_view->mapToScene(m_view->mapFromGlobal(QCursor::pos() + QPoint(10, -50)))));
m_tooltip->setZValue(11);
m_tooltip->show();
} else {
m_tooltip->hide();
}
Marek Rosa
Added callout example (Drawing on top of chart)
r2150 }