/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2006-2026 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 GNEColorDialog.h14/// @author Pablo Alvarez Lopez15/// @date Aug 202516///17// Custom GNEColorDialog used in Netedit that supports internal tests18/****************************************************************************/19#pragma once20#include <config.h>2122#include <utils/common/RGBColor.h>2324#include "GNEDialog.h"2526// ===========================================================================27// class definitions28// ===========================================================================2930class GNEColorDialog : public GNEDialog {31FXDECLARE(GNEColorDialog)3233public:34/// @brief Constructor35GNEColorDialog(GNEApplicationWindow* applicationWindow, const RGBColor color);3637/// @brief Constructor with parent dialog38GNEColorDialog(GNEApplicationWindow* applicationWindow, GNEDialog* parentDialog,39const RGBColor color);4041/// @brief Destructor42virtual ~GNEColorDialog();4344/// @brief run internal test45void runInternalTest(const InternalTestStep::DialogArgument* dialogArgument);4647/// @brief Get the color48RGBColor getColor() const;4950/// @name FOX-callbacks51/// @{5253/// @brief called when reset button is pressed54long onCmdReset(FXObject*, FXSelector, void*);5556/// @brief Called when color is changed57long onChgColor(FXObject*, FXSelector, void*);5859/// @brief Called when color is selected60long onCmdColor(FXObject*, FXSelector, void*);6162/// @}6364protected:65/// @brief Default constructor66FOX_CONSTRUCTOR(GNEColorDialog)6768/// @brief Color selector box69FXColorSelector* myColorbox = nullptr;7071/// @brief Original color to restore pressing reset button72const RGBColor myOriginalColor = RGBColor::BLACK;7374private:75/// @brief builder76void builder(const RGBColor color);7778/// @brief Invalidated copy constructor.79GNEColorDialog(const GNEColorDialog&) = delete;8081/// @brief Invalidated assignment operator82GNEColorDialog& operator=(const GNEColorDialog& src) = delete;83};848586