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:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@ PROPERTY_SOURCE(PartGui::ViewProviderPrimitive, PartGui::ViewProviderPart)
|
||||
ViewProviderPrimitive::ViewProviderPrimitive()
|
||||
{
|
||||
extension.initExtension(this);
|
||||
extension.setIgnoreOverlayIcon(true);
|
||||
}
|
||||
|
||||
ViewProviderPrimitive::~ViewProviderPrimitive()
|
||||
|
||||
Reference in New Issue
Block a user