1 #ifndef TEXTEMOJIWRAPPER_H
2 #define TEXTEMOJIWRAPPER_H
3 
4 #include <QObject>
5 #include <QQuickTextDocument>
6 
7 class Emojis;
8 class TextEmojiWrapperPrivate;
9 class TextEmojiWrapper : public QObject
10 {
11     Q_OBJECT
12     Q_PROPERTY(QQuickTextDocument* textDocument READ textDocument WRITE setTextDocument NOTIFY textDocumentChanged)
13     Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)
14     Q_PROPERTY(Emojis* emojisItem READ emojisItem WRITE setEmojisItem NOTIFY emojisItemChanged)
15 
16 public:
17     TextEmojiWrapper(QObject *parent = 0);
18     ~TextEmojiWrapper();
19 
20     void setTextDocument(QQuickTextDocument *doc);
21     QQuickTextDocument *textDocument() const;
22 
23     void setEmojisItem(Emojis *emojisItem);
24     Emojis *emojisItem() const;
25 
26     void setText(const QString &text);
27     QString text() const;
28 
29 public slots:
30     void refresh();
31 
32 signals:
33     void textDocumentChanged();
34     void textChanged();
35     void emojisItemChanged();
36 
37 private:
38     TextEmojiWrapperPrivate *p;
39 };
40 
41 #endif // TEXTEMOJIWRAPPER_H
42