Merge pull request #19142 from hyarion/refactor/add-template-addobject

Add new addObject<T>() function
This commit is contained in:
Chris Hennes
2025-02-11 09:42:47 -06:00
committed by GitHub
95 changed files with 335 additions and 340 deletions

View File

@@ -124,15 +124,13 @@ void CmdTechDrawPageDefault::activated(int iMsg)
Gui::WaitCursor wc;
openCommand(QT_TRANSLATE_NOOP("Command", "Drawing create page"));
auto page = dynamic_cast<TechDraw::DrawPage *>
(getDocument()->addObject("TechDraw::DrawPage", "Page"));
auto page = getDocument()->addObject<TechDraw::DrawPage>("Page");
if (!page) {
throw Base::TypeError("CmdTechDrawPageDefault - page not created");
}
page->translateLabel("DrawPage", "Page", page->getNameInDocument());
auto svgTemplate = dynamic_cast<TechDraw::DrawSVGTemplate *>
(getDocument()->addObject("TechDraw::DrawSVGTemplate", "Template"));
auto svgTemplate = getDocument()->addObject<TechDraw::DrawSVGTemplate>("Template");
if (!svgTemplate) {
throw Base::TypeError("CmdTechDrawPageDefault - template not created");
}
@@ -195,15 +193,13 @@ void CmdTechDrawPageTemplate::activated(int iMsg)
Gui::WaitCursor wc;
openCommand(QT_TRANSLATE_NOOP("Command", "Drawing create page"));
auto page = dynamic_cast<TechDraw::DrawPage *>
(getDocument()->addObject("TechDraw::DrawPage", "Page"));
auto page = getDocument()->addObject<TechDraw::DrawPage>("Page");
if (!page) {
throw Base::TypeError("CmdTechDrawPageTemplate - page not created");
}
page->translateLabel("DrawPage", "Page", page->getNameInDocument());
auto svgTemplate = dynamic_cast<TechDraw::DrawSVGTemplate *>
(getDocument()->addObject("TechDraw::DrawSVGTemplate", "Template"));
auto svgTemplate = getDocument()->addObject<TechDraw::DrawSVGTemplate>("Template");
if (!svgTemplate) {
throw Base::TypeError("CmdTechDrawPageTemplate - template not created");
}

View File

@@ -397,8 +397,7 @@ bool TaskSurfaceFinishSymbols::accept()
{
Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Surface Finish Symbols"));
App::Document *doc = Application::Instance->activeDocument()->getDocument();
App::DocumentObject *docObject = doc->addObject("TechDraw::DrawViewSymbol", "SurfaceSymbol");
TechDraw::DrawViewSymbol *surfaceSymbol = dynamic_cast<TechDraw::DrawViewSymbol*>(docObject);
auto* surfaceSymbol = doc->addObject<TechDraw::DrawViewSymbol>("SurfaceSymbol");
surfaceSymbol->Symbol.setValue(completeSymbol());
surfaceSymbol->Rotation.setValue(ui->leAngle->text().toDouble());

View File

@@ -457,7 +457,7 @@ TechDraw::DrawWeldSymbol* TaskWeldingSymbol::createWeldingSymbol()
{
// Base::Console().Message("TWS::createWeldingSymbol()\n");
App::Document *doc = Application::Instance->activeDocument()->getDocument();
auto weldSymbol = dynamic_cast<TechDraw::DrawWeldSymbol*>(doc->addObject("TechDraw::DrawWeldSymbol", "WeldSymbol"));
auto weldSymbol = doc->addObject<TechDraw::DrawWeldSymbol>("WeldSymbol");
if (!weldSymbol) {
throw Base::RuntimeError("TaskWeldingSymbol - new symbol object not found");
}