Antares Simulator
Power System Simulator
hydromonthlypower.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_TOOLBOX_COMPONENT_DATAGRID_RENDERER_AREA_HYDRO_MONTHLY_POWER_H__
22 #define __ANTARES_TOOLBOX_COMPONENT_DATAGRID_RENDERER_AREA_HYDRO_MONTHLY_POWER_H__
23 
24 #include "../area.h"
25 #include "../matrix.h"
26 #include <antares/date/date.h>
27 #include <antares/study/parts/wind/prepro.h>
28 
29 namespace Antares::Component::Datagrid::Renderer
30 {
31 
32 class HydroMonthlyHours final: public Renderer::Matrix<double, double, 2>,
34 {
35 public:
37  enum class HoursType
38  {
39  Generation = 0,
40  Pumping
41  };
42 
43 public:
45 
46 
49  HydroMonthlyHours(wxWindow* control, Toolbox::InputSelector::Area* notifier, HoursType type);
51  virtual ~HydroMonthlyHours();
52 
54 
55  virtual int width() const
56  {
57  return 1;
58  }
59 
60  virtual int height() const
61  {
62  return DAYS_PER_YEAR;
63  }
64 
65  HoursType hoursType;
66 
67  virtual wxString columnCaption(int colIndx) const;
68 
69  virtual wxString rowCaption(int rowIndx) const;
70 
71  virtual wxString cellValue(int x, int y) const;
72 
73  virtual double cellNumericValue(int x, int y) const;
74 
75  virtual bool cellValue(int, int, const Yuni::String&);
76 
77  virtual void resetColors(int, int, wxColour&, wxColour&) const
78  { /*Do nothing*/
79  }
80 
81  virtual IRenderer::CellStyle cellStyle(int col, int row) const;
82 
83  virtual Date::Precision precision()
84  {
85  return Date::daily;
86  }
87 
88  virtual bool valid() const
89  {
90  return MatrixAncestorType::valid();
91  }
92 
93  virtual uint maxWidthResize() const
94  {
95  return 0;
96  }
97 
98  virtual uint maxHeightResize() const
99  {
100  return 0;
101  }
102 
103 protected:
104  virtual void internalAreaChanged(Antares::Data::Area* area);
106  virtual void onStudyClosed() override;
108  virtual void onStudyLoaded() override;
109 
110 }; // class HydroMonthlyHoursGen
111 
112 } // namespace Antares::Component::Datagrid::Renderer
113 
114 #endif // __ANTARES_TOOLBOX_COMPONENT_DATAGRID_RENDERER_AREA_HYDRO_MONTHLY_POWER_H__
virtual wxString columnCaption(int colIndx) const
Get the column caption.
Definition: hydromonthlypower.cpp:42
virtual ~HydroMonthlyHours()
Destructor.
Definition: hydromonthlypower.cpp:37
virtual uint maxHeightResize() const
The most suitable column count.
Definition: hydromonthlypower.h:98
virtual int height() const
Get the current height.
Definition: hydromonthlypower.h:60
virtual uint maxWidthResize() const
The most suitable column count.
Definition: hydromonthlypower.h:93
virtual bool cellValue(int, int, const Yuni::String &)
Set the value of a cell.
virtual void onStudyClosed() override
Event: the study has been closed.
Definition: hydromonthlypower.cpp:142
virtual double cellNumericValue(int x, int y) const
Get the value of a cell.
Definition: hydromonthlypower.cpp:63
virtual wxString cellValue(int x, int y) const
Get the string representation of a cell.
Definition: hydromonthlypower.cpp:58
virtual Date::Precision precision()
Time Precision.
Definition: hydromonthlypower.h:83
virtual void onStudyLoaded() override
Event: the study has been loaded.
Definition: hydromonthlypower.cpp:148
virtual int width() const
Get the current width.
Definition: hydromonthlypower.h:55
virtual wxString rowCaption(int rowIndx) const
Get the row caption.
Definition: hydromonthlypower.cpp:133
HydroMonthlyHours(wxWindow *control, Toolbox::InputSelector::Area *notifier, HoursType type)
Constructor.
Definition: hydromonthlypower.cpp:28
Definition for a single area.
Definition: area.h:51
A n-by-n matrix.
Definition: matrix.h:44
Visual Component for displaying all available areas (and groups)
Definition: area.h:37