diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2011-03-17 13:11:12 +0300 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2011-03-17 13:11:12 +0300 |
commit | afd8865181dab5a79a7ecb638c3cd9842087c452 (patch) | |
tree | 8387575e3c8d48376ca09396fda23876b1c554e3 /source/blender/editors/space_node | |
parent | e3842d1ca4dd2fdc58b8d7819a8a02a688753146 (diff) |
Added an optional label string to nodes. As pointed out by Sebastian Koenig, some nodes (in particular render layer nodes) need custom labels, but it is not possible to make any useful generic abbreviation. The label string can be used as a custom user-defined label in this case, without the ugly .xxx extensions needed for unique node names. When the label string is empty, the default type label will be used.
Diffstat (limited to 'source/blender/editors/space_node')
-rw-r--r-- | source/blender/editors/space_node/node_buttons.c | 1 | ||||
-rw-r--r-- | source/blender/editors/space_node/node_draw.c | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/editors/space_node/node_buttons.c b/source/blender/editors/space_node/node_buttons.c index b1191b616dc..f8ea6e881f7 100644 --- a/source/blender/editors/space_node/node_buttons.c +++ b/source/blender/editors/space_node/node_buttons.c @@ -113,6 +113,7 @@ static void active_node_panel(const bContext *C, Panel *pa) /* draw this node's name, etc. */ uiItemR(layout, &ptr, "name", 0, NULL, ICON_NODE); + uiItemR(layout, &ptr, "label", 0, NULL, ICON_NODE); // TODO: a separator would be nice... /* draw this node's settings */ diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c index c5221d45837..920e670573d 100644 --- a/source/blender/editors/space_node/node_draw.c +++ b/source/blender/editors/space_node/node_draw.c @@ -804,7 +804,9 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN else UI_ThemeColor(TH_TEXT); */ - if (node->typeinfo->labelfunc) + if (node->label[0]!='\0') + BLI_strncpy(showname, node->label, sizeof(showname)); + else if (node->typeinfo->labelfunc) BLI_strncpy(showname, node->typeinfo->labelfunc(node), sizeof(showname)); else BLI_strncpy(showname, node->typeinfo->name, sizeof(showname)); @@ -948,7 +950,9 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b UI_ThemeColor(TH_TEXT); if(node->miniwidth>0.0f) { - if (node->typeinfo->labelfunc) + if (node->label[0]!='\0') + BLI_strncpy(showname, node->label, sizeof(showname)); + else if (node->typeinfo->labelfunc) BLI_strncpy(showname, node->typeinfo->labelfunc(node), sizeof(showname)); else BLI_strncpy(showname, node->typeinfo->name, sizeof(showname)); |