30class QtTreePropertyBrowser;
31class QtGroupPropertyManager;
32class QtDoublePropertyManager;
33class QtIntPropertyManager;
34class QtBoolPropertyManager;
35class QtStringPropertyManager;
36class QtEnumPropertyManager;
37class ParameterPropertyManager;
55namespace MantidWidgets {
58class SelectFunctionDialog;
82 double centre()
const;
84 void setCentre(
double value);
88 void setHeight(
double value);
92 void setFwhm(
double value);
102 std::shared_ptr<const Mantid::API::IFunction> theFunction()
const;
104 void updateParameters();
106 void updateAttributes();
110 QStringList getParameterNames()
const;
112 const std::string &getFitAlgorithmParameters()
const;
114 const std::string &getFitAlgorithmOutputStatus()
const;
117 void loadFunction(
const QString &funcString);
119 void saveFunction(
const QString &fnName);
127 std::shared_ptr<Mantid::API::CompositeFunction>
compositeFunction()
const {
return m_compositeFunction; }
135 const std::string &defaultFunctionType()
const;
137 void setDefaultFunctionType(
const std::string &fnType);
139 std::string defaultPeakType();
141 void setDefaultPeakType(
const std::string &fnType);
143 const std::string &defaultBackgroundType()
const;
145 void setDefaultBackgroundType(
const std::string &fnType);
148 std::shared_ptr<Mantid::API::Workspace> getWorkspace()
const;
150 std::string workspaceName()
const;
152 virtual void setWorkspaceName(
const QString &wsName)
override;
154 int workspaceIndex()
const;
156 void setWorkspaceIndex(
int i)
override;
158 virtual std::string outputName()
const;
160 void setOutputName(
const std::string & );
162 std::string minimizer(
bool withProperties =
false)
const;
164 bool ignoreInvalidData()
const;
166 void setIgnoreInvalidData(
bool on);
168 std::string costFunction()
const;
170 bool convolveMembers()
const;
172 bool isHistogramFit()
const;
176 int maxIterations()
const;
178 int getPeakRadius()
const;
180 std::string getExcludeRange()
const;
182 QVector<double> getXRange();
185 std::string getFunctionString()
const;
187 double startX()
const;
189 void setStartX(
double start)
override;
193 void setEndX(
double end)
override;
195 void setXRange(
double start,
double end);
197 QString getXColumnName()
const;
199 QString getYColumnName()
const;
201 QString getErrColumnName()
const;
213 bool isUndoEnabled()
const;
215 bool isFitEnabled()
const;
218 virtual void setFitEnabled(
bool enable);
221 void setTip(
const QString &txt);
224 void setTextPlotGuess(
const QString &text);
239 void addAutoBackground();
240 bool isAutoBack()
const {
return m_autoBackground !=
nullptr; }
241 void setAutoBackgroundName(
const QString &aName);
242 void refitAutoBackground();
247 void setDecimals(
int d);
250 bool plotDiff()
const;
252 bool plotCompositeMembers()
const;
255 bool rawData()
const override;
257 void setADSObserveEnabled(
bool enabled);
259 void postDeleteHandle(
const std::string &wsName)
override;
260 void renameHandle(
const std::string &oldName,
const std::string &newName)
override;
261 void addHandle(
const std::string &wsName,
const std::shared_ptr<Mantid::API::Workspace> &ws)
override;
264 void removeWorkspace(
const std::string &wsName);
265 void removeWorkspaceAndSpectra(
const std::string &wsName);
272 const QStringList &getWorkspaceNames();
276 void allowSequentialFits(
bool allow)
override;
287 void addFitResultWorkspacesToTableWidget();
291 int sizeOfFunctionsGroup()
const;
295 void addAllowedSpectra(
const QString &wsName,
const QList<int> &wsIndices);
296 void addAllowedTableWorkspace(
const QString &wsName);
297 QString addFunction(
const QString &fnName);
299 void setPeakCentreOf(
const QString &prefix,
double value);
300 double getPeakCentreOf(
const QString &prefix);
301 void setPeakHeightOf(
const QString &prefix,
double value);
302 double getPeakHeightOf(
const QString &prefix);
303 void setPeakFwhmOf(
const QString &prefix,
double value);
304 double getPeakFwhmOf(
const QString &prefix);
305 std::string getWidthParameterNameOf(
const QString &prefix);
306 std::string getCentreParameterNameOf(
const QString &prefix);
307 bool isParameterExplicitlySetOf(
const QString &prefix,
const std::string ¶m);
308 QStringList getPeakPrefixes()
const;
309 void findPeaks(
const std::unique_ptr<FindPeakStrategyGeneric> findPeakStrategy);
311 const std::unique_ptr<FindPeakStrategyGeneric> &findPeakStrategy);
319 virtual void toggleSettingsBrowserVisible();
320 virtual void removePropertiesFromSettingsBrowser(
const QStringList &propsToRemove);
321 virtual void toggleWsListVisible();
322 virtual void sequentialFit();
324 virtual void clear();
326 void setPeakToolOn(
bool on);
327 virtual void executeFitMenu(
const QString & );
328 void executeDisplayMenu(
const QString & );
329 void executeSetupMenu(
const QString & );
330 void executePeakFindingAlgMenu(
const QString & );
331 void executeSetupManageMenu(
const QString & );
332 void workspaceDoubleClicked(QListWidgetItem *item);
333 void executeCustomSetupRemove(
const QString &
name);
334 void executeClearCustomSetups();
380 virtual void populateFunctionNames();
382 virtual void boolChanged(QtProperty *prop);
384 virtual void enumChanged(QtProperty *prop);
386 virtual void intChanged(QtProperty *prop);
388 virtual void doubleChanged(QtProperty *prop);
390 void enactAttributeChange(QtProperty *prop,
PropertyHandler *h,
const bool vectorAttribute =
false);
394 void parameterChanged(QtProperty *prop);
395 void stringChanged(QtProperty *prop);
396 void filenameChanged(QtProperty *prop);
397 void columnChanged(QtProperty *prop);
398 void currentItemChanged(QtBrowserItem * );
399 void vectorDoubleChanged(QtProperty *prop);
400 void vectorSizeChanged(QtProperty *prop);
402 void addTieToFunction();
405 void addLowerBound10();
406 void addLowerBound50();
407 void addLowerBound();
408 void addConstraint(
int f,
bool lo,
bool up);
409 void addUpperBound10();
410 void addUpperBound50();
411 void addUpperBound();
412 void addBothBounds10();
413 void addBothBounds50();
414 void addBothBounds();
416 void plotGuessCurrent();
418 void removeGuessCurrent();
419 void removeGuessAll();
420 void plotOrRemoveGuessAll();
421 void clearAllPlots();
424 void loadFunctionFromString();
433 void popupMenu(
const QPoint & );
436 void deleteFunction();
437 void setupMultifit();
440 void processMultiBGResults();
442 void executeCustomSetupLoad(
const QString &
name);
445 void updateStructureTooltips();
447 void showFitResultStatus(
const QString &status);
449 void clearFitResultStatus();
452 QString getOldExpressionAsString(
const QString ¶meterName)
const;
454 void createCompositeFunction(
const QString &str =
"");
457 void modifyFitMenu(QAction *fitAction,
bool enabled);
458 virtual void populateFitMenuButton(QSignalMapper *fitMapper, QMenu *fitMenu);
461 void showEvent(QShowEvent *e)
override;
463 void hideEvent(QHideEvent *e)
override;
465 void populateWorkspaceNames();
467 void createEditors(QWidget *w);
469 void initLayout(QWidget *w);
471 void initBasicLayout(QWidget *w);
473 void updateDecimals();
477 void setWorkspaceProperties();
479 virtual void addWorkspaceIndexToBrowser();
483 QtProperty *addDoubleProperty(
const QString &
name, QtDoublePropertyManager *manager =
nullptr)
const;
485 void minimizerChanged();
487 void doFit(
int maxIterations);
576 QPushButton *createFitMenuButton(QWidget *w);
580 QtBrowserItem *findItem(QtBrowserItem *parent, QtProperty *prop)
const;
585 QtProperty *addStringProperty(
const QString &
name)
const;
586 void setStringPropertyValue(QtProperty *prop,
const QString &
value)
const;
587 QString getStringPropertyValue(QtProperty *prop)
const;
589 QtProperty *addStringListProperty(
const QString &
name,
const std::vector<std::string> &allowed_values)
const;
591 void checkFunction();
593 int getAllowedIndex(
int currentIndex)
const;
598 virtual void workspaceChange(
const QString &wsName);
601 void hasConstraints(QtProperty *parProp,
bool &hasTie,
bool &hasFix,
bool &hasBounds)
const;
603 QtProperty *getTieProperty(QtProperty *parProp)
const;
624 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)
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class