OpenLexocad  27.0
Message.h
Go to the documentation of this file.
1 #pragma once
2 
3 
4 #include <QEvent>
5 #include <QLineEdit>
6 #include <QString>
7 #pragma warning(disable : 4482)
8 #pragma warning(push)
9 #pragma warning(disable : 4100)
10 #include <string>
11 #pragma warning(pop)
12 #include <Base/base_defines.h>
13 
14 
15 static const QEvent::Type MessageEventType = QEvent::Type(QEvent::User + 310);
16 
17 namespace Base
18 {
20 
21 #ifndef SWIG
22  : public QEvent
23 #endif
24 
25 {
26 public:
27  MessageEvent(QString message, void* data) : QEvent(MessageEventType)
28  {
29  _message = message;
30  _data = data;
31  }
32  QString _message;
33  void* _data;
34 };
35 
36 class MessageBase;
37 
39 {
40 public:
42  {
43  yes = 1,
44  no = 2,
45  cancel = 3
46  };
47 
48  virtual void showMessage(const QString& message) = 0;
49  virtual void postMessage(const QString& message) = 0;
50 
51  virtual void showMessageBoxInformation(const QString& title, const QString& text, QWidget* parent = nullptr, bool silent = false) = 0;
52  virtual void showMessageBoxWarning(const QString& title, const QString& text, QWidget* parent = nullptr, bool silent = false) = 0;
53  virtual void showMessageBoxError(const QString& title, const QString& text, QWidget* parent = nullptr, bool silent = false) = 0;
54  virtual bool showMessageBoxQuestionYesNo(const QString& title,
55  const QString& text,
56  standard_button defaultChoice = yes,
57  QWidget* parent = NULL) = 0;
58  virtual standard_button showMessageBoxQuestionYesNoCancel(const QString& title,
59  const QString& text,
60  standard_button defaultChoice = yes,
61  QWidget* parent = NULL) = 0;
62  virtual int showMessageBoxQuestion(const QString& title,
63  const QString& text,
64  const QString& text_1,
65  const QString& text_2,
66  const QString& text_3,
67  QWidget* parent = NULL) = 0;
68 
69  virtual void setMessageReciever(MessageInterface* member) = 0;
70  virtual MessageInterface* getMessageReciever() = 0;
71  virtual void setPostMessageReciever(QObject* postMessagereceiver) = 0;
72  virtual void debugMessage(const QString& id, const QString& text) = 0;
73 
74  virtual double getDoubleDialog(const QString& title,
75  const QString& label,
76  double value = 0,
77  double min = -2147483647,
78  double max = 2147483647,
79  int decimals = 1,
80  bool* ok = 0) = 0;
81  virtual int getIntDialog(const QString& title,
82  const QString& label,
83  int value = 0,
84  int min = -2147483647,
85  int max = 2147483647,
86  int step = 1,
87  bool* ok = 0) = 0;
88  virtual QString getTextDialog(const QString& title,
89  const QString& label,
90  QLineEdit::EchoMode mode = QLineEdit::Normal,
91  const QString& text = QString(),
92  bool* ok = 0) = 0;
93  virtual QString getItem(const QString& title,
94  const QString& label,
95  const QStringList& items,
96  int current = 0,
97  bool editable = true,
98  bool* ok = 0) = 0;
99 
100 protected:
101  MessageInterface* _member = 0;
102  QObject* _postMessagereceiver = 0;
103 };
104 
106 {
107 public:
108  static MessageBase& instance(void);
109 
110  virtual void showMessage(const QString& message);
111 
112  virtual void showMessageBoxInformation(const QString& title, const QString& text, QWidget* parent = nullptr, bool silent = false);
113  virtual void showMessageBoxWarning(const QString& title, const QString& text, QWidget* parent = nullptr, bool silent = false);
114  virtual void showMessageBoxError(const QString& title, const QString& text, QWidget* parent = nullptr, bool silent = false);
115  virtual bool showMessageBoxQuestionYesNo(const QString& title, const QString& text, standard_button defaultChoice = yes, QWidget* parent = NULL);
116  virtual standard_button showMessageBoxQuestionYesNoCancel(const QString& title,
117  const QString& text,
118  standard_button defaultChoice = yes,
119  QWidget* parent = NULL);
120  virtual int showMessageBoxQuestion(const QString& title,
121  const QString& text,
122  const QString& text_1,
123  const QString& text_2,
124  const QString& text_3,
125  QWidget* parent = NULL);
126 
127  virtual void debugMessage(const QString& id, const QString& text);
128  virtual void setMessageReciever(MessageInterface* member);
129  virtual MessageInterface* getMessageReciever();
130  virtual void setPostMessageReciever(QObject* postMessagereceiver);
131  virtual void postMessage(const QString& message);
132 
133  virtual double getDoubleDialog(const QString& title,
134  const QString& label,
135  double value = 0,
136  double min = -2147483647,
137  double max = 2147483647,
138  int decimals = 1,
139  bool* ok = 0);
140  virtual int
141  getIntDialog(const QString& title, const QString& label, int value = 0, int min = -2147483647, int max = 2147483647, int step = 1, bool* ok = 0);
142  virtual QString getTextDialog(const QString& title,
143  const QString& label,
144  QLineEdit::EchoMode mode = QLineEdit::Normal,
145  const QString& text = QString(),
146  bool* ok = 0);
147  virtual QString getItem(const QString& title,
148  const QString& label,
149  const QStringList& items,
150  int current = 0,
151  bool editable = true,
152  bool* ok = 0);
153 
154 private:
155  MessageBase(void);
156  virtual ~MessageBase(void);
157 
158 
159  static MessageBase* _instance;
160 };
161 
163 {
165 }
166 
167 } // namespace Base
BASE_EXPORT Base::MessageBase & Message(void)
Definition: Message.h:162
void * _data
Definition: Message.h:33
static MessageBase & instance(void)
#define BASE_EXPORT
Definition: base_defines.h:12
MessageEvent(QString message, void *data)
Definition: Message.h:27
Definition: Message.h:105
Definition: Message.h:19
standard_button
Definition: Message.h:41
OPENLXUI_EXPORT Core::StringResult getTextDialog(const Base::String &label, const Base::String &initialValue=L"", const int &mode=0)
Definition: Message.h:38
OPENLXUI_EXPORT Core::IntegerResult getIntDialog(const Base::String &label, const int &initialValue=0, const int &step=1, const int &minValue=-INT_MAX, const int &maxValue=INT_MAX)
Definition: AbstractXMLReader.h:8
QString _message
Definition: Message.h:32
OPENLXUI_EXPORT Core::DoubleResult getDoubleDialog(const Base::String &label, const double &initialValue=0, const int &decimals=1, const double &minValue=-DBL_MAX, const double &maxValue=DBL_MAX)