Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNEGenericDataFrame.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-2025 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 genericData elements
19/****************************************************************************/
20#pragma once
21#include <config.h>
22
25
26// ===========================================================================
27// class declaration
28// ===========================================================================
29
32class GNEDataInterval;
33class GNEDataSet;
34class GNEPathCreator;
35
36// ===========================================================================
37// class definitions
38// ===========================================================================
39
41
42public:
43 // ===========================================================================
44 // class DataSetSelector
45 // ===========================================================================
46
50
51 public:
53 DataSetSelector(GNEGenericDataFrame* genericDataFrameParent);
54
57
59 void refreshDataSetSelector(const GNEDataSet* currentDataSet);
60
62 GNEDataSet* getDataSet() const;
63
67 long onCmdCreateDataSet(FXObject*, FXSelector, void*);
68
70 long onCmdSetNewDataSetID(FXObject*, FXSelector, void*);
71
73 long onCmdSelectDataSet(FXObject* obj, FXSelector, void*);
74
76 long onCmdSelectCheckButton(FXObject* obj, FXSelector, void*);
77
79
80 protected:
81 FOX_CONSTRUCTOR(DataSetSelector)
82
83 private:
86
89
91 FXHorizontalFrame* myHorizontalFrameNewID;
92
95
98
101 };
102
103 // ===========================================================================
104 // class IntervalSelector
105 // ===========================================================================
106
110
111 public:
113 IntervalSelector(GNEGenericDataFrame* genericDataFrameParent);
114
117
119 void enableContents() const;
120
122 void disableContents() const;
123
126
129
133 long onCmdCreateInterval(FXObject*, FXSelector, void*);
134
136 long onCmdSelectInterval(FXObject*, FXSelector, void*);
137
139 long onCmdSetIntervalAttribute(FXObject*, FXSelector, void*);
140
142 long onCmdSelectCheckButton(FXObject* obj, FXSelector, void*);
143
145
146 protected:
148 FOX_CONSTRUCTOR(IntervalSelector)
149
150 private:
152 FXTreeItem* addIntervalItem(GNEDataInterval* dataInterval, FXTreeItem* itemParent = nullptr);
153
156
159
161 FXHorizontalFrame* myHorizontalFrameBegin;
162
164 FXTextField* myBeginTextField;
165
167 FXHorizontalFrame* myHorizontalFrameEnd;
168
170 FXTextField* myEndTextField;
171
174
177
179 std::map<FXTreeItem*, GNEDataInterval*> myTreeItemIntervalMap;
180 };
181
182 // ===========================================================================
183 // class AttributeSelector
184 // ===========================================================================
185
189
190 public:
192 AttributeSelector(GNEGenericDataFrame* genericDataFrameParent, SumoXMLTag tag);
193
196
199
201 std::string getFilteredAttribute() const;
202
204 const RGBColor& getScaledColor(const double min, const double max, const double value) const;
205
208
210 long onCmdSelectAttribute(FXObject*, FXSelector, void*);
211
213
214 protected:
215 FOX_CONSTRUCTOR(AttributeSelector)
216
217 private:
220
223
226
229 };
230
232 const DataSetSelector* getDataSetSelector() const;
233
236
239
242
244 void show();
245
247 void hide();
248
251
252protected:
259 GNEGenericDataFrame(GNEViewParent* viewParent, GNEViewNet* viewNet, SumoXMLTag tag, const bool pathCreator);
260
263
265 void intervalSelected();
266
268 virtual bool createPath(const bool useLastRoute);
269
272
275
278
281
284
287
288private:
291
294};
SumoXMLTag
Numbers representing SUMO-XML - element names.
long onCmdSelectAttribute(FXObject *, FXSelector, void *)
Called when the user select a attribute in the combo boz.
const RGBColor & getScaledColor(const double min, const double max, const double value) const
get color for the given value
FXLabel * myMinMaxLabel
label for min/max attribute
void refreshAttributeSelector()
refresh interval selector
GNEGenericDataFrame * myGenericDataFrameParent
pointer to genericData frame Parent
std::string getFilteredAttribute() const
get filtered attribute
SumoXMLTag myGenericDataTag
generic data tag
MFXComboBoxIcon * myAttributesComboBox
combo box for attributes
GNEDataSet * getDataSet() const
get current select data set ID
long onCmdSelectDataSet(FXObject *obj, FXSelector, void *)
Called when the user select an existent data set.
long onCmdCreateDataSet(FXObject *, FXSelector, void *)
FXButton * myCreateDataSetButton
create dataSet button
void refreshDataSetSelector(const GNEDataSet *currentDataSet)
refresh interval selector
FXHorizontalFrame * myHorizontalFrameNewID
horizontal frame new id
MFXComboBoxIcon * myDataSetsComboBox
comboBox with intervals
long onCmdSetNewDataSetID(FXObject *, FXSelector, void *)
Called when the user set a new data set ID.
long onCmdSelectCheckButton(FXObject *obj, FXSelector, void *)
Called when the user select check button.
FXTextField * myNewDataSetIDTextField
interval new id
GNEGenericDataFrame * myGenericDataFrameParent
pointer to genericData frame Parent
FXCheckButton * myNewDataSetCheckButton
check button to create a new dataSet
FXTreeList * myIntervalsTreelist
tree list to show the interval list
FXTreeItem * addIntervalItem(GNEDataInterval *dataInterval, FXTreeItem *itemParent=nullptr)
FOX needs this.
FXHorizontalFrame * myHorizontalFrameEnd
interval end horizontal frame
GNEDataInterval * getDataInterval() const
get current select data set ID
long onCmdCreateInterval(FXObject *, FXSelector, void *)
std::map< FXTreeItem *, GNEDataInterval * > myTreeItemIntervalMap
map used to save the Tree items with their GNEDataInterval
GNEGenericDataFrame * myGenericDataFrameParent
pointer to genericData frame Parent
void disableContents() const
disable contents
FXCheckButton * myNewIntervalCheckButton
check button to create a new interval
FXButton * myCreateIntervalButton
create interval button
FXHorizontalFrame * myHorizontalFrameBegin
interval begin horizontal frame
long onCmdSetIntervalAttribute(FXObject *, FXSelector, void *)
Called when the user changes begin or end.
long onCmdSelectInterval(FXObject *, FXSelector, void *)
Called when the user select an interval in the list.
void refreshIntervalSelector()
refresh interval selector
long onCmdSelectCheckButton(FXObject *obj, FXSelector, void *)
Called when the user select check button.
FXTextField * myBeginTextField
interval begin text field
GNEGenericDataFrame & operator=(const GNEGenericDataFrame &)=delete
Invalidated assignment operator.
GNEGenericDataFrame(const GNEGenericDataFrame &)=delete
Invalidated copy constructor.
void updateFrameAfterUndoRedo()
function called after undo/redo in the current frame
virtual bool createPath(const bool useLastRoute)
create path
void intervalSelected()
interval selected
IntervalSelector * myIntervalSelector
interval selector modul
DataSetSelector * myDataSetSelector
dataSet selector modul
const AttributeSelector * getAttributeSelector() const
getattribute selector modul
GNEGenericData * myTemplateGenericData
template generic data
GNEPathCreator * getPathCreator() const
get GNEPathCreator modul
AttributeSelector * myAttributeSelector
attribute selector modul
const DataSetSelector * getDataSetSelector() const
get dataSet selector modul
GNEAttributesEditor * myGenericDataAttributesEditor
parameters editor creator
GNEPathCreator * myPathCreator
edge path creator (used for Walks, rides and trips)
const IntervalSelector * getIntervalSelector() const
get interval selector modul
A single child window which contains a view of the simulation area.
MFXGroupBoxModule (based on FXGroupBox)