Merge pull request #27770 from FreeCAD/backport-27577-to-releases/FreeCAD-1-1

[Backport releases/FreeCAD-1-1] FEM: Reenable visibility icon for Analysis and Solver
This commit is contained in:
Max Wilfinger
2026-02-21 18:20:44 +01:00
committed by GitHub
7 changed files with 33 additions and 2 deletions
+2
View File
@@ -97,6 +97,8 @@ ViewProviderTextDocument::ViewProviderTextDocument()
OnTopWhenSelected.setStatus(App::Property::Hidden, true);
SelectionStyle.setStatus(App::Property::Hidden, true);
Visibility.setStatus(App::Property::Hidden, true);
setToggleVisibility(ToggleVisibilityMode::NoToggleVisibility);
}
void ViewProviderTextDocument::setupContextMenu(QMenu* menu, QObject* receiver, const char* member)
+5 -1
View File
@@ -99,7 +99,6 @@ PROPERTY_SOURCE(FemGui::ViewProviderFemAnalysis, Gui::ViewProviderDocumentObject
ViewProviderFemAnalysis::ViewProviderFemAnalysis()
{
setToggleVisibility(ToggleVisibilityMode::NoToggleVisibility);
sPixmap = "FEM_Analysis";
}
@@ -148,6 +147,11 @@ std::vector<App::DocumentObject*> ViewProviderFemAnalysis::claimChildren() const
return Gui::ViewProviderDocumentObjectGroup::claimChildren();
}
std::vector<std::string> ViewProviderFemAnalysis::getDisplayModes() const
{
return {"Analysis"};
}
void ViewProviderFemAnalysis::hide()
{
Gui::ViewProviderDocumentObjectGroup::hide();
+2
View File
@@ -77,6 +77,8 @@ public:
void setupContextMenu(QMenu*, QObject*, const char*) override;
/// list of all possible display modes
std::vector<std::string> getDisplayModes() const override;
/// shows solid in the tree
bool isShow() const override
{
+1 -1
View File
@@ -45,7 +45,7 @@ public:
// shows solid in the tree
bool isShow() const override
{
return true;
return Visibility.getValue();
}
};
+5
View File
@@ -45,6 +45,11 @@ ViewProviderSolver::ViewProviderSolver()
ViewProviderSolver::~ViewProviderSolver() = default;
std::vector<std::string> ViewProviderSolver::getDisplayModes() const
{
return {"Solver"};
}
bool ViewProviderSolver::onDelete(const std::vector<std::string>&)
{
// warn the user if the object has unselected children
+2
View File
@@ -53,6 +53,8 @@ public:
{
return Visibility.getValue();
}
/// A list of all possible display modes
std::vector<std::string> getDisplayModes() const override;
// handling when object is deleted
bool onDelete(const std::vector<std::string>&) override;
@@ -87,3 +87,19 @@ class VPResultMechanical(view_base_femconstraint.VPBaseFemConstraint):
else:
return False
return True
def onChanged(self, vp, prop):
if prop != "Visibility":
return
for child in self.claimChildren():
try:
if child is None:
continue
childViewObject = getattr(child, "ViewObject", None)
if childViewObject is None:
continue
child.ViewObject.Visibility = self.Object.ViewObject.Visibility
except Exception:
pass