From 192e41096b680554db2daeb3a5f6649d4f0ba846 2012-01-31 10:45:51 From: Tero Ahola Date: 2012-01-31 10:45:51 Subject: [PATCH] Refactoring continued: restored ChartItem class --- diff --git a/src/axisitem.cpp b/src/axisitem.cpp index d51adf7..c69a5ed 100644 --- a/src/axisitem.cpp +++ b/src/axisitem.cpp @@ -7,7 +7,7 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE AxisItem::AxisItem(AxisType type,QGraphicsItem* parent) : - QGraphicsItem(parent), + ChartItem(parent), m_ticks(4), m_type(type) { @@ -43,12 +43,7 @@ void AxisItem::setPlotDomain(const PlotDomain& plotDomain) createItems(); } -void AxisItem::setPos(const QPointF & pos) -{ - QGraphicsItem::setPos(pos); -} - -void AxisItem::resize(const QSize &size) +void AxisItem::setSize(const QSize &size) { m_rect = QRectF(QPoint(0,0),size); createItems(); diff --git a/src/axisitem_p.h b/src/axisitem_p.h index 4b72836..92d2fa8 100644 --- a/src/axisitem_p.h +++ b/src/axisitem_p.h @@ -2,12 +2,12 @@ #define AXISITEM_H_ #include "plotdomain_p.h" -#include "chartitemcontrol.h" +#include "chartitem_p.h" #include QTCOMMERCIALCHART_BEGIN_NAMESPACE -class AxisItem: public QGraphicsItem, public ChartItemControl +class AxisItem : public ChartItem { public: enum AxisType{X_AXIS,Y_AXIS}; @@ -19,9 +19,8 @@ public: QRectF boundingRect() const; void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){}; -public: // from ChartItemControl - void setPos (const QPointF & pos); - void resize(const QSize &size); +public: // from ChartObjectInterface + void setSize(const QSize &size); void setTheme(ChartTheme *theme); void setPlotDomain(const PlotDomain& data); diff --git a/src/barchart/bar.cpp b/src/barchart/bar.cpp index e351172..3f2b706 100644 --- a/src/barchart/bar.cpp +++ b/src/barchart/bar.cpp @@ -5,16 +5,11 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE Bar::Bar(QGraphicsItem *parent) - : QGraphicsItem(parent) + : ChartItem(parent) { } -void Bar::setPos(const QPointF & pos) -{ - QGraphicsItem::setPos(pos); -} - -void Bar::resize(const QSize& size) +void Bar::setSize(const QSize& size) { mWidth = size.width(); mHeight = size.height(); diff --git a/src/barchart/bar.h b/src/barchart/bar.h index 3efb6f3..dff7c17 100644 --- a/src/barchart/bar.h +++ b/src/barchart/bar.h @@ -1,21 +1,20 @@ #ifndef BAR_H #define BAR_H -#include "chartitemcontrol.h" +#include "chartitem_p.h" #include "qchartglobal.h" #include QTCOMMERCIALCHART_BEGIN_NAMESPACE // Single bar item of chart -class Bar : public QGraphicsItem, public ChartItemControl +class Bar : public ChartItem { public: Bar(QGraphicsItem *parent=0); public: // from ChartItemControl - void setPos (const QPointF & pos); - void resize(const QSize &size); + void setSize(const QSize &size); void setTheme(ChartTheme *theme); void setPlotDomain(const PlotDomain& data); diff --git a/src/barchart/bargroup.cpp b/src/barchart/bargroup.cpp index b758265..fb2e727 100644 --- a/src/barchart/bargroup.cpp +++ b/src/barchart/bargroup.cpp @@ -5,21 +5,16 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE BarGroup::BarGroup(BarChartSeries& series, QGraphicsItem *parent) : - QGraphicsItem(parent) - ,mSeries(series) - ,mLayoutSet(false) - ,mLayoutDirty(true) - ,mBarDefaultWidth(10) + ChartItem(parent) + ,mSeries(series) + ,mLayoutSet(false) + ,mLayoutDirty(true) + ,mBarDefaultWidth(10) { dataChanged(); } -void BarGroup::setPos(const QPointF & pos) -{ - QGraphicsItem::setPos(pos); -} - -void BarGroup::resize(const QSize& size) +void BarGroup::setSize(const QSize& size) { qDebug() << "BarGroup::setSize"; mWidth = size.width(); diff --git a/src/barchart/bargroup.h b/src/barchart/bargroup.h index 26e751a..38abc34 100644 --- a/src/barchart/bargroup.h +++ b/src/barchart/bargroup.h @@ -1,21 +1,20 @@ #ifndef QBARGROUP_H #define QBARGROUP_H -#include "chartitemcontrol.h" +#include "chartitem_p.h" #include "bar.h" #include "barchartseries.h" #include QTCOMMERCIALCHART_BEGIN_NAMESPACE -class BarGroup : public QGraphicsItem, public ChartItemControl +class BarGroup : public ChartItem { public: explicit BarGroup(BarChartSeries& series, QGraphicsItem *parent = 0); -public: // from ChartItemControl - void setPos (const QPointF & pos); - void resize(const QSize &size); +public: // from ChartObjectInterface + void setSize(const QSize &size); void setTheme(ChartTheme *theme); void setPlotDomain(const PlotDomain& data); diff --git a/src/barchart/percentbargroup.cpp b/src/barchart/percentbargroup.cpp index c5e61c8..10017c5 100644 --- a/src/barchart/percentbargroup.cpp +++ b/src/barchart/percentbargroup.cpp @@ -7,7 +7,7 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE StackedBarGroup::StackedBarGroup(StackedBarChartSeries& series, QGraphicsItem *parent) : - QGraphicsItem(parent) + ChartItem(parent) ,mSeries(series) ,mLayoutSet(false) ,mLayoutDirty(true) @@ -16,16 +16,9 @@ StackedBarGroup::StackedBarGroup(StackedBarChartSeries& series, QGraphicsItem *p dataChanged(); } - -void StackedBarGroup::setPos(const QPointF & pos) -{ - qDebug() << "StackedBarGroup::setPos"; - // TODO: -} - -void StackedBarGroup::resize(const QSize& size) +void StackedBarGroup::setSize(const QSize& size) { - qDebug() << "StackedBarGroup::resize"; + qDebug() << "StackedBarGroup::setSize"; mWidth = size.width(); mHeight = size.height(); layoutChanged(); diff --git a/src/barchart/percentbargroup.h b/src/barchart/percentbargroup.h index ab3cfb0..4bd1210 100644 --- a/src/barchart/percentbargroup.h +++ b/src/barchart/percentbargroup.h @@ -1,21 +1,20 @@ #ifndef PERCENTBARGROUP_H #define PERCENTBARGROUP_H -#include "chartitemcontrol.h" +#include "chartitem_p.h" #include "bar.h" #include "percentbarchartseries.h" #include QTCOMMERCIALCHART_BEGIN_NAMESPACE -class PercentBarGroup : public QGraphicsItem, public ChartItemControl +class PercentBarGroup : public ChartItem { public: PercentBarGroup(PercentBarChartSeries& series, QGraphicsItem *parent = 0); -public: // From ChartItemControl - void setPos(const QPointF & pos); - void resize(const QSize &size); +public: // From ChartObjectInterface + void setSize(const QSize &size); void setTheme(ChartTheme *theme); void setPlotDomain(const PlotDomain& data); diff --git a/src/barchart/stackedbargroup.cpp b/src/barchart/stackedbargroup.cpp index cdbc755..c6727bf 100644 --- a/src/barchart/stackedbargroup.cpp +++ b/src/barchart/stackedbargroup.cpp @@ -5,7 +5,7 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE PercentBarGroup::PercentBarGroup(PercentBarChartSeries& series, QGraphicsItem *parent) : - QGraphicsItem(parent) + ChartItem(parent) ,mSeries(series) ,mLayoutSet(false) ,mLayoutDirty(true) @@ -14,15 +14,9 @@ PercentBarGroup::PercentBarGroup(PercentBarChartSeries& series, QGraphicsItem *p dataChanged(); } -void PercentBarGroup::setPos(const QPointF & pos) +void PercentBarGroup::setSize(const QSize& size) { - qDebug() << "PercentBarGroup::setPos"; - // TODO: -} - -void PercentBarGroup::resize(const QSize& size) -{ - qDebug() << "PercentBarGroup::resize"; + qDebug() << "PercentBarGroup::setSize"; mWidth = size.width(); mHeight = size.height(); layoutChanged(); diff --git a/src/barchart/stackedbargroup.h b/src/barchart/stackedbargroup.h index 09ee983..0c18b1c 100644 --- a/src/barchart/stackedbargroup.h +++ b/src/barchart/stackedbargroup.h @@ -1,21 +1,20 @@ #ifndef STACKEDBARGROUP_H #define STACKEDBARGROUP_H -#include "chartitemcontrol.h" +#include "chartitem_p.h" #include "bar.h" #include "stackedbarchartseries.h" #include QTCOMMERCIALCHART_BEGIN_NAMESPACE -class StackedBarGroup : public QGraphicsItem, public ChartItemControl +class StackedBarGroup : public ChartItem { public: StackedBarGroup(StackedBarChartSeries& series, QGraphicsItem *parent = 0); -public: // From ChartItemControl - void setPos(const QPointF & pos); - void resize(const QSize &size); +public: // From ChartObjectInterface + void setSize(const QSize &size); void setTheme(ChartTheme *theme); void setPlotDomain(const PlotDomain& data); diff --git a/src/chartitem_p.h b/src/chartitem_p.h new file mode 100644 index 0000000..18be17f --- /dev/null +++ b/src/chartitem_p.h @@ -0,0 +1,22 @@ +#ifndef CHARTITEM_H_ +#define CHARTITEM_H_ + +#include "plotdomain_p.h" +#include "chartobjectinterface_p.h" +#include + +QTCOMMERCIALCHART_BEGIN_NAMESPACE + +class ChartItem : public QGraphicsItem, public ChartObjectInterface +{ + enum ChartItemTypes{ AXIS_ITEM = UserType+1, XYLINE_ITEM}; +public: + ChartItem(QGraphicsItem* parent = 0):QGraphicsItem(parent){}; + virtual ~ChartItem(){}; + // TODO: this is a hack; integration ongoing: + QGraphicsItem *graphicsItem() { return this; } +}; + +QTCOMMERCIALCHART_END_NAMESPACE + +#endif /* CHARTITEM_H_ */ diff --git a/src/chartitemcontrol.h b/src/chartobjectinterface_p.h similarity index 58% rename from src/chartitemcontrol.h rename to src/chartobjectinterface_p.h index 852a602..9d7de86 100644 --- a/src/chartitemcontrol.h +++ b/src/chartobjectinterface_p.h @@ -1,24 +1,30 @@ -#ifndef CHARTITEMCONTROL_H -#define CHARTITEMCONTROL_H +#ifndef CHART_OBJECT_INTERFACE_H +#define CHART_OBJECT_INTERFACE_H #include "plotdomain_p.h" #include #include +class QGraphicsItem; + QTCOMMERCIALCHART_BEGIN_NAMESPACE class ChartTheme; class PlotDomain; -class ChartItemControl +/*! + * Internal abstract interface for passing updates on chart related properties. + */ +class ChartObjectInterface { public: - virtual void setPos (const QPointF & pos) = 0; - virtual void resize(const QSize &size) = 0; + virtual void setSize(const QSize &size) = 0; virtual void setTheme(ChartTheme *theme) = 0; virtual void setPlotDomain(const PlotDomain& data) = 0; + // TODO: this is a hack; integration ongoing: + virtual QGraphicsItem *graphicsItem() { return 0; } }; QTCOMMERCIALCHART_END_NAMESPACE -#endif // CHARTITEMCONTROL_H +#endif // CHART_OBJECT_INTERFACE_H diff --git a/src/qchart.cpp b/src/qchart.cpp index a4b497f..2b6247e 100644 --- a/src/qchart.cpp +++ b/src/qchart.cpp @@ -13,7 +13,7 @@ #include "percentbarchartseries.h" #include "percentbargroup.h" #include "charttheme_p.h" -#include "chartitemcontrol.h" +#include "chartobjectinterface_p.h" #include "xylinechartitem_p.h" #include "plotdomain_p.h" @@ -37,8 +37,8 @@ QChart::QChart(QGraphicsObject* parent) : QGraphicsObject(parent), PlotDomain domain; m_plotDomainList << domain; m_axisYItem << new AxisItem(AxisItem::Y_AXIS,this); - m_chartItemControls << m_axisXItem; - m_chartItemControls << m_axisYItem.at(0); + m_chartObjectInterfaces << m_axisXItem; + m_chartObjectInterfaces << m_axisYItem.at(0); } QChart::~QChart(){} @@ -76,11 +76,11 @@ void QChart::addSeries(QChartSeries* series) XYLineChartItem* item = new XYLineChartItem(xyseries,this); - // TODO: combine ChartItemControl and ChartItem apis - m_chartItemControls << item; + // TODO: combine ChartObjectInterface and ChartItem apis + m_chartObjectInterfaces << item; item->setTheme(m_chartTheme); - foreach(ChartItemControl* i, m_chartItemControls) + foreach(ChartObjectInterface* i, m_chartObjectInterfaces) i->setPlotDomain(m_plotDomainList.at(m_plotDataIndex)); break; @@ -98,7 +98,7 @@ void QChart::addSeries(QChartSeries* series) barGroup->addColor(QColor(0,0,255,128)); barGroup->addColor(QColor(255,128,0,128)); - m_chartItemControls << barGroup; + m_chartObjectInterfaces << barGroup; childItems().append(barGroup); break; } @@ -115,7 +115,7 @@ void QChart::addSeries(QChartSeries* series) stackedBarGroup->addColor(QColor(0,0,255,128)); stackedBarGroup->addColor(QColor(255,128,0,128)); - m_chartItemControls << stackedBarGroup; + m_chartObjectInterfaces << stackedBarGroup; childItems().append(stackedBarGroup); break; } @@ -132,7 +132,7 @@ void QChart::addSeries(QChartSeries* series) percentBarGroup->addColor(QColor(0,0,255,128)); percentBarGroup->addColor(QColor(255,128,0,128)); - m_chartItemControls << percentBarGroup; + m_chartObjectInterfaces << percentBarGroup; childItems().append(percentBarGroup); break; } @@ -140,7 +140,7 @@ void QChart::addSeries(QChartSeries* series) QScatterSeries *scatterSeries = qobject_cast(series); scatterSeries->d->m_theme = m_chartTheme->themeForSeries(); scatterSeries->d->setParentItem(this); - m_chartItemControls << scatterSeries->d; + m_chartObjectInterfaces << scatterSeries->d; //TODO:? scatterSeries->d->m_themeIndex = m_chartSeries.count() - 1; break; } @@ -151,7 +151,7 @@ void QChart::addSeries(QChartSeries* series) // pieSeries->setSliceColor(i, nextColor()); // } pieSeries->d->setTheme(m_chartTheme); - m_chartItemControls << pieSeries->d; + m_chartObjectInterfaces << pieSeries->d; // Set pre-defined colors in case the series has no colors defined // TODO: how to define the color for all the slices of a pie? @@ -206,11 +206,10 @@ void QChart::setSize(const QSize& size) m_rect = QRect(QPoint(0,0),size); QRect rect = m_rect.adjusted(margin(),margin(), -margin(), -margin()); - //recaculate title - if(m_titleItem){ + // recalculate title position + if (m_titleItem) { QPointF center = m_rect.center() -m_titleItem->boundingRect().center(); m_titleItem->setPos(center.x(),m_rect.top()/2 + margin()/2); - } //recalculate background gradient @@ -223,9 +222,12 @@ void QChart::setSize(const QSize& size) m_backgroundItem->setBrush(m_backgroundGradient); } - foreach (ChartItemControl *ctrl, m_chartItemControls) { - ctrl->setPos(rect.topLeft()); - ctrl->resize(rect.size()); + // resize and reposition childs + foreach (ChartObjectInterface *ctrl, m_chartObjectInterfaces) { + QGraphicsItem *item = ctrl->graphicsItem(); + if (item) + item->setPos(rect.topLeft()); + ctrl->setSize(rect.size()); } update(); @@ -279,7 +281,7 @@ void QChart::setTheme(QChart::ChartThemeId theme) setBackground(m_chartTheme->d->m_gradientStartColor, m_chartTheme->d->m_gradientEndColor, m_bacgroundOrinetation); - foreach (ChartItemControl *ctrl, m_chartItemControls) + foreach (ChartObjectInterface *ctrl, m_chartObjectInterfaces) ctrl->setTheme(m_chartTheme); update(); } @@ -303,7 +305,7 @@ void QChart::zoomInToRect(const QRect& rectangle) m_plotDomainList<setPlotDomain(m_plotDomainList[m_plotDataIndex]); update(); } @@ -312,7 +314,7 @@ void QChart::zoomIn() { if (m_plotDataIndex < m_plotDomainList.count() - 1) { m_plotDataIndex++; - foreach (ChartItemControl* item, m_chartItemControls) + foreach (ChartObjectInterface* item, m_chartObjectInterfaces) item->setPlotDomain(m_plotDomainList[m_plotDataIndex]); update(); } else { @@ -328,7 +330,7 @@ void QChart::zoomOut() { if (m_plotDataIndex > 0) { m_plotDataIndex--; - foreach (ChartItemControl* item, m_chartItemControls) + foreach (ChartObjectInterface* item, m_chartObjectInterfaces) item->setPlotDomain(m_plotDomainList[m_plotDataIndex]); update(); } @@ -338,7 +340,7 @@ void QChart::zoomReset() { if (m_plotDataIndex > 0) { m_plotDataIndex = 0; - foreach (ChartItemControl* item, m_chartItemControls) + foreach (ChartObjectInterface* item, m_chartObjectInterfaces) item->setPlotDomain(m_plotDomainList[m_plotDataIndex]); update(); } diff --git a/src/qchart.h b/src/qchart.h index 612d6ff..7018adc 100644 --- a/src/qchart.h +++ b/src/qchart.h @@ -15,7 +15,7 @@ class PlotDomain; class BarGroup; class QChartAxis; class ChartTheme; -class ChartItemControl; +class ChartObjectInterface; // TODO: We don't need to have QChart tied to QGraphicsItem: //class QTCOMMERCIALCHART_EXPORT QChart @@ -87,7 +87,7 @@ private: QList m_axisYItem; QRect m_rect; QList m_chartSeries; - QList m_chartItemControls; + QList m_chartObjectInterfaces; QVector m_plotDomainList; int m_plotDataIndex; int m_marginSize; diff --git a/src/qpieseries.cpp b/src/qpieseries.cpp index 0c9a9db..4196c69 100644 --- a/src/qpieseries.cpp +++ b/src/qpieseries.cpp @@ -47,12 +47,7 @@ bool QPieSeriesPrivate::setData(QList data) return true; } -void QPieSeriesPrivate::setPos(const QPointF & pos) -{ - // TODO -} - -void QPieSeriesPrivate::resize(const QSize &size) +void QPieSeriesPrivate::setSize(const QSize &size) { // TODO: allow user setting the size? // TODO: allow user defining the margins? diff --git a/src/qpieseries_p.h b/src/qpieseries_p.h index 4d380cc..733c4ca 100644 --- a/src/qpieseries_p.h +++ b/src/qpieseries_p.h @@ -1,7 +1,7 @@ #ifndef PIESERIESPRIVATE_H #define PIESERIESPRIVATE_H -#include "chartitemcontrol.h" +#include "chartobjectinterface_p.h" #include "qpieseries.h" #include #include @@ -10,16 +10,15 @@ class QGraphicsItem; QTCOMMERCIALCHART_BEGIN_NAMESPACE class PieSlice; -class QPieSeriesPrivate : public ChartItemControl +class QPieSeriesPrivate : public ChartObjectInterface { public: // TODO: use a generic data class instead of x and y QPieSeriesPrivate(); ~QPieSeriesPrivate(); -public: // from ChartItemControl - void setPos(const QPointF & pos); - void resize(const QSize &size); +public: // from ChartObjectInterface + void setSize(const QSize &size); void setTheme(ChartTheme *theme); void setPlotDomain(const PlotDomain& data); diff --git a/src/qscatterseries.cpp b/src/qscatterseries.cpp index 3a0bf4f..17e0dd7 100644 --- a/src/qscatterseries.cpp +++ b/src/qscatterseries.cpp @@ -10,7 +10,7 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE //#define QSeriesData QList QScatterSeriesPrivate::QScatterSeriesPrivate(QGraphicsItem *parent) : - QGraphicsItem(parent), + ChartItem(parent), m_scalex(100), // TODO: let the use define the scale (or autoscaled) m_scaley(100), m_markerColor(QColor()) @@ -29,8 +29,22 @@ void QScatterSeriesPrivate::resize(QRectF rect) m_sceney.append(rect.bottom() - y * (rect.height() / m_scaley)); } -// TODO: -//void QScatterSeriesPrivate::setAxisScale(qreal xscale, qreal yscale) +void QScatterSeriesPrivate::setSize(const QSize &size) +{ + QGraphicsItem *parent = this->parentItem(); + if (parent) + resize(QRectF(parent->pos(), size)); +} + +void QScatterSeriesPrivate::setTheme(ChartTheme *theme) +{ + m_theme = theme->themeForSeries(); +} + +void QScatterSeriesPrivate::setPlotDomain(const PlotDomain& plotDomain) +{ + // TODO +} QRectF QScatterSeriesPrivate::boundingRect() const { @@ -62,26 +76,6 @@ void QScatterSeriesPrivate::paint(QPainter *painter, const QStyleOptionGraphicsI } } -void QScatterSeriesPrivate::setPos(const QPointF & pos) -{ - // TODO -} - -void QScatterSeriesPrivate::resize(const QSize &size) -{ - resize(QRect(0, 0, size.width(), size.height())); -} - -void QScatterSeriesPrivate::setTheme(ChartTheme *theme) -{ - m_theme = theme->themeForSeries(); -} - -void QScatterSeriesPrivate::setPlotDomain(const PlotDomain& plotDomain) -{ - // TODO -} - QScatterSeries::QScatterSeries(QObject *parent) : QChartSeries(parent), d(new QScatterSeriesPrivate(qobject_cast (parent))) @@ -95,6 +89,8 @@ bool QScatterSeries::setData(QList x, QList y) d->m_y = y; QGraphicsItem *parentItem = qobject_cast(parent()); Q_ASSERT(parentItem); +// d->setPos(parentItem->pos()); +// d->setSize(parentItem->boundingRect().size().toSize()); d->resize(parentItem->boundingRect()); return true; } diff --git a/src/qscatterseries_p.h b/src/qscatterseries_p.h index 6f8b6c0..41a19a2 100644 --- a/src/qscatterseries_p.h +++ b/src/qscatterseries_p.h @@ -3,7 +3,7 @@ #include "qchartseries.h" #include "charttheme_p.h" -#include "chartitemcontrol.h" +#include "chartitem_p.h" #include QTCOMMERCIALCHART_BEGIN_NAMESPACE @@ -11,23 +11,23 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE /*! * The PIMPL class of QScatterSeries. */ -class QScatterSeriesPrivate : public QGraphicsItem, public ChartItemControl +class QScatterSeriesPrivate : public ChartItem { public: QScatterSeriesPrivate(QGraphicsItem *parent); +public: // from ChartObjectInterface + void setSize(const QSize &size); + void setTheme(ChartTheme *theme); + void setPlotDomain(const PlotDomain& data); + public: // from QGraphicsItem - void setPos(const QPointF & pos); - void resize(QRectF rect); QRectF boundingRect() const; void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); -public: // from ChartItemControl - void resize(const QSize &size); - void setTheme(ChartTheme *theme); - void setPlotDomain(const PlotDomain& data); - public: + void resize(QRectF rect); // TODO: replace with setSize + // TODO: use the chart data class instead of list of x and y values? QList m_x; QList m_y; diff --git a/src/src.pro b/src/src.pro index 22d04c8..09d0c9b 100644 --- a/src/src.pro +++ b/src/src.pro @@ -40,6 +40,7 @@ PRIVATE_HEADERS += \ qpieseries_p.h \ pieslice.h \ axisitem_p.h \ + chartitem_p.h \ charttheme_p.h PUBLIC_HEADERS += \ @@ -60,7 +61,7 @@ PUBLIC_HEADERS += \ qchartaxis.h HEADERS += $$PUBLIC_HEADERS \ - chartitemcontrol.h + chartobjectinterface_p.h HEADERS += $$PRIVATE_HEADERS INCLUDEPATH += xylinechart \ @@ -108,3 +109,5 @@ win32:QMAKE_DISTCLEAN += /Q $$CHART_BUILD_HEADER_DIR $$CHART_BUILD_LIB_DIR + + diff --git a/src/xylinechart/xylinechartitem.cpp b/src/xylinechart/xylinechartitem.cpp index 770fd74..539b8de 100644 --- a/src/xylinechart/xylinechartitem.cpp +++ b/src/xylinechart/xylinechartitem.cpp @@ -8,19 +8,14 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE XYLineChartItem::XYLineChartItem(QXYChartSeries* series,QGraphicsItem *parent) : - QGraphicsItem(parent), + ChartItem(parent), m_series(series), m_pathItem(new QGraphicsPathItem(this)) { setFlags(QGraphicsItem::ItemClipsChildrenToShape); } -void XYLineChartItem::setPos(const QPointF & pos) -{ - QGraphicsItem::setPos(pos); -} - -void XYLineChartItem::resize(const QSize &size) +void XYLineChartItem::setSize(const QSize &size) { m_rect = QRect(0, 0, size.width(), size.height()); prepareGeometryChange(); diff --git a/src/xylinechart/xylinechartitem_p.h b/src/xylinechart/xylinechartitem_p.h index 8fb3663..50e888c 100644 --- a/src/xylinechart/xylinechartitem_p.h +++ b/src/xylinechart/xylinechartitem_p.h @@ -2,7 +2,7 @@ #define XYLINECHARTITEM_H #include "qchartglobal.h" -#include "chartitemcontrol.h" +#include "chartitem_p.h" #include "charttheme_p.h" #include @@ -10,7 +10,7 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE class QXYChartSeries; -class XYLineChartItem : public QGraphicsItem, public ChartItemControl +class XYLineChartItem : public ChartItem { public: @@ -22,9 +22,8 @@ public: void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){}; // virtual QPainterPath shape() const; -public: // from ChartItemControl - void setPos(const QPointF & pos); - void resize(const QSize &size); +public: // from ChartObjectInterface + void setSize(const QSize &size); void setTheme(ChartTheme *theme); void setPlotDomain(const PlotDomain& data);