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 7252 : : GUIEvent(GUIEventType::STATUS_OCCURRED), myMsg(msg) { 41 7252 : } 42 : 43 : GUIEvent_Message(GUIEventType type, const std::string& msg): 44 : GUIEvent(type), myMsg(msg) {} 45 : 46 : /// constructor 47 56483 : GUIEvent_Message(MsgHandler::MsgType type, const std::string& msg) 48 56483 : : GUIEvent(GUIEventType::MESSAGE_OCCURRED), myMsg(msg) { 49 56483 : switch (type) { 50 41597 : case MsgHandler::MsgType::MT_MESSAGE: 51 41597 : myType = GUIEventType::MESSAGE_OCCURRED; 52 41597 : break; 53 13743 : case MsgHandler::MsgType::MT_WARNING: 54 13743 : myType = GUIEventType::WARNING_OCCURRED; 55 13743 : break; 56 1143 : case MsgHandler::MsgType::MT_ERROR: 57 1143 : myType = GUIEventType::ERROR_OCCURRED; 58 1143 : 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 56483 : } 69 : 70 : /// destructor 71 107088 : ~GUIEvent_Message() { } 72 : 73 : /// Returns the message 74 : const std::string& getMsg() const { 75 63679 : return myMsg; 76 : } 77 : 78 : protected: 79 : 80 : /// The message 81 : std::string myMsg; 82 : 83 : };