Skip to content

Commit

Permalink
Updated GNEVehicle. Refs #13608
Browse files Browse the repository at this point in the history
  • Loading branch information
palvarezlopez committed Jul 13, 2023
1 parent d782d61 commit 3581e6f
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 26 deletions.
24 changes: 24 additions & 0 deletions src/netedit/elements/demand/GNERouteHandler.cpp
Expand Up @@ -2041,6 +2041,30 @@ GNERouteHandler::transformToFlow(GNEVehicle* originalVehicle) {
}


void
GNERouteHandler::transformToTripJunctions(GNEVehicle* originalVehicle) {

}


void
GNERouteHandler::transformToFlowJunctions(GNEVehicle* originalVehicle) {

}


void
GNERouteHandler::transformToTripTAZs(GNEVehicle* originalVehicle) {

}


void
GNERouteHandler::transformToFlowTAZs(GNEVehicle* originalVehicle) {

}


void
GNERouteHandler::transformToPerson(GNEPerson* originalPerson) {
// get pointer to net
Expand Down
12 changes: 12 additions & 0 deletions src/netedit/elements/demand/GNERouteHandler.h
Expand Up @@ -185,6 +185,18 @@ class GNERouteHandler : public RouteHandler {
/// @brief transform to flow
static void transformToFlow(GNEVehicle* originalVehicle);

/// @brief transform to trip over junctions
static void transformToTripJunctions(GNEVehicle* originalVehicle);

/// @brief transform to flow over junctions
static void transformToFlowJunctions(GNEVehicle* originalVehicle);

/// @brief transform to trip over TAZs
static void transformToTripTAZs(GNEVehicle* originalVehicle);

/// @brief transform to flow over TAZs
static void transformToFlowTAZs(GNEVehicle* originalVehicle);

/// @}

/// @brief transform person functions
Expand Down
60 changes: 36 additions & 24 deletions src/netedit/elements/demand/GNEVehicle.cpp
Expand Up @@ -94,10 +94,12 @@ GNEVehicle::GNESingleVehiclePopupMenu::GNESingleVehiclePopupMenu(GNEVehicle* veh
// Create menu commands for all transform
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("Trip (over junctions)"),
GUIIconSubSys::getIcon(GUIIcon::TRIP_JUNCTIONS), this, MID_GNE_VEHICLE_TRANSFORM_TRIP_JUNCTIONS);
GUIIconSubSys::getIcon(GUIIcon::TRIP_JUNCTIONS), this, MID_GNE_VEHICLE_TRANSFORM_TRIP_JUNCTIONS,
(myVehicle->getTagProperty().getTag() == GNE_TAG_TRIP_JUNCTIONS));
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("Flow (over junctions)"),
GUIIconSubSys::getIcon(GUIIcon::FLOW_JUNCTIONS), this, MID_GNE_VEHICLE_TRANSFORM_FLOW_JUNCTIONS);
GUIIconSubSys::getIcon(GUIIcon::FLOW_JUNCTIONS), this, MID_GNE_VEHICLE_TRANSFORM_FLOW_JUNCTIONS,
(myVehicle->getTagProperty().getTag() == GNE_TAG_FLOW_JUNCTIONS));
} else if (myVehicle->getTagProperty().overFromToTAZs()) {
// create menu pane for transform operations
FXMenuPane* transformOperation = new FXMenuPane(this);
Expand All @@ -106,10 +108,12 @@ GNEVehicle::GNESingleVehiclePopupMenu::GNESingleVehiclePopupMenu(GNEVehicle* veh
// Create menu commands for all transform
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("Trip (over TAZs)"),
GUIIconSubSys::getIcon(GUIIcon::TRIP_TAZS), this, MID_GNE_VEHICLE_TRANSFORM_TRIP_TAZS);
GUIIconSubSys::getIcon(GUIIcon::TRIP_TAZS), this, MID_GNE_VEHICLE_TRANSFORM_TRIP_TAZS,
(myVehicle->getTagProperty().getTag() == GNE_TAG_TRIP_TAZS));
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("Flow (over TAZs)"),
GUIIconSubSys::getIcon(GUIIcon::FLOW_TAZS), this, MID_GNE_VEHICLE_TRANSFORM_FLOW_TAZS);
GUIIconSubSys::getIcon(GUIIcon::FLOW_TAZS), this, MID_GNE_VEHICLE_TRANSFORM_FLOW_TAZS,
(myVehicle->getTagProperty().getTag() == GNE_TAG_FLOW_TAZS));
} else {
// create menu pane for transform operations
FXMenuPane* transformOperation = new FXMenuPane(this);
Expand All @@ -118,22 +122,28 @@ GNEVehicle::GNESingleVehiclePopupMenu::GNESingleVehiclePopupMenu(GNEVehicle* veh
// Create menu commands for all transform
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("Vehicle"),
GUIIconSubSys::getIcon(GUIIcon::VEHICLE), this, MID_GNE_VEHICLE_TRANSFORM_VEHICLE);
GUIIconSubSys::getIcon(GUIIcon::VEHICLE), this, MID_GNE_VEHICLE_TRANSFORM_VEHICLE,
(myVehicle->getTagProperty().getTag() == SUMO_TAG_VEHICLE));
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("Vehicle (embedded route)"),
GUIIconSubSys::getIcon(GUIIcon::VEHICLE), this, MID_GNE_VEHICLE_TRANSFORM_VEHICLE_EMBEDDED);
GUIIconSubSys::getIcon(GUIIcon::VEHICLE), this, MID_GNE_VEHICLE_TRANSFORM_VEHICLE_EMBEDDED,
(myVehicle->getTagProperty().getTag() == GNE_TAG_VEHICLE_WITHROUTE));
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("RouteFlow"),
GUIIconSubSys::getIcon(GUIIcon::ROUTEFLOW), this, MID_GNE_VEHICLE_TRANSFORM_ROUTEFLOW);
GUIIconSubSys::getIcon(GUIIcon::ROUTEFLOW), this, MID_GNE_VEHICLE_TRANSFORM_ROUTEFLOW,
(myVehicle->getTagProperty().getTag() == GNE_TAG_FLOW_ROUTE));
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("RouteFlow (embedded route)"),
GUIIconSubSys::getIcon(GUIIcon::ROUTEFLOW), this, MID_GNE_VEHICLE_TRANSFORM_FLOW_EMBEDDED);
GUIIconSubSys::getIcon(GUIIcon::ROUTEFLOW), this, MID_GNE_VEHICLE_TRANSFORM_FLOW_EMBEDDED,
(myVehicle->getTagProperty().getTag() == GNE_TAG_FLOW_WITHROUTE));
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("Trip"),
GUIIconSubSys::getIcon(GUIIcon::TRIP), this, MID_GNE_VEHICLE_TRANSFORM_TRIP);
GUIIconSubSys::getIcon(GUIIcon::TRIP), this, MID_GNE_VEHICLE_TRANSFORM_TRIP,
(myVehicle->getTagProperty().getTag() == SUMO_TAG_TRIP));
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("Flow"),
GUIIconSubSys::getIcon(GUIIcon::FLOW), this, MID_GNE_VEHICLE_TRANSFORM_FLOW);
GUIIconSubSys::getIcon(GUIIcon::FLOW), this, MID_GNE_VEHICLE_TRANSFORM_FLOW,
(myVehicle->getTagProperty().getTag() == SUMO_TAG_FLOW));
}
}
}
Expand Down Expand Up @@ -164,16 +174,16 @@ GNEVehicle::GNESingleVehiclePopupMenu::onCmdTransform(FXObject*, FXSelector sel,
GNERouteHandler::transformToRouteFlow(myVehicle, true);
break;
case MID_GNE_VEHICLE_TRANSFORM_TRIP_JUNCTIONS:
// GNERouteHandler::transformToVehicle(myVehicle, false);
GNERouteHandler::transformToTripJunctions(myVehicle);
break;
case MID_GNE_VEHICLE_TRANSFORM_FLOW_JUNCTIONS:
// GNERouteHandler::transformToVehicle(myVehicle, false);
GNERouteHandler::transformToFlowJunctions(myVehicle);
break;
case MID_GNE_VEHICLE_TRANSFORM_TRIP_TAZS:
// GNERouteHandler::transformToVehicle(myVehicle, false);
GNERouteHandler::transformToTripTAZs(myVehicle);
break;
case MID_GNE_VEHICLE_TRANSFORM_FLOW_TAZS:
// GNERouteHandler::transformToVehicle(myVehicle, false);
GNERouteHandler::transformToFlowTAZs(myVehicle);
break;
default:
break;
Expand Down Expand Up @@ -281,12 +291,14 @@ GNEVehicle::GNESelectedVehiclesPopupMenu::GNESelectedVehiclesPopupMenu(GNEVehicl
TL("Vehicles"),
GUIIconSubSys::getIcon(GUIIcon::VEHICLE), this, MID_GNE_VEHICLE_TRANSFORM_VEHICLE);
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("Vehicles (embedded route)"), GUIIconSubSys::getIcon(GUIIcon::VEHICLE), this, MID_GNE_VEHICLE_TRANSFORM_VEHICLE_EMBEDDED);
TL("Vehicles (embedded route)"),
GUIIconSubSys::getIcon(GUIIcon::VEHICLE), this, MID_GNE_VEHICLE_TRANSFORM_VEHICLE_EMBEDDED);
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("RouteFlows"),
GUIIconSubSys::getIcon(GUIIcon::ROUTEFLOW), this, MID_GNE_VEHICLE_TRANSFORM_ROUTEFLOW);
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("RouteFlows (embedded route)"), GUIIconSubSys::getIcon(GUIIcon::ROUTEFLOW), this, MID_GNE_VEHICLE_TRANSFORM_FLOW_EMBEDDED);
TL("RouteFlows (embedded route)"),
GUIIconSubSys::getIcon(GUIIcon::ROUTEFLOW), this, MID_GNE_VEHICLE_TRANSFORM_FLOW_EMBEDDED);
GUIDesigns::buildFXMenuCommand(transformOperation,
TL("Trips"),
GUIIconSubSys::getIcon(GUIIcon::TRIP), this, MID_GNE_VEHICLE_TRANSFORM_TRIP);
Expand Down Expand Up @@ -363,37 +375,37 @@ GNEVehicle::GNESelectedVehiclesPopupMenu::onCmdTransform(FXObject* obj, FXSelect
case MID_GNE_VEHICLE_TRANSFORM_TRIP_JUNCTIONS:
if (myRestrictedMenuCommands.count(obj) > 0) {
if (vehicle->getTagProperty().getTag() == myRestrictedMenuCommands.at(obj)) {
// GNERouteHandler::transformToVehicle(vehicle, false);
GNERouteHandler::transformToTripJunctions(vehicle);
}
} else {
// GNERouteHandler::transformToVehicle(vehicle, false);
GNERouteHandler::transformToTripJunctions(vehicle);
}
break;
case MID_GNE_VEHICLE_TRANSFORM_FLOW_JUNCTIONS:
if (myRestrictedMenuCommands.count(obj) > 0) {
if (vehicle->getTagProperty().getTag() == myRestrictedMenuCommands.at(obj)) {
// GNERouteHandler::transformToVehicle(vehicle, false);
GNERouteHandler::transformToFlowJunctions(vehicle);
}
} else {
// GNERouteHandler::transformToVehicle(vehicle, false);
GNERouteHandler::transformToFlowJunctions(vehicle);
}
break;
case MID_GNE_VEHICLE_TRANSFORM_TRIP_TAZS:
if (myRestrictedMenuCommands.count(obj) > 0) {
if (vehicle->getTagProperty().getTag() == myRestrictedMenuCommands.at(obj)) {
// GNERouteHandler::transformToVehicle(vehicle, false);
GNERouteHandler::transformToTripTAZs(vehicle);
}
} else {
// GNERouteHandler::transformToVehicle(vehicle, false);
GNERouteHandler::transformToTripTAZs(vehicle);
}
break;
case MID_GNE_VEHICLE_TRANSFORM_FLOW_TAZS:
if (myRestrictedMenuCommands.count(obj) > 0) {
if (vehicle->getTagProperty().getTag() == myRestrictedMenuCommands.at(obj)) {
// GNERouteHandler::transformToVehicle(vehicle, false);
GNERouteHandler::transformToFlowTAZs(vehicle);
}
} else {
// GNERouteHandler::transformToVehicle(vehicle, false);
GNERouteHandler::transformToFlowTAZs(vehicle);
}
break;
default:
Expand Down
6 changes: 5 additions & 1 deletion src/utils/gui/div/GUIDesigns.cpp
Expand Up @@ -39,11 +39,15 @@ GUIDesigns::buildFXMenuTitle(FXComposite* p, const std::string& text, FXIcon* ic


FXMenuCommand*
GUIDesigns::buildFXMenuCommand(FXComposite* p, const std::string& text, FXIcon* icon, FXObject* tgt, FXSelector sel) {
GUIDesigns::buildFXMenuCommand(FXComposite* p, const std::string& text, FXIcon* icon, FXObject* tgt, FXSelector sel, const bool disable) {
// build menu command
FXMenuCommand* menuCommand = new FXMenuCommand(p, text.c_str(), icon, tgt, sel, LAYOUT_FIX_HEIGHT);
// set width and height (to avoid problems between Windows und Linux)
menuCommand->setHeight(GUIDesignHeight);
// check if disable after creation (used in certain parts of netedit)
if (disable) {
menuCommand->disable();
}
// return menuCommand
return menuCommand;
}
Expand Down
2 changes: 1 addition & 1 deletion src/utils/gui/div/GUIDesigns.h
Expand Up @@ -703,7 +703,7 @@ class GUIDesigns {
static MFXMenuCheckIcon* buildFXMenuCheckboxIcon(FXComposite* p, const std::string& text, const std::string& shortcut, const std::string& info, FXIcon* icon, FXObject* tgt, FXSelector sel);

/// @brief build menu command
static FXMenuCommand* buildFXMenuCommand(FXComposite* p, const std::string& text, FXIcon* icon, FXObject* tgt, FXSelector sel);
static FXMenuCommand* buildFXMenuCommand(FXComposite* p, const std::string& text, FXIcon* icon, FXObject* tgt, FXSelector sel, const bool disable = false);

/// @brief build menu command (for recent files)
static FXMenuCommand* buildFXMenuCommandRecentFile(FXComposite* p, const std::string& text, FXObject* tgt, FXSelector sel);
Expand Down

0 comments on commit 3581e6f

Please sign in to comment.