From 4a7f71449d1548c9137f22cfda5ff7d54a039daa Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Tue, 7 Nov 2023 15:53:42 +0100 Subject: [PATCH] EditableDatumLabel: Extend with function to differentiate positioning from dimensioning OVPs --- src/Gui/EditableDatumLabel.cpp | 9 ++++++++- src/Gui/EditableDatumLabel.h | 12 +++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/Gui/EditableDatumLabel.cpp b/src/Gui/EditableDatumLabel.cpp index c7dc1afe7e..14193d0aba 100644 --- a/src/Gui/EditableDatumLabel.cpp +++ b/src/Gui/EditableDatumLabel.cpp @@ -346,9 +346,10 @@ void EditableDatumLabel::setPoints(Base::Vector3d p1, Base::Vector3d p2) } // NOLINTNEXTLINE -void EditableDatumLabel::setLabelType(SoDatumLabel::Type type) +void EditableDatumLabel::setLabelType(SoDatumLabel::Type type, Function funct) { label->datumtype = type; + function = funct; } // NOLINTNEXTLINE @@ -393,4 +394,10 @@ void EditableDatumLabel::setSpinboxVisibleToMouse(bool val) spinBox->setAttribute(Qt::WA_TransparentForMouseEvents, !val); } +EditableDatumLabel::Function EditableDatumLabel::getFunction() +{ + return function; +} + #include "moc_EditableDatumLabel.cpp" // NOLINT + diff --git a/src/Gui/EditableDatumLabel.h b/src/Gui/EditableDatumLabel.h index e5c108bef7..0e8a5aba51 100644 --- a/src/Gui/EditableDatumLabel.h +++ b/src/Gui/EditableDatumLabel.h @@ -46,6 +46,12 @@ class GuiExport EditableDatumLabel : public QObject public: EditableDatumLabel(View3DInventorViewer* view, const Base::Placement& plc, SbColor color, bool autoDistance = false, bool avoidMouseCursor = false); + + enum class Function { + Positioning, + Dimensioning + }; + ~EditableDatumLabel() override; void activate(); @@ -63,7 +69,7 @@ public: void setPoints(SbVec3f p1, SbVec3f p2); void setPoints(Base::Vector3d p1, Base::Vector3d p2); void setFocusToSpinbox(); - void setLabelType(SoDatumLabel::Type type); + void setLabelType(SoDatumLabel::Type type, Function function = Function::Positioning); void setLabelDistance(double val); void setLabelStartAngle(double val); void setLabelRange(double val); @@ -71,6 +77,8 @@ public: void setLabelAutoDistanceReverse(bool val); void setSpinboxVisibleToMouse(bool val); + Function getFunction(); + // NOLINTBEGIN SoDatumLabel* label; bool isSet; @@ -94,6 +102,8 @@ private: QuantitySpinBox* spinBox; SoNodeSensor* cameraSensor; SbVec3f midpos; + + Function function; }; }