Eclipse SUMO - Simulation of Urban MObility
GNEVehicleFrame.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2022 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials are made available under the
5 // terms of the Eclipse Public License 2.0 which is available at
6 // https://www.eclipse.org/legal/epl-2.0/
7 // This Source Code may also be made available under the following Secondary
8 // Licenses when the conditions for such availability set forth in the Eclipse
9 // Public License 2.0 are satisfied: GNU General Public License, version 2
10 // or later which is available at
11 // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 /****************************************************************************/
18 // The Widget for add Vehicles/Flows/Trips/etc. elements
19 /****************************************************************************/
20 #pragma once
21 #include <config.h>
22 
25 
26 
27 // ===========================================================================
28 // class definitions
29 // ===========================================================================
33 class GNEVehicleFrame : public GNEFrame {
34 
35 public:
36 
37  // ===========================================================================
38  // class HelpCreation
39  // ===========================================================================
40 
41  class HelpCreation : public FXGroupBoxModule {
42 
43  public:
45  HelpCreation(GNEVehicleFrame* vehicleFrameParent);
46 
48  ~HelpCreation();
49 
51  void showHelpCreation();
52 
54  void hideHelpCreation();
55 
57  void updateHelpCreation();
58 
59  private:
62 
65  };
66 
71  GNEVehicleFrame(FXHorizontalFrame* horizontalFrameParent, GNEViewNet* viewNet);
72 
75 
77  void show();
78 
80  void hide();
81 
87  bool addVehicle(const GNEViewNetHelper::ObjectsUnderCursor& objectsUnderCursor, const GNEViewNetHelper::MouseButtonKeyPressed& mouseButtonKeyPressed);
88 
91 
94 
95 protected:
97  void tagSelected();
98 
100  void demandElementSelected();
101 
103  void createPath();
104 
105 private:
108 
111 
114 
117 
120 
123 
126 };
FXGroupBoxModule (based on FXGroupBox)
Builds trigger objects for GNENet (busStops, chargingStations, detectors, etc..)
void showHelpCreation()
show HelpCreation
void hideHelpCreation()
hide HelpCreation
void updateHelpCreation()
update HelpCreation
GNEVehicleFrame * myVehicleFrameParent
pointer to Vehicle Frame Parent
HelpCreation(GNEVehicleFrame *vehicleFrameParent)
constructor
FXLabel * myInformationLabel
Label with creation information.
void hide()
hide Frame
GNEFrameModules::DemandElementSelector * myTypeSelector
Vehicle Type selectors.
GNERouteHandler myRouteHandler
route handler
GNEFrameModules::TagSelector * myVehicleTagSelector
vehicle tag selector (used to select diffent kind of vehicles)
CommonXMLStructure::SumoBaseObject * myVehicleBaseObject
vehicle base object
GNEFrameModules::PathCreator * getPathCreator() const
get PathCreator modul
~GNEVehicleFrame()
Destructor.
void show()
show Frame
void createPath()
create path
GNEFrameAttributeModules::AttributesCreator * myVehicleAttributes
internal vehicle attributes
bool addVehicle(const GNEViewNetHelper::ObjectsUnderCursor &objectsUnderCursor, const GNEViewNetHelper::MouseButtonKeyPressed &mouseButtonKeyPressed)
add vehicle element
GNEFrameModules::TagSelector * getVehicleTagSelector() const
get vehicle tag selector (needed for transform vehicles)
void tagSelected()
Tag selected in TagSelector.
GNEVehicleFrame(FXHorizontalFrame *horizontalFrameParent, GNEViewNet *viewNet)
Constructor.
HelpCreation * myHelpCreation
Help creation.
GNEFrameModules::PathCreator * myPathCreator
edge path creator (used for trips and flows)
void demandElementSelected()
selected vehicle type in DemandElementSelector
class used to group all variables related with objects under cursor after a click over view
class used to group all variables related with mouse buttons and key pressed after certain events