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