diff --git a/src/Gui/Tree.cpp b/src/Gui/Tree.cpp
index df2eefcb24..9cc8fb157d 100644
--- a/src/Gui/Tree.cpp
+++ b/src/Gui/Tree.cpp
@@ -223,6 +223,7 @@ public:
Connection connectIcon;
Connection connectTool;
Connection connectStat;
+ Connection connectHl;
DocumentObjectData(DocumentItem* docItem, ViewProviderDocumentObject* vpd)
: docItem(docItem)
@@ -236,6 +237,8 @@ public:
std::bind(&DocumentObjectData::slotChangeToolTip, this, sp::_1));
connectStat = viewObject->signalChangeStatusTip.connect(
std::bind(&DocumentObjectData::slotChangeStatusTip, this, sp::_1));
+ connectHl = viewObject->signalChangeHighlight.connect(
+ std::bind(&DocumentObjectData::slotChangeHighlight, this, sp::_1, sp::_2));
//NOLINTEND
removeChildrenFromRoot = viewObject->canRemoveChildrenFromRoot();
@@ -359,6 +362,11 @@ public:
for (auto item : items)
item->setStatusTip(0, tip);
}
+
+ void slotChangeHighlight(bool set, Gui::HighlightMode mode) {
+ for (auto item : items)
+ item->setHighlight(set, mode);
+ }
};
// ---------------------------------------------------------------------------
diff --git a/src/Gui/ViewProvider.h b/src/Gui/ViewProvider.h
index 89529608d4..fce09375d2 100644
--- a/src/Gui/ViewProvider.h
+++ b/src/Gui/ViewProvider.h
@@ -36,6 +36,7 @@
#include
#include
+#include "TreeItemMode.h"
class SbVec2s;
class SbVec3f;
@@ -359,6 +360,8 @@ public:
boost::signals2::signal signalChangeToolTip;
/// signal on status tip change
boost::signals2::signal signalChangeStatusTip;
+ /// signal on highlight change
+ boost::signals2::signal signalChangeHighlight;
//@}
/** update the content of the ViewProvider
diff --git a/src/Gui/ViewProviderSuppressibleExtension.cpp b/src/Gui/ViewProviderSuppressibleExtension.cpp
index 9397bbce29..6c084775b8 100644
--- a/src/Gui/ViewProviderSuppressibleExtension.cpp
+++ b/src/Gui/ViewProviderSuppressibleExtension.cpp
@@ -62,7 +62,7 @@ void ViewProviderSuppressibleExtension::extensionUpdateData(const App::Property*
//update the tree item
bool suppressed = ext->Suppressed.getValue();
setSuppressedIcon(suppressed);
- vp->getDocument()->signalHighlightObject(*vp, Gui::HighlightMode::StrikeOut, suppressed, owner, 0);
+ getExtendedViewProvider()->signalChangeHighlight(suppressed, Gui::HighlightMode::StrikeOut);
}
}