Gui: [skip ci] add method to ignore to merge icon of an extension that is e.g. used for Part primitives

This commit is contained in:
wmayer
2020-11-21 16:49:08 +01:00
parent 20649ec529
commit f9104f5884
3 changed files with 10 additions and 1 deletions

View File

@@ -312,7 +312,8 @@ QIcon ViewProvider::mergeOverlayIcons (const QIcon & orig) const
QIcon overlayedIcon = orig;
for (Gui::ViewProviderExtension* ext : vector) {
overlayedIcon = ext->extensionMergeOverlayIcons(overlayedIcon);
if (!ext->ignoreOverlayIcon())
overlayedIcon = ext->extensionMergeOverlayIcons(overlayedIcon);
}
return overlayedIcon;

View File

@@ -94,6 +94,12 @@ public:
//update data of extended opject
virtual void extensionUpdateData(const App::Property*);
void setIgnoreOverlayIcon(bool on) {
m_ignoreOverlayIcon = on;
}
bool ignoreOverlayIcon() const {
return m_ignoreOverlayIcon;
}
virtual QIcon extensionMergeOverlayIcons(const QIcon & orig) const {return orig;}
virtual void extensionStartRestoring() {}
@@ -103,6 +109,7 @@ public:
virtual bool extensionGetDetailPath(const char *, SoFullPath *, SoDetail *&) const {return false;}
private:
bool m_ignoreOverlayIcon = false;
//Gui::ViewProviderDocumentObject* m_viewBase = nullptr;
};

View File

@@ -52,6 +52,7 @@ PROPERTY_SOURCE(PartGui::ViewProviderPrimitive, PartGui::ViewProviderPart)
ViewProviderPrimitive::ViewProviderPrimitive()
{
extension.initExtension(this);
extension.setIgnoreOverlayIcon(true);
}
ViewProviderPrimitive::~ViewProviderPrimitive()