first commit

This commit is contained in:
Maik Jurischka
2025-12-18 16:10:55 +01:00
commit 69e2f3ae1d
19 changed files with 2707 additions and 0 deletions

49
mainwindow.cpp Normal file
View File

@@ -0,0 +1,49 @@
#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()
{
// Create socket client
m_socketClient = new SocketClient("/tmp/vizion_control.sock", this);
// Create widgets
m_videoWidget = new VideoViewerWidget(this);
m_pipelineWidget = new GStreamerPipelineWidget(m_socketClient, this);
m_cameraWidget = new CameraControlWidget(m_socketClient, this);
// Create tab widget for controls
QTabWidget* controlTabs = new QTabWidget(this);
controlTabs->addTab(m_pipelineWidget, "Pipeline Control");
controlTabs->addTab(m_cameraWidget, "Camera Control");
// Create vertical splitter: video on top, controls on bottom
QSplitter* mainSplitter = new QSplitter(Qt::Vertical, this);
mainSplitter->addWidget(m_videoWidget);
mainSplitter->addWidget(controlTabs);
mainSplitter->setStretchFactor(0, 3); // Video gets more space
mainSplitter->setStretchFactor(1, 1); // Controls get less space
// Set as central widget
setCentralWidget(mainSplitter);
}