BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
GUIHelpers.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/utils/GUIHelpers.h
6 //! @brief Defines class GUIHelpers functions
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2018
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
15 #ifndef BORNAGAIN_GUI_COREGUI_UTILS_GUIHELPERS_H
16 #define BORNAGAIN_GUI_COREGUI_UTILS_GUIHELPERS_H
17 
18 #include <QStringList>
19 #include <QWidget>
20 #include <memory>
21 #include <sstream>
22 
23 class JobItem;
24 class RealDataItem;
25 
26 namespace GUIHelpers {
27 class Error : public std::exception {
28 public:
29  explicit Error(const QString& message) noexcept : m_messageAsLatin1(message.toLatin1()) {}
30  virtual ~Error() noexcept;
31 
32  Error(const Error&) = default;
33  Error& operator=(const Error&) = default;
34  Error(Error&&) = default;
35  Error& operator=(Error&&) = default;
36 
37  const char* what() const noexcept override;
38 
39 private:
40  QByteArray m_messageAsLatin1;
41 };
42 
43 void information(QWidget* parent, const QString& title, const QString& text,
44  const QString& detailedText = "");
45 
46 void information(const QString& title, const QString& text, const QString& detailedText = "");
47 
48 void warning(QWidget* parent, const QString& title, const QString& text,
49  const QString& detailedText = "");
50 
51 void warning(const QString& title, const QString& text, const QString& detailedText = "");
52 
53 bool question(QWidget* parent, const QString& title, const QString& text,
54  const QString& detailedText = "", const QString& yesText = "&Yes",
55  const QString& noText = "&No");
56 
57 bool okToDelete(QWidget* parent, const QString& title, const QString& text,
58  const QString& detailedText = "");
59 
61 
62 QString getValidFileName(const QString& proposed_name);
63 
64 QString fileDir(const QString& fileName);
65 QString baseName(const QString& fileName);
66 
67 bool parseVersion(const QString& version, int& major_num, int& minor_num, int& patch_num);
68 
69 int versionCode(const QString& version);
70 
71 bool isVersionMatchMinimal(const QString& version, const QString& minimal_version);
72 
73 QString currentDateTime();
74 
75 QStringList fromStdStrings(const std::vector<std::string>& container);
76 
77 QVector<double> fromStdVector(const std::vector<double>& data);
78 
79 QString createUuid();
80 
81 QString readTextFile(const QString& fileName);
82 
83 } // namespace GUIHelpers
84 
85 inline std::ostream& operator<<(std::ostream& stream, const QString& str)
86 {
87  stream << str.toStdString();
88  return stream;
89 }
90 
91 #endif // BORNAGAIN_GUI_COREGUI_UTILS_GUIHELPERS_H
QByteArray m_messageAsLatin1
Definition: GUIHelpers.h:40
Error(const QString &message) noexcept
Definition: GUIHelpers.h:29
virtual ~Error() noexcept
const char * what() const noexcept override
Definition: GUIHelpers.cpp:49
The RealDataItem class represents intensity data imported from file and intended for fitting.
Definition: RealDataItem.h:35
QString getBornAgainVersionString()
Definition: GUIHelpers.cpp:130
QString currentDateTime()
Definition: GUIHelpers.cpp:210
void warning(QWidget *parent, const QString &title, const QString &text, const QString &detailedText)
Definition: GUIHelpers.cpp:74
QString baseName(const QString &fileName)
Returns base name of file.
Definition: GUIHelpers.cpp:204
bool parseVersion(const QString &version, int &major_num, int &minor_num, int &patch_num)
parses version string into 3 numbers, returns true in the case of success
Definition: GUIHelpers.cpp:154
void information(QWidget *parent, const QString &title, const QString &text, const QString &detailedText)
Definition: GUIHelpers.cpp:54
int versionCode(const QString &version)
Definition: GUIHelpers.cpp:173
QString getValidFileName(const QString &proposed_name)
Returns valid file name to be saved on disk.
Definition: GUIHelpers.cpp:144
QString createUuid()
Definition: GUIHelpers.cpp:242
bool okToDelete(QWidget *parent, const QString &title, const QString &text, const QString &detailedText)
Definition: GUIHelpers.cpp:112
QString fileDir(const QString &fileName)
Returns file directory from the full file path.
Definition: GUIHelpers.cpp:193
QVector< double > fromStdVector(const std::vector< double > &data)
Definition: GUIHelpers.cpp:225
QString readTextFile(const QString &fileName)
Definition: GUIHelpers.cpp:247
bool isVersionMatchMinimal(const QString &version, const QString &minimal_version)
returns true if current BornAgain version match minimal required version
Definition: GUIHelpers.cpp:187
bool question(QWidget *parent, const QString &title, const QString &text, const QString &detailedText, const QString &yesText, const QString &noText)
Definition: GUIHelpers.cpp:94
QStringList fromStdStrings(const std::vector< std::string > &container)
Definition: GUIHelpers.cpp:233
Definition: filesystem.h:81