SUMO - Simulation of Urban MObility
GNESelectorFrame Class Reference

#include <GNESelectorFrame.h>

Inheritance diagram for GNESelectorFrame:
Inheritance graph
Collaboration diagram for GNESelectorFrame:
Collaboration graph

Public Types

enum  SetOperation {
  SET_ADD = 1, SET_SUB = 2, SET_RESTRICT = 3, SET_REPLACE = 4,
  SET_DEFAULT = 5
}
 FOX-declaration. More...
 

Public Member Functions

void focusUpperElement ()
 focus upper element of frame More...
 
FXFont * getFrameHeaderFont () const
 get font of the header's frame More...
 
FXLabel * getFrameHeaderLabel () const
 get the label for the frame's header More...
 
GNEViewNetgetViewNet () const
 get view net More...
 
 GNESelectorFrame (FXHorizontalFrame *horizontalFrameParent, GNEViewNet *viewNet)
 Constructor. More...
 
void handleIDs (std::vector< GUIGlID > ids, bool selectEdgesEnabled, SetOperation setop=SET_DEFAULT)
 apply list of ids to the current selection according to SetOperation, More...
 
void hide ()
 hide Frame More...
 
void selectionUpdated ()
 called if currently registered for updates for changes of global selection More...
 
void setFrameWidth (int width)
 set width of GNEFrame More...
 
void show ()
 show Frame More...
 
 ~GNESelectorFrame ()
 Destructor. More...
 
FOX-callbacks

called when user change type of selction operation

long onCmdSelectOperation (FXObject *, FXSelector, void *)
 
long onCmdSubset (FXObject *, FXSelector, void *)
 Called when the user change the type of element to search (netElement or Additional) More...
 
long onCmdLoad (FXObject *, FXSelector, void *)
 Called when the user presses the Load-button. More...
 
long onCmdSave (FXObject *, FXSelector, void *)
 Called when the user presses the Save-button. More...
 
long onCmdClear (FXObject *, FXSelector, void *)
 Called when the user presses the Clear-button. More...
 
long onCmdInvert (FXObject *, FXSelector, void *)
 Called when the user presses the Invert-button. More...
 
long onCmdSelMBTag (FXObject *, FXSelector, void *)
 Called when the user selectes a tag in the match box. More...
 
long onCmdSelMBAttribute (FXObject *, FXSelector, void *)
 Called when the user selectes a tag in the match box. More...
 
long onCmdSelMBString (FXObject *, FXSelector, void *)
 Called when the user enters a new selection expression. More...
 
long onCmdHelp (FXObject *, FXSelector, void *)
 Called when the user clicks the help button. More...
 
long onCmdScaleSelection (FXObject *, FXSelector, void *)
 Called when the user changes visual scaling. More...
 

Protected Member Functions

 GNESelectorFrame ()
 FOX needs this. More...
 

Protected Attributes

FXVerticalFrame * myContentFrame
 Vertical frame that holds all widgets of frame. More...
 
FXFont * myFrameHeaderFont
 Font for the Header. More...
 
FXLabel * myFrameHeaderLabel
 the label for the frame's header More...
 
FXHorizontalFrame * myHeaderFrame
 fame for header elements More...
 
FXHorizontalFrame * myHeaderLeftFrame
 fame for left header elements More...
 
FXHorizontalFrame * myHeaderRightFrame
 fame for right header elements More...
 
GNEViewNetmyViewNet
 the window to inform when the tls is modfied More...
 

Private Member Functions

std::vector< GUIGlIDgetMatches (SumoXMLTag tag, SumoXMLAttr attr, char compOp, double val, const std::string &expr)
 return objects of the given type with matching attrs More...
 
std::string getStats () const
 get stats More...
 

Private Attributes

const std::string ALL_VCLASS_NAMES_MATCH_STRING
 the string that should be matched against if attr 'allowed' or 'disallowed' are set to "all" More...
 
FXRadioButton * myAddRadioButton
 add radio button More...
 
SumoXMLAttr myCurrentAttribute
 current SumoXMLTag Attribute More...
 
SumoXMLTag myCurrentTag
 current SumoXMLTag tag More...
 
FXRadioButton * myKeepRadioButton
 keep button More...
 
FXComboBox * myMatchAttrComboBox
 attributes of the match box More...
 
FXTextField * myMatchString
 string of the match More...
 
FXComboBox * myMatchTagComboBox
 tag of the match box More...
 
FXRadioButton * myRemoveRadioButton
 remove radio button More...
 
FXRadioButton * myReplaceRadioButton
 replace radio button More...
 
FXRealSpinDial * mySelectionScaling
 selection scaling More...
 
FXComboBox * mySetComboBox
 tag of the sets of elements More...
 
SetOperation mySetOperation
 how to modify selection More...
 

Detailed Description

The Widget for modifying selections of network-elements

Definition at line 47 of file GNESelectorFrame.h.

Member Enumeration Documentation

◆ SetOperation

FOX-declaration.

operations of selector

Enumerator
SET_ADD 
SET_SUB 
SET_RESTRICT 
SET_REPLACE 
SET_DEFAULT 

Definition at line 53 of file GNESelectorFrame.h.

Constructor & Destructor Documentation

◆ GNESelectorFrame() [1/2]

◆ ~GNESelectorFrame()

GNESelectorFrame::~GNESelectorFrame ( )

Destructor.

Definition at line 147 of file GNESelectorFrame.cpp.

References gSelected, and GUISelectedStorage::remove2Update().

◆ GNESelectorFrame() [2/2]

GNESelectorFrame::GNESelectorFrame ( )
inlineprotected

FOX needs this.

Definition at line 140 of file GNESelectorFrame.h.

Member Function Documentation

◆ focusUpperElement()

void GNEFrame::focusUpperElement ( )
inherited

◆ getFrameHeaderFont()

FXFont * GNEFrame::getFrameHeaderFont ( ) const
inherited

get font of the header's frame

Definition at line 135 of file GNEFrame.cpp.

References GNEFrame::myFrameHeaderFont.

◆ getFrameHeaderLabel()

FXLabel * GNEFrame::getFrameHeaderLabel ( ) const
inherited

get the label for the frame's header

Definition at line 129 of file GNEFrame.cpp.

References GNEFrame::myFrameHeaderLabel.

Referenced by GNEInspectorFrame::inspectMultisection().

◆ getMatches()

std::vector< GUIGlID > GNESelectorFrame::getMatches ( SumoXMLTag  tag,
SumoXMLAttr  attr,
char  compOp,
double  val,
const std::string &  expr 
)
private

◆ getStats()

std::string GNESelectorFrame::getStats ( ) const
private

◆ getViewNet()

◆ handleIDs()

◆ hide()

void GNESelectorFrame::hide ( )
virtual

hide Frame

Reimplemented from GNEFrame.

Definition at line 467 of file GNESelectorFrame.cpp.

References gSelected, GNEFrame::hide(), and GUISelectedStorage::remove2Update().

◆ onCmdClear()

long GNESelectorFrame::onCmdClear ( FXObject *  ,
FXSelector  ,
void *   
)

Called when the user presses the Clear-button.

Note
Clear the internal list and calls GUISelectedStorage::clear and repaints itself

Definition at line 279 of file GNESelectorFrame.cpp.

References GNEViewNet::getNet(), GUISelectedStorage::getSelected(), GNEViewNet::getUndoList(), gSelected, and GNEFrame::myViewNet.

◆ onCmdHelp()

long GNESelectorFrame::onCmdHelp ( FXObject *  ,
FXSelector  ,
void *   
)

Called when the user clicks the help button.

Note
pop up help window

Definition at line 415 of file GNESelectorFrame.cpp.

References GUIIconSubSys::getIcon(), GUIDesignButtonOK, GUIDesignDialogBox, GUIDesignLabelLeft, and ICON_ACCEPT.

◆ onCmdInvert()

long GNESelectorFrame::onCmdInvert ( FXObject *  ,
FXSelector  ,
void *   
)

Called when the user presses the Invert-button.

Note
invert the selection and repaints itself

Definition at line 287 of file GNESelectorFrame.cpp.

References GNENet::getGlIDs(), GNEViewNet::getNet(), GLO_ADDITIONAL, GLO_CONNECTION, GLO_EDGE, GLO_JUNCTION, GLO_LANE, gSelected, GNEFrame::myViewNet, GNEViewNet::selectEdges(), and GUISelectedStorage::toggleSelection().

◆ onCmdLoad()

long GNESelectorFrame::onCmdLoad ( FXObject *  ,
FXSelector  ,
void *   
)

Called when the user presses the Load-button.

Note
Opens a file dialog and forces the parent to load the list of selected objects when a file was chosen. Rebuilds the list, then, and redraws itself.

Definition at line 219 of file GNESelectorFrame.cpp.

References gCurrentFolder, GUIIconSubSys::getIcon(), gSelected, handleIDs(), ICON_EMPTY, GNEViewNet::isTestingModeEnabled(), GUISelectedStorage::loadIDs(), GNEFrame::myViewNet, and WRITE_WARNING.

◆ onCmdSave()

long GNESelectorFrame::onCmdSave ( FXObject *  ,
FXSelector  ,
void *   
)

Called when the user presses the Save-button.

Note
Opens a file dialog and forces the selection container to save the list of selected objects when a file was chosen. If the saveing failed, a message window is shown.

Definition at line 254 of file GNESelectorFrame.cpp.

References gCurrentFolder, MFXUtils::getFilename2Write(), GUIIconSubSys::getIcon(), gSelected, ICON_EMPTY, GNEViewNet::isTestingModeEnabled(), GNEFrame::myViewNet, GUISelectedStorage::save(), and WRITE_WARNING.

◆ onCmdScaleSelection()

long GNESelectorFrame::onCmdScaleSelection ( FXObject *  ,
FXSelector  ,
void *   
)

Called when the user changes visual scaling.

Definition at line 449 of file GNESelectorFrame.cpp.

References FX::FXRealSpinDial::getValue(), mySelectionScaling, GNEFrame::myViewNet, and GNEViewNet::setSelectionScaling().

◆ onCmdSelectOperation()

long GNESelectorFrame::onCmdSelectOperation ( FXObject *  obj,
FXSelector  ,
void *   
)

◆ onCmdSelMBAttribute()

long GNESelectorFrame::onCmdSelMBAttribute ( FXObject *  ,
FXSelector  ,
void *   
)

Called when the user selectes a tag in the match box.

Note
updates the attr listbox and repaints itself

Definition at line 344 of file GNESelectorFrame.cpp.

References GNEAttributeCarrier::allowedAttributes(), myCurrentAttribute, myCurrentTag, myMatchAttrComboBox, myMatchString, SUMO_ATTR_NOTHING, and toString().

◆ onCmdSelMBString()

long GNESelectorFrame::onCmdSelMBString ( FXObject *  ,
FXSelector  ,
void *   
)

Called when the user enters a new selection expression.

Note
validates expression and modifies current selection

Definition at line 364 of file GNESelectorFrame.cpp.

References getMatches(), handleIDs(), GNEAttributeCarrier::isNumerical(), myCurrentAttribute, myCurrentTag, and myMatchString.

◆ onCmdSelMBTag()

long GNESelectorFrame::onCmdSelMBTag ( FXObject *  ,
FXSelector  ,
void *   
)

Called when the user selectes a tag in the match box.

Note
updates the attr listbox and repaints itself

Definition at line 310 of file GNESelectorFrame.cpp.

References GNEAttributeCarrier::allowedAttributes(), GNEAttributeCarrier::allowedTags(), myCurrentTag, myMatchAttrComboBox, myMatchString, myMatchTagComboBox, mySetComboBox, SUMO_TAG_NOTHING, and toString().

Referenced by onCmdSubset().

◆ onCmdSubset()

long GNESelectorFrame::onCmdSubset ( FXObject *  ,
FXSelector  ,
void *   
)

Called when the user change the type of element to search (netElement or Additional)

Definition at line 189 of file GNESelectorFrame.cpp.

References GNEAttributeCarrier::allowedTags(), myMatchAttrComboBox, myMatchString, myMatchTagComboBox, mySetComboBox, onCmdSelMBTag(), and toString().

◆ selectionUpdated()

void GNESelectorFrame::selectionUpdated ( )
virtual

called if currently registered for updates for changes of global selection

Implements GUISelectedStorage::UpdateTarget.

Definition at line 488 of file GNESelectorFrame.cpp.

References getStats(), and GNEFrame::myFrameHeaderLabel.

Referenced by show().

◆ setFrameWidth()

void GNEFrame::setFrameWidth ( int  width)
inherited

set width of GNEFrame

Definition at line 116 of file GNEFrame.cpp.

References GNEFrame::myScrollWindowsContents.

◆ show()

void GNESelectorFrame::show ( )
virtual

show Frame

Reimplemented from GNEFrame.

Definition at line 457 of file GNESelectorFrame.cpp.

References GUISelectedStorage::add2Update(), gSelected, selectionUpdated(), and GNEFrame::show().

Referenced by GNEViewNet::updateModeSpecificControls().

Field Documentation

◆ ALL_VCLASS_NAMES_MATCH_STRING

const std::string GNESelectorFrame::ALL_VCLASS_NAMES_MATCH_STRING
private

the string that should be matched against if attr 'allowed' or 'disallowed' are set to "all"

Definition at line 189 of file GNESelectorFrame.h.

Referenced by getMatches().

◆ myAddRadioButton

FXRadioButton* GNESelectorFrame::myAddRadioButton
private

add radio button

Definition at line 147 of file GNESelectorFrame.h.

Referenced by onCmdSelectOperation().

◆ myContentFrame

FXVerticalFrame* GNEFrame::myContentFrame
protectedinherited

Vertical frame that holds all widgets of frame.

Definition at line 104 of file GNEFrame.h.

Referenced by GNEConnectorFrame::GNEConnectorFrame(), GNECrossingFrame::GNECrossingFrame(), GNEFrame::GNEFrame(), and GNEInspectorFrame::inspectMultisection().

◆ myCurrentAttribute

SumoXMLAttr GNESelectorFrame::myCurrentAttribute
private

current SumoXMLTag Attribute

Definition at line 177 of file GNESelectorFrame.h.

Referenced by onCmdSelMBAttribute(), and onCmdSelMBString().

◆ myCurrentTag

SumoXMLTag GNESelectorFrame::myCurrentTag
private

current SumoXMLTag tag

Definition at line 174 of file GNESelectorFrame.h.

Referenced by onCmdSelMBAttribute(), onCmdSelMBString(), and onCmdSelMBTag().

◆ myFrameHeaderFont

FXFont* GNEFrame::myFrameHeaderFont
protectedinherited

Font for the Header.

Definition at line 98 of file GNEFrame.h.

Referenced by GNEFrame::getFrameHeaderFont(), GNEFrame::GNEFrame(), and GNEFrame::~GNEFrame().

◆ myFrameHeaderLabel

FXLabel* GNEFrame::myFrameHeaderLabel
protectedinherited

the label for the frame's header

Definition at line 101 of file GNEFrame.h.

Referenced by GNEFrame::focusUpperElement(), GNEFrame::getFrameHeaderLabel(), GNEFrame::GNEFrame(), and selectionUpdated().

◆ myHeaderFrame

FXHorizontalFrame* GNEFrame::myHeaderFrame
protectedinherited

fame for header elements

Definition at line 107 of file GNEFrame.h.

Referenced by GNEFrame::GNEFrame().

◆ myHeaderLeftFrame

FXHorizontalFrame* GNEFrame::myHeaderLeftFrame
protectedinherited

◆ myHeaderRightFrame

FXHorizontalFrame* GNEFrame::myHeaderRightFrame
protectedinherited

fame for right header elements

Definition at line 113 of file GNEFrame.h.

Referenced by GNEFrame::GNEFrame().

◆ myKeepRadioButton

FXRadioButton* GNESelectorFrame::myKeepRadioButton
private

keep button

Definition at line 153 of file GNESelectorFrame.h.

Referenced by onCmdSelectOperation().

◆ myMatchAttrComboBox

FXComboBox* GNESelectorFrame::myMatchAttrComboBox
private

attributes of the match box

Definition at line 165 of file GNESelectorFrame.h.

Referenced by onCmdSelMBAttribute(), onCmdSelMBTag(), and onCmdSubset().

◆ myMatchString

FXTextField* GNESelectorFrame::myMatchString
private

string of the match

Definition at line 168 of file GNESelectorFrame.h.

Referenced by onCmdSelMBAttribute(), onCmdSelMBString(), onCmdSelMBTag(), and onCmdSubset().

◆ myMatchTagComboBox

FXComboBox* GNESelectorFrame::myMatchTagComboBox
private

tag of the match box

Definition at line 162 of file GNESelectorFrame.h.

Referenced by onCmdSelMBTag(), and onCmdSubset().

◆ myRemoveRadioButton

FXRadioButton* GNESelectorFrame::myRemoveRadioButton
private

remove radio button

Definition at line 150 of file GNESelectorFrame.h.

Referenced by onCmdSelectOperation().

◆ myReplaceRadioButton

FXRadioButton* GNESelectorFrame::myReplaceRadioButton
private

replace radio button

Definition at line 156 of file GNESelectorFrame.h.

Referenced by onCmdSelectOperation().

◆ mySelectionScaling

FXRealSpinDial* GNESelectorFrame::mySelectionScaling
private

selection scaling

Definition at line 171 of file GNESelectorFrame.h.

Referenced by onCmdScaleSelection().

◆ mySetComboBox

FXComboBox* GNESelectorFrame::mySetComboBox
private

tag of the sets of elements

Definition at line 159 of file GNESelectorFrame.h.

Referenced by onCmdSelMBTag(), and onCmdSubset().

◆ mySetOperation

SetOperation GNESelectorFrame::mySetOperation
private

how to modify selection

Definition at line 144 of file GNESelectorFrame.h.

Referenced by handleIDs(), and onCmdSelectOperation().

◆ myViewNet

GNEViewNet* GNEFrame::myViewNet
protectedinherited

the window to inform when the tls is modfied

Definition at line 95 of file GNEFrame.h.

Referenced by GNEAdditionalFrame::addAdditional(), GNETLSEditorFrame::buildIinternalLanes(), GNEDeleteFrame::createPopUpMenu(), GNEInspectorFrame::createPopUpMenu(), GNETLSEditorFrame::editJunction(), GNEAdditionalFrame::generateID(), getMatches(), GNEFrame::getViewNet(), GNETLSEditorFrame::handleChange(), handleIDs(), GNEConnectorFrame::handleLaneClick(), GNETLSEditorFrame::handleMultiChange(), GNEFrame::hide(), GNEConnectorFrame::initTargets(), GNEConnectorFrame::onCmdCancel(), GNETLSEditorFrame::onCmdCancel(), GNEDeleteFrame::onCmdCenterItem(), GNEInspectorFrame::onCmdCenterItem(), onCmdClear(), GNEConnectorFrame::onCmdClearSelectedConnections(), GNEInspectorFrame::onCmdCopyTemplate(), GNECrossingFrame::onCmdCreateCrossing(), GNETLSEditorFrame::onCmdDefCreate(), GNETLSEditorFrame::onCmdDefDelete(), GNETLSEditorFrame::onCmdDefSwitch(), GNEInspectorFrame::onCmdDeleteItem(), GNEInspectorFrame::onCmdGoBack(), GNEDeleteFrame::onCmdInspectItem(), onCmdInvert(), onCmdLoad(), GNEConnectorFrame::onCmdOK(), GNETLSEditorFrame::onCmdOK(), GNETLSEditorFrame::onCmdPhaseSwitch(), GNEConnectorFrame::onCmdResetSelectedConnections(), onCmdSave(), onCmdScaleSelection(), GNEConnectorFrame::onCmdSelectConflicts(), GNEConnectorFrame::onCmdSelectDeadEnds(), GNEConnectorFrame::onCmdSelectDeadStarts(), GNEConnectorFrame::onCmdSelectPass(), GNEAdditionalFrame::removeAdditional(), GNEDeleteFrame::removeAttributeCarrier(), and GNEFrame::show().


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