Eclipse SUMO - Simulation of Urban MObility
GUIDialog_ChooserAbstract Class Reference

#include <GUIDialog_ChooserAbstract.h>

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

Public Member Functions

int getMessageId () const
 
GUIGlObjectgetObject () const
 Returns the chosen (selected) object. More...
 
 GUIDialog_ChooserAbstract (GUIGlChildWindow *windowsParent, int messageId, FXIcon *icon, const FXString &title, const std::vector< GUIGlID > &ids, GUIGlObjectStorage &glStorage)
 Constructor. More...
 
void show ()
 sets the focus after the window is created to work-around bug in libfox More...
 
virtual ~GUIDialog_ChooserAbstract ()
 Destructor. More...
 
FOX-callbacks
long onCmdCenter (FXObject *, FXSelector, void *)
 Callback: The selected item shall be centered within the calling view. More...
 
long onCmdTrack (FXObject *, FXSelector, void *)
 Callback: The selected vehicle shall be tracked within the calling view. More...
 
long onCmdClose (FXObject *, FXSelector, void *)
 Callback: The dialog shall be closed. More...
 
long onChgText (FXObject *, FXSelector, void *)
 Callback: Something has been typed into the the field. More...
 
long onCmdText (FXObject *, FXSelector, void *)
 Callback: Selects to current item if enter is pressed. More...
 
long onListKeyPress (FXObject *, FXSelector, void *)
 Callback: Selects to current item if enter is pressed. More...
 
long onChgList (FXObject *, FXSelector, void *)
 Callback: Current list item has changed. More...
 
long onChgListSel (FXObject *, FXSelector, void *)
 Callback: Current list item selection has changed. More...
 
long onCmdFilter (FXObject *, FXSelector, void *)
 Callback: Hides unselected items if pressed. More...
 
long onCmdFilterSubstr (FXObject *, FXSelector, void *)
 Callback: Hides unmatched items if pressed. More...
 
long onCmdToggleSelection (FXObject *, FXSelector, void *)
 Callback: Toggle selection status of current object / list. More...
 
long onCmdAddListSelection (FXObject *, FXSelector, void *)
 
long onCmdClearListSelection (FXObject *, FXSelector, void *)
 
long onCmdLocateByName (FXObject *, FXSelector, void *)
 Callback: Toggle locator by name. More...
 
long onCmdUpdate (FXObject *, FXSelector, void *)
 Callback: Update list. More...
 

Protected Member Functions

virtual void deselect (int listIndex)
 unset selection (handled differently in NETEDIT) More...
 
virtual void filterACs (const std::vector< GUIGlID > &GLIDs)
 filter ACs (needed in NETEDIT) More...
 
virtual std::string getObjectName (GUIGlObject *o) const
 @bbrief retrieve name for the given object More...
 
void refreshList (const std::vector< GUIGlID > &ids)
 update the list with the given ids More...
 
virtual void select (int listIndex)
 set selection (handled differently in NETEDIT) More...
 
virtual void toggleSelection (int listIndex)
 fox need this More...
 

Private Attributes

FXCheckButton * myCaseSensitive
 Whether search is case sensitive. More...
 
FXButton * myCenterButton
 The button that triggers centering on the select object. More...
 
FXLabel * myCountLabel
 label for declaring list size More...
 
bool myHaveFilteredSubstring
 whether the list was filter by substring More...
 
std::set< GUIGlIDmyIDs
 myList contains (void) pointers to elements of myIDs instead of the more volatile pointers to GUIGlObject More...
 
FXCheckButton * myInstantCenter
 Whether each change in the list should re-center the view. More...
 
FXList * myList
 The list that holds the ids. More...
 
bool myLocateByName
 whether to locate by object name instead of id More...
 
int myMessageId
 the object type being chosen More...
 
GUIGlObjectmySelected
 The chosen id. More...
 
FXTextField * myTextEntry
 The text field. More...
 
FXButton * myTrackButton
 The button that triggers tracking on the select vehicle. More...
 
GUIGlChildWindowmyWindowsParent
 window parent More...
 

Detailed Description

Instances of this class are windows that display the list of instances from a given artifact like vehicles, edges or junctions and allow one of their items

Definition at line 50 of file GUIDialog_ChooserAbstract.h.

Constructor & Destructor Documentation

◆ GUIDialog_ChooserAbstract()

GUIDialog_ChooserAbstract::GUIDialog_ChooserAbstract ( GUIGlChildWindow windowsParent,
int  messageId,
FXIcon *  icon,
const FXString &  title,
const std::vector< GUIGlID > &  ids,
GUIGlObjectStorage glStorage 
)

◆ ~GUIDialog_ChooserAbstract()

GUIDialog_ChooserAbstract::~GUIDialog_ChooserAbstract ( )
virtual

Member Function Documentation

◆ deselect()

void GUIDialog_ChooserAbstract::deselect ( int  listIndex)
protectedvirtual

unset selection (handled differently in NETEDIT)

Reimplemented in GNEDialogACChooser.

Definition at line 422 of file GUIDialog_ChooserAbstract.cpp.

References GUISelectedStorage::deselect(), gSelected, and myList.

Referenced by onCmdClearListSelection().

Here is the caller graph for this function:

◆ filterACs()

void GUIDialog_ChooserAbstract::filterACs ( const std::vector< GUIGlID > &  GLIDs)
protectedvirtual

filter ACs (needed in NETEDIT)

Reimplemented in GNEDialogACChooser.

Definition at line 429 of file GUIDialog_ChooserAbstract.cpp.

Referenced by onCmdFilterSubstr().

Here is the caller graph for this function:

◆ getMessageId()

int GUIDialog_ChooserAbstract::getMessageId ( ) const
inline

Definition at line 122 of file GUIDialog_ChooserAbstract.h.

References myMessageId.

Referenced by GUISUMOViewParent::eraseGLObjChooser().

Here is the caller graph for this function:

◆ getObject()

GUIGlObject * GUIDialog_ChooserAbstract::getObject ( ) const

Returns the chosen (selected) object.

Returns
The selected object

Definition at line 124 of file GUIDialog_ChooserAbstract.cpp.

References mySelected.

◆ getObjectName()

std::string GUIDialog_ChooserAbstract::getObjectName ( GUIGlObject o) const
protectedvirtual

@bbrief retrieve name for the given object

Reimplemented in GNEDialogACChooser.

Definition at line 304 of file GUIDialog_ChooserAbstract.cpp.

References GUIGlObject::getMicrosimID(), GUIGlObject::getOptionalName(), and myLocateByName.

Referenced by GNEDialogACChooser::getObjectName(), onCmdLocateByName(), and refreshList().

Here is the caller graph for this function:

◆ onChgList()

long GUIDialog_ChooserAbstract::onChgList ( FXObject *  ,
FXSelector  ,
void *   
)

Callback: Current list item has changed.

Definition at line 170 of file GUIDialog_ChooserAbstract.cpp.

References myInstantCenter, myList, and onCmdCenter().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onChgListSel()

long GUIDialog_ChooserAbstract::onChgListSel ( FXObject *  ,
FXSelector  ,
void *   
)

Callback: Current list item selection has changed.

Definition at line 182 of file GUIDialog_ChooserAbstract.cpp.

References myList.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onChgText()

long GUIDialog_ChooserAbstract::onChgText ( FXObject *  ,
FXSelector  ,
void *   
)

Callback: Something has been typed into the the field.

Definition at line 188 of file GUIDialog_ChooserAbstract.cpp.

References myCaseSensitive, myCenterButton, myHaveFilteredSubstring, myList, myLocateByName, myTextEntry, and myTrackButton.

Referenced by FXDEFMAP(), and onCmdFilterSubstr().

Here is the caller graph for this function:

◆ onCmdAddListSelection()

long GUIDialog_ChooserAbstract::onCmdAddListSelection ( FXObject *  ,
FXSelector  ,
void *   
)

Definition at line 351 of file GUIDialog_ChooserAbstract.cpp.

References flag, FLAG, GUIIconSubSys::getIcon(), GUIGlChildWindow::getView(), myList, myWindowsParent, and select().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdCenter()

long GUIDialog_ChooserAbstract::onCmdCenter ( FXObject *  ,
FXSelector  ,
void *   
)

Callback: The selected item shall be centered within the calling view.

Definition at line 137 of file GUIDialog_ChooserAbstract.cpp.

References GUIGlChildWindow::getView(), myList, myWindowsParent, GUIGlChildWindow::setView(), and GUISUMOAbstractView::stopTrack().

Referenced by FXDEFMAP(), and onChgList().

Here is the caller graph for this function:

◆ onCmdClearListSelection()

long GUIDialog_ChooserAbstract::onCmdClearListSelection ( FXObject *  ,
FXSelector  ,
void *   
)

Definition at line 365 of file GUIDialog_ChooserAbstract.cpp.

References deselect(), GUIGlChildWindow::getView(), myList, and myWindowsParent.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdClose()

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

Callback: The dialog shall be closed.

Definition at line 164 of file GUIDialog_ChooserAbstract.cpp.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdFilter()

long GUIDialog_ChooserAbstract::onCmdFilter ( FXObject *  ,
FXSelector  ,
void *   
)

Callback: Hides unselected items if pressed.

Definition at line 260 of file GUIDialog_ChooserAbstract.cpp.

References flag, FLAG, GUIIconSubSys::getIcon(), myList, and refreshList().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdFilterSubstr()

long GUIDialog_ChooserAbstract::onCmdFilterSubstr ( FXObject *  ,
FXSelector  ,
void *   
)

Callback: Hides unmatched items if pressed.

Definition at line 276 of file GUIDialog_ChooserAbstract.cpp.

References filterACs(), myCaseSensitive, myHaveFilteredSubstring, myList, myTextEntry, onChgText(), and refreshList().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdLocateByName()

long GUIDialog_ChooserAbstract::onCmdLocateByName ( FXObject *  ,
FXSelector  ,
void *   
)

Callback: Toggle locator by name.

Definition at line 378 of file GUIDialog_ChooserAbstract.cpp.

References GUIGlObjectStorage::getObjectBlocking(), getObjectName(), GUIGlObjectStorage::gIDStorage, myList, myLocateByName, myTextEntry, refreshList(), and GUIGlObjectStorage::unblockObject().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdText()

long GUIDialog_ChooserAbstract::onCmdText ( FXObject *  ,
FXSelector  ,
void *   
)

Callback: Selects to current item if enter is pressed.

Definition at line 231 of file GUIDialog_ChooserAbstract.cpp.

References myList, myWindowsParent, and GUIGlChildWindow::setView().

Referenced by FXDEFMAP(), and onListKeyPress().

Here is the caller graph for this function:

◆ onCmdToggleSelection()

long GUIDialog_ChooserAbstract::onCmdToggleSelection ( FXObject *  ,
FXSelector  ,
void *   
)

Callback: Toggle selection status of current object / list.

Definition at line 333 of file GUIDialog_ChooserAbstract.cpp.

References flag, FLAG, GUIIconSubSys::getIcon(), GUIGlChildWindow::getView(), myList, myWindowsParent, and toggleSelection().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdTrack()

long GUIDialog_ChooserAbstract::onCmdTrack ( FXObject *  ,
FXSelector  ,
void *   
)

Callback: The selected vehicle shall be tracked within the calling view.

Definition at line 148 of file GUIDialog_ChooserAbstract.cpp.

References GUIGlObject::getGlID(), GUIGlObjectStorage::getObjectBlocking(), GUIGlObject::getType(), GUIGlChildWindow::getView(), GUIGlObjectStorage::gIDStorage, GLO_VEHICLE, myList, myWindowsParent, GUIGlChildWindow::setView(), GUISUMOAbstractView::startTrack(), and GUIGlObjectStorage::unblockObject().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdUpdate()

long GUIDialog_ChooserAbstract::onCmdUpdate ( FXObject *  ,
FXSelector  ,
void *   
)

Callback: Update list.

Definition at line 404 of file GUIDialog_ChooserAbstract.cpp.

References GUIGlChildWindow::getObjectIDs(), myMessageId, myWindowsParent, and refreshList().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onListKeyPress()

long GUIDialog_ChooserAbstract::onListKeyPress ( FXObject *  ,
FXSelector  ,
void *  ptr 
)

Callback: Selects to current item if enter is pressed.

Definition at line 242 of file GUIDialog_ChooserAbstract.cpp.

References myList, myTextEntry, and onCmdText().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ refreshList()

void GUIDialog_ChooserAbstract::refreshList ( const std::vector< GUIGlID > &  ids)
protected

update the list with the given ids

Definition at line 313 of file GUIDialog_ChooserAbstract.cpp.

References FLAG, GUIGlObject::getGlID(), GUIIconSubSys::getIcon(), GUIGlObjectStorage::getObjectBlocking(), getObjectName(), GUIGlObjectStorage::gIDStorage, GUIGlChildWindow::isSelected(), myCountLabel, myIDs, myList, myWindowsParent, toString(), and GUIGlObjectStorage::unblockObject().

Referenced by GNEDialogACChooser::GNEDialogACChooser(), onCmdFilter(), onCmdFilterSubstr(), onCmdLocateByName(), and onCmdUpdate().

Here is the caller graph for this function:

◆ select()

void GUIDialog_ChooserAbstract::select ( int  listIndex)
protectedvirtual

set selection (handled differently in NETEDIT)

Reimplemented in GNEDialogACChooser.

Definition at line 416 of file GUIDialog_ChooserAbstract.cpp.

References gSelected, myList, and GUISelectedStorage::select().

Referenced by onCmdAddListSelection().

Here is the caller graph for this function:

◆ show()

void GUIDialog_ChooserAbstract::show ( )

sets the focus after the window is created to work-around bug in libfox

Definition at line 130 of file GUIDialog_ChooserAbstract.cpp.

References myTextEntry.

◆ toggleSelection()

void GUIDialog_ChooserAbstract::toggleSelection ( int  listIndex)
protectedvirtual

fox need this

toggle selection (handled differently in NETEDIT)

Reimplemented in GNEDialogACChooser.

Definition at line 410 of file GUIDialog_ChooserAbstract.cpp.

References gSelected, myList, and GUISelectedStorage::toggleSelection().

Referenced by onCmdToggleSelection().

Here is the caller graph for this function:

Field Documentation

◆ myCaseSensitive

FXCheckButton* GUIDialog_ChooserAbstract::myCaseSensitive
private

Whether search is case sensitive.

Definition at line 183 of file GUIDialog_ChooserAbstract.h.

Referenced by onChgText(), onCmdFilterSubstr(), and ~GUIDialog_ChooserAbstract().

◆ myCenterButton

FXButton* GUIDialog_ChooserAbstract::myCenterButton
private

The button that triggers centering on the select object.

Definition at line 159 of file GUIDialog_ChooserAbstract.h.

Referenced by onChgText().

◆ myCountLabel

FXLabel* GUIDialog_ChooserAbstract::myCountLabel
private

label for declaring list size

Definition at line 180 of file GUIDialog_ChooserAbstract.h.

Referenced by refreshList().

◆ myHaveFilteredSubstring

bool GUIDialog_ChooserAbstract::myHaveFilteredSubstring
private

whether the list was filter by substring

Definition at line 177 of file GUIDialog_ChooserAbstract.h.

Referenced by onChgText(), and onCmdFilterSubstr().

◆ myIDs

std::set<GUIGlID> GUIDialog_ChooserAbstract::myIDs
private

myList contains (void) pointers to elements of myIDs instead of the more volatile pointers to GUIGlObject

Definition at line 171 of file GUIDialog_ChooserAbstract.h.

Referenced by refreshList().

◆ myInstantCenter

FXCheckButton* GUIDialog_ChooserAbstract::myInstantCenter
private

Whether each change in the list should re-center the view.

Definition at line 186 of file GUIDialog_ChooserAbstract.h.

Referenced by onChgList(), and ~GUIDialog_ChooserAbstract().

◆ myList

◆ myLocateByName

bool GUIDialog_ChooserAbstract::myLocateByName
private

whether to locate by object name instead of id

Definition at line 174 of file GUIDialog_ChooserAbstract.h.

Referenced by getObjectName(), onChgText(), and onCmdLocateByName().

◆ myMessageId

int GUIDialog_ChooserAbstract::myMessageId
private

the object type being chosen

Definition at line 153 of file GUIDialog_ChooserAbstract.h.

Referenced by getMessageId(), and onCmdUpdate().

◆ mySelected

GUIGlObject* GUIDialog_ChooserAbstract::mySelected
private

The chosen id.

Definition at line 165 of file GUIDialog_ChooserAbstract.h.

Referenced by getObject().

◆ myTextEntry

FXTextField* GUIDialog_ChooserAbstract::myTextEntry
private

The text field.

Definition at line 168 of file GUIDialog_ChooserAbstract.h.

Referenced by onChgText(), onCmdFilterSubstr(), onCmdLocateByName(), onListKeyPress(), and show().

◆ myTrackButton

FXButton* GUIDialog_ChooserAbstract::myTrackButton
private

The button that triggers tracking on the select vehicle.

Definition at line 162 of file GUIDialog_ChooserAbstract.h.

Referenced by onChgText().

◆ myWindowsParent


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