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 loadWindowPos ()
 
void saveWindowPos ()
 
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...
 

Protected Attributes

int myDefaultHeight
 
int myDefaultWidth
 
int myDefaultX
 
int myDefaultY
 
int myMinSize
 
int myMinTitlebarHeight
 
FXWindow * myParent
 The window for which the position is being stored. More...
 
bool myStoreSize
 whether window size shall be stored More...
 
std::string myWindowName
 Name for storing in the registry. 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 51 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 423 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 430 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 123 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 125 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 305 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:

◆ loadWindowPos()

void GUIPersistentWindowPos::loadWindowPos ( )
inherited

◆ onChgList()

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

Callback: Current list item has changed.

Definition at line 171 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 183 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 189 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 352 of file GUIDialog_ChooserAbstract.cpp.

References 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 138 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 366 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 165 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 261 of file GUIDialog_ChooserAbstract.cpp.

References 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 277 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 379 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 232 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 334 of file GUIDialog_ChooserAbstract.cpp.

References 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 149 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 405 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 243 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 314 of file GUIDialog_ChooserAbstract.cpp.

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

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

Here is the caller graph for this function:

◆ saveWindowPos()

void GUIPersistentWindowPos::saveWindowPos ( )
inherited

Definition at line 71 of file GUIPersistentWindowPos.cpp.

References GUIPersistentWindowPos::myParent, GUIPersistentWindowPos::myStoreSize, and GUIPersistentWindowPos::myWindowName.

Referenced by GUIDialog_ViewSettings::hide(), and GUIPersistentWindowPos::~GUIPersistentWindowPos().

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 417 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 131 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 411 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 184 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 160 of file GUIDialog_ChooserAbstract.h.

Referenced by onChgText().

◆ myCountLabel

FXLabel* GUIDialog_ChooserAbstract::myCountLabel
private

label for declaring list size

Definition at line 181 of file GUIDialog_ChooserAbstract.h.

Referenced by refreshList().

◆ myDefaultHeight

int GUIPersistentWindowPos::myDefaultHeight
protectedinherited

Definition at line 65 of file GUIPersistentWindowPos.h.

Referenced by GUIPersistentWindowPos::loadWindowPos().

◆ myDefaultWidth

int GUIPersistentWindowPos::myDefaultWidth
protectedinherited

Definition at line 64 of file GUIPersistentWindowPos.h.

Referenced by GUIPersistentWindowPos::loadWindowPos().

◆ myDefaultX

int GUIPersistentWindowPos::myDefaultX
protectedinherited

Definition at line 61 of file GUIPersistentWindowPos.h.

Referenced by GUIPersistentWindowPos::loadWindowPos().

◆ myDefaultY

int GUIPersistentWindowPos::myDefaultY
protectedinherited

Definition at line 62 of file GUIPersistentWindowPos.h.

Referenced by GUIPersistentWindowPos::loadWindowPos().

◆ myHaveFilteredSubstring

bool GUIDialog_ChooserAbstract::myHaveFilteredSubstring
private

whether the list was filter by substring

Definition at line 178 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 172 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 187 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 175 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 154 of file GUIDialog_ChooserAbstract.h.

Referenced by getMessageId(), and onCmdUpdate().

◆ myMinSize

int GUIPersistentWindowPos::myMinSize
protectedinherited

Definition at line 67 of file GUIPersistentWindowPos.h.

Referenced by GUIPersistentWindowPos::loadWindowPos().

◆ myMinTitlebarHeight

int GUIPersistentWindowPos::myMinTitlebarHeight
protectedinherited

Definition at line 68 of file GUIPersistentWindowPos.h.

Referenced by GUIPersistentWindowPos::loadWindowPos().

◆ myParent

FXWindow* GUIPersistentWindowPos::myParent
protectedinherited

The window for which the position is being stored.

Definition at line 53 of file GUIPersistentWindowPos.h.

Referenced by GUIPersistentWindowPos::loadWindowPos(), and GUIPersistentWindowPos::saveWindowPos().

◆ mySelected

GUIGlObject* GUIDialog_ChooserAbstract::mySelected
private

The chosen id.

Definition at line 166 of file GUIDialog_ChooserAbstract.h.

Referenced by getObject().

◆ myStoreSize

bool GUIPersistentWindowPos::myStoreSize
protectedinherited

whether window size shall be stored

Definition at line 59 of file GUIPersistentWindowPos.h.

Referenced by GUIPersistentWindowPos::loadWindowPos(), and GUIPersistentWindowPos::saveWindowPos().

◆ myTextEntry

FXTextField* GUIDialog_ChooserAbstract::myTextEntry
private

The text field.

Definition at line 169 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 163 of file GUIDialog_ChooserAbstract.h.

Referenced by onChgText().

◆ myWindowName

std::string GUIPersistentWindowPos::myWindowName
protectedinherited

Name for storing in the registry.

Definition at line 56 of file GUIPersistentWindowPos.h.

Referenced by GUIPersistentWindowPos::loadWindowPos(), and GUIPersistentWindowPos::saveWindowPos().

◆ myWindowsParent


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