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