Antares Simulator
Power System Simulator
panel.h
1 /*
2  * Copyright 2007-2025, RTE (https://www.rte-france.com)
3  * See AUTHORS.txt
4  * SPDX-License-Identifier: MPL-2.0
5  * This file is part of Antares-Simulator,
6  * Adequacy and Performance assessment for interconnected energy networks.
7  *
8  * Antares_Simulator is free software: you can redistribute it and/or modify
9  * it under the terms of the Mozilla Public Licence 2.0 as published by
10  * the Mozilla Foundation, either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * Antares_Simulator is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * Mozilla Public Licence 2.0 for more details.
17  *
18  * You should have received a copy of the Mozilla Public Licence 2.0
19  * along with Antares_Simulator. If not, see <https://opensource.org/license/mpl-2-0/>.
20  */
21 #ifndef __ANTARES_WINDOW_THERMAL_PANEL_H__
22 #define __ANTARES_WINDOW_THERMAL_PANEL_H__
23 
24 #include "../../toolbox/wx-wrapper.h"
25 #include "../../toolbox/input/area.h"
26 #include "../../toolbox/components/notebook/notebook.h"
27 #include <ui/common/component/panel.h>
28 #include <antares/study/area/area.h>
29 #include <antares/study/parts/thermal/cluster.h>
30 
31 namespace Antares::Window::Thermal
32 {
33 class Panel: public Component::Panel, public Yuni::IEventObserver<Panel>
34 {
35 public:
37 
38 
43  Panel(Component::Notebook* parent);
45  virtual ~Panel();
47 
48 public:
51  Component::Notebook::Page* pageThermalTimeSeriesFuelCost;
52  Component::Notebook::Page* pageThermalTimeSeriesCO2Cost;
53 
60 
61 private:
63  void onThermalClusterChanged(Data::ThermalCluster* cluster);
65  void onAreaChangedForThermalData(Data::Area* area);
67  void onPageChanged(Component::Notebook::Page&);
69  void onStudyLoaded();
71  void internalOnStudyLoaded();
73  void delayedResizeSplitter();
74 
75 private:
76  Component::Notebook* pNotebookThermalCluster;
77  Data::Area* pAreaForThermalCommonData;
78  Toolbox::InputSelector::Area* pAreaSelector;
80  uint64_t pStudyRevisionIncrement;
87  wxSplitterWindow* pSplitter;
88 
89 }; // class Panel
90 
91 } // namespace Antares::Window::Thermal
92 
93 #endif // __ANTARES_WINDOW_THERMAL_PANEL_H__
Definition: notebook.h:61
Notebook.
Definition: notebook.h:36
Panel implementation.
Definition: panel.h:34
Definition for a single area.
Definition: area.h:51
A single thermal cluster.
Definition: cluster.h:76
Visual Component for displaying all available areas (and groups)
Definition: area.h:37
Definition: panel.h:34
Component::Notebook::Page * pageThermalTimeSeries
The page related to the cluster's timeseries.
Definition: panel.h:50
Component::Notebook::Page * pageThermalClusterList
The page related to the cluster list view.
Definition: panel.h:59
Component::Notebook::Page * pageThermalPrepro
The page related to the cluster's ts-generator data.
Definition: panel.h:55
Panel(Component::Notebook *parent)
Constructor.
Definition: panel.cpp:38
Component::Notebook::Page * pageThermalCommon
The page related to the cluster's properties.
Definition: panel.h:57
virtual ~Panel()
Destructor.
Definition: panel.cpp:154