9#include "MantidKernel/DllConfig.h"
18class IPropertyManager;
27 const std::function<std::string(std::string, std::string)> &changeCriterion)
28 :
IPropertySettings(), m_watchedPropName{watchedPropName}, m_changeCriterion{changeCriterion} {}
31 bool isConditionChanged(
const IPropertyManager *algo,
const std::string &changedPropName)
const override;
38 std::vector<std::string> dependsOn(
const std::string &thisProp)
const override;
Interface to PropertyManager.
Interface for modifiers to Property's that specify if they should be enabled or visible in a GUI.
std::function< std::string(std::string, std::string)> m_changeCriterion
Callback to check and actually apply any required changes: this function returns a new string value f...
SetValueWhenProperty(const std::string &watchedPropName, const std::function< std::string(std::string, std::string)> &changeCriterion)
Constructs an SetValueWhenProperty object which checks the watched property with name given and uses ...
std::string m_watchedPropName
Name of the watched property, which is the property that the current property's value depends on.
Helper class which provides the Collimation Length for SANS instruments.