#include "declarativechart.h" QTCOMMERCIALCHART_BEGIN_NAMESPACE DeclarativeChart::DeclarativeChart(QDeclarativeItem *parent) : QDeclarativeItem(parent), m_chart(new QChart(this)) { setFlag(QGraphicsItem::ItemHasNoContents, false); } DeclarativeChart::ChartTheme DeclarativeChart::theme() { if (m_chart) return (ChartTheme) m_chart->chartTheme(); } void DeclarativeChart::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) { qDebug() << "geometryChanged " << this << " old geometry: " << oldGeometry; if (newGeometry.isValid()) { if (newGeometry.width() > 0 && newGeometry.height() > 0) { // TODO: setting margin should not be needed to make axis visible? const int margin = 30; if (m_chart->margin() == 0 && newGeometry.width() > (margin * 2) && newGeometry.height() > (margin * 2)) { m_chart->setMargin(margin); m_chart->resize(newGeometry.width(), newGeometry.height()); } else { m_chart->resize(newGeometry.width(), newGeometry.height()); } } } } #include "moc_declarativechart.cpp" QTCOMMERCIALCHART_END_NAMESPACE