Mercurial > hg > classical
annotate widgets/TypingSelectWidget.h @ 53:bcea875d8d2f tip
More build fixes
author | Chris Cannam |
---|---|
date | Thu, 16 Oct 2014 19:03:51 +0100 |
parents | a42493a3baf8 |
children |
rev | line source |
---|---|
Chris@28 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ |
Chris@28 | 2 |
Chris@28 | 3 #ifndef _TYPING_SELECT_WIDGET_H_ |
Chris@28 | 4 #define _TYPING_SELECT_WIDGET_H_ |
Chris@28 | 5 |
Chris@28 | 6 #include <QWidget> |
Chris@28 | 7 #include <QList> |
Chris@41 | 8 #include <QLabel> |
Chris@41 | 9 #include <QMenu> |
Chris@41 | 10 #include <QMouseEvent> |
Chris@41 | 11 #include <QShortcut> |
Chris@28 | 12 |
Chris@30 | 13 class QLineEdit; |
Chris@30 | 14 class QListWidget; |
Chris@39 | 15 class QGridLayout; |
Chris@39 | 16 class QFrame; |
Chris@30 | 17 |
Chris@41 | 18 |
Chris@28 | 19 namespace ClassicalData |
Chris@28 | 20 { |
Chris@28 | 21 |
Chris@28 | 22 class Matcher; |
Chris@41 | 23 class TypingSelectListEntry; |
Chris@41 | 24 class TypingSelectListMenu; |
Chris@28 | 25 |
Chris@28 | 26 class TypingSelectWidget : public QWidget |
Chris@28 | 27 { |
Chris@30 | 28 Q_OBJECT |
Chris@30 | 29 |
Chris@28 | 30 public: |
Chris@28 | 31 TypingSelectWidget(QWidget *parent = 0); |
Chris@28 | 32 |
Chris@30 | 33 void addMatcher(Matcher *m) { m_matchers.push_back(m); } |
Chris@30 | 34 |
Chris@30 | 35 private slots: |
Chris@30 | 36 void textEdited(const QString &); |
Chris@41 | 37 void menuKeyPressed(QKeyEvent *); |
Chris@41 | 38 void menuItemSelected(QString); |
Chris@28 | 39 |
Chris@28 | 40 private: |
Chris@28 | 41 QList<Matcher *> m_matchers; |
Chris@30 | 42 QLineEdit *m_editor; |
Chris@41 | 43 TypingSelectListMenu *m_menu; |
Chris@41 | 44 QList<TypingSelectListEntry *> m_listEntries; |
Chris@28 | 45 }; |
Chris@28 | 46 |
Chris@41 | 47 class TypingSelectListMenu : public QMenu |
Chris@41 | 48 { |
Chris@41 | 49 Q_OBJECT |
Chris@41 | 50 |
Chris@41 | 51 public: |
Chris@41 | 52 TypingSelectListMenu(QWidget *parent = 0) : QMenu(parent) { } |
Chris@41 | 53 |
Chris@41 | 54 signals: |
Chris@41 | 55 void keyPressed(QKeyEvent *e); |
Chris@41 | 56 void itemSelected(QString); |
Chris@41 | 57 |
Chris@41 | 58 protected: |
Chris@41 | 59 void keyPressEvent(QKeyEvent *e); |
Chris@41 | 60 void keyReleaseEvent(QKeyEvent *e); |
Chris@41 | 61 }; |
Chris@41 | 62 |
Chris@41 | 63 |
Chris@28 | 64 } |
Chris@28 | 65 |
Chris@28 | 66 #endif |
Chris@28 | 67 |
Chris@28 | 68 |