]> git.sur5r.net Git - minitube/blob - src/searchwidget.h
SearchLineEdit refactoring
[minitube] / src / searchwidget.h
1 #ifndef SEARCHWIDGET
2 #define SEARCHWIDGET
3
4 #include <QtGui>
5 #if QT_VERSION >= 0x050000
6 #include <QtWidgets>
7 #endif
8
9 class SearchButton;
10 class Suggester;
11 class Suggestion;
12 class AutoComplete;
13
14 class SearchWidget {
15
16 public:
17     virtual QMenu *menu() const = 0;
18     virtual void setMenu(QMenu *menu) = 0;
19     virtual void enableSuggest() = 0;
20     virtual void preventSuggest() = 0;
21     virtual void selectAll() = 0;
22     virtual void setSuggester(Suggester *suggester) = 0;
23     virtual void setInactiveText(const QString &text) = 0;
24     virtual void setText(const QString &text) = 0;
25     virtual AutoComplete *getAutoComplete() = 0;
26     virtual void emitTextChanged(const QString &text) = 0;
27     virtual void returnPressed() = 0;
28     virtual QString text() = 0;
29     virtual QLineEdit *getLineEdit() = 0;
30
31     QWidget *toWidget() {
32         return dynamic_cast<QWidget*>(this);
33     }
34
35 signals:
36     void textChanged(const QString &text);
37     void textEdited(const QString &text);
38     void search(const QString &text);
39     void suggestionAccepted(Suggestion *suggestion);
40
41 };
42 /*
43 class SearchWidget : public QWidget, public SearchWidgetInterface {
44
45 public:
46     SearchWidget(QWidget *parent = 0);
47     QMenu *menu() const;
48     void setMenu(QMenu *menu);
49     void enableSuggest();
50     void preventSuggest();
51     void selectAll();
52     void setSuggester(Suggester *suggester);
53     void setInactiveText(const QString &text);
54     void setText(const QString &text);
55     AutoComplete *getAutoComplete();
56     void emitTextChanged(const QString &text);
57     void returnPressed();
58     QString text();
59
60 private:
61     SearchWidgetInterface *interface;
62
63 };
64 */
65
66 #endif // SEARCHWIDGET