You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When building my own multipannel viewer using the new gui i obeserve the following strange behavior. The frame property of each widget is updated by my custom on_layout function which is registered to the window using set_on_layout method. When starting the viewer and for example maximize the window the following happens.
the top right compas view appears on the maximized window some where in the middle. Respective it stays where it was layouted on the not maximized window and thus overlays the other views which are properly resized. This behaviour is most likely caused by the lines 829 of SceneWidget.cpp file on current master. This line does only update the frame when the frame size has changed but not its position. As the compas widget has constant size and should not change its size it will not be repositioned to its new location top right on the maximized window but stays within the window where it was placed intitally on th the non maximized window.
My current workarround is set frame twice with two differnt clearly distinct sizes. Thereby the second one is the final size the widgets should have on the maximized or when demaximizing on the non maximized window.
It seems that the gui window is not cleared before the widgets are redrawn in their new layout. The previous content of the window stays in the background and is over drawn by the widgets in their new position.
To Reproduce
Use the attached python script creating the described viewer.
Start the script
Maximize the window
Unmaximize the window
Expected behavior
That SceneWidget is moved to its intended position even if its size has not be changed. Make line 829 also check if position of frame has changed not just its size. Or if that is not possible discard this line and do not try to optimize for widgets not changed in size.
Screenshots
Environment (please complete the following information):
Update. It seems that the window background is cleared and the resized Window is properly redrawn as soon as any interaction with the 3D Widgets has happened. Seems as if a forced redraw of all parts of the window including the window itself would be necessary when resizing the window. And not just of the widgets which change their layout.
IMPORTANT: Please use the following template to report the bug.
Before submitting:
Describe the bug
When building my own multipannel viewer using the new gui i obeserve the following strange behavior. The frame property of each widget is updated by my custom on_layout function which is registered to the window using set_on_layout method. When starting the viewer and for example maximize the window the following happens.
the top right compas view appears on the maximized window some where in the middle. Respective it stays where it was layouted on the not maximized window and thus overlays the other views which are properly resized. This behaviour is most likely caused by the lines 829 of
SceneWidget.cpp
file on current master. This line does only update the frame when the frame size has changed but not its position. As the compas widget has constant size and should not change its size it will not be repositioned to its new location top right on the maximized window but stays within the window where it was placed intitally on th the non maximized window.My current workarround is set frame twice with two differnt clearly distinct sizes. Thereby the second one is the final size the widgets should have on the maximized or when demaximizing on the non maximized window.
It seems that the gui window is not cleared before the widgets are redrawn in their new layout. The previous content of the window stays in the background and is over drawn by the widgets in their new position.
To Reproduce
Use the attached python script creating the described viewer.
Start the script
Maximize the window
Unmaximize the window
Expected behavior
That SceneWidget is moved to its intended position even if its size has not be changed. Make line 829 also check if position of frame has changed not just its size. Or if that is not possible discard this line and do not try to optimize for widgets not changed in size.
Screenshots
Environment (please complete the following information):
wreckout.py.gz
The text was updated successfully, but these errors were encountered: