Files
qt-migration-legatus/qt5-before/dlbo/Lts/Tools/QLedMatrix/qledmatrix.h
T
torstenandCopilot 7173785915 Qt6 Migration: Complete migration with DDS/RTI support and build validation
Major Changes:
- Merged latest Qt5 devel content from dlbo (292 files changed, 7 new dirs)
- Consolidated forward-declarations and include folders
- Removed unneeded modules per Niklas' repo check list

Build System Fixes:
- Fixed CMake VERSION_GREATER syntax in ParticipantManagement/CMakeLists.txt
- Added VLC packages (libvlc-dev, vlc-plugin-base) to docker_build.sh
- Added PostgreSQL dev packages (libpq-dev, postgresql-server-dev-all) to Dockerfile
- Fixed locale warnings (ANSI_X3.4-1968 → C.UTF-8)
- Fixed ArcGIS SDK path warnings when BUILD_ARCGIS=OFF

Code Generation Fixes:
- Fixed IDL enum collisions (PortType→CorePortType/DdsutPortType, PdmEventType)
- Fixed Grantlee template svc_translation.cpp.grantlee:
  - Changed {{ idl_enum.name }}_def:: to {{ idl_enum.name }}::
  - Fixed .underlying() calls for C++11 scoped enums (enum class)
- Removed generated files from repo (moc_*, *_dtc.h, *_ftc.h)

Validation:
- BUILD_RTI=ON: SUCCESS
- BUILD_RTI=OFF: SUCCESS
- C++17 standard maintained for RTI 7.7 compatibility
- Ubuntu 26.04 Docker environment verified

Remaining Warnings (expected):
- BgViewer, KDChart, KDReports, Poppler-Qt6 not found (optional features)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-15 18:20:26 +00:00

100 lines
2.8 KiB
C++

/*******************************************************************************
**
** Copyright (C) 2009 Pierre-Etienne Messier <pierre.etienne.messier@gmail.com>
** http://pemessier.hexpresso.org/
**
** This library is free software: you can redistribute it and/or modify
** it under the terms of the GNU Lesser General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** This library is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU Lesser General Public License for more details.
**
** You should have received a copy of the GNU Lesser General Public License
** along with this library. If not, see <http://www.gnu.org/licenses/>.
**
*******************************************************************************/
#pragma once
#ifndef QLEDMATRIX_EXPORT
# ifdef BUILD_STATIC_LIBRARIES
# define QLEDMATRIX_EXPORT
# else
# ifdef MAKE_QLEDMATRIX_LIB
# define QLEDMATRIX_EXPORT Q_DECL_EXPORT
# else
# define QLEDMATRIX_EXPORT Q_DECL_IMPORT
# endif
# endif
#endif
#include <QWidget>
class QLedMatrixPrivate;
class QLEDMATRIX_EXPORT QLedMatrix : public QWidget
{
Q_OBJECT
Q_PROPERTY(QColor backgroundColor READ backgroundColor WRITE setBackgroundColor)
Q_PROPERTY(Qt::BGMode backgroundMode READ backgroundMode WRITE setBackgroundMode)
Q_PROPERTY(QColor darkLedColor READ darkLedColor WRITE setDarkLedColor)
Q_PROPERTY(int rows READ rowCount WRITE setRowCount)
Q_PROPERTY(int columns READ columnCount WRITE setColumnCount)
public:
QLedMatrix(QWidget* parent = nullptr);
virtual ~QLedMatrix();
enum LEDColor
{
NoColor = 0xFF222222,
Red = 0xFFFF0000,
Green = 0xFF00FF00,
Blue = 0xFF0000FF,
White = 0xFFFFFFFF,
Orange = 0xFFFF8800,
OrangeRed = 0xFFFF2200,
Yellow = 0xFFFFFF00
};
Q_ENUM(LEDColor)
void clear();
QColor backgroundColor() const;
void setBackgroundColor(const QColor& color);
Qt::BGMode backgroundMode() const;
void setBackgroundMode(Qt::BGMode mode);
QColor darkLedColor() const;
void setDarkLedColor(const QColor& color);
QRgb colorAt(int row, int col) const;
void setColorAt(int row, int col, QRgb rgb);
int rowCount() const;
void setRowCount(int rows);
int columnCount() const;
void setColumnCount(int columns);
inline void setSize(const QSize &s) { setRowCount(s.height()); setColumnCount(s.width()); }
QSize sizeHint() const;
protected:
QLedMatrixPrivate* const d_ptr;
void paintEvent(QPaintEvent*);
private:
Q_DISABLE_COPY(QLedMatrix)
Q_DECLARE_PRIVATE(QLedMatrix)
};