Support minimizing floating windows independently of main window #276
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The current behavior treats all the windows as a group. Minimizing the main window will cause all the floating windows to be minimized. Also, if you minimize a floating window, it is minimized but then is immediately restored.
Our users requested that the they have the ability to minimize the windows independently. This is because they may need to minimize a single window that is in the way of another window, but they do not necessarily want to minimize all the other windows for the app.
In order to support this, this change adds 2 properties to the
LayoutFloatingWindowControl
:AllowMinimize
which determines whether a floating window can be minimized. Setting this to 'true' enables the ability to minimize the floating window while leaving the main window as it is.OwnedByDockingManagerWindow
which determines whether the window is "owned" by the main window. This determines whether the floating window should automatically minimize when the main window does or whether it should be left as is.By separating it into 2 properties, developers have more control based on their specific needs.
The default value for each property is set to leave the current behavior unchanged.