Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
provider.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_UI_COMMON_COMPONENT_SPOTLIGHT_SPOTLIGHT_PROVIDER_HXX__
22#define __ANTARES_UI_COMMON_COMPONENT_SPOTLIGHT_SPOTLIGHT_PROVIDER_HXX__
23
24#include <memory>
25
29class IProvider : public Yuni::IEventObserver<Spotlight>
30{
31public:
33 using Ptr = std::shared_ptr<IProvider>;
34
35public:
37
38
42 {
43 }
45 virtual ~IProvider();
47
49
50
53 virtual void search(IItem::Vector& out,
54 const SearchToken::Vector& tokens,
55 const Yuni::String& text = "")
56 = 0;
57
63
65
66
67 virtual bool onSelect(IItem::Ptr& item);
69 virtual bool onSelect(const IItem::Vector& items);
70
72 virtual bool onDoubleClickSelect(IItem::Ptr& item);
74
76
77
78 Spotlight* component() const;
80
81protected:
84 friend class Spotlight;
85
86}; // class IProvider
87
88#endif // __ANTARES_UI_COMMON_COMPONENT_SPOTLIGHT_SPOTLIGHT_PROVIDER_HXX__
std::vector< Ptr > Vector
Vector of items.
Definition iitem.h:32
std::shared_ptr< IItem > Ptr
Ptr.
Definition iitem.h:30
Data Provider.
Definition provider.h:30
virtual void search(IItem::Vector &out, const SearchToken::Vector &tokens, const Yuni::String &text="")=0
Rebuild the result list from a list of tokens.
std::shared_ptr< IProvider > Ptr
ptr
Definition provider.h:33
Spotlight * component() const
Get the pointer of the attached component (can be null)
virtual bool onSelect(const IItem::Vector &items)
Event: a list of items have been selected (more than one)
virtual bool onSelect(IItem::Ptr &item)
Event: an item has been selected.
virtual bool onDoubleClickSelect(IItem::Ptr &item)
Event: an item has been selected.
IProvider()
Default constructor.
Definition provider.h:41
void redoResearch()
Redo the research.
Spotlight * pSpotlightComponent
The parent component (can be null)
Definition provider.h:83
virtual ~IProvider()
Destructor.
std::vector< Ptr > Vector
Vector of search tokens.
Definition searchtoken.h:33