diff --git a/src/barchart/barchart.pri b/src/barchart/barchart.pri index 337c0c6..71c7a73 100644 --- a/src/barchart/barchart.pri +++ b/src/barchart/barchart.pri @@ -14,7 +14,9 @@ SOURCES += \ $$PWD/stackedbarchartitem.cpp \ $$PWD/qbarmodelmapper.cpp \ $$PWD/qvbarmodelmapper.cpp \ - $$PWD/qhbarmodelmapper.cpp + $$PWD/qhbarmodelmapper.cpp \ + $$PWD/qhorizontalbarseries.cpp \ + $$PWD/horizontalbarchartitem.cpp PRIVATE_HEADERS += \ $$PWD/bar_p.h \ @@ -27,7 +29,9 @@ PRIVATE_HEADERS += \ $$PWD/qstackedbarseries_p.h\ $$PWD/qpercentbarseries_p.h \ $$PWD/qbarseries_p.h \ - $$PWD/qbarmodelmapper_p.h + $$PWD/qbarmodelmapper_p.h \ + $$PWD/qhorizontalbarseries_p.h \ + $$PWD/horizontalbarchartitem_p.h PUBLIC_HEADERS += \ $$PWD/qabstractbarseries.h \ @@ -37,4 +41,5 @@ PUBLIC_HEADERS += \ $$PWD/qbarseries.h \ $$PWD/qbarmodelmapper.h \ $$PWD/qvbarmodelmapper.h \ - $$PWD/qhbarmodelmapper.h + $$PWD/qhbarmodelmapper.h \ + $$PWD/qhorizontalbarseries.h diff --git a/src/barchart/horizontalbarchartitem.cpp b/src/barchart/horizontalbarchartitem.cpp new file mode 100644 index 0000000..56c8dc6 --- /dev/null +++ b/src/barchart/horizontalbarchartitem.cpp @@ -0,0 +1,19 @@ +#include "horizontalbarchartitem_p.h" + +QTCOMMERCIALCHART_BEGIN_NAMESPACE + +HorizontalBarChartitem::HorizontalBarChartitem(QAbstractBarSeries *series, ChartPresenter *presenter) : + BarChartItem(series, presenter) +{ +} + +QVector HorizontalBarChartitem::calculateLayout() +{ + // TODO: + QVector layout; + return layout; +} + +#include "moc_horizontalbarchartitem_p.cpp" + +QTCOMMERCIALCHART_END_NAMESPACE diff --git a/src/barchart/horizontalbarchartitem_p.h b/src/barchart/horizontalbarchartitem_p.h new file mode 100644 index 0000000..5bed8c9 --- /dev/null +++ b/src/barchart/horizontalbarchartitem_p.h @@ -0,0 +1,23 @@ +#ifndef HORIZONTALBARCHARTITEM_H +#define HORIZONTALBARCHARTITEM_H + +#include "barchartitem_p.h" +#include "qstackedbarseries.h" +#include + +QTCOMMERCIALCHART_BEGIN_NAMESPACE + + +class HorizontalBarChartitem : public BarChartItem +{ + Q_OBJECT +public: + HorizontalBarChartitem(QAbstractBarSeries *series, ChartPresenter *presenter); + +private: + virtual QVector calculateLayout(); +}; + +QTCOMMERCIALCHART_END_NAMESPACE + +#endif // HORIZONTALBARCHARTITEM_H diff --git a/src/barchart/qhorizontalbarseries.cpp b/src/barchart/qhorizontalbarseries.cpp new file mode 100644 index 0000000..c91defa --- /dev/null +++ b/src/barchart/qhorizontalbarseries.cpp @@ -0,0 +1,69 @@ +#include "qhorizontalbarseries.h" +#include "qhorizontalbarseries_p.h" +QTCOMMERCIALCHART_BEGIN_NAMESPACE + +QHorizontalBarSeries::QHorizontalBarSeries(QObject *parent) : + QAbstractBarSeries(parent) +{ +} + +QAbstractSeries::SeriesType QHorizontalBarSeries::type() const +{ + return QAbstractSeries::SeriesTypeHorizontalBar; +} + + + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +QHorizontalBarSeriesPrivate::QHorizontalBarSeriesPrivate(QHorizontalBarSeries *q) : QAbstractBarSeriesPrivate(q) +{ + +} + +void QHorizontalBarSeriesPrivate::scaleDomain(Domain& domain) +{ + // TODO: + Q_UNUSED(domain); + /* + qreal minX(domain.minX()); + qreal minY(domain.minY()); + qreal maxX(domain.maxX()); + qreal maxY(domain.maxY()); + int tickXCount(domain.tickXCount()); + int tickYCount(domain.tickYCount()); + + qreal x = categoryCount(); + qreal y = max(); + minX = qMin(minX, -0.5); + minY = qMin(minY, y); + maxX = qMax(maxX, x - 0.5); + maxY = qMax(maxY, y); + tickXCount = x+1; + + domain.setRange(minX,maxX,minY,maxY,tickXCount,tickYCount); + */ +} + + +Chart* QHorizontalBarSeriesPrivate::createGraphics(ChartPresenter* presenter) +{ + // TODO: + Q_UNUSED(presenter); + return 0; +/* + Q_Q(QHorizontalBarSeries); + + GroupedBarChartItem* bar = new GroupedBarChartItem(q,presenter); + if(presenter->animationOptions().testFlag(QChart::SeriesAnimations)) { + presenter->animator()->addAnimation(bar); + } + presenter->chartTheme()->decorate(q, presenter->dataSet()->seriesIndex(q)); + return bar; +*/ +} + + +#include "moc_qhorizontalbarseries.cpp" + +QTCOMMERCIALCHART_END_NAMESPACE diff --git a/src/barchart/qhorizontalbarseries.h b/src/barchart/qhorizontalbarseries.h new file mode 100644 index 0000000..fc1c4dc --- /dev/null +++ b/src/barchart/qhorizontalbarseries.h @@ -0,0 +1,24 @@ +#ifndef QHORIZONTALBARSERIES_H +#define QHORIZONTALBARSERIES_H + +#include + +QTCOMMERCIALCHART_BEGIN_NAMESPACE + +class QHorizontalBarSeriesPrivate; + +class QTCOMMERCIALCHART_EXPORT QHorizontalBarSeries : public QAbstractBarSeries +{ + Q_OBJECT +public: + explicit QHorizontalBarSeries(QObject *parent = 0); + QAbstractSeries::SeriesType type() const; + +private: + Q_DECLARE_PRIVATE(QHorizontalBarSeries) + Q_DISABLE_COPY(QHorizontalBarSeries) +}; + +QTCOMMERCIALCHART_END_NAMESPACE + +#endif // QHORIZONTALBARSERIES_H diff --git a/src/barchart/qhorizontalbarseries_p.h b/src/barchart/qhorizontalbarseries_p.h new file mode 100644 index 0000000..4f0f9d3 --- /dev/null +++ b/src/barchart/qhorizontalbarseries_p.h @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** 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$ +** +****************************************************************************/ + +// W A R N I N G +// ------------- +// +// This file is not part of the QtCommercial Chart API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. + +#ifndef QHORIZONTALBARSERIES_P_H +#define QHORIZONTALBARSERIES_P_H + +#include "qabstractbarseries_p.h" +#include "domain_p.h" + +QTCOMMERCIALCHART_BEGIN_NAMESPACE + +class QHorizontalBarSeriesPrivate: public QAbstractBarSeriesPrivate +{ +public: + QHorizontalBarSeriesPrivate(QHorizontalBarSeries* q); + Chart* createGraphics(ChartPresenter* presenter); + void scaleDomain(Domain& domain); + +private: + Q_DECLARE_PUBLIC(QHorizontalBarSeries) +}; + +QTCOMMERCIALCHART_END_NAMESPACE + +#endif // QHORIZONTALBARSERIES_P_H diff --git a/src/qabstractseries.h b/src/qabstractseries.h index 07f8f7a..ced0962 100644 --- a/src/qabstractseries.h +++ b/src/qabstractseries.h @@ -48,7 +48,9 @@ public: SeriesTypePercentBar, SeriesTypePie, SeriesTypeScatter, - SeriesTypeSpline + SeriesTypeSpline, + SeriesTypeHorizontalBar + }; protected: