Eclipse SUMO - Simulation of Urban MObility
GNEAllowDisallow.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2022 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 and disallow attributes
19 /****************************************************************************/
20 #pragma once
21 #include <config.h>
23 
24 
25 // ===========================================================================
26 // class definitions
27 // ===========================================================================
29 class GNEViewNet;
30 
31 
32 // ===========================================================================
33 // class definitions
34 // ===========================================================================
35 
40 class GNEAllowDisallow : public FXDialogBox {
42  FXDECLARE(GNEAllowDisallow)
43 
44 public:
46  GNEAllowDisallow(GNEViewNet* viewNet, GNEAttributeCarrier* AC, SumoXMLAttr attr, bool* acceptChanges);
47 
49  GNEAllowDisallow(GNEViewNet* viewNet, std::string* allow, bool* acceptChanges);
50 
53 
57  long onCmdValueChanged(FXObject*, FXSelector, void*);
58 
60  long onCmdSelectAll(FXObject*, FXSelector, void*);
61 
63  long onCmdUnselectAll(FXObject*, FXSelector, void*);
64 
66  long onCmdSelectOnlyRoad(FXObject*, FXSelector, void*);
67 
69  long onCmdSelectOnlyRail(FXObject*, FXSelector, void*);
70 
72  long onCmdAccept(FXObject*, FXSelector, void*);
73 
75  long onCmdCancel(FXObject*, FXSelector, void*);
76 
78  long onCmdReset(FXObject*, FXSelector, void*);
80 
81 protected:
83  FOX_CONSTRUCTOR(GNEAllowDisallow)
84 
85 
87 
90 
93 
96 
98  std::string* myAllow;
99 
101  FXButton* myAcceptButton;
102 
104  FXButton* myCancelButton;
105 
107  FXButton* myResetButton;
108 
110  std::map<SUMOVehicleClass, std::pair<FXButton*, FXLabel*> > myVClassMap;
111 
112 private:
114  void constructor();
115 
117  void buildVClass(FXVerticalFrame* contentsFrame, SUMOVehicleClass vclass, GUIIcon vclassIcon, const std::string& description);
118 
120  GNEAllowDisallow(const GNEAllowDisallow&) = delete;
121 
123  GNEAllowDisallow& operator=(const GNEAllowDisallow&) = delete;
124 };
125 
GNEAllowDisallow::myViewNet
GNEViewNet * myViewNet
FOX need this.
Definition: GNEAllowDisallow.h:86
GNEAllowDisallow::myVClassMap
std::map< SUMOVehicleClass, std::pair< FXButton *, FXLabel * > > myVClassMap
map with the buttons for every VClass
Definition: GNEAllowDisallow.h:110
SUMOVehicleClass
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
Definition: SUMOVehicleClass.h:133
GNEAllowDisallow::~GNEAllowDisallow
~GNEAllowDisallow()
destructor
Definition: GNEAllowDisallow.cpp:78
GNEAllowDisallow::onCmdAccept
long onCmdAccept(FXObject *, FXSelector, void *)
event after press accept button
Definition: GNEAllowDisallow.cpp:149
GNEAllowDisallow::constructor
void constructor()
constructor
Definition: GNEAllowDisallow.cpp:218
GNEAllowDisallow::myEditedAttr
SumoXMLAttr myEditedAttr
the attribute being edited
Definition: GNEAllowDisallow.h:92
GNEAllowDisallow::onCmdSelectOnlyRoad
long onCmdSelectOnlyRoad(FXObject *, FXSelector, void *)
event when user press select only road button
Definition: GNEAllowDisallow.cpp:121
GNEAllowDisallow::onCmdReset
long onCmdReset(FXObject *, FXSelector, void *)
event after press reset button
Definition: GNEAllowDisallow.cpp:186
GNEAllowDisallow::onCmdSelectOnlyRail
long onCmdSelectOnlyRail(FXObject *, FXSelector, void *)
event when user press select only rail button
Definition: GNEAllowDisallow.cpp:135
GNEViewNet
Definition: GNEViewNet.h:43
GNEAllowDisallow::myAcceptChanges
bool * myAcceptChanges
accept changes
Definition: GNEAllowDisallow.h:95
GNEAllowDisallow::myResetButton
FXButton * myResetButton
cancel button
Definition: GNEAllowDisallow.h:107
GNEAllowDisallow::myAC
GNEAttributeCarrier * myAC
edited AC
Definition: GNEAllowDisallow.h:89
GNEAllowDisallow::buildVClass
void buildVClass(FXVerticalFrame *contentsFrame, SUMOVehicleClass vclass, GUIIcon vclassIcon, const std::string &description)
build VClass
Definition: GNEAllowDisallow.cpp:287
GNEAllowDisallow
Dialog for edit rerouters.
Definition: GNEAllowDisallow.h:40
SUMOVehicleClass.h
GNEAllowDisallow::onCmdSelectAll
long onCmdSelectAll(FXObject *, FXSelector, void *)
event when user press select all VClasses button
Definition: GNEAllowDisallow.cpp:101
GUIIcon
GUIIcon
An enumeration of icons used by the gui applications.
Definition: GUIIcons.h:33
GNEAllowDisallow::myAcceptButton
FXButton * myAcceptButton
accept button
Definition: GNEAllowDisallow.h:101
GNEAllowDisallow::myAllow
std::string * myAllow
allow vehicles
Definition: GNEAllowDisallow.h:98
GNEAllowDisallow::GNEAllowDisallow
GNEAllowDisallow(GNEViewNet *viewNet, GNEAttributeCarrier *AC, SumoXMLAttr attr, bool *acceptChanges)
FOX-declaration.
Definition: GNEAllowDisallow.cpp:54
std
Definition: json.hpp:4470
GNEAllowDisallow::onCmdCancel
long onCmdCancel(FXObject *, FXSelector, void *)
event after press cancel button
Definition: GNEAllowDisallow.cpp:176
GNEAllowDisallow::onCmdUnselectAll
long onCmdUnselectAll(FXObject *, FXSelector, void *)
event when user press unselect all VClasses button
Definition: GNEAllowDisallow.cpp:111
config.h
SumoXMLAttr
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
Definition: SUMOXMLDefinitions.h:466
GNEAttributeCarrier
Definition: GNEAttributeCarrier.h:48
GNEAllowDisallow::myCancelButton
FXButton * myCancelButton
cancel button
Definition: GNEAllowDisallow.h:104
GNEAllowDisallow::onCmdValueChanged
long onCmdValueChanged(FXObject *, FXSelector, void *)
Definition: GNEAllowDisallow.cpp:83