Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNEVClassesDialog.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
24
25#include "GNEDialog.h"
26
27// ===========================================================================
28// class definitions
29// ===========================================================================
30
32
33// ===========================================================================
34// class definitions
35// ===========================================================================
36
39 FXDECLARE(GNEVClassesDialog)
40
41public:
43 class VClassRow : protected FXHorizontalFrame {
45 FXDECLARE(VClassRow)
46
47 public:
49 VClassRow(FXVerticalFrame* contentsFrame, SUMOVehicleClass vClass,
50 GUIIcon vClassIcon, const std::string& description);
51
53 ~VClassRow();
54
56 const std::string& getVClassString() const;
57
59 void setVClassButtonStatus(const bool enabled);
60
62 bool isVClassButtonEnabled() const;
63
66
68 long onCmdToggleVClass(FXObject*, FXSelector, void*);
69
71
72 protected:
74 FOX_CONSTRUCTOR(VClassRow)
75
76
77 FXButton* myVClassButton = nullptr;
78
80 const std::string myVClassString;
81
82 private:
84 VClassRow(const VClassRow&) = delete;
85
87 VClassRow& operator=(const VClassRow&) = delete;
88 };
89
92 const std::string originalVClasses);
93
96
98 void runInternalTest(const InternalTestStep::DialogArgument* dialogArgument);
99
101 std::string getModifiedVClasses() const;
102
105
107 long onCmdSelectAll(FXObject*, FXSelector, void*);
108
110 long onCmdUnselectAll(FXObject*, FXSelector, void*);
111
113 long onCmdSelectOnlyRoad(FXObject*, FXSelector, void*);
114
116 long onCmdSelectOnlyRail(FXObject*, FXSelector, void*);
117
119 long onCmdAccept(FXObject*, FXSelector, void*);
120
122 long onCmdCancel(FXObject*, FXSelector, void*);
123
125 long onCmdReset(FXObject*, FXSelector, void*);
126
128
129protected:
131 FOX_CONSTRUCTOR(GNEVClassesDialog)
132
134 const std::string myOriginalVClasses;
135
138
141
142private:
145
147 GNEVClassesDialog& operator=(const GNEVClassesDialog&) = delete;
148};
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.
The main window of Netedit.
long onCmdToggleVClass(FXObject *, FXSelector, void *)
event when user toogle the vClass button
FXButton * myVClassButton
FOX need this.
bool isVClassButtonEnabled() const
check if vClass button is enabled
const std::string myVClassString
vclass in string format
void setVClassButtonStatus(const bool enabled)
set vClass button status
const std::string & getVClassString() const
get vclass in string format
long onCmdSelectAll(FXObject *, FXSelector, void *)
event when user press select all VClasses button
std::string myEditedVClasses
edited vClasses
const std::string myOriginalVClasses
FOX need this.
long onCmdSelectOnlyRoad(FXObject *, FXSelector, void *)
event when user press select only road button
long onCmdReset(FXObject *, FXSelector, void *)
event after press reset button
long onCmdAccept(FXObject *, FXSelector, void *)
event after press accept button
std::map< SUMOVehicleClass, VClassRow * > myVClassMap
map with the buttons for every VClass
std::string getModifiedVClasses() const
get vClasses modified by this dialog
long onCmdSelectOnlyRail(FXObject *, FXSelector, void *)
event when user press select only rail button
void runInternalTest(const InternalTestStep::DialogArgument *dialogArgument)
run internal test
long onCmdUnselectAll(FXObject *, FXSelector, void *)
event when user press unselect all VClasses button
long onCmdCancel(FXObject *, FXSelector, void *)
event after press cancel button
Definition json.hpp:4471