diff options
author | Hans Goudey <h.goudey@me.com> | 2020-10-16 23:16:44 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2020-10-16 23:16:44 +0300 |
commit | 54da72d3cd546ecbd2560d7d57cbed33064bbee1 (patch) | |
tree | 159b897bff233f6357129468de55fe87b0970f6a /source/blender/editors/include/UI_interface.h | |
parent | 77aef03d8ade0e147a4a16354bcb33432e3d2f04 (diff) |
Property Search: Reset panel expansion when exiting search
This patch implements panel expansion saving and resetting for property
search. While search is active, the panel expansion is based on whether
or not it has a search result. When the search finishes, the panel
expansion returns to its state before the search started. However, any
panels interacted with during the search won't reset their expansion.
This requires adding a new runtime flag for panels to store whether to
use search result status as expansion. It also requires better handling
for animation when panel expansion changes with another new runtime flag.
`UI_panel_is_closed` gets the search-dependent expansion, but it is
intentionally not used to access expansion in every case-- sometimes it's
necessary to use `PNL_CLOSED` directly.
Differential Revision: https://developer.blender.org/D8984
Diffstat (limited to 'source/blender/editors/include/UI_interface.h')
-rw-r--r-- | source/blender/editors/include/UI_interface.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index 2c8518de700..c987a8ac13b 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -1693,6 +1693,7 @@ void UI_panel_header_buttons_begin(struct Panel *panel); void UI_panel_header_buttons_end(struct Panel *panel); void UI_panel_end(struct Panel *panel, int width, int height); +bool UI_panel_is_closed(const struct Panel *panel); bool UI_panel_is_active(const struct Panel *panel); void UI_panel_label_offset(struct uiBlock *block, int *r_x, int *r_y); int UI_panel_size_y(const struct Panel *panel); |