Files
gstreamerViewer/mainwindow.cpp
2025-12-19 07:27:21 +01:00

45 lines
1.2 KiB
C++

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QSplitter>
#include <QTabWidget>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowTitle("GStreamer Camera Viewer");
resize(1400, 900);
setupUI();
}
MainWindow::~MainWindow()
{
delete m_socketClient;
delete ui;
}
void MainWindow::setupUI()
{
m_socketClient = new SocketClient("/tmp/vizion_control.sock", this);
m_videoWidget = new VideoViewerWidget(this);
m_pipelineWidget = new GStreamerPipelineWidget(m_socketClient, this);
m_cameraWidget = new CameraControlWidget(m_socketClient, this);
auto* controlTabs = new QTabWidget(this);
controlTabs->addTab(m_pipelineWidget, "Pipeline Control");
controlTabs->addTab(m_cameraWidget, "Camera Control");
auto* mainSplitter = new QSplitter(Qt::Horizontal, this);
mainSplitter->addWidget(m_videoWidget);
mainSplitter->addWidget(controlTabs);
mainSplitter->setStretchFactor(0, 2); // Video gets more space (2/3)
mainSplitter->setStretchFactor(1, 1); // Controls get less space (1/3)
setCentralWidget(mainSplitter);
}