Qt item parenting and garbage collection

Remove dupl/obsolete code
This commit is contained in:
WandererFan
2016-07-28 09:28:50 -04:00
committed by Yorik van Havre
parent 3588479ff5
commit 40fa4e0d40
13 changed files with 207 additions and 324 deletions

View File

@@ -51,17 +51,22 @@ QGISVGTemplate::QGISVGTemplate(QGraphicsScene *scene, QWidget* srWidget)
: QGITemplate(scene),
qgview(srWidget)
{
m_svgItem.setSharedRenderer(&m_svgRender);
m_svgItem.setFlags(QGraphicsItem::ItemClipsToShape);
m_svgItem.setCacheMode(QGraphicsItem::NoCache);
m_svgItem = new QGraphicsSvgItem(this);
m_svgRender = new QSvgRenderer();
addToGroup(&m_svgItem);
m_svgItem->setSharedRenderer(m_svgRender);
m_svgItem->setFlags(QGraphicsItem::ItemClipsToShape);
m_svgItem->setCacheMode(QGraphicsItem::NoCache);
addToGroup(m_svgItem);
}
QGISVGTemplate::~QGISVGTemplate()
{
clearContents();
delete m_svgRender;
}
QVariant QGISVGTemplate::itemChange(GraphicsItemChange change,
@@ -97,11 +102,11 @@ void QGISVGTemplate::load(const QString &fileName)
if (!file.exists()) {
return;
}
m_svgRender.load(file.fileName());
m_svgRender->load(file.fileName());
QSize size = m_svgRender.defaultSize();
QSize size = m_svgRender->defaultSize();
//Base::Console().Log("size of svg document <%i,%i>", size.width(), size.height());
m_svgItem.setSharedRenderer(&m_svgRender);
m_svgItem->setSharedRenderer(m_svgRender);
TechDraw::DrawSVGTemplate *tmplte = getSVGTemplate();
@@ -196,7 +201,7 @@ void QGISVGTemplate::load(const QString &fileName)
QTransform qtrans;
qtrans.translate(0.f, -tmplte->getHeight());
qtrans.scale(xaspect , yaspect);
m_svgItem.setTransform(qtrans);
m_svgItem->setTransform(qtrans);
}
TechDraw::DrawSVGTemplate * QGISVGTemplate::getSVGTemplate()