97 FXGLCanvas* share,
GNENet* net,
GNEUndoList* undoList, FXIcon* ic, FXuint opts, FXint x, FXint y, FXint w, FXint h) :
98 GUIGlChildWindow(p, parentWindow, mdimenu, name, parentWindow->getToolbarsGrip().navigation, ic, opts, x, y, w, h),
99 myGNEAppWindows(parentWindow) {
101 myGUIMainWindowParent->addGLChild(
this);
107 myUndoButton =
new MFXButtonTooltip(myGripNavigationToolbar, myGNEAppWindows->getStaticTooltipMenu(),
108 std::string(
"\t") +
TL(
"Undo") + std::string(
"\t") +
TL(
"Undo the last change. (Ctrl+Z)"),
110 myRedoButton =
new MFXButtonTooltip(myGripNavigationToolbar, myGNEAppWindows->getStaticTooltipMenu(),
111 std::string(
"\t") +
TL(
"Redo") + std::string(
"\t") +
TL(
"Redo the last change. (Ctrl+Y)"),
118 myComputePathManagerButton =
new MFXButtonTooltip(myGripNavigationToolbar, myGNEAppWindows->getStaticTooltipMenu(),
119 std::string(
"\t") +
TL(
"Compute path manager") + std::string(
"\t") +
TL(
"Compute path manager."),
132 FXComposite* tmp =
new FXComposite(
this);
135 GNEViewNet* viewNet =
new GNEViewNet(tmp, myViewArea, *myGUIMainWindowParent,
this, net, undoList, myGUIMainWindowParent->getGLVisual(), share);
138 myGNEAppWindows->getToolbarsGrip().buildMenuToolbarsGrip();
144 myCommonFrames.buildCommonFrames(
this, viewNet);
145 myNetworkFrames.buildNetworkFrames(
this, viewNet);
146 myDemandFrames.buildDemandFrames(
this, viewNet);
147 myDataFrames.buildDataFrames(
this, viewNet);
153 onCmdUpdateFrameAreaWidth(
nullptr, 0,
nullptr);
159 myView->buildViewToolBars(
this);
409 if (chooserDialog ==
nullptr) {
474 FXFileDialog opendialog(
this,
TL(
"Save Snapshot"));
476 opendialog.setSelectMode(SELECTFILE_ANY);
485 std::string file = opendialog.getFilename().text();
486 if (file.find(
".") == std::string::npos) {
488 WRITE_MESSAGE(
TL(
"No file extension was specified - saving Snapshot as PNG."));
493 FXMessageBox::error(
this, MBOX_OK,
TL(
"Saving failed."),
"%s", error.c_str());
514 std::vector<GNEAttributeCarrier*> ACsToLocate;
515 int messageId = FXSELID(sel);
517 std::string locateTitle;
521 locateTitle =
TL(
"Junction Chooser");
523 ACsToLocate.push_back(junction.second);
528 locateTitle =
TL(
"Edge Chooser");
530 ACsToLocate.push_back(edge.second);
535 locateTitle =
TL(
"WalkingArea Chooser");
537 ACsToLocate.push_back(walkingArea.second);
542 locateTitle =
TL(
"Vehicle Chooser");
546 ACsToLocate.push_back(vehicle.second);
553 locateTitle =
TL(
"Person Chooser");
557 ACsToLocate.push_back(person.second);
563 locateTitle =
TL(
"Container Chooser");
567 ACsToLocate.push_back(container.second);
573 locateTitle =
TL(
"Route Chooser");
575 ACsToLocate.push_back(route.second);
580 locateTitle =
TL(
"Stop Chooser");
584 ACsToLocate.push_back(flowTAZ.second);
591 locateTitle =
TL(
"TLS Chooser");
594 if (junction.second->getNBNode()->getControllingTLS().size() > 0) {
595 ACsToLocate.push_back(junction.second);
601 locateTitle =
TL(
"Additional Chooser");
605 if (!tagProperty->isShapeElement() && !tagProperty->isTAZElement()) {
606 for (
const auto& additional : additionalTag.second) {
607 ACsToLocate.push_back(additional.second);
614 locateTitle =
TL(
"POI Chooser");
618 ACsToLocate.push_back(flowTAZ.second);
624 locateTitle =
TL(
"Poly Chooser");
628 ACsToLocate.push_back(flowTAZ.second);
633 throw ProcessError(
"Unknown Message ID in onCmdLocate");
643 *chooserLoc = chooser;
698 inspectorFrame->hide();
700 selectorFrame->hide();
708 inspectorFrame->setFrameWidth(frameWidth);
709 deleteFrame->setFrameWidth(frameWidth);
710 selectorFrame->setFrameWidth(frameWidth);
711 moveFrame->setFrameWidth(frameWidth);
718 if (inspectorFrame->shown()) {
720 }
else if (deleteFrame->shown()) {
722 }
else if (selectorFrame->shown()) {
724 }
else if (moveFrame->shown()) {
735 if (inspectorFrame->shown()) {
736 return inspectorFrame;
737 }
else if (deleteFrame->shown()) {
739 }
else if (selectorFrame->shown()) {
740 return selectorFrame;
741 }
else if (moveFrame->shown()) {
772 connectorFrame->hide();
773 TLSEditorFrame->hide();
774 additionalFrame->hide();
775 crossingFrame->hide();
777 polygonFrame->hide();
778 prohibitionFrame->hide();
781 createEdgeFrame->hide();
788 connectorFrame->setFrameWidth(frameWidth);
789 TLSEditorFrame->setFrameWidth(frameWidth);
790 additionalFrame->setFrameWidth(frameWidth);
791 crossingFrame->setFrameWidth(frameWidth);
792 TAZFrame->setFrameWidth(frameWidth);
793 polygonFrame->setFrameWidth(frameWidth);
794 prohibitionFrame->setFrameWidth(frameWidth);
795 wireFrame->setFrameWidth(frameWidth);
796 decalFrame->setFrameWidth(frameWidth);
797 createEdgeFrame->setFrameWidth(frameWidth);
804 if (connectorFrame->shown()) {
806 }
else if (TLSEditorFrame->shown()) {
808 }
else if (additionalFrame->shown()) {
810 }
else if (crossingFrame->shown()) {
812 }
else if (TAZFrame->shown()) {
814 }
else if (polygonFrame->shown()) {
816 }
else if (prohibitionFrame->shown()) {
818 }
else if (wireFrame->shown()) {
820 }
else if (decalFrame->shown()) {
822 }
else if (createEdgeFrame->shown()) {
833 if (connectorFrame->shown()) {
834 return connectorFrame;
835 }
else if (TLSEditorFrame->shown()) {
836 return TLSEditorFrame;
837 }
else if (additionalFrame->shown()) {
838 return additionalFrame;
839 }
else if (crossingFrame->shown()) {
840 return crossingFrame;
841 }
else if (TAZFrame->shown()) {
843 }
else if (polygonFrame->shown()) {
845 }
else if (prohibitionFrame->shown()) {
846 return prohibitionFrame;
847 }
else if (wireFrame->shown()) {
849 }
else if (decalFrame->shown()) {
851 }
else if (createEdgeFrame->shown()) {
852 return createEdgeFrame;
884 routeDistributionFrame->hide();
885 vehicleFrame->hide();
887 typeDistributionFrame->hide();
890 personPlanFrame->hide();
891 containerFrame->hide();
892 containerPlanFrame->hide();
899 routeFrame->setFrameWidth(frameWidth);
900 routeDistributionFrame->setFrameWidth(frameWidth);
901 vehicleFrame->setFrameWidth(frameWidth);
902 typeFrame->setFrameWidth(frameWidth);
903 typeDistributionFrame->setFrameWidth(frameWidth);
904 stopFrame->setFrameWidth(frameWidth);
905 personFrame->setFrameWidth(frameWidth);
906 personPlanFrame->setFrameWidth(frameWidth);
907 containerFrame->setFrameWidth(frameWidth);
908 containerPlanFrame->setFrameWidth(frameWidth);
915 if (routeFrame->shown()) {
917 }
else if (routeDistributionFrame->shown()) {
919 }
else if (vehicleFrame->shown()) {
921 }
else if (typeFrame->shown()) {
923 }
else if (typeDistributionFrame->shown()) {
925 }
else if (stopFrame->shown()) {
927 }
else if (personFrame->shown()) {
929 }
else if (personPlanFrame->shown()) {
931 }
else if (containerFrame->shown()) {
933 }
else if (containerPlanFrame->shown()) {
944 if (routeFrame->shown()) {
946 }
else if (routeDistributionFrame->shown()) {
947 return routeDistributionFrame;
948 }
else if (vehicleFrame->shown()) {
950 }
else if (typeFrame->shown()) {
952 }
else if (typeDistributionFrame->shown()) {
953 return typeDistributionFrame;
954 }
else if (stopFrame->shown()) {
956 }
else if (personFrame->shown()) {
958 }
else if (personPlanFrame->shown()) {
959 return personPlanFrame;
960 }
else if (containerFrame->shown()) {
961 return containerFrame;
962 }
else if (containerPlanFrame->shown()) {
963 return containerPlanFrame;
988 edgeDataFrame->hide();
989 edgeRelDataFrame->hide();
990 TAZRelDataFrame->hide();
991 meanDataFrame->hide();
998 edgeDataFrame->setFrameWidth(frameWidth);
999 edgeRelDataFrame->setFrameWidth(frameWidth);
1000 TAZRelDataFrame->setFrameWidth(frameWidth);
1001 meanDataFrame->setFrameWidth(frameWidth);
1008 if (edgeDataFrame->shown()) {
1010 }
else if (edgeRelDataFrame->shown()) {
1012 }
else if (TAZRelDataFrame->shown()) {
1014 }
else if (meanDataFrame->shown()) {
1025 if (edgeDataFrame->shown()) {
1026 return edgeDataFrame;
1027 }
else if (edgeRelDataFrame->shown()) {
1028 return edgeRelDataFrame;
1029 }
else if (TAZRelDataFrame->shown()) {
1030 return TAZRelDataFrame;
1031 }
else if (meanDataFrame->shown()) {
1032 return meanDataFrame;
1048 if (ACChooserJunction) {
1049 delete ACChooserJunction;
1051 if (ACChooserEdges) {
1052 delete ACChooserEdges;
1054 if (ACChooserWalkingAreas) {
1055 delete ACChooserWalkingAreas;
1057 if (ACChooserRoutes) {
1058 delete ACChooserRoutes;
1060 if (ACChooserStops) {
1061 delete ACChooserStops;
1063 if (ACChooserVehicles) {
1064 delete ACChooserVehicles;
1066 if (ACChooserPersons) {
1067 delete ACChooserPersons;
1069 if (ACChooserContainers) {
1070 delete ACChooserContainers;
1073 delete ACChooserTLS;
1075 if (ACChooserAdditional) {
1076 delete ACChooserAdditional;
1079 delete ACChooserPOI;
1081 if (ACChooserPolygon) {
1082 delete ACChooserPolygon;
1084 if (ACChooserProhibition) {
1085 delete ACChooserProhibition;
1087 if (ACChooserWire) {
1088 delete ACChooserWire;
FXDEFMAP(GNEViewParent) GNEViewParentMap[]
@ MID_MAKESNAPSHOT
Make snapshot - button.
@ MID_HOTKEY_SHIFT_S_LOCATESTOP
Locate stop - button.
@ MID_HOTKEY_CTRL_Y_REDO
Undo.
@ MID_HOTKEY_CTRL_W_CLOSESIMULATION
Close simulation - ID.
@ MID_HOTKEY_SHIFT_O_LOCATEPOI
Locate poi - button.
@ MID_HOTKEY_SHIFT_A_LOCATEADDITIONAL
Locate additional structure - button.
@ MID_HOTKEY_SHIFT_R_LOCATEROUTE
Locate route - button.
@ MID_HOTKEY_SHIFT_W_LOCATEWALKINGAREA
Locate edge - button.
@ MID_HOTKEY_SHIFT_C_LOCATECONTAINER
Locate container - button.
@ MID_HOTKEY_SHIFT_V_LOCATEVEHICLE
Locate vehicle - button.
@ MID_HOTKEY_SHIFT_L_LOCATEPOLY
Locate polygons - button.
@ MID_HOTKEY_SHIFT_E_LOCATEEDGE
Locate edge - button.
@ MID_GNE_VIEWPARENT_FRAMEAREAWIDTH
Size of frame area updated.
@ MID_HOTKEY_SHIFT_P_LOCATEPERSON
Locate person - button.
@ MID_HOTKEY_SHIFT_J_LOCATEJUNCTION
Locate junction - button.
@ MID_HOTKEY_CTRL_Z_UNDO
Redo.
@ MID_HOTKEY_SHIFT_T_LOCATETLS
Locate TLS - button.
@ MID_GNE_TOOLBAREDIT_COMPUTEPATHMANAGER
compute path manager
#define GUIDesignButtonToolbar
little button with icon placed in navigation toolbar
#define GUIDesignFrameArea
#define GUIDesignVerticalSeparator
vertical separator
#define GUIDesignSplitter
#define GUIDesignViewnArea
design for view area
#define GUIDesignFramesAreaDefaultWidth
define the default frames area width
FXString gCurrentFolder
The folder used as last.
#define WRITE_MESSAGE(msg)
@ SUMO_TAG_ROUTE
description of a route
The main window of Netedit.
GNEUndoList * getUndoList()
get pointer to undoList
GNEApplicationWindowHelper::ToolbarsGrip & getToolbarsGrip()
get ToolbarsGrip
const std::unordered_map< SumoXMLTag, std::unordered_map< const GUIGlObject *, GNEDemandElement * >, std::hash< int > > & getDemandElements() const
get demand elements
const std::map< std::string, GNEEdge * > & getEdges() const
map with the ID and pointer to edges of net
const std::map< std::string, GNEJunction * > & getJunctions() const
get junctions
const std::unordered_map< const GUIGlObject *, GNEWalkingArea * > & getWalkingAreas() const
get walkingAreas
const std::unordered_map< SumoXMLTag, std::unordered_map< const GUIGlObject *, GNEAdditional * >, std::hash< int > > & getAdditionals() const
get additionals
A NBNetBuilder extended by visualisation and editing capabilities.
GNENetHelper::AttributeCarriers * getAttributeCarriers() const
get all attribute carriers used in this net
const GNETagPropertiesDatabase * getTagPropertiesDatabase() const
get tag properties database
const GNETagProperties * getTagProperty(const SumoXMLTag tag, const bool hardFail) const
get tagProperty associated to the given tag
long onUpdUndo(FXObject *, FXSelector, void *)
event after Undo
long onUpdRedo(FXObject *, FXSelector, void *)
event after Redo
GNENet * getNet() const
get the net object
GNEDialogACChooser * ACChooserWalkingAreas
pointer to ACChooser dialog used for locate walkingareas
GNEDialogACChooser * ACChooserStops
pointer to ACChooser dialog used for locate stops
GNEDialogACChooser * ACChooserEdges
pointer to ACChooser dialog used for locate edges
GNEDialogACChooser * ACChooserPolygon
pointer to ACChooser dialog used for locate Polygons
GNEDialogACChooser * ACChooserPOI
pointer to ACChooser dialog used for locate POIs
GNEDialogACChooser * ACChooserContainers
pointer to ACChooser dialog used for locate containers
GNEDialogACChooser * ACChooserRoutes
pointer to ACChooser dialog used for locate routes
GNEDialogACChooser * ACChooserJunction
pointer to ACChooser dialog used for locate junctions
GNEDialogACChooser * ACChooserWire
pointer to ACChooser dialog used for locate Wires
GNEDialogACChooser * ACChooserVehicles
pointer to ACChooser dialog used for locate vehicles
GNEDialogACChooser * ACChooserTLS
pointer to ACChooser dialog used for locate TLSs
GNEDialogACChooser * ACChooserProhibition
pointer to ACChooser dialog used for locate Prohibitions
GNEDialogACChooser * ACChooserPersons
pointer to ACChooser dialog used for locate persons
GNEDialogACChooser * ACChooserAdditional
pointer to ACChooser dialog used for locate additional
CommonFrames()
constructor
GNEMoveFrame * moveFrame
frame for move elements
GNEFrame * getCurrentShownFrame() const
get current common frame show
bool isCommonFrameShown() const
return true if at least there is a common frame shown
GNEDeleteFrame * deleteFrame
frame for delete elements
void buildCommonFrames(GNEViewParent *viewParent, GNEViewNet *viewNet)
build common frames
GNESelectorFrame * selectorFrame
frame for select elements
void hideCommonFrames()
hide common frames
GNEInspectorFrame * inspectorFrame
frame for inspect elements
void setCommonFramesWidth(int frameWidth)
set new width in all common frames
GNEEdgeDataFrame * edgeDataFrame
frame for DATA_EDGEDATA
void setDataFramesWidth(int frameWidth)
set new width in all data frames
GNEFrame * getCurrentShownFrame() const
get current data frame show
GNETAZRelDataFrame * TAZRelDataFrame
frame for DATA_TAZRELDATA
GNEEdgeRelDataFrame * edgeRelDataFrame
frame for DATA_EDGERELDATA
bool isDataFrameShown() const
return true if at least there is a data frame shown
void hideDataFrames()
hide data frames
void buildDataFrames(GNEViewParent *viewParent, GNEViewNet *viewNet)
build data frames
GNEMeanDataFrame * meanDataFrame
frame for DATA_MEANDATA
GNEPersonFrame * personFrame
frame for DEMAND_PERSON
DemandFrames()
constructor
GNERouteDistributionFrame * routeDistributionFrame
frame for DEMAND_ROUTEDISTRIBUTION
GNEStopFrame * stopFrame
frame for DEMAND_STOP
GNERouteFrame * routeFrame
frame for DEMAND_ROUTE
GNEContainerFrame * containerFrame
frame for DEMAND_CONTAINER
GNETypeDistributionFrame * typeDistributionFrame
frame for DEMAND_TYPEDISTRIBUTION
GNEContainerPlanFrame * containerPlanFrame
frame for DEMAND_CONTAINERPLAN
GNEVehicleFrame * vehicleFrame
frame for DEMAND_VEHICLE
GNEFrame * getCurrentShownFrame() const
get current demand frame show
void setDemandFramesWidth(int frameWidth)
set new width in all demand frames
void buildDemandFrames(GNEViewParent *viewParent, GNEViewNet *viewNet)
build demand frames
GNEPersonPlanFrame * personPlanFrame
frame for DEMAND_PERSONPLAN
GNETypeFrame * typeFrame
frame for DEMAND_TYPE
bool isDemandFrameShown() const
return true if at least there is a demand frame shown
void hideDemandFrames()
hide demand frames
GNEAdditionalFrame * additionalFrame
frame for NETWORK_ADDITIONAL
NetworkFrames()
constructor
bool isNetworkFrameShown() const
return true if at least there is a network frame shown
GNECrossingFrame * crossingFrame
frame for NETWORK_CROSSING
GNEDecalFrame * decalFrame
frame for NETWORK_DECAL
GNEConnectorFrame * connectorFrame
frame for NETWORK_CONNECT
GNECreateEdgeFrame * createEdgeFrame
frame for NETWORK_CREATEDGE
GNEProhibitionFrame * prohibitionFrame
frame for NETWORK_PROHIBITION
GNEShapeFrame * polygonFrame
frame for NETWORK_SHAPE
GNETAZFrame * TAZFrame
frame for NETWORK_TAZ
GNETLSEditorFrame * TLSEditorFrame
frame for NETWORK_TLS
GNEFrame * getCurrentShownFrame() const
get current network frame show
GNEWireFrame * wireFrame
frame for NETWORK_WIRE
void hideNetworkFrames()
hide network frames
void setNetworkFramesWidth(int frameWidth)
set new width in all network frames
void buildNetworkFrames(GNEViewParent *viewParent, GNEViewNet *viewNet)
build network frames
A single child window which contains a view of the simulation area.
long onCmdMakeSnapshot(FXObject *sender, FXSelector, void *)
GNECrossingFrame * getCrossingFrame() const
get frame for NETWORK_CROSSING
GUIMainWindow * getGUIMainWindow() const
get GUIMainWindow App
GNEConnectorFrame * getConnectorFrame() const
get frame for NETWORK_CONNECT
GNEStopFrame * getStopFrame() const
get frame for DEMAND_STOP
void updateUndoRedoButtons()
update toolbar undo/redo buttons (called when user press Ctrl+Z/Y)
long onCmdUpdateFrameAreaWidth(FXObject *, FXSelector, void *)
Called when user change the splitter between FrameArea and ViewNet.
GNEProhibitionFrame * getProhibitionFrame() const
get frame for NETWORK_PROHIBITION
long onKeyPress(FXObject *o, FXSelector sel, void *data)
Called when user press a key.
GNEPersonPlanFrame * getPersonPlanFrame() const
get frame for DEMAND_PERSONFRAME
DemandFrames myDemandFrames
struct for demand frames
MFXButtonTooltip * myUndoButton
toolbar undo button
GNEMeanDataFrame * getMeanDataFrame() const
get frame for DATA_TAZRELDATA
GNEShapeFrame * getShapeFrame() const
get frame for NETWORK_SHAPE
void setFrameAreaWidth(const int frameAreaWith)
set frame area width
GNETAZRelDataFrame * getTAZRelDataFrame() const
get frame for DATA_TAZRELDATA
GNEMoveFrame * getMoveFrame() const
get frame for move elements
long onCmdClose(FXObject *, FXSelector, void *)
Called when the user hits the close button (x)
GNESelectorFrame * getSelectorFrame() const
get frame for select elements
GNEContainerPlanFrame * getContainerPlanFrame() const
get frame for DEMAND_CONTAINERFRAME
void hideFramesArea()
hide frames area if all GNEFrames are hidden
GNEEdgeDataFrame * getEdgeDataFrame() const
get frame for DATA_EDGEDATA
GNEDeleteFrame * getDeleteFrame() const
get frame for delete elements
NetworkFrames myNetworkFrames
struct for network frames
GNETypeDistributionFrame * getTypeDistributionFrame() const
get frame for DEMAND_TYPEDISTRIBUTION
ACChoosers myACChoosers
struct for ACChoosers
GNEVehicleFrame * getVehicleFrame() const
get frame for DEMAND_VEHICLE
void showFramesArea()
show frames area if at least a GNEFrame is showed
GNEDecalFrame * getDecalFrame() const
get frame for NETWORK_DECAL
void hideAllFrames()
hide all frames
GNETypeFrame * getTypeFrame() const
get frame for DEMAND_TYPE
FXVerticalFrame * myFramesArea
frame to hold GNEFrames
GNETAZFrame * getTAZFrame() const
get frame for NETWORK_TAZ
GNETLSEditorFrame * getTLSEditorFrame() const
get frame for NETWORK_TLS
CommonFrames myCommonFrames
struct for common frames
GNEApplicationWindow * getGNEAppWindows() const
get GNE Application Windows
DataFrames myDataFrames
struct for data frames
GNEContainerFrame * getContainerFrame() const
get frame for DEMAND_CONTAINER
GNEAdditionalFrame * getAdditionalFrame() const
get frame for NETWORK_ADDITIONAL
GNERouteDistributionFrame * getRouteDistributionFrame() const
get frame for DEMAND_ROUTEDISTRIBUTION
GNEWireFrame * getWireFrame() const
get frame for NETWORK_WIRE
FXVerticalFrame * getFramesArea() const
get frame area
GNEPersonFrame * getPersonFrame() const
get frame for DEMAND_PERSON
void eraseACChooserDialog(GNEDialogACChooser *chooserDialog)
remove created chooser dialog
GNEInspectorFrame * getInspectorFrame() const
get frame for inspect elements
GNEApplicationWindow * myGNEAppWindows
pointer to GNEApplicationWindow
GNEEdgeRelDataFrame * getEdgeRelDataFrame() const
get frame for DATA_EDGERELDATA
MFXButtonTooltip * myRedoButton
toolbar redo button
GNECreateEdgeFrame * getCreateEdgeFrame() const
get frame for NETWORK_CREATEEDGE
int getFrameAreaWidth() const
get frame area width
GNERouteFrame * getRouteFrame() const
get frame for DEMAND_ROUTE
GNEFrame * getCurrentShownFrame() const
get current frame (note: it can be null)
long onCmdLocate(FXObject *, FXSelector, void *)
locator-callback
~GNEViewParent()
Destructor.
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
Called when user releases a key.
GUIMainWindow * myGUIMainWindowParent
FOX needs this.
virtual void create()
create GUIGlChildWindow
GUISUMOAbstractView * myView
The view.
FXPopup * myLocatorPopup
The locator menu.
MFXMenuButtonTooltip * myLocatorButton
The locator button.
static FXIcon * getIcon(const GUIIcon which)
returns a icon previously defined in the enum GUIIcon
void removeGLChild(GUIGlChildWindow *child)
removes the given child window from the list (GUIGlChildWindow)
std::string makeSnapshot(const std::string &destFile, const int w=-1, const int h=-1)
Takes a snapshots and writes it into the given file.
virtual long onKeyPress(FXObject *o, FXSelector sel, void *data)
keyboard functions
virtual long onKeyRelease(FXObject *o, FXSelector sel, void *data)
static FXbool userPermitsOverwritingWhenFileExists(FXWindow *const parent, const FXString &file)
Returns true if either the file given by its name does not exist or the user allows overwriting it.
static const std::vector< SumoXMLTag > stops
vehicle stops namespace
static const std::vector< SumoXMLTag > vehicles
vehicles namespace
static const std::vector< SumoXMLTag > POIs
POIs namespace.
static const std::vector< SumoXMLTag > persons
persons namespace
static const std::vector< SumoXMLTag > polygons
polygon namespace
static const std::vector< SumoXMLTag > containers
containers namespace
static StringBijection< ImageFileExtension > ImageFileExtensions
image file extensions