Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNEAllowVClassesDialog.h
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3// Copyright (C) 2001-2025 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/****************************************************************************/
18// Dialog for edit allow VClass attribute
19/****************************************************************************/
20#pragma once
21#include <config.h>
22
25
26// ===========================================================================
27// class definitions
28// ===========================================================================
29
31class GNEInternalTest;
32class GNEViewNet;
33
34// ===========================================================================
35// class definitions
36// ===========================================================================
37
40 FXDECLARE(GNEAllowVClassesDialog)
41
42public:
45
48
50 int openDialog(SumoXMLAttr attr, const std::string originalVClasses, GNEInternalTest* internalTests);
51
53 void runInternalTest(const InternalTestStep::DialogTest* modalArguments);
54
56 std::string getModifiedVClasses() const;
57
61 long onCmdValueChanged(FXObject*, FXSelector, void*);
62
64 long onCmdSelectAll(FXObject*, FXSelector, void*);
65
67 long onCmdUnselectAll(FXObject*, FXSelector, void*);
68
70 long onCmdSelectOnlyRoad(FXObject*, FXSelector, void*);
71
73 long onCmdSelectOnlyRail(FXObject*, FXSelector, void*);
74
76 long onCmdAccept(FXObject* sender, FXSelector sel, void* arg);
77
79 long onCmdCancel(FXObject* sender, FXSelector sel, void* arg);
80
82 long onCmdReset(FXObject*, FXSelector, void*);
83
85
86protected:
88 FOX_CONSTRUCTOR(GNEAllowVClassesDialog)
89
90
92
95
98
101
103 FXButton* myCancelButton;
104
106 FXButton* myResetButton;
107
109 std::map<SUMOVehicleClass, std::pair<FXButton*, FXLabel*> > myVClassMap;
110
111private:
113 void buildVClass(FXVerticalFrame* contentsFrame, SUMOVehicleClass vclass, GUIIcon vclassIcon, const std::string& description);
114
117
120};
GUIIcon
An enumeration of icons used by the gui applications.
Definition GUIIcons.h:33
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
std::string myOriginalVClasses
original vClasses
long onCmdAccept(FXObject *sender, FXSelector sel, void *arg)
event after press accept button
std::string getModifiedVClasses() const
get vClasses modified by this dialog
GNEViewNet * myViewNet
FOX need this.
void runInternalTest(const InternalTestStep::DialogTest *modalArguments)
run internal test
FXButton * myResetButton
cancel button
long onCmdReset(FXObject *, FXSelector, void *)
event after press reset button
long onCmdSelectOnlyRail(FXObject *, FXSelector, void *)
event when user press select only rail button
void buildVClass(FXVerticalFrame *contentsFrame, SUMOVehicleClass vclass, GUIIcon vclassIcon, const std::string &description)
build VClass
FXButton * myKeepOldButton
accept button
FXButton * myCancelButton
cancel button
long onCmdCancel(FXObject *sender, FXSelector sel, void *arg)
event after press cancel button
std::map< SUMOVehicleClass, std::pair< FXButton *, FXLabel * > > myVClassMap
map with the buttons for every VClass
long onCmdUnselectAll(FXObject *, FXSelector, void *)
event when user press unselect all VClasses button
std::string myEditedVClasses
edited vClasses
long onCmdSelectOnlyRoad(FXObject *, FXSelector, void *)
event when user press select only road button
long onCmdValueChanged(FXObject *, FXSelector, void *)
long onCmdSelectAll(FXObject *, FXSelector, void *)
event when user press select all VClasses button
int openDialog(SumoXMLAttr attr, const std::string originalVClasses, GNEInternalTest *internalTests)
open dialog
dialog arguments (used for certain functions that opens modal dialogs)
Definition json.hpp:4471