Eclipse SUMO - Simulation of Urban MObility
GNEAdditionalFrame.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2001-2024 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 additional elements
19 /****************************************************************************/
20 #pragma once
21 #include <config.h>
22 
30 
31 
32 // ===========================================================================
33 // class definitions
34 // ===========================================================================
39 class GNEAdditionalFrame : public GNEFrame {
40 
41 public:
42  // ===========================================================================
43  // class EdgeTypeSelector
44  // ===========================================================================
45 
47 
48  public:
50  E2MultilaneLegendModule(GNEFrame* frameParent);
51 
54 
56  void showE2MultilaneLegend();
57 
59  void hideE2MultilaneLegend();
60  };
61 
62  // ===========================================================================
63  // class HelpCreationModule
64  // ===========================================================================
65 
67 
68  public:
70  HelpCreationModule(GNEFrame* frameParent);
71 
74 
77 
80 
81  private:
83  std::string addTLString(const std::string& str);
84 
86  FXLabel* myHelpLabel = nullptr;
87 
89  std::map<SumoXMLTag, std::string> myHelpMap;
90  };
91 
96  GNEAdditionalFrame(GNEViewParent* viewParent, GNEViewNet* viewNet);
97 
100 
102  void show();
103 
108  bool addAdditional(const GNEViewNetHelper::ViewObjectsSelector& viewObjects);
109 
112 
115 
118 
121 
123  bool createPath(const bool useLastRoute);
124 
125 protected:
128 
130  void tagSelected();
131 
132 private:
133  // @brief create baseAdditionalObject
134  bool createBaseAdditionalObject(const GNETagProperties& tagProperty);
135 
137  bool buildAdditionalCommonAttributes(const GNETagProperties& tagValues);
138 
140  bool buildAdditionalOverEdge(GNELane* lane, const GNETagProperties& tagValues);
141 
143  bool buildAdditionalOverLane(GNELane* lane, const GNETagProperties& tagValues);
144 
146  bool buildAdditionalOverView(const GNETagProperties& tagValues);
147 
150 
153 
156 
159 
162 
165 
168 
171 
174 };
SumoXMLTag
Numbers representing SUMO-XML - element names.
E2MultilaneLegendModule(GNEFrame *frameParent)
constructor
std::map< SumoXMLTag, std::string > myHelpMap
map with tags and their associated help
std::string addTLString(const std::string &str)
add translated string
void showHelpCreationModule(SumoXMLTag XMLTag)
show Legend modul
HelpCreationModule(GNEFrame *frameParent)
constructor
GNESelectorParent * mySelectorAdditionalParent
Module for select a single parent additional.
bool buildAdditionalOverLane(GNELane *lane, const GNETagProperties &tagValues)
build additional over a single lane
GNEConsecutiveSelector * getConsecutiveLaneSelector() const
get consecutive lane selector
GNETagSelector * myAdditionalTagSelector
item selector
GNENetworkSelector * getLanesSelector() const
get edges selector
bool createPath(const bool useLastRoute)
create path
GNEAdditionalFrame(GNEViewParent *viewParent, GNEViewNet *viewNet)
Constructor.
bool addAdditional(const GNEViewNetHelper::ViewObjectsSelector &viewObjects)
add additional element
E2MultilaneLegendModule * myE2MultilaneLegendModule
Module for show E2 Detector legend.
GNENetworkSelector * getEdgesSelector() const
get edges selector
void tagSelected()
Tag selected in GNETagSelector.
GNENetworkSelector * myLanesSelector
Module for select lanes.
bool buildAdditionalOverView(const GNETagProperties &tagValues)
build additional over view
GNENeteditAttributes * getNeteditAttributes() const
get Netedit parameter
bool buildAdditionalCommonAttributes(const GNETagProperties &tagValues)
build common additional attributes
HelpCreationModule * myHelpCreationModule
Module for show additional help legend.
GNEAttributesCreator * myAdditionalAttributes
internal additional attributes
~GNEAdditionalFrame()
Destructor.
GNENetworkSelector * myEdgesSelector
Module for select edges.
CommonXMLStructure::SumoBaseObject * myBaseAdditional
SumoBaseObject used for create additional.
bool createBaseAdditionalObject(const GNETagProperties &tagProperty)
GNENeteditAttributes * myNeteditAttributes
Netedit parameter.
bool buildAdditionalOverEdge(GNELane *lane, const GNETagProperties &tagValues)
build additional over an edge (parent of lane)
GNEConsecutiveSelector * myConsecutiveLaneSelector
Module for select consecutive lanes.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:46
class used to group all variables related with objects under cursor after a click over view
A single child window which contains a view of the simulation area.
Definition: GNEViewParent.h:88
MFXGroupBoxModule (based on FXGroupBox)