#include #include #include "ZxBaseUtil.h" #include "ZxPlot.h" #include "ZxSubAxisX.h" #include "ZxSubAxisY.h" #include "ZxSubTitle.h" #include "ZxSubLegend.h" #include "ZxObjCurveBase.h" #include "ZxCmdTool.h" #include "nmPlotScene.h" ZX_DEFINE_DYNAMIC(mPlotScene, nmPlotScene) nmPlotScene::nmPlotScene() { } void nmPlotScene::init(ZxRenderView* pView, QString sTitle, QSize szDefault /*= QSize(265, 203)*/) { initMembers(pView, sTitle); resetLayouts(szDefault); } void nmPlotScene::initMembers(ZxRenderView* pView, QString sTitle) { // ObjName setObjectName(getTagName()); // Plot if (NULL != m_pPlot) { this->getMainLayer()->remove(m_pPlot); } m_pPlot = new ZxPlot(pView); Q_ASSERT (NULL != m_pPlot); m_pPlot->setNeedLayout(false); m_pPlot->setLegendVisible(false); m_pPlot->setTitleVisible(false); m_pPlot->getTitle()->setName(sTitle); this->getMainLayer()->append(m_pPlot); } void nmPlotScene::freshToPlot(ZxPlot* pPlot, ZxRenderView* pView) { if (NULL == pPlot) { return; } // Important pPlot->bindSubMembers(pView); QRectF rtBound = getBounds(); if (NULL != m_pPlot) { this->getMainLayer()->remove(m_pPlot); m_pPlot->removeTools(); m_pPlot = NULL; } m_pPlot = pPlot; m_pTheOnlyOwnerView = pView; m_pPlot->setParent(NULL); this->getMainLayer()->append(m_pPlot); setBoundEx(rtBound.left(), rtBound.top(), \ rtBound.width(), rtBound.height()); } void nmPlotScene::resetLayouts(QSize sz) { tCurvePlotScene::resetLayouts(sz); } void nmPlotScene::setBoundEx(int l, int t, int w, int h) { tCurvePlotScene::setBoundEx(l, t, w, h); } void nmPlotScene::onSerialize(ZxSerializer* ser) { tCurvePlotScene::onSerialize(ser); ser->write("nmScenePlot", m_pPlot); } void nmPlotScene::onDeserialize(ZxSerializer* ser) { tCurvePlotScene::onDeserialize(ser); m_pPlot = NULL; ser->read("nmScenePlot", m_pPlot); } void nmPlotScene::onDeserialized() { }