From df96455c55110da00f0543c5895376ffbc66313b Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 17 Mar 2019 17:52:05 +0100 Subject: UI: add light/world settings in shader node editor. Material was already there. Implementation was changed so it's just a single line of code to adapt a panel to the node editor. --- source/blender/editors/space_node/space_node.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'source/blender/editors/space_node/space_node.c') diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c index fc8d880080d..1271bf51c5f 100644 --- a/source/blender/editors/space_node/space_node.c +++ b/source/blender/editors/space_node/space_node.c @@ -793,7 +793,9 @@ static void node_region_listener( } } -const char *node_context_dir[] = {"selected_nodes", "active_node", NULL}; +const char *node_context_dir[] = { + "selected_nodes", "active_node", "light", "material", "world", NULL +}; static int node_context(const bContext *C, const char *member, bContextDataResult *result) { @@ -833,6 +835,24 @@ static int node_context(const bContext *C, const char *member, bContextDataResul CTX_data_type_set(result, CTX_DATA_TYPE_POINTER); return 1; } + else if (CTX_data_equals(member, "material")) { + if (snode->id && GS(snode->id->name) == ID_MA) { + CTX_data_id_pointer_set(result, snode->id); + } + return 1; + } + else if (CTX_data_equals(member, "light")) { + if (snode->id && GS(snode->id->name) == ID_LA) { + CTX_data_id_pointer_set(result, snode->id); + } + return 1; + } + else if (CTX_data_equals(member, "world")) { + if (snode->id && GS(snode->id->name) == ID_WO) { + CTX_data_id_pointer_set(result, snode->id); + } + return 1; + } return 0; } -- cgit v1.2.3