Mercurial > hg > classical
view widgets/TypingSelectWidget.h @ 53:bcea875d8d2f tip
More build fixes
author | Chris Cannam |
---|---|
date | Thu, 16 Oct 2014 19:03:51 +0100 |
parents | a42493a3baf8 |
children |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ #ifndef _TYPING_SELECT_WIDGET_H_ #define _TYPING_SELECT_WIDGET_H_ #include <QWidget> #include <QList> #include <QLabel> #include <QMenu> #include <QMouseEvent> #include <QShortcut> class QLineEdit; class QListWidget; class QGridLayout; class QFrame; namespace ClassicalData { class Matcher; class TypingSelectListEntry; class TypingSelectListMenu; class TypingSelectWidget : public QWidget { Q_OBJECT public: TypingSelectWidget(QWidget *parent = 0); void addMatcher(Matcher *m) { m_matchers.push_back(m); } private slots: void textEdited(const QString &); void menuKeyPressed(QKeyEvent *); void menuItemSelected(QString); private: QList<Matcher *> m_matchers; QLineEdit *m_editor; TypingSelectListMenu *m_menu; QList<TypingSelectListEntry *> m_listEntries; }; class TypingSelectListMenu : public QMenu { Q_OBJECT public: TypingSelectListMenu(QWidget *parent = 0) : QMenu(parent) { } signals: void keyPressed(QKeyEvent *e); void itemSelected(QString); protected: void keyPressEvent(QKeyEvent *e); void keyReleaseEvent(QKeyEvent *e); }; } #endif