diff options
Diffstat (limited to '')
| -rw-r--r-- | include/widgets/InputLine.hpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/widgets/InputLine.hpp b/include/widgets/InputLine.hpp new file mode 100644 index 0000000..2324f18 --- /dev/null +++ b/include/widgets/InputLine.hpp @@ -0,0 +1,35 @@ +#pragma once + +#include <QBoxLayout> +#include <QLabel> +#include <QLineEdit> +#include <QWidget> +#include <QtCore> + +#include "completion/Adapter.hpp" + +class InputLine : public QWidget { + Q_OBJECT + +public: + InputLine(QString defaultInput = "", QWidget *parentNode = nullptr); + void setInputFocus(bool focussed); + bool isInputFocussed(); + QString getInputCommand(); + void setInputText(QString text); + void setAdapter(Adapter *adapter); + +signals: + void submitted(QString command); + void cancelled(); + +protected: + void keyPressEvent(QKeyEvent *event) override; + void emitSubmit(); + +private: + QBoxLayout *layout; + QLineEdit *input; + QLabel *promptPrefix; + Adapter *adapter = nullptr; +}; |
