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
24
25// ===========================================================================
26// class declaration
27// ===========================================================================
28
31class GNEDataInterval;
32class GNEDataSet;
33class GNEPathCreator;
34
35// ===========================================================================
36// class definitions
37// ===========================================================================
38
40
41public:
42 // ===========================================================================
43 // class DataSetSelector
44 // ===========================================================================
45
49
50 public:
52 DataSetSelector(GNEGenericDataFrame* genericDataFrameParent);
53
56
58 void refreshDataSetSelector(const GNEDataSet* currentDataSet);
59
61 GNEDataSet* getDataSet() const;
62
66 long onCmdCreateDataSet(FXObject*, FXSelector, void*);
67
69 long onCmdSetNewDataSetID(FXObject*, FXSelector, void*);
70
72 long onCmdSelectDataSet(FXObject* obj, FXSelector, void*);
73
75 long onCmdSelectCheckButton(FXObject* obj, FXSelector, void*);
76
78
79 protected:
80 FOX_CONSTRUCTOR(DataSetSelector)
81
82 private:
85
88
90 FXHorizontalFrame* myHorizontalFrameNewID;
91
94
97
100 };
101
102 // ===========================================================================
103 // class IntervalSelector
104 // ===========================================================================
105
109
110 public:
112 IntervalSelector(GNEGenericDataFrame* genericDataFrameParent);
113
116
118 void enableContents() const;
119
121 void disableContents() const;
122
125
128
132 long onCmdCreateInterval(FXObject*, FXSelector, void*);
133
135 long onCmdSelectInterval(FXObject*, FXSelector, void*);
136
138 long onCmdSetIntervalAttribute(FXObject*, FXSelector, void*);
139
141 long onCmdSelectCheckButton(FXObject* obj, FXSelector, void*);
142
144
145 protected:
147 FOX_CONSTRUCTOR(IntervalSelector)
148
149 private:
151 FXTreeItem* addIntervalItem(GNEDataInterval* dataInterval, FXTreeItem* itemParent = nullptr);
152
155
158
160 FXHorizontalFrame* myHorizontalFrameBegin;
161
163 FXTextField* myBeginTextField;
164
166 FXHorizontalFrame* myHorizontalFrameEnd;
167
169 FXTextField* myEndTextField;
170
173
176
178 std::map<FXTreeItem*, GNEDataInterval*> myTreeItemIntervalMap;
179 };
180
181 // ===========================================================================
182 // class AttributeSelector
183 // ===========================================================================
184
188
189 public:
191 AttributeSelector(GNEGenericDataFrame* genericDataFrameParent, SumoXMLTag tag);
192
195
198
200 std::string getFilteredAttribute() const;
201
203 const RGBColor& getScaledColor(const double min, const double max, const double value) const;
204
207
209 long onCmdSelectAttribute(FXObject*, FXSelector, void*);
210
212
213 protected:
214 FOX_CONSTRUCTOR(AttributeSelector)
215
216 private:
219
222
225
228 };
229
231 const DataSetSelector* getDataSetSelector() const;
232
235
238
241
243 void show();
244
246 void hide();
247
250
251protected:
258 GNEGenericDataFrame(GNEViewParent* viewParent, GNEViewNet* viewNet, SumoXMLTag tag, const bool pathCreator);
259
262
264 void intervalSelected();
265
267 virtual bool createPath(const bool useLastRoute);
268
271
274
277
280
283
286
287private:
290
293};
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)