16class CompositeFunction;
33namespace MantidWidgets {
34class FitPropertyBrowser;
55 void removeFunction();
57 void renameChildren()
const;
61 QString functionName()
const;
63 QString functionPrefix()
const;
66 std::shared_ptr<Mantid::API::CompositeFunction>
cfun()
const {
return m_cf; }
68 std::shared_ptr<Mantid::API::IPeakFunction>
pfun()
const {
return m_pf; }
70 std::shared_ptr<Mantid::API::IFunction>
ifun()
const {
return m_fun; }
72 QtBrowserItem *
item()
const {
return m_item; }
81 std::shared_ptr<const Mantid::API::CompositeFunction> findCompositeFunction(QtBrowserItem *item)
const;
86 std::shared_ptr<const Mantid::API::IFunction> findFunction(QtBrowserItem *item)
const;
97 bool setParameter(QtProperty *prop);
100 bool isParameter(QtProperty *prop);
109 bool setAttribute(QtProperty *prop,
bool resetProperties =
true);
123 template <
typename AttributeType>
void setAttribute(QString
const &attName, AttributeType
const &attValue);
131 void setAttribute(
const QString &attName,
const QString &attValue);
134 void setVectorAttribute(QtProperty *prop);
137 void updateParameters();
140 void updateAttributes();
149 QtProperty *getParameterProperty(
const QString &parName)
const;
153 QtProperty *getParameterProperty(QtProperty *prop)
const;
159 std::shared_ptr<Mantid::API::IFunction> changeType(QtProperty *prop);
161 void setHeight(
const double &h);
162 void setCentre(
const double &c);
163 void setFwhm(
const double &w);
168 double EstimateFwhm()
const;
171 double centre()
const;
173 std::string getWidthParameterName()
const;
174 std::string getCentreParameterName()
const;
175 bool isParameterExplicitlySet(
const std::string ¶m)
const;
176 double base()
const {
return m_base; }
178 void addTie(
const QString &tieStr);
179 void fix(
const QString &parName);
180 void removeTie(QtProperty *prop,
const std::string &globalName);
181 void removeTie(QtProperty *prop);
182 void removeTie(
const QString &propName);
183 void addConstraint(QtProperty *parProp,
bool lo,
bool up,
double loBound,
double upBound);
184 void removeConstraint(QtProperty *parProp);
195 void removeAllPlots();
200 void updateWorkspaces(QStringList oldWorkspaces);
202 void setFunctionWorkspace();
205 QString updateStructureTooltip();
207 QMap<QString, QtProperty *>
getTies() {
return m_ties; };
216 void initAttributes();
217 void initParameters();
218 void initWorkspace();
223 std::shared_ptr<Mantid::API::CompositeFunction>
m_cf;
224 std::shared_ptr<Mantid::API::IPeakFunction>
m_pf;
225 std::shared_ptr<Mantid::API::CompositeFunction>
m_parent;
244 void updateParameter(QtProperty *prop);
247 void updateError(QtProperty *prop);
250 void clearError(QtProperty *prop);
253 void applyToAllParameters(
void (
PropertyHandler::*func)(QtProperty *));
256 void updateAttribute(QtProperty *prop);
259 void applyToAllAttributes(
void (
PropertyHandler::*func)(QtProperty *));
#define EXPORT_OPT_MANTIDQT_COMMON
Classes inherited from FunctionHandler will handle the function.
Attribute is a non-fitting parameter.
This is an interface to a fitting function - a semi-abstarct class.
The AlgorithmProgressDialogPresenter keeps track of the running algorithms and displays a progress ba...
std::shared_ptr< IFunction > IFunction_sptr
shared pointer to the function base class
std::shared_ptr< const IFunction > IFunction_const_sptr
shared pointer to the function base class (const version)
Helper class which provides the Collimation Length for SANS instruments.