From 32426b3028d0d99234512483d720e2e343b5872c Mon Sep 17 00:00:00 2001 From: unai_71 Date: Tue, 10 Mar 2026 18:36:08 +0000 Subject: [PATCH] feat: implement MainWindow label update on valueReceived --- src/app/MainWindow.cxx | 33 +++++++++++++++++++++++++++++++++ tests/CMakeLists.txt | 20 ++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 src/app/MainWindow.cxx diff --git a/src/app/MainWindow.cxx b/src/app/MainWindow.cxx new file mode 100644 index 0000000..a640d4f --- /dev/null +++ b/src/app/MainWindow.cxx @@ -0,0 +1,33 @@ +// MainWindow.cxx +// SPDX-License-Identifier: GPL-3.0-or-later +// Author: Unai Blazquez + +#include "MainWindow.hpp" + +MainWindow::MainWindow(QWidget* parent) : QWidget(parent) +{ + setWindowTitle("Azkoyen IPC Monitor"); + setMinimumSize(320, 120); + + auto* layout = new QVBoxLayout(this); + + m_title_label = new QLabel("Last received value:", this); + m_value_label = new QLabel("(waiting...)", this); + + // Make the value label stand out a bit + QFont font = m_value_label->font(); + font.setPointSize(24); + font.setBold(true); + m_value_label->setFont(font); + m_value_label->setAlignment(Qt::AlignCenter); + + layout->addWidget(m_title_label); + layout->addWidget(m_value_label); +} + +QString MainWindow::lastDisplayedText() const { return m_value_label->text(); } + +void MainWindow::onValueReceived(int value) +{ + m_value_label->setText(QString::number(value)); +} diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 0d90812..30538ed 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -53,3 +53,23 @@ target_link_libraries(test_consumer ) add_test(NAME test_consumer COMMAND test_consumer) + +add_executable(test_main_window + test_main_window.cxx + ${CMAKE_SOURCE_DIR}/src/app/MainWindow.cxx + ${CMAKE_SOURCE_DIR}/include/MainWindow.hpp +) + +target_include_directories(test_main_window PRIVATE ${CMAKE_SOURCE_DIR}/include) + +target_link_libraries(test_main_window + PRIVATE + core + gtest + gtest_main + Qt5::Core + Qt5::Widgets + Qt5::Test +) + +add_test(NAME test_main_window COMMAND test_main_window)