diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-09-10 20:35:38 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-09-10 21:29:31 +0300 |
commit | 477e81128d2fa0035d86690ce2a0027d31625769 (patch) | |
tree | a16a8a6984ec3e707cbc0b6f9a58f7a6549a6766 /source | |
parent | d234bf21b97c4e31b963a18eb71012634b014b6f (diff) |
Show correct syntax for id-properties
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/interface/interface_regions.c | 5 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_access.c | 11 | ||||
-rw-r--r-- | source/blender/python/intern/bpy_rna.c | 5 |
3 files changed, 13 insertions, 8 deletions
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c index 356e85e9d63..b9bacb8203b 100644 --- a/source/blender/editors/interface/interface_regions.c +++ b/source/blender/editors/interface/interface_regions.c @@ -520,9 +520,10 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but) } if (data_path) { + const char *data_delim = (data_path[0] == '[') ? "" : "."; BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), - "%s.%s", /* no need to translate */ - id_path, data_path); + "%s%s%s", /* no need to translate */ + id_path, data_delim, data_path); MEM_freeN(data_path); } else if (prop) { diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index 41bb0386ce6..b7478fd3311 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -4720,6 +4720,7 @@ char *RNA_path_full_struct_py(struct PointerRNA *ptr) char *RNA_path_full_property_py(PointerRNA *ptr, PropertyRNA *prop, int index) { char *id_path; + const char *data_delim; char *data_path; char *ret; @@ -4733,13 +4734,15 @@ char *RNA_path_full_property_py(PointerRNA *ptr, PropertyRNA *prop, int index) data_path = RNA_path_from_ID_to_property(ptr, prop); + data_delim = (data_path && data_path[0] == '[') ? "" : "."; + if ((index == -1) || (RNA_property_array_check(prop) == false)) { - ret = BLI_sprintfN("%s.%s", - id_path, data_path); + ret = BLI_sprintfN("%s%s%s", + id_path, data_delim, data_path); } else { - ret = BLI_sprintfN("%s.%s[%d]", - id_path, data_path, index); + ret = BLI_sprintfN("%s%s%s[%d]", + id_path, data_delim, data_path, index); } MEM_freeN(id_path); if (data_path) { diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c index bd07c7370a4..662572cba61 100644 --- a/source/blender/python/intern/bpy_rna.c +++ b/source/blender/python/intern/bpy_rna.c @@ -988,15 +988,16 @@ static PyObject *pyrna_prop_repr(BPy_PropertyRNA *self) path = RNA_path_from_ID_to_property(&self->ptr, self->prop); if (path) { + const char *data_delim = (path[0] == '[') ? "" : "."; if (GS(id->name) == ID_NT) { /* nodetree paths are not accurate */ ret = PyUnicode_FromFormat("bpy.data...%s", path); } else { - ret = PyUnicode_FromFormat("bpy.data.%s[%R].%s", + ret = PyUnicode_FromFormat("bpy.data.%s[%R]%s%s", BKE_idcode_to_name_plural(GS(id->name)), tmp_str, - path); + data_delim, path); } MEM_freeN((void *)path); |