- training_area_telegrams.cpp: Fixed QJsonObject initializer syntax (Qt6 requires {{}} not ({}))
- training_area_telegrams.cpp: Fixed fromJson() methods to access m_* members directly
- training_area_telegrams.cpp: Fixed brace mismatches in multiple toJson() methods
- training_area_telegrams.h: Changed Header struct to public members for consistency
- tx_mixin.cpp: Fixed getEquipmentNumber() template for direct member access
- lts_coordinate.cpp: Added missing #include <iomanip>
- MIGRATION_STATUS.md: Added migration progress tracking document
C++17 constraint enforced due to RTI Connext DDS 7.7.0 incompatibility with C++20+
Build status: BUILD_RTI=OFF successful (0 errors, warnings only)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
66 lines
1.5 KiB
C++
66 lines
1.5 KiB
C++
#pragma once
|
|
#include "lts_screen_base.h"
|
|
#include "ltsmultimonitor_export.h"
|
|
|
|
#include <QtCore/QObject>
|
|
#include <QtCore/QRect>
|
|
#include <QtWidgets/QWidget>
|
|
|
|
class QHBoxLayout;
|
|
|
|
namespace LtsMultiMonitor
|
|
{
|
|
class LTSMULTIMONITOR_EXPORT LtsScreenContainer : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
LtsScreenContainer(QRect screenGeo);
|
|
|
|
bool isIrreplaceable() const;
|
|
bool isEmpty() const;
|
|
bool hasMainWidget();
|
|
bool hasSecondaryWidget();
|
|
void setWidget(QWidget* widget);
|
|
bool hasWidget(QWidget* widget) const;
|
|
QWidget* widget() noexcept(false);
|
|
QWidget* stealWidget() noexcept(false);
|
|
void switchToTemp(LtsScreenBase::WidgetType widgetType);
|
|
void finalizeSwitch();
|
|
void revertSwitch();
|
|
bool mainAndSecondaryOccupied() const;
|
|
QIcon mainWindowIcon() const;
|
|
QIcon secondaryWindowIcon() const;
|
|
LtsScreenBase::WidgetType activeWidgetType() const;
|
|
bool isInactiveWidgetOccupied() const;
|
|
|
|
signals:
|
|
void check();
|
|
void signalSetCornerIcons();
|
|
|
|
private:
|
|
QHBoxLayout* m_layout{nullptr};
|
|
QWidget* m_mainWidget{nullptr};
|
|
QWidget* m_secondaryWidget{nullptr};
|
|
QWidget** m_activeWidget{nullptr};
|
|
QWidget** m_oldActiveWidget{nullptr};
|
|
bool m_nullSwitchActive{false};
|
|
QRect m_screenGeo;
|
|
|
|
QString geoStr() const;
|
|
bool tryPutDummyUnmanaged(QWidget* widget);
|
|
void vanish();
|
|
void reappear();
|
|
QWidget* activeWidget() const;
|
|
QWidget** activeWidgetPtr();
|
|
|
|
public slots:
|
|
void toggle();
|
|
|
|
private slots:
|
|
|
|
void slotChildDestroyed();
|
|
};
|
|
|
|
} // namespace LtsMultiMonitor
|