29class QtTreePropertyBrowser;
30class QtGroupPropertyManager;
31class QtDoublePropertyManager;
32class QtIntPropertyManager;
33class QtBoolPropertyManager;
34class QtStringPropertyManager;
35class QtEnumPropertyManager;
36class ParameterPropertyManager;
54namespace MantidWidgets {
57class SelectFunctionDialog;
81 double centre()
const;
83 void setCentre(
double value);
87 void setHeight(
double value);
91 void setFwhm(
double value);
101 std::shared_ptr<const Mantid::API::IFunction> theFunction()
const;
103 void updateParameters();
105 void updateAttributes();
109 QStringList getParameterNames()
const;
111 std::string getFitAlgorithmParameters()
const;
113 std::string getFitAlgorithmOutputStatus()
const;
116 void loadFunction(
const QString &funcString);
118 void saveFunction(
const QString &fnName);
126 std::shared_ptr<Mantid::API::CompositeFunction>
compositeFunction()
const {
return m_compositeFunction; }
134 std::string defaultFunctionType()
const;
136 void setDefaultFunctionType(
const std::string &fnType);
138 std::string defaultPeakType();
140 void setDefaultPeakType(
const std::string &fnType);
142 std::string defaultBackgroundType()
const;
144 void setDefaultBackgroundType(
const std::string &fnType);
147 std::shared_ptr<Mantid::API::Workspace> getWorkspace()
const;
149 std::string workspaceName()
const;
151 virtual void setWorkspaceName(
const QString &wsName)
override;
153 int workspaceIndex()
const;
155 void setWorkspaceIndex(
int i)
override;
157 virtual std::string outputName()
const;
159 void setOutputName(
const std::string & );
161 std::string minimizer(
bool withProperties =
false)
const;
163 bool ignoreInvalidData()
const;
165 void setIgnoreInvalidData(
bool on);
167 std::string costFunction()
const;
169 bool convolveMembers()
const;
171 bool isHistogramFit()
const;
175 int maxIterations()
const;
177 int getPeakRadius()
const;
179 std::string getExcludeRange()
const;
181 QVector<double> getXRange();
184 std::string getFunctionString()
const;
186 double startX()
const;
188 void setStartX(
double start)
override;
192 void setEndX(
double end)
override;
194 void setXRange(
double start,
double end);
196 QString getXColumnName()
const;
198 QString getYColumnName()
const;
200 QString getErrColumnName()
const;
212 bool isUndoEnabled()
const;
214 bool isFitEnabled()
const;
217 virtual void setFitEnabled(
bool enable);
220 void setTip(
const QString &txt);
223 void setTextPlotGuess(
const QString &text);
238 void addAutoBackground();
239 bool isAutoBack()
const {
return m_autoBackground !=
nullptr; }
240 void setAutoBackgroundName(
const QString &aName);
241 void refitAutoBackground();
246 void setDecimals(
int d);
249 bool plotDiff()
const;
251 bool plotCompositeMembers()
const;
254 bool rawData()
const override;
256 void setADSObserveEnabled(
bool enabled);
258 void postDeleteHandle(
const std::string &wsName)
override;
259 void renameHandle(
const std::string &oldName,
const std::string &newName)
override;
260 void addHandle(
const std::string &wsName,
const std::shared_ptr<Mantid::API::Workspace> &ws)
override;
263 void removeWorkspace(
const std::string &wsName);
264 void removeWorkspaceAndSpectra(
const std::string &wsName);
271 QStringList getWorkspaceNames();
275 void allowSequentialFits(
bool allow)
override;
286 void addFitResultWorkspacesToTableWidget();
290 int sizeOfFunctionsGroup()
const;
294 void addAllowedSpectra(
const QString &wsName,
const QList<int> &wsIndices);
295 void addAllowedTableWorkspace(
const QString &wsName);
296 QString addFunction(
const QString &fnName);
298 void setPeakCentreOf(
const QString &prefix,
double value);
299 double getPeakCentreOf(
const QString &prefix);
300 void setPeakHeightOf(
const QString &prefix,
double value);
301 double getPeakHeightOf(
const QString &prefix);
302 void setPeakFwhmOf(
const QString &prefix,
double value);
303 double getPeakFwhmOf(
const QString &prefix);
304 std::string getWidthParameterNameOf(
const QString &prefix);
305 std::string getCentreParameterNameOf(
const QString &prefix);
306 bool isParameterExplicitlySetOf(
const QString &prefix,
const std::string ¶m);
307 QStringList getPeakPrefixes()
const;
315 virtual void toggleSettingsBrowserVisible();
316 virtual void removePropertiesFromSettingsBrowser(
const QStringList &propsToRemove);
317 virtual void toggleWsListVisible();
318 virtual void sequentialFit();
320 virtual void clear();
322 void setPeakToolOn(
bool on);
324 virtual void executeFitMenu(
const QString & );
325 void executeDisplayMenu(
const QString & );
326 void executeSetupMenu(
const QString & );
327 void executeSetupManageMenu(
const QString & );
328 void workspaceDoubleClicked(QListWidgetItem *item);
329 void executeCustomSetupRemove(
const QString &name);
330 void executeClearCustomSetups();
375 virtual void populateFunctionNames();
377 virtual void boolChanged(QtProperty *prop);
379 virtual void enumChanged(QtProperty *prop);
381 virtual void intChanged(QtProperty *prop);
383 virtual void doubleChanged(QtProperty *prop);
385 void enactAttributeChange(QtProperty *prop,
PropertyHandler *h,
const bool vectorAttribute =
false);
389 void parameterChanged(QtProperty *prop);
390 void stringChanged(QtProperty *prop);
391 void filenameChanged(QtProperty *prop);
392 void columnChanged(QtProperty *prop);
393 void currentItemChanged(QtBrowserItem * );
394 void vectorDoubleChanged(QtProperty *prop);
395 void vectorSizeChanged(QtProperty *prop);
397 void addTieToFunction();
400 void addLowerBound10();
401 void addLowerBound50();
402 void addLowerBound();
403 void addConstraint(
int f,
bool lo,
bool up);
404 void addUpperBound10();
405 void addUpperBound50();
406 void addUpperBound();
407 void addBothBounds10();
408 void addBothBounds50();
409 void addBothBounds();
411 void plotGuessCurrent();
413 void removeGuessCurrent();
414 void removeGuessAll();
415 void plotOrRemoveGuessAll();
416 void clearAllPlots();
419 void loadFunctionFromString();
428 void popupMenu(
const QPoint & );
431 void deleteFunction();
432 void setupMultifit();
435 void processMultiBGResults();
437 void executeCustomSetupLoad(
const QString &name);
440 void updateStructureTooltips();
442 void showFitResultStatus(
const QString &status);
444 void clearFitResultStatus();
447 void modifyFitMenu(QAction *fitAction,
bool enabled);
448 virtual void populateFitMenuButton(QSignalMapper *fitMapper, QMenu *fitMenu);
451 void showEvent(QShowEvent *e)
override;
453 void hideEvent(QHideEvent *e)
override;
455 void populateWorkspaceNames();
457 void createEditors(QWidget *w);
459 void initLayout(QWidget *w);
461 void initBasicLayout(QWidget *w);
463 void updateDecimals();
467 void setWorkspaceProperties();
469 virtual void addWorkspaceIndexToBrowser();
473 QtProperty *addDoubleProperty(
const QString &name, QtDoublePropertyManager *manager =
nullptr)
const;
475 void minimizerChanged();
477 void doFit(
int maxIterations);
479 void createCompositeFunction(
const QString &str =
"");
568 QPushButton *createFitMenuButton(QWidget *w);
572 QtBrowserItem *findItem(QtBrowserItem *parent, QtProperty *prop)
const;
577 QtProperty *addStringProperty(
const QString &name)
const;
578 void setStringPropertyValue(QtProperty *prop,
const QString &
value)
const;
579 QString getStringPropertyValue(QtProperty *prop)
const;
581 QtProperty *addStringListProperty(
const QString &name,
const std::vector<std::string> &allowed_values)
const;
583 void checkFunction();
585 int getAllowedIndex(
int currentIndex)
const;
590 virtual void workspaceChange(
const QString &wsName);
593 void hasConstraints(QtProperty *parProp,
bool &hasTie,
bool &hasBounds)
const;
595 QtProperty *getTieProperty(QtProperty *parProp)
const;
616 void updateSetupMenus();
#define EXPORT_OPT_MANTIDQT_COMMON
double value
The value of the point.
std::map< DeltaEMode::Type, std::string > index
Observes AnalysisDataService notifications: add,replace,delete.
Observes Algorithm notifications: start,progress,finish,error.
IAlgorithm is the interface implemented by the Algorithm base class.
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...
const Poco::AutoPtr< FunctionFactoryUpdateNotification > & FunctionFactoryUpdateNotification_ptr
Convenient typedef for an UpdateNotification AutoPtr.
std::shared_ptr< Workspace > Workspace_sptr
shared pointer to Mantid::API::Workspace
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)