Albert
Loading...
Searching...
No Matches
item.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2024 Manuel Schneider
2// SPDX-License-Identifier: MIT
3
4#pragma once
5#include <QStringList>
6#include <albert/action.h>
7#include <albert/export.h>
8#include <vector>
9
10namespace albert
11{
12
16class ALBERT_EXPORT Item
17{
18public:
19
20 virtual ~Item();
21
29 virtual QString id() const = 0;
30
39 virtual QString text() const = 0;
40
43 virtual QString subtext() const = 0;
44
47 virtual QStringList iconUrls() const = 0;
48
51 virtual QString inputActionText() const;
52
55 virtual std::vector<Action> actions() const;
56
59 {
60 public:
62 virtual void notify(const albert::Item *item) = 0;
63 protected:
64 virtual ~Observer();
65 };
66
68 virtual void addObserver(Observer *observer);
69
71 virtual void removeObserver(Observer *observer);
72
73};
74
75namespace detail
76{
77class ALBERT_EXPORT DynamicItem : public Item
78{
79public:
80
82 ~DynamicItem() override;
83
84 void dataChanged() const;
85
86 void addObserver(Observer *) override;
87 void removeObserver(Observer *) override;
88
89private:
90
91 class Private;
92 std::unique_ptr<Private> d;
93
94};
95}
96
97}
Interface class for item observers.
Definition item.h:59
virtual void notify(const albert::Item *item)=0
Notifies the Observer about any changes in item.
Result items displayed in the query results list.
Definition item.h:17
virtual ~Item()
virtual void removeObserver(Observer *observer)
Stop notifying observer about any changes.
virtual QString subtext() const =0
Getter for the item subtext.
virtual QString id() const =0
Getter for the item identifier.
virtual QString inputActionText() const
Getter for the input action text.
virtual QString text() const =0
Getter for the item text.
virtual std::vector< Action > actions() const
Getter for item actions.
virtual void addObserver(Observer *observer)
Start notifying observer about any changes.
virtual QStringList iconUrls() const =0
Getter for the items iconUrls.
Definition item.h:78
void removeObserver(Observer *) override
Stop notifying observer about any changes.
void addObserver(Observer *) override
Start notifying observer about any changes.
Definition action.h:10