1 #ifndef SEARCHWIDGET
2 #define SEARCHWIDGET
3 
4 #include <QtWidgets>
5 
6 class SearchButton;
7 class Suggester;
8 class Suggestion;
9 class AutoComplete;
10 
11 class SearchWidget {
12 public:
13     virtual QMenu *menu() const = 0;
14     virtual void setMenu(QMenu *menu) = 0;
15     virtual void enableSuggest() = 0;
16     virtual void preventSuggest() = 0;
17     virtual void selectAll() = 0;
18     virtual void setSuggester(Suggester *suggester) = 0;
19     virtual void setPlaceholderText(const QString &text) = 0;
20     virtual void setText(const QString &text) = 0;
21     virtual AutoComplete *getAutoComplete() = 0;
22     virtual void emitTextChanged(const QString &text) = 0;
23     virtual void returnPressed() = 0;
24     virtual QString text() = 0;
25     virtual QLineEdit *getLineEdit() = 0;
26     virtual QWidget *toWidget() = 0;
27 
28 signals:
29     void textChanged(const QString &text);
30     void textEdited(const QString &text);
31     void search(const QString &text);
32     void suggestionAccepted(Suggestion *suggestion);
33 };
34 
35 #endif // SEARCHWIDGET
36