diff options
author | Ken Moore <ken@ixsystems.com> | 2017-01-31 14:12:29 -0500 |
---|---|---|
committer | Ken Moore <ken@ixsystems.com> | 2017-01-31 14:12:29 -0500 |
commit | 223e28da7a0c67b5ad1e844dbbbd6f4bd7557977 (patch) | |
tree | b2533ffd6cfbad97c09ba8a36c51a79902ef6a33 /src-qt5/core/libLumina/RootSubWindow.h | |
parent | Get the next phase of Lumina2 working: The context menu for the desktop itself. (diff) | |
download | lumina-223e28da7a0c67b5ad1e844dbbbd6f4bd7557977.tar.gz lumina-223e28da7a0c67b5ad1e844dbbbd6f4bd7557977.tar.bz2 lumina-223e28da7a0c67b5ad1e844dbbbd6f4bd7557977.zip |
Get a lot more of Lumina2 working. Now the window embed systems are functional, with 2-way create/show/hide/close detection. Windows do not detect/resize as needed yet though.
Diffstat (limited to 'src-qt5/core/libLumina/RootSubWindow.h')
-rw-r--r-- | src-qt5/core/libLumina/RootSubWindow.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src-qt5/core/libLumina/RootSubWindow.h b/src-qt5/core/libLumina/RootSubWindow.h new file mode 100644 index 00000000..d4119ccc --- /dev/null +++ b/src-qt5/core/libLumina/RootSubWindow.h @@ -0,0 +1,50 @@ +//=========================================== +// Lumina Desktop source code +// Copyright (c) 2017, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +// This class embeds a native window +// within the RootWindow area +//=========================================== +#ifndef _LUMINA_ROOT_WINDOW_SUB_WINDOW_H +#define _LUMINA_ROOT_WINDOW_SUB_WINDOW_H + +#include <QMdiArea> +#include <QMdiSubWindow> +#include <QWindow> +#include <QWidget> +#include <QCloseEvent> + +class RootSubWindow : public QMdiSubWindow{ + Q_OBJECT +public: + RootSubWindow(QMdiArea *root, WId window, Qt::WindowFlags flags = Qt::WindowFlags()); + ~RootSubWindow(); + + WId id(); + +private: + WId CID; //client window ID + QWindow *WIN; //Embedded window container + QWidget *WinWidget; + bool closing; +public slots: + void clientClosed(); + void clientHidden(); + void clientShown(); + +private slots: + void aboutToActivate(); + void adjustHeight(int); + void adjustWidth(int); + +protected: + void closeEvent(QCloseEvent*); + +signals: + void Activated(WId); + +}; + +#endif |