Gui::Add mergeoverlay function to ViewProviderExtension

This commit is contained in:
Abdullah Tahiri
2019-06-18 19:58:45 +02:00
committed by wmayer
parent db5ef314bf
commit 4150488139
3 changed files with 22 additions and 32 deletions

View File

@@ -271,7 +271,15 @@ QIcon ViewProvider::getIcon(void) const
QIcon ViewProvider::mergeOverlayIcons (const QIcon & orig) const
{
return orig;
auto vector = getExtensionsDerivedFromType<Gui::ViewProviderExtension>();
QIcon overlayedIcon = orig;
for (Gui::ViewProviderExtension* ext : vector) {
overlayedIcon = ext->extensionMergeOverlayIcons(overlayedIcon);
}
return overlayedIcon;
}
void ViewProvider::setTransformation(const Base::Matrix4D &rcMatrix)
@@ -500,21 +508,6 @@ void addNodes(Graph& graph, std::map<SoNode*, Vertex>& vertexNodeMap, SoNode* no
}
}
QIcon ViewProvider::mergePixmap (const QIcon &base, const QPixmap &px, Gui::BitmapFactoryInst::Position position) const
{
QIcon overlayedIcon;
int w = QApplication::style()->pixelMetric(QStyle::PM_ListViewIconSize);
overlayedIcon.addPixmap(Gui::BitmapFactory().merge(base.pixmap(w, w, QIcon::Normal, QIcon::Off),
px,position), QIcon::Normal, QIcon::Off);
overlayedIcon.addPixmap(Gui::BitmapFactory().merge(base.pixmap(w, w, QIcon::Normal, QIcon::On ),
px,position), QIcon::Normal, QIcon::Off);
return overlayedIcon;
}
bool ViewProvider::checkRecursion(SoNode* node)
{
if (node->getTypeId().isDerivedFrom(SoGroup::getClassTypeId())) {