##// END OF EJS Templates
Fix label angle setting for axis before axis is added to chart....
Fix label angle setting for axis before axis is added to chart. Since slots are obviously not connected before ChartAxis item is created, setting label angle before this is lost unless set in the constructor.

File last commit:

r2398:1e18d6a3f6b0
r2410:47bf654423ee
Show More
datetimeaxisy.cpp
80 lines | 2.5 KiB | text/x-c | CppLexer
Michal Klocek
Adds datetimeaxis chart to chartviewer
r2124 /****************************************************************************
**
** Copyright (C) 2012 Digia Plc
** All rights reserved.
** For any questions to Digia, please use contact form at http://qt.digia.com
**
** This file is part of the Qt Commercial Charts Add-on.
**
** $QT_BEGIN_LICENSE$
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.
**
** If you have questions regarding the use of this file, please use
** contact form at http://qt.digia.com
** $QT_END_LICENSE$
**
****************************************************************************/
#include "charts.h"
#include "qchart.h"
#include "qlineseries.h"
#include "qvalueaxis.h"
#include "qdatetimeaxis.h"
Michal Klocek
Adds dettimeaxisy to chartviewer
r2126 class DateTimeAxisY: public Chart
Michal Klocek
Adds datetimeaxis chart to chartviewer
r2124 {
public:
Michal Klocek
Adds dettimeaxisy to chartviewer
r2126 QString name() { return "AxisY"; }
Michal Klocek
Adds datetimeaxis chart to chartviewer
r2124 QString category() { return QObject::tr("Axis"); }
QString subCategory() { return "DateTimeAxis"; }
QChart *createChart(const DataTable &table)
{
QChart *chart = new QChart();
Michal Klocek
Adds dettimeaxisy to chartviewer
r2126 chart->setTitle("Value X , DateTime Y");
Michal Klocek
Adds datetimeaxis chart to chartviewer
r2124 QValueAxis *valueaxis = new QValueAxis();
QDateTimeAxis *datetimeaxis = new QDateTimeAxis();
datetimeaxis->setTickCount(10);
Michal Klocek
scale datetime chart in chartviewer
r2125 datetimeaxis->setFormat("yyyy");
Michal Klocek
Adds datetimeaxis chart to chartviewer
r2124
Marek Rosa
Fix the warning in chartviewer
r2213 qreal day = 1000l * 60l * 60l * 24l;
Michal Klocek
Adds datetimeaxis chart to chartviewer
r2124 QString name("Series ");
int nameIndex = 0;
foreach (DataList list, table) {
QLineSeries *series = new QLineSeries(chart);
Jani Honkonen
demos: coding style police make a surprise strike
r2130 foreach (Data data, list) {
Michal Klocek
scale datetime chart in chartviewer
r2125 QPointF point = data.first;
Marek Rosa
Fix the warning in chartviewer
r2213 series->append(point.x(), day * 365l * 30l + point.y() * day * 365l);
Michal Klocek
scale datetime chart in chartviewer
r2125 }
Michal Klocek
Adds datetimeaxis chart to chartviewer
r2124 series->setName(name + QString::number(nameIndex));
nameIndex++;
chart->addSeries(series);
Michal Klocek
Adds dettimeaxisy to chartviewer
r2126 chart->setAxisY(datetimeaxis, series);
chart->setAxisX(valueaxis, series);
Michal Klocek
Adds datetimeaxis chart to chartviewer
r2124 }
return chart;
}
};
Michal Klocek
Adds title examples to chartviewer
r2147 class DateTimeAxisYTitle: public DateTimeAxisY
{
public:
QString name() { return "AxisY Title"; }
QChart *createChart(const DataTable &table)
{
QChart *chart = DateTimeAxisY::createChart(table);
Michal Klocek
Refactors internals...
r2273 chart->axisX()->setTitleText("Axis X");
chart->axisY()->setTitleText("Axis Y");
Michal Klocek
Adds title examples to chartviewer
r2147 chart->setTitle("Value X , DateTime Y, Title");
return chart;
}
};
Michal Klocek
Adds dettimeaxisy to chartviewer
r2126 DECLARE_CHART(DateTimeAxisY);
Michal Klocek
Adds title examples to chartviewer
r2147 DECLARE_CHART(DateTimeAxisYTitle);