Skip to content

Commit

Permalink
Fixed problem in check functions from edges and lanes. Refs #14175
Browse files Browse the repository at this point in the history
  • Loading branch information
palvarezlopez committed Dec 20, 2023
1 parent f092f2a commit af8ec3b
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 5 deletions.
4 changes: 2 additions & 2 deletions src/netedit/GNEViewNet.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3246,7 +3246,7 @@ GNEViewNet::updateCursor() {
setDragCursor(GUICursorSubSys::getCursor(GUICursor::MOVEVIEW));
} else if (cursorInspect) {
// special case for inspect lanes
if (checkSelectEdges() && myEditModes.isCurrentSupermodeNetwork() && (myEditModes.networkEditMode == NetworkEditMode::NETWORK_INSPECT)) {
if (!checkSelectEdges() && myEditModes.isCurrentSupermodeNetwork() && (myEditModes.networkEditMode == NetworkEditMode::NETWORK_INSPECT)) {
// inspect lane cursor
setDefaultCursor(GUICursorSubSys::getCursor(GUICursor::INSPECT_LANE));
setDragCursor(GUICursorSubSys::getCursor(GUICursor::INSPECT_LANE));
Expand All @@ -3257,7 +3257,7 @@ GNEViewNet::updateCursor() {
}
} else if (cursorSelect) {
// special case for select lanes
if (checkSelectEdges() && myEditModes.isCurrentSupermodeNetwork() && (myEditModes.networkEditMode == NetworkEditMode::NETWORK_SELECT)) {
if (!checkSelectEdges() && myEditModes.isCurrentSupermodeNetwork() && (myEditModes.networkEditMode == NetworkEditMode::NETWORK_SELECT)) {
// select lane cursor
setDefaultCursor(GUICursorSubSys::getCursor(GUICursor::SELECT_LANE));
setDragCursor(GUICursorSubSys::getCursor(GUICursor::SELECT_LANE));
Expand Down
35 changes: 32 additions & 3 deletions src/netedit/elements/network/GNEEdge.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,20 @@ GNEEdge::checkDrawDeleteContour() const {
const auto& editModes = myNet->getViewNet()->getEditModes();
// check if we're in delete mode
if (editModes.isCurrentSupermodeNetwork() && (editModes.networkEditMode == NetworkEditMode::NETWORK_DELETE)) {
return myNet->getViewNet()->checkOverLockedElement(this, mySelected);
// check lanes
for (const auto &lane : myLanes) {
if (myNet->getViewNet()->checkOverLockedElement(lane, mySelected) &&
(myNet->getViewNet()->getViewObjectsSelector().getGUIGlObjectFront() == lane)) {
return true;
}
}
// check edge
if (myNet->getViewNet()->checkOverLockedElement(this, mySelected) &&
(myNet->getViewNet()->getViewObjectsSelector().getGUIGlObjectFront() == this)) {
return true;
}
// nothing to draw
return false;
} else {
return false;
}
Expand All @@ -318,7 +331,20 @@ GNEEdge::checkDrawSelectContour() const {
const auto& editModes = myNet->getViewNet()->getEditModes();
// check if we're in select mode
if (editModes.isCurrentSupermodeNetwork() && (editModes.networkEditMode == NetworkEditMode::NETWORK_SELECT)) {
return myNet->getViewNet()->checkOverLockedElement(this, mySelected);
// check lanes
for (const auto &lane : myLanes) {
if (myNet->getViewNet()->checkOverLockedElement(lane, mySelected) &&
(myNet->getViewNet()->getViewObjectsSelector().getGUIGlObjectFront() == lane)) {
return true;
}
}
// check edge
if (myNet->getViewNet()->checkOverLockedElement(this, mySelected) &&
(myNet->getViewNet()->getViewObjectsSelector().getGUIGlObjectFront() == this)) {
return true;
}
// nothing to draw
return false;
} else {
return false;
}
Expand Down Expand Up @@ -346,8 +372,11 @@ GNEEdge::checkDrawMoveContour() const {
(myNet->getViewNet()->getViewObjectsSelector().getGUIGlObjectFront() == this)) {
return true;
}
// nothing to draw
return false;
} else {
return false;
}
return false;
}


Expand Down

0 comments on commit af8ec3b

Please sign in to comment.