Skip to content

Commit

Permalink
dlgTemplateField parentage
Browse files Browse the repository at this point in the history
cosmetic: move button box
  • Loading branch information
WandererFan authored and wwmayer committed Jul 11, 2016
1 parent 8edfa14 commit 277a00d
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 28 deletions.
2 changes: 1 addition & 1 deletion src/Mod/TechDraw/Gui/DlgTemplateField.ui
Expand Up @@ -74,7 +74,7 @@
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
<property name="centerButtons">
<bool>true</bool>
<bool>false</bool>
</property>
</widget>
</item>
Expand Down
2 changes: 1 addition & 1 deletion src/Mod/TechDraw/Gui/MDIViewPage.cpp
Expand Up @@ -94,7 +94,7 @@ MDIViewPage::MDIViewPage(ViewProviderPage *pageVp, Gui::Document* doc, QWidget*
pageGui(pageVp),
m_frameState(true)
{
m_view = new QGVPage(pageVp,m_scene);
m_view = new QGVPage(pageVp,m_scene,this);

m_backgroundAction = new QAction(tr("&Background"), this);
m_backgroundAction->setEnabled(false);
Expand Down
29 changes: 13 additions & 16 deletions src/Mod/TechDraw/Gui/QGISVGTemplate.cpp
Expand Up @@ -46,24 +46,21 @@

using namespace TechDrawGui;

QGISVGTemplate::QGISVGTemplate(QGraphicsScene *scene)
: QGITemplate(scene)
QGISVGTemplate::QGISVGTemplate(QGraphicsScene *scene, QWidget* srWidget)
: QGITemplate(scene),
upperLevelWidget(srWidget)
{
m_svgRender = new QSvgRenderer();
m_svgItem.setSharedRenderer(&m_svgRender);

m_svgItem = new QGraphicsSvgItem();
m_svgItem->setSharedRenderer(m_svgRender);
m_svgItem.setFlags(QGraphicsItem::ItemClipsToShape);
m_svgItem.setCacheMode(QGraphicsItem::NoCache);

m_svgItem->setFlags(QGraphicsItem::ItemClipsToShape);
m_svgItem->setCacheMode(QGraphicsItem::NoCache);

addToGroup(m_svgItem);
addToGroup(&m_svgItem);
}

QGISVGTemplate::~QGISVGTemplate()
{
clearContents();
delete m_svgRender;
}

QVariant QGISVGTemplate::itemChange(GraphicsItemChange change,
Expand Down Expand Up @@ -99,11 +96,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();

Expand Down Expand Up @@ -170,7 +167,7 @@ void QGISVGTemplate::load(const QString &fileName)
double width = editClickBoxSize;
double height = editClickBoxSize;

TemplateTextField *item = new TemplateTextField(this, tmplte, nameMatch[1].str());
TemplateTextField *item = new TemplateTextField(this, tmplte, nameMatch[1].str(), upperLevelWidget);
float pad = 1;
item->setRect(x - pad, -tmplte->getHeight() + y - height - pad,
width + 2 * pad, height + 2 * pad);
Expand Down Expand Up @@ -198,7 +195,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()
Expand All @@ -223,4 +220,4 @@ void QGISVGTemplate::updateView(bool update)
draw();
}

#include "moc_QGISVGTemplate.cpp"
#include "moc_QGISVGTemplate.cpp"
11 changes: 6 additions & 5 deletions src/Mod/TechDraw/Gui/QGISVGTemplate.h
Expand Up @@ -24,12 +24,12 @@
#define DRAWINGGUI_QGRAPHICSITEMSVGTEMPLATE_H

#include "QGITemplate.h"
#include <QGraphicsSvgItem>
#include <QSvgRenderer>

QT_BEGIN_NAMESPACE
class QGraphicsScene;
class QGraphicsSceneMouseEvent;
class QGraphicsSvgItem;
class QSvgRenderer;
QT_END_NAMESPACE

namespace TechDraw {
Expand All @@ -44,7 +44,7 @@ class TechDrawGuiExport QGISVGTemplate : public QGITemplate
Q_OBJECT

public:
QGISVGTemplate(QGraphicsScene *);
QGISVGTemplate(QGraphicsScene *, QWidget* srWidget=0);
~QGISVGTemplate();

enum {Type = QGraphicsItem::UserType + 153};
Expand All @@ -61,11 +61,12 @@ class TechDrawGuiExport QGISVGTemplate : public QGITemplate
protected:
void openFile(const QFile &file);
void load (const QString & fileName);
QWidget* upperLevelWidget; //for parenting dlgTemplateField

protected:
TechDraw::DrawSVGTemplate * getSVGTemplate();
QGraphicsSvgItem *m_svgItem;
QSvgRenderer *m_svgRender;
QGraphicsSvgItem m_svgItem;
QSvgRenderer m_svgRender;
virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
}; // class QGISVGTemplate

Expand Down
2 changes: 1 addition & 1 deletion src/Mod/TechDraw/Gui/QGVPage.cpp
Expand Up @@ -420,7 +420,7 @@ void QGVPage::setPageTemplate(TechDraw::DrawTemplate *obj)
pageTemplate = qTempItem;
} else if(obj->isDerivedFrom(TechDraw::DrawSVGTemplate::getClassTypeId())) {
//TechDraw::DrawSVGTemplate *dwgTemplate = static_cast<TechDraw::DrawSVGTemplate *>(obj);
QGISVGTemplate *qTempItem = new QGISVGTemplate(scene());
QGISVGTemplate *qTempItem = new QGISVGTemplate(scene(),this);
pageTemplate = qTempItem;
}
pageTemplate->setTemplate(obj);
Expand Down
10 changes: 7 additions & 3 deletions src/Mod/TechDraw/Gui/TemplateTextField.cpp
Expand Up @@ -40,8 +40,12 @@ using namespace TechDrawGui;

TemplateTextField::TemplateTextField(QGraphicsItem*parent,
TechDraw::DrawTemplate *myTmplte,
const std::string &myFieldName)
: QGraphicsRectItem(parent), tmplte(myTmplte), fieldNameStr(myFieldName)
const std::string &myFieldName,
QWidget* upperWidget)
: QGraphicsRectItem(parent),
tmplte(myTmplte),
fieldNameStr(myFieldName),
dlgOwner(upperWidget)
{
}

Expand All @@ -52,7 +56,7 @@ TemplateTextField::~TemplateTextField()

void TemplateTextField::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
DlgTemplateField* ui = new DlgTemplateField(nullptr);
DlgTemplateField* ui = new DlgTemplateField(dlgOwner);
ui->setFieldName(fieldNameStr);
ui->setFieldContent(tmplte->EditableTexts[fieldNameStr]);
int uiCode = ui->exec();
Expand Down
4 changes: 3 additions & 1 deletion src/Mod/TechDraw/Gui/TemplateTextField.h
Expand Up @@ -47,7 +47,8 @@ namespace TechDrawGui
public:
TemplateTextField(QGraphicsItem*parent,
TechDraw::DrawTemplate *myTmplte,
const std::string &myFieldName);
const std::string &myFieldName,
QWidget* upperWidget=0);

~TemplateTextField();

Expand All @@ -61,6 +62,7 @@ namespace TechDrawGui
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
TechDraw::DrawTemplate *tmplte;
std::string fieldNameStr;
QWidget* dlgOwner;
};
} // namespace TechDrawGui

Expand Down

0 comments on commit 277a00d

Please sign in to comment.