Fix page alignment when change to different Template

This commit is contained in:
WandererFan
2017-09-03 19:42:25 -04:00
committed by wmayer
parent 8e2e70c76e
commit fc6f8a91ce
2 changed files with 15 additions and 3 deletions

View File

@@ -43,6 +43,7 @@
#include <Gui/Selection.h>
#include <Mod/TechDraw/App/DrawTemplate.h>
#include <Mod/TechDraw/App/DrawSVGTemplate.h>
#include "QGITemplate.h"
#include "QGVPage.h"
#include "MDIViewPage.h"
@@ -86,6 +87,19 @@ std::vector<std::string> ViewProviderTemplate::getDisplayModes(void) const
void ViewProviderTemplate::updateData(const App::Property* prop)
{
if (getTemplate()->isDerivedFrom(TechDraw::DrawSVGTemplate::getClassTypeId())) {
auto t = static_cast<TechDraw::DrawSVGTemplate*>(getTemplate());
if (prop == &(t->Template)) {
Gui::MDIView* gmdi = getActiveView();
if (gmdi != nullptr) {
MDIViewPage* mdi = dynamic_cast<MDIViewPage*>(gmdi);
if (mdi != nullptr) {
mdi->attachTemplate(t);
mdi->viewAll();
}
}
}
}
Gui::ViewProviderDocumentObject::updateData(prop);
}