Summary: | MacOSX: Newt Window Eclipse RCP Detached View Wrong Z-Order and Update | ||
---|---|---|---|
Product: | [JogAmp] Newt | Reporter: | Marcel Au <marcel.au> |
Component: | swt | Assignee: | Sven Gothel <sgothel> |
Status: | IN_PROGRESS --- | ||
Severity: | normal | ||
Priority: | P4 | ||
Version: | 3.0.0 | ||
Hardware: | All | ||
OS: | all | ||
Type: | DEFECT | SCM Refs: | |
Workaround: | --- | ||
Bug Depends on: | |||
Bug Blocks: | 674 | ||
Attachments: | Detach RCP View NewtCanvas SWT |
Description
Marcel Au
2020-01-15 14:06:24 CET
"If I detach a view on MacOSX" please elaborate. How can we emulate this in the unit test? You also mentioned this didn't happen before .. when exactly? i.e. when was this introduced 'build, jogl git commit' ? I did change the hide/visible semantics NEWT on OSX. Hello Sven: For detached view, see: https://help.eclipse.org/2019-12/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Ftasks%2Ftasks-9l.htm or (search for detached views): https://help.eclipse.org/2019-12/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Ftips%2Fplatform_tips.html This did not happen in built 1498 See: https://jogamp.org/bugzilla/show_bug.cgi?id=1421#c35 Created attachment 837 [details]
Detach RCP View NewtCanvas SWT
Hello Sven,
here an animated *.gif which shows a detached view with the NewtCanvas correctly on Windows (also works on Linux).
On MacOSX the NewtCanvas is hidden behind the view (which then appears empty).
If the detached view is moved the NewtCanvas stays at the position and shows up behind the detached view.
If I resize the view the NewtCanvas updates the position but then again is hidden behind the detached view.
(In reply to Marcel Au from comment #4) Marcel, you commented in Bug 1421 comment 48 for this Bug 1424 ... IMHO Bug 1422 and Bug 1423 should have been resolved. We need a unit test for this attach/detach view, i.e. what gets pulled from the big Shell (RCP)? Just removing a Compositor or Group from its parent and place it in its own new Shell? Hello Sven, it is a new window and works on Linux and Windows with NewtCanvasSWT, see: https://help.eclipse.org/2019-12/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Fconcepts-21a.htm As I already described it seems to be a possible on MacOSX, too, see my description here: https://jogamp.org/bugzilla/show_bug.cgi?id=1421#c48 So what does the fullscreen implementation call to relayout the NewtCanvas SWT (setFullscreen(false)) correctly? It might be that I can workaround this default Mac detach behaviour by installing a detach listener described here: https://eclipsesource.com/blogs/2010/06/23/tip-how-to-detect-that-a-view-was-detached/ As already described: when I detach the window on MacOSX the NewtCanvasSWT is hidden behind the detached view. But when I now enter fullscreen and then instantly exit fullscreen the NewtCanvasSWT is attached correctly on top of the detached view and it works as expected (resizing, change location). Now when I attach the view to the perspective again I once more have to enter/exit fullscreen before I can resize the view again embedded in the perspective. If I don't use enter/exit fullscreen after I attach the view to the perspective the NewtCanvasSWT will completely hidden when I resize the view (if I don't resize the view it stays visible). So does the fullscreen function reparent the window? When I install a detach/attach listener which calls setFullscreen(true) and directly after it setFullscreen(false) everything works as it should. Only on rare occations (after I detached/attached the view) when I drag the view around it looses the parent window or doesn't update and I have to resize the view to reparent/update it again. So I think that maybe no events are fired to reparent or update the window when I detach/attach the view. Can I somehow call these events which are called by the fullscreen function, too? |