Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/src/netedit/dialogs/elements/GNECalibratorDialog.h
193874 views
1
/****************************************************************************/
2
// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3
// Copyright (C) 2001-2026 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
60
/// @brief calibrator flows list
61
class CalibratorFlowsList : public GNETemplateElementList<GNEAdditional, GNEAdditional, GNEChange_Additional> {
62
63
public:
64
/// @brief constructor
65
CalibratorFlowsList(GNECalibratorDialog* calibratorDialog, FXVerticalFrame* contentFrame);
66
67
/// @brief add new element
68
long addNewElement();
69
70
/// @brief open element dialog
71
long openElementDialog(const size_t rowIndex);
72
73
private:
74
/// @brief Invalidated copy constructor
75
CalibratorFlowsList(const CalibratorFlowsList&) = delete;
76
77
/// @brief Invalidated assignment operator
78
CalibratorFlowsList& operator=(const CalibratorFlowsList&) = delete;
79
};
80
81
/// @brief list with calibrator flows
82
CalibratorFlowsList* myCalibratorFlows;
83
84
private:
85
/// @brief Invalidated copy constructor.
86
GNECalibratorDialog(const GNECalibratorDialog&) = delete;
87
88
/// @brief Invalidated assignment operator.
89
GNECalibratorDialog& operator=(const GNECalibratorDialog&) = delete;
90
};
91
92