diff options
author | Hans Goudey <h.goudey@me.com> | 2021-04-14 19:11:51 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2021-04-14 19:11:51 +0300 |
commit | 71eaf872c2db37fcc00f269bcb7e8949b2711942 (patch) | |
tree | 0ce5fa850e57e87c0d9f74bc0e908983a97aecd8 /source/blender/editors/include | |
parent | d705335c2b0ae5994d8d66df100270f34c098c77 (diff) |
Geometry Nodes: Add domain and data type to attribute search
This patch adds domain and data type information to each row of the
attribute search menu. The data type is displayed on the right, just
like how the list is exposed for the existing point cloud and hair
attribute panels. The domain is exposed on the left like the menu
hierarchy from menu search.
For the implementation, the attribute hint information is stored as a
set instead of a multi-value map so that every item (which we need to
point to descretely in the search process) contains the necessary data
type and domain information by itself. We also need to allocate a new
struct for every button, which requires a change to allow passing a
newly allocated argument to search buttons.
Note that the search does't yet handle the case where there are two
attributes with the same name but different domains or data types in
the input geometry set. That will be handled as a separate improvement.
Differential Revision: https://developer.blender.org/D10623
Diffstat (limited to 'source/blender/editors/include')
-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 dfe0898a85b..7a189139358 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -1600,6 +1600,7 @@ void UI_but_func_search_set(uiBut *but, uiButSearchCreateFn search_create_fn, uiButSearchUpdateFn search_update_fn, void *arg, + const bool free_arg, uiButSearchArgFreeFn search_arg_free_fn, uiButHandleFunc search_exec_fn, void *active); |