Eclipse SUMO - Simulation of Urban MObility
GNEAllowDisallow.cpp
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 rerouters
19 /****************************************************************************/
20 #include <config.h>
21 
22 #include <netedit/GNEViewNet.h>
27 
28 #include "GNEAllowDisallow.h"
29 
30 
31 
32 // ===========================================================================
33 // FOX callback mapping
34 // ===========================================================================
35 
36 FXDEFMAP(GNEAllowDisallow) GNEAllowDisallowMap[] = {
44  FXMAPFUNC(SEL_COMMAND, MID_GNE_BUTTON_RESET, GNEAllowDisallow::onCmdReset),
45 };
46 
47 // Object implementation
48 FXIMPLEMENT(GNEAllowDisallow, FXDialogBox, GNEAllowDisallowMap, ARRAYNUMBER(GNEAllowDisallowMap))
49 
50 // ===========================================================================
51 // member method definitions
52 // ===========================================================================
53 
54 GNEAllowDisallow::GNEAllowDisallow(GNEViewNet* viewNet, GNEAttributeCarrier* AC, SumoXMLAttr attr, bool* acceptChanges) :
55  FXDialogBox(viewNet->getApp(), ("Edit " + toString(attr) + " " + toString(SUMO_ATTR_VCLASS) + "es").c_str(), GUIDesignDialogBox),
56  myViewNet(viewNet),
57  myAC(AC),
58  myEditedAttr(attr),
59  myAcceptChanges(acceptChanges),
60  myAllow(nullptr) {
61  // call constructor
62  constructor();
63 }
64 
65 
66 GNEAllowDisallow::GNEAllowDisallow(GNEViewNet* viewNet, std::string* allow, bool* acceptChanges) :
67  FXDialogBox(viewNet->getApp(), ("Edit " + toString(SUMO_ATTR_ALLOW) + " " + toString(SUMO_ATTR_VCLASS) + "es").c_str(), GUIDesignDialogBox),
68  myViewNet(viewNet),
69  myAC(nullptr),
70  myEditedAttr(SUMO_ATTR_ALLOW),
71  myAcceptChanges(acceptChanges),
72  myAllow(allow) {
73  // call constructor
74  constructor();
75 }
76 
77 
79 }
80 
81 
82 long
83 GNEAllowDisallow::onCmdValueChanged(FXObject* obj, FXSelector, void*) {
84  FXButton* buttonPressed = dynamic_cast<FXButton*>(obj);
85  // change icon of button
86  for (const auto& vClass : myVClassMap) {
87  if (vClass.second.first == buttonPressed) {
88  if (buttonPressed->getIcon() == GUIIconSubSys::getIcon(GUIIcon::ACCEPT)) {
89  buttonPressed->setIcon(GUIIconSubSys::getIcon(GUIIcon::CANCEL));
90  } else {
91  buttonPressed->setIcon(GUIIconSubSys::getIcon(GUIIcon::ACCEPT));
92  }
93  return 1;
94  }
95  }
96  return 1;
97 }
98 
99 
100 long
101 GNEAllowDisallow::onCmdSelectAll(FXObject*, FXSelector, void*) {
102  // change all icons to accept
103  for (const auto& vClass : myVClassMap) {
104  vClass.second.first->setIcon(GUIIconSubSys::getIcon(GUIIcon::ACCEPT));
105  }
106  return 1;
107 }
108 
109 
110 long
111 GNEAllowDisallow::onCmdUnselectAll(FXObject*, FXSelector, void*) {
112  // change all icons to cancel
113  for (const auto& vClass : myVClassMap) {
114  vClass.second.first->setIcon(GUIIconSubSys::getIcon(GUIIcon::CANCEL));
115  }
116  return 1;
117 }
118 
119 
120 long
121 GNEAllowDisallow::onCmdSelectOnlyRoad(FXObject*, FXSelector, void*) {
122  // change all non-road icons to disallow, and allow for the rest
123  for (const auto& vClass : myVClassMap) {
124  if ((vClass.first & (SVC_PEDESTRIAN | SVC_NON_ROAD)) == 0) {
125  vClass.second.first->setIcon(GUIIconSubSys::getIcon(GUIIcon::ACCEPT));
126  } else {
127  vClass.second.first->setIcon(GUIIconSubSys::getIcon(GUIIcon::CANCEL));
128  }
129  }
130  return 1;
131 }
132 
133 
134 long
135 GNEAllowDisallow::onCmdSelectOnlyRail(FXObject*, FXSelector, void*) {
136  // change all non-road icons to disallow, and allow for the rest
137  for (const auto& vClass : myVClassMap) {
138  if ((vClass.first & (SVC_TRAM | SVC_RAIL_URBAN | SVC_RAIL | SVC_RAIL_ELECTRIC | SVC_RAIL_FAST)) != 0) {
139  vClass.second.first->setIcon(GUIIconSubSys::getIcon(GUIIcon::ACCEPT));
140  } else {
141  vClass.second.first->setIcon(GUIIconSubSys::getIcon(GUIIcon::CANCEL));
142  }
143  }
144  return 1;
145 }
146 
147 
148 long
149 GNEAllowDisallow::onCmdAccept(FXObject*, FXSelector, void*) {
150  // clear allow and disallow VClasses
151  std::vector<std::string> allowedVehicles, disallowedVehicles;
152  for (const auto& vClass : myVClassMap) {
153  // check if vehicle is alloweddepending of the Icon
154  if (vClass.second.first->getIcon() == GUIIconSubSys::getIcon(GUIIcon::ACCEPT)) {
155  allowedVehicles.push_back(getVehicleClassNames(vClass.first));
156  } else {
157  disallowedVehicles.push_back(getVehicleClassNames(vClass.first));
158  }
159  }
160  // check if all vehicles are enabled and set new allowed vehicles
161  if (myAC) {
162  myAC->setAttribute(myEditedAttr, joinToString(allowedVehicles, " "), myViewNet->getUndoList());
163  } else {
164  // update strings
165  *myAllow = joinToString(allowedVehicles, " ");
166  }
167  // enable accept flag
168  *myAcceptChanges = true;
169  // Stop Modal
170  getApp()->stopModal(this, TRUE);
171  return 1;
172 }
173 
174 
175 long
176 GNEAllowDisallow::onCmdCancel(FXObject*, FXSelector, void*) {
177  // disable accept flag
178  *myAcceptChanges = false;
179  // Stop Modal
180  getApp()->stopModal(this, FALSE);
181  return 1;
182 }
183 
184 
185 long
186 GNEAllowDisallow::onCmdReset(FXObject*, FXSelector, void*) {
187  std::string allow;
188  // set allow depending of myAC
189  if (myAC) {
190  allow = myAC->getAttribute(myEditedAttr);
191  } else {
192  allow = *myAllow;
193  }
194  // continue depending of allow
195  if (allow == "all") {
196  // iterate over myVClassMap and set all icons as true
197  for (const auto& vClass : myVClassMap) {
198  vClass.second.first->setIcon(GUIIconSubSys::getIcon(GUIIcon::ACCEPT));
199  }
200  } else {
201  // declare string vector for saving all vclasses
202  const std::vector<std::string>& allowStringVector = StringTokenizer(allow).getVector();
203  const std::set<std::string> allowSet(allowStringVector.begin(), allowStringVector.end());
204  // iterate over myVClassMap and set icons
205  for (const auto& vClass : myVClassMap) {
206  if (allowSet.count(getVehicleClassNames(vClass.first)) > 0) {
207  vClass.second.first->setIcon(GUIIconSubSys::getIcon(GUIIcon::ACCEPT));
208  } else {
209  vClass.second.first->setIcon(GUIIconSubSys::getIcon(GUIIcon::CANCEL));
210  }
211  }
212  }
213  return 1;
214 }
215 
216 
217 void
219  // set vehicle icon for this dialog
221  // create main frame
222  FXVerticalFrame* mainFrame = new FXVerticalFrame(this, GUIDesignAuxiliarFrame);
223  // create groupbox for options
224  FXGroupBox* myGroupBoxOptions = new FXGroupBox(mainFrame, "Selection options", GUIDesignGroupBoxFrame);
225  FXHorizontalFrame* myOptionsFrame = new FXHorizontalFrame(myGroupBoxOptions, GUIDesignAuxiliarHorizontalFrame);
226  // allow all
228  new FXLabel(myOptionsFrame, "Allow all vehicles", nullptr, GUIDesignLabelLeftThick);
229  // only road
231  new FXLabel(myOptionsFrame, "Allow only road vehicles", nullptr, GUIDesignLabelLeftThick);
232  // only rail
234  new FXLabel(myOptionsFrame, "Allow only rail vehicles", nullptr, GUIDesignLabelLeftThick);
235  // disallow all
237  new FXLabel(myOptionsFrame, "Disallow all vehicles", nullptr, GUIDesignLabelLeftThick);
238  // create groupbox for vehicles
239  FXGroupBox* myGroupBoxVehiclesFrame = new FXGroupBox(mainFrame, ("Select " + toString(SUMO_ATTR_VCLASS) + "es").c_str(), GUIDesignGroupBoxFrame);
240  // Create frame for vehicles's columns
241  FXHorizontalFrame* myVehiclesFrame = new FXHorizontalFrame(myGroupBoxVehiclesFrame, GUIDesignContentsFrame);
242  // create left frame and fill it
243  FXVerticalFrame* myContentLeftFrame = new FXVerticalFrame(myVehiclesFrame, GUIDesignAuxiliarFrame);
244  buildVClass(myContentLeftFrame, SVC_PASSENGER, GUIIcon::VCLASS_PASSENGER, "Default vehicle class");
245  buildVClass(myContentLeftFrame, SVC_PRIVATE, GUIIcon::VCLASS_PRIVATE, "A passenger car assigned for private use");
246  buildVClass(myContentLeftFrame, SVC_TAXI, GUIIcon::VCLASS_TAXI, "Vehicle for hire with a driver");
247  buildVClass(myContentLeftFrame, SVC_BUS, GUIIcon::VCLASS_BUS, "Urban line traffic");
248  buildVClass(myContentLeftFrame, SVC_COACH, GUIIcon::VCLASS_COACH, "Overland transport");
249  buildVClass(myContentLeftFrame, SVC_DELIVERY, GUIIcon::VCLASS_DELIVERY, "Vehicles specialized to deliver goods");
250  buildVClass(myContentLeftFrame, SVC_TRUCK, GUIIcon::VCLASS_TRUCK, "Vehicle designed to transport cargo");
251  buildVClass(myContentLeftFrame, SVC_TRAILER, GUIIcon::VCLASS_TRAILER, "Truck with trailer");
252  buildVClass(myContentLeftFrame, SVC_EMERGENCY, GUIIcon::VCLASS_EMERGENCY, "Vehicle designated to respond to an emergency");
253  // create center frame and fill it
254  FXVerticalFrame* myContentCenterFrame = new FXVerticalFrame(myVehiclesFrame, GUIDesignAuxiliarFrame);
255  buildVClass(myContentCenterFrame, SVC_MOTORCYCLE, GUIIcon::VCLASS_MOTORCYCLE, "Two- or three-wheeled motor vehicle");
256  buildVClass(myContentCenterFrame, SVC_MOPED, GUIIcon::VCLASS_MOPED, "Motorcycle not allowed in motorways");
257  buildVClass(myContentCenterFrame, SVC_BICYCLE, GUIIcon::VCLASS_BICYCLE, "Human-powered, pedal-driven vehicle");
258  buildVClass(myContentCenterFrame, SVC_PEDESTRIAN, GUIIcon::VCLASS_PEDESTRIAN, "Person traveling on foot");
259  buildVClass(myContentCenterFrame, SVC_TRAM, GUIIcon::VCLASS_RAIL_ELECTRIC, "Rail vehicle which runs on tracks");
260  buildVClass(myContentCenterFrame, SVC_RAIL_ELECTRIC, GUIIcon::VCLASS_RAIL_URBAN, "Rail electric vehicle");
261  buildVClass(myContentCenterFrame, SVC_RAIL_FAST, GUIIcon::VCLASS_RAIL_URBAN, "High-speed rail vehicle");
262  buildVClass(myContentCenterFrame, SVC_RAIL_URBAN, GUIIcon::VCLASS_RAIL_URBAN, "Heavier than tram");
263  buildVClass(myContentCenterFrame, SVC_RAIL, GUIIcon::VCLASS_RAIL, "Heavy rail vehicle");
264  // create right frame and fill it (8 vehicles)
265  FXVerticalFrame* myContentRightFrame = new FXVerticalFrame(myVehiclesFrame, GUIDesignAuxiliarFrame);
266  buildVClass(myContentRightFrame, SVC_E_VEHICLE, GUIIcon::VCLASS_EVEHICLE, "Future electric mobility vehicles");
267  buildVClass(myContentRightFrame, SVC_ARMY, GUIIcon::VCLASS_ARMY, "Vehicle designed for military forces");
268  buildVClass(myContentRightFrame, SVC_SHIP, GUIIcon::VCLASS_SHIP, "Basic class for navigating waterway");
269  buildVClass(myContentRightFrame, SVC_AUTHORITY, GUIIcon::VCLASS_AUTHORITY, "Vehicle of a governmental security agency");
270  buildVClass(myContentRightFrame, SVC_VIP, GUIIcon::VCLASS_VIP, "A civilian security armored car used by VIPs");
271  buildVClass(myContentRightFrame, SVC_HOV, GUIIcon::VCLASS_HOV, "High-Occupancy Vehicle (two or more passengers)");
272  buildVClass(myContentRightFrame, SVC_CUSTOM1, GUIIcon::VCLASS_CUSTOM1, "Reserved for user-defined semantics");
273  buildVClass(myContentRightFrame, SVC_CUSTOM2, GUIIcon::VCLASS_CUSTOM2, "Reserved for user-defined semantics");
274  // create dialog buttons bot centered
275  FXHorizontalFrame* buttonsFrame = new FXHorizontalFrame(mainFrame, GUIDesignHorizontalFrame);
276  new FXHorizontalFrame(buttonsFrame, GUIDesignAuxiliarHorizontalFrame);
277  myAcceptButton = new FXButton(buttonsFrame, "accept\t\tclose", GUIIconSubSys::getIcon(GUIIcon::ACCEPT), this, MID_GNE_BUTTON_ACCEPT, GUIDesignButtonAccept);
278  myCancelButton = new FXButton(buttonsFrame, "cancel\t\tclose", GUIIconSubSys::getIcon(GUIIcon::CANCEL), this, MID_GNE_BUTTON_CANCEL, GUIDesignButtonCancel);
279  myResetButton = new FXButton(buttonsFrame, "reset\t\tclose", GUIIconSubSys::getIcon(GUIIcon::RESET), this, MID_GNE_BUTTON_RESET, GUIDesignButtonReset);
280  new FXHorizontalFrame(buttonsFrame, GUIDesignAuxiliarHorizontalFrame);
281  // reset dialog
282  onCmdReset(nullptr, 0, nullptr);
283 }
284 
285 
286 void
287 GNEAllowDisallow::buildVClass(FXVerticalFrame* contentsFrame, SUMOVehicleClass vclass, GUIIcon vclassIcon, const std::string& description) {
288  // add frame for vehicle icons
289  FXHorizontalFrame* vehicleFrame = new FXHorizontalFrame(contentsFrame, GUIDesignAuxiliarHorizontalFrame);
290  FXLabel* labelVehicleIcon = new FXLabel(vehicleFrame, "", GUIIconSubSys::getIcon(vclassIcon), GUIDesignLabelIcon64x32Thicked);
291  labelVehicleIcon->setBackColor(FXRGBA(255, 255, 255, 255));
292  // create frame for information and button
293  FXVerticalFrame* buttonAndInformationFrame = new FXVerticalFrame(vehicleFrame, GUIDesignAuxiliarHorizontalFrame);
294  FXHorizontalFrame* buttonAndStatusFrame = new FXHorizontalFrame(buttonAndInformationFrame, GUIDesignAuxiliarHorizontalFrame);
295  // create status and text button
296  myVClassMap[vclass].first = new FXButton(buttonAndStatusFrame, "", GUIIconSubSys::getIcon(GUIIcon::EMPTY), this, MID_GNE_ALLOWDISALLOW_CHANGE, GUIDesignButtonIcon);
297  myVClassMap[vclass].second = new FXLabel(buttonAndStatusFrame, toString(vclass).c_str(), nullptr, GUIDesignLabelLeftThick);
298  // create label for description of vehicle
299  new FXLabel(buttonAndInformationFrame, description.c_str(), nullptr, GUIDesignLabelLeftThick);
300 }
301 
302 
303 /****************************************************************************/
SVC_RAIL_FAST
@ SVC_RAIL_FAST
vehicle that is allowed to drive on high-speed rail tracks
Definition: SUMOVehicleClass.h:192
GUIIcon::VCLASS_COACH
@ VCLASS_COACH
GUIIcon::VCLASS_TAXI
@ VCLASS_TAXI
GNEAllowDisallow::myViewNet
GNEViewNet * myViewNet
FOX need this.
Definition: GNEAllowDisallow.h:86
GUIDesignAuxiliarHorizontalFrame
#define GUIDesignAuxiliarHorizontalFrame
design for auxiliar (Without borders) horizontal frame used to pack another frames
Definition: GUIDesigns.h:352
GUIIcon::VCLASS_DELIVERY
@ VCLASS_DELIVERY
GNEAllowDisallow::myVClassMap
std::map< SUMOVehicleClass, std::pair< FXButton *, FXLabel * > > myVClassMap
map with the buttons for every VClass
Definition: GNEAllowDisallow.h:110
SVC_PEDESTRIAN
@ SVC_PEDESTRIAN
pedestrian
Definition: SUMOVehicleClass.h:156
SUMOVehicleClass
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
Definition: SUMOVehicleClass.h:133
MID_GNE_BUTTON_ACCEPT
@ MID_GNE_BUTTON_ACCEPT
accept button
Definition: GUIAppEnum.h:1225
SVC_E_VEHICLE
@ SVC_E_VEHICLE
is an electric vehicle
Definition: SUMOVehicleClass.h:181
GUIIconSubSys::getIcon
static FXIcon * getIcon(const GUIIcon which)
returns a icon previously defined in the enum GUIIcon
Definition: GUIIconSubSys.cpp:873
SVC_EMERGENCY
@ SVC_EMERGENCY
public emergency vehicles
Definition: SUMOVehicleClass.h:143
GUIIcon::OK
@ OK
MID_GNE_ALLOWDISALLOW_SELECTALL
@ MID_GNE_ALLOWDISALLOW_SELECTALL
select all vehicles
Definition: GUIAppEnum.h:1314
GUIIcon::VCLASS_RAIL_ELECTRIC
@ VCLASS_RAIL_ELECTRIC
SVC_COACH
@ SVC_COACH
vehicle is a coach
Definition: SUMOVehicleClass.h:167
MID_GNE_BUTTON_RESET
@ MID_GNE_BUTTON_RESET
reset button
Definition: GUIAppEnum.h:1229
GNEAllowDisallow::~GNEAllowDisallow
~GNEAllowDisallow()
destructor
Definition: GNEAllowDisallow.cpp:78
GUIIcon::EMPTY
@ EMPTY
SVC_CUSTOM2
@ SVC_CUSTOM2
is a user-defined type
Definition: SUMOVehicleClass.h:200
GUIIcon::RESET
@ RESET
MID_GNE_ALLOWDISALLOW_ONLY_ROAD
@ MID_GNE_ALLOWDISALLOW_ONLY_ROAD
select only non road vehicles
Definition: GUIAppEnum.h:1318
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
SVC_BICYCLE
@ SVC_BICYCLE
vehicle is a bicycle
Definition: SUMOVehicleClass.h:179
SVC_DELIVERY
@ SVC_DELIVERY
vehicle is a small delivery vehicle
Definition: SUMOVehicleClass.h:169
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
GUIIcon::ACCEPT
@ ACCEPT
SVC_NON_ROAD
@ SVC_NON_ROAD
classes which (normally) do not drive on normal roads
Definition: SUMOVehicleClass.h:211
GUIDesigns.h
GNEAllowDisallow::myAcceptChanges
bool * myAcceptChanges
accept changes
Definition: GNEAllowDisallow.h:95
SVC_RAIL
@ SVC_RAIL
vehicle is a not electrified rail
Definition: SUMOVehicleClass.h:188
SVC_RAIL_URBAN
@ SVC_RAIL_URBAN
vehicle is a city rail
Definition: SUMOVehicleClass.h:186
SVC_AUTHORITY
@ SVC_AUTHORITY
authorities vehicles
Definition: SUMOVehicleClass.h:145
GNEAllowDisallow::myResetButton
FXButton * myResetButton
cancel button
Definition: GNEAllowDisallow.h:107
GUIIcon::VCLASS_MOPED
@ VCLASS_MOPED
GUIAppEnum.h
SVC_PRIVATE
@ SVC_PRIVATE
private vehicles
Definition: SUMOVehicleClass.h:141
GUIIcon::VCLASS_EMERGENCY
@ VCLASS_EMERGENCY
GUIIcon::VCLASS_CUSTOM2
@ VCLASS_CUSTOM2
GNEAllowDisallow.h
GNEAllowDisallow::myAC
GNEAttributeCarrier * myAC
edited AC
Definition: GNEAllowDisallow.h:89
GUIDesignContentsFrame
#define GUIDesignContentsFrame
design for the main content frame of every frame/dialog
Definition: GUIDesigns.h:364
SVC_TRAM
@ SVC_TRAM
vehicle is a light rail
Definition: SUMOVehicleClass.h:184
GUIIcon::VCLASS_CUSTOM1
@ VCLASS_CUSTOM1
GUIIcon::VCLASS_PASSENGER
@ VCLASS_PASSENGER
MID_GNE_ALLOWDISALLOW_UNSELECTALL
@ MID_GNE_ALLOWDISALLOW_UNSELECTALL
unselect all vehicles
Definition: GUIAppEnum.h:1316
GNEAllowDisallow::buildVClass
void buildVClass(FXVerticalFrame *contentsFrame, SUMOVehicleClass vclass, GUIIcon vclassIcon, const std::string &description)
build VClass
Definition: GNEAllowDisallow.cpp:287
FXDEFMAP
FXDEFMAP(GNEAllowDisallow) GNEAllowDisallowMap[]
SVC_TRUCK
@ SVC_TRUCK
vehicle is a large transport vehicle
Definition: SUMOVehicleClass.h:171
GUIDesignButtonIcon
#define GUIDesignButtonIcon
button only with icon
Definition: GUIDesigns.h:77
SVC_CUSTOM1
@ SVC_CUSTOM1
is a user-defined type
Definition: SUMOVehicleClass.h:198
SVC_ARMY
@ SVC_ARMY
army vehicles
Definition: SUMOVehicleClass.h:147
GNEAllowDisallow
Dialog for edit rerouters.
Definition: GNEAllowDisallow.h:40
GUIIcon::VCLASS_AUTHORITY
@ VCLASS_AUTHORITY
SVC_HOV
@ SVC_HOV
vehicle is a HOV
Definition: SUMOVehicleClass.h:161
GUIDesignHorizontalFrame
#define GUIDesignHorizontalFrame
Horizontal frame extended over frame parent.
Definition: GUIDesigns.h:302
StringTokenizer
Definition: StringTokenizer.h:60
GUIIcon::VCLASS_VIP
@ VCLASS_VIP
GNEViewNet.h
SVC_PASSENGER
@ SVC_PASSENGER
vehicle is a passenger car (a "normal" car)
Definition: SUMOVehicleClass.h:159
SVC_RAIL_ELECTRIC
@ SVC_RAIL_ELECTRIC
rail vehicle that requires electrified tracks
Definition: SUMOVehicleClass.h:190
getVehicleClassNames
const std::string & getVehicleClassNames(SVCPermissions permissions, bool expand)
Returns the ids of the given classes, divided using a ' '.
Definition: SUMOVehicleClass.cpp:275
GUIIcon::VCLASS_MOTORCYCLE
@ VCLASS_MOTORCYCLE
GNEAllowDisallow::onCmdSelectAll
long onCmdSelectAll(FXObject *, FXSelector, void *)
event when user press select all VClasses button
Definition: GNEAllowDisallow.cpp:101
GUIIcon::GREENVEHICLE
@ GREENVEHICLE
GNEViewNet::getUndoList
GNEUndoList * getUndoList() const
get the undoList object
Definition: GNEViewNet.cpp:1413
GUIDesignButtonReset
#define GUIDesignButtonReset
Reset Button.
Definition: GUIDesigns.h:136
GUIDesignGroupBoxFrame
#define GUIDesignGroupBoxFrame
Group box design extended over frame.
Definition: GUIDesigns.h:317
GUIIcon::VCLASS_BUS
@ VCLASS_BUS
GUIIcon
GUIIcon
An enumeration of icons used by the gui applications.
Definition: GUIIcons.h:33
SVC_VIP
@ SVC_VIP
vip vehicles
Definition: SUMOVehicleClass.h:149
SVC_SHIP
@ SVC_SHIP
is an arbitrary ship
Definition: SUMOVehicleClass.h:195
GUIIcon::CANCEL
@ CANCEL
MID_GNE_ALLOWDISALLOW_ONLY_RAIL
@ MID_GNE_ALLOWDISALLOW_ONLY_RAIL
select only rail vehicles
Definition: GUIAppEnum.h:1320
GUIIcon::VCLASS_PEDESTRIAN
@ VCLASS_PEDESTRIAN
GUIDesignButtonAccept
#define GUIDesignButtonAccept
Accept Button.
Definition: GUIDesigns.h:130
toString
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
Definition: ToString.h:46
MID_GNE_BUTTON_CANCEL
@ MID_GNE_BUTTON_CANCEL
cancel button
Definition: GUIAppEnum.h:1227
GNEAllowDisallow::myAcceptButton
FXButton * myAcceptButton
accept button
Definition: GNEAllowDisallow.h:101
GUIDesignLabelLeftThick
#define GUIDesignLabelLeftThick
label extended over frame with thick and with text justify to left
Definition: GUIDesigns.h:211
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
SVC_MOPED
@ SVC_MOPED
vehicle is a moped
Definition: SUMOVehicleClass.h:177
SVC_TAXI
@ SVC_TAXI
vehicle is a taxi
Definition: SUMOVehicleClass.h:163
GUIIcon::VCLASS_ARMY
@ VCLASS_ARMY
GUIDesignLabelIcon64x32Thicked
#define GUIDesignLabelIcon64x32Thicked
label ticked filled used for VClasses. It uses icons of 64x32 pixels
Definition: GUIDesigns.h:238
GNEAttributeCarrier::getAttribute
virtual std::string getAttribute(SumoXMLAttr key) const =0
GNEAllowDisallow::onCmdCancel
long onCmdCancel(FXObject *, FXSelector, void *)
event after press cancel button
Definition: GNEAllowDisallow.cpp:176
SUMO_ATTR_ALLOW
@ SUMO_ATTR_ALLOW
Definition: SUMOXMLDefinitions.h:1112
joinToString
std::string joinToString(const std::vector< T > &v, const T_BETWEEN &between, std::streamsize accuracy=gPrecision)
Definition: ToString.h:276
SUMO_ATTR_VCLASS
@ SUMO_ATTR_VCLASS
Definition: SUMOXMLDefinitions.h:615
GNEAllowDisallow::onCmdUnselectAll
long onCmdUnselectAll(FXObject *, FXSelector, void *)
event when user press unselect all VClasses button
Definition: GNEAllowDisallow.cpp:111
GUIDesignAuxiliarFrame
#define GUIDesignAuxiliarFrame
design for auxiliar (Without borders) frames used to pack another frames extended in all directions
Definition: GUIDesigns.h:349
GUIIcon::VCLASS_BICYCLE
@ VCLASS_BICYCLE
GUIIcon::VCLASS_RAIL
@ VCLASS_RAIL
GNEAttributeCarrier.h
StringTokenizer::getVector
std::vector< std::string > getVector()
return vector of strings
Definition: StringTokenizer.cpp:190
GUIDesignButtonCancel
#define GUIDesignButtonCancel
Cancel Button.
Definition: GUIDesigns.h:133
GUIIcon::VCLASS_TRAILER
@ VCLASS_TRAILER
config.h
GNEAttributeCarrier::setAttribute
virtual void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)=0
SVC_TRAILER
@ SVC_TRAILER
vehicle is a large transport vehicle
Definition: SUMOVehicleClass.h:173
SVC_BUS
@ SVC_BUS
vehicle is a bus
Definition: SUMOVehicleClass.h:165
StringTokenizer.h
SVC_MOTORCYCLE
@ SVC_MOTORCYCLE
vehicle is a motorcycle
Definition: SUMOVehicleClass.h:175
GUIIcon::VCLASS_RAIL_URBAN
@ VCLASS_RAIL_URBAN
GUIIcon::VCLASS_PRIVATE
@ VCLASS_PRIVATE
SumoXMLAttr
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
Definition: SUMOXMLDefinitions.h:466
MID_GNE_ALLOWDISALLOW_CHANGE
@ MID_GNE_ALLOWDISALLOW_CHANGE
select/unselect single vehicle
Definition: GUIAppEnum.h:1312
GUIIcon::VCLASS_TRUCK
@ VCLASS_TRUCK
GNEAttributeCarrier
Definition: GNEAttributeCarrier.h:48
GUIIcon::VCLASS_HOV
@ VCLASS_HOV
GNEAllowDisallow::myCancelButton
FXButton * myCancelButton
cancel button
Definition: GNEAllowDisallow.h:104
GNEAllowDisallow::onCmdValueChanged
long onCmdValueChanged(FXObject *, FXSelector, void *)
Definition: GNEAllowDisallow.cpp:83
GUIIcon::VCLASS_EVEHICLE
@ VCLASS_EVEHICLE
GUIDesignDialogBox
#define GUIDesignDialogBox
Definition: GUIDesigns.h:539
GUIIcon::VCLASS_SHIP
@ VCLASS_SHIP