PartDesign: Add transparent previews
This commit is contained in:
@@ -39,11 +39,23 @@
|
||||
#include "ViewProviderDressUp.h"
|
||||
#include "TaskDressUpParameters.h"
|
||||
|
||||
#include <Gui/Utilities.h>
|
||||
|
||||
using namespace PartDesignGui;
|
||||
|
||||
PROPERTY_SOURCE(PartDesignGui::ViewProviderDressUp,PartDesignGui::ViewProvider)
|
||||
PROPERTY_SOURCE(PartDesignGui::ViewProviderDressUp, PartDesignGui::ViewProvider)
|
||||
|
||||
|
||||
void ViewProviderDressUp::attach(App::DocumentObject* pcObject)
|
||||
{
|
||||
ViewProvider::attach(pcObject);
|
||||
|
||||
const Base::Color magenta(1.0F, 0.0F, 1.0F);
|
||||
PreviewColor.setValue(magenta);
|
||||
|
||||
setErrorState(false);
|
||||
}
|
||||
|
||||
void ViewProviderDressUp::setupContextMenu(QMenu* menu, QObject* receiver, const char* member)
|
||||
{
|
||||
QString text = QString::fromStdString(getObject()->Label.getStrValue());
|
||||
@@ -121,3 +133,13 @@ void ViewProviderDressUp::highlightReferences(const bool on)
|
||||
}
|
||||
}
|
||||
|
||||
void ViewProviderDressUp::setErrorState(bool error)
|
||||
{
|
||||
const Base::Color red(1.0, 0.0, 0.0);
|
||||
|
||||
constexpr float errorTransparency = 0.95F;
|
||||
|
||||
pcPreviewShape->transparency = error ? errorTransparency : PartGui::SoPreviewShape::defaultTransparency;
|
||||
pcPreviewShape->color = Base::convertTo<SbColor>(error ? red : PreviewColor.getValue());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user