diff --git a/src/Mod/TechDraw/App/DrawProjGroup.cpp b/src/Mod/TechDraw/App/DrawProjGroup.cpp index 6354e0b71..5cfc566e3 100644 --- a/src/Mod/TechDraw/App/DrawProjGroup.cpp +++ b/src/Mod/TechDraw/App/DrawProjGroup.cpp @@ -533,6 +533,7 @@ bool DrawProjGroup::distributeProjections() return true; } +//!allow child DPGI's to be automatically positioned void DrawProjGroup::resetPositions(void) { const std::vector &views = Views.getValues(); @@ -540,6 +541,7 @@ void DrawProjGroup::resetPositions(void) DrawView *view = dynamic_cast(*it); if(view->getTypeId() == DrawProjGroupItem::getClassTypeId()) { view->setAutoPos(true); + //X,Y == 0?? } } } @@ -571,21 +573,19 @@ App::DocumentObjectExecReturn *DrawProjGroup::execute(void) // Set this Scale Scale.setValue(autoScale); - //Rebuild the view + //Rebuild the DPGI's const std::vector &views = Views.getValues(); for(std::vector::const_iterator it = views.begin(); it != views.end(); ++it) { App::DocumentObject *docObj = *it; - if(docObj->getTypeId().isDerivedFrom(DrawView::getClassTypeId())) { - DrawView *view = dynamic_cast(*it); - - //Set scale factor of each view + if(docObj->getTypeId().isDerivedFrom(DrawProjGroupItem::getClassTypeId())) { + DrawProjGroupItem *view = dynamic_cast(*it); view->ScaleType.setValue("Custom"); view->Scale.setValue(autoScale); - view->Scale.touch(); view->Scale.setStatus(App::Property::ReadOnly,true); view->touch(); } } + resetPositions(); } } diff --git a/src/Mod/TechDraw/App/DrawView.h b/src/Mod/TechDraw/App/DrawView.h index b3ecbaf49..2676b1261 100644 --- a/src/Mod/TechDraw/App/DrawView.h +++ b/src/Mod/TechDraw/App/DrawView.h @@ -69,7 +69,7 @@ public: virtual PyObject *getPyObject(void); DrawPage* findParentPage() const; - bool allowAutoPos() {return autoPos;}; + bool allowAutoPos() {return autoPos;}; //sb in DPGI?? void setAutoPos(bool state) {autoPos = state;}; protected: