nextpnr/gui/infotab.cc

40 lines
1.3 KiB
C++
Raw Normal View History

2018-06-15 00:53:32 +08:00
#include "infotab.h"
#include <QGridLayout>
InfoTab::InfoTab(QWidget *parent) : QWidget(parent)
{
plainTextEdit = new QPlainTextEdit();
plainTextEdit->setReadOnly(true);
QFont f("unexistent");
f.setStyleHint(QFont::Monospace);
plainTextEdit->setFont(f);
2018-06-15 00:53:32 +08:00
plainTextEdit->setContextMenuPolicy(Qt::CustomContextMenu);
QAction *clearAction = new QAction("Clear &buffer", this);
clearAction->setStatusTip("Clears display buffer");
connect(clearAction, SIGNAL(triggered()), this, SLOT(clearBuffer()));
contextMenu = plainTextEdit->createStandardContextMenu();
contextMenu->addSeparator();
contextMenu->addAction(clearAction);
connect(plainTextEdit, SIGNAL(customContextMenuRequested(const QPoint)),
this, SLOT(showContextMenu(const QPoint)));
2018-06-15 00:53:32 +08:00
QGridLayout *mainLayout = new QGridLayout();
mainLayout->addWidget(plainTextEdit);
setLayout(mainLayout);
}
void InfoTab::info(std::string str)
{
plainTextEdit->moveCursor(QTextCursor::End);
plainTextEdit->insertPlainText(str.c_str());
plainTextEdit->moveCursor(QTextCursor::End);
}
void InfoTab::showContextMenu(const QPoint &pt)
{
contextMenu->exec(mapToGlobal(pt));
}
void InfoTab::clearBuffer() { plainTextEdit->clear(); }