]> git.sur5r.net Git - minitube/blob - src/searchwidget.h
Views refactoring, don't use RTTI
[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     virtual QWidget *toWidget() = 0;
31
32 signals:
33     void textChanged(const QString &text);
34     void textEdited(const QString &text);
35     void search(const QString &text);
36     void suggestionAccepted(Suggestion *suggestion);
37
38 };
39 /*
40 class SearchWidget : public QWidget, public SearchWidgetInterface {
41
42 public:
43     SearchWidget(QWidget *parent = 0);
44     QMenu *menu() const;
45     void setMenu(QMenu *menu);
46     void enableSuggest();
47     void preventSuggest();
48     void selectAll();
49     void setSuggester(Suggester *suggester);
50     void setInactiveText(const QString &text);
51     void setText(const QString &text);
52     AutoComplete *getAutoComplete();
53     void emitTextChanged(const QString &text);
54     void returnPressed();
55     QString text();
56
57 private:
58     SearchWidgetInterface *interface;
59
60 };
61 */
62
63 #endif // SEARCHWIDGET