VisualizationWidget.cpp
43 lines
| 1.4 KiB
| text/x-c
|
CppLexer
r78 | #include "visualization/VisualizationWidget.h" | |||
r58 | #include "ui_VisualizationWidget.h" | |||
r88 | #include "visualization/VisualizationTabWidget.h" | |||
#include <QDebug> | ||||
#include <QToolButton> | ||||
#include "iostream" | ||||
Q_LOGGING_CATEGORY(LOG_VisualizationWidget, "VisualizationWidget") | ||||
r58 | ||||
VisualizationWidget::VisualizationWidget(QWidget *parent) | ||||
: QWidget(parent), ui(new Ui::VisualizationWidget) | ||||
{ | ||||
ui->setupUi(this); | ||||
r88 | ||||
auto *addTabViewButton = new QToolButton(ui->tabWidget); | ||||
addTabViewButton->setText("Add View"); | ||||
addTabViewButton->setCursor(Qt::ArrowCursor); | ||||
addTabViewButton->setAutoRaise(true); | ||||
ui->tabWidget->setCornerWidget(addTabViewButton, Qt::TopRightCorner); | ||||
auto addTabView = [&](bool checked) { | ||||
auto index = ui->tabWidget->addTab(new VisualizationTabWidget(ui->tabWidget), | ||||
QString("View %1").arg(ui->tabWidget->count() + 1)); | ||||
qCInfo(LOG_VisualizationWidget()) << tr("add the tab of index %1").arg(index); | ||||
}; | ||||
auto removeTabView = [&](int index) { | ||||
ui->tabWidget->removeTab(index); | ||||
qCInfo(LOG_VisualizationWidget()) << tr("remove the tab of index %1").arg(index); | ||||
}; | ||||
ui->tabWidget->setTabsClosable(true); | ||||
connect(addTabViewButton, &QToolButton::clicked, addTabView); | ||||
connect(ui->tabWidget, &QTabWidget::tabCloseRequested, removeTabView); | ||||
r58 | } | |||
VisualizationWidget::~VisualizationWidget() | ||||
{ | ||||
delete ui; | ||||
} | ||||