Salome HOME
Update code documentation
[modules/shaper.git] / src / XGUI / XGUI_QtEvents.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
2
3 /*
4  * XGUI_QEvents.h
5  *
6  *  Created on: Sep 12, 2014
7  *      Author: sbh
8  */
9
10 #ifndef XGUI_QTEVENTS_H_
11 #define XGUI_QTEVENTS_H_
12
13 #include <XGUI.h>
14
15 #include <ModelAPI_ResultPart.h>
16 #include <Events_Message.h>
17
18 #include <QEvent>
19 #include <QString>
20
21 /**
22 * Class of event to send application events in multi thread environment
23 */
24 class XGUI_EXPORT PostponeMessageQtEvent : public QEvent
25 {
26  public:
27   static QEvent::Type PostponeMessageQtEventType;
28
29   /// Constructor
30   /// \param theMessage an event message to send
31   PostponeMessageQtEvent(const std::shared_ptr<Events_Message>& theMessage)
32       : QEvent(PostponeMessageQtEventType),
33       myMessage(theMessage)
34   {
35   }
36
37   /// Returns type of the event
38   static QEvent::Type type()
39   {
40     return PostponeMessageQtEventType;
41   }
42
43   /// Returns current messasge
44   std::shared_ptr<Events_Message> postponedMessage();
45
46  private:
47    /// Message
48   std::shared_ptr<Events_Message> myMessage;
49 };
50
51 #endif /* XGUI_QEVENTS_H_ */