Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNEFileDialog Class Reference

#include <GNEFileDialog.h>

Inheritance diagram for GNEFileDialog:
[legend]
Collaboration diagram for GNEFileDialog:
[legend]

Public Types

enum class  ConfigType { SUMO , NETEDIT }
 config type More...
 
enum class  OpenMode { SAVE , LOAD_SINGLE , LOAD_MULTIPLE , LOAD_DIRECTORY }
 file open mode More...
 
basic dialog type
enum class  Buttons {
  OK , YES_NO , YES_NO_CANCEL , ACCEPT ,
  ACCEPT_CANCEL , ACCEPT_CANCEL_RESET , SAVE_DONTSAVE_CANCEL , RUN_CANCEL_RESET ,
  RUN_ADVANCED_CANCEL , RERUN_BACK_CLOSE , OK_COPY_REPORT
}
 
enum class  OpenType { MODAL , NON_MODAL }
 Open dialog type. More...
 

Public Member Functions

std::string getDirectory () const
 Return directory.
 
std::string getFilename () const
 Return file name, if any.
 
std::vector< std::string > getFilenames () const
 Return empty-string terminated list of selected file names, or NULL if none selected.
 
 GNEFileDialog (GNEApplicationWindow *applicationWindow, const std::string elementFile, const std::vector< std::string > &extensions, GNEFileDialog::OpenMode openMode, GNEFileDialog::ConfigType configType)
 constructor
 
void runInternalTest (const InternalTestStep::DialogArgument *dialogArgument)
 run internal test
 
 ~GNEFileDialog ()
 destructor
 
FOX-callbacks
long onCmdAccept (FXObject *, FXSelector, void *)
 called when accept or yes button is pressed (can be reimplemented in children)
 
FOX-callbacks
virtual long onCmdCancel (FXObject *, FXSelector, void *)
 called when cancel or no button is pressed (can be reimplemented in children)
 
virtual long onCmdAbort (FXObject *, FXSelector, void *)
 called when abort is called either closing dialog or pressing abort button (can be reimplemented in children)
 
virtual long onCmdReset (FXObject *, FXSelector, void *)
 called when reset button is pressed (must be reimplemented in children depending of Buttons)
 
virtual long onCmdRun (FXObject *, FXSelector, void *)
 called when run button is pressed (must be reimplemented in children depending of Buttons)
 
virtual long onCmdBack (FXObject *, FXSelector, void *)
 called when back button is pressed (must be reimplemented in children depending of Buttons)
 
virtual long onCmdAdvanced (FXObject *, FXSelector, void *)
 called when advanced button is pressed (must be reimplemented in children depending of Buttons)
 
virtual long onCmdCopy (FXObject *, FXSelector, void *)
 called when copy button is pressed (must be reimplemented in children depending of Buttons)
 
virtual long onCmdReport (FXObject *, FXSelector, void *)
 called when report button is pressed (must be reimplemented in children depending of Buttons)
 
long onKeyPress (FXObject *obj, FXSelector sel, void *ptr)
 called when user presses a key on the dialog
 
long onKeyRelease (FXObject *obj, FXSelector sel, void *ptr)
 called when user releases a key on the dialog
 

Protected Member Functions

long closeDialogAborting ()
 close dialog aborting the changes
 
long closeDialogAccepting ()
 close dialog accepting the changes
 
long closeDialogCanceling ()
 close dialog declining the changes
 
void openDialog (FXWindow *focusableElement=nullptr)
 open dialog
 
void updateIcon (GUIIcon newIcon)
 update icon
 
void updateTitle (const std::string &newTitle)
 update title
 

Protected Attributes

FXButton * myAbortButton = nullptr
 abort button
 
FXButton * myAcceptButton = nullptr
 accept button
 
FXButton * myAdvancedButton = nullptr
 advanced button
 
GNEApplicationWindowmyApplicationWindow = nullptr
 FOX needs this.
 
FXButton * myBackButton = nullptr
 back button
 
FXButton * myCancelButton = nullptr
 cancel button
 
FXVerticalFrame * myContentFrame = nullptr
 content frame
 
FXButton * myCopyButton = nullptr
 copy button
 
GNEFileSelectormyFileSelector
 the file selector widget
 
FXButton * myReportButton = nullptr
 report button
 
FXButton * myResetButton = nullptr
 reset button
 
Result myResult = Result::CANCEL
 result to indicate if this dialog was closed accepting or rejecting changes
 
FXButton * myRunButton = nullptr
 run button
 
DialogType myType = DialogType::DEFAULT
 dialog type
 

Private Member Functions

std::string assureExtension (const std::string &filename) const
 check extensions
 
void buildDialog (GUIIcon titleIcon, Buttons buttons)
 build dialog
 
 GNEFileDialog (const GNEFileDialog &)=delete
 invalidate copy constructor
 
GNEFileDialogoperator= (const GNEFileDialog &)=delete
 invalidate assignment operator
 

Private Attributes

FXButton * myFocusButton = nullptr
 focus button, used for focusing the default button when dialog is opened
 
OpenType myOpenType
 open type
 
bool myTesting = false
 flag to indicate if this dialog is being tested using internal test
 

Resize mode

enum class  ResizeMode { STATIC , RESIZABLE }
 
enum class  Result {
  ACCEPT , CANCEL , ABORT , ACCEPT_ALL ,
  CANCEL_ALL
}
 list of possible results when closing the dialog More...
 
Result getResult () const
 get result to indicate if this dialog was closed accepting or rejecting changes
 
GNEApplicationWindowgetApplicationWindow () const
 get pointer to the application window
 
FXVerticalFrame * getContentFrame () const
 get content frame
 

Detailed Description

Definition at line 35 of file GNEFileDialog.h.

Member Enumeration Documentation

◆ Buttons

enum class GNEDialog::Buttons
stronginherited
Enumerator
OK 
YES_NO 
YES_NO_CANCEL 
ACCEPT 
ACCEPT_CANCEL 
ACCEPT_CANCEL_RESET 
SAVE_DONTSAVE_CANCEL 
RUN_CANCEL_RESET 
RUN_ADVANCED_CANCEL 
RERUN_BACK_CLOSE 
OK_COPY_REPORT 

Definition at line 43 of file GNEDialog.h.

◆ ConfigType

config type

Enumerator
SUMO 
NETEDIT 

Definition at line 47 of file GNEFileDialog.h.

◆ OpenMode

file open mode

Enumerator
SAVE 
LOAD_SINGLE 
LOAD_MULTIPLE 
LOAD_DIRECTORY 

Definition at line 39 of file GNEFileDialog.h.

◆ OpenType

enum class GNEDialog::OpenType
stronginherited

Open dialog type.

Enumerator
MODAL 
NON_MODAL 

Definition at line 58 of file GNEDialog.h.

◆ ResizeMode

enum class GNEDialog::ResizeMode
stronginherited
Enumerator
STATIC 
RESIZABLE 

Definition at line 64 of file GNEDialog.h.

◆ Result

enum class GNEDialog::Result
stronginherited

list of possible results when closing the dialog

Enumerator
ACCEPT 
CANCEL 
ABORT 
ACCEPT_ALL 
CANCEL_ALL 

Definition at line 70 of file GNEDialog.h.

Constructor & Destructor Documentation

◆ GNEFileDialog() [1/2]

◆ ~GNEFileDialog()

GNEFileDialog::~GNEFileDialog ( )

◆ GNEFileDialog() [2/2]

GNEFileDialog::GNEFileDialog ( const GNEFileDialog )
privatedelete

invalidate copy constructor

Member Function Documentation

◆ assureExtension()

std::string GNEFileDialog::assureExtension ( const std::string &  filename) const
private

check extensions

Definition at line 112 of file GNEFileDialog.cpp.

References StringUtils::endsWith(), GNEFileSelector::getFileExtension(), and myFileSelector.

Referenced by getFilename(), and getFilenames().

Here is the caller graph for this function:

◆ buildDialog()

◆ closeDialogAborting()

long GNEDialog::closeDialogAborting ( )
protectedinherited

close dialog aborting the changes

Definition at line 281 of file GNEDialog.cpp.

References GNEDialog::ABORT, GNEDialog::MODAL, GNEDialog::myApplicationWindow, GNEDialog::myOpenType, GNEDialog::myResult, and GNEDialog::myTesting.

Referenced by GNEOverwriteElement::onCmdAbort(), GNETemplateElementDialog< T >::onCmdAbort(), GNEDialog::onCmdAbort(), and GNEDialog::onKeyPress().

Here is the caller graph for this function:

◆ closeDialogAccepting()

long GNEDialog::closeDialogAccepting ( )
protectedinherited

◆ closeDialogCanceling()

◆ getApplicationWindow()

◆ getContentFrame()

FXVerticalFrame * GNEDialog::getContentFrame ( ) const
inherited

get content frame

Definition at line 108 of file GNEDialog.cpp.

References GNEDialog::myContentFrame.

Referenced by GNEVClassesDialog::GNEVClassesDialog().

Here is the caller graph for this function:

◆ getDirectory()

std::string GNEFileDialog::getDirectory ( ) const

Return directory.

Definition at line 97 of file GNEFileDialog.cpp.

References GNEFileSelector::getDirectory(), and myFileSelector.

◆ getFilename()

std::string GNEFileDialog::getFilename ( ) const

Return file name, if any.

Definition at line 80 of file GNEFileDialog.cpp.

References assureExtension(), GNEFileSelector::getFilename(), and myFileSelector.

◆ getFilenames()

std::vector< std::string > GNEFileDialog::getFilenames ( ) const

Return empty-string terminated list of selected file names, or NULL if none selected.

Definition at line 86 of file GNEFileDialog.cpp.

References assureExtension(), GNEFileSelector::getFilenames(), and myFileSelector.

◆ getResult()

GNEDialog::Result GNEDialog::getResult ( ) const
inherited

get result to indicate if this dialog was closed accepting or rejecting changes

Definition at line 96 of file GNEDialog.cpp.

References GNEDialog::myResult.

Referenced by GNEDataHandler::checkDuplicatedDataSet(), GNEMeanDataHandler::checkDuplicatedMeanDataElement(), GNEAdditionalHandler::checkElement(), GNERouteHandler::checkElement(), and GNEDistributionFrame::DistributionValuesEditor::onCmdAddRow().

Here is the caller graph for this function:

◆ onCmdAbort()

long GNEDialog::onCmdAbort ( FXObject *  ,
FXSelector  ,
void *   
)
virtualinherited

called when abort is called either closing dialog or pressing abort button (can be reimplemented in children)

Reimplemented in GNEOverwriteElement, GNETemplateElementDialog< T >, GNETemplateElementDialog< elementDialogType >, GNETemplateElementDialog< GNEAdditional >, GNETemplateElementDialog< GNEAttributeCarrier >, GNETemplateElementDialog< GNEDemandElement >, GNERunDialog, GNERunNetgenerateDialog, and GNERunPythonToolDialog.

Definition at line 126 of file GNEDialog.cpp.

References GNEDialog::closeDialogAborting().

Referenced by FXDEFMAP(), and GNEDialog::openDialog().

Here is the caller graph for this function:

◆ onCmdAccept()

long GNEFileDialog::onCmdAccept ( FXObject *  ,
FXSelector  ,
void *   
)
virtual

called when accept or yes button is pressed (can be reimplemented in children)

Reimplemented from GNEDialog.

Definition at line 103 of file GNEFileDialog.cpp.

References GNEDialog::closeDialogAccepting(), gCurrentFolder, GNEFileSelector::getDirectory(), and myFileSelector.

Referenced by GNEFileSelector::onCmdAccept(), and GNEFileSelector::onCmdItemDoubleClicked().

Here is the caller graph for this function:

◆ onCmdAdvanced()

long GNEDialog::onCmdAdvanced ( FXObject *  ,
FXSelector  ,
void *   
)
virtualinherited

called when advanced button is pressed (must be reimplemented in children depending of Buttons)

Reimplemented in GNENetgenerateDialog.

Definition at line 150 of file GNEDialog.cpp.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdBack()

long GNEDialog::onCmdBack ( FXObject *  ,
FXSelector  ,
void *   
)
virtualinherited

called when back button is pressed (must be reimplemented in children depending of Buttons)

Reimplemented in GNERunNetgenerateDialog, GNERunPythonToolDialog, GNERunNetgenerateDialog, GNERunPythonToolDialog, and GNERunDialog.

Definition at line 144 of file GNEDialog.cpp.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdCancel()

long GNEDialog::onCmdCancel ( FXObject *  ,
FXSelector  ,
void *   
)
virtualinherited

called when cancel or no button is pressed (can be reimplemented in children)

Reimplemented in GNEOverwriteElement, GNETemplateElementDialog< T >, GNETemplateElementDialog< elementDialogType >, GNETemplateElementDialog< GNEAdditional >, GNETemplateElementDialog< GNEAttributeCarrier >, GNETemplateElementDialog< GNEDemandElement >, GNEFilePathDialog, GNESaveDialog, GNEVClassesDialog, GNENeteditOptionsDialog, GNENetgenerateOptionsDialog, GNESumoOptionsDialog, GNERunNetgenerateDialog, GNERunPythonToolDialog, and GNEGeometryPointDialog.

Definition at line 120 of file GNEDialog.cpp.

References GNEDialog::closeDialogCanceling().

Referenced by FXDEFMAP(), FXDEFMAP(), and GNEDialog::openDialog().

Here is the caller graph for this function:

◆ onCmdCopy()

long GNEDialog::onCmdCopy ( FXObject *  ,
FXSelector  ,
void *   
)
virtualinherited

called when copy button is pressed (must be reimplemented in children depending of Buttons)

Reimplemented in GNECrashDialog.

Definition at line 156 of file GNEDialog.cpp.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdReport()

long GNEDialog::onCmdReport ( FXObject *  ,
FXSelector  ,
void *   
)
virtualinherited

called when report button is pressed (must be reimplemented in children depending of Buttons)

Reimplemented in GNECrashDialog.

Definition at line 162 of file GNEDialog.cpp.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdReset()

long GNEDialog::onCmdReset ( FXObject *  ,
FXSelector  ,
void *   
)
virtualinherited

◆ onCmdRun()

long GNEDialog::onCmdRun ( FXObject *  ,
FXSelector  ,
void *   
)
virtualinherited

called when run button is pressed (must be reimplemented in children depending of Buttons)

Reimplemented in GNERunDialog, GNENetgenerateDialog, and GNEPythonToolDialog.

Definition at line 138 of file GNEDialog.cpp.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onKeyPress()

long GNEDialog::onKeyPress ( FXObject *  obj,
FXSelector  sel,
void *  ptr 
)
inherited

called when user presses a key on the dialog

Definition at line 168 of file GNEDialog.cpp.

References GNEDialog::closeDialogAborting(), GNEApplicationWindow::getInternalTest(), GNEDialog::myApplicationWindow, and GNEDialog::myTesting.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onKeyRelease()

long GNEDialog::onKeyRelease ( FXObject *  obj,
FXSelector  sel,
void *  ptr 
)
inherited

called when user releases a key on the dialog

Definition at line 184 of file GNEDialog.cpp.

References GNEApplicationWindow::getInternalTest(), GNEDialog::myApplicationWindow, and GNEDialog::myTesting.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ openDialog()

void GNEDialog::openDialog ( FXWindow *  focusableElement = nullptr)
protectedinherited

open dialog

Definition at line 194 of file GNEDialog.cpp.

References InternalTestStep::DialogArgument::ABORT, InternalTestStep::DialogArgument::ACCEPT, InternalTestStep::DialogArgument::CANCEL, InternalTestStep::DIALOG, GNEApplicationWindow::getInternalTest(), GNEDialog::MODAL, GNEDialog::myApplicationWindow, GNEDialog::myFocusButton, GNEDialog::myOpenType, GNEDialog::myTesting, GNEDialog::myType, GNEDialog::onCmdAbort(), GNEDialog::onCmdAccept(), GNEDialog::onCmdCancel(), GNEDialog::onCmdReset(), InternalTestStep::DialogArgument::RESET, GNEDialog::runInternalTest(), and InternalTest::setNextStep().

Referenced by GNEAboutDialog::GNEAboutDialog(), GNEAttributeCarrierDialog::GNEAttributeCarrierDialog(), GNEBasicDialog::GNEBasicDialog(), GNECalibratorDialog::GNECalibratorDialog(), GNEFileDialog(), GNEFilePathDialog::GNEFilePathDialog(), GNEFixAdditionalElementsDialog::GNEFixAdditionalElementsDialog(), GNEFixDemandElementsDialog::GNEFixDemandElementsDialog(), GNEFixNetworkElements::GNEFixNetworkElements(), GNEHelpAttributesDialog::GNEHelpAttributesDialog(), GNENeteditOptionsDialog::GNENeteditOptionsDialog(), GNENetgenerateOptionsDialog::GNENetgenerateOptionsDialog(), GNEOverwriteElement::GNEOverwriteElement(), GNEParametersDialog::GNEParametersDialog(), GNERerouterDialog::GNERerouterDialog(), GNERerouterIntervalDialog::GNERerouterIntervalDialog(), GNERunNetgenerateDialog::GNERunNetgenerateDialog(), GNERunPythonToolDialog::GNERunPythonToolDialog(), GNESaveDialog::GNESaveDialog(), GNESumoOptionsDialog::GNESumoOptionsDialog(), GNEVariableSpeedSignDialog::GNEVariableSpeedSignDialog(), GNEVClassesDialog::GNEVClassesDialog(), and GNEVehicleTypeDialog::GNEVehicleTypeDialog().

Here is the caller graph for this function:

◆ operator=()

GNEFileDialog & GNEFileDialog::operator= ( const GNEFileDialog )
privatedelete

invalidate assignment operator

◆ runInternalTest()

void GNEFileDialog::runInternalTest ( const InternalTestStep::DialogArgument dialogArgument)
virtual

◆ updateIcon()

void GNEDialog::updateIcon ( GUIIcon  newIcon)
protectedinherited

update icon

Definition at line 303 of file GNEDialog.cpp.

References GUIIconSubSys::getIcon().

Referenced by GNEFileDialog().

Here is the caller graph for this function:

◆ updateTitle()

void GNEDialog::updateTitle ( const std::string &  newTitle)
protectedinherited

update title

Definition at line 297 of file GNEDialog.cpp.

Referenced by GNEFileDialog().

Here is the caller graph for this function:

Field Documentation

◆ myAbortButton

FXButton* GNEDialog::myAbortButton = nullptr
protectedinherited

abort button

Definition at line 155 of file GNEDialog.h.

Referenced by GNEDialog::buildDialog().

◆ myAcceptButton

FXButton* GNEDialog::myAcceptButton = nullptr
protectedinherited

accept button

Definition at line 149 of file GNEDialog.h.

Referenced by GNEDialog::buildDialog(), GNEFileDialog(), and GNERunDialog::updateDialogButtons().

◆ myAdvancedButton

FXButton* GNEDialog::myAdvancedButton = nullptr
protectedinherited

advanced button

Definition at line 167 of file GNEDialog.h.

Referenced by GNEDialog::buildDialog(), and GNENetgenerateDialog::updateRunButtons().

◆ myApplicationWindow

◆ myBackButton

FXButton* GNEDialog::myBackButton = nullptr
protectedinherited

back button

Definition at line 164 of file GNEDialog.h.

Referenced by GNEDialog::buildDialog(), and GNERunDialog::updateDialogButtons().

◆ myCancelButton

FXButton* GNEDialog::myCancelButton = nullptr
protectedinherited

cancel button

Definition at line 152 of file GNEDialog.h.

Referenced by GNEDialog::buildDialog().

◆ myContentFrame

◆ myCopyButton

FXButton* GNEDialog::myCopyButton = nullptr
protectedinherited

copy button

Definition at line 170 of file GNEDialog.h.

Referenced by GNEDialog::buildDialog().

◆ myFileSelector

GNEFileSelector* GNEFileDialog::myFileSelector
protected

◆ myFocusButton

FXButton* GNEDialog::myFocusButton = nullptr
privateinherited

focus button, used for focusing the default button when dialog is opened

Definition at line 201 of file GNEDialog.h.

Referenced by GNEDialog::buildDialog(), and GNEDialog::openDialog().

◆ myOpenType

OpenType GNEDialog::myOpenType
privateinherited

◆ myReportButton

FXButton* GNEDialog::myReportButton = nullptr
protectedinherited

report button

Definition at line 173 of file GNEDialog.h.

Referenced by GNEDialog::buildDialog().

◆ myResetButton

FXButton* GNEDialog::myResetButton = nullptr
protectedinherited

reset button

Definition at line 158 of file GNEDialog.h.

Referenced by GNEDialog::buildDialog().

◆ myResult

Result GNEDialog::myResult = Result::CANCEL
protectedinherited

result to indicate if this dialog was closed accepting or rejecting changes

Definition at line 179 of file GNEDialog.h.

Referenced by GNEDialog::closeDialogAborting(), GNEDialog::closeDialogAccepting(), GNEDialog::closeDialogCanceling(), GNEDialog::getResult(), GNESaveDialog::onCmdAccept(), and GNESaveDialog::onCmdCancel().

◆ myRunButton

FXButton* GNEDialog::myRunButton = nullptr
protectedinherited

◆ myTesting

bool GNEDialog::myTesting = false
privateinherited

flag to indicate if this dialog is being tested using internal test

Definition at line 207 of file GNEDialog.h.

Referenced by GNEDialog::closeDialogAborting(), GNEDialog::closeDialogAccepting(), GNEDialog::closeDialogCanceling(), GNEDialog::onKeyPress(), GNEDialog::onKeyRelease(), and GNEDialog::openDialog().

◆ myType

DialogType GNEDialog::myType = DialogType::DEFAULT
protectedinherited

dialog type

Definition at line 176 of file GNEDialog.h.

Referenced by GNEDialog::openDialog().


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