Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
item.h
1/*
2** Copyright 2007-2024, 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
29namespace Antares
30{
31namespace Component
32{
33namespace HTMLListbox
34{
35// Forward declaration
36struct ISortPredicate;
37
38namespace Item
39{
47class IItem
48{
49public:
51 using Ptr = std::shared_ptr<IItem>;
53 using List = std::vector<Ptr>;
54
55public:
57
58
61 IItem();
63 virtual ~IItem();
65
71 virtual wxString htmlContent(const wxString& searchString) = 0;
72
79 bool highlighted() const;
80
82 bool visible() const;
84 void visible(bool v);
85
89 virtual bool interactive() const;
90
91protected:
96
97}; // class IItem
98
105bool HTMLCodeHighlightString(wxString& s, const wxString& toHighlight);
106
110wxColour ColorDarker(int r, int g, int b, int level = 40);
111wxColour ColorDarker(const wxColour& c, int level = 40);
112
113} // namespace Item
114} // namespace HTMLListbox
115} // namespace Component
116} // namespace Antares
117
118#include "item.hxx"
119
120#endif // __ANTARES_TOOLBOX_COMPONENT_HTMLLISTBOX_ITEM_H__
Single item for an Input (abstract)
Definition item.h:48
bool highlighted() const
Get if the item is highlighted.
Definition item.hxx:32
IItem()
Default Constructor.
Definition item.cpp:35
bool pHighlighted
Is the item highlighted.
Definition item.h:93
virtual ~IItem()
Destructor.
Definition item.cpp:39
std::shared_ptr< IItem > Ptr
The most suitable smartptr for this class.
Definition item.h:51
bool pVisible
Visible.
Definition item.h:95
bool visible() const
Get if the item is visible.
Definition item.hxx:37
virtual wxString htmlContent(const wxString &searchString)=0
Get the HTML Content for the item.
std::vector< Ptr > List
Item list.
Definition item.h:53
virtual bool interactive() const
Get the item is interactive (can be clicked by the user)
Definition item.hxx:47