/****************************************************************************/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 GUIParam_PopupMenu.h14/// @author Daniel Krajzewicz15/// @date Mai 200316///17// A popup-menu for dynamic patameter table entries18/****************************************************************************/19#pragma once20#include <config.h>21#include <string>2223#include <config.h>2425#include <utils/foxtools/fxheader.h>26#include <utils/common/ValueSource.h>272829// ===========================================================================30// class definitions31// ===========================================================================32class GUIGlObject;33class GUIMainWindow;34class GUIParameterTableWindow;353637// ===========================================================================38// class declarataions39// ===========================================================================40/**41* @class GUIParam_PopupMenuInterface42* @brief A popup-menu for dynamic patameter table entries43*44*/45class GUIParam_PopupMenuInterface : public FXMenuPane {46FXDECLARE(GUIParam_PopupMenuInterface)47public:48/** @brief Constructor49*50* @param[in] app The main application window51* @param[in] parentWindow The parent window (the table the popup belongs to)52* @param[in] o The object represented by the table53* @param[in] varName The name of the value54* @param[in] src The value source55*/56GUIParam_PopupMenuInterface(GUIMainWindow& app,57GUIParameterTableWindow& parentWindow,58GUIGlObject& o, const std::string& varName,59ValueSource<double>* src);606162/// @brief Destructor63~GUIParam_PopupMenuInterface();646566/// @name FOX-callbacks67/// @{6869/** @brief Called when a tracker for the value shall be opened70*71* Builds a new GUIParameterTracker adding the stored value to it.72* Initialises this tracker, then.73*/74long onCmdOpenTracker(FXObject*, FXSelector, void*);75/// @}767778protected:79/// @brief The object the table displays80GUIGlObject* myObject;8182/// @brief The parameter window this popup was initiated by83GUIParameterTableWindow* myParentWindow;8485/** @brief The main application window; holder of some needed values */86GUIMainWindow* myApplication;8788/// @brief The name of the value89std::string myVarName;9091/// @brief The source of the value92ValueSource<double>* mySource;9394protected:95FOX_CONSTRUCTOR(GUIParam_PopupMenuInterface)9697};9899100