diff --git a/src/Gui/TaskMeasure.cpp b/src/Gui/TaskMeasure.cpp index 7d18b5593a..3b09f43e5f 100644 --- a/src/Gui/TaskMeasure.cpp +++ b/src/Gui/TaskMeasure.cpp @@ -259,7 +259,7 @@ void ensureGroup(Measure::MeasureBase* measurement) { App::Document* doc = App::GetApplication().getActiveDocument(); App::DocumentObject* obj = doc->getObject(measurementGroupName); if (!obj || !obj->isValid()) { - obj = doc->addObject("App::DocumentObjectGroup", measurementGroupName); + obj = doc->addObject("App::DocumentObjectGroup", measurementGroupName, true, "MeasureGui::ViewProviderMeasureGroup"); } auto group = static_cast(obj); diff --git a/src/Mod/Measure/Gui/AppMeasureGui.cpp b/src/Mod/Measure/Gui/AppMeasureGui.cpp index 5b9043e1af..4e109250c6 100644 --- a/src/Mod/Measure/Gui/AppMeasureGui.cpp +++ b/src/Mod/Measure/Gui/AppMeasureGui.cpp @@ -87,6 +87,7 @@ PyMOD_INIT_FUNC(MeasureGui) // instantiating the commands CreateMeasureCommands(); + MeasureGui::ViewProviderMeasureGroup ::init(); MeasureGui::ViewProviderMeasureBase ::init(); MeasureGui::ViewProviderMeasure ::init(); MeasureGui::ViewProviderMeasureAngle ::init(); diff --git a/src/Mod/Measure/Gui/ViewProviderMeasureBase.cpp b/src/Mod/Measure/Gui/ViewProviderMeasureBase.cpp index fbcb9270b7..167daef964 100644 --- a/src/Mod/Measure/Gui/ViewProviderMeasureBase.cpp +++ b/src/Mod/Measure/Gui/ViewProviderMeasureBase.cpp @@ -41,6 +41,7 @@ #include #include +#include #include #include #include @@ -50,10 +51,24 @@ #include #include "ViewProviderMeasureBase.h" - using namespace MeasureGui; using namespace Measure; + +PROPERTY_SOURCE(MeasureGui::ViewProviderMeasureGroup, Gui::ViewProviderDocumentObjectGroup) + +ViewProviderMeasureGroup::ViewProviderMeasureGroup() +{} + +ViewProviderMeasureGroup::~ViewProviderMeasureGroup() = default; + +QIcon ViewProviderMeasureGroup::getIcon() const +{ + return Gui::BitmapFactory().pixmap("Measurement-Group.svg"); +} + + + //NOLINTBEGIN PROPERTY_SOURCE(MeasureGui::ViewProviderMeasureBase, Gui::ViewProviderDocumentObject) //NOLINTEND diff --git a/src/Mod/Measure/Gui/ViewProviderMeasureBase.h b/src/Mod/Measure/Gui/ViewProviderMeasureBase.h index 5b6f456d32..79d87593cc 100644 --- a/src/Mod/Measure/Gui/ViewProviderMeasureBase.h +++ b/src/Mod/Measure/Gui/ViewProviderMeasureBase.h @@ -31,6 +31,7 @@ #include #include #include +#include #include @@ -49,6 +50,24 @@ class SoTranslate2Dragger; namespace MeasureGui { + +class MeasureGuiExport ViewProviderMeasureGroup : public Gui::ViewProviderDocumentObjectGroup +{ + PROPERTY_HEADER_WITH_OVERRIDE(MeasureGui::ViewProviderMeasureGroup); + +public: + ViewProviderMeasureGroup(); + ~ViewProviderMeasureGroup() override; + + bool allowOverride(const App::DocumentObject &) const override { + return true; + } + + QIcon getIcon() const override; +}; + + + //NOLINTBEGIN class MeasureGuiExport ViewProviderMeasureBase :public Gui::ViewProviderDocumentObject {