From e06d8abe3a996a31bf0fc78f9689dc0880c23299 Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Mon, 2 Jun 2025 18:29:22 +0200 Subject: [PATCH] TechDraw: Sheet view: add property to claim sheet as child. (#21624) * TechDraw: Sheet view: add property to claim sheet as child. * Update ViewProviderSpreadsheet.cpp * Fix bad scale of sheet views --- .../TechDraw/Gui/ViewProviderSpreadsheet.cpp | 17 +++++++++++++++++ src/Mod/TechDraw/Gui/ViewProviderSpreadsheet.h | 3 +++ 2 files changed, 20 insertions(+) diff --git a/src/Mod/TechDraw/Gui/ViewProviderSpreadsheet.cpp b/src/Mod/TechDraw/Gui/ViewProviderSpreadsheet.cpp index 650530e595..b8fc4878a6 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderSpreadsheet.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderSpreadsheet.cpp @@ -35,6 +35,12 @@ PROPERTY_SOURCE(TechDrawGui::ViewProviderSpreadsheet, TechDrawGui::ViewProviderS ViewProviderSpreadsheet::ViewProviderSpreadsheet() { sPixmap = "TechDraw_TreeSpreadsheet"; + ADD_PROPERTY_TYPE(ClaimSheetAsChild, + (false), + "Display Options", + App::Prop_None, + "Claim (or not) the spreadsheet source as a child of the view."); + LegacyScaling.setValue(true); } ViewProviderSpreadsheet::~ViewProviderSpreadsheet() @@ -45,3 +51,14 @@ TechDraw::DrawViewSpreadsheet* ViewProviderSpreadsheet::getViewObject() const { return dynamic_cast(pcObject); } + +std::vector ViewProviderSpreadsheet::claimChildren() const +{ + std::vector temp; + + if (ClaimSheetAsChild.getValue()) { + temp.push_back(getViewObject()->Source.getValue()); + } + + return temp; +} diff --git a/src/Mod/TechDraw/Gui/ViewProviderSpreadsheet.h b/src/Mod/TechDraw/Gui/ViewProviderSpreadsheet.h index 6675cc0d30..065cc4a090 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderSpreadsheet.h +++ b/src/Mod/TechDraw/Gui/ViewProviderSpreadsheet.h @@ -43,6 +43,9 @@ public: /// destructor ~ViewProviderSpreadsheet() override; + App::PropertyBool ClaimSheetAsChild; + std::vector claimChildren(void) const override; + bool useNewSelectionModel() const override {return false;} TechDraw::DrawViewSpreadsheet* getViewObject() const override;