Gui: Colorful/Greyable overlay status in icons

===============================================

Before this implementation, specific status via former mergeOverlayIcon() was greyed out
with the visibility.

With this commit, the developer has two options:

a) override mergeGreyableOverlayIcons, in which case the overlay will
be greyed out when the item is greyed out as per former mergeOverlayIcon()

b) override mergeColorfulOverlayIcons, in which case the overlay will
be superimposed after the icon is greyed out as it is the case for stardard
error and recompute flags.
This commit is contained in:
Abdullah Tahiri
2021-01-03 05:25:25 +01:00
committed by abdullahtahiriyo
parent e05bb7ac73
commit 4facab0936
15 changed files with 46 additions and 22 deletions

View File

@@ -50,7 +50,7 @@ ViewProviderAttachExtension::ViewProviderAttachExtension()
initExtensionType(ViewProviderAttachExtension::getExtensionClassTypeId());
}
QIcon ViewProviderAttachExtension::extensionMergeOverlayIcons(const QIcon & orig) const
QIcon ViewProviderAttachExtension::extensionMergeColorfullOverlayIcons (const QIcon & orig) const
{
QIcon mergedicon = orig;

View File

@@ -39,7 +39,7 @@ public:
ViewProviderAttachExtension(void);
virtual ~ViewProviderAttachExtension() = default;
virtual QIcon extensionMergeOverlayIcons(const QIcon & orig) const override;
virtual QIcon extensionMergeColorfullOverlayIcons (const QIcon & orig) const override;
virtual void extensionUpdateData(const App::Property*) override;
virtual void extensionSetupContextMenu(QMenu*, QObject*, const char*) override;

View File

@@ -221,7 +221,7 @@ void ViewProvider::setTipIcon(bool onoff) {
signalChangeIcon();
}
QIcon ViewProvider::mergeOverlayIcons (const QIcon & orig) const
QIcon ViewProvider::mergeColorfulOverlayIcons (const QIcon & orig) const
{
QIcon mergedicon = orig;
@@ -248,7 +248,7 @@ QIcon ViewProvider::mergeOverlayIcons (const QIcon & orig) const
}
return Gui::ViewProvider::mergeOverlayIcons(mergedicon);
return Gui::ViewProvider::mergeColorfulOverlayIcons (mergedicon);
}
bool ViewProvider::onDelete(const std::vector<std::string> &)

View File

@@ -70,6 +70,8 @@ public:
virtual PyObject* getPyObject(void) override;
virtual QIcon mergeColorfulOverlayIcons (const QIcon & orig) const override;
protected:
virtual void setupContextMenu(QMenu* menu, QObject* receiver, const char* member) override;
virtual bool setEdit(int ModNum) override;
@@ -77,8 +79,6 @@ protected:
virtual bool onDelete(const std::vector<std::string> &) override;
virtual QIcon mergeOverlayIcons (const QIcon & orig) const override;
/**
* Returns a newly create dialog for the part to be placed in the task view
* Must be reimplemented in subclasses.

View File

@@ -174,6 +174,6 @@ QIcon ViewProviderLoft::getIcon(void) const {
str += QString::fromLatin1("Subtractive_");
str += QString::fromLatin1("Loft.svg");
return PartDesignGui::ViewProvider::mergeOverlayIcons(Gui::BitmapFactory().pixmap(str.toStdString().c_str()));
return PartDesignGui::ViewProvider::mergeGreyableOverlayIcons(Gui::BitmapFactory().pixmap(str.toStdString().c_str()));
}

View File

@@ -207,6 +207,6 @@ QIcon ViewProviderPipe::getIcon(void) const {
str += QString::fromLatin1("Subtractive_");
str += QString::fromLatin1("Pipe.svg");
return PartDesignGui::ViewProvider::mergeOverlayIcons(Gui::BitmapFactory().pixmap(str.toStdString().c_str()));
return PartDesignGui::ViewProvider::mergeGreyableOverlayIcons(Gui::BitmapFactory().pixmap(str.toStdString().c_str()));
}

View File

@@ -172,5 +172,5 @@ QIcon ViewProviderPrimitive::getIcon(void) const {
}
str += QString::fromLatin1(".svg");
return PartDesignGui::ViewProvider::mergeOverlayIcons(Gui::BitmapFactory().pixmap(str.toStdString().c_str()));
return PartDesignGui::ViewProvider::mergeGreyableOverlayIcons(Gui::BitmapFactory().pixmap(str.toStdString().c_str()));
}

View File

@@ -47,7 +47,7 @@ ViewProviderCosmeticExtension::ViewProviderCosmeticExtension()
initExtensionType(ViewProviderCosmeticExtension::getExtensionClassTypeId());
}
QIcon ViewProviderCosmeticExtension::extensionMergeOverlayIcons(const QIcon & orig) const
QIcon ViewProviderCosmeticExtension::extensionMergeGreyableOverlayIcons(const QIcon & orig) const
{
QIcon mergedicon = orig;

View File

@@ -39,7 +39,7 @@ public:
ViewProviderCosmeticExtension(void);
virtual ~ViewProviderCosmeticExtension() = default;
virtual QIcon extensionMergeOverlayIcons(const QIcon & orig) const override;
virtual QIcon extensionMergeGreyableOverlayIcons(const QIcon & orig) const override;
virtual void extensionUpdateData(const App::Property*) override;