77 #ifdef CHECK_MEMORY_LEAKS 176 FXIMPLEMENT(
GNEApplicationWindow, FXMainWindow, GNEApplicationWindowMap, ARRAYNUMBER(GNEApplicationWindowMap))
182 #pragma warning(disable: 4355) 188 myRecentNets(a,
"nets"),
189 myConfigPattern(configPattern),
190 hadDependentBuild(false),
200 #pragma warning(default: 4355) 208 WRITE_ERROR(
"DEBUG: GNEApplicationWindow::dependentBuild called twice");
229 myGeoCoordinate =
new FXLabel(
myGeoFrame,
"N/A\t\tOriginal coordinate (before coordinate transformation in NETCONVERT)", 0, LAYOUT_CENTER_Y);
260 getAccelTable()->addAccel(parseAccel(
"m"),
this, FXSEL(SEL_COMMAND,
MID_GNE_MODE_MOVE));
265 getAccelTable()->addAccel(parseAccel(
"t"),
this, FXSEL(SEL_COMMAND,
MID_GNE_MODE_TLS));
268 getAccelTable()->addAccel(parseAccel(
"Esc"),
this, FXSEL(SEL_COMMAND,
MID_GNE_ABORT));
269 getAccelTable()->addAccel(parseAccel(
"Del"),
this, FXSEL(SEL_COMMAND,
MID_GNE_HOTKEY_DEL));
276 gCurrentFolder = getApp()->reg().readStringEntry(
"SETTINGS",
"basedir",
"");
277 FXMainWindow::create();
285 FXint width = getApp()->getNormalFont()->getTextWidth(
"8", 1) * 22;
289 show(PLACEMENT_DEFAULT);
291 if (getApp()->reg().readIntEntry(
"SETTINGS",
"maximized", 0) == 1) {
329 FXMainWindow::detach();
340 "&New Network...\tCtrl+N\tCreate a new network.",
343 "&Open Network...\tCtrl+O\tOpen a SUMO network.",
346 "Open Configura&tion...\tCtrl+T\tOpen a NETCONVERT configuration file.",
349 "Import &Foreign Network...\t\tImport a foreign network such as OSM.",
352 "Load S&hapes...\tCtrl+P\tLoad shapes into the network view.",
355 "Load A&dditionals...\tCtrl+D\tLoad additional elements.",
358 "&Reload\tCtrl+R\tReloads the network.",
361 "&Save Network...\tCtrl+S\tSave the network.",
364 "Save Net&work As...\tCtrl+Shift+S\tSave the network in another file.",
367 "Save plain XM&L...\tCtrl+L\tSave plain xml representation the network.",
370 "Save &joined junctions...\tCtrl+J\tSave log of joined junctions (allows reproduction of joins).",
373 "Save POIs As ...\tCtrl+Shift+P\tSave the POIs.",
376 "Save additionals\tCtrl+Shift+D\tSave additional elements.",
379 "Save additionals As...\t\tSave additional elements in another file.",
383 "Close\tCtrl+W\tClose the net&work.",
386 FXMenuSeparator* sep1 =
new FXMenuSeparator(
myFileMenu);
388 sep1->setSelector(FXRecentFiles::ID_ANYFILES);
402 FXMenuSeparator* sep2 =
new FXMenuSeparator(
myFileMenu);
404 sep2->setSelector(FXRecentFiles::ID_ANYFILES);
420 "&Quit\tCtrl+Q\tQuit the Application.",
429 "&Undo\tCtrl+Z\tUndo the last change.",
432 "&Redo\tCtrl+Y\tRedo the last change.",
439 "&Edge mode\tE\tCreate junction and edges.",
442 "&Move mode\tM\tMove elements.",
445 "&Delete mode\tD\tDelete elements.",
448 "&Inspect mode\tI\tInspect elements and change their attributes.",
451 "&Select mode\tS\tSelect elements.",
454 "&Connection mode\tC\tEdit connections between lanes.",
457 "&Traffic light mode\tT\tEdit traffic lights over junctions.",
460 "&Additional mode\tA\tCreate additional elements.",
463 "C&rossing mode\tR\tCreate crossings between edges.",
477 "Compute Junctions\tF5\tComputes junction shape and logic.",
480 "Clean Junctions\tF6\tRemoves solitary junctions.",
483 "Join Selected Junctions\tF7\tJoins selected junctions into a single junction.",
486 "Options\tF10\t\tConfigure Processing Options.",
500 "Locate &Junctions\tShift+J\tOpen a Dialog for Locating a Junction.",
503 "Locate &Edges\tShift+E\tOpen a Dialog for Locating an Edge.",
506 "Locate &TLS\tShift+T\tOpen a Dialog for Locating a Traffic Light.",
513 "&Show Status Line\t\tToggle this Status Bar on/off.",
516 "Show &Message Window\t\tToggle the Message Window on/off.",
542 "&Clear Message Window\t\tClear the message window.",
551 "&Online Documentation\tF1\tOpen Online documentation.",
554 "&About\tF2\tAbout netedit.",
562 getApp()->reg().writeIntEntry(
"SETTINGS",
"x", getX());
563 getApp()->reg().writeIntEntry(
"SETTINGS",
"y", getY());
564 getApp()->reg().writeIntEntry(
"SETTINGS",
"width", getWidth());
565 getApp()->reg().writeIntEntry(
"SETTINGS",
"height", getHeight());
566 getApp()->reg().writeStringEntry(
"SETTINGS",
"basedir",
gCurrentFolder.text());
568 getApp()->reg().writeIntEntry(
"SETTINGS",
"maximized", 1);
570 getApp()->reg().writeIntEntry(
"SETTINGS",
"maximized", 0);
605 FXFileDialog opendialog(
this,
"Open Netconvert Configuration");
607 opendialog.setSelectMode(SELECTFILE_EXISTING);
612 if (opendialog.execute()) {
614 std::string file = opendialog.getFilename().text();
625 FXFileDialog opendialog(
this,
"Open Network");
627 opendialog.setSelectMode(SELECTFILE_EXISTING);
628 opendialog.setPatternList(
"SUMO nets (*.net.xml)\nAll files (*)");
632 if (opendialog.execute()) {
634 std::string file = opendialog.getFilename().text();
649 FXFileDialog opendialog(
this,
"Import Foreign Network");
651 opendialog.setSelectMode(SELECTFILE_EXISTING);
652 FXString osmPattern(
"OSM net (*.osm.xml,*.osm)");
653 opendialog.setPatternText(0, osmPattern);
657 if (opendialog.execute()) {
659 std::string file = opendialog.getFilename().text();
663 if (osmPattern.contains(opendialog.getPattern())) {
664 oc.
set(
"osm-files", file);
665 oc.
set(
"ramps.guess",
"true");
666 oc.
set(
"tls.guess",
"true");
668 throw ProcessError(
"Attempted to import unknown file format '" + file +
"'.");
672 new GNEDialog_Wizard(
this,
"Select Import Options", getWidth(), getHeight());
674 if (wizard->execute()) {
686 FXFileDialog opendialog(
this,
"Open Shapes");
688 opendialog.setSelectMode(SELECTFILE_EXISTING);
689 opendialog.setPatternList(
"Additional files (*.xml)\nAll files (*)");
693 if (opendialog.execute()) {
695 std::string file = opendialog.getFilename().text();
709 FXFileDialog opendialog(
this,
"Open Additional");
711 opendialog.setSelectMode(SELECTFILE_EXISTING);
712 opendialog.setPatternList(
"Additional files (*.xml)\nAll files (*)");
716 if (opendialog.execute()) {
718 std::string file = opendialog.getFilename().text();
730 additionalHandler.resetLastTag();
743 myStatusbar->getStatusLine()->setText(
"Already loading!");
746 std::string file((
const char*)data);
782 sender->handle(
this,
myAmLoading ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE), 0);
798 about->show(PLACEMENT_OWNER);
804 FXEvent*
event = (FXEvent*)ptr;
806 setDNDData(FROM_CLIPBOARD, event->target,
string);
847 if (ec->
myNet == 0) {
859 std::string settingsName = settings.
addSettings(view);
870 off.
set(getApp()->reg().readRealEntry(
"viewport",
"x"), getApp()->reg().readRealEntry(
"viewport",
"y"), getApp()->reg().readRealEntry(
"viewport",
"z"));
874 getApp()->endWaitCursor();
886 additionalHandler.resetLastTag();
910 getApp()->beginWaitCursor();
929 FXuint opts = MDI_TRACKING;
933 viewParent->maximize();
1009 return getApp()->getDefaultCursor(DEF_ARROW_CURSOR);
1022 myStatusbar->getStatusLine()->setText(statusBarText.c_str());
1023 myStatusbar->getStatusLine()->setNormalText(statusBarText.c_str());
1104 if (wizard->execute()) {
1114 "Save Network as",
".net.xml",
1122 oc.
set(
"output-file", file.text());
1132 "Select name of the plain-xml edge-file (other names will be deduced from this)",
"",
1139 bool wasSet = oc.
isSet(
"plain-output-prefix");
1140 std::string oldPrefix = oc.
getString(
"plain-output-prefix");
1142 std::string prefix = file.text();
1144 if (prefix.at(prefix.size() - 1) ==
'.') {
1145 prefix = prefix.substr(0, prefix.size() - 1);
1147 oc.
set(
"plain-output-prefix", prefix);
1148 getApp()->beginWaitCursor();
1154 FXMessageBox::error(
this, MBOX_OK,
"Saving plain xml failed!",
"%s", e.what());
1160 oc.
set(
"plain-output-prefix", oldPrefix);
1162 oc.
unSet(
"plain-output-prefix");
1164 getApp()->endWaitCursor();
1172 "Select name of the joined-junctions file",
".nod.xml",
1179 bool wasSet = oc.
isSet(
"junctions.join-output");
1180 std::string oldFile = oc.
getString(
"junctions.join-output");
1182 std::string filename = file.text();
1183 oc.
set(
"junctions.join-output", filename);
1184 getApp()->beginWaitCursor();
1188 FXMessageBox::error(
this, MBOX_OK,
"Saving joined junctions failed!",
"%s", e.what());
1194 oc.
set(
"junctions.join-output", oldFile);
1196 oc.
unSet(
"junctions.join-output");
1198 getApp()->endWaitCursor();
1206 "Select name of the POI file",
".xml",
1212 std::string filename = file.text();
1214 getApp()->beginWaitCursor();
1218 FXMessageBox::error(
this, MBOX_OK,
"Saving POIs failed!",
"%s", e.what());
1221 getApp()->endWaitCursor();
1228 sender->handle(
this,
myNet == 0 ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE), 0);
1235 sender->handle(
this,
myNet == 0 || !
OptionsCont::getOptions().isSet(
"sumo-net-file") ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE), 0);
1244 if (oc.
getString(
"output-file") ==
"") {
1247 getApp()->beginWaitCursor();
1253 FXMessageBox::error(
this, MBOX_OK,
"Saving Network failed!",
"%s", e.what());
1257 getApp()->endWaitCursor();
1268 "Select name of the additional file",
".xml",
1279 getApp()->beginWaitCursor();
1284 FXMessageBox::error(
this, MBOX_OK,
"Saving additionals failed!",
"%s", e.what());
1287 getApp()->endWaitCursor();
1296 "Select name of the additional file",
".xml",
1313 bool enable =
myNet != 0 && oc.
isSet(
"output-file");
1314 sender->handle(
this, FXSEL(SEL_COMMAND, enable ? ID_ENABLE : ID_DISABLE), 0);
1316 FXString caption = (
"Save " + oc.
getString(
"output-file")).c_str();
1317 sender->handle(
this, FXSEL(SEL_COMMAND, FXMenuCaption::ID_SETSTRINGVALUE), (
void*)&caption);
1336 FXuint answer = FXMessageBox::question(
this, MBOX_YES_NO,
1337 "Confirm Closing Network",
"%s",
1338 "You have unsaved changes. Do you wish to close the network and discard all changes?");
1361 std::string edgeID = laneID;
1363 const std::string::size_type underscore = laneID.rfind(
'_');
1365 if (underscore != std::string::npos) {
1366 edgeID = laneID.substr(0, underscore);
1370 if (edge == 0 || edge->getNumLanes() <= lane) {
1371 WRITE_ERROR(
"Lane '" + laneID +
"' to place poi '" + poiID +
"' on is not known.");
1375 lanePos = edge->getLength() + lanePos;
1377 return edge->getLanes()[lane].shape.positionAtOffset(lanePos);
1392 const long handled = FXMainWindow::onKeyPress(o, sel, data);
1393 if (handled == 0 &&
myMDIClient->numChildren() > 0) {
1405 const long handled = FXMainWindow::onKeyRelease(o, sel, data);
1406 if (handled == 0 &&
myMDIClient->numChildren() > 0) {
std::vector< FXMainWindow * > myTrackerWindows
std::string myConfigPattern
Input file pattern.
FXLabel * myGeoCoordinate
GUISUMOAbstractView * getView() const
ShapeContainer & getShapeContainer()
get shape container
FXMenuBar * myMenuBar
The application menu bar.
bool myAmLoading
information whether the gui is currently loading and the load-options shall be greyed out ...
GUICompleteSchemeStorage gSchemeStorage
long onKeyPress(FXObject *o, FXSelector sel, void *data)
Called when user press a key.
static std::string clipped
GNEEdge * retrieveEdge(const std::string &id, bool failHard=true)
get edge by id
long onCmdNewNetwork(FXObject *, FXSelector, void *)
FXEX::FXThreadEvent myLoadThreadEvent
io-event with the load-thread
void setAdditionalsFile(const std::string &additionalsFile)
set additionals file
void abortOperation(bool clearSelection=true)
abort current edition operation
void setStatusBarText(const std::string &statusBarText)
set text of the statusBar
void appendMsg(GUIEventType eType, const std::string &msg)
Adds new text to the window.
MFXEventQue< GUIEvent * > myEvents
List of got requests.
void resetWritable()
Resets all options to be writeable.
GNEUndoList * getUndoList()
get pointer to undoList
std::string addSettings(GUISUMOAbstractView *view=0) const
Adds the parsed settings to the global list of settings.
long onCmdReload(FXObject *, FXSelector, void *)
called when the command/FXCall reload is executed
void create()
Creates the widget.
void closeAllWindows()
this method closes all windows and deletes the current simulation */
virtual void setViewportFromTo(const Position &lookFrom, const Position &lookAt)
applies the given viewport settings
void joinSelectedJunctions(GNEUndoList *undoList)
send when a message occured
FXRecentFiles myRecentConfigs
List of recent config files.
long onCmdSaveAdditionals(FXObject *, FXSelector, void *)
called when the command/FXCall save additionals is executed
GUIMessageWindow * myMessageWindow
A window to display messages, warnings and error in.
The main window of the Netedit.
#define GUIDesignSplitterMDI
MDI Splitter.
long onCmdClearMsgWindow(FXObject *, FXSelector, void *)
called when the command/FXCall clear message windows is executed
void loadConfigOrNet(const std::string &file, bool isNet, bool useStartupOptions, bool newNet=false)
begins the loading of a netconvert configuration or a a network
const std::string & getMsg() const
Returns the message.
virtual void create()
Creates the main window (required by FOX)
long onCmdJoinJunctions(FXObject *, FXSelector, void *)
called if the user selects Processing->join junctions
void unSet(const std::string &name, bool failOnNonExistant=true) const
Marks the option as unset.
bool hadDependentBuild
check if had dependent build
bool getBool(const std::string &name) const
Returns the boolean-value of the named option (only for Option_Bool)
The representation of a single edge during network building.
static void initIcons(FXApp *a)
Initiate GUIIconSubSys.
GNEUndoList * myUndoList
the one and only undo list
long onCmdComputeJunctions(FXObject *, FXSelector, void *)
called if the user selects Processing->compute junctions
static void resetTextures()
Reset textures.
void registerMsgHandlers()
register and unregister message handlers
void computeEverything(GNEApplicationWindow *window, bool force=false)
long onCmdSetMode(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits an edit-mode hotkey
void handleEvent_NetworkLoaded(GUIEvent *e)
handle event of type Network loaded
#define GUIDesignStatusBar
design used in status bar
GNENet * myNet
pointer of the net
mode for editing crossing
void loadConfigOrNet(const std::string file, bool isNet, bool isReload=false, bool useStartupOptions=false, bool newNet=false)
starts to load a netimport configuration or a network */
void setWindowSizeAndPos()
perform initial window positioning and sizing according to user options / previous call ...
#define GUIDesignToolBarGrip
design for toolbar grip (used to change the position of toolbar with mouse)
long onCmdLocate(FXObject *, FXSelector, void *)
locator-callback
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
called when a key is released
#define GUIDesignSplitter
Load additional file with additional elements.
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
Called when user releases a key.
Editor for the list of chosen objects.
bool continueWithUnsavedChanges()
warns about unsaved changes and gives the user the option to abort
Reload the previously loaded simulation.
FXGLVisual * myGLVisual
The gl-visual used.
long onCmdOpenForeign(FXObject *, FXSelector, void *)
called when the command/FXCall open foreign is executed
A NBNetBuilder extended by visualisation and editing capabilities.
long onCmdSaveNetwork(FXObject *, FXSelector, void *)
called when the command/FXCall save network is executed
void p_begin(const std::string &description)
Begin undo command sub-group. This begins a new group of commands that are treated as a single comman...
long onCmdAbout(FXObject *, FXSelector, void *)
called when the command/FXCall show about dialog is executed
void setEditModeFromHotkey(FXushort selid)
sets edit mode (from hotkey)
FXString gCurrentFolder
The folder used as last.
Storage for geometrical objects.
long onUpdNeedsNetwork(FXObject *, FXSelector, void *)
called when the upadte/FXCall needs network is executed
virtual void eventOccured()
std::string myFile
the name of the loaded file
long onLoadThreadEvent(FXObject *, FXSelector, void *)
called when the command/FXCall load thread is executed
static void resetLoaded()
resets loaded location elements
FXMDIMenu * myMDIMenu
The menu used for the MDI-windows.
void unregisterMsgHandlers()
Loads a file previously loaded.
static bool runParser(GenericSAXHandler &handler, const std::string &file, const bool isNet=false)
Runs the given handler on the given file; returns if everything's ok.
void updateControls()
update control contents after undo/redo or recompute
Locate junction - button.
static FXString getFilename2Write(FXWindow *parent, const FXString &header, const FXString &extension, FXIcon *icon, FXString ¤tFolder)
Returns the file name to write.
virtual FXGLCanvas * getBuildGLCanvas() const
long onCmdEditChosen(FXObject *, FXSelector, void *)
called when the command/FXCall edit chosen is executed
void updateControls()
update control contents after undo/redo or recompute
const std::vector< GUISUMOAbstractView::Decal > & getDecals() const
Returns the parsed decals.
Builds trigger objects for GNENet (busStops, chargingStations, detectors, etc..)
void addDecals(const std::vector< Decal > &decals)
add decals
GUISUMOAbstractView * openNewView()
opens a new simulation display
GNENet * myNet
the loaded net
long onUpdReload(FXObject *, FXSelector, void *)
called when the update/FXCall reload is executed
A single child window which contains a view of the simulation area.
static OptionsCont & getOptions()
Retrieves the options.
long onCmdHelp(FXObject *sender, FXSelector sel, void *ptr)
called if the user selects help->Documentation
The application's "About" - dialog.
void addSeparator()
Adds a a separator to this log window.
void p_clear()
clears the undo list (implies abort)
long onClipboardRequest(FXObject *sender, FXSelector sel, void *ptr)
called when the command/FXCall clipboard request is executed
The XML-Handler for network loading.
static void setDefaultOptions(OptionsCont &oc)
sets required options for proper functioning
FXHorizontalFrame * myCartesianFrame
FXDEFMAP(GNEApplicationWindow) GNEApplicationWindowMap[]
FXMenuPane * myProcessingMenu
long onCmdSaveAdditionalsAs(FXObject *, FXSelector, void *)
called when the command/FXCall save additionals as is executed
std::string getString(const std::string &name) const
Returns the string-value of the named option (only for Option_String)
static FXint fxexecute(FXString link)
std::vector< FXMDIChild * > mySubWindows
long onCmdOptions(FXObject *, FXSelector, void *)
called if the user selects Processing->Configure Options
GUIEventType getOwnType() const
returns the event type
FXMenuPane * myWindowsMenu
static void close()
close GUITextureSubSys
GNEApplicationWindow()
FOX needs this for static members.
FXSplitter * myMainSplitter
The splitter that divides the main window into view and the log window.
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
void applyViewport(GUISUMOAbstractView *view) const
Sets the viewport which has been parsed.
long onCmdOpenRecent(FXObject *, FXSelector, void *)
called when the command/FXCall open recent is executed
long onCmdOpenNetwork(FXObject *, FXSelector, void *)
called when the command/FXCall open network is executed
SUMOTime getCurrentSimTime() const
get current simulation time (pure virtual but we don't need it)
mode for inspecting object attributes
int myViewNumber
The current view number.
A point in 2D or 3D with translation and scaling methods.
void p_end()
End undo command sub-group. If the sub-group is still empty, it will be deleted; otherwise, the sub-group will be added as a new command into parent group. A matching begin() must have been called previously.
virtual void fillMenuBar()
Builds the menu bar.
static void saveToFile(const std::string &file)
save POIs to file
void setSnapshots(GUISUMOAbstractView *view) const
Makes a snapshot if it has been parsed.
long onCmdSaveAsPlainXML(FXObject *, FXSelector, void *)
called when the command/FXCall save as plain xml is executed
void save(OptionsCont &oc)
save the network
long onCmdOpenConfiguration(FXObject *, FXSelector, void *)
called when the command/FXCall open configuration is executed
std::string mySettingsFile
the name of the settings file to load
long onCmdOpenAdditionals(FXObject *, FXSelector, void *)
called when the command/FXCall open additionals is executed
send when a error occured
static bool checkOptions()
Checks set options from the OptionsCont-singleton for being valid.
long onCmdLocate(FXObject *, FXSelector, void *)
called when the command/FXCall locate is executed
void setTarget(FXObject *tgt)
set the target
FXCursor * getDefaultCursor()
get default cursor
Position getLanePos(const std::string &poiID, const std::string &laneID, SUMOReal lanePos)
get lane position
long onCmdCleanJunctions(FXObject *, FXSelector, void *)
called if the user selects Processing->clean junctions
mode for connecting lanes
The XML-Handler for shapes loading network loading.
virtual ~GNEApplicationWindow()
Destructor.
long onUpdOpen(FXObject *, FXSelector, void *)
called when the command/FXCall on update open executed
GNELoadThread * myLoadThread
the thread that loads the network
FXStatusBar * myStatusbar
The status bar.
long onCmdOpenShapes(FXObject *, FXSelector, void *)
called when the command/FXCall open shapes is executed
void unlock()
release mutex lock
long onCmdEnter(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits enter
bool myViewportFromRegistry
whether loading viewport from registry
long onCmdQuit(FXObject *, FXSelector, void *)
Called by FOX if the application shall be closed.
mode for editing additional
void saveViewport(const SUMOReal x, const SUMOReal y, const SUMOReal z)
Makes the given viewport the default.
bool set(const std::string &name, const std::string &value)
Sets the given value for the named option.
virtual void detach()
detaches the tool/menu bar
FXLabel * myCartesianCoordinate
Labels for the current cartesian and geo-coordinate.
Load additional file with poi and polygons.
void setViewport(GUISUMOAbstractView *view)
Sets the default viewport.
MFXMutex myTrackerLock
A lock to make the removal and addition of trackers secure.
void setSelector(FXSelector sel)
set the selector
long onCmdDel(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits del
FXRecentFiles myRecentNets
List of recent nets.
void loadOptionOnStartup()
load net on startup
void removeSolitaryJunctions(GNEUndoList *undoList)
removes junctions that have no edges
static void close()
close GUIIconSubSys
FXToolBarShell * myMenuBarDrag
mode for selecting objects
FXHorizontalFrame * myGeoFrame
A storage for options typed value containers)
void set(SUMOReal x, SUMOReal y)
set positions x and y
long onCmdClose(FXObject *, FXSelector, void *)
called when the command/FXCall close is executed
void clear()
Clears the list of selected objects.
std::string myAdditionalsFile
filename for load/save additionals
FXMDIClient * myMDIClient
The multi view panel.
send when a simulation has been loaded
void handleEvent_Message(GUIEvent *e)
hanlde event of type message
void saveJoined(OptionsCont &oc)
save log of joined junctions (and nothing else)
FXGLCanvas * getBuildGLCanvas() const
get build OpenGL Canvas
send when a warning occured
#define GUIDesignHorizontalFrameStatusBar
Horizontal frame used in status bar.
long onCmdAbort(FXObject *sender, FXSelector sel, void *ptr)
called if the user hits esc
long onCmdSaveJoined(FXObject *, FXSelector, void *)
called when the command/FXCall save joined is executed
An XML-handler for visualisation schemes.
const FXString myTitlePrefix
the prefix for the window title
static FXString getTitleText(const FXString &appname, FXString filename="")
Returns the title text in dependance to an optional file name.
GNEShapeHandler(const std::string &file, GNENet *net, ShapeContainer &sc)
Constructor.
abort current edit operation
GNENet * myNet
we are responsible for the net
#define GUIDesignToolBarShell3
void dependentBuild()
build dependent
void clear()
Clears the window.
NBEdge * getNBEdge()
returns the internal NBEdge
virtual ~GNEShapeHandler()
Destructor.
static int _2intSec(const E *const data, int def)
converts a 0-terminated char-type array into the integer value described by it
void hotkeyDel()
handle del keypress
#define WRITE_MESSAGE(msg)
static void initTextures(FXApp *a)
Initiate GUITextureSubSys for textures.
GUISelectedStorage gSelected
A global holder of selected objects.
void hotkeyEnter()
handle enter keypress
long onCmdSaveAsNetwork(FXObject *, FXSelector, void *)
called when the command/FXCall save network as is executed
GNEViewNet * getView()
convenience method
A logging window for the gui.
GNEViewNet * getViewNet() const
get view net
static FXIcon * getIcon(GUIIcon which)
returns a icon previously defined in the enum GUIIcon
void saveAdditionals(const std::string &filename)
save additional elements of the network
void savePlain(OptionsCont &oc)
save plain xml representation of the network (and nothing else)
static void fillOptions(OptionsCont &oc)
clears and initializes the OptionsCont
FXMenuPane * myFileMenu
the submenus
long onKeyPress(FXObject *o, FXSelector sel, void *data)
called when a key is pressed
long onUpdSaveNetwork(FXObject *, FXSelector, void *)
called when the update/FXCall save network is executed
FXMenuPane * myLocatorMenu
long onCmdSavePois(FXObject *, FXSelector, void *)
called when the command/FXCall save pois is executed
static const Position INVALID
used to indicate that a position is valid
bool isSet(const std::string &name, bool failOnNonExistant=true) const
Returns the information whether the named option is set.