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    /// An event type
28   static QEvent::Type PostponeMessageQtEventType;
29
30   /// Constructor
31   /// \param theMessage an event message to send
32   PostponeMessageQtEvent(const std::shared_ptr<Events_Message>& theMessage)
33       : QEvent(PostponeMessageQtEventType),
34       myMessage(theMessage)
35   {
36   }
37
38   /// Returns type of the event
39   static QEvent::Type type()
40   {
41     return PostponeMessageQtEventType;
42   }
43
44   /// Returns current messasge
45   std::shared_ptr<Events_Message> postponedMessage();
46
47  private:
48    /// Message
49   std::shared_ptr<Events_Message> myMessage;
50 };
51
52 #endif /* XGUI_QEVENTS_H_ */