Hi all, while digging a bit more deeply into the code of QX11EmbedWidget (in order to port it to Qt5), I started wondering if we really need a special API for embedding, or whether QWindow could already offer most of it:
========== QWindow::QWindow(QWindow * parent) Creates a window as a child of the given parent window. The window will be embedded inside the parent window, its coordinates relative to the parent. ========== What about adding an API to create QWindow objects for foreign windows as well? (by "foreign window" I mean a window created by another process) Then we could provide embedding functionality by using the QWindow constructor or the QWindow::setParent() method. Also, the QWindow::setTransientParent() could be use to set our QWindow as transient for a foreign window. Of course, this might not work in all platforms, but the documentation could explain where it works and where it doesn't. In order to create a QWindow for a foreign window, there might be a special subclass of QWindow (QForeignWindow?) or maybe it could just be a QWindow with a special Qt::ForeignWindow flag (and maybe a constructor like QWindow::QWindow(WinId foreignWindow)). Your opinions on which way foreign windows could be created (and on whether all of this sounds like a good idea to you) are very welcome. :-) Ciao, Alberto _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
