Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesrna/intern/rna_nodetree.c
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
| Show First 20 Lines • Show All 2,115 Lines • ▼ Show 20 Lines | static PointerRNA rna_NodeSocket_node_get(PointerRNA *ptr) | ||||
| PointerRNA r_ptr; | PointerRNA r_ptr; | ||||
| nodeFindNode(ntree, sock, &node, NULL); | nodeFindNode(ntree, sock, &node, NULL); | ||||
| RNA_pointer_create((ID *)ntree, &RNA_Node, node, &r_ptr); | RNA_pointer_create((ID *)ntree, &RNA_Node, node, &r_ptr); | ||||
| return r_ptr; | return r_ptr; | ||||
| } | } | ||||
| static void rna_NodeSocket_type_set(PointerRNA *ptr, int value) | |||||
| { | |||||
| bNodeTree *ntree = (bNodeTree *)ptr->id.data; | |||||
| bNodeSocket *sock = (bNodeSocket *)ptr->data; | |||||
| bNode *node; | |||||
| nodeFindNode(ntree, sock, &node, NULL); | |||||
| nodeModifySocketType(ntree, node, sock, value, 0); | |||||
| } | |||||
| static void rna_NodeSocket_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr) | static void rna_NodeSocket_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr) | ||||
| { | { | ||||
| bNodeTree *ntree = (bNodeTree *)ptr->id.data; | bNodeTree *ntree = (bNodeTree *)ptr->id.data; | ||||
| bNodeSocket *sock = (bNodeSocket *)ptr->data; | bNodeSocket *sock = (bNodeSocket *)ptr->data; | ||||
| bNode *node; | bNode *node; | ||||
| if (nodeFindNode(ntree, sock, &node, NULL)) { | if (nodeFindNode(ntree, sock, &node, NULL)) { | ||||
| ED_node_tag_update_nodetree(bmain, ntree, node); | ED_node_tag_update_nodetree(bmain, ntree, node); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 5,622 Lines • ▼ Show 20 Lines | static void rna_def_node_socket(BlenderRNA *brna) | ||||
| * Ideally should be defined only for the registered subclass, | * Ideally should be defined only for the registered subclass, | ||||
| * but to use the existing DNA is added in the base type here. | * but to use the existing DNA is added in the base type here. | ||||
| * Future socket types can ignore or override this if needed. | * Future socket types can ignore or override this if needed. | ||||
| */ | */ | ||||
| prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE); | prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE); | ||||
| RNA_def_property_enum_sdna(prop, NULL, "type"); | RNA_def_property_enum_sdna(prop, NULL, "type"); | ||||
| RNA_def_property_enum_items(prop, node_socket_type_items); | RNA_def_property_enum_items(prop, node_socket_type_items); | ||||
| RNA_def_property_enum_default(prop, SOCK_FLOAT); | RNA_def_property_enum_default(prop, SOCK_FLOAT); | ||||
| RNA_def_property_enum_funcs(prop, NULL, "rna_NodeSocket_type_set", NULL); | |||||
| RNA_def_property_ui_text(prop, "Type", "Data type"); | RNA_def_property_ui_text(prop, "Type", "Data type"); | ||||
| RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_NodeSocket_update"); | RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_NodeSocket_update"); | ||||
| prop = RNA_def_property(srna, "draw_shape", PROP_ENUM, PROP_NONE); | prop = RNA_def_property(srna, "draw_shape", PROP_ENUM, PROP_NONE); | ||||
| RNA_def_property_enum_sdna(prop, NULL, "draw_shape"); | RNA_def_property_enum_sdna(prop, NULL, "draw_shape"); | ||||
| RNA_def_property_enum_items(prop, rna_enum_node_socket_draw_shape_items); | RNA_def_property_enum_items(prop, rna_enum_node_socket_draw_shape_items); | ||||
| RNA_def_property_enum_default(prop, SOCK_DRAW_SHAPE_CIRCLE); | RNA_def_property_enum_default(prop, SOCK_DRAW_SHAPE_CIRCLE); | ||||
| RNA_def_property_ui_text(prop, "Shape", "Socket shape"); | RNA_def_property_ui_text(prop, "Shape", "Socket shape"); | ||||
| ▲ Show 20 Lines • Show All 1,583 Lines • Show Last 20 Lines | |||||