#pragma once #include "lts_screen_base.h" #include "ltsmultimonitor_export.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(); }; } // namespace LtsMultiMonitor