On Dec 11, 2012, at 12:33 PM, Samuel Rødal <[email protected]>
 wrote:
>> 
>> 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. :-)
> 
> This worked for QWidgets in Qt 4 by passing a native window handle (WId) 
> to create(). However, then we also knew at compile time what the native 
> windowing system would be.
> 
> Is it possible to define a WId type that will work on X11, Wayland, and 
> any other theoretical windowing system on Unix platforms?


I've been planning this a bit from he perspective if the Cocoa port, here's 
what I think I need:

- A Qt::WindowFlags flag ("Qt::NativeWindow")
- An basic API for setting the native window*, for example a function exported 
by QPlatformNativeInterface.
- Nice API in QtMacExtras 
- The implementation itself in the cocoa plugin.

I don't think we should create QWindow subclass. We could add a constructor 
instead of using QPlatformNativeInterface, and then we would perhaps not need a 
flag either.

Morten

* which would be a NSView, not a NSWindow. QWindow handles both the top-level 
and non-top-level case, Cocoa has separate classes.

_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to