GUIApplicationWindow Class Reference

#include <GUIApplicationWindow.h>

Inheritance diagram for GUIApplicationWindow:

GUIMainWindow MFXInterThreadEventClient FXMainWindow

Detailed Description

The main window of the SUMO-gui.

Contains the file opening support and a canvas to display the simulation representations in.

Beside views on the simulation, showed within a MDI-window, the main window may also have some further views (children) assigned which are stored within a separate list.

Definition at line 72 of file GUIApplicationWindow.h.


Public Member Functions

void addChild (FXMainWindow *child, bool updateOnSimStep=true)
void addChild (FXMDIChild *child, bool updateOnSimStep=true)
 Adds a further child window to the list.
virtual void create ()
 Creates the main window (required by FOX).
void dependentBuild (bool game)
virtual void detach ()
 Detaches the tool/menu bar.
FXFont * getBoldFont ()
FXGLCanvasgetBuildGLCanvas () const
FXLabelgetCartesianLabel ()
SUMOTime getCurrentSimTime () const
FXCursor * getDefaultCursor ()
FXLabelgetGeoLabel ()
FXGLVisual * getGLVisual () const
 GUIApplicationWindow (FXApp *a, const std::string &configPattern)
 Constructor.
bool isGaming () const throw ()
void loadOnStartup (const std::string &config, bool run)
bool loadSelection (const std::string &file, std::string &msg) throw ()
 Loads a selection from a given file.
void removeChild (FXMainWindow *child)
void removeChild (FXMDIChild *child)
 removes the given child window from the list
void setStatusBarText (const std::string &)
void updateChildren ()
virtual ~GUIApplicationWindow ()
 Destructor.
Inter-thread event handling
virtual void eventOccured ()
void handleEvent_Message (GUIEvent *e)
void handleEvent_SimulationEnded (GUIEvent *e)
void handleEvent_SimulationLoaded (GUIEvent *e)
void handleEvent_SimulationStep (GUIEvent *e)
FOX-callbacks
long onCmdAbout (FXObject *, FXSelector, void *)
 Shows the about dialog.
long onCmdAppSettings (FXObject *, FXSelector, void *)
 Opens the application settings menu.
long onCmdClearMsgWindow (FXObject *, FXSelector, void *)
long onCmdClose (FXObject *, FXSelector, void *)
long onCmdEditBreakpoints (FXObject *, FXSelector, void *)
long onCmdEditChosen (FXObject *, FXSelector, void *)
long onCmdGaming (FXObject *, FXSelector, void *)
 Toggle gaming mode.
long onCmdNewView (FXObject *, FXSelector, void *)
long onCmdOpenConfiguration (FXObject *, FXSelector, void *)
long onCmdOpenNetwork (FXObject *, FXSelector, void *)
long onCmdOpenRecent (FXObject *, FXSelector, void *)
long onCmdQuit (FXObject *, FXSelector, void *)
 Called by FOX if the application shall be closed Called either by FileMenu->Quit, the normal close-menu or SIGINT.
long onCmdReload (FXObject *, FXSelector, void *)
long onCmdStart (FXObject *, FXSelector, void *)
long onCmdStep (FXObject *, FXSelector, void *)
long onCmdStop (FXObject *, FXSelector, void *)
long onLoadThreadEvent (FXObject *, FXSelector, void *)
long onRunThreadEvent (FXObject *, FXSelector, void *)
long onUpdAddMicro (FXObject *, FXSelector, void *)
virtual long onUpdEditBreakpoints (FXObject *, FXSelector, void *)
long onUpdEditChosen (FXObject *sender, FXSelector, void *ptr)
long onUpdOpen (FXObject *, FXSelector, void *)
long onUpdOpenRecent (FXObject *, FXSelector, void *)
long onUpdReload (FXObject *, FXSelector, void *)
virtual long onUpdStart (FXObject *, FXSelector, void *)
long onUpdStep (FXObject *, FXSelector, void *)
long onUpdStop (FXObject *, FXSelector, void *)

Protected Member Functions

virtual void addToWindowsMenu (FXMenuPane *)
virtual void buildToolBars ()
 Builds the tool bar.
virtual void fillMenuBar ()
 Builds the menu bar.
 GUIApplicationWindow ()
 FOX needs this for static members.

Protected Attributes

bool hadDependentBuild
bool myAmGaming
 information whether the gui is currently in gaming mode
bool myAmLoading
 information whether the gui is currently loading and the load-options shall be greyed out
FXFont * myBoldFont
 Font used for popup-menu titles.
FXDockSite * myBottomDock
FXLabelmyCartesianCoordinate
 Labels for the current cartesian and geo-coordinate.
FXHorizontalFramemyCartesianFrame
std::string myConfigPattern
 Input file pattern.
FXMenuPanemyEditMenu
MFXEventQue myEvents
 List of got requests.
FXMenuPanemyFileMenu
 the submenus
FXLabelmyGeoCoordinate
FXHorizontalFramemyGeoFrame
FXGLVisual * myGLVisual
 The gl-visual used.
FXMenuPanemyHelpMenu
FXEX::FXLCDLabelmyLCDLabel
 the simulation step display
FXDockSite * myLeftDock
GUILoadThreadmyLoadThread
FXEX::FXThreadEvent myLoadThreadEvent
 io-event with the load-thread
FXSplitter * myMainSplitter
 The splitter that divides the main window into vies and the log window.
FXMDIClient * myMDIClient
 The multi view panel.
FXMDIMenu * myMDIMenu
 The menu used for the MDI-windows.
FXMenuBar * myMenuBar
 The application menu bar.
FXToolBarShell * myMenuBarDrag
GUIMessageWindowmyMessageWindow
 A window to display messages, warnings and error in.
std::string myName
FXRecentFiles myRecentConfigs
 List of recent config files.
FXRecentFiles myRecentNets
 List of recent nets.
FXDockSite * myRightDock
bool myRunAtBegin
GUIRunThreadmyRunThread
FXEX::FXThreadEvent myRunThreadEvent
 io-event with the run-thread
FXMenuPanemySettingsMenu
FXdouble mySimDelay
 The simulation delay.
FXRealSpinDialmySimDelayTarget
FXStatusBar * myStatusbar
 The status bar.
std::vector< FXMDIChild * > mySubWindows
FXToolBar * myToolBar1
 The application tool bar.
FXToolBar * myToolBar2
FXToolBar * myToolBar3
FXToolBar * myToolBar4
FXToolBar * myToolBar5
FXToolBarShell * myToolBarDrag1
 for some menu detaching fun
FXToolBarShell * myToolBarDrag2
FXToolBarShell * myToolBarDrag3
FXToolBarShell * myToolBarDrag4
FXToolBarShell * myToolBarDrag5
FXDockSite * myTopDock
MFXMutex myTrackerLock
 A lock to make the removal and addition of trackers secure.
std::vector< FXMainWindow * > myTrackerWindows
size_t myViewNumber
 The current view number.
bool myWasStarted
FXMenuPanemyWindowsMenu

Private Member Functions

void closeAllWindows ()
void load (const std::string &file, bool isNet, bool isReload=false)
GUISUMOAbstractViewopenNewView ()

Constructor & Destructor Documentation

GUIApplicationWindow::GUIApplicationWindow ( FXApp *  a,
const std::string &  configPattern 
)

Constructor.

Parameters:
[in] a The FOX application
[in] configPattern The pattern used for loading configurations

GUIApplicationWindow::~GUIApplicationWindow (  )  [virtual]

Destructor.

Definition at line 246 of file GUIApplicationWindow.cpp.

References GUITexturesHelper::close(), GUIIconSubSys::close(), closeAllWindows(), MFXEventQue::empty(), myEditMenu, myEvents, myFileMenu, GUIMainWindow::myGLVisual, myHelpMenu, myLoadThread, myRunThread, mySettingsMenu, myToolBarDrag1, myWindowsMenu, MFXEventQue::pop(), GUIRunThread::prepareDestruction(), and MFXEventQue::top().

00246                                             {
00247     myRunThread->prepareDestruction();
00248     myRunThread->join();
00249     closeAllWindows();
00250     //
00251     GUIIconSubSys::close();
00252     GUITexturesHelper::close();
00253     delete myGLVisual;
00254     // delete some non-parented windows
00255     delete myToolBarDrag1;
00256     //
00257     delete myRunThread;
00258     delete myFileMenu;
00259     delete myEditMenu;
00260     delete mySettingsMenu;
00261     delete myWindowsMenu;
00262     delete myHelpMenu;
00263 
00264     delete myLoadThread;
00265 
00266     while (!myEvents.empty()) {
00267         // get the next event
00268         GUIEvent *e = static_cast<GUIEvent*>(myEvents.top());
00269         myEvents.pop();
00270         delete e;
00271     }
00272 }

GUIApplicationWindow::GUIApplicationWindow (  )  [inline, protected]

FOX needs this for static members.

Definition at line 190 of file GUIApplicationWindow.h.

00190 { }


Member Function Documentation

void GUIMainWindow::addChild ( FXMainWindow child,
bool  updateOnSimStep = true 
) [inherited]

Definition at line 89 of file GUIMainWindow.cpp.

References MFXMutex::lock(), GUIMainWindow::myTrackerLock, GUIMainWindow::myTrackerWindows, and MFXMutex::unlock().

00089                                                                          {
00090     myTrackerLock.lock();
00091     myTrackerWindows.push_back(child);
00092     myTrackerLock.unlock();
00093 }

void GUIMainWindow::addChild ( FXMDIChild child,
bool  updateOnSimStep = true 
) [inherited]

Adds a further child window to the list.

Definition at line 73 of file GUIMainWindow.cpp.

References GUIMainWindow::mySubWindows.

Referenced by GUIParameterTableWindow::closeBuilding(), and GUIParameterTracker::GUIParameterTracker().

00073                                                                        {
00074     mySubWindows.push_back(child);
00075 }

virtual void GUIApplicationWindow::addToWindowsMenu ( FXMenuPane  )  [inline, protected, virtual]

Definition at line 176 of file GUIApplicationWindow.h.

Referenced by fillMenuBar().

00176 { }

void GUIApplicationWindow::buildToolBars (  )  [protected, virtual]

Builds the tool bar.

Definition at line 410 of file GUIApplicationWindow.cpp.

References GUIIconSubSys::getIcon(), ICON_MICROVIEW, ICON_OPEN_CONFIG, ICON_OPEN_NET, ICON_RELOAD, ICON_START, ICON_STEP, ICON_STOP, FXEX::LCDLABEL_LEADING_ZEROS, MID_NEW_MICROVIEW, MID_OPEN_CONFIG, MID_OPEN_NETWORK, MID_RELOAD, MID_SIMDELAY, MID_START, MID_STEP, MID_STOP, myLCDLabel, mySimDelayTarget, myToolBar1, myToolBar2, myToolBar3, myToolBar4, myToolBar5, myToolBarDrag1, myToolBarDrag2, myToolBarDrag3, myToolBarDrag4, myToolBarDrag5, GUIMainWindow::myTopDock, FXEX::FXLCDLabel::setGroove(), FXEX::FXLCDLabel::setHorizontal(), FX::FXRealSpinDial::setIncrements(), FX::FXRealSpinDial::setNumberFormat(), FX::FXRealSpinDial::setRange(), FXEX::FXLCDLabel::setText(), FXEX::FXLCDLabel::setThickness(), FX::FXRealSpinDial::setValue(), and FXEX::FXLCDLabel::setVertical().

Referenced by dependentBuild().

00410                                     {
00411     // build tool bars
00412     {
00413         // file and simulation tool bar
00414         myToolBarDrag1=new FXToolBarShell(this,FRAME_NORMAL);
00415         myToolBar1 = new FXToolBar(myTopDock,myToolBarDrag1,
00416                                    LAYOUT_DOCK_NEXT|LAYOUT_SIDE_TOP|FRAME_RAISED);
00417         new FXToolBarGrip(myToolBar1, myToolBar1, FXToolBar::ID_TOOLBARGRIP,
00418                           TOOLBARGRIP_DOUBLE);
00419         // build file tools
00420         new FXButton(myToolBar1,"\t\tOpen a simulation (Configuration file).",
00421                      GUIIconSubSys::getIcon(ICON_OPEN_CONFIG), this, MID_OPEN_CONFIG,
00422                      ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT);
00423         new FXButton(myToolBar1,"\t\tOpen a network.",
00424                      GUIIconSubSys::getIcon(ICON_OPEN_NET), this, MID_OPEN_NETWORK,
00425                      ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT);
00426         new FXButton(myToolBar1,"\t\tReloads the simulation / the network.",
00427                      GUIIconSubSys::getIcon(ICON_RELOAD), this, MID_RELOAD,
00428                      ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT);
00429     }
00430     {
00431         // build simulation tools
00432         myToolBarDrag2=new FXToolBarShell(this,FRAME_NORMAL);
00433         myToolBar2 = new FXToolBar(myTopDock,myToolBarDrag2,
00434                                    LAYOUT_DOCK_SAME|LAYOUT_SIDE_TOP|FRAME_RAISED);
00435         new FXToolBarGrip(myToolBar2, myToolBar2, FXToolBar::ID_TOOLBARGRIP,
00436                           TOOLBARGRIP_DOUBLE);
00437         new FXButton(myToolBar2,"\t\tStart the loaded simulation.",
00438                      GUIIconSubSys::getIcon(ICON_START), this, MID_START,
00439                      ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT);
00440         new FXButton(myToolBar2,"\t\tStop the running simulation.",
00441                      GUIIconSubSys::getIcon(ICON_STOP), this, MID_STOP,
00442                      ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT);
00443         new FXButton(myToolBar2,"\t\tPerform a single simulation step.",
00444                      GUIIconSubSys::getIcon(ICON_STEP), this, MID_STEP,
00445                      ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT);
00446     }
00447     {
00448         // Simulation Step Display
00449         myToolBarDrag3=new FXToolBarShell(this,FRAME_NORMAL);
00450         myToolBar3 = new FXToolBar(myTopDock,myToolBarDrag3,
00451                                    LAYOUT_DOCK_SAME|LAYOUT_SIDE_TOP|FRAME_RAISED);
00452         new FXToolBarGrip(myToolBar3, myToolBar3, FXToolBar::ID_TOOLBARGRIP,
00453                           TOOLBARGRIP_DOUBLE);
00454         new FXLabel(myToolBar3, "Next Step:", 0, LAYOUT_CENTER_Y);
00455         myLCDLabel = new FXEX::FXLCDLabel(myToolBar3, 6, 0, 0,
00456                                           FXEX::LCDLABEL_LEADING_ZEROS);
00457         myLCDLabel->setHorizontal(2);
00458         myLCDLabel->setVertical(6);
00459         myLCDLabel->setThickness(2);
00460         myLCDLabel->setGroove(2);
00461         myLCDLabel->setText("-----------");
00462     }
00463     {
00464         // Simulation Delay
00465         myToolBarDrag4=new FXToolBarShell(this,FRAME_NORMAL);
00466         myToolBar4 = new FXToolBar(myTopDock,myToolBarDrag4,
00467                                    LAYOUT_DOCK_SAME|LAYOUT_SIDE_TOP|FRAME_RAISED|LAYOUT_FILL_Y);
00468         new FXToolBarGrip(myToolBar4, myToolBar4, FXToolBar::ID_TOOLBARGRIP,
00469                           TOOLBARGRIP_DOUBLE);
00470         new FXLabel(myToolBar4, "Delay (ms):", 0, LAYOUT_CENTER_Y);
00471         mySimDelayTarget =
00472             new FXRealSpinDial(myToolBar4, 7, 0, MID_SIMDELAY,
00473                                LAYOUT_TOP|FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_Y);
00474         mySimDelayTarget->setNumberFormat(0);
00475         mySimDelayTarget->setIncrements(1,10,10);
00476         mySimDelayTarget->setRange(0,1000);
00477         mySimDelayTarget->setValue(0);
00478     }
00479     {
00480         // Views
00481         myToolBarDrag5=new FXToolBarShell(this,FRAME_NORMAL);
00482         myToolBar5 = new FXToolBar(myTopDock,myToolBarDrag5,
00483                                    LAYOUT_DOCK_SAME|LAYOUT_SIDE_TOP|FRAME_RAISED);
00484         new FXToolBarGrip(myToolBar5, myToolBar5, FXToolBar::ID_TOOLBARGRIP,
00485                           TOOLBARGRIP_DOUBLE);
00486         // build view tools
00487         new FXButton(myToolBar5,"\t\tOpen a new microscopic view.",
00488                      GUIIconSubSys::getIcon(ICON_MICROVIEW), this, MID_NEW_MICROVIEW,
00489                      ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT);
00490     }
00491 }

void GUIApplicationWindow::closeAllWindows (  )  [private]

this method closes all windows and deletes the current simulation

Definition at line 955 of file GUIApplicationWindow.cpp.

References GUIMessageWindow::addSeparator(), GUISelectedStorage::clear(), GUIRunThread::deleteSim(), MFXUtils::getTitleText(), gSelected, MFXMutex::lock(), GUIMainWindow::myCartesianCoordinate, GUIMainWindow::myGeoCoordinate, myLCDLabel, myMessageWindow, myRunThread, GUIMainWindow::mySubWindows, GUIMainWindow::myTrackerLock, GUIMainWindow::myTrackerWindows, FXEX::FXLCDLabel::setText(), and MFXMutex::unlock().

Referenced by handleEvent_SimulationEnded(), handleEvent_SimulationLoaded(), load(), onCmdClose(), and ~GUIApplicationWindow().

00955                                       {
00956     myTrackerLock.lock();
00957     myLCDLabel->setText("-----------");
00958     // remove trackers and other external windows
00959     size_t i;
00960     for (i=0; i<mySubWindows.size(); ++i) {
00961         mySubWindows[i]->destroy();
00962     }
00963     for (i=0; i<myTrackerWindows.size(); ++i) {
00964         myTrackerWindows[i]->destroy();
00965     }
00966     // delete the simulation
00967     myRunThread->deleteSim();
00968     // reset the caption
00969     setTitle(MFXUtils::getTitleText(("SUMO " + std::string(VERSION_STRING)).c_str()));
00970     // delete other children
00971     while (myTrackerWindows.size()!=0) {
00972         delete myTrackerWindows[0];
00973     }
00974     while (mySubWindows.size()!=0) {
00975         delete mySubWindows[0];
00976     }
00977     mySubWindows.clear();
00978     // clear selected items
00979     gSelected.clear();
00980     // add a separator to the log
00981     myMessageWindow->addSeparator();
00982     myTrackerLock.unlock();
00983     // remove coordinate information
00984     myGeoCoordinate->setText("N/A");
00985     myCartesianCoordinate->setText("N/A");
00986     //
00987     update();
00988 }

void GUIApplicationWindow::create (  )  [virtual]

Creates the main window (required by FOX).

Definition at line 217 of file GUIApplicationWindow.cpp.

References gCurrentFolder, GUIMainWindow::myCartesianFrame, myEditMenu, myFileMenu, GUIMainWindow::myGeoFrame, myHelpMenu, myMenuBarDrag, mySettingsMenu, myToolBarDrag1, myToolBarDrag2, and myWindowsMenu.

00217                              {
00218     if (getApp()->reg().readIntEntry("SETTINGS", "maximized", 0)==0) {
00219         setX(getApp()->reg().readIntEntry("SETTINGS", "x", 150));
00220         setY(getApp()->reg().readIntEntry("SETTINGS", "y", 150));
00221         setWidth(getApp()->reg().readIntEntry("SETTINGS", "width", 600));
00222         setHeight(getApp()->reg().readIntEntry("SETTINGS", "height", 400));
00223     }
00224     gCurrentFolder = getApp()->reg().readStringEntry("SETTINGS", "basedir", "");
00225     FXMainWindow::create();
00226     myMenuBarDrag->create();
00227     myToolBarDrag1->create();
00228     myToolBarDrag2->create();
00229     myFileMenu->create();
00230     myEditMenu->create();
00231     mySettingsMenu->create();
00232     myWindowsMenu->create();
00233     myHelpMenu->create();
00234 
00235     FXint width = getApp()->getNormalFont()->getTextWidth("8", 1)*22;
00236     myCartesianFrame->setWidth(width);
00237     myGeoFrame->setWidth(width);
00238 
00239     show(PLACEMENT_SCREEN);
00240     if (getApp()->reg().readIntEntry("SETTINGS", "maximized", 0)==1) {
00241         maximize();
00242     }
00243 }

void GUIApplicationWindow::dependentBuild ( bool  game  ) 

Definition at line 140 of file GUIApplicationWindow.cpp.

References buildToolBars(), fillMenuBar(), GUIIconSubSys::getIcon(), MFXUtils::getTitleText(), hadDependentBuild, ICON_APP, ID_LOADTHREAD_EVENT, ID_RUNTHREAD_EVENT, GUITexturesHelper::init(), MID_WINDOW, GUIMainWindow::myCartesianCoordinate, GUIMainWindow::myCartesianFrame, myEvents, GUIMainWindow::myGeoCoordinate, GUIMainWindow::myGeoFrame, myLoadThread, myLoadThreadEvent, myMainSplitter, GUIMainWindow::myMDIClient, myMDIMenu, myMenuBar, myMenuBarDrag, myMessageWindow, myRunThread, myRunThreadEvent, mySimDelayTarget, GUIMainWindow::myStatusbar, GUIMainWindow::myTopDock, onCmdGaming(), FXEX::FXBaseObject::setSelector(), and FXEX::FXBaseObject::setTarget().

Referenced by main().

00140                                               {
00141     // do this not twice
00142     if (hadDependentBuild) {
00143         return;
00144     }
00145     hadDependentBuild = true;
00146 
00147     setTarget(this);
00148     setSelector(MID_WINDOW);
00149     GUITexturesHelper::init(getApp());
00150 
00151     // build menu bar
00152     myMenuBarDrag=new FXToolBarShell(this,FRAME_NORMAL);
00153     myMenuBar = new FXMenuBar(myTopDock, myMenuBarDrag,
00154                               LAYOUT_SIDE_TOP|LAYOUT_FILL_X|FRAME_RAISED);
00155     new FXToolBarGrip(myMenuBar, myMenuBar, FXMenuBar::ID_TOOLBARGRIP,
00156                       TOOLBARGRIP_DOUBLE);
00157     buildToolBars();
00158     // build the thread - io
00159     myLoadThreadEvent.setTarget(this),
00160     myLoadThreadEvent.setSelector(ID_LOADTHREAD_EVENT);
00161     myRunThreadEvent.setTarget(this),
00162     myRunThreadEvent.setSelector(ID_RUNTHREAD_EVENT);
00163 
00164     // build the status bar
00165     myStatusbar = new FXStatusBar(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|FRAME_RAISED);
00166     {
00167         myGeoFrame =
00168             new FXHorizontalFrame(myStatusbar, LAYOUT_FIX_WIDTH|LAYOUT_FILL_Y|LAYOUT_RIGHT|FRAME_SUNKEN,
00169                                   0,0,20,0, 0,0,0,0, 0,0);
00170         myGeoCoordinate = new FXLabel(myGeoFrame, "N/A", 0, LAYOUT_CENTER_Y);
00171         myCartesianFrame =
00172             new FXHorizontalFrame(myStatusbar, LAYOUT_FIX_WIDTH|LAYOUT_FILL_Y|LAYOUT_RIGHT|FRAME_SUNKEN,
00173                                   0,0,20,0, 0,0,0,0, 0,0);
00174         myCartesianCoordinate = new FXLabel(myCartesianFrame, "N/A", 0, LAYOUT_CENTER_Y);
00175     }
00176 
00177     // make the window a mdi-window
00178     myMainSplitter = new FXSplitter(this,
00179                                     SPLITTER_REVERSED|SPLITTER_VERTICAL|LAYOUT_FILL_X|LAYOUT_FILL_Y|SPLITTER_TRACKING|FRAME_RAISED|FRAME_THICK);
00180     myMDIClient = new FXMDIClient(myMainSplitter,
00181                                   LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN|FRAME_THICK);
00182     myMDIMenu = new FXMDIMenu(this,myMDIClient);
00183     new FXMDIWindowButton(myMenuBar,myMDIMenu,myMDIClient,
00184                           FXMDIClient::ID_MDI_MENUWINDOW,LAYOUT_LEFT);
00185     new FXMDIDeleteButton(myMenuBar,myMDIClient,
00186                           FXMDIClient::ID_MDI_MENUCLOSE,FRAME_RAISED|LAYOUT_RIGHT);
00187     new FXMDIRestoreButton(myMenuBar,myMDIClient,
00188                            FXMDIClient::ID_MDI_MENURESTORE,FRAME_RAISED|LAYOUT_RIGHT);
00189     new FXMDIMinimizeButton(myMenuBar,myMDIClient,
00190                             FXMDIClient::ID_MDI_MENUMINIMIZE,FRAME_RAISED|LAYOUT_RIGHT);
00191 
00192     // build the message window
00193     myMessageWindow = new GUIMessageWindow(myMainSplitter);
00194     // fill menu and tool bar
00195     fillMenuBar();
00196     if (game) {
00197         onCmdGaming(0,0,0);
00198         myMenuBar->hide();
00199         myTopDock->hide();
00200     }
00201     // build additional threads
00202     myLoadThread = new GUILoadThread(this, myEvents, myLoadThreadEvent);
00203     myRunThread = new GUIRunThread(this, *mySimDelayTarget, myEvents,
00204                                    myRunThreadEvent);
00205     // set the status bar
00206     myStatusbar->getStatusLine()->setText("Ready.");
00207     // set the caption
00208     setTitle(MFXUtils::getTitleText(("SUMO " + std::string(VERSION_STRING)).c_str()));
00209 
00210     // start the simulation-thread (it will loop until the application ends deciding by itself whether to perform a step or not)
00211     myRunThread->start();
00212     setIcon(GUIIconSubSys::getIcon(ICON_APP));
00213 }

void GUIApplicationWindow::detach (  )  [virtual]

Detaches the tool/menu bar.

Definition at line 276 of file GUIApplicationWindow.cpp.

References myMenuBarDrag, and myToolBarDrag1.

00276                              {
00277     FXMainWindow::detach();
00278     myMenuBarDrag->detach();
00279     myToolBarDrag1->detach();
00280 }

void GUIApplicationWindow::eventOccured (  )  [virtual]

Implements MFXInterThreadEventClient.

Definition at line 784 of file GUIApplicationWindow.cpp.

References MFXEventQue::empty(), EVENT_ERROR_OCCURED, EVENT_MESSAGE_OCCURED, EVENT_SIMULATION_ENDED, EVENT_SIMULATION_LOADED, EVENT_SIMULATION_STEP, EVENT_WARNING_OCCURED, GUIEvent::getOwnType(), handleEvent_Message(), handleEvent_SimulationEnded(), handleEvent_SimulationLoaded(), handleEvent_SimulationStep(), myEvents, myToolBar2, myToolBar3, MFXEventQue::pop(), and MFXEventQue::top().

Referenced by onLoadThreadEvent(), and onRunThreadEvent().

00784                                    {
00785     while (!myEvents.empty()) {
00786         // get the next event
00787         GUIEvent *e = static_cast<GUIEvent*>(myEvents.top());
00788         myEvents.pop();
00789         // process
00790         switch (e->getOwnType()) {
00791         case EVENT_SIMULATION_LOADED:
00792             handleEvent_SimulationLoaded(e);
00793             break;
00794         case EVENT_SIMULATION_STEP:
00795             handleEvent_SimulationStep(e);
00796             break;
00797         case EVENT_MESSAGE_OCCURED:
00798         case EVENT_WARNING_OCCURED:
00799         case EVENT_ERROR_OCCURED:
00800             handleEvent_Message(e);
00801             break;
00802         case EVENT_SIMULATION_ENDED:
00803             handleEvent_SimulationEnded(e);
00804             break;
00805         default:
00806             break;
00807         }
00808         delete e;
00809     }
00810     myToolBar2->forceRefresh();
00811     myToolBar3->forceRefresh();
00812 }

void GUIApplicationWindow::fillMenuBar (  )  [protected, virtual]

Builds the menu bar.

Definition at line 284 of file GUIApplicationWindow.cpp.

References addToWindowsMenu(), GUIIconSubSys::getIcon(), ICON_APP, ICON_CLOSE, ICON_FLAG, ICON_OPEN_CONFIG, ICON_OPEN_NET, ICON_RELOAD, ICON_WINDOWS_CASCADE, ICON_WINDOWS_TILE_HORI, ICON_WINDOWS_TILE_VERT, MID_ABOUT, MID_APPSETTINGS, MID_CLEARMESSAGEWINDOW, MID_CLOSE, MID_EDIT_BREAKPOINTS, MID_EDITCHOSEN, MID_GAMING, MID_OPEN_CONFIG, MID_OPEN_NETWORK, MID_QUIT, MID_RECENTFILE, MID_RELOAD, myEditMenu, myFileMenu, myHelpMenu, GUIMainWindow::myMDIClient, myMenuBar, myMessageWindow, myRecentConfigs, myRecentNets, mySettingsMenu, GUIMainWindow::myStatusbar, myToolBar3, myToolBar4, and myWindowsMenu.

Referenced by dependentBuild().

00284                                   {
00285     // build file menu
00286     myFileMenu = new FXMenuPane(this);
00287     new FXMenuTitle(myMenuBar,"&File",NULL,myFileMenu);
00288     new FXMenuCommand(myFileMenu,
00289                       "&Open Simulation...\tCtl-O\tOpen a simulation (Configuration file).",
00290                       GUIIconSubSys::getIcon(ICON_OPEN_CONFIG),this,MID_OPEN_CONFIG);
00291     new FXMenuCommand(myFileMenu,
00292                       "Open &Network...\tCtl-N\tOpen a network.",
00293                       GUIIconSubSys::getIcon(ICON_OPEN_NET),this,MID_OPEN_NETWORK);
00294     new FXMenuCommand(myFileMenu,
00295                       "&Reload\tCtl-R\tReloads the simulation / the network.",
00296                       GUIIconSubSys::getIcon(ICON_RELOAD),this,MID_RELOAD);
00297     new FXMenuSeparator(myFileMenu);
00298     new FXMenuCommand(myFileMenu,
00299                       "&Close\tCtl-C\tClose the simulation.",
00300                       GUIIconSubSys::getIcon(ICON_CLOSE),this,MID_CLOSE);
00301     // Recent files
00302     FXMenuSeparator* sep1=new FXMenuSeparator(myFileMenu);
00303     sep1->setTarget(&myRecentConfigs);
00304     sep1->setSelector(FXRecentFiles::ID_ANYFILES);
00305     new FXMenuCommand(myFileMenu,"",0,&myRecentConfigs,FXRecentFiles::ID_FILE_1);
00306     new FXMenuCommand(myFileMenu,"",0,&myRecentConfigs,FXRecentFiles::ID_FILE_2);
00307     new FXMenuCommand(myFileMenu,"",0,&myRecentConfigs,FXRecentFiles::ID_FILE_3);
00308     new FXMenuCommand(myFileMenu,"",0,&myRecentConfigs,FXRecentFiles::ID_FILE_4);
00309     new FXMenuCommand(myFileMenu,"",0,&myRecentConfigs,FXRecentFiles::ID_FILE_5);
00310     new FXMenuCommand(myFileMenu,"",0,&myRecentConfigs,FXRecentFiles::ID_FILE_6);
00311     new FXMenuCommand(myFileMenu,"",0,&myRecentConfigs,FXRecentFiles::ID_FILE_7);
00312     new FXMenuCommand(myFileMenu,"",0,&myRecentConfigs,FXRecentFiles::ID_FILE_8);
00313     new FXMenuCommand(myFileMenu,"",0,&myRecentConfigs,FXRecentFiles::ID_FILE_9);
00314     new FXMenuCommand(myFileMenu,"",0,&myRecentConfigs,FXRecentFiles::ID_FILE_10);
00315     new FXMenuCommand(myFileMenu,"C&lear Recent Configurations",NULL,&myRecentConfigs,FXRecentFiles::ID_CLEAR);
00316     myRecentConfigs.setTarget(this);
00317     myRecentConfigs.setSelector(MID_RECENTFILE);
00318     FXMenuSeparator* sep2=new FXMenuSeparator(myFileMenu);
00319     sep2->setTarget(&myRecentNets);
00320     sep2->setSelector(FXRecentFiles::ID_ANYFILES);
00321     new FXMenuCommand(myFileMenu,"",0,&myRecentNets,FXRecentFiles::ID_FILE_1);
00322     new FXMenuCommand(myFileMenu,"",0,&myRecentNets,FXRecentFiles::ID_FILE_2);
00323     new FXMenuCommand(myFileMenu,"",0,&myRecentNets,FXRecentFiles::ID_FILE_3);
00324     new FXMenuCommand(myFileMenu,"",0,&myRecentNets,FXRecentFiles::ID_FILE_4);
00325     new FXMenuCommand(myFileMenu,"",0,&myRecentNets,FXRecentFiles::ID_FILE_5);
00326     new FXMenuCommand(myFileMenu,"",0,&myRecentNets,FXRecentFiles::ID_FILE_6);
00327     new FXMenuCommand(myFileMenu,"",0,&myRecentNets,FXRecentFiles::ID_FILE_7);
00328     new FXMenuCommand(myFileMenu,"",0,&myRecentNets,FXRecentFiles::ID_FILE_8);
00329     new FXMenuCommand(myFileMenu,"",0,&myRecentNets,FXRecentFiles::ID_FILE_9);
00330     new FXMenuCommand(myFileMenu,"",0,&myRecentNets,FXRecentFiles::ID_FILE_10);
00331     new FXMenuCommand(myFileMenu,"Cl&ear Recent Networks",NULL,&myRecentNets,FXRecentFiles::ID_CLEAR);
00332     myRecentNets.setTarget(this);
00333     myRecentNets.setSelector(MID_RECENTFILE);
00334     new FXMenuSeparator(myFileMenu);
00335     new FXMenuCommand(myFileMenu,
00336                       "&Quit\tCtl-Q\tQuit the Application.",
00337                       0, this, MID_QUIT, 0);
00338 
00339     // build edit menu
00340     myEditMenu = new FXMenuPane(this);
00341     new FXMenuTitle(myMenuBar,"&Edit",NULL,myEditMenu);
00342     new FXMenuCommand(myEditMenu,
00343                       "Edit Chosen...\t\tOpens a Dialog for editing the List of chosen Items.",
00344                       GUIIconSubSys::getIcon(ICON_FLAG), this, MID_EDITCHOSEN);
00345     new FXMenuSeparator(myEditMenu);
00346     new FXMenuCommand(myEditMenu,
00347                       "Edit Breakpoints...\t\tOpens a Dialog for editing breakpoints.",
00348                       0, this, MID_EDIT_BREAKPOINTS);
00349 
00350     // build settings menu
00351     mySettingsMenu = new FXMenuPane(this);
00352     new FXMenuTitle(myMenuBar,"&Settings",NULL,mySettingsMenu);
00353     new FXMenuCommand(mySettingsMenu,
00354                       "Application Settings...\t\tOpen a Dialog for Application Settings editing.",
00355                       NULL,this,MID_APPSETTINGS);
00356     new FXMenuCheck(mySettingsMenu,
00357                     "Gaming Mode\t\tToggle gaming mode on/off.",
00358                     this,MID_GAMING);
00359 
00360     // build windows menu
00361     myWindowsMenu = new FXMenuPane(this);
00362     new FXMenuTitle(myMenuBar,"&Windows",NULL,myWindowsMenu);
00363     new FXMenuCheck(myWindowsMenu,
00364                     "Show Status Line\t\tToggle this Status Bar on/off.",
00365                     myStatusbar,FXWindow::ID_TOGGLESHOWN);
00366     new FXMenuCheck(myWindowsMenu,
00367                     "Show Message Window\t\tToggle the Message Window on/off.",
00368                     myMessageWindow,FXWindow::ID_TOGGLESHOWN);
00369     new FXMenuCheck(myWindowsMenu,
00370                     "Show Simulation Time\t\tToggle the Simulation Time on/off.",
00371                     myToolBar3, FXWindow::ID_TOGGLESHOWN);
00372     new FXMenuCheck(myWindowsMenu,
00373                     "Show Simulation Delay\t\tToggle the Simulation Delay Entry on/off.",
00374                     myToolBar4, FXWindow::ID_TOGGLESHOWN);
00375     addToWindowsMenu(myWindowsMenu);
00376     new FXMenuSeparator(myWindowsMenu);
00377     new FXMenuCommand(myWindowsMenu,"Tile &Horizontally",
00378                       GUIIconSubSys::getIcon(ICON_WINDOWS_TILE_HORI),
00379                       myMDIClient,FXMDIClient::ID_MDI_TILEHORIZONTAL);
00380     new FXMenuCommand(myWindowsMenu,"Tile &Vertically",
00381                       GUIIconSubSys::getIcon(ICON_WINDOWS_TILE_VERT),
00382                       myMDIClient,FXMDIClient::ID_MDI_TILEVERTICAL);
00383     new FXMenuCommand(myWindowsMenu,"C&ascade",
00384                       GUIIconSubSys::getIcon(ICON_WINDOWS_CASCADE),
00385                       myMDIClient,FXMDIClient::ID_MDI_CASCADE);
00386     new FXMenuCommand(myWindowsMenu,"&Close",NULL,
00387                       myMDIClient,FXMDIClient::ID_MDI_CLOSE);
00388     sep1=new FXMenuSeparator(myWindowsMenu);
00389     sep1->setTarget(myMDIClient);
00390     sep1->setSelector(FXMDIClient::ID_MDI_ANY);
00391     new FXMenuCommand(myWindowsMenu,"",0,myMDIClient,FXMDIClient::ID_MDI_1);
00392     new FXMenuCommand(myWindowsMenu,"",0,myMDIClient,FXMDIClient::ID_MDI_2);
00393     new FXMenuCommand(myWindowsMenu,"",0,myMDIClient,FXMDIClient::ID_MDI_3);
00394     new FXMenuCommand(myWindowsMenu,"",0,myMDIClient,FXMDIClient::ID_MDI_4);
00395     new FXMenuCommand(myWindowsMenu,"&Others...",0,myMDIClient,FXMDIClient::ID_MDI_OVER_5);
00396     new FXMenuSeparator(myWindowsMenu);
00397     new FXMenuCommand(myWindowsMenu,
00398                       "Clear Message Window\t\tClear the message window.",
00399                       0, this, MID_CLEARMESSAGEWINDOW);
00400 
00401     // build help menu
00402     myHelpMenu = new FXMenuPane(this);
00403     new FXMenuTitle(myMenuBar,"&Help",NULL,myHelpMenu);
00404     new FXMenuCommand(myHelpMenu,"&About", GUIIconSubSys::getIcon(ICON_APP),
00405                       this, MID_ABOUT);
00406 }

FXFont * GUIMainWindow::getBoldFont (  )  [inherited]

Definition at line 107 of file GUIMainWindow.cpp.

References GUIMainWindow::myBoldFont.

00107                            {
00108     return myBoldFont;
00109 }

FXGLCanvas * GUIApplicationWindow::getBuildGLCanvas (  )  const [virtual]

Implements GUIMainWindow.

Definition at line 944 of file GUIApplicationWindow.cpp.

References GUIGlChildWindow::getBuildGLCanvas(), and GUIMainWindow::myMDIClient.

Referenced by openNewView().

00944                                              {
00945     if (myMDIClient->numChildren()==0) {
00946         return 0;
00947     }
00948     GUISUMOViewParent *share_tmp1 =
00949         static_cast<GUISUMOViewParent*>(myMDIClient->childAtIndex(0));
00950     return share_tmp1->getBuildGLCanvas();
00951 }

FXLabel & GUIMainWindow::getCartesianLabel (  )  [inherited]

Definition at line 132 of file GUIMainWindow.cpp.

References GUIMainWindow::myCartesianCoordinate.

Referenced by GUISUMOAbstractView::updatePositionInformation().

00132                                  {
00133     return *myCartesianCoordinate;
00134 }

SUMOTime GUIApplicationWindow::getCurrentSimTime (  )  const [virtual]

Implements GUIMainWindow.

Definition at line 998 of file GUIApplicationWindow.cpp.

References MSNet::getCurrentTimeStep(), GUIRunThread::getNet(), and myRunThread.

00998                                               {
00999     return myRunThread->getNet().getCurrentTimeStep();
01000 }

FXCursor * GUIApplicationWindow::getDefaultCursor (  ) 

Definition at line 992 of file GUIApplicationWindow.cpp.

00992                                        {
00993     return getApp()->getDefaultCursor(DEF_ARROW_CURSOR);
00994 }

FXLabel & GUIMainWindow::getGeoLabel (  )  [inherited]

Definition at line 138 of file GUIMainWindow.cpp.

References GUIMainWindow::myGeoCoordinate.

Referenced by GUISUMOAbstractView::updatePositionInformation().

00138                            {
00139     return *myGeoCoordinate;
00140 }

FXGLVisual * GUIMainWindow::getGLVisual (  )  const [inherited]

Definition at line 126 of file GUIMainWindow.cpp.

References GUIMainWindow::myGLVisual.

Referenced by GUISUMOViewParent::init().

00126                                  {
00127     return myGLVisual;
00128 }

void GUIApplicationWindow::handleEvent_Message ( GUIEvent e  ) 

Definition at line 873 of file GUIApplicationWindow.cpp.

References GUIMessageWindow::appendText(), GUIEvent_Message::getMsg(), GUIEvent::getOwnType(), and myMessageWindow.

Referenced by eventOccured().

00873                                                      {
00874     GUIEvent_Message *ec = static_cast<GUIEvent_Message*>(e);
00875     myMessageWindow->appendText(ec->getOwnType(), ec->getMsg());
00876 }

void GUIApplicationWindow::handleEvent_SimulationEnded ( GUIEvent e  ) 

Definition at line 880 of file GUIApplicationWindow.cpp.

References closeAllWindows(), GUIEvent_SimulationEnded::getReason(), MSNet::getStateMessage(), GUIEvent_SimulationEnded::getTimeStep(), gQuitOnEnd, onCmdStop(), and MSNet::SIMSTATE_ERROR_IN_SIM.

Referenced by eventOccured().

00880                                                              {
00881     GUIEvent_SimulationEnded *ec = static_cast<GUIEvent_SimulationEnded*>(e);
00882     if (!gQuitOnEnd) {
00883         // build the text
00884         std::stringstream text;
00885         text << "The simulation has ended at time step " << ec->getTimeStep() << ".\n";
00886         MSNet::SimulationState state = ec->getReason();
00887         text << "Reason: " << MSNet::getStateMessage(state);
00888         onCmdStop(0, 0, 0);
00889         FXMessageBox::warning(this, MBOX_OK, "Simulation Ended", text.str().c_str());
00890     } else {
00891         onCmdStop(0, 0, 0);
00892     }
00893     if (gQuitOnEnd) {
00894         closeAllWindows();
00895         getApp()->exit(ec->getReason() == MSNet::SIMSTATE_ERROR_IN_SIM);
00896     }
00897 }

void GUIApplicationWindow::handleEvent_SimulationLoaded ( GUIEvent e  ) 

Definition at line 816 of file GUIApplicationWindow.cpp.

References GUISUMOAbstractView::addDecals(), GUISettingsHandler::addSettings(), closeAllWindows(), MSNet::getCurrentTimeStep(), GUISettingsHandler::getDecals(), GUISettingsHandler::getDelay(), MFXUtils::getTitleText(), gQuitOnEnd, GUIRunThread::init(), GUITexturesHelper::init(), myAmLoading, GUIEvent_SimulationLoaded::myBegin, GUIEvent_SimulationLoaded::myEnd, GUIEvent_SimulationLoaded::myFile, myLCDLabel, GUIEvent_SimulationLoaded::myNet, GUIMainWindow::myRunAtBegin, myRunThread, GUIEvent_SimulationLoaded::mySettingsFile, mySimDelayTarget, myViewNumber, myWasStarted, onCmdStart(), openNewView(), GUISettingsHandler::setSnapshots(), setStatusBarText(), FXEX::FXLCDLabel::setText(), FX::FXRealSpinDial::setValue(), GUISettingsHandler::setViewport(), GUIRunThread::simulationIsStartable(), and time2string().

Referenced by eventOccured().

00816                                                               {
00817     GUITexturesHelper::init(getApp());
00818     myAmLoading = false;
00819     GUIEvent_SimulationLoaded *ec = static_cast<GUIEvent_SimulationLoaded*>(e);
00820     // check whether the loading was successfull
00821     if (ec->myNet==0) {
00822         // report failure
00823         setStatusBarText("Loading of '" + ec->myFile + "' failed!");
00824         if (gQuitOnEnd) {
00825             closeAllWindows();
00826             getApp()->exit(1);
00827         }
00828     } else {
00829         // report success
00830         setStatusBarText("'" + ec->myFile + "' loaded.");
00831         // initialise simulation thread
00832         myRunThread->init(ec->myNet, ec->myBegin, ec->myEnd);
00833         myWasStarted = false;
00834         // initialise views
00835         myViewNumber = 0;
00836         GUISUMOAbstractView* view = openNewView();
00837         if (view && ec->mySettingsFile != "") {
00838             GUISettingsHandler settings(ec->mySettingsFile);
00839             std::string settingsName = settings.addSettings(view);
00840             view->addDecals(settings.getDecals());
00841             settings.setViewport(view);
00842             settings.setSnapshots(view);
00843             if (settings.getDelay() > 0) {
00844                 mySimDelayTarget->setValue(settings.getDelay());
00845             }
00846         }
00847         // set simulation name on the caption
00848         std::string caption = "SUMO " + std::string(VERSION_STRING);
00849         setTitle(MFXUtils::getTitleText(caption.c_str(), ec->myFile.c_str()));
00850         // set simulation step begin information
00851         std::string t = time2string(ec->myNet->getCurrentTimeStep());
00852         myLCDLabel->setText(t.substr(0, t.length()-3).c_str());
00853     }
00854     getApp()->endWaitCursor();
00855     // start if wished
00856     if (myRunAtBegin&&ec->myNet!=0&&myRunThread->simulationIsStartable()) {
00857         onCmdStart(0, 0, 0);
00858     }
00859     update();
00860 }

void GUIApplicationWindow::handleEvent_SimulationStep ( GUIEvent e  ) 

Definition at line 864 of file GUIApplicationWindow.cpp.

References MSNet::getCurrentTimeStep(), GUIRunThread::getNet(), myLCDLabel, myRunThread, FXEX::FXLCDLabel::setText(), time2string(), and GUIMainWindow::updateChildren().

Referenced by eventOccured().

00864                                                            {
00865     updateChildren();
00866     std::string t = time2string(myRunThread->getNet().getCurrentTimeStep());
00867     myLCDLabel->setText(t.substr(0, t.length()-3).c_str());
00868     update();
00869 }

bool GUIMainWindow::isGaming (  )  const throw () [inherited]

Definition at line 144 of file GUIMainWindow.cpp.

References GUIMainWindow::myAmGaming.

Referenced by GUISUMOAbstractView::onLeftBtnRelease().

00144                                       {
00145     return myAmGaming;
00146 }

void GUIApplicationWindow::load ( const std::string &  file,
bool  isNet,
bool  isReload = false 
) [private]

starts to load a simulation

Definition at line 902 of file GUIApplicationWindow.cpp.

References closeAllWindows(), gSchemeStorage, GUILoadThread::load(), myAmLoading, myLoadThread, GUICompleteSchemeStorage::saveViewport(), and setStatusBarText().

Referenced by loadOnStartup(), onCmdOpenConfiguration(), onCmdOpenNetwork(), onCmdOpenRecent(), and onCmdReload().

00902                                                                            {
00903     getApp()->beginWaitCursor();
00904     myAmLoading = true;
00905     closeAllWindows();
00906     if (isReload) {
00907         myLoadThread->start();
00908         setStatusBarText("Reloading.");
00909     } else {
00910         gSchemeStorage.saveViewport(0, 0, 100);
00911         myLoadThread->load(file, isNet);
00912         setStatusBarText("Loading '" + file + "'.");
00913     }
00914     update();
00915 }

void GUIApplicationWindow::loadOnStartup ( const std::string &  config,
bool  run 
)

Definition at line 1004 of file GUIApplicationWindow.cpp.

References load(), and GUIMainWindow::myRunAtBegin.

Referenced by main().

01004                                                                      {
01005     myRunAtBegin = run;
01006     load(config, false);
01007 }

bool GUIApplicationWindow::loadSelection ( const std::string &  file,
std::string &  msg 
) throw () [virtual]

Loads a selection from a given file.

Parameters:
[in] file The file to load the selection from
[out] msg The error message
Returns:
Whether the selection could be loaded (fills the error message if not)
See also:
GUIMainWindow::loadSelection

Implements GUIMainWindow.

Definition at line 1043 of file GUIApplicationWindow.cpp.

References GUISelectionLoader::loadSelection().

01043                                                                                  {
01044     return GUISelectionLoader::loadSelection(file, msg);
01045 }

long GUIApplicationWindow::onCmdAbout ( FXObject ,
FXSelector  ,
void *   
)

Shows the about dialog.

Definition at line 760 of file GUIApplicationWindow.cpp.

References GUIDialog_AboutSUMO::create().

00760                                                            {
00761     GUIDialog_AboutSUMO *about =
00762         new GUIDialog_AboutSUMO(this, "About SUMO", 0, 0);
00763     about->create();
00764     about->show(PLACEMENT_OWNER);
00765     return 1;
00766 }

long GUIApplicationWindow::onCmdAppSettings ( FXObject ,
FXSelector  ,
void *   
)

Opens the application settings menu.

Definition at line 734 of file GUIApplicationWindow.cpp.

00734                                                                  {
00735     GUIDialog_AppSettings *d = new GUIDialog_AppSettings(this);
00736     d->create();
00737     d->show(PLACEMENT_OWNER);
00738     return 1;
00739 }

long GUIApplicationWindow::onCmdClearMsgWindow ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 677 of file GUIApplicationWindow.cpp.

References GUIMessageWindow::clear(), and myMessageWindow.

00677                                                                     {
00678     myMessageWindow->clear();
00679     return 1;
00680 }

long GUIApplicationWindow::onCmdClose ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 591 of file GUIApplicationWindow.cpp.

References closeAllWindows().

00591                                                            {
00592     closeAllWindows();
00593     return 1;
00594 }

long GUIApplicationWindow::onCmdEditBreakpoints ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 522 of file GUIApplicationWindow.cpp.

00522                                                                      {
00523     GUIDialog_Breakpoints *chooser =
00524         new GUIDialog_Breakpoints(this);
00525     chooser->create();
00526     chooser->show();
00527     return 1;
00528 }

long GUIApplicationWindow::onCmdEditChosen ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 512 of file GUIApplicationWindow.cpp.

References gSelected.

00512                                                                 {
00513     GUIDialog_GLChosenEditor *chooser =
00514         new GUIDialog_GLChosenEditor(this, &gSelected);
00515     chooser->create();
00516     chooser->show();
00517     return 1;
00518 }

long GUIApplicationWindow::onCmdGaming ( FXObject ,
FXSelector  ,
void *   
)

Toggle gaming mode.

Definition at line 743 of file GUIApplicationWindow.cpp.

References GUIMainWindow::myAmGaming, mySimDelayTarget, and FX::FXRealSpinDial::setValue().

Referenced by dependentBuild().

00743                                                             {
00744     myAmGaming = !myAmGaming;
00745     if (myAmGaming) {
00746         mySimDelayTarget->setValue(1000);
00747     }
00748     return 1;
00749 }

long GUIApplicationWindow::onCmdNewView ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 753 of file GUIApplicationWindow.cpp.

References openNewView().

00753                                                              {
00754     openNewView();
00755     return 1;
00756 }

long GUIApplicationWindow::onCmdOpenConfiguration ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 532 of file GUIApplicationWindow.cpp.

References gCurrentFolder, GUIIconSubSys::getIcon(), ICON_EMPTY, load(), myConfigPattern, and myRecentConfigs.

00532                                                                        {
00533     // get the new file name
00534     FXFileDialog opendialog(this,"Open Simulation Configuration");
00535     opendialog.setIcon(GUIIconSubSys::getIcon(ICON_EMPTY));
00536     opendialog.setSelectMode(SELECTFILE_EXISTING);
00537     opendialog.setPatternList(myConfigPattern.c_str());
00538     if (gCurrentFolder.length()!=0) {
00539         opendialog.setDirectory(gCurrentFolder);
00540     }
00541     if (opendialog.execute()) {
00542         gCurrentFolder = opendialog.getDirectory();
00543         std::string file = opendialog.getFilename().text();
00544         load(file, false);
00545         myRecentConfigs.appendFile(file.c_str());
00546     }
00547     return 1;
00548 }

long GUIApplicationWindow::onCmdOpenNetwork ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 552 of file GUIApplicationWindow.cpp.

References gCurrentFolder, GUIIconSubSys::getIcon(), ICON_EMPTY, load(), and myRecentNets.

00552                                                                  {
00553     // get the new file name
00554     FXFileDialog opendialog(this,"Open Network");
00555     opendialog.setIcon(GUIIconSubSys::getIcon(ICON_EMPTY));
00556     opendialog.setSelectMode(SELECTFILE_EXISTING);
00557     opendialog.setPatternList("SUMO nets (*.net.xml)\nAll files (*)");
00558     if (gCurrentFolder.length()!=0) {
00559         opendialog.setDirectory(gCurrentFolder);
00560     }
00561     if (opendialog.execute()) {
00562         gCurrentFolder = opendialog.getDirectory();
00563         std::string file = opendialog.getFilename().text();
00564         load(file, true);
00565         myRecentNets.appendFile(file.c_str());
00566     }
00567     return 1;
00568 }

long GUIApplicationWindow::onCmdOpenRecent ( FXObject sender,
FXSelector  ,
void *  data 
)

Definition at line 579 of file GUIApplicationWindow.cpp.

References load(), myAmLoading, myRecentNets, and GUIMainWindow::myStatusbar.

00579                                                                            {
00580     if (myAmLoading) {
00581         myStatusbar->getStatusLine()->setText("Already loading!");
00582         return 1;
00583     }
00584     std::string file((const char*)data);
00585     load(file, sender == &myRecentNets);
00586     return 1;
00587 }

long GUIApplicationWindow::onCmdQuit ( FXObject ,
FXSelector  ,
void *   
)

Called by FOX if the application shall be closed Called either by FileMenu->Quit, the normal close-menu or SIGINT.

Definition at line 495 of file GUIApplicationWindow.cpp.

References gCurrentFolder.

00495                                                           {
00496     getApp()->reg().writeIntEntry("SETTINGS", "x", getX());
00497     getApp()->reg().writeIntEntry("SETTINGS", "y", getY());
00498     getApp()->reg().writeIntEntry("SETTINGS", "width", getWidth());
00499     getApp()->reg().writeIntEntry("SETTINGS", "height", getHeight());
00500     getApp()->reg().writeStringEntry("SETTINGS", "basedir", gCurrentFolder.text());
00501     if (isMaximized()) {
00502         getApp()->reg().writeIntEntry("SETTINGS", "maximized", 1);
00503     } else {
00504         getApp()->reg().writeIntEntry("SETTINGS", "maximized", 0);
00505     }
00506     getApp()->exit(0);
00507     return 1;
00508 }

long GUIApplicationWindow::onCmdReload ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 572 of file GUIApplicationWindow.cpp.

References load().

00572                                                             {
00573     load("", false, true);
00574     return 1;
00575 }

long GUIApplicationWindow::onCmdStart ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 636 of file GUIApplicationWindow.cpp.

References GUIRunThread::begin(), myRunThread, GUIMainWindow::myStatusbar, myWasStarted, GUIRunThread::resume(), and GUIRunThread::simulationAvailable().

Referenced by handleEvent_SimulationLoaded().

00636                                                            {
00637     // check whether a net was loaded successfully
00638     if (!myRunThread->simulationAvailable()) {
00639         myStatusbar->getStatusLine()->setText("No simulation loaded!");
00640         return 1;
00641     }
00642     // check whether it was started before and paused;
00643     if (!myWasStarted) {
00644         myRunThread->begin();
00645         myWasStarted = true;
00646     }
00647     myRunThread->resume();
00648     return 1;
00649 }

long GUIApplicationWindow::onCmdStep ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 660 of file GUIApplicationWindow.cpp.

References GUIRunThread::begin(), myRunThread, GUIMainWindow::myStatusbar, myWasStarted, GUIRunThread::simulationAvailable(), and GUIRunThread::singleStep().

00660                                                           {
00661     // check whether a net was loaded successfully
00662     if (!myRunThread->simulationAvailable()) {
00663         myStatusbar->getStatusLine()->setText("No simulation loaded!");
00664         return 1;
00665     }
00666     // check whether it was started before and paused;
00667     if (!myWasStarted) {
00668         myRunThread->begin();
00669         myWasStarted = true;
00670     }
00671     myRunThread->singleStep();
00672     return 1;
00673 }

long GUIApplicationWindow::onCmdStop ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 653 of file GUIApplicationWindow.cpp.

References myRunThread, and GUIRunThread::stop().

Referenced by handleEvent_SimulationEnded().

00653                                                           {
00654     myRunThread->stop();
00655     return 1;
00656 }

long GUIApplicationWindow::onLoadThreadEvent ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 770 of file GUIApplicationWindow.cpp.

References eventOccured().

00770                                                                     {
00771     eventOccured();
00772     return 1;
00773 }

long GUIApplicationWindow::onRunThreadEvent ( FXObject ,
FXSelector  ,
void *   
)

Definition at line 777 of file GUIApplicationWindow.cpp.

References eventOccured().

00777                                                                    {
00778     eventOccured();
00779     return 1;
00780 }

long GUIApplicationWindow::onUpdAddMicro ( FXObject sender,
FXSelector  ,
void *  ptr 
)

Definition at line 626 of file GUIApplicationWindow.cpp.

References myAmLoading, myRunThread, and GUIRunThread::simulationAvailable().

00626                                                                        {
00627     sender->handle(this,
00628                    myAmLoading||!myRunThread->simulationAvailable()
00629                    ? FXSEL(SEL_COMMAND,ID_DISABLE) : FXSEL(SEL_COMMAND,ID_ENABLE),
00630                    ptr);
00631     return 1;
00632 }

long GUIApplicationWindow::onUpdEditBreakpoints ( FXObject sender,
FXSelector  ,
void *  ptr 
) [virtual]

Definition at line 724 of file GUIApplicationWindow.cpp.

References myAmLoading, myRunThread, and GUIRunThread::simulationAvailable().

00724                                                                                 {
00725     sender->handle(this,
00726                    !myRunThread->simulationAvailable()||myAmLoading
00727                    ? FXSEL(SEL_COMMAND,ID_DISABLE) : FXSEL(SEL_COMMAND,ID_ENABLE),
00728                    ptr);
00729     return 1;
00730 }

long GUIApplicationWindow::onUpdEditChosen ( FXObject sender,
FXSelector  ,
void *  ptr 
)

Definition at line 714 of file GUIApplicationWindow.cpp.

References myAmLoading, myRunThread, and GUIRunThread::simulationAvailable().

00714                                                                          {
00715     sender->handle(this,
00716                    !myRunThread->simulationAvailable()||myAmLoading
00717                    ? FXSEL(SEL_COMMAND,ID_DISABLE) : FXSEL(SEL_COMMAND,ID_ENABLE),
00718                    ptr);
00719     return 1;
00720 }

long GUIApplicationWindow::onUpdOpen ( FXObject sender,
FXSelector  ,
void *  ptr 
)

Definition at line 598 of file GUIApplicationWindow.cpp.

References myAmLoading.

00598                                                                    {
00599     sender->handle(this,
00600                    myAmLoading?FXSEL(SEL_COMMAND,ID_DISABLE):FXSEL(SEL_COMMAND,ID_ENABLE),
00601                    ptr);
00602     return 1;
00603 }

long GUIApplicationWindow::onUpdOpenRecent ( FXObject sender,
FXSelector  ,
void *  ptr 
)

Definition at line 617 of file GUIApplicationWindow.cpp.

References myAmLoading.

00617                                                                          {
00618     sender->handle(this,
00619                    myAmLoading?FXSEL(SEL_COMMAND,ID_DISABLE):FXSEL(SEL_COMMAND,ID_ENABLE),
00620                    ptr);
00621     return 1;
00622 }

long GUIApplicationWindow::onUpdReload ( FXObject sender,
FXSelector  ,
void *  ptr 
)

Definition at line 607 of file GUIApplicationWindow.cpp.

References GUILoadThread::getFileName(), myAmLoading, and myLoadThread.

00607                                                                      {
00608     sender->handle(this,
00609                    myAmLoading||myLoadThread->getFileName()==""
00610                    ? FXSEL(SEL_COMMAND,ID_DISABLE) : FXSEL(SEL_COMMAND,ID_ENABLE),
00611                    ptr);
00612     return 1;
00613 }

long GUIApplicationWindow::onUpdStart ( FXObject sender,
FXSelector  ,
void *  ptr 
) [virtual]

Definition at line 684 of file GUIApplicationWindow.cpp.

References myAmLoading, myRunThread, and GUIRunThread::simulationIsStartable().

00684                                                                     {
00685     sender->handle(this,
00686                    !myRunThread->simulationIsStartable()||myAmLoading
00687                    ? FXSEL(SEL_COMMAND,ID_DISABLE) : FXSEL(SEL_COMMAND,ID_ENABLE),
00688                    ptr);
00689     return 1;
00690 }

long GUIApplicationWindow::onUpdStep ( FXObject sender,
FXSelector  ,
void *  ptr 
)

Definition at line 704 of file GUIApplicationWindow.cpp.

References myAmLoading, myRunThread, and GUIRunThread::simulationIsStepable().

00704                                                                    {
00705     sender->handle(this,
00706                    !myRunThread->simulationIsStepable()||myAmLoading
00707                    ? FXSEL(SEL_COMMAND,ID_DISABLE) : FXSEL(SEL_COMMAND,ID_ENABLE),
00708                    ptr);
00709     return 1;
00710 }

long GUIApplicationWindow::onUpdStop ( FXObject sender,
FXSelector  ,
void *  ptr 
)

Definition at line 694 of file GUIApplicationWindow.cpp.

References myAmLoading, myRunThread, and GUIRunThread::simulationIsStopable().

00694                                                                    {
00695     sender->handle(this,
00696                    !myRunThread->simulationIsStopable()||myAmLoading
00697                    ? FXSEL(SEL_COMMAND,ID_DISABLE) : FXSEL(SEL_COMMAND,ID_ENABLE),
00698                    ptr);
00699     return 1;
00700 }

GUISUMOAbstractView * GUIApplicationWindow::openNewView (  )  [private]

opens a new simulation display

Definition at line 920 of file GUIApplicationWindow.cpp.

References GUIGlChildWindow::create(), getBuildGLCanvas(), GUIIconSubSys::getIcon(), GUIRunThread::getNet(), ICON_APP, GUISUMOViewParent::init(), GUIMainWindow::myMDIClient, myMDIMenu, myRunThread, GUIMainWindow::myStatusbar, myViewNumber, GUIRunThread::simulationAvailable(), and toString().

Referenced by handleEvent_SimulationLoaded(), and onCmdNewView().

00920                                   {
00921     if (!myRunThread->simulationAvailable()) {
00922         myStatusbar->getStatusLine()->setText("No simulation loaded!");
00923         return 0;
00924     }
00925     std::string caption = "View #" + toString(myViewNumber++);
00926     FXuint opts = MDI_TRACKING;
00927     GUISUMOViewParent* w = new GUISUMOViewParent(myMDIClient,
00928             myMDIMenu, FXString(caption.c_str()),
00929             this, GUIIconSubSys::getIcon(ICON_APP),
00930             opts, 10, 10, 300, 200);
00931     GUISUMOAbstractView* v = w->init(getBuildGLCanvas(), myRunThread->getNet());
00932     w->create();
00933     if (myMDIClient->numChildren()==1) {
00934         w->maximize();
00935     } else {
00936         myMDIClient->vertical(true);
00937     }
00938     myMDIClient->setActiveChild(w);
00939     return v;
00940 }

void GUIMainWindow::removeChild ( FXMainWindow child  )  [inherited]

Definition at line 97 of file GUIMainWindow.cpp.

References MFXMutex::lock(), GUIMainWindow::myTrackerLock, GUIMainWindow::myTrackerWindows, and MFXMutex::unlock().

00097                                               {
00098     myTrackerLock.lock();
00099     std::vector<FXMainWindow*>::iterator i =
00100         std::find(myTrackerWindows.begin(), myTrackerWindows.end(), child);
00101     myTrackerWindows.erase(i);
00102     myTrackerLock.unlock();
00103 }

void GUIMainWindow::removeChild ( FXMDIChild child  )  [inherited]

void GUIApplicationWindow::setStatusBarText ( const std::string &  text  )  [virtual]

Reimplemented from GUIMainWindow.

Definition at line 1036 of file GUIApplicationWindow.cpp.

References GUIMainWindow::myStatusbar.

Referenced by handleEvent_SimulationLoaded(), and load().

01036                                                             {
01037     myStatusbar->getStatusLine()->setText(text.c_str());
01038     myStatusbar->getStatusLine()->setNormalText(text.c_str());
01039 }

void GUIMainWindow::updateChildren (  )  [inherited]


Field Documentation

Definition at line 269 of file GUIApplicationWindow.h.

Referenced by dependentBuild().

bool GUIMainWindow::myAmGaming [protected, inherited]

information whether the gui is currently in gaming mode

Definition at line 108 of file GUIMainWindow.h.

Referenced by GUIMainWindow::isGaming(), and onCmdGaming().

information whether the gui is currently loading and the load-options shall be greyed out

Definition at line 216 of file GUIApplicationWindow.h.

Referenced by handleEvent_SimulationLoaded(), load(), onCmdOpenRecent(), onUpdAddMicro(), onUpdEditBreakpoints(), onUpdEditChosen(), onUpdOpen(), onUpdOpenRecent(), onUpdReload(), onUpdStart(), onUpdStep(), and onUpdStop().

FXFont* GUIMainWindow::myBoldFont [protected, inherited]

Font used for popup-menu titles.

Definition at line 87 of file GUIMainWindow.h.

Referenced by GUIMainWindow::getBoldFont(), GUIMainWindow::GUIMainWindow(), and GUIMainWindow::~GUIMainWindow().

FXDockSite * GUIMainWindow::myBottomDock [protected, inherited]

Definition at line 103 of file GUIMainWindow.h.

Referenced by GUIMainWindow::GUIMainWindow(), and GUIMainWindow::~GUIMainWindow().

Labels for the current cartesian and geo-coordinate.

Definition at line 96 of file GUIMainWindow.h.

Referenced by closeAllWindows(), dependentBuild(), and GUIMainWindow::getCartesianLabel().

Definition at line 97 of file GUIMainWindow.h.

Referenced by create(), and dependentBuild().

std::string GUIApplicationWindow::myConfigPattern [protected]

Input file pattern.

Definition at line 267 of file GUIApplicationWindow.h.

Referenced by onCmdOpenConfiguration().

Definition at line 219 of file GUIApplicationWindow.h.

Referenced by create(), fillMenuBar(), and ~GUIApplicationWindow().

List of got requests.

Definition at line 240 of file GUIApplicationWindow.h.

Referenced by dependentBuild(), eventOccured(), and ~GUIApplicationWindow().

the submenus

Definition at line 219 of file GUIApplicationWindow.h.

Referenced by create(), fillMenuBar(), and ~GUIApplicationWindow().

FXLabel * GUIMainWindow::myGeoCoordinate [protected, inherited]

Definition at line 96 of file GUIMainWindow.h.

Referenced by closeAllWindows(), dependentBuild(), and GUIMainWindow::getGeoLabel().

FXHorizontalFrame * GUIMainWindow::myGeoFrame [protected, inherited]

Definition at line 97 of file GUIMainWindow.h.

Referenced by create(), and dependentBuild().

FXGLVisual* GUIMainWindow::myGLVisual [protected, inherited]

The gl-visual used.

Definition at line 101 of file GUIMainWindow.h.

Referenced by GUIMainWindow::getGLVisual(), and ~GUIApplicationWindow().

Definition at line 219 of file GUIApplicationWindow.h.

Referenced by create(), fillMenuBar(), and ~GUIApplicationWindow().

the simulation step display

Definition at line 252 of file GUIApplicationWindow.h.

Referenced by buildToolBars(), closeAllWindows(), handleEvent_SimulationLoaded(), and handleEvent_SimulationStep().

FXDockSite * GUIMainWindow::myLeftDock [protected, inherited]

Definition at line 103 of file GUIMainWindow.h.

Referenced by GUIMainWindow::GUIMainWindow(), and GUIMainWindow::~GUIMainWindow().

the thread that loads simulations

Definition at line 204 of file GUIApplicationWindow.h.

Referenced by dependentBuild(), load(), onUpdReload(), and ~GUIApplicationWindow().

io-event with the load-thread

Definition at line 255 of file GUIApplicationWindow.h.

Referenced by dependentBuild().

FXSplitter* GUIApplicationWindow::myMainSplitter [protected]

The splitter that divides the main window into vies and the log window.

Definition at line 226 of file GUIApplicationWindow.h.

Referenced by dependentBuild().

FXMDIClient* GUIMainWindow::myMDIClient [protected, inherited]

The multi view panel.

Definition at line 90 of file GUIMainWindow.h.

Referenced by dependentBuild(), fillMenuBar(), getBuildGLCanvas(), openNewView(), and GUIMainWindow::updateChildren().

FXMDIMenu* GUIApplicationWindow::myMDIMenu [protected]

The menu used for the MDI-windows.

Definition at line 243 of file GUIApplicationWindow.h.

Referenced by dependentBuild(), and openNewView().

FXMenuBar* GUIApplicationWindow::myMenuBar [protected]

The application menu bar.

Definition at line 246 of file GUIApplicationWindow.h.

Referenced by dependentBuild(), and fillMenuBar().

FXToolBarShell * GUIApplicationWindow::myMenuBarDrag [protected]

Definition at line 229 of file GUIApplicationWindow.h.

Referenced by create(), dependentBuild(), and detach().

A window to display messages, warnings and error in.

Definition at line 223 of file GUIApplicationWindow.h.

Referenced by closeAllWindows(), dependentBuild(), fillMenuBar(), handleEvent_Message(), and onCmdClearMsgWindow().

std::string GUIApplicationWindow::myName [protected]

the name of the simulation

Definition at line 201 of file GUIApplicationWindow.h.

FXRecentFiles GUIApplicationWindow::myRecentConfigs [protected]

List of recent config files.

Definition at line 261 of file GUIApplicationWindow.h.

Referenced by fillMenuBar(), and onCmdOpenConfiguration().

FXRecentFiles GUIApplicationWindow::myRecentNets [protected]

List of recent nets.

Definition at line 264 of file GUIApplicationWindow.h.

Referenced by fillMenuBar(), onCmdOpenNetwork(), and onCmdOpenRecent().

FXDockSite * GUIMainWindow::myRightDock [protected, inherited]

Definition at line 103 of file GUIMainWindow.h.

Referenced by GUIMainWindow::GUIMainWindow(), and GUIMainWindow::~GUIMainWindow().

bool GUIMainWindow::myRunAtBegin [protected, inherited]

Definition at line 105 of file GUIMainWindow.h.

Referenced by handleEvent_SimulationLoaded(), and loadOnStartup().

io-event with the run-thread

Definition at line 258 of file GUIApplicationWindow.h.

Referenced by dependentBuild().

Definition at line 219 of file GUIApplicationWindow.h.

Referenced by create(), fillMenuBar(), and ~GUIApplicationWindow().

FXdouble GUIApplicationWindow::mySimDelay [protected]

The simulation delay.

Definition at line 237 of file GUIApplicationWindow.h.

FXStatusBar* GUIMainWindow::myStatusbar [protected, inherited]

The status bar.

Definition at line 93 of file GUIMainWindow.h.

Referenced by dependentBuild(), fillMenuBar(), onCmdOpenRecent(), onCmdStart(), onCmdStep(), openNewView(), and setStatusBarText().

std::vector<FXMDIChild*> GUIMainWindow::mySubWindows [protected, inherited]

FXToolBar* GUIApplicationWindow::myToolBar1 [protected]

The application tool bar.

Definition at line 249 of file GUIApplicationWindow.h.

Referenced by buildToolBars().

FXToolBar * GUIApplicationWindow::myToolBar2 [protected]

Definition at line 249 of file GUIApplicationWindow.h.

Referenced by buildToolBars(), and eventOccured().

FXToolBar * GUIApplicationWindow::myToolBar3 [protected]

Definition at line 249 of file GUIApplicationWindow.h.

Referenced by buildToolBars(), eventOccured(), and fillMenuBar().

FXToolBar * GUIApplicationWindow::myToolBar4 [protected]

Definition at line 249 of file GUIApplicationWindow.h.

Referenced by buildToolBars(), and fillMenuBar().

FXToolBar * GUIApplicationWindow::myToolBar5 [protected]

Definition at line 249 of file GUIApplicationWindow.h.

Referenced by buildToolBars().

FXToolBarShell* GUIApplicationWindow::myToolBarDrag1 [protected]

for some menu detaching fun

Definition at line 229 of file GUIApplicationWindow.h.

Referenced by buildToolBars(), create(), detach(), and ~GUIApplicationWindow().

FXToolBarShell * GUIApplicationWindow::myToolBarDrag2 [protected]

Definition at line 229 of file GUIApplicationWindow.h.

Referenced by buildToolBars(), and create().

FXToolBarShell * GUIApplicationWindow::myToolBarDrag3 [protected]

Definition at line 229 of file GUIApplicationWindow.h.

Referenced by buildToolBars().

FXToolBarShell * GUIApplicationWindow::myToolBarDrag4 [protected]

Definition at line 229 of file GUIApplicationWindow.h.

Referenced by buildToolBars().

FXToolBarShell * GUIApplicationWindow::myToolBarDrag5 [protected]

Definition at line 229 of file GUIApplicationWindow.h.

Referenced by buildToolBars().

FXDockSite* GUIMainWindow::myTopDock [protected, inherited]

MFXMutex GUIMainWindow::myTrackerLock [protected, inherited]

A lock to make the removal and addition of trackers secure.

Definition at line 84 of file GUIMainWindow.h.

Referenced by GUIMainWindow::addChild(), closeAllWindows(), GUIMainWindow::removeChild(), and GUIMainWindow::updateChildren().

std::vector<FXMainWindow*> GUIMainWindow::myTrackerWindows [protected, inherited]

The current view number.

Definition at line 213 of file GUIApplicationWindow.h.

Referenced by handleEvent_SimulationLoaded(), and openNewView().

the information whether the simulation was started before

Definition at line 210 of file GUIApplicationWindow.h.

Referenced by handleEvent_SimulationLoaded(), onCmdStart(), and onCmdStep().

Definition at line 219 of file GUIApplicationWindow.h.

Referenced by create(), fillMenuBar(), and ~GUIApplicationWindow().


The documentation for this class was generated from the following files:

Generated on Wed May 5 00:06:41 2010 for Sumo - Simulation of Urban MObility by  doxygen 1.5.6