25namespace CustomInterfaces {
32 virtual bool checkFieldIsValid(
const QString &errorMessage, QLineEdit *field, QLabel *errorLabel =
nullptr) = 0;
36 bool const autoLoad =
true) = 0;
41 virtual bool checkRangeIsEnclosed(
const QString &outerName, std::pair<double, double> outer,
const QString &innerName,
42 std::pair<double, double> inner) = 0;
44 template <
typename T = Mant
id::API::MatrixWorkspace>
45 bool checkWorkspaceType(QString
const &workspaceName, QString
const &inputType, QString
const &validType,
50 virtual void addErrorMessage(
const std::string &message,
bool const silent =
false) = 0;
72 bool checkFieldIsNotEmpty(
const QString &
name, QLineEdit *field, QLabel *errorLabel =
nullptr)
override;
74 bool checkFieldIsValid(
const QString &errorMessage, QLineEdit *field, QLabel *errorLabel =
nullptr)
override;
76 bool checkWorkspaceSelectorIsNotEmpty(
const QString &
name,
WorkspaceSelector *workspaceSelector)
override;
80 bool checkDataSelectorIsValid(
const QString &
name,
DataSelector *widget,
bool const silent =
false,
81 bool const autoLoad =
true)
override;
83 bool checkValidRange(
const QString &
name, std::pair<double, double> range)
override;
85 bool checkRangesDontOverlap(std::pair<double, double> rangeA, std::pair<double, double> rangeB)
override;
87 bool checkRangeIsEnclosed(
const QString &outerName, std::pair<double, double> outer,
const QString &innerName,
88 std::pair<double, double> inner)
override;
90 bool checkBins(
double lower,
double binWidth,
double upper,
double tolerance = 0.00000001)
override;
92 bool checkNotEqual(
const QString &
name,
double x,
double y = 0.0,
double tolerance = 0.00000001);
95 bool checkWorkspaceExists(QString
const &workspaceName,
bool silent =
false)
override;
97 bool checkWorkspaceNumberOfHistograms(QString
const &workspaceName, std::size_t
const &validSize);
100 bool checkWorkspaceNumberOfBins(QString
const &workspaceName, std::size_t
const &validSize);
103 bool checkWorkspaceGroupIsValid(QString
const &groupName, QString
const &inputType,
bool silent =
false)
override;
106 void addErrorMessage(
const std::string &message,
bool const silent =
false)
override;
109 void setErrorLabel(QLabel *errorLabel,
bool valid)
override;
113 std::string generateErrorMessage()
const override;
115 bool isAllInputValid()
const override;
135 QString
const &validType,
bool silent) {
140 if (!MantidWidgets::WorkspaceUtils::getADSWorkspace<T>(workspaceName.toStdString())) {
141 addErrorMessage(
"The " + inputType.toStdString() +
" workspace is not a " + validType.toStdString() +
".", silent);
#define DLLExport
Definitions of the DLLImport compiler directives for MSVC.
double lower
lower and upper bounds on the multiplier, if known
The AlgorithmProgressDialogPresenter keeps track of the running algorithms and displays a progress ba...
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class