aboutsummaryrefslogtreecommitdiffstats
path: root/gui/line_editor.h
blob: 5f27e5028368d4e38b82de48dde88e01bfa4fe84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef LINE_EDITOR_H
#define LINE_EDITOR_H

#include <QLineEdit>
#include <QMenu>
#include "nextpnr.h"

NEXTPNR_NAMESPACE_BEGIN

class LineEditor : public QLineEdit
{
    Q_OBJECT

  public:
    explicit LineEditor(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;

  private:
    int index;
    QStringList lines;
    QMenu *contextMenu;
};

NEXTPNR_NAMESPACE_END

#endif // LINE_EDITOR_H