/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2001-2025 German Aerospace Center (DLR) and others.3// This program and the accompanying materials are made available under the4// terms of the Eclipse Public License 2.0 which is available at5// https://www.eclipse.org/legal/epl-2.0/6// This Source Code may also be made available under the following Secondary7// Licenses when the conditions for such availability set forth in the Eclipse8// Public License 2.0 are satisfied: GNU General Public License, version 29// or later which is available at10// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later12/****************************************************************************/13/// @file GUIEvent.h14/// @author Daniel Krajzewicz15/// @date Sept 200216///17// Definition of an own event class18/****************************************************************************/19#pragma once20#include <config.h>2122#include <utils/foxtools/MFXThreadEvent.h>23#include <utils/foxtools/MFXBaseObject.h>24#include <utils/foxtools/fxheader.h>252627/**28* As events are distinguished by their number, here is the enumeration29* of our custom events30*/31enum class GUIEventType {32/// @brief send when a simulation has been loaded33SIMULATION_LOADED,3435/// @brief send when a simulation step has been performed36SIMULATION_STEP,3738/// @brief send when a message occurred39MESSAGE_OCCURRED,4041/// @brief send when a warning occurred42WARNING_OCCURRED,4344/// @brief send when a error occurred45ERROR_OCCURRED,4647/// @brief send when a debug occurred48DEBUG_OCCURRED,4950/// @brief send when a gldebug occurred51GLDEBUG_OCCURRED,5253/// @brief send when a status change occurred54STATUS_OCCURRED,5556/**@brief Send when a new should be opened (via TraCI) */57ADD_VIEW,5859/**@brief Send when a view should be closed (via TraCI) */60CLOSE_VIEW,6162/**@brief Send when the simulation is over;63* @note The reason and the time step are stored within the event64*/65SIMULATION_ENDED,6667/// @brief send when a tool produces output68OUTPUT_OCCURRED,6970/// @brief send when a tool finishes71TOOL_ENDED,7273/// @brief End of events list; use this to define new74END75};767778// ===========================================================================79// class definitions80// ===========================================================================81/**82* GUIEvent83*84*/85class GUIEvent {86public:87/// @brief returns the event type88GUIEventType getOwnType() const {89return myType;90}9192/// @brief destructor93virtual ~GUIEvent() { }9495protected:96/// @brief constructor97GUIEvent(GUIEventType ownType) :98myType(ownType) { }99100/// @brief the type of the event101GUIEventType myType;102};103104105