Skip to content

Commit

Permalink
Added checkbox "add bikelan" in GNECreateEdgeFrame. Refs #9725
Browse files Browse the repository at this point in the history
  • Loading branch information
palvarezlopez committed Nov 13, 2023
1 parent 3e94914 commit ef1f19d
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 26 deletions.
28 changes: 19 additions & 9 deletions src/netedit/frames/network/GNECreateEdgeFrame.cpp
Expand Up @@ -77,32 +77,34 @@ GNECreateEdgeFrame::EdgeTypeSelector::EdgeTypeSelector(GNECreateEdgeFrame* creat
myCurrentIndex(0) {
// default edge radio button
myCreateDefaultEdgeType = new FXRadioButton(getCollapsableFrame(), TL("Create default edge"),
this, MID_GNE_CREATEEDGEFRAME_SELECTRADIOBUTTON, GUIDesignRadioButton);
this, MID_GNE_CREATEEDGEFRAME_SELECTRADIOBUTTON, GUIDesignRadioButton);
// default short radio button
myCreateDefaultShortEdgeType = new FXRadioButton(getCollapsableFrame(), TL("Create default edge short"),
this, MID_GNE_CREATEEDGEFRAME_SELECTRADIOBUTTON, GUIDesignRadioButton);
this, MID_GNE_CREATEEDGEFRAME_SELECTRADIOBUTTON, GUIDesignRadioButton);
// checkboxes
myNoPedestriansCheckButton = new FXCheckButton(getCollapsableFrame(), TL("Disallow for pedestrians"),
this, MID_GNE_CREATEEDGEFRAME_CHECKBUTTON, GUIDesignCheckButton);
this, MID_GNE_CREATEEDGEFRAME_CHECKBUTTON, GUIDesignCheckButton);
myAddSidewalkCheckButton = new FXCheckButton(getCollapsableFrame(), TL("Add sidewalk"),
this, MID_GNE_CREATEEDGEFRAME_CHECKBUTTON, GUIDesignCheckButton);
this, MID_GNE_CREATEEDGEFRAME_CHECKBUTTON, GUIDesignCheckButton);
myAddBikelaneCheckButton = new FXCheckButton(getCollapsableFrame(), TL("Add bikelane"),
this, MID_GNE_CREATEEDGEFRAME_CHECKBUTTON, GUIDesignCheckButton);
// use custom edge radio button
myCreateCustomEdgeType = new FXRadioButton(getCollapsableFrame(), TL("Use edgeType/template"),
this, MID_GNE_CREATEEDGEFRAME_SELECTRADIOBUTTON, GUIDesignRadioButton);
this, MID_GNE_CREATEEDGEFRAME_SELECTRADIOBUTTON, GUIDesignRadioButton);
// edge types combo box
myEdgeTypesComboBox = new MFXComboBoxIcon(getCollapsableFrame(), GUIDesignComboBoxNCol, true, GUIDesignComboBoxVisibleItemsMedium,
this, MID_GNE_CREATEEDGEFRAME_SELECTTEMPLATE, GUIDesignComboBoxAttribute);
this, MID_GNE_CREATEEDGEFRAME_SELECTTEMPLATE, GUIDesignComboBoxAttribute);
// create horizontal frame
FXHorizontalFrame* horizontalFrameButtons = new FXHorizontalFrame(getCollapsableFrame(), GUIDesignAuxiliarHorizontalFrame);
// create new edge type button
myAddEdgeTypeButton = GUIDesigns::buildFXButton(horizontalFrameButtons, TL("Add"), "", TL("Add edge type"), GUIIconSubSys::getIcon(GUIIcon::ADD),
this, MID_GNE_CREATEEDGEFRAME_ADD, GUIDesignButton);
this, MID_GNE_CREATEEDGEFRAME_ADD, GUIDesignButton);
// create delete edge type button
myDeleteEdgeTypeButton = GUIDesigns::buildFXButton(horizontalFrameButtons, TL("Delete"), "", TL("Delete edge type"), GUIIconSubSys::getIcon(GUIIcon::REMOVE),
this, MID_GNE_CREATEEDGEFRAME_DELETE, GUIDesignButton);
this, MID_GNE_CREATEEDGEFRAME_DELETE, GUIDesignButton);
// create delete edge type button
myCreateFromTemplate = GUIDesigns::buildFXButton(getCollapsableFrame(), TL("Create from template"), "", TL("Create edgeType from template"), GUIIconSubSys::getIcon(GUIIcon::EDGE),
this, MID_GNE_CREATEEDGEFRAME_CREATEFROMTEMPLATE, GUIDesignButton);
this, MID_GNE_CREATEEDGEFRAME_CREATEFROMTEMPLATE, GUIDesignButton);
// by default, create custom edge
myCreateDefaultEdgeType->setCheck(TRUE);
// check if enable disable pedestrians
Expand Down Expand Up @@ -131,6 +133,7 @@ GNECreateEdgeFrame::EdgeTypeSelector::refreshEdgeTypeSelector() {
if (myCreateDefaultEdgeType->getCheck() || myCreateDefaultShortEdgeType->getCheck()) {
// enable check boxes
myAddSidewalkCheckButton->enable();
myAddBikelaneCheckButton->enable();
myNoPedestriansCheckButton->enable();
// disable create from template
myCreateFromTemplate->disable();
Expand All @@ -146,6 +149,7 @@ GNECreateEdgeFrame::EdgeTypeSelector::refreshEdgeTypeSelector() {
} else if (myCreateCustomEdgeType->getCheck()) {
// disable check boxes
myAddSidewalkCheckButton->disable();
myAddBikelaneCheckButton->disable();
myNoPedestriansCheckButton->disable();
// enable buttons
myAddEdgeTypeButton->enable();
Expand Down Expand Up @@ -268,6 +272,12 @@ GNECreateEdgeFrame::EdgeTypeSelector::isAddSidewalkEnabled() const {
}


bool
GNECreateEdgeFrame::EdgeTypeSelector::isAddBikelaneEnabled() const {
return (myAddBikelaneCheckButton->getCheck() == TRUE);
}


void
GNECreateEdgeFrame::EdgeTypeSelector::clearEdgeTypeSelected() {
myEdgeTypeSelected = nullptr;
Expand Down
6 changes: 6 additions & 0 deletions src/netedit/frames/network/GNECreateEdgeFrame.h
Expand Up @@ -86,6 +86,9 @@ class GNECreateEdgeFrame : public GNEFrame {
/// @brief check if add sidewalk check button is enabled
bool isAddSidewalkEnabled() const;

/// @brief check if add bikelane check button is enabled
bool isAddBikelaneEnabled() const;

/// @brief clear edgeType selected
void clearEdgeTypeSelected();

Expand Down Expand Up @@ -149,6 +152,9 @@ class GNECreateEdgeFrame : public GNEFrame {
/// @brief add sidewalk check button
FXCheckButton* myAddSidewalkCheckButton = nullptr;

/// @brief add bike check button
FXCheckButton* myAddBikelaneCheckButton = nullptr;

/// @brief create custom edge
FXRadioButton* myCreateCustomEdgeType = nullptr;

Expand Down
42 changes: 25 additions & 17 deletions tests/netedit/attributesEnum.py
Expand Up @@ -20,6 +20,9 @@
# --------------------------------


from re import U


class editElements:
overlapped = 5

Expand Down Expand Up @@ -174,25 +177,30 @@ class contextualMenu:

class edge:
class create:
numLanes = 8
speed = 9
allowButton = 10
allow = 11
disallow = 12
spreadType = 13
priority = 15
width = 16
sidewalkWidth = 17
bikelaneWidth = 18
defaultShort = 3
disallowPedestrians = 4
addSidewalk = 5
addBikelane = 6
useTemplate = 7
numLanes = 9
speed = 10
allowButton = 11
allow = 12
disallow = 13
spreadType = 14
priority = 16
width = 17
sidewalkWidth = 18
bikelaneWidth = 19

class createLane:
add = 24
remove = 25
speed = 26
allowButton = 27
allow = 28
disallow = 29
width = 30
add = 25
remove = 26
speed = 27
allowButton = 28
allow = 29
disallow = 30
width = 31

class inspect:
id = 1
Expand Down

0 comments on commit ef1f19d

Please sign in to comment.