Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/src/netedit/dialogs/elements/GNECalibratorDialog.h
169684 views
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
/****************************************************************************/
14
/// @file GNECalibratorDialog.h
15
/// @author Pablo Alvarez Lopez
16
/// @date March 2017
17
///
18
// Dialog for edit calibrators
19
/****************************************************************************/
20
#pragma once
21
#include <config.h>
22
23
#include <netedit/changes/GNEChange_Additional.h>
24
#include <netedit/changes/GNEChange_DemandElement.h>
25
#include <netedit/dialogs/elements/lists/GNETemplateElementList.h>
26
#include <netedit/elements/additional/GNEAdditional.h>
27
#include <netedit/elements/demand/GNEDemandElement.h>
28
29
#include "GNETemplateElementDialog.h"
30
31
// ===========================================================================
32
// class definitions
33
// ===========================================================================
34
35
class GNECalibratorDialog : public GNETemplateElementDialog<GNEAdditional> {
36
37
public:
38
/// @brief Constructor
39
GNECalibratorDialog(GNEAdditional* calibrator);
40
41
/// @brief destructor
42
~GNECalibratorDialog();
43
44
/// @brief run internal test
45
void runInternalTest(const InternalTestStep::DialogArgument* dialogArgument);
46
47
/// @name FOX-callbacks
48
/// @{
49
50
/// @brief event after press accept button
51
long onCmdAccept(FXObject*, FXSelector, void*);
52
53
/// @brief event after press reset button
54
long onCmdReset(FXObject*, FXSelector, void*);
55
56
/// @}
57
58
protected:
59
/// @brief route list
60
class RoutesList : public GNETemplateElementList<GNEAdditional, GNEDemandElement, GNEChange_DemandElement> {
61
62
public:
63
/// @brief constructor
64
RoutesList(GNECalibratorDialog* rerouterDialog, FXVerticalFrame* contentFrame);
65
66
/// @brief add new element
67
long addNewElement();
68
69
/// @brief open element dialog
70
long openElementDialog(const size_t rowIndex);
71
72
private:
73
/// @brief Invalidated copy constructor
74
RoutesList(const RoutesList&) = delete;
75
76
/// @brief Invalidated assignment operator
77
RoutesList& operator=(const RoutesList&) = delete;
78
};
79
80
/// @brief vTypes list
81
class VTypesList : public GNETemplateElementList<GNEAdditional, GNEDemandElement, GNEChange_DemandElement> {
82
83
public:
84
/// @brief constructor
85
VTypesList(GNECalibratorDialog* rerouterDialog, FXVerticalFrame* contentFrame);
86
87
/// @brief add new element
88
long addNewElement();
89
90
/// @brief open element dialog
91
long openElementDialog(const size_t rowIndex);
92
93
private:
94
/// @brief Invalidated copy constructor
95
VTypesList(const VTypesList&) = delete;
96
97
/// @brief Invalidated assignment operator
98
VTypesList& operator=(const VTypesList&) = delete;
99
};
100
101
/// @brief calibrator flows list
102
class CalibratorFlowsList : public GNETemplateElementList<GNEAdditional, GNEAdditional, GNEChange_Additional> {
103
104
public:
105
/// @brief constructor
106
CalibratorFlowsList(GNECalibratorDialog* rerouterDialog, FXVerticalFrame* contentFrame,
107
RoutesList* routesList, VTypesList* vTypesList);
108
109
/// @brief add new element
110
long addNewElement();
111
112
/// @brief open element dialog
113
long openElementDialog(const size_t rowIndex);
114
115
protected:
116
/// @brief pointer to routes list
117
RoutesList* myRoutesList = nullptr;
118
119
/// @brief pointer to vTypes list
120
VTypesList* myVTypesList = nullptr;
121
122
private:
123
/// @brief Invalidated copy constructor
124
CalibratorFlowsList(const CalibratorFlowsList&) = delete;
125
126
/// @brief Invalidated assignment operator
127
CalibratorFlowsList& operator=(const CalibratorFlowsList&) = delete;
128
};
129
130
/// @brief list with routes
131
RoutesList* myRoutes;
132
133
/// @brief list with vTypes
134
VTypesList* myVTypes;
135
136
/// @brief list with calibrator flows
137
CalibratorFlowsList* myCalibratorFlows;
138
139
private:
140
/// @brief Invalidated copy constructor.
141
GNECalibratorDialog(const GNECalibratorDialog&) = delete;
142
143
/// @brief Invalidated assignment operator.
144
GNECalibratorDialog& operator=(const GNECalibratorDialog&) = delete;
145
};
146
147