Chatterino
InputCompletionItem.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <functional>
4 #include "messages/Emote.hpp"
6 
7 namespace chatterino {
8 
10 {
11  using ActionCallback = std::function<void(const QString &)>;
12 
13 public:
14  InputCompletionItem(const EmotePtr &emote, const QString &text,
15  ActionCallback action);
16 
17  // GenericListItem interface
18 public:
19  virtual void action() override;
20  virtual void paint(QPainter *painter, const QRect &rect) const override;
21  virtual QSize sizeHint(const QRect &rect) const override;
22 
23 private:
24  EmotePtr emote_;
25  QString text_;
26  ActionCallback action_;
27 };
28 
29 } // namespace chatterino
EmotePtr emote
Definition: InputCompletionPopup.cpp:20
Definition: Application.cpp:48
Definition: GenericListItem.hpp:10
std::shared_ptr< const Emote > EmotePtr
Definition: Emote.hpp:38
InputCompletionItem(const EmotePtr &emote, const QString &text, ActionCallback action)
Definition: InputCompletionItem.cpp:5
virtual void paint(QPainter *painter, const QRect &rect) const override
Definition: InputCompletionItem.cpp:25
virtual QSize sizeHint(const QRect &rect) const override
Definition: InputCompletionItem.cpp:71
Definition: InputCompletionItem.hpp:9
virtual void action() override
Action to perform when this item is activated. Must be implemented in subclasses. ...
Definition: InputCompletionItem.cpp:14