Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
Executable
+59
@@ -0,0 +1,59 @@
|
||||
#pragma once
|
||||
|
||||
#include "lts_multi_monitor_export.h"
|
||||
|
||||
#include <QWidget>
|
||||
#include <QRect>
|
||||
|
||||
class QSplitter;
|
||||
class QHBoxLayout;
|
||||
|
||||
namespace LtsUtils { class Promise; }
|
||||
|
||||
namespace LtsMultiMonitor
|
||||
{
|
||||
class LtsScreenContainer;
|
||||
|
||||
// controller class, manages the underlying screen widget
|
||||
// hides from System Menu + Parent for QDialogs
|
||||
class LTSMULTIMONITOR_EXPORT LtsScreenBase : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum WidgetType
|
||||
{
|
||||
MainWidget,
|
||||
SecondaryWidget,
|
||||
None,
|
||||
};
|
||||
|
||||
LtsScreenBase(QRect screenGeo, int screenId, bool debugMargins, const QString &serial);
|
||||
|
||||
const QRect &screenRect() const { return m_screenRect; }
|
||||
int screenId() const { return m_screenId; }
|
||||
const QString serialNumber() const { return m_serial; }
|
||||
QWidget *screenDialog() const { return m_screenDialog; }
|
||||
|
||||
virtual int screenType() const = 0;
|
||||
virtual int containerIdOfWidget(QWidget *widget) const noexcept(false) = 0;
|
||||
virtual LtsScreenContainer *putWidget(QWidget *widget, int screenPart = -1 /* unspecified */) noexcept(false) = 0;
|
||||
virtual LtsScreenContainer *containerOfWidget(QWidget *widget) noexcept(false) = 0;
|
||||
virtual bool isEmpty() const = 0;
|
||||
virtual bool isIrreplaceable() const = 0;
|
||||
virtual void check() {}
|
||||
virtual bool hasWidget(QWidget *widget) const = 0; // NOTE: ignores active widget - checks for main & secondary
|
||||
virtual void switchToTemp(WidgetType /*widgetType*/) {}
|
||||
virtual void finalizeSwitch() {}
|
||||
virtual void revertSwitch() {}
|
||||
|
||||
protected:
|
||||
QWidget *m_screenDialog;
|
||||
|
||||
private:
|
||||
int m_screenId;
|
||||
QString m_serial;
|
||||
QRect m_screenRect;
|
||||
};
|
||||
|
||||
} // namespace LtsMultiMonitor
|
||||
Reference in new issue
Block a user