diff --git a/src/Mod/TechDraw/App/DimensionReferences.h b/src/Mod/TechDraw/App/DimensionReferences.h index e974949c96..6ddad92e51 100644 --- a/src/Mod/TechDraw/App/DimensionReferences.h +++ b/src/Mod/TechDraw/App/DimensionReferences.h @@ -63,7 +63,7 @@ public: bool operator== (const ReferenceEntry& otherRef) const; App::DocumentObject* getObject() const; - template T* getObject() const { return dynamic_cast(getObject()); } + template T* getObject() const { return freecad_cast(getObject()); } void setObject(App::DocumentObject* docObj) { m_object = docObj; } std::string getSubName(bool longForm = false) const; void setSubName(const std::string& subName) { m_subName = subName; } diff --git a/src/Mod/TechDraw/App/DrawComplexSection.cpp b/src/Mod/TechDraw/App/DrawComplexSection.cpp index db4bfd8e6c..29cc3de7a3 100644 --- a/src/Mod/TechDraw/App/DrawComplexSection.cpp +++ b/src/Mod/TechDraw/App/DrawComplexSection.cpp @@ -744,7 +744,7 @@ BaseGeomPtrVector DrawComplexSection::makeSectionLineGeometry() { // Base::Console().Message("DCS::makeSectionLineGeometry()\n"); BaseGeomPtrVector result; - DrawViewPart* baseDvp = dynamic_cast(BaseView.getValue()); + DrawViewPart* baseDvp = freecad_cast(BaseView.getValue()); if (baseDvp) { TopoDS_Wire lineWire = makeSectionLineWire(); TopoDS_Shape projectedWire = @@ -775,7 +775,7 @@ std::pair DrawComplexSection::sectionLineEnds() Base::Vector3d first = Base::Vector3d(gpFirst.X(), gpFirst.Y(), gpFirst.Z()); Base::Vector3d last = Base::Vector3d(gpLast.X(), gpLast.Y(), gpLast.Z()); - DrawViewPart* baseDvp = dynamic_cast(BaseView.getValue()); + DrawViewPart* baseDvp = freecad_cast(BaseView.getValue()); if (baseDvp) { first = baseDvp->projectPoint(first); last = baseDvp->projectPoint(last); @@ -831,7 +831,7 @@ std::pair DrawComplexSection::sectionArrowDirs() Base::Vector3d vDir1 = Base::convertTo(gDir1); vDir0.Normalize(); vDir1.Normalize(); - DrawViewPart* baseDvp = dynamic_cast(BaseView.getValue()); + DrawViewPart* baseDvp = freecad_cast(BaseView.getValue()); if (baseDvp) { vDir0 = baseDvp->projectPoint(vDir0, true); vDir1 = baseDvp->projectPoint(vDir1, true); @@ -847,7 +847,7 @@ TopoDS_Wire DrawComplexSection::makeSectionLineWire() { TopoDS_Wire lineWire; App::DocumentObject* toolObj = CuttingToolWireObject.getValue(); - DrawViewPart* baseDvp = dynamic_cast(BaseView.getValue()); + DrawViewPart* baseDvp = freecad_cast(BaseView.getValue()); if (baseDvp) { TopoDS_Shape toolShape = Part::Feature::getShape(toolObj); if (toolShape.IsNull()) { @@ -884,7 +884,7 @@ ChangePointVector DrawComplexSection::getChangePointsFromSectionLine() // Base::Console().Message("DCS::getChangePointsFromSectionLine()\n"); ChangePointVector result; std::vector allPoints; - DrawViewPart* baseDvp = dynamic_cast(BaseView.getValue()); + DrawViewPart* baseDvp = freecad_cast(BaseView.getValue()); if (baseDvp) { TopoDS_Wire lineWire = makeSectionLineWire(); TopoDS_Shape projectedWire = diff --git a/src/Mod/TechDraw/App/DrawDimHelper.cpp b/src/Mod/TechDraw/App/DrawDimHelper.cpp index e691a539fe..11f0c81063 100644 --- a/src/Mod/TechDraw/App/DrawDimHelper.cpp +++ b/src/Mod/TechDraw/App/DrawDimHelper.cpp @@ -112,7 +112,7 @@ DrawViewDimension* DrawDimHelper::makeExtentDim(DrawViewPart* dvp, std::vector(doc->getObject(dimName.c_str())); + auto* dimExt = freecad_cast(doc->getObject(dimName.c_str())); if (!dimExt) { throw Base::TypeError("Dim extent not found"); } @@ -174,7 +174,7 @@ void DrawDimHelper::makeExtentDim3d(DrawViewPart* dvp, ReferenceVector reference Base::Interpreter().runStringArg( "App.activeDocument().%s.DirExtent = %d", dimName.c_str(), dimNum); - auto* dimExt = dynamic_cast(doc->getObject(dimName.c_str())); + auto* dimExt = freecad_cast(doc->getObject(dimName.c_str())); if (!dimExt) { throw Base::TypeError("Dim extent not found"); } diff --git a/src/Mod/TechDraw/App/DrawGeomHatch.cpp b/src/Mod/TechDraw/App/DrawGeomHatch.cpp index 417b7f386a..1728e86b2e 100644 --- a/src/Mod/TechDraw/App/DrawGeomHatch.cpp +++ b/src/Mod/TechDraw/App/DrawGeomHatch.cpp @@ -168,7 +168,7 @@ void DrawGeomHatch::unsetupObject() { // Base::Console().Message("DGH::unsetupObject() - status: %lu removing: %d \n", getStatus(), isRemoving()); App::DocumentObject* source = Source.getValue(); - DrawView* dv = dynamic_cast(source); + DrawView* dv = freecad_cast(source); if (dv) { dv->requestPaint(); } @@ -211,7 +211,7 @@ std::vector DrawGeomHatch::makeLineSets(std::string fileSpec, std::stri DrawViewPart* DrawGeomHatch::getSourceView() const { App::DocumentObject* obj = Source.getValue(); - DrawViewPart* result = dynamic_cast(obj); + DrawViewPart* result = freecad_cast(obj); return result; } diff --git a/src/Mod/TechDraw/App/DrawHatch.cpp b/src/Mod/TechDraw/App/DrawHatch.cpp index 9d3953292e..ac049443ba 100644 --- a/src/Mod/TechDraw/App/DrawHatch.cpp +++ b/src/Mod/TechDraw/App/DrawHatch.cpp @@ -83,7 +83,7 @@ App::DocumentObjectExecReturn *DrawHatch::execute(void) DrawViewPart* DrawHatch::getSourceView(void) const { App::DocumentObject* obj = Source.getValue(); - DrawViewPart* result = dynamic_cast(obj); + DrawViewPart* result = freecad_cast(obj); return result; } @@ -183,7 +183,7 @@ void DrawHatch::unsetupObject(void) { // Base::Console().Message("DH::unsetupObject() - status: %lu removing: %d \n", getStatus(), isRemoving()); App::DocumentObject* source = Source.getValue(); - DrawView* dv = dynamic_cast(source); + DrawView* dv = freecad_cast(source); if (dv) { dv->requestPaint(); } diff --git a/src/Mod/TechDraw/App/DrawLeaderLine.cpp b/src/Mod/TechDraw/App/DrawLeaderLine.cpp index bca5eea111..4b2bf7f63b 100644 --- a/src/Mod/TechDraw/App/DrawLeaderLine.cpp +++ b/src/Mod/TechDraw/App/DrawLeaderLine.cpp @@ -146,7 +146,7 @@ DrawView* DrawLeaderLine::getBaseView() const return nullptr; } - auto cast = dynamic_cast(baseObj); + auto cast = freecad_cast(baseObj); return cast; } diff --git a/src/Mod/TechDraw/App/DrawPage.cpp b/src/Mod/TechDraw/App/DrawPage.cpp index bd5c908e68..fb86cc0b4b 100644 --- a/src/Mod/TechDraw/App/DrawPage.cpp +++ b/src/Mod/TechDraw/App/DrawPage.cpp @@ -116,7 +116,7 @@ void DrawPage::onChanged(const App::Property* prop) // this is needed just to mark the Views to recompute?? if (!isRestoring()) { for (auto* obj : getViews()) { - auto* view = dynamic_cast(obj); + auto* view = freecad_cast(obj); if (view && view->ScaleType.isValue("Page")) { if (std::abs(view->Scale.getValue() - Scale.getValue()) > std::numeric_limits::epsilon()) { view->Scale.setValue(Scale.getValue()); @@ -128,7 +128,7 @@ void DrawPage::onChanged(const App::Property* prop) else if (prop == &ProjectionType) { // touch all ortho views in the Page as they may be dependent on Projection Type //(is this true?) for (auto* obj : getViews()) { - auto* view = dynamic_cast(obj); + auto* view = freecad_cast(obj); if (view && view->ProjectionType.isValue("Default")) { view->ProjectionType.touch(); } @@ -239,7 +239,7 @@ int DrawPage::addView(App::DocumentObject* docObj, bool setPosition) return -1; } - auto* view = dynamic_cast(docObj); + auto* view = freecad_cast(docObj); if (!view) { auto* link = dynamic_cast(docObj); @@ -247,7 +247,7 @@ int DrawPage::addView(App::DocumentObject* docObj, bool setPosition) return -1; } - view = dynamic_cast(link->getLinkedObject()); + view = freecad_cast(link->getLinkedObject()); if (!view) { return -1; } @@ -339,7 +339,7 @@ void DrawPage::updateAllViews() //first, make sure all the Parts have been executed so GeometryObjects exist for (auto& v : featViews) { - auto* part = dynamic_cast(v); + auto* part = freecad_cast(v); if (part) { //view, section, detail, dpgi part->recomputeFeature(); @@ -348,12 +348,12 @@ void DrawPage::updateAllViews() //second, do the rest of the views that may depend on a part view //TODO: check if we have 2 layers of dependency (ex. leader > weld > tile?) for (auto& v : featViews) { - auto* part = dynamic_cast(v); + auto* part = freecad_cast(v); if (part) { continue; } - auto* view = dynamic_cast(v); + auto* view = freecad_cast(v); if (view) { view->overrideKeepUpdated(true); view->recomputeFeature(); diff --git a/src/Mod/TechDraw/App/DrawProjGroup.cpp b/src/Mod/TechDraw/App/DrawProjGroup.cpp index ebf21b07fd..591ada8f52 100644 --- a/src/Mod/TechDraw/App/DrawProjGroup.cpp +++ b/src/Mod/TechDraw/App/DrawProjGroup.cpp @@ -356,7 +356,7 @@ void DrawProjGroup::getViewArea(std::array(it)); + auto projPtr(freecad_cast(it)); if (!projPtr) { //if an element in Views is not a DPGI, something really bad has happened somewhere Base::Console().Error("PROBLEM - DPG::getProjObj - non DPGI entry in Views! %s / %s\n", @@ -540,7 +540,7 @@ int DrawProjGroup::purgeProjections() while (!Views.getValues().empty()) { std::vector views = Views.getValues(); DocumentObject* dObj = views.back(); - auto* dpgi = dynamic_cast(dObj); + auto* dpgi = freecad_cast(dObj); if (dpgi) { std::string itemName = dpgi->Type.getValueAsString(); removeProjection(itemName.c_str()); @@ -866,7 +866,7 @@ void DrawProjGroup::arrangeViewPointers( bool thirdAngle = (strcmp(projType, "Third Angle") == 0); for (auto it : Views.getValues()) { - auto oView(dynamic_cast(it)); + auto oView(freecad_cast(it)); if (!oView) { //if an element in Views is not a DPGI, something really bad has happened somewhere Base::Console().Error( @@ -944,7 +944,7 @@ void DrawProjGroup::recomputeChildren() { // Base::Console().Message("DPG::recomputeChildren() - waiting: %d\n", waitingForChildren()); for (const auto it : Views.getValues()) { - auto view(dynamic_cast(it)); + auto view(freecad_cast(it)); if (!view) { throw Base::TypeError("Error: projection in DPG list is not a DPGI!"); } @@ -959,7 +959,7 @@ void DrawProjGroup::autoPositionChildren() // Base::Console().Message("DPG::autoPositionChildren() - %s - waiting: %d\n", // getNameInDocument(), waitingForChildren()); for (const auto it : Views.getValues()) { - auto view(dynamic_cast(it)); + auto view(freecad_cast(it)); if (!view) { //if an element in Views is not a DPGI, something really bad has happened somewhere throw Base::TypeError("Error: projection in DPG list is not a DPGI!"); @@ -977,7 +977,7 @@ void DrawProjGroup::updateChildrenScale() { // Base::Console().Message("DPG::updateChildrenScale() - waiting: %d\n", waitingForChildren()); for (const auto it : Views.getValues()) { - auto view(dynamic_cast(it)); + auto view(freecad_cast(it)); if (!view) { //if an element in Views is not a DPGI, something really bad has happened somewhere throw Base::TypeError("Error: projection in DPG list is not a DPGI!"); @@ -995,7 +995,7 @@ void DrawProjGroup::updateChildrenScale() void DrawProjGroup::updateChildrenSource() { for (const auto it : Views.getValues()) { - auto view(dynamic_cast(it)); + auto view(freecad_cast(it)); if (!view) { //if an element in Views is not a DPGI, something really bad has happened somewhere Base::Console().Error( @@ -1019,7 +1019,7 @@ void DrawProjGroup::updateChildrenSource() void DrawProjGroup::updateChildrenLock() { for (const auto it : Views.getValues()) { - auto view(dynamic_cast(it)); + auto view(freecad_cast(it)); if (!view) { //if an element in Views is not a DPGI, something really bad has happened somewhere Base::Console().Error( @@ -1034,7 +1034,7 @@ void DrawProjGroup::updateChildrenLock() void DrawProjGroup::updateChildrenEnforce(void) { for (const auto it : Views.getValues()) { - auto view(dynamic_cast(it)); + auto view(freecad_cast(it)); if (!view) { //if an element in Views is not a DPGI, something really bad has happened somewhere Base::Console().Error( diff --git a/src/Mod/TechDraw/App/DrawRichAnno.cpp b/src/Mod/TechDraw/App/DrawRichAnno.cpp index 73ba956952..24af1a1c02 100644 --- a/src/Mod/TechDraw/App/DrawRichAnno.cpp +++ b/src/Mod/TechDraw/App/DrawRichAnno.cpp @@ -89,7 +89,7 @@ App::DocumentObjectExecReturn *DrawRichAnno::execute() DrawView* DrawRichAnno::getBaseView() const { // Base::Console().Message("DRA::getBaseView() - %s\n", getNameInDocument()); - return dynamic_cast(AnnoParent.getValue()); + return freecad_cast(AnnoParent.getValue()); } //finds the first DrawPage in this Document that claims to own this DrawRichAnno @@ -102,7 +102,7 @@ DrawPage* DrawRichAnno::findParentPage() const return DrawView::findParentPage(); } - DrawView* parent = dynamic_cast(AnnoParent.getValue()); + DrawView* parent = freecad_cast(AnnoParent.getValue()); if (parent) { return parent->findParentPage(); } diff --git a/src/Mod/TechDraw/App/DrawTile.cpp b/src/Mod/TechDraw/App/DrawTile.cpp index d759f41c17..a970831d2c 100644 --- a/src/Mod/TechDraw/App/DrawTile.cpp +++ b/src/Mod/TechDraw/App/DrawTile.cpp @@ -88,7 +88,7 @@ void DrawTile::handleChangedPropertyType(Base::XMLReader &reader, const char *Ty DrawView* DrawTile::getParent() const { // Base::Console().Message("DT::getParent() - %s\n", getNameInDocument()); - return dynamic_cast(TileParent.getValue()); + return freecad_cast(TileParent.getValue()); } PyObject *DrawTile::getPyObject() diff --git a/src/Mod/TechDraw/App/DrawView.cpp b/src/Mod/TechDraw/App/DrawView.cpp index 708fd2ad65..91e16505ab 100644 --- a/src/Mod/TechDraw/App/DrawView.cpp +++ b/src/Mod/TechDraw/App/DrawView.cpp @@ -660,7 +660,7 @@ void DrawView::setScaleAttribute() //! existence of the parent DrawProjGroup bool DrawView::isProjGroupItem(DrawViewPart* item) { - auto dpgi = dynamic_cast(item); + auto dpgi = freecad_cast(item); if (!dpgi) { return false; } diff --git a/src/Mod/TechDraw/App/DrawViewBalloon.cpp b/src/Mod/TechDraw/App/DrawViewBalloon.cpp index e2dda3491b..f5174ddd17 100644 --- a/src/Mod/TechDraw/App/DrawViewBalloon.cpp +++ b/src/Mod/TechDraw/App/DrawViewBalloon.cpp @@ -211,7 +211,7 @@ void DrawViewBalloon::handleXYLock() DrawView* DrawViewBalloon::getParentView() const { App::DocumentObject* obj = SourceView.getValue(); - DrawView* result = dynamic_cast(obj); + DrawView* result = freecad_cast(obj); return result; } diff --git a/src/Mod/TechDraw/App/DrawViewCollection.cpp b/src/Mod/TechDraw/App/DrawViewCollection.cpp index c14f8b39ba..a8f40c0597 100644 --- a/src/Mod/TechDraw/App/DrawViewCollection.cpp +++ b/src/Mod/TechDraw/App/DrawViewCollection.cpp @@ -90,7 +90,7 @@ int DrawViewCollection::addView(App::DocumentObject* docObj) return -1; } - auto* view = dynamic_cast(docObj); + auto* view = freecad_cast(docObj); if (!view) { auto* link = dynamic_cast(docObj); @@ -99,7 +99,7 @@ int DrawViewCollection::addView(App::DocumentObject* docObj) } if (link) { - view = dynamic_cast(link->getLinkedObject()); + view = freecad_cast(link->getLinkedObject()); if (!view) { return -1; } @@ -228,7 +228,7 @@ QRectF DrawViewCollection::getRect() const { QRectF result; for (auto& v : getViews()) { - auto *view = dynamic_cast(v); + auto *view = freecad_cast(v); if (!view) { throw Base::ValueError("DrawViewCollection::getRect bad View\n"); } diff --git a/src/Mod/TechDraw/App/DrawViewDetail.cpp b/src/Mod/TechDraw/App/DrawViewDetail.cpp index a33d9b7dcc..9d69e0d113 100644 --- a/src/Mod/TechDraw/App/DrawViewDetail.cpp +++ b/src/Mod/TechDraw/App/DrawViewDetail.cpp @@ -448,7 +448,7 @@ TopoDS_Shape DrawViewDetail::projectEdgesOntoFace(TopoDS_Shape& edgeShape, TopoD Base::Vector3d DrawViewDetail::mapPoint3dToDetail(const Base::Vector3d& inPoint) const { auto baseObj = BaseView.getValue(); - auto baseDvp = dynamic_cast(baseObj); + auto baseDvp = freecad_cast(baseObj); if (!baseDvp) { throw Base::RuntimeError("Detail has no BaseView"); } @@ -502,7 +502,7 @@ void DrawViewDetail::handleChangedPropertyType(Base::XMLReader &reader, const ch void DrawViewDetail::unsetupObject() { App::DocumentObject* baseObj = BaseView.getValue(); - DrawView* base = dynamic_cast(baseObj); + DrawView* base = freecad_cast(baseObj); if (base) { base->requestPaint(); } diff --git a/src/Mod/TechDraw/App/DrawViewDimExtent.cpp b/src/Mod/TechDraw/App/DrawViewDimExtent.cpp index c915859bf6..46e04d3dd8 100644 --- a/src/Mod/TechDraw/App/DrawViewDimExtent.cpp +++ b/src/Mod/TechDraw/App/DrawViewDimExtent.cpp @@ -71,7 +71,7 @@ App::DocumentObjectExecReturn *DrawViewDimExtent::execute(void) App::DocumentObject* docObj = Source.getValue(); if (!docObj) return App::DocumentObject::StdReturn; - DrawViewPart* dvp = dynamic_cast(docObj); + DrawViewPart* dvp = freecad_cast(docObj); if (!dvp) return App::DocumentObject::StdReturn; diff --git a/src/Mod/TechDraw/App/DrawViewDimension.cpp b/src/Mod/TechDraw/App/DrawViewDimension.cpp index 6d6faa663b..81b3d28ef9 100644 --- a/src/Mod/TechDraw/App/DrawViewDimension.cpp +++ b/src/Mod/TechDraw/App/DrawViewDimension.cpp @@ -729,7 +729,7 @@ double DrawViewDimension::getProjectedDimValue() const if (Type.isValue("Distance") || Type.isValue("DistanceX") || Type.isValue("DistanceY")) { pointPair pts = getLinearPoints(); - auto dbv = dynamic_cast(getViewPart()); + auto dbv = freecad_cast(getViewPart()); if (dbv) { // raw pts from view are inverted Y, so we need to un-invert them before mapping // raw pts are scaled, so we need to unscale them for mapPoint2dFromView diff --git a/src/Mod/TechDraw/App/DrawViewSection.cpp b/src/Mod/TechDraw/App/DrawViewSection.cpp index b629690c5f..dd2ffc1691 100644 --- a/src/Mod/TechDraw/App/DrawViewSection.cpp +++ b/src/Mod/TechDraw/App/DrawViewSection.cpp @@ -972,7 +972,7 @@ ChangePointVector DrawViewSection::getChangePointsFromSectionLine() // Base::Console().Message("Dvs::getChangePointsFromSectionLine()\n"); ChangePointVector result; std::vector allPoints; - DrawViewPart* baseDvp = dynamic_cast(BaseView.getValue()); + DrawViewPart* baseDvp = freecad_cast(BaseView.getValue()); if (baseDvp) { std::pair lineEnds = sectionLineEnds(); // make start and end marks diff --git a/src/Mod/TechDraw/App/DrawWeldSymbol.cpp b/src/Mod/TechDraw/App/DrawWeldSymbol.cpp index 9358bba53b..d6e98175f3 100644 --- a/src/Mod/TechDraw/App/DrawWeldSymbol.cpp +++ b/src/Mod/TechDraw/App/DrawWeldSymbol.cpp @@ -77,7 +77,7 @@ void DrawWeldSymbol::onSettingDocument() std::string tileName1 = doc->getUniqueObjectName("TileWeld"); auto tile1Obj( doc->addObject( "TechDraw::DrawTileWeld", tileName1.c_str() ) ); - DrawTileWeld* tile1 = dynamic_cast(tile1Obj); + DrawTileWeld* tile1 = freecad_cast(tile1Obj); if (tile1) { tile1->Label.setValue(DrawUtil::translateArbitrary("DrawTileWeld", "TileWeld", tileName1)); tile1->TileParent.setValue(this); @@ -85,7 +85,7 @@ void DrawWeldSymbol::onSettingDocument() std::string tileName2 = doc->getUniqueObjectName("TileWeld"); auto tile2Obj( doc->addObject( "TechDraw::DrawTileWeld", tileName2.c_str() ) ); - DrawTileWeld* tile2 = dynamic_cast(tile2Obj); + DrawTileWeld* tile2 = freecad_cast(tile2Obj); if (tile2) { tile2->Label.setValue(DrawUtil::translateArbitrary("DrawTileWeld", "TileWeld", tileName2)); tile2->TileParent.setValue(this); diff --git a/src/Mod/TechDraw/App/LandmarkDimension.cpp b/src/Mod/TechDraw/App/LandmarkDimension.cpp index 152918bdd7..c82bcedc25 100644 --- a/src/Mod/TechDraw/App/LandmarkDimension.cpp +++ b/src/Mod/TechDraw/App/LandmarkDimension.cpp @@ -165,7 +165,7 @@ DrawViewPart* LandmarkDimension::getViewPart() const { std::vector refs2d = References2D.getValues(); App::DocumentObject* obj = refs2d.front(); - DrawViewPart* dvp = dynamic_cast(obj); + DrawViewPart* dvp = freecad_cast(obj); return dvp; } diff --git a/src/Mod/TechDraw/App/PropertyGeomFormatList.cpp b/src/Mod/TechDraw/App/PropertyGeomFormatList.cpp index 3bdb97714c..76daf0a951 100644 --- a/src/Mod/TechDraw/App/PropertyGeomFormatList.cpp +++ b/src/Mod/TechDraw/App/PropertyGeomFormatList.cpp @@ -104,7 +104,7 @@ PyObject *PropertyGeomFormatList::getPyObject() void PropertyGeomFormatList::setPyObject(PyObject *value) { // check container of this property to notify about changes -// Part2DObject* part2d = dynamic_cast(this->getContainer()); +// Part2DObject* part2d = freecad_cast(this->getContainer()); if (PySequence_Check(value)) { Py::Sequence sequence(value); diff --git a/src/Mod/TechDraw/Gui/AppTechDrawGuiPy.cpp b/src/Mod/TechDraw/Gui/AppTechDrawGuiPy.cpp index 1939c15253..ff6e890d86 100644 --- a/src/Mod/TechDraw/Gui/AppTechDrawGuiPy.cpp +++ b/src/Mod/TechDraw/Gui/AppTechDrawGuiPy.cpp @@ -137,7 +137,7 @@ private: Gui::Document* activeGui = Gui::Application::Instance->getDocument(page->getDocument()); Gui::ViewProvider* vp = activeGui->getViewProvider(obj); - ViewProviderPage* vpPage = dynamic_cast(vp); + ViewProviderPage* vpPage = freecad_cast(vp); if (!vpPage) { throw Py::TypeError("TechDraw can not find Page"); } diff --git a/src/Mod/TechDraw/Gui/Command.cpp b/src/Mod/TechDraw/Gui/Command.cpp index a51d68063b..fe54d0df88 100644 --- a/src/Mod/TechDraw/Gui/Command.cpp +++ b/src/Mod/TechDraw/Gui/Command.cpp @@ -317,7 +317,7 @@ void CmdTechDrawView::activated(int iMsg) std::string PageName = page->getNameInDocument(); // switch to the page if it's not current active window - auto* vpp = dynamic_cast + auto* vpp = freecad_cast (Gui::Application::Instance->getViewProvider(page)); if (vpp) { vpp->show(); @@ -1296,9 +1296,9 @@ void CmdTechDrawBalloon::activated(int iMsg) std::string PageName = page->getNameInDocument(); Gui::Document* guiDoc = Gui::Application::Instance->getDocument(page->getDocument()); - ViewProviderPage* pageVP = dynamic_cast(guiDoc->getViewProvider(page)); + ViewProviderPage* pageVP = freecad_cast(guiDoc->getViewProvider(page)); ViewProviderDrawingView* viewVP = - dynamic_cast(guiDoc->getViewProvider(objFeat)); + freecad_cast(guiDoc->getViewProvider(objFeat)); if (pageVP && viewVP) { QGVPage* viewPage = pageVP->getQGVPage(); @@ -1820,7 +1820,7 @@ void CmdTechDrawExportPageSVG::activated(int iMsg) Gui::Document* activeGui = Gui::Application::Instance->getDocument(page->getDocument()); Gui::ViewProvider* vp = activeGui->getViewProvider(page); - ViewProviderPage* vpPage = dynamic_cast(vp); + ViewProviderPage* vpPage = freecad_cast(vp); if (vpPage) { vpPage->show(); // make sure a mdi will be available diff --git a/src/Mod/TechDraw/Gui/CommandAnnotate.cpp b/src/Mod/TechDraw/Gui/CommandAnnotate.cpp index 04276a7bef..ff85579ace 100644 --- a/src/Mod/TechDraw/Gui/CommandAnnotate.cpp +++ b/src/Mod/TechDraw/Gui/CommandAnnotate.cpp @@ -1517,7 +1517,7 @@ void CmdTechDrawShowAll::activated(int iMsg) } Gui::ViewProvider* vp = QGIView::getViewProvider(baseFeat); - auto partVP = dynamic_cast(vp); + auto partVP = freecad_cast(vp); if (partVP) { bool state = partVP->ShowAllEdges.getValue(); state = !state; diff --git a/src/Mod/TechDraw/Gui/CommandCreateDims.cpp b/src/Mod/TechDraw/Gui/CommandCreateDims.cpp index adf88262b2..ccbdb6c335 100644 --- a/src/Mod/TechDraw/Gui/CommandCreateDims.cpp +++ b/src/Mod/TechDraw/Gui/CommandCreateDims.cpp @@ -339,7 +339,7 @@ public: QGIDatumLabel* getDimLabel(DrawViewDimension* d) { - auto* vp = dynamic_cast(Gui::Application::Instance->getViewProvider(d)); + auto* vp = freecad_cast(Gui::Application::Instance->getViewProvider(d)); if (!vp) { return nullptr; } @@ -361,7 +361,7 @@ public: QPointF getDimPositionToBe(QPoint pos, QPointF curPos = QPointF(), bool textToMiddle = false, Base::Vector3d dir = Base::Vector3d(), Base::Vector3d delta = Base::Vector3d(), DimensionType type = DimensionType::Distance, int i = 0) { - auto* vpp = dynamic_cast(Gui::Application::Instance->getViewProvider(partFeat)); + auto* vpp = freecad_cast(Gui::Application::Instance->getViewProvider(partFeat)); if (!vpp) { return QPointF(); } diff --git a/src/Mod/TechDraw/Gui/CommandDecorate.cpp b/src/Mod/TechDraw/Gui/CommandDecorate.cpp index 52043ad3e7..1abd5580ae 100644 --- a/src/Mod/TechDraw/Gui/CommandDecorate.cpp +++ b/src/Mod/TechDraw/Gui/CommandDecorate.cpp @@ -328,7 +328,7 @@ void CmdTechDrawToggleFrame::activated(int iMsg) Gui::Document* activeGui = Gui::Application::Instance->getDocument(page->getDocument()); Gui::ViewProvider* vp = activeGui->getViewProvider(page); - ViewProviderPage* vpPage = dynamic_cast(vp); + ViewProviderPage* vpPage = freecad_cast(vp); if (!vpPage) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("No TechDraw Page"), diff --git a/src/Mod/TechDraw/Gui/CommandExtensionPack.cpp b/src/Mod/TechDraw/Gui/CommandExtensionPack.cpp index 582bcfdd22..cd78167175 100644 --- a/src/Mod/TechDraw/Gui/CommandExtensionPack.cpp +++ b/src/Mod/TechDraw/Gui/CommandExtensionPack.cpp @@ -2038,7 +2038,7 @@ std::string _createBalloon(Gui::Command* cmd, TechDraw::DrawViewPart* objFeat) std::string featName; TechDraw::DrawPage* page = objFeat->findParentPage(); Gui::Document* guiDoc = Gui::Application::Instance->getDocument(page->getDocument()); - auto pageVP = dynamic_cast(guiDoc->getViewProvider(page)); + auto pageVP = freecad_cast(guiDoc->getViewProvider(page)); if (pageVP) { QGSPage* scenePage = pageVP->getQGSPage(); featName = scenePage->getDrawPage()->getDocument()->getUniqueObjectName("Balloon"); diff --git a/src/Mod/TechDraw/Gui/QGIDatumLabel.cpp b/src/Mod/TechDraw/Gui/QGIDatumLabel.cpp index bd92faf845..811da80a8f 100644 --- a/src/Mod/TechDraw/Gui/QGIDatumLabel.cpp +++ b/src/Mod/TechDraw/Gui/QGIDatumLabel.cpp @@ -214,7 +214,7 @@ void QGIDatumLabel::snapPosition(QPointF& pos) continue; } - auto* vp = dynamic_cast(Gui::Application::Instance->getViewProvider(d)); + auto* vp = freecad_cast(Gui::Application::Instance->getViewProvider(d)); if (!vp) { continue; } auto* qgivDi(dynamic_cast(vp->getQView())); if (!qgivDi) { continue; } @@ -277,7 +277,7 @@ void QGIDatumLabel::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) return; } - auto ViewProvider = dynamic_cast( + auto ViewProvider = freecad_cast( qgivDimension->getViewProvider(qgivDimension->getViewObject())); if (!ViewProvider) { qWarning() << "QGIDatumLabel::mouseDoubleClickEvent: No valid view provider"; diff --git a/src/Mod/TechDraw/Gui/QGILeaderLine.cpp b/src/Mod/TechDraw/Gui/QGILeaderLine.cpp index c6256f14be..e222b120a7 100644 --- a/src/Mod/TechDraw/Gui/QGILeaderLine.cpp +++ b/src/Mod/TechDraw/Gui/QGILeaderLine.cpp @@ -155,7 +155,7 @@ void QGILeaderLine::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) //! start editor on double click void QGILeaderLine::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) { - auto ViewProvider = dynamic_cast(getViewProvider(getLeaderFeature())); + auto ViewProvider = freecad_cast(getViewProvider(getLeaderFeature())); if (!ViewProvider) { qWarning() << "QGILeaderLine::mouseDoubleClickEvent: No valid view provider"; return; @@ -632,7 +632,7 @@ QColor QGILeaderLine::prefNormalColor() // Base::Console().Message("QGILL::getNormalColor()\n"); setNormalColor(PreferencesGui::leaderQColor()); - auto vp = dynamic_cast(getViewProvider(getViewObject())); + auto vp = freecad_cast(getViewProvider(getViewObject())); if (vp) { QColor normal = vp->Color.getValue().asValue(); setNormalColor(PreferencesGui::getAccessibleQColor(normal)); @@ -659,7 +659,7 @@ void QGILeaderLine::paint(QPainter* painter, const QStyleOptionGraphicsItem* opt bool QGILeaderLine::useOldCoords() const { - auto vp = dynamic_cast(getViewProvider(getViewObject())); + auto vp = freecad_cast(getViewProvider(getViewObject())); if (vp) { return vp->UseOldCoords.getValue(); } diff --git a/src/Mod/TechDraw/Gui/QGIView.cpp b/src/Mod/TechDraw/Gui/QGIView.cpp index ef8d264ace..1730222d95 100644 --- a/src/Mod/TechDraw/Gui/QGIView.cpp +++ b/src/Mod/TechDraw/Gui/QGIView.cpp @@ -225,7 +225,7 @@ void QGIView::snapPosition(QPointF& newPosition) return; } - auto dvp = dynamic_cast(feature); + auto dvp = freecad_cast(feature); if (dvp && !dvp->hasGeometry()) { // too early. wait for updates to finish. @@ -262,7 +262,7 @@ void QGIView::snapPosition(QPointF& newPosition) continue; } auto viewFeature = view->getViewObject(); - auto viewDvp = dynamic_cast(viewFeature); + auto viewDvp = freecad_cast(viewFeature); auto viewScenePos = view->scenePos(); if (viewDvp && @@ -316,7 +316,7 @@ void QGIView::snapSectionView(const TechDraw::DrawViewSection* sectionView, if (!baseView) { return; } - auto* vpdv = dynamic_cast(getViewProvider(baseView)); + auto* vpdv = freecad_cast(getViewProvider(baseView)); if (!vpdv) { return; } @@ -810,7 +810,7 @@ ViewProviderPage* QGIView::getViewProviderPage(TechDraw::DrawView* dView) return nullptr; } - return dynamic_cast(activeGui->getViewProvider(page)); + return freecad_cast(activeGui->getViewProvider(page)); } //remove a child of this from scene while keeping scene indexes valid @@ -833,7 +833,7 @@ bool QGIView::getFrameState() Gui::Document* activeGui = Gui::Application::Instance->getDocument(page->getDocument()); Gui::ViewProvider* vp = activeGui->getViewProvider(page); - ViewProviderPage* vpp = dynamic_cast(vp); + ViewProviderPage* vpp = freecad_cast(vp); if (!vpp) return true; return vpp->getFrameState(); diff --git a/src/Mod/TechDraw/Gui/QGIViewAnnotation.cpp b/src/Mod/TechDraw/Gui/QGIViewAnnotation.cpp index e1df9385e9..8d8a2e3d99 100644 --- a/src/Mod/TechDraw/Gui/QGIViewAnnotation.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewAnnotation.cpp @@ -188,7 +188,7 @@ void QGIViewAnnotation::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) if (!annotation) { return; } - auto ViewProvider = dynamic_cast(getViewProvider(annotation)); + auto ViewProvider = freecad_cast(getViewProvider(annotation)); if (!ViewProvider) { qWarning() << "QGIViewAnnotation::mouseDoubleClickEvent: No valid view provider"; return; diff --git a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp index 97547baa29..0276439c22 100644 --- a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp @@ -149,7 +149,7 @@ void QGIBalloonLabel::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) return; } - auto ViewProvider = dynamic_cast( + auto ViewProvider = freecad_cast( qgivBalloon->getViewProvider(qgivBalloon->getViewObject())); if (!ViewProvider) { qWarning() << "QGIBalloonLabel::mouseDoubleClickEvent: No valid view provider"; @@ -366,7 +366,7 @@ void QGIViewBalloon::setViewPartFeature(TechDraw::DrawViewBalloon* balloonFeat) double scale = 1.0; App::DocumentObject* docObj = balloonFeat->SourceView.getValue(); if (docObj) { - balloonParent = dynamic_cast(docObj); + balloonParent = freecad_cast(docObj); if (balloonParent) { scale = balloonParent->getScale(); } @@ -547,7 +547,7 @@ void QGIViewBalloon::placeBalloon(QPointF pos) return; } - DrawView* balloonParent = dynamic_cast(balloon->SourceView.getValue()); + DrawView* balloonParent = freecad_cast(balloon->SourceView.getValue()); if (!balloonParent) { return; } @@ -565,7 +565,7 @@ void QGIViewBalloon::placeBalloon(QPointF pos) QGIView* qgivParent = nullptr; QPointF viewPos; Gui::ViewProvider* objVp = QGIView::getViewProvider(balloonParent); - auto partVP = dynamic_cast(objVp); + auto partVP = freecad_cast(objVp); if (partVP) { qgivParent = partVP->getQView(); if (qgivParent) { @@ -944,7 +944,7 @@ QColor QGIViewBalloon::prefNormalColor() ViewProviderBalloon* vpBalloon = nullptr; Gui::ViewProvider* vp = getViewProvider(getBalloonFeat()); if (vp) { - vpBalloon = dynamic_cast(vp); + vpBalloon = freecad_cast(vp); if (vpBalloon) { Base::Color fcColor = Preferences::getAccessibleColor(vpBalloon->Color.getValue()); setNormalColor(fcColor.asValue()); @@ -968,9 +968,9 @@ DrawView* QGIViewBalloon::getSourceView() const { DrawView* balloonParent = nullptr; App::DocumentObject* docObj = getViewObject(); - DrawViewBalloon* dvb = dynamic_cast(docObj); + DrawViewBalloon* dvb = freecad_cast(docObj); if (dvb) { - balloonParent = dynamic_cast(dvb->SourceView.getValue()); + balloonParent = freecad_cast(dvb->SourceView.getValue()); } return balloonParent; } diff --git a/src/Mod/TechDraw/Gui/QGIViewDimension.cpp b/src/Mod/TechDraw/Gui/QGIViewDimension.cpp index 8bd92d118e..3b77f2cf06 100644 --- a/src/Mod/TechDraw/Gui/QGIViewDimension.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewDimension.cpp @@ -2261,7 +2261,7 @@ QColor QGIViewDimension::prefNormalColor() ViewProviderDimension* vpDim = nullptr; Gui::ViewProvider* vp = getViewProvider(getDimFeat()); if (vp) { - vpDim = dynamic_cast(vp); + vpDim = freecad_cast(vp); if (vpDim) { Base::Color fcColor = vpDim->Color.getValue(); fcColor = Preferences::getAccessibleColor(fcColor); diff --git a/src/Mod/TechDraw/Gui/QGIViewPart.cpp b/src/Mod/TechDraw/Gui/QGIViewPart.cpp index 221907bb95..c90cee99a1 100644 --- a/src/Mod/TechDraw/Gui/QGIViewPart.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewPart.cpp @@ -300,7 +300,7 @@ void QGIViewPart::drawAllFaces(void) newFace->setHatchOffset(fGeom->PatternOffset.getValue()); newFace->setHatchFile(fGeom->PatIncluded.getValue()); Gui::ViewProvider* gvp = QGIView::getViewProvider(fGeom); - ViewProviderGeomHatch* geomVp = dynamic_cast(gvp); + ViewProviderGeomHatch* geomVp = freecad_cast(gvp); if (geomVp) { newFace->setHatchColor(geomVp->ColorPattern.getValue()); newFace->setLineWeight(geomVp->WeightPattern.getValue()); @@ -321,7 +321,7 @@ void QGIViewPart::drawAllFaces(void) // get the properties from the hatch viewprovider Gui::ViewProvider* gvp = QGIView::getViewProvider(fHatch); - ViewProviderHatch* hatchVp = dynamic_cast(gvp); + ViewProviderHatch* hatchVp = freecad_cast(gvp); if (hatchVp) { if (hatchVp->HatchScale.getValue() > 0.0) { newFace->setHatchScale(hatchVp->HatchScale.getValue()); @@ -993,7 +993,7 @@ void QGIViewPart::highlightMoved(QGIHighlight* highlight, QPointF newPos) std::string highlightName = highlight->getFeatureName(); App::Document* doc = getViewObject()->getDocument(); App::DocumentObject* docObj = doc->getObject(highlightName.c_str()); - auto detail = dynamic_cast(docObj); + auto detail = freecad_cast(docObj); if (detail) { auto oldAnchor = detail->AnchorPoint.getValue(); Base::Vector3d delta = Rez::appX(DrawUtil::toVector3d(newPos)) / getViewObject()->getScale(); diff --git a/src/Mod/TechDraw/Gui/QGIViewSection.cpp b/src/Mod/TechDraw/Gui/QGIViewSection.cpp index df17ccabcf..241de17f39 100644 --- a/src/Mod/TechDraw/Gui/QGIViewSection.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewSection.cpp @@ -58,7 +58,7 @@ void QGIViewSection::drawSectionFace() return; } - ViewProviderViewSection* sectionVp = dynamic_cast(QGIView::getViewProvider(section)); + ViewProviderViewSection* sectionVp = freecad_cast(QGIView::getViewProvider(section)); if (!sectionVp) { return; } diff --git a/src/Mod/TechDraw/Gui/QGIViewSymbol.cpp b/src/Mod/TechDraw/Gui/QGIViewSymbol.cpp index 99fc7fe7b2..e63bfd3a79 100644 --- a/src/Mod/TechDraw/Gui/QGIViewSymbol.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewSymbol.cpp @@ -112,7 +112,7 @@ void QGIViewSymbol::drawSvg() } auto vp = getViewProvider(viewSymbol); - auto vps = dynamic_cast(vp); + auto vps = freecad_cast(vp); if (!vp || !vps) { return; } diff --git a/src/Mod/TechDraw/Gui/TaskActiveView.cpp b/src/Mod/TechDraw/Gui/TaskActiveView.cpp index 170b1d7091..e013239f0c 100644 --- a/src/Mod/TechDraw/Gui/TaskActiveView.cpp +++ b/src/Mod/TechDraw/Gui/TaskActiveView.cpp @@ -224,7 +224,7 @@ TechDraw::DrawViewImage* TaskActiveView::createActiveView() if (guiDoc) { Gui::ViewProvider* vp = guiDoc->getViewProvider(newImg); if (vp) { - auto vpImage = dynamic_cast(vp); + auto vpImage = freecad_cast(vp); if (vpImage) { vpImage->Crop.setValue(ui->cbCrop->isChecked()); } diff --git a/src/Mod/TechDraw/Gui/TaskCenterLine.cpp b/src/Mod/TechDraw/Gui/TaskCenterLine.cpp index 544fce3095..2596508963 100644 --- a/src/Mod/TechDraw/Gui/TaskCenterLine.cpp +++ b/src/Mod/TechDraw/Gui/TaskCenterLine.cpp @@ -507,7 +507,7 @@ void TaskCenterLine::enableTaskButtons(bool isEnabled) double TaskCenterLine::getCenterWidth() { Gui::ViewProvider* vp = QGIView::getViewProvider(m_partFeat); - auto partVP = dynamic_cast(vp); + auto partVP = freecad_cast(vp); if (!partVP) { return TechDraw::LineGroup::getDefaultWidth("Graphic"); } diff --git a/src/Mod/TechDraw/Gui/TaskCosVertex.cpp b/src/Mod/TechDraw/Gui/TaskCosVertex.cpp index a8033de3f9..01988972e6 100644 --- a/src/Mod/TechDraw/Gui/TaskCosVertex.cpp +++ b/src/Mod/TechDraw/Gui/TaskCosVertex.cpp @@ -217,7 +217,7 @@ void TaskCosVertex::onTrackerFinished(std::vector pts, QGIView* qgParen double y = Rez::guiX(m_baseFeat->Y.getValue()); DrawViewPart* dvp = m_baseFeat; - DrawProjGroupItem* dpgi = dynamic_cast(dvp); + DrawProjGroupItem* dpgi = freecad_cast(dvp); if (dpgi) { DrawProjGroup* dpg = dpgi->getPGroup(); if (dpg) { diff --git a/src/Mod/TechDraw/Gui/TaskDetail.cpp b/src/Mod/TechDraw/Gui/TaskDetail.cpp index 281df8a129..38963820aa 100644 --- a/src/Mod/TechDraw/Gui/TaskDetail.cpp +++ b/src/Mod/TechDraw/Gui/TaskDetail.cpp @@ -391,7 +391,7 @@ void TaskDetail::onHighlightMoved(QPointF dragEnd) double y = Rez::guiX(getBaseFeat()->Y.getValue()); DrawViewPart* dvp = getBaseFeat(); - DrawProjGroupItem* dpgi = dynamic_cast(dvp); + DrawProjGroupItem* dpgi = freecad_cast(dvp); if (dpgi) { DrawProjGroup* dpg = dpgi->getPGroup(); if (!dpg) { @@ -504,7 +504,7 @@ void TaskDetail::updateDetail() QPointF TaskDetail::getAnchorScene() { DrawViewPart* dvp = getBaseFeat(); - DrawProjGroupItem* dpgi = dynamic_cast(dvp); + DrawProjGroupItem* dpgi = freecad_cast(dvp); DrawViewDetail* dvd = getDetailFeat(); Base::Vector3d anchorPos = dvd->AnchorPoint.getValue(); anchorPos.y = -anchorPos.y; diff --git a/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp b/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp index e1d5713b45..63639bd15f 100644 --- a/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp +++ b/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp @@ -393,7 +393,7 @@ void TaskLeaderLine::createLeaderFeature(std::vector sceneDeltas if (m_lineFeat) { Gui::ViewProvider* vp = QGIView::getViewProvider(m_lineFeat); - auto leadVP = dynamic_cast(vp); + auto leadVP = freecad_cast(vp); if (leadVP) { Base::Color ac; ac.setValue(ui->cpLineColor->color()); @@ -700,7 +700,7 @@ QGIView* TaskLeaderLine::findParentQGIV() } Gui::ViewProvider* gvp = QGIView::getViewProvider(m_baseFeat); - ViewProviderDrawingView* vpdv = dynamic_cast(gvp); + ViewProviderDrawingView* vpdv = freecad_cast(gvp); if (!vpdv) { return nullptr; } diff --git a/src/Mod/TechDraw/Gui/TaskRichAnno.cpp b/src/Mod/TechDraw/Gui/TaskRichAnno.cpp index e8189af1a5..2ae4c86b6e 100644 --- a/src/Mod/TechDraw/Gui/TaskRichAnno.cpp +++ b/src/Mod/TechDraw/Gui/TaskRichAnno.cpp @@ -317,7 +317,7 @@ void TaskRichAnno::createAnnoFeature() if (m_annoFeat) { Gui::ViewProvider* vp = QGIView::getViewProvider(m_annoFeat); - auto annoVP = dynamic_cast(vp); + auto annoVP = freecad_cast(vp); if (annoVP) { Base::Color ac; ac.setValue(ui->cpFrameColor->color()); diff --git a/src/Mod/TechDraw/Gui/TemplateTextField.cpp b/src/Mod/TechDraw/Gui/TemplateTextField.cpp index f8afce0f33..722015a880 100644 --- a/src/Mod/TechDraw/Gui/TemplateTextField.cpp +++ b/src/Mod/TechDraw/Gui/TemplateTextField.cpp @@ -80,7 +80,7 @@ void TemplateTextField::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) ui.setFieldContent(tmplte->EditableTexts[fieldNameStr]); auto qName = QString::fromStdString(fieldNameStr); - auto svgTemplate = dynamic_cast(tmplte); + auto svgTemplate = freecad_cast(tmplte); if (svgTemplate) { // preset the autofill with the current value - something might have changed since this field was created m_autofillString = svgTemplate->getAutofillByEditableName(qName); diff --git a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp index f90ee88df0..c04bef344f 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp @@ -272,7 +272,7 @@ ViewProviderPage* ViewProviderDrawingView::getViewProviderPage() const Gui::Document* guiDoc = Gui::Application::Instance->getDocument(getViewObject()->getDocument()); if (guiDoc) { Gui::ViewProvider* vp = guiDoc->getViewProvider(getViewObject()->findParentPage()); - return dynamic_cast(vp); + return freecad_cast(vp); } return nullptr; } diff --git a/src/Mod/TechDraw/Gui/ViewProviderPage.cpp b/src/Mod/TechDraw/Gui/ViewProviderPage.cpp index e961648596..d4fe91dd35 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderPage.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderPage.cpp @@ -369,7 +369,7 @@ MDIViewPage* ViewProviderPage::getMDIViewPage() const DrawTemplate* ViewProviderPage::getTemplate() const { - return dynamic_cast(getDrawPage()->Template.getValue()); + return freecad_cast(getDrawPage()->Template.getValue()); } @@ -378,7 +378,7 @@ QGITemplate* ViewProviderPage::getQTemplate() const Gui::Document* guiDoc = Gui::Application::Instance->getDocument(getDrawPage()->getDocument()); if (guiDoc) { Gui::ViewProvider* vp = guiDoc->getViewProvider(getTemplate()); - auto vpTemplate = dynamic_cast(vp); + auto vpTemplate = freecad_cast(vp); if (vpTemplate) { return vpTemplate->getQTemplate(); } @@ -455,7 +455,7 @@ void ViewProviderPage::setTemplateMarkers(bool state) const templateFeat = getDrawPage()->Template.getValue(); Gui::Document* guiDoc = Gui::Application::Instance->getDocument(templateFeat->getDocument()); Gui::ViewProvider* vp = guiDoc->getViewProvider(templateFeat); - auto* vpt = dynamic_cast(vp); + auto* vpt = freecad_cast(vp); if (vpt) { vpt->setMarkers(state); QGITemplate* t = vpt->getQTemplate(); diff --git a/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp b/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp index 15290a29d9..b6854b30f0 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp @@ -172,7 +172,7 @@ void ViewProviderViewPart::onChanged(const App::Property* prop) if (auto part = getViewPart(); part && part->isDerivedFrom() && prop == &(HighlightAdjust)) { auto detail = static_cast(getViewPart()); - auto baseDvp = dynamic_cast(detail->BaseView.getValue()); + auto baseDvp = freecad_cast(detail->BaseView.getValue()); if (baseDvp) { baseDvp->requestPaint(); }