30class QtTreePropertyBrowser;
31class QtGroupPropertyManager;
32class QtDoublePropertyManager;
33class QtIntPropertyManager;
34class QtBoolPropertyManager;
35class QtStringPropertyManager;
36class QtEnumPropertyManager;
37class ParameterPropertyManager;
55namespace MantidWidgets {
58class SelectFunctionDialog;
87 double centre()
const;
89 void setCentre(
double value);
93 void setHeight(
double value);
97 void setFwhm(
double value);
107 std::shared_ptr<const Mantid::API::IFunction> theFunction()
const;
109 void updateParameters();
111 void updateAttributes();
115 QStringList getParameterNames()
const;
117 const std::string &getFitAlgorithmParameters()
const;
119 const std::string &getFitAlgorithmOutputStatus()
const;
122 void loadFunction(
const QString &funcString);
124 void saveFunction(
const QString &fnName);
132 std::shared_ptr<Mantid::API::CompositeFunction>
compositeFunction()
const {
return m_compositeFunction; }
140 const std::string &defaultFunctionType()
const;
142 void setDefaultFunctionType(
const std::string &fnType);
144 std::string defaultPeakType();
146 void setDefaultPeakType(
const std::string &fnType);
148 const std::string &defaultBackgroundType()
const;
150 void setDefaultBackgroundType(
const std::string &fnType);
153 std::shared_ptr<Mantid::API::Workspace> getWorkspace()
const;
155 std::string workspaceName()
const;
157 virtual void setWorkspaceName(
const QString &wsName)
override;
159 int workspaceIndex()
const;
161 void setWorkspaceIndex(
int i)
override;
163 virtual std::string outputName()
const;
165 void setOutputName(
const std::string & );
167 std::string minimizer(
bool withProperties =
false)
const;
169 bool ignoreInvalidData()
const;
171 void setIgnoreInvalidData(
bool on);
173 std::string costFunction()
const;
175 bool convolveMembers()
const;
177 bool isHistogramFit()
const;
181 int maxIterations()
const;
183 int getPeakRadius()
const;
185 std::string getExcludeRange()
const;
187 QVector<double> getXRange();
190 std::string getFunctionString()
const;
192 double startX()
const;
194 void setStartX(
double start)
override;
198 void setEndX(
double end)
override;
200 void setXRange(
double start,
double end);
202 QString getXColumnName()
const;
204 QString getYColumnName()
const;
206 QString getErrColumnName()
const;
218 bool isUndoEnabled()
const;
220 bool isFitEnabled()
const;
223 virtual void setFitEnabled(
bool enable);
226 void setTip(
const QString &txt);
229 void setTextPlotGuess(
const QString &text);
244 void addAutoBackground();
245 bool isAutoBack()
const {
return m_autoBackground !=
nullptr; }
246 void setAutoBackgroundName(
const QString &aName);
247 void refitAutoBackground();
252 void setDecimals(
int d);
255 bool plotDiff()
const;
257 bool plotCompositeMembers()
const;
260 bool rawData()
const override;
262 void setADSObserveEnabled(
bool enabled);
264 void postDeleteHandle(
const std::string &wsName)
override;
265 void renameHandle(
const std::string &oldName,
const std::string &newName)
override;
266 void addHandle(
const std::string &wsName,
const std::shared_ptr<Mantid::API::Workspace> &ws)
override;
269 void removeWorkspace(
const std::string &wsName);
270 void removeWorkspaceAndSpectra(
const std::string &wsName);
277 const QStringList &getWorkspaceNames();
281 void allowSequentialFits(
bool allow)
override;
292 void addFitResultWorkspacesToTableWidget();
296 int sizeOfFunctionsGroup()
const;
300 void addAllowedSpectra(
const QString &wsName,
const QList<int> &wsIndices);
301 void addAllowedTableWorkspace(
const QString &wsName);
302 QString addFunction(
const QString &fnName);
304 void setPeakCentreOf(
const QString &prefix,
double value);
305 double getPeakCentreOf(
const QString &prefix);
306 void setPeakHeightOf(
const QString &prefix,
double value);
307 double getPeakHeightOf(
const QString &prefix);
308 void setPeakFwhmOf(
const QString &prefix,
double value);
309 double getPeakFwhmOf(
const QString &prefix);
310 std::string getWidthParameterNameOf(
const QString &prefix);
311 std::string getCentreParameterNameOf(
const QString &prefix);
312 bool isParameterExplicitlySetOf(
const QString &prefix,
const std::string ¶m);
313 QStringList getPeakPrefixes()
const;
314 void findPeaks(
const std::unique_ptr<FindPeakStrategyGeneric> findPeakStrategy);
316 const std::unique_ptr<FindPeakStrategyGeneric> &findPeakStrategy);
324 virtual void toggleSettingsBrowserVisible();
325 virtual void removePropertiesFromSettingsBrowser(
const QStringList &propsToRemove);
326 virtual void toggleWsListVisible();
327 virtual void sequentialFit();
329 virtual void clear();
331 void setPeakToolOn(
bool on);
332 virtual void executeFitMenu(
const QString & );
333 void executeDisplayMenu(
const QString & );
334 void executeSetupMenu(
const QString & );
335 void executePeakFindingAlgMenu(
const QString & );
336 void executeSetupManageMenu(
const QString & );
337 void workspaceDoubleClicked(QListWidgetItem *item);
338 void executeCustomSetupRemove(
const QString &
name);
339 void executeClearCustomSetups();
385 virtual void populateFunctionNames();
387 virtual void boolChanged(QtProperty *prop);
389 virtual void enumChanged(QtProperty *prop);
391 virtual void intChanged(QtProperty *prop);
393 virtual void doubleChanged(QtProperty *prop);
395 void enactAttributeChange(QtProperty *prop,
PropertyHandler *h,
const bool vectorAttribute =
false);
399 void parameterChanged(QtProperty *prop);
400 void stringChanged(QtProperty *prop);
401 void filenameChanged(QtProperty *prop);
402 void columnChanged(QtProperty *prop);
403 void currentItemChanged(QtBrowserItem * );
404 void vectorDoubleChanged(QtProperty *prop);
405 void vectorSizeChanged(QtProperty *prop);
407 void addTieToFunction();
410 void addLowerBound10();
411 void addLowerBound50();
412 void addLowerBound();
413 void addConstraint(
int f,
bool lo,
bool up);
414 void addUpperBound10();
415 void addUpperBound50();
416 void addUpperBound();
417 void addBothBounds10();
418 void addBothBounds50();
419 void addBothBounds();
421 void plotGuessCurrent();
423 void removeGuessCurrent();
424 void removeGuessAll();
425 void plotOrRemoveGuessAll();
426 void clearAllPlots();
429 void loadFunctionFromString();
438 void popupMenu(
const QPoint & );
441 void deleteFunction();
442 void setupMultifit();
445 void processMultiBGResults();
447 void executeCustomSetupLoad(
const QString &
name);
450 void updateStructureTooltips();
452 void showFitResultStatus(
const QString &status);
454 void clearFitResultStatus();
457 QString getOldExpressionAsString(
const QString ¶meterName)
const;
459 void createCompositeFunction(
const QString &str =
"");
462 void modifyFitMenu(QAction *fitAction,
bool enabled);
463 virtual void populateFitMenuButton(QSignalMapper *fitMapper, QMenu *fitMenu);
466 void showEvent(QShowEvent *e)
override;
468 void hideEvent(QHideEvent *e)
override;
470 void populateWorkspaceNames();
472 void createEditors(QWidget *w);
474 void initLayout(QWidget *w);
476 void initBasicLayout(QWidget *w);
478 void updateDecimals();
482 void setWorkspaceProperties();
484 virtual void addWorkspaceIndexToBrowser();
488 QtProperty *addDoubleProperty(
const QString &
name, QtDoublePropertyManager *manager =
nullptr)
const;
490 void minimizerChanged();
492 void doFit(
int maxIterations);
581 QPushButton *createFitMenuButton(QWidget *w);
585 QtBrowserItem *findItem(QtBrowserItem *parent, QtProperty *prop)
const;
590 QtProperty *addStringProperty(
const QString &
name)
const;
591 void setStringPropertyValue(QtProperty *prop,
const QString &
value)
const;
592 QString getStringPropertyValue(QtProperty *prop)
const;
594 QtProperty *addStringListProperty(
const QString &
name,
const std::vector<std::string> &allowed_values)
const;
596 void checkFunction();
598 int getAllowedIndex(
int currentIndex)
const;
603 virtual void workspaceChange(
const QString &wsName);
606 void hasConstraints(QtProperty *parProp,
bool &hasTie,
bool &hasFix,
bool &hasBounds)
const;
608 QtProperty *getTieProperty(QtProperty *parProp)
const;
629 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