diff options
author | Eddie Hung <eddie.hung+gitlab@gmail.com> | 2018-07-17 14:19:43 +0000 |
---|---|---|
committer | Eddie Hung <eddie.hung+gitlab@gmail.com> | 2018-07-17 14:19:43 +0000 |
commit | dabc057da94207c1dfbb8d9679c639ff697bea14 (patch) | |
tree | d8d70b16f021d48fa053949d909fa206ce36927b /gui/yosys_edit.h | |
parent | 0bae7f5606b15591a23fb63da1c5ff6f93b40747 (diff) | |
parent | f62f04e376f83d650ab1067cdf0f058151828b8a (diff) | |
download | nextpnr-dabc057da94207c1dfbb8d9679c639ff697bea14.tar.gz nextpnr-dabc057da94207c1dfbb8d9679c639ff697bea14.tar.bz2 nextpnr-dabc057da94207c1dfbb8d9679c639ff697bea14.zip |
Merge branch 'master' into 'master'
Master
See merge request eddiehung/nextpnr!2
Diffstat (limited to 'gui/yosys_edit.h')
-rw-r--r-- | gui/yosys_edit.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/gui/yosys_edit.h b/gui/yosys_edit.h new file mode 100644 index 00000000..05e4ae36 --- /dev/null +++ b/gui/yosys_edit.h @@ -0,0 +1,57 @@ +/* + * nextpnr -- Next Generation Place and Route + * + * Copyright (C) 2018 Miodrag Milanovic <miodrag@symbioticeda.com> + * Copyright (C) 2018 Alex Tsui + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + */ + +#ifndef YOSYS_EDIT_H +#define YOSYS_EDIT_H + +#include <QLineEdit> +#include <QMenu> +#include "nextpnr.h" + +NEXTPNR_NAMESPACE_BEGIN + +class YosysLineEditor : public QLineEdit +{ + Q_OBJECT + + public: + explicit YosysLineEditor(QWidget *parent = 0); + + private Q_SLOTS: + void textInserted(); + void showContextMenu(const QPoint &pt); + void clearHistory(); + + Q_SIGNALS: + void textLineInserted(QString); + + protected: + void keyPressEvent(QKeyEvent *) Q_DECL_OVERRIDE; + bool focusNextPrevChild(bool next) Q_DECL_OVERRIDE; + + private: + int index; + QStringList lines; + QMenu *contextMenu; +}; + +NEXTPNR_NAMESPACE_END + +#endif // YOSYS_EDIT_H |