Nodes: support searching for group inputs
This simplifies finding where a specific Group Input is used in a node group. It extends what was added in #146882. Pull Request: https://projects.blender.org/blender/blender/pulls/146992
This commit is contained in:
@@ -1334,6 +1334,11 @@ static std::string node_find_create_node_label(const bNodeTree &ntree, const bNo
|
||||
return fmt::format("{} ({})", label, node.name);
|
||||
}
|
||||
|
||||
static std::string node_find_create_group_input_label(const bNode &node, const bNodeSocket &socket)
|
||||
{
|
||||
return fmt::format("{}: \"{}\" ({})", TIP_("Input"), socket.name, node.name);
|
||||
}
|
||||
|
||||
static std::string node_find_create_string_value(const bNode &node, const StringRef str)
|
||||
{
|
||||
return fmt::format("{}: \"{}\" ({})", TIP_("String"), str, node.name);
|
||||
@@ -1390,6 +1395,16 @@ static void node_find_update_fn(const bContext *C,
|
||||
search.add(search_str, &scope.construct<Item>(Item{node, search_str}));
|
||||
}
|
||||
}
|
||||
if (node->is_group_input()) {
|
||||
for (const bNodeSocket *socket : node->output_sockets().drop_back(1)) {
|
||||
if (!socket->is_directly_linked()) {
|
||||
continue;
|
||||
}
|
||||
const StringRef search_str = scope.add_value(
|
||||
node_find_create_group_input_label(*node, *socket));
|
||||
search.add(search_str, &scope.construct<Item>(Item{node, search_str}));
|
||||
}
|
||||
}
|
||||
if (node->id) {
|
||||
/* Avoid showing referenced node group data-blocks twice. */
|
||||
const bool skip_data_block =
|
||||
|
||||
Reference in New Issue
Block a user