Antares Simulator
Power System Simulator
item.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_HTMLLISTBOX_ITEM_H__
22 #define __ANTARES_TOOLBOX_COMPONENT_HTMLLISTBOX_ITEM_H__
23 
24 
25 #include <memory>
26 #include <vector>
27 #include <wx/wx.h>
28 
29 namespace Antares::Component::HTMLListbox
30 {
31 // Forward declaration
32 struct ISortPredicate;
33 
34 namespace Item
35 {
43 class IItem
44 {
45 public:
47  using Ptr = std::shared_ptr<IItem>;
49  using List = std::vector<Ptr>;
50 
51 public:
53 
54 
57  IItem();
59  virtual ~IItem();
61 
67  virtual wxString htmlContent(const wxString& searchString) = 0;
68 
75  bool highlighted() const;
76 
78  bool visible() const;
80  void visible(bool v);
81 
85  virtual bool interactive() const;
86 
87 protected:
91  bool pVisible;
92 
93 }; // class IItem
94 
101 bool HTMLCodeHighlightString(wxString& s, const wxString& toHighlight);
102 
106 wxColour ColorDarker(int r, int g, int b, int level = 40);
107 wxColour ColorDarker(const wxColour& c, int level = 40);
108 
109 } // namespace Item
110 } // namespace Antares::Component::HTMLListbox
111 
112 #include "item.hxx"
113 
114 #endif // __ANTARES_TOOLBOX_COMPONENT_HTMLLISTBOX_ITEM_H__
Single item for an Input (abstract)
Definition: item.h:44
bool highlighted() const
Get if the item is highlighted.
Definition: item.hxx:26
IItem()
Default Constructor.
Definition: item.cpp:29
bool pHighlighted
Is the item highlighted.
Definition: item.h:89
virtual ~IItem()
Destructor.
Definition: item.cpp:35
std::shared_ptr< IItem > Ptr
The most suitable smartptr for this class.
Definition: item.h:47
bool pVisible
Visible.
Definition: item.h:91
bool visible() const
Get if the item is visible.
Definition: item.hxx:31
virtual wxString htmlContent(const wxString &searchString)=0
Get the HTML Content for the item.
std::vector< Ptr > List
Item list.
Definition: item.h:49
virtual bool interactive() const
Get the item is interactive (can be clicked by the user)
Definition: item.hxx:41