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-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
14 // Dialog for edit rerouters
15 /****************************************************************************/
16 
17 // ===========================================================================
18 // included modules
19 // ===========================================================================
20 #include <config.h>
21 
26 #include <netedit/GNEViewNet.h>
27 
28 #include "GNEAllowDisallow.h"
29 
30 
31 
32 // ===========================================================================
33 // FOX callback mapping
34 // ===========================================================================
35 
36 FXDEFMAP(GNEAllowDisallow) GNEAllowDisallowMap[] = {
44 };
45 
46 // Object implementation
47 FXIMPLEMENT(GNEAllowDisallow, FXDialogBox, GNEAllowDisallowMap, ARRAYNUMBER(GNEAllowDisallowMap))
48 
49 // ===========================================================================
50 // member method definitions
51 // ===========================================================================
52 
54  FXDialogBox(viewNet->getApp(), ("Edit " + toString(SUMO_ATTR_ALLOW) + " " + toString(SUMO_ATTR_VCLASS) + "es").c_str(), GUIDesignDialogBox),
55  myViewNet(viewNet),
56  myAC(AC) {
57  assert(AC->getTagProperty().hasAttribute(SUMO_ATTR_ALLOW));
58  // set vehicle icon for this dialog
60  // create main frame
61  FXVerticalFrame* mainFrame = new FXVerticalFrame(this, GUIDesignAuxiliarFrame);
62  // create groupbox for options
63  FXGroupBox* myGroupBoxOptions = new FXGroupBox(mainFrame, "Selection options", GUIDesignGroupBoxFrame);
64  FXHorizontalFrame* myOptionsFrame = new FXHorizontalFrame(myGroupBoxOptions, GUIDesignAuxiliarHorizontalFrame);
65  mySelectAllVClassButton = new FXButton(myOptionsFrame, "", GUIIconSubSys::getIcon(ICON_OK), this, MID_GNE_ALLOWDISALLOW_SELECTALL, GUIDesignButtonIcon);
66  new FXLabel(myOptionsFrame, "Allow all vehicles", nullptr, GUIDesignLabelLeftThick);
67  mySelectOnlyRoadVClassButton = new FXButton(myOptionsFrame, "", GUIIconSubSys::getIcon(ICON_OK), this, MID_GNE_ALLOWDISALLOW_SELECTONLYROAD, GUIDesignButtonIcon);
68  new FXLabel(myOptionsFrame, "Allow only road vehicles", nullptr, GUIDesignLabelLeftThick);
69  myUnselectAllVClassButton = new FXButton(myOptionsFrame, "", GUIIconSubSys::getIcon(ICON_CANCEL), this, MID_GNE_ALLOWDISALLOW_UNSELECTALL, GUIDesignButtonIcon);
70  new FXLabel(myOptionsFrame, "Disallow all vehicles", nullptr, GUIDesignLabelLeftThick);
71  // create groupbox for vehicles
72  FXGroupBox* myGroupBoxVehiclesFrame = new FXGroupBox(mainFrame, ("Select " + toString(SUMO_ATTR_VCLASS) + "es").c_str(), GUIDesignGroupBoxFrame);
73  // Create frame for vehicles's columns
74  FXHorizontalFrame* myVehiclesFrame = new FXHorizontalFrame(myGroupBoxVehiclesFrame, GUIDesignContentsFrame);
75  // create left frame and fill it
76  FXVerticalFrame* myContentLeftFrame = new FXVerticalFrame(myVehiclesFrame, GUIDesignAuxiliarFrame);
77  buildVClass(myContentLeftFrame, SVC_PASSENGER, ICON_VCLASS_PASSENGER, "Default vehicle class");
78  buildVClass(myContentLeftFrame, SVC_PRIVATE, ICON_VCLASS_PRIVATE, "A passenger car assigned for private use");
79  buildVClass(myContentLeftFrame, SVC_TAXI, ICON_VCLASS_TAXI, "Vehicle for hire with a driver");
80  buildVClass(myContentLeftFrame, SVC_BUS, ICON_VCLASS_BUS, "Urban line traffic");
81  buildVClass(myContentLeftFrame, SVC_COACH, ICON_VCLASS_COACH, "Overland transport");
82  buildVClass(myContentLeftFrame, SVC_DELIVERY, ICON_VCLASS_DELIVERY, "Vehicles specialized to deliver goods");
83  buildVClass(myContentLeftFrame, SVC_TRUCK, ICON_VCLASS_TRUCK, "Vehicle designed to transport cargo");
84  buildVClass(myContentLeftFrame, SVC_TRAILER, ICON_VCLASS_TRAILER, "Truck with trailer");
85  buildVClass(myContentLeftFrame, SVC_EMERGENCY, ICON_VCLASS_EMERGENCY, "Vehicle designated to respond to an emergency");
86  // create center frame and fill it
87  FXVerticalFrame* myContentCenterFrame = new FXVerticalFrame(myVehiclesFrame, GUIDesignAuxiliarFrame);
88  buildVClass(myContentCenterFrame, SVC_MOTORCYCLE, ICON_VCLASS_MOTORCYCLE, "Two- or three-wheeled motor vehicle");
89  buildVClass(myContentCenterFrame, SVC_MOPED, ICON_VCLASS_MOPED, "Motorcycle not allowed in motorways");
90  buildVClass(myContentCenterFrame, SVC_BICYCLE, ICON_VCLASS_BICYCLE, "Human-powered, pedal-driven vehicle");
91  buildVClass(myContentCenterFrame, SVC_PEDESTRIAN, ICON_VCLASS_PEDESTRIAN, "Person traveling on foot");
92  buildVClass(myContentCenterFrame, SVC_TRAM, ICON_VCLASS_TRAM, "Rail vehicle which runs on tracks");
93  buildVClass(myContentCenterFrame, SVC_RAIL_ELECTRIC, ICON_VCLASS_RAIL_ELECTRIC, "Rail electric vehicle");
94  buildVClass(myContentCenterFrame, SVC_RAIL_FAST, ICON_VCLASS_RAIL_ELECTRIC, "High-speed rail vehicle");
95  buildVClass(myContentCenterFrame, SVC_RAIL_URBAN, ICON_VCLASS_RAIL_URBAN, "Heavier than tram");
96  buildVClass(myContentCenterFrame, SVC_RAIL, ICON_VCLASS_RAIL, "Heavy rail vehicle");
97  // create right frame and fill it (8 vehicles)
98  FXVerticalFrame* myContentRightFrame = new FXVerticalFrame(myVehiclesFrame, GUIDesignAuxiliarFrame);
99  buildVClass(myContentRightFrame, SVC_E_VEHICLE, ICON_VCLASS_EVEHICLE, "Future electric mobility vehicles");
100  buildVClass(myContentRightFrame, SVC_ARMY, ICON_VCLASS_ARMY, "Vehicle designed for military forces");
101  buildVClass(myContentRightFrame, SVC_SHIP, ICON_VCLASS_SHIP, "Basic class for navigating waterway");
102  buildVClass(myContentRightFrame, SVC_AUTHORITY, ICON_VCLASS_AUTHORITY, "Vehicle of a governmental security agency");
103  buildVClass(myContentRightFrame, SVC_VIP, ICON_VCLASS_VIP, "A civilian security armored car used by VIPs");
104  buildVClass(myContentRightFrame, SVC_HOV, ICON_VCLASS_HOV, "High-Occupancy Vehicle (two or more passengers)");
105  buildVClass(myContentRightFrame, SVC_CUSTOM1, ICON_VCLASS_CUSTOM1, "Reserved for user-defined semantics");
106  buildVClass(myContentRightFrame, SVC_CUSTOM2, ICON_VCLASS_CUSTOM2, "Reserved for user-defined semantics");
107  // create dialog buttons bot centered
108  FXHorizontalFrame* buttonsFrame = new FXHorizontalFrame(mainFrame, GUIDesignHorizontalFrame);
109  new FXHorizontalFrame(buttonsFrame, GUIDesignAuxiliarHorizontalFrame);
110  myAcceptButton = new FXButton(buttonsFrame, "accept\t\tclose", GUIIconSubSys::getIcon(ICON_ACCEPT), this, MID_GNE_ADDITIONALDIALOG_BUTTONACCEPT, GUIDesignButtonAccept);
111  myCancelButton = new FXButton(buttonsFrame, "cancel\t\tclose", GUIIconSubSys::getIcon(ICON_CANCEL), this, MID_GNE_ADDITIONALDIALOG_BUTTONCANCEL, GUIDesignButtonCancel);
112  myResetButton = new FXButton(buttonsFrame, "reset\t\tclose", GUIIconSubSys::getIcon(ICON_RESET), this, MID_GNE_ADDITIONALDIALOG_BUTTONRESET, GUIDesignButtonReset);
113  new FXHorizontalFrame(buttonsFrame, GUIDesignAuxiliarHorizontalFrame);
114  // reset dialog
115  onCmdReset(nullptr, 0, nullptr);
116 }
117 
118 
120 }
121 
122 
123 long
124 GNEAllowDisallow::onCmdValueChanged(FXObject* obj, FXSelector, void*) {
125  FXButton* buttonPressed = dynamic_cast<FXButton*>(obj);
126  // change icon of button
127  for (auto i = myVClassMap.begin(); i != myVClassMap.end(); i++) {
128  if (i->second.first == buttonPressed) {
129  if (buttonPressed->getIcon() == GUIIconSubSys::getIcon(ICON_ACCEPT)) {
130  buttonPressed->setIcon(GUIIconSubSys::getIcon(ICON_CANCEL));
131  } else {
132  buttonPressed->setIcon(GUIIconSubSys::getIcon(ICON_ACCEPT));
133  }
134  return 1;
135  }
136  }
137  return 1;
138 }
139 
140 
141 long
142 GNEAllowDisallow::onCmdSelectAll(FXObject*, FXSelector, void*) {
143  // change all icons to accept
144  for (auto i : myVClassMap) {
145  i.second.first->setIcon(GUIIconSubSys::getIcon(ICON_ACCEPT));
146  }
147  return 1;
148 }
149 
150 
151 long
152 GNEAllowDisallow::onCmdUnselectAll(FXObject*, FXSelector, void*) {
153  // change all icons to cancel
154  for (auto i : myVClassMap) {
155  i.second.first->setIcon(GUIIconSubSys::getIcon(ICON_CANCEL));
156  }
157  return 1;
158 }
159 
160 
161 long
162 GNEAllowDisallow::onCmdSelectOnlyRoad(FXObject*, FXSelector, void*) {
163  // change all non-road icons to disallow, and allow for the rest
164  for (auto i : myVClassMap) {
165  if ((i.first & (SVC_PEDESTRIAN | SVC_NON_ROAD)) == 0) {
166  i.second.first->setIcon(GUIIconSubSys::getIcon(ICON_ACCEPT));
167  } else {
168  i.second.first->setIcon(GUIIconSubSys::getIcon(ICON_CANCEL));
169  }
170  }
171  return 1;
172 }
173 
174 
175 long
176 GNEAllowDisallow::onCmdAccept(FXObject*, FXSelector, void*) {
177  // clear allow and disallow VClasses
178  std::vector<std::string> allowedVehicles;
179  for (auto i : myVClassMap) {
180  // check if vehicle is alloweddepending of the Icon
181  if (i.second.first->getIcon() == GUIIconSubSys::getIcon(ICON_ACCEPT)) {
182  allowedVehicles.push_back(getVehicleClassNames(i.first));
183  }
184  }
185  // chek if all vehicles are enabled and set new allowed vehicles
186  myAC->setAttribute(SUMO_ATTR_ALLOW, joinToString(allowedVehicles, " "), myViewNet->getUndoList());
187  // Stop Modal
188  getApp()->stopModal(this, TRUE);
189  return 1;
190 }
191 
192 
193 long
194 GNEAllowDisallow::onCmdCancel(FXObject*, FXSelector, void*) {
195  // Stop Modal
196  getApp()->stopModal(this, FALSE);
197  return 1;
198 }
199 
200 
201 long
202 GNEAllowDisallow::onCmdReset(FXObject*, FXSelector, void*) {
203  if (myAC->getAttribute(SUMO_ATTR_ALLOW) == "all") {
204  // iterate over myVClassMap and set all icons as true
205  for (auto i : myVClassMap) {
206  i.second.first->setIcon(GUIIconSubSys::getIcon(ICON_ACCEPT));
207  }
208  } else {
209  // declare string vector for saving all vclasses
210  const std::vector<std::string>& allowStringVector = StringTokenizer(myAC->getAttribute(SUMO_ATTR_ALLOW)).getVector();
211  const std::set<std::string> allowSet(allowStringVector.begin(), allowStringVector.end());
212  // iterate over myVClassMap and set icons
213  for (auto i : myVClassMap) {
214  if (allowSet.count(getVehicleClassNames(i.first)) > 0) {
215  i.second.first->setIcon(GUIIconSubSys::getIcon(ICON_ACCEPT));
216  } else {
217  i.second.first->setIcon(GUIIconSubSys::getIcon(ICON_CANCEL));
218  }
219  }
220  }
221  return 1;
222 }
223 
224 
225 void
226 GNEAllowDisallow::buildVClass(FXVerticalFrame* contentsFrame, SUMOVehicleClass vclass, GUIIcon vclassIcon, const std::string& description) {
227  // add frame for vehicle icons
228  FXHorizontalFrame* vehicleFrame = new FXHorizontalFrame(contentsFrame, GUIDesignAuxiliarHorizontalFrame);
229  FXLabel* labelVehicleIcon = new FXLabel(vehicleFrame, "", GUIIconSubSys::getIcon(vclassIcon), GUIDesignLabelIcon64x32Thicked);
230  labelVehicleIcon->setBackColor(FXRGBA(255, 255, 255, 255));
231  // create frame for information and button
232  FXVerticalFrame* buttonAndInformationFrame = new FXVerticalFrame(vehicleFrame, GUIDesignAuxiliarHorizontalFrame);
233  FXHorizontalFrame* buttonAndStatusFrame = new FXHorizontalFrame(buttonAndInformationFrame, GUIDesignAuxiliarHorizontalFrame);
234  // create status and text button
235  myVClassMap[vclass].first = new FXButton(buttonAndStatusFrame, "", GUIIconSubSys::getIcon(ICON_EMPTY), this, MID_GNE_ALLOWDISALLOW_CHANGE, GUIDesignButtonIcon);
236  myVClassMap[vclass].second = new FXLabel(buttonAndStatusFrame, toString(vclass).c_str(), nullptr, GUIDesignLabelLeftThick);
237  // create label for description of vehicle
238  new FXLabel(buttonAndInformationFrame, description.c_str(), nullptr, GUIDesignLabelLeftThick);
239 }
240 
241 /****************************************************************************/
SVC_RAIL_FAST
@ SVC_RAIL_FAST
vehicle that is allowed to drive on high-speed rail tracks
Definition: SUMOVehicleClass.h:192
GNEAllowDisallow::myViewNet
GNEViewNet * myViewNet
@pointer to viewNet
Definition: GNEAllowDisallow.h:80
GUIDesignAuxiliarHorizontalFrame
#define GUIDesignAuxiliarHorizontalFrame
design for auxiliar (Without borders) horizontal frame used to pack another frames
Definition: GUIDesigns.h:273
GNEAllowDisallow::myVClassMap
std::map< SUMOVehicleClass, std::pair< FXButton *, FXLabel * > > myVClassMap
map with the buttons for every VClass
Definition: GNEAllowDisallow.h:104
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
ICON_ACCEPT
@ ICON_ACCEPT
Definition: GUIIcons.h:386
ICON_VCLASS_EVEHICLE
@ ICON_VCLASS_EVEHICLE
Definition: GUIIcons.h:345
SVC_E_VEHICLE
@ SVC_E_VEHICLE
is an electric vehicle
Definition: SUMOVehicleClass.h:181
ICON_VCLASS_TRAILER
@ ICON_VCLASS_TRAILER
Definition: GUIIcons.h:336
SVC_EMERGENCY
@ SVC_EMERGENCY
public emergency vehicles
Definition: SUMOVehicleClass.h:143
MID_GNE_ALLOWDISALLOW_UNSELECTALL
@ MID_GNE_ALLOWDISALLOW_UNSELECTALL
unselect all vehicles
Definition: GUIAppEnum.h:1050
SVC_COACH
@ SVC_COACH
vehicle is a coach
Definition: SUMOVehicleClass.h:167
GNEAllowDisallow::~GNEAllowDisallow
~GNEAllowDisallow()
destructor
Definition: GNEAllowDisallow.cpp:119
ICON_VCLASS_CUSTOM1
@ ICON_VCLASS_CUSTOM1
Definition: GUIIcons.h:347
SVC_CUSTOM2
@ SVC_CUSTOM2
is a user-defined type
Definition: SUMOVehicleClass.h:200
GNEAllowDisallow::onCmdAccept
long onCmdAccept(FXObject *, FXSelector, void *)
event after press accept button
Definition: GNEAllowDisallow.cpp:176
ICON_EMPTY
@ ICON_EMPTY
Definition: GUIIcons.h:41
ICON_VCLASS_SHIP
@ ICON_VCLASS_SHIP
Definition: GUIIcons.h:346
GNEAllowDisallow::onCmdSelectOnlyRoad
long onCmdSelectOnlyRoad(FXObject *, FXSelector, void *)
event when user press select only road button
Definition: GNEAllowDisallow.cpp:162
ICON_VCLASS_RAIL
@ ICON_VCLASS_RAIL
Definition: GUIIcons.h:339
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:202
GNEViewNet
Definition: GNEViewNet.h:42
ICON_VCLASS_BUS
@ ICON_VCLASS_BUS
Definition: GUIIcons.h:332
SVC_NON_ROAD
@ SVC_NON_ROAD
classes which (normally) do not drive on normal roads
Definition: SUMOVehicleClass.h:209
ICON_VCLASS_VIP
@ ICON_VCLASS_VIP
Definition: GUIIcons.h:328
GUIDesigns.h
GUIIconSubSys::getIcon
static FXIcon * getIcon(GUIIcon which)
returns a icon previously defined in the enum GUIIcon
Definition: GUIIconSubSys.cpp:609
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
GUIAppEnum.h
SVC_PRIVATE
@ SVC_PRIVATE
private vehicles
Definition: SUMOVehicleClass.h:141
ICON_VCLASS_TRUCK
@ ICON_VCLASS_TRUCK
Definition: GUIIcons.h:335
GNEAllowDisallow.h
GNEAllowDisallow::myAC
GNEAttributeCarrier * myAC
edited AC
Definition: GNEAllowDisallow.h:83
GUIDesignContentsFrame
#define GUIDesignContentsFrame
design for the main content frame of every frame/dialog
Definition: GUIDesigns.h:282
SVC_TRAM
@ SVC_TRAM
vehicle is a light rail
Definition: SUMOVehicleClass.h:184
ICON_VCLASS_EMERGENCY
@ ICON_VCLASS_EMERGENCY
Definition: GUIIcons.h:325
ICON_VCLASS_DELIVERY
@ ICON_VCLASS_DELIVERY
Definition: GUIIcons.h:334
GNEAllowDisallow::buildVClass
void buildVClass(FXVerticalFrame *contentsFrame, SUMOVehicleClass vclass, GUIIcon vclassIcon, const std::string &description)
build VClass
Definition: GNEAllowDisallow.cpp:226
FXDEFMAP
FXDEFMAP(GNEAllowDisallow) GNEAllowDisallowMap[]
MID_GNE_ALLOWDISALLOW_CHANGE
@ MID_GNE_ALLOWDISALLOW_CHANGE
select/unselect single vehicle
Definition: GUIAppEnum.h:1046
ICON_VCLASS_ARMY
@ ICON_VCLASS_ARMY
Definition: GUIIcons.h:327
SVC_TRUCK
@ SVC_TRUCK
vehicle is a large transport vehicle
Definition: SUMOVehicleClass.h:171
GUIDesignButtonIcon
#define GUIDesignButtonIcon
button only with icon (23x23)
Definition: GUIDesigns.h:59
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:41
MID_GNE_ADDITIONALDIALOG_BUTTONRESET
@ MID_GNE_ADDITIONALDIALOG_BUTTONRESET
reset button
Definition: GUIAppEnum.h:973
SVC_HOV
@ SVC_HOV
vehicle is a HOV
Definition: SUMOVehicleClass.h:161
GUIDesignHorizontalFrame
#define GUIDesignHorizontalFrame
Definition: GUIDesigns.h:224
StringTokenizer
Definition: StringTokenizer.h:61
GNEViewNet.h
MID_GNE_ADDITIONALDIALOG_BUTTONACCEPT
@ MID_GNE_ADDITIONALDIALOG_BUTTONACCEPT
accept button
Definition: GUIAppEnum.h:969
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:168
GNEAllowDisallow::onCmdSelectAll
long onCmdSelectAll(FXObject *, FXSelector, void *)
event when user press select all VClasses button
Definition: GNEAllowDisallow.cpp:142
ICON_VCLASS_MOTORCYCLE
@ ICON_VCLASS_MOTORCYCLE
Definition: GUIIcons.h:341
GNEViewNet::getUndoList
GNEUndoList * getUndoList() const
get the undoList object
Definition: GNEViewNet.cpp:1020
ICON_VCLASS_COACH
@ ICON_VCLASS_COACH
Definition: GUIIcons.h:333
GUIDesignButtonReset
#define GUIDesignButtonReset
Reset Button.
Definition: GUIDesigns.h:107
ICON_RESET
@ ICON_RESET
Definition: GUIIcons.h:390
GUIDesignGroupBoxFrame
#define GUIDesignGroupBoxFrame
Group box design extended over frame.
Definition: GUIDesigns.h:239
GUIIcon
GUIIcon
An enumeration of icons used by the gui applications.
Definition: GUIIcons.h:35
ICON_VCLASS_BICYCLE
@ ICON_VCLASS_BICYCLE
Definition: GUIIcons.h:343
ICON_VCLASS_HOV
@ ICON_VCLASS_HOV
Definition: GUIIcons.h:330
SVC_VIP
@ SVC_VIP
vip vehicles
Definition: SUMOVehicleClass.h:149
SVC_SHIP
@ SVC_SHIP
is an arbitrary ship
Definition: SUMOVehicleClass.h:195
ICON_VCLASS_PEDESTRIAN
@ ICON_VCLASS_PEDESTRIAN
Definition: GUIIcons.h:344
ICON_VCLASS_PASSENGER
@ ICON_VCLASS_PASSENGER
Definition: GUIIcons.h:329
GUIDesignButtonAccept
#define GUIDesignButtonAccept
Accept Button.
Definition: GUIDesigns.h:101
ICON_VCLASS_PRIVATE
@ ICON_VCLASS_PRIVATE
Definition: GUIIcons.h:324
toString
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
Definition: ToString.h:47
MID_GNE_ADDITIONALDIALOG_BUTTONCANCEL
@ MID_GNE_ADDITIONALDIALOG_BUTTONCANCEL
cancel button
Definition: GUIAppEnum.h:971
GUIDesignLabelLeftThick
#define GUIDesignLabelLeftThick
label extended over frame with thick and with text justify to left and height of 23
Definition: GUIDesigns.h:161
SVC_MOPED
@ SVC_MOPED
vehicle is a moped
Definition: SUMOVehicleClass.h:177
ICON_VCLASS_RAIL_URBAN
@ ICON_VCLASS_RAIL_URBAN
Definition: GUIIcons.h:338
SVC_TAXI
@ SVC_TAXI
vehicle is a taxi
Definition: SUMOVehicleClass.h:163
ICON_CANCEL
@ ICON_CANCEL
Definition: GUIIcons.h:387
ICON_VCLASS_CUSTOM2
@ ICON_VCLASS_CUSTOM2
Definition: GUIIcons.h:348
GUIDesignLabelIcon64x32Thicked
#define GUIDesignLabelIcon64x32Thicked
label ticked filled used for VClasses. It uses icons of 64x32 pixels
Definition: GUIDesigns.h:185
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:194
ICON_VCLASS_TAXI
@ ICON_VCLASS_TAXI
Definition: GUIIcons.h:331
SUMO_ATTR_ALLOW
@ SUMO_ATTR_ALLOW
Definition: SUMOXMLDefinitions.h:782
joinToString
std::string joinToString(const std::vector< T > &v, const T_BETWEEN &between, std::streamsize accuracy=gPrecision)
Definition: ToString.h:246
SUMO_ATTR_VCLASS
@ SUMO_ATTR_VCLASS
Definition: SUMOXMLDefinitions.h:450
MID_GNE_ALLOWDISALLOW_SELECTALL
@ MID_GNE_ALLOWDISALLOW_SELECTALL
select all vehicles
Definition: GUIAppEnum.h:1048
GNEAllowDisallow::onCmdUnselectAll
long onCmdUnselectAll(FXObject *, FXSelector, void *)
event when user press unselect all VClasses button
Definition: GNEAllowDisallow.cpp:152
ICON_VCLASS_MOPED
@ ICON_VCLASS_MOPED
Definition: GUIIcons.h:342
GUIDesignAuxiliarFrame
#define GUIDesignAuxiliarFrame
design for auxiliar (Without borders) frames used to pack another frames extended in all directions
Definition: GUIDesigns.h:270
GNEAttributeCarrier.h
StringTokenizer::getVector
std::vector< std::string > getVector()
return vector of strings
Definition: StringTokenizer.cpp:191
GUIDesignButtonCancel
#define GUIDesignButtonCancel
Cancel Button.
Definition: GUIDesigns.h:104
config.h
GNEAttributeCarrier::setAttribute
virtual void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)=0
ICON_OK
@ ICON_OK
Definition: GUIIcons.h:385
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
MID_GNE_ALLOWDISALLOW_SELECTONLYROAD
@ MID_GNE_ALLOWDISALLOW_SELECTONLYROAD
select only non road vehicles
Definition: GUIAppEnum.h:1052
ICON_VCLASS_RAIL_ELECTRIC
@ ICON_VCLASS_RAIL_ELECTRIC
Definition: GUIIcons.h:340
ICON_GREENVEHICLE
@ ICON_GREENVEHICLE
Definition: GUIIcons.h:90
ICON_VCLASS_TRAM
@ ICON_VCLASS_TRAM
Definition: GUIIcons.h:337
GNEAttributeCarrier
Definition: GNEAttributeCarrier.h:54
GNEAllowDisallow::onCmdValueChanged
long onCmdValueChanged(FXObject *, FXSelector, void *)
Definition: GNEAllowDisallow.cpp:124
ICON_VCLASS_AUTHORITY
@ ICON_VCLASS_AUTHORITY
Definition: GUIIcons.h:326
GUIDesignDialogBox
#define GUIDesignDialogBox
Definition: GUIDesigns.h:433