Path: blob/main/src/netedit/dialogs/elements/GNEVariableSpeedSignDialog.h
169684 views
/****************************************************************************/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 GNEVariableSpeedSignDialog.h14/// @author Pablo Alvarez Lopez15/// @date April 201616///17// Dialog for edit variableSpeedSigns18/****************************************************************************/19#pragma once20#include <config.h>2122#include <netedit/changes/GNEChange_Additional.h>23#include <netedit/dialogs/elements/lists/GNETemplateElementList.h>24#include <netedit/elements/additional/GNEAdditional.h>2526#include "GNETemplateElementDialog.h"2728// ===========================================================================29// class definitions30// ===========================================================================3132class GNEVariableSpeedSignDialog : public GNETemplateElementDialog<GNEAdditional> {3334public:35/// @brief Constructor36GNEVariableSpeedSignDialog(GNEAdditional* variableSpeedSign);3738/// @brief destructor39~GNEVariableSpeedSignDialog();4041/// @brief run internal test42void runInternalTest(const InternalTestStep::DialogArgument* dialogArgument);4344/// @name FOX-callbacks45/// @{4647/// @brief event after press accept button48long onCmdAccept(FXObject*, FXSelector, void*);4950/// @brief event after press reset button51long onCmdReset(FXObject*, FXSelector, void*);5253/// @}5455protected:56/// @brief variableSpeedSign step list57class VariableSpeedSignStepsList : public GNETemplateElementList<GNEAdditional, GNEAdditional, GNEChange_Additional> {5859public:60/// @brief constructor61VariableSpeedSignStepsList(GNEVariableSpeedSignDialog* variableSpeedSignDialog);6263/// @brief add new element64long addNewElement();6566/// @brief open element dialog67long openElementDialog(const size_t rowIndex);6869/// @briec check if steps are sorted70bool isSorted() const;7172private:73/// @brief Invalidated copy constructor74VariableSpeedSignStepsList(const VariableSpeedSignStepsList&) = delete;7576/// @brief Invalidated assignment operator77VariableSpeedSignStepsList& operator=(const VariableSpeedSignStepsList&) = delete;78};7980/// @brief Element list for variableSpeedSign steps81VariableSpeedSignStepsList* myVariableSpeedSignSteps;8283private:84/// @brief Invalidated copy constructor.85GNEVariableSpeedSignDialog(const GNEVariableSpeedSignDialog&) = delete;8687/// @brief Invalidated assignment operator.88GNEVariableSpeedSignDialog& operator=(const GNEVariableSpeedSignDialog&) = delete;89};909192