[FEM] PostObject: improve color bar refreshing
- for data point filters the color bar must not be updated
This commit is contained in:
@@ -698,11 +698,13 @@ void ViewProviderFemPostObject::hide(void) {
|
||||
void ViewProviderFemPostObject::show(void) {
|
||||
Gui::ViewProviderDocumentObject::show();
|
||||
m_colorStyle->style = SoDrawStyle::FILLED;
|
||||
// we must update the color bar
|
||||
// we must update the color bar except for data point filters
|
||||
auto nameVP = std::string(this->getObject()->getViewProviderName());
|
||||
if (nameVP.compare("FemGui::ViewProviderFemPostDataAtPoint") == 0)
|
||||
return;
|
||||
WriteColorData(true);
|
||||
}
|
||||
|
||||
|
||||
void ViewProviderFemPostObject::OnChange(Base::Subject< int >& /*rCaller*/, int /*rcReason*/) {
|
||||
bool ResetColorBarRange = false;
|
||||
WriteColorData(ResetColorBarRange);
|
||||
@@ -750,16 +752,19 @@ bool ViewProviderFemPostObject::canDelete(App::DocumentObject* obj) const
|
||||
void ViewProviderFemPostObject::selectionChanged(const Gui::SelectionChanges &sel)
|
||||
{
|
||||
// If a FemPostObject is selected in the document tree we must refresh its
|
||||
// Field property to update the color bar.
|
||||
// But don't do this if the object is invisible because otherobjects with a
|
||||
// color bar.
|
||||
// But don't do this if the object is invisible because other objects with a
|
||||
// color bar might be visible and the color bar is then wrong.
|
||||
// Also don't do this for point filters because for them a color bar is not sensible.
|
||||
if (sel.Type == sel.AddSelection) {
|
||||
Gui::SelectionObject obj(sel);
|
||||
if (obj.getObject() == this->getObject()) {
|
||||
if (!this->getObject()->Visibility.getValue())
|
||||
return;
|
||||
auto nameVP = std::string(this->getObject()->getViewProviderName());
|
||||
if (nameVP.compare("FemGui::ViewProviderFemPostDataAtPoint") == 0)
|
||||
return;
|
||||
WriteColorData(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user