Antares Simulator
Power System Simulator
ui.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_LIBS_STUDY_UI_H__
22 #define __ANTARES_LIBS_STUDY_UI_H__
23 
24 #include <map>
25 
26 #include <yuni/yuni.h>
27 #include <yuni/core/string.h>
28 
29 namespace Antares::Data
30 {
34 class AreaUI final
35 {
36 public:
38  AreaUI();
39 
42  {
44  }
45 
49  void reset();
50 
54  bool loadFromFile(const AnyString& filename);
55 
62  bool saveToFile(const AnyString& filename, bool force = false) const;
63 
67  bool modified() const;
68 
72  void markAsModified();
73 
74  void rebuildCache();
75 
76 public:
78  int x;
79  std::map<size_t, int> layerX;
81  int y;
82  std::map<size_t, int> layerY;
83 
85  int color[3];
86  std::map<size_t, int[3]> layerColor;
87 
89  // \see UIRuntimeInfo::reload()
90  Yuni::CString<12, false> cacheColorHSV;
91 
93  std::vector<size_t> mapLayersVisibilityList;
94 
95 private:
97  mutable bool pModified;
98 
99 }; // class AreaUI
100 
101 } // namespace Antares::Data
102 
103 #endif // __ANTARES_LIBS_STUDY_UI_H__
Information about the Area for the UI.
Definition: ui.h:35
~AreaUI()
Default constructor.
Definition: ui.h:41
bool loadFromFile(const AnyString &filename)
Load settings from an INI file.
Definition: ui.cpp:212
int y
The Y-Coordinate.
Definition: ui.h:81
int x
The X-Coordinate.
Definition: ui.h:78
void reset()
(Re)Initialize all properties
Definition: ui.cpp:195
std::vector< size_t > mapLayersVisibilityList
The list of layers this Node will appear on.
Definition: ui.h:93
bool modified() const
Get if the structure has been modified.
Definition: ui.cpp:364
int color[3]
Color of the area (RGB)
Definition: ui.h:85
void markAsModified()
Mark the structure as modified.
Definition: ui.cpp:369
bool saveToFile(const AnyString &filename, bool force=false) const
Save the settings into a file.
Definition: ui.cpp:311
Yuni::CString< 12, false > cacheColorHSV
HSV color model (only computed from the interface)
Definition: ui.h:90
AreaUI()
Default constructor.
Definition: ui.cpp:183