Line data Source code
1 : /****************************************************************************/
2 : // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 : // Copyright (C) 2001-2024 German Aerospace Center (DLR) and others.
4 : // This program and the accompanying materials are made available under the
5 : // terms of the Eclipse Public License 2.0 which is available at
6 : // https://www.eclipse.org/legal/epl-2.0/
7 : // This Source Code may also be made available under the following Secondary
8 : // Licenses when the conditions for such availability set forth in the Eclipse
9 : // Public License 2.0 are satisfied: GNU General Public License, version 2
10 : // or later which is available at
11 : // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 : // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 : /****************************************************************************/
14 : /// @file GUIEvent_Message.h
15 : /// @author Daniel Krajzewicz
16 : /// @date Wed 18 Jun 2003
17 : ///
18 : // Event send when a message (message, warning, error) has to besubmitted
19 : /****************************************************************************/
20 : #pragma once
21 : #include <config.h>
22 :
23 : #include "GUIEvent.h"
24 : #include <string>
25 : #include <utils/common/MsgHandler.h>
26 :
27 :
28 : // ===========================================================================
29 : // class definitions
30 : // ===========================================================================
31 : /**
32 : * GUIEvent_Message
33 : * Throw from GUIRunThread to GUIApplicationWindow and then further to all
34 : * displays after a step has been performed
35 : */
36 : class GUIEvent_Message : public GUIEvent {
37 : public:
38 : /// constructor
39 : GUIEvent_Message(const std::string& msg)
40 7549 : : GUIEvent(GUIEventType::STATUS_OCCURRED), myMsg(msg) {
41 7549 : }
42 :
43 : GUIEvent_Message(GUIEventType type, const std::string& msg):
44 : GUIEvent(type), myMsg(msg) {}
45 :
46 : /// constructor
47 61896 : GUIEvent_Message(MsgHandler::MsgType type, const std::string& msg)
48 61896 : : GUIEvent(GUIEventType::MESSAGE_OCCURRED), myMsg(msg) {
49 61896 : switch (type) {
50 42914 : case MsgHandler::MsgType::MT_MESSAGE:
51 42914 : myType = GUIEventType::MESSAGE_OCCURRED;
52 42914 : break;
53 17804 : case MsgHandler::MsgType::MT_WARNING:
54 17804 : myType = GUIEventType::WARNING_OCCURRED;
55 17804 : break;
56 1178 : case MsgHandler::MsgType::MT_ERROR:
57 1178 : myType = GUIEventType::ERROR_OCCURRED;
58 1178 : break;
59 0 : case MsgHandler::MsgType::MT_DEBUG:
60 0 : myType = GUIEventType::DEBUG_OCCURRED;
61 0 : break;
62 0 : case MsgHandler::MsgType::MT_GLDEBUG:
63 0 : myType = GUIEventType::GLDEBUG_OCCURRED;
64 0 : break;
65 0 : default:
66 0 : throw 1;
67 : }
68 61896 : }
69 :
70 : /// destructor
71 69445 : ~GUIEvent_Message() { }
72 :
73 : /// Returns the message
74 : const std::string& getMsg() const {
75 69423 : return myMsg;
76 : }
77 :
78 : protected:
79 :
80 : /// The message
81 : std::string myMsg;
82 :
83 : };
|