56 GUIIcon vClassIcon, const
std::
string& description) :
61 labelVehicleIcon->setBackColor(FXRGBA(255, 255, 255, 255));
69 new FXLabel(buttonAndStatusFrame, myVClassString.c_str(),
nullptr,
GUIDesignLabelThick(JUSTIFY_LEFT));
71 new FXLabel(buttonAndInformationFrame, description.c_str(),
nullptr,
GUIDesignLabelThick(JUSTIFY_LEFT));
82 return myVClassString;
105 setVClassButtonStatus(
false);
107 setVClassButtonStatus(
true);
117 const std::string originalVClasses) :
131 new FXLabel(optionsFrame,
TL(
"Allow only road vehicles"),
nullptr,
GUIDesignLabelThick(JUSTIFY_LEFT));
134 new FXLabel(optionsFrame,
TL(
"Allow only rail vehicles"),
nullptr,
GUIDesignLabelThick(JUSTIFY_LEFT));
226 vClass.second->setVClassButtonStatus(
true);
236 vClass.second->setVClassButtonStatus(
false);
247 vClass.second->setVClassButtonStatus(
true);
249 vClass.second->setVClassButtonStatus(
false);
261 vClass.second->setVClassButtonStatus(
true);
263 vClass.second->setVClassButtonStatus(
false);
272 bool allSelected =
true;
274 std::vector<std::string> allowedVehicles;
277 if (vClass.second->isVClassButtonEnabled()) {
278 allowedVehicles.push_back(vClass.second->getVClassString());
314 vClass.second->setVClassButtonStatus(
true);
319 const std::set<std::string> allowSet(allowStringVector.begin(), allowStringVector.end());
323 vClass.second->setVClassButtonStatus(
true);
325 vClass.second->setVClassButtonStatus(
false);
FXDEFMAP(GNEVClassesDialog::VClassRow) VClassRowMap[]
@ MID_GNE_ALLOWVCLASSES_SELECTALL
select all vehicles
@ MID_GNE_ALLOWVCLASSES_ONLY_ROAD
select only non road vehicles
@ MID_GNE_ALLOWVCLASSES_UNSELECTALL
unselect all vehicles
@ MID_GNE_ALLOWVCLASSES_ONLY_RAIL
select only rail vehicles
@ MID_GNE_ALLOWVCLASSES_TOGGLE
select/unselect single vehicle
#define GUIDesignButtonIcon
button only with icon
#define GUIDesignLabelIcon64x32Thicked
label ticked filled used for VClasses. It uses icons of 64x32 pixels
#define GUIDesignContentsFrame
design for the main content frame of every frame/dialog with padding and spacing
#define GUIDesignAuxiliarHorizontalFrame
design for auxiliar (Without borders) horizontal frame used to pack another frames
#define GUIDesignLabel(justify)
#define GUIDesignAuxiliarHorizontalFrameUniform
design for auxiliar (Without borders) horizontal frame used to pack another frames uniform
#define GUIDesignLabelThick(justify)
label extended over frame with thick and with text justify to left
#define GUIDesignAuxiliarFrame
design for auxiliar (Without borders) frame extended in all directions
GUIIcon
An enumeration of icons used by the gui applications.
SUMOVehicleClass getVehicleClassID(const std::string &name)
Returns the class id of the abstract class given by its name.
const std::string & getVehicleClassNames(SVCPermissions permissions, bool expand)
Returns the ids of the given classes, divided using a ' '.
StringBijection< SUMOVehicleClass > SumoVehicleClassStrings(sumoVehicleClassStringInitializer, SVC_CUSTOM2, false)
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
@ SVC_SHIP
is an arbitrary ship
@ SVC_PRIVATE
private vehicles
@ SVC_HOV
vehicle is a HOV
@ SVC_TRUCK
vehicle is a large transport vehicle
@ SVC_CUSTOM2
is a user-defined type
@ SVC_RAIL
vehicle is a not electrified rail
@ SVC_RAIL_CLASSES
classes which drive on tracks
@ SVC_COACH
vehicle is a coach
@ SVC_PASSENGER
vehicle is a passenger car (a "normal" car)
@ SVC_BICYCLE
vehicle is a bicycle
@ SVC_RAIL_FAST
vehicle that is allowed to drive on high-speed rail tracks
@ SVC_TRAILER
vehicle is a large transport vehicle
@ SVC_CUSTOM1
is a user-defined type
@ SVC_RAIL_ELECTRIC
rail vehicle that requires electrified tracks
@ SVC_DELIVERY
vehicle is a small delivery vehicle
@ SVC_RAIL_URBAN
vehicle is a city rail
@ SVC_MOTORCYCLE
vehicle is a motorcycle
@ SVC_EMERGENCY
public emergency vehicles
@ SVC_MOPED
vehicle is a moped
@ SVC_AUTHORITY
authorities vehicles
@ SVC_TRAM
vehicle is a light rail
@ SVC_TAXI
vehicle is a taxi
@ SVC_BUS
vehicle is a bus
@ SVC_E_VEHICLE
is an electric vehicle
@ SVC_PEDESTRIAN
pedestrian
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
std::string joinToString(const std::vector< T > &v, const T_BETWEEN &between, std::streamsize accuracy=gPrecision)
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
The main window of Netedit.
FXVerticalFrame * getContentFrame() const
get content frame
void openDialog(FXWindow *focusableElement=nullptr)
open dialog
long closeDialogAccepting()
close dialog accepting the changes
OpenType
Open dialog type.
long closeDialogCanceling()
close dialog declining the changes
long onCmdToggleVClass(FXObject *, FXSelector, void *)
event when user toogle the vClass button
bool isVClassButtonEnabled() const
check if vClass button is enabled
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
GNEVClassesDialog(GNEApplicationWindow *mainWindow, SumoXMLAttr attr, const std::string originalVClasses)
Constructor.
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
~GNEVClassesDialog()
destructor
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
static FXButton * buildFXButton(FXComposite *p, const std::string &text, const std::string &tip, const std::string &help, FXIcon *ic, FXObject *tgt, FXSelector sel, FXuint opts=BUTTON_NORMAL, FXint x=0, FXint y=0, FXint w=0, FXint h=0, FXint pl=DEFAULT_PAD, FXint pr=DEFAULT_PAD, FXint pt=DEFAULT_PAD, FXint pb=DEFAULT_PAD)
build button
static FXIcon * getIcon(const GUIIcon which)
returns a icon previously defined in the enum GUIIcon
dialog arguments, used for certain modal dialogs that can not be edited using tab
BasicAction getBasicAction() const
get basic action
const std::string & getCustomAction() const
get custom action
std::vector< std::string > getVector()
return vector of strings