Eclipse SUMO - Simulation of Urban MObility
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
GNEMatchAttribute Class Reference

#include <GNEMatchAttribute.h>

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

Data Structures

class  CurrentEditedProperties
 container with current edited properties More...
 

Public Types

enum  Options {
  NOTHING = 1 << 0 , COLLAPSIBLE = 1 << 1 , EXTENSIBLE = 1 << 2 , SAVE = 1 << 3 ,
  LOAD = 1 << 4
}
 GroupBoxModule options. More...
 

Public Member Functions

void disableMatchAttribute ()
 disable match attributes
 
void enableMatchAttribute ()
 enable match attributes
 
FXVerticalFrame * getCollapsableFrame ()
 get collapsable frame (used by all elements that will be collapsed if button is toggled)
 
 GNEMatchAttribute (GNESelectorFrame *selectorFrameParent)
 FOX-declaration.
 
void hideMatchAttribute ()
 hide match attributes
 
long onCmdCollapseButton (FXObject *, FXSelector, void *)
 collapse GroupBoxModule
 
long onCmdExtendButton (FXObject *, FXSelector, void *)
 extends GroupBoxModule
 
long onCmdLoadButton (FXObject *, FXSelector, void *)
 load contents
 
long onCmdResetButton (FXObject *, FXSelector, void *)
 reset GroupBoxModule
 
long onCmdSaveButton (FXObject *, FXSelector, void *)
 save contents
 
long onPaint (FXObject *, FXSelector, void *)
 draw MFXGroupBoxModule
 
long onUpdResetButton (FXObject *, FXSelector, void *)
 update reset GroupBoxModule
 
void refreshMatchAttribute ()
 refresh match attribute
 
void setText (const std::string &text)
 set text
 
void showMatchAttribute ()
 show match attributes
 
 ~GNEMatchAttribute ()
 destructor
 
FOX-callbacks
long onCmdTagSelected (FXObject *obj, FXSelector, void *)
 Called when the user selects a tag in the match box.
 
long onCmdAttributeSelected (FXObject *, FXSelector, void *)
 Called when the user selects an attribute in the match box.
 
long onCmdToogleOnlyCommon (FXObject *, FXSelector, void *)
 Called when the user toogle the only common checkbox.
 
long onCmdProcessString (FXObject *, FXSelector, void *)
 Called when the user enters a new selection expression.
 
long onCmdHelp (FXObject *, FXSelector, void *)
 Called when the user clicks the help button.
 

Protected Member Functions

std::vector< GNEAttributeCarrier * > getGenericMatches (const std::vector< GNEGenericData * > &genericDatas, const std::string &attr, const char compOp, const double val, const std::string &expr)
 return GenericDatas of the given type with matching attrs
 
std::vector< GNEAttributeCarrier * > getMatches (const char compOp, const double val, const std::string &expr)
 FOX need this.
 
virtual bool loadContents () const
 load contents (can be reimplemented in children)
 
virtual bool saveContents () const
 save contents (can be reimplemented in children)
 
void toggleSaveButton (const bool value)
 enable or disable save buttons
 

Private Member Functions

 GNEMatchAttribute (const GNEMatchAttribute &)=delete
 Invalidated copy constructor.
 
GNEMatchAttributeoperator= (const GNEMatchAttribute &)=delete
 Invalidated assignment operator.
 

Private Attributes

MFXComboBoxAttrPropertymyAttributeComboBox = nullptr
 attribute property comboBox
 
FXVerticalFrame * myCollapsableFrame = nullptr
 vertical collapsable frame
 
FXButton * myCollapseButton = nullptr
 button for collapse elements
 
bool myCollapsed
 flag to check if this groupbox is collapsed
 
CurrentEditedPropertiesmyCurrentEditedProperties
 current edited properties
 
MFXButtonTooltipmyExtendButton = nullptr
 button for extend elements
 
GNEFramemyFrameParent = nullptr
 GNEFrame in which this GroupBox is placed.
 
FXLabel * myLabel = nullptr
 label used in non collapsable MFXGroupBoxModule
 
FXButton * myLoadButton = nullptr
 button for load elements
 
FXTextField * myMatchString = nullptr
 string of the match
 
FXButton * myMatchStringButton = nullptr
 match string button
 
const int myOptions
 GroupBoxModule options.
 
FXButton * myResetWidthButton = nullptr
 button for reset frame width
 
FXButton * mySaveButton = nullptr
 button for save elements
 
GNESelectorFramemySelectorFrameParent = nullptr
 pointer to selector frame parent
 
FXCheckButton * myShowOnlyCommonAttributes = nullptr
 checkbox for enable/disable show only common attributes
 
std::vector< MFXComboBoxTagProperty * > myTagComboBoxVector
 vector with tag property comboBoxes
 

Detailed Description

Definition at line 41 of file GNEMatchAttribute.h.

Member Enumeration Documentation

◆ Options

GroupBoxModule options.

Enumerator
NOTHING 
COLLAPSIBLE 
EXTENSIBLE 
SAVE 
LOAD 

Definition at line 38 of file MFXGroupBoxModule.h.

Constructor & Destructor Documentation

◆ GNEMatchAttribute() [1/2]

◆ ~GNEMatchAttribute()

GNEMatchAttribute::~GNEMatchAttribute ( )

destructor

Definition at line 88 of file GNEMatchAttribute.cpp.

References myCurrentEditedProperties.

◆ GNEMatchAttribute() [2/2]

GNEMatchAttribute::GNEMatchAttribute ( const GNEMatchAttribute )
privatedelete

Invalidated copy constructor.

Member Function Documentation

◆ disableMatchAttribute()

void GNEMatchAttribute::disableMatchAttribute ( )

◆ enableMatchAttribute()

void GNEMatchAttribute::enableMatchAttribute ( )

enable match attributes

Definition at line 94 of file GNEMatchAttribute.cpp.

References MFXComboBoxIcon::enable(), myAttributeComboBox, myMatchString, myMatchStringButton, and myTagComboBoxVector.

◆ getCollapsableFrame()

FXVerticalFrame * MFXGroupBoxModule::getCollapsableFrame ( )
inherited

get collapsable frame (used by all elements that will be collapsed if button is toggled)

Definition at line 123 of file MFXGroupBoxModule.cpp.

References MFXGroupBoxModule::myCollapsableFrame.

Referenced by GNEGenericDataFrame::AttributeSelector::AttributeSelector(), GNEMoveFrame::ChangeZInSelection::ChangeZInSelection(), GNEConnectorFrame::ConnectionModifications::ConnectionModifications(), GNEConnectorFrame::ConnectionOperations::ConnectionOperations(), GNEConnectorFrame::ConnectionSelection::ConnectionSelection(), GNECrossingFrame::CreateCrossing::CreateCrossing(), GNECrossingFrame::CrossingParameters::CrossingParameters(), GNETAZFrame::CurrentTAZ::CurrentTAZ(), GNEMoveFrame::DemandMoveOptions::DemandMoveOptions(), GNEDistributionFrame::DistributionSelector::DistributionSelector(), GNEDistributionFrame::DistributionValuesEditor::DistributionValuesEditor(), GNEAdditionalFrame::E2MultilaneLegendModule::E2MultilaneLegendModule(), GNECrossingFrame::EdgesSelector::EdgesSelector(), GNEDemandElementSelector::GNEDemandElementSelector(), GNEMatchAttribute(), GNEOptionsDialog::GNEOptionsDialog(), GNEPathCreator::GNEPathCreator(), GNEPathLegendModule::GNEPathLegendModule(), GNEPlanCreator::GNEPlanCreator(), GNEPlanCreatorLegend::GNEPlanCreatorLegend(), GNESelectorParent::GNESelectorParent(), GNEStopFrame::HelpCreation::HelpCreation(), GNEVehicleFrame::HelpCreation::HelpCreation(), GNEAdditionalFrame::HelpCreationModule::HelpCreationModule(), GNECrossingFrame::Information::Information(), GNEMoveFrame::Information::Information(), GNESelectorFrame::Information::Information(), GNEGenericDataFrame::IntervalSelector::IntervalSelector(), GNECreateEdgeFrame::LaneTypeSelector::LaneTypeSelector(), GNEConnectorFrame::Legend::Legend(), GNECreateEdgeFrame::Legend::Legend(), GNEProhibitionFrame::Legend::Legend(), GNETAZRelDataFrame::Legend::Legend(), GNEMeanDataFrame::MeanDataEditor::MeanDataEditor(), GNEMeanDataFrame::MeanDataSelector::MeanDataSelector(), GNESelectorFrame::ModificationMode::ModificationMode(), GNEMoveFrame::NetworkMoveOptions::NetworkMoveOptions(), onCmdHelp(), GNEOverlappedInspection::onCmdOverlappingHelp(), GNEDeleteFrame::ProtectElements::ProtectElements(), GNEProhibitionFrame::Selection::Selection(), GNESelectorFrame::SelectionHierarchy::SelectionHierarchy(), GNESelectorFrame::SelectionOperation::SelectionOperation(), GNEMoveFrame::ShiftEdgeSelectedGeometry::ShiftEdgeSelectedGeometry(), GNEMoveFrame::ShiftShapeGeometry::ShiftShapeGeometry(), GNEAttributesEditorRow::showAttributeRow(), GNETAZFrame::TAZChildDefaultParameters::TAZChildDefaultParameters(), GNETAZFrame::TAZCommonStatistics::TAZCommonStatistics(), GNETAZFrame::TAZEdgesGraphic::TAZEdgesGraphic(), GNETAZFrame::TAZSaveChanges::TAZSaveChanges(), GNETAZFrame::TAZSelectionStatistics::TAZSelectionStatistics(), GNETLSEditorFrame::TLSAttributes::TLSAttributes(), GNETLSEditorFrame::TLSFile::TLSFile(), GNETLSEditorFrame::TLSJunction::TLSJunction(), GNETLSEditorFrame::TLSPhases::TLSPhases(), GNETLSEditorFrame::TLSPrograms::TLSPrograms(), GNETypeFrame::TypeEditor::TypeEditor(), and GNESelectorFrame::VisualScaling::VisualScaling().

◆ getGenericMatches()

std::vector< GNEAttributeCarrier * > GNEMatchAttribute::getGenericMatches ( const std::vector< GNEGenericData * > &  genericDatas,
const std::string &  attr,
const char  compOp,
const double  val,
const std::string &  expr 
)
protected

return GenericDatas of the given type with matching attrs

Parameters
[in]genericDataslist of filter generic datas
[in]attrXML Attribute used to filter
[in]compOpOne of {<,>,=} for matching against val or '@' for matching against expr

Definition at line 425 of file GNEMatchAttribute.cpp.

References GNE_ATTR_PARENT, and toString().

◆ getMatches()

std::vector< GNEAttributeCarrier * > GNEMatchAttribute::getMatches ( const char  compOp,
const double  val,
const std::string &  expr 
)
protected

FOX need this.

return ACs of the given type with matching attrs

Parameters
[in]compOpOne of {<,>,=} for matching against val or '@' for matching against expr

Definition at line 361 of file GNEMatchAttribute.cpp.

References GNEAttributeProperties::getAttr(), GNENet::getAttributeCarriers(), GNEMatchAttribute::CurrentEditedProperties::getAttributeProperties(), GNEViewNet::getNet(), GNETagProperties::getTag(), GNEMatchAttribute::CurrentEditedProperties::getTagProperties(), GNEFrame::getViewNet(), GNEAttributeProperties::isNumerical(), myCurrentEditedProperties, mySelectorFrameParent, and GNENetHelper::AttributeCarriers::retrieveAttributeCarriers().

Referenced by onCmdProcessString().

Here is the caller graph for this function:

◆ hideMatchAttribute()

void GNEMatchAttribute::hideMatchAttribute ( )

hide match attributes

Definition at line 129 of file GNEMatchAttribute.cpp.

◆ loadContents()

bool MFXGroupBoxModule::loadContents ( ) const
protectedvirtualinherited

load contents (can be reimplemented in children)

Definition at line 231 of file MFXGroupBoxModule.cpp.

Referenced by MFXGroupBoxModule::onCmdLoadButton().

Here is the caller graph for this function:

◆ onCmdAttributeSelected()

long GNEMatchAttribute::onCmdAttributeSelected ( FXObject *  ,
FXSelector  ,
void *   
)

Called when the user selects an attribute in the match box.

Definition at line 241 of file GNEMatchAttribute.cpp.

References MFXComboBoxAttrProperty::getCurrentAttrProperty(), myAttributeComboBox, myCurrentEditedProperties, refreshMatchAttribute(), and GNEMatchAttribute::CurrentEditedProperties::setAttributeProperties().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdCollapseButton()

long MFXGroupBoxModule::onCmdCollapseButton ( FXObject *  ,
FXSelector  ,
void *   
)
inherited

collapse GroupBoxModule

Definition at line 142 of file MFXGroupBoxModule.cpp.

References COLLAPSE, GUIIconSubSys::getIcon(), MFXGroupBoxModule::myCollapsableFrame, MFXGroupBoxModule::myCollapseButton, MFXGroupBoxModule::myCollapsed, and UNCOLLAPSE.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdExtendButton()

long MFXGroupBoxModule::onCmdExtendButton ( FXObject *  ,
FXSelector  ,
void *   
)
inherited

extends GroupBoxModule

Definition at line 158 of file MFXGroupBoxModule.cpp.

References GNEFrame::getScrollBarWidth(), GNETLSEditorFrame::TLSPhases::getTLSEditorParent(), GNETLSTable::getTLSPhasesParent(), GNEFrame::getViewNet(), GNEViewNet::getViewParent(), MFXGroupBoxModule::myCollapsableFrame, MFXGroupBoxModule::myFrameParent, and GNEViewParent::setFrameAreaWidth().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdHelp()

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

Called when the user clicks the help button.

Definition at line 311 of file GNEMatchAttribute.cpp.

References ACCEPT, GUIDesigns::buildFXButton(), MFXGroupBoxModule::getCollapsableFrame(), GUIIconSubSys::getIcon(), GUIDesignAuxiliarHorizontalFrame, GUIDesignButtonOK, GUIDesignDialogBox, GUIDesignHorizontalSeparator, GUIDesignLabelFrameInformation, MODEADDITIONAL, and TL.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdLoadButton()

long MFXGroupBoxModule::onCmdLoadButton ( FXObject *  ,
FXSelector  ,
void *   
)
inherited

load contents

Definition at line 212 of file MFXGroupBoxModule.cpp.

References MFXGroupBoxModule::loadContents().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdProcessString()

long GNEMatchAttribute::onCmdProcessString ( FXObject *  ,
FXSelector  ,
void *   
)

Called when the user enters a new selection expression.

Definition at line 257 of file GNEMatchAttribute.cpp.

References GNEMatchAttribute::CurrentEditedProperties::getAttributeProperties(), getMatches(), GNESelectorFrame::handleIDs(), GNEAttributeProperties::isNumerical(), myCurrentEditedProperties, myMatchString, and mySelectorFrameParent.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdResetButton()

long MFXGroupBoxModule::onCmdResetButton ( FXObject *  ,
FXSelector  ,
void *   
)
inherited

reset GroupBoxModule

Definition at line 184 of file MFXGroupBoxModule.cpp.

References GNEFrame::getViewNet(), GNEViewNet::getViewParent(), MFXGroupBoxModule::myFrameParent, and GNEViewParent::setFrameAreaWidth().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdSaveButton()

long MFXGroupBoxModule::onCmdSaveButton ( FXObject *  ,
FXSelector  ,
void *   
)
inherited

save contents

Definition at line 206 of file MFXGroupBoxModule.cpp.

References MFXGroupBoxModule::saveContents().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdTagSelected()

long GNEMatchAttribute::onCmdTagSelected ( FXObject *  obj,
FXSelector  ,
void *   
)

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

Definition at line 217 of file GNEMatchAttribute.cpp.

References GNEMatchAttribute::CurrentEditedProperties::getTagPropertiesAll(), myCurrentEditedProperties, myTagComboBoxVector, refreshMatchAttribute(), and GNEMatchAttribute::CurrentEditedProperties::setTagProperties().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onCmdToogleOnlyCommon()

long GNEMatchAttribute::onCmdToogleOnlyCommon ( FXObject *  ,
FXSelector  ,
void *   
)

Called when the user toogle the only common checkbox.

Definition at line 249 of file GNEMatchAttribute.cpp.

References refreshMatchAttribute().

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onPaint()

long MFXGroupBoxModule::onPaint ( FXObject *  ,
FXSelector  ,
void *  ptr 
)
inherited

draw MFXGroupBoxModule

Definition at line 129 of file MFXGroupBoxModule.cpp.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ onUpdResetButton()

long MFXGroupBoxModule::onUpdResetButton ( FXObject *  sender,
FXSelector  ,
void *   
)
inherited

update reset GroupBoxModule

Definition at line 193 of file MFXGroupBoxModule.cpp.

References GNEViewParent::getFrameAreaWidth(), GNEFrame::getViewNet(), GNEViewNet::getViewParent(), and MFXGroupBoxModule::myFrameParent.

Referenced by FXDEFMAP().

Here is the caller graph for this function:

◆ operator=()

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

Invalidated assignment operator.

◆ refreshMatchAttribute()

◆ saveContents()

bool MFXGroupBoxModule::saveContents ( ) const
protectedvirtualinherited

save contents (can be reimplemented in children)

Reimplemented in GNEFixDemandElements::FixOptions, and GNEFixNetworkElements::FixOptions.

Definition at line 224 of file MFXGroupBoxModule.cpp.

Referenced by MFXGroupBoxModule::onCmdSaveButton().

Here is the caller graph for this function:

◆ setText()

void MFXGroupBoxModule::setText ( const std::string &  text)
inherited

set text

Definition at line 117 of file MFXGroupBoxModule.cpp.

References MFXGroupBoxModule::myLabel.

Referenced by GNETLSEditorFrame::TLSPrograms::onCmdDefSwitchTLSProgram(), GNEViewObjectSelector::showNetworkElementsSelector(), GNESelectorFrame::SelectionInformation::updateInformationLabel(), and GNETagSelector::updateTagTypes().

Here is the caller graph for this function:

◆ showMatchAttribute()

void GNEMatchAttribute::showMatchAttribute ( )

show match attributes

Definition at line 120 of file GNEMatchAttribute.cpp.

References refreshMatchAttribute().

Referenced by GNESelectorFrame::show().

Here is the caller graph for this function:

◆ toggleSaveButton()

void MFXGroupBoxModule::toggleSaveButton ( const bool  value)
protectedinherited

enable or disable save buttons

Definition at line 238 of file MFXGroupBoxModule.cpp.

References MFXGroupBoxModule::mySaveButton.

Field Documentation

◆ myAttributeComboBox

MFXComboBoxAttrProperty* GNEMatchAttribute::myAttributeComboBox = nullptr
private

◆ myCollapsableFrame

FXVerticalFrame* MFXGroupBoxModule::myCollapsableFrame = nullptr
privateinherited

◆ myCollapseButton

FXButton* MFXGroupBoxModule::myCollapseButton = nullptr
privateinherited

button for collapse elements

Definition at line 109 of file MFXGroupBoxModule.h.

Referenced by MFXGroupBoxModule::MFXGroupBoxModule(), and MFXGroupBoxModule::onCmdCollapseButton().

◆ myCollapsed

bool MFXGroupBoxModule::myCollapsed
privateinherited

flag to check if this groupbox is collapsed

Definition at line 124 of file MFXGroupBoxModule.h.

Referenced by MFXGroupBoxModule::onCmdCollapseButton().

◆ myCurrentEditedProperties

CurrentEditedProperties* GNEMatchAttribute::myCurrentEditedProperties
private

◆ myExtendButton

MFXButtonTooltip* MFXGroupBoxModule::myExtendButton = nullptr
privateinherited

button for extend elements

Definition at line 112 of file MFXGroupBoxModule.h.

◆ myFrameParent

GNEFrame* MFXGroupBoxModule::myFrameParent = nullptr
privateinherited

◆ myLabel

FXLabel* MFXGroupBoxModule::myLabel = nullptr
privateinherited

label used in non collapsable MFXGroupBoxModule

Definition at line 106 of file MFXGroupBoxModule.h.

Referenced by MFXGroupBoxModule::MFXGroupBoxModule(), and MFXGroupBoxModule::setText().

◆ myLoadButton

FXButton* MFXGroupBoxModule::myLoadButton = nullptr
privateinherited

button for load elements

Definition at line 121 of file MFXGroupBoxModule.h.

Referenced by MFXGroupBoxModule::MFXGroupBoxModule().

◆ myMatchString

FXTextField* GNEMatchAttribute::myMatchString = nullptr
private

◆ myMatchStringButton

FXButton* GNEMatchAttribute::myMatchStringButton = nullptr
private

match string button

Definition at line 202 of file GNEMatchAttribute.h.

Referenced by disableMatchAttribute(), enableMatchAttribute(), and GNEMatchAttribute().

◆ myOptions

const int MFXGroupBoxModule::myOptions
privateinherited

GroupBoxModule options.

Definition at line 97 of file MFXGroupBoxModule.h.

Referenced by MFXGroupBoxModule::MFXGroupBoxModule().

◆ myResetWidthButton

FXButton* MFXGroupBoxModule::myResetWidthButton = nullptr
privateinherited

button for reset frame width

Definition at line 115 of file MFXGroupBoxModule.h.

◆ mySaveButton

FXButton* MFXGroupBoxModule::mySaveButton = nullptr
privateinherited

button for save elements

Definition at line 118 of file MFXGroupBoxModule.h.

Referenced by MFXGroupBoxModule::MFXGroupBoxModule(), and MFXGroupBoxModule::toggleSaveButton().

◆ mySelectorFrameParent

GNESelectorFrame* GNEMatchAttribute::mySelectorFrameParent = nullptr
private

pointer to selector frame parent

Definition at line 187 of file GNEMatchAttribute.h.

Referenced by GNEMatchAttribute::CurrentEditedProperties::CurrentEditedProperties(), getMatches(), and onCmdProcessString().

◆ myShowOnlyCommonAttributes

FXCheckButton* GNEMatchAttribute::myShowOnlyCommonAttributes = nullptr
private

checkbox for enable/disable show only common attributes

Definition at line 193 of file GNEMatchAttribute.h.

Referenced by GNEMatchAttribute(), and refreshMatchAttribute().

◆ myTagComboBoxVector

std::vector<MFXComboBoxTagProperty*> GNEMatchAttribute::myTagComboBoxVector
private

vector with tag property comboBoxes

Definition at line 190 of file GNEMatchAttribute.h.

Referenced by disableMatchAttribute(), enableMatchAttribute(), GNEMatchAttribute(), onCmdTagSelected(), and refreshMatchAttribute().


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