diff options
author | Serge Bazanski <serge@bazanski.pl> | 2018-07-17 16:03:48 +0100 |
---|---|---|
committer | Serge Bazanski <serge@bazanski.pl> | 2018-07-17 16:03:48 +0100 |
commit | 498bef3f3e82ed214daf44ada83eb22a21159993 (patch) | |
tree | b5d982452b972df13c20cabc0c2b2b73256a285d /gui/yosys_edit.h | |
parent | f3c6c76fff90d89dd65af2c02124c098dab63892 (diff) | |
parent | 2eb783d626a9a17baf70d2f7750be3c11623d5bc (diff) | |
download | nextpnr-498bef3f3e82ed214daf44ada83eb22a21159993.tar.gz nextpnr-498bef3f3e82ed214daf44ada83eb22a21159993.tar.bz2 nextpnr-498bef3f3e82ed214daf44ada83eb22a21159993.zip |
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/lock-2-electric-boogaloo
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 |