declarativechart.cpp
38 lines
| 1.2 KiB
| text/x-c
|
CppLexer
/ qmlplugin / declarativechart.cpp
Jani Honkonen
|
r1 | #include "declarativechart.h" | ||
Tero Ahola
|
r120 | QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||
Jani Honkonen
|
r1 | DeclarativeChart::DeclarativeChart(QDeclarativeItem *parent) | ||
Tero Ahola
|
r120 | : QDeclarativeItem(parent), | ||
m_chart(new QChart(this)) | ||||
Jani Honkonen
|
r1 | { | ||
setFlag(QGraphicsItem::ItemHasNoContents, false); | ||||
} | ||||
Tero Ahola
|
r120 | DeclarativeChart::ChartTheme DeclarativeChart::theme() | ||
{ | ||||
Tero Ahola
|
r311 | return (ChartTheme) m_chart->chartTheme(); | ||
Jani Honkonen
|
r1 | } | ||
Tero Ahola
|
r120 | void DeclarativeChart::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) | ||
Jani Honkonen
|
r1 | { | ||
Tero Ahola
|
r200 | 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()); | ||||
} | ||||
} | ||||
} | ||||
Jani Honkonen
|
r1 | } | ||
Tero Ahola
|
r120 | #include "moc_declarativechart.cpp" | ||
QTCOMMERCIALCHART_END_NAMESPACE | ||||