#pragma once #include "lts_screen_base.h" #include #include #include class QSplitter; class QHBoxLayout; namespace LtsMultiMonitor { class LTSMULTIMONITOR_EXPORT LtsScreenWide : public LtsScreenBase { Q_OBJECT public: LtsScreenWide(const QRect &screenGeo, int screenId, bool debugMargins, const QString &serial); int screenType() const override { return 1; } LtsScreenContainer *containerOfWidget(QWidget *widget) noexcept(false) override; bool isEmpty() const override; LtsScreenContainer *childLeft() const { return m_childContainerLeft; } LtsScreenContainer *childRight() const { return m_childContainerRight; } LtsScreenContainer *childMain() const { return m_childContainerMain; } void putWidgetUnmanagedMain(QWidget *widget); void putWidgetUnmanagedLeft(QWidget *widget); void putWidgetUnmanagedRight(QWidget *widget); bool isIrreplaceable() const override; bool hasWidget(QWidget *widget) const override; LtsScreenContainer *putWidget(QWidget *widget, int screenPart) noexcept(false) override; int containerIdOfWidget(QWidget *widget) const noexcept(false) override; public slots: void check() override; private: LtsScreenContainer *m_childContainerMain; LtsScreenContainer *m_childContainerLeft; LtsScreenContainer *m_childContainerRight; QSplitter *m_splitter; void swapLeftRight(); }; }