Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_node/node_group.c
| Show First 20 Lines • Show All 673 Lines • ▼ Show 20 Lines | static bool node_group_make_test_selected(bNodeTree *ntree, | ||||
| int ok = true; | int ok = true; | ||||
| /* make a local pseudo node tree to pass to the node poll functions */ | /* make a local pseudo node tree to pass to the node poll functions */ | ||||
| bNodeTree *ngroup = ntreeAddTree(NULL, "Pseudo Node Group", ntree_idname); | bNodeTree *ngroup = ntreeAddTree(NULL, "Pseudo Node Group", ntree_idname); | ||||
| /* check poll functions for selected nodes */ | /* check poll functions for selected nodes */ | ||||
| LISTBASE_FOREACH (bNode *, node, &ntree->nodes) { | LISTBASE_FOREACH (bNode *, node, &ntree->nodes) { | ||||
| if (node_group_make_use_node(node, gnode)) { | if (node_group_make_use_node(node, gnode)) { | ||||
| if (node->typeinfo->poll_instance && !node->typeinfo->poll_instance(node, ngroup)) { | const char *disabled_hint = NULL; | ||||
| if (node->typeinfo->poll_instance && | |||||
| !node->typeinfo->poll_instance(node, ngroup, &disabled_hint)) { | |||||
| if (disabled_hint) { | |||||
| BKE_reportf(reports, | |||||
| RPT_WARNING, | |||||
| "Can not add node '%s' in a group:\n %s", | |||||
| node->name, | |||||
| disabled_hint); | |||||
| } | |||||
| else { | |||||
| BKE_reportf(reports, RPT_WARNING, "Can not add node '%s' in a group", node->name); | BKE_reportf(reports, RPT_WARNING, "Can not add node '%s' in a group", node->name); | ||||
| } | |||||
| ok = false; | ok = false; | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| node->done = 0; | node->done = 0; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 430 Lines • Show Last 20 Lines | |||||