Rename Label instead of Name in Node editor using F2 key
authorAntonioya <blendergit@gmail.com>
Thu, 11 Apr 2019 11:10:10 +0000 (13:10 +0200)
committerAntonioya <blendergit@gmail.com>
Thu, 11 Apr 2019 12:47:35 +0000 (14:47 +0200)
See D4631 for more details

Reviewers: @brecht @billreynish

release/scripts/startup/bl_ui/space_topbar.py
source/blender/makesrna/intern/rna_nodetree.c

index 7b9b324066a8cf09b17b2a168379bfe87fb498f7..25c715e8ae715ef22db35eb7c82062a1d6105524 100644 (file)
@@ -1084,11 +1084,11 @@ class TOPBAR_PT_name(Panel):
                 row.prop(item, "name", text="")
                 found = True
         elif space_type == 'NODE_EDITOR':
-            layout.label(text="Node Name")
+            layout.label(text="Node Label")
             item = context.active_node
             if item:
                 row = row_with_icon(layout, 'NODE')
-                row.prop(item, "name", text="")
+                row.prop(item, "label", text="")
                 found = True
         else:
             if mode == 'POSE' or (mode == 'WEIGHT_PAINT' and context.pose_object):
index 44cf15995f9b7bce2355ad7cc35672780a962036..c60aa494512222815f99d336a1a2fcc777b84375 100644 (file)
@@ -1617,6 +1617,31 @@ static void rna_Node_name_set(PointerRNA *ptr, const char *value)
        BKE_animdata_fix_paths_rename_all(NULL, "nodes", oldname, node->name);
 }
 
+static int rna_Node_label_length(PointerRNA *ptr)
+{
+       bNode *node = (bNode *)ptr->data;
+
+       if (node->label[0] == '\0') {
+               return strlen(node->name);
+       }
+       else {
+               return strlen(node->label);
+       }
+
+       return 0;
+}
+
+static void rna_Node_label_get(PointerRNA *ptr, char *value)
+{
+       bNode *node = (bNode *)ptr->data;
+       if (node->label[0] == '\0') {
+               strcpy(value, node->name);
+       }
+       else {
+               strcpy(value, node->label);
+       }
+}
+
 static bNodeSocket *rna_Node_inputs_new(ID *id, bNode *node, Main *bmain, ReportList *reports, const char *type, const char *name, const char *identifier)
 {
        /* Adding an input to a group node is not working, simpler to add it to its underlying nodetree. */
@@ -7977,6 +8002,7 @@ static void rna_def_node(BlenderRNA *brna)
 
        prop = RNA_def_property(srna, "label", PROP_STRING, PROP_NONE);
        RNA_def_property_string_sdna(prop, NULL, "label");
+       RNA_def_property_string_funcs(prop, "rna_Node_label_get", "rna_Node_label_length", NULL);
        RNA_def_property_ui_text(prop, "Label", "Optional custom node label");
        RNA_def_property_update(prop, NC_NODE | ND_DISPLAY, NULL);