diff --git a/src/Mod/Fem/Gui/Command.cpp b/src/Mod/Fem/Gui/Command.cpp index 8189e097e3..bef0e624d8 100644 --- a/src/Mod/Fem/Gui/Command.cpp +++ b/src/Mod/Fem/Gui/Command.cpp @@ -1288,7 +1288,7 @@ bool CmdFemPostClipFilter::isActive(void) // only allow one object if (getSelection().getSelection().size() > 1) return false; - // only activate if a result is either a post pipeline, scalar, cut or warp filter or itself + // only activate if a result is either a post pipeline, scalar, cut or warp filter, itself or along line filter if (getSelection().getObjectsOfType().size() == 1) return true; else if (getSelection().getObjectsOfType().size() == 1) @@ -1299,6 +1299,8 @@ bool CmdFemPostClipFilter::isActive(void) return true; else if (getSelection().getObjectsOfType().size() == 1) return true; + else if (getSelection().getObjectsOfType().size() == 1) + return true; else return false; } @@ -1329,7 +1331,7 @@ bool CmdFemPostCutFilter::isActive(void) // only allow one object if (getSelection().getSelection().size() > 1) return false; - // only activate if a result is either a post pipeline, scalar, clip or warp filter or itself + // only activate if a result is either a post pipeline, scalar, clip or warp filter, itself, or along line filter if (getSelection().getObjectsOfType().size() == 1) return true; else if (getSelection().getObjectsOfType().size() == 1) @@ -1340,6 +1342,8 @@ bool CmdFemPostCutFilter::isActive(void) return true; else if (getSelection().getObjectsOfType().size() == 1) return true; + else if (getSelection().getObjectsOfType().size() == 1) + return true; else return false; } @@ -1370,7 +1374,19 @@ bool CmdFemPostDataAlongLineFilter::isActive(void) // only allow one object if (getSelection().getSelection().size() > 1) return false; - return hasActiveDocument(); + // only activate if a result is either a post pipeline, scalar, cut, clip or warp filter + if (getSelection().getObjectsOfType().size() == 1) + return true; + else if (getSelection().getObjectsOfType().size() == 1) + return true; + else if (getSelection().getObjectsOfType().size() == 1) + return true; + else if (getSelection().getObjectsOfType().size() == 1) + return true; + else if (getSelection().getObjectsOfType().size() == 1) + return true; + else + return false; } @@ -1401,7 +1417,21 @@ bool CmdFemPostDataAtPointFilter::isActive(void) // only allow one object if (getSelection().getSelection().size() > 1) return false; - return hasActiveDocument(); + // only activate if a result is either a post pipeline, scalar, cut, clip, warp or along line filter + if (getSelection().getObjectsOfType().size() == 1) + return true; + else if (getSelection().getObjectsOfType().size() == 1) + return true; + else if (getSelection().getObjectsOfType().size() == 1) + return true; + else if (getSelection().getObjectsOfType().size() == 1) + return true; + else if (getSelection().getObjectsOfType().size() == 1) + return true; + else if (getSelection().getObjectsOfType().size() == 1) + return true; + else + return false; } @@ -1453,11 +1483,16 @@ void CmdFemPostLinearizedStressesFilter::activated(int) qApp->translate("CmdFemPostLinearizedStressesFilter", "Wrong selection"), qApp->translate("CmdFemPostLinearizedStressesFilter", "Select a Clip filter which clips a STRESS field along a line, please.")); } - } bool CmdFemPostLinearizedStressesFilter::isActive(void) { + // only allow one object + if (getSelection().getSelection().size() > 1) + return false; + + // we purposely allow it also not non-along line filters because we issue an error message that + // also explains what the feature is for and how it is set up return hasActiveDocument(); } @@ -1487,7 +1522,7 @@ bool CmdFemPostScalarClipFilter::isActive(void) // only allow one object if (getSelection().getSelection().size() > 1) return false; - // only activate if a result is either a post pipeline, clip, cut or warp filter + // only activate if a result is either a post pipeline, clip, cut, warp or along line filter if (getSelection().getObjectsOfType().size() == 1) return true; else if (getSelection().getObjectsOfType().size() == 1) @@ -1496,6 +1531,8 @@ bool CmdFemPostScalarClipFilter::isActive(void) return true; else if (getSelection().getObjectsOfType().size() == 1) return true; + else if (getSelection().getObjectsOfType().size() == 1) + return true; else return false; } @@ -1526,7 +1563,7 @@ bool CmdFemPostWarpVectorFilter::isActive(void) // only allow one object if (getSelection().getSelection().size() > 1) return false; - // only activate if a result is either a post pipeline, scalar, clip or cut filter + // only activate if a result is either a post pipeline, scalar, clip, cut or along line filter if (getSelection().getObjectsOfType().size() == 1) return true; else if (getSelection().getObjectsOfType().size() == 1) @@ -1535,6 +1572,8 @@ bool CmdFemPostWarpVectorFilter::isActive(void) return true; else if (getSelection().getObjectsOfType().size() == 1) return true; + else if (getSelection().getObjectsOfType().size() == 1) + return true; else return false; }