forked from bartvdbraak/blender
- In the context, EditBones and Bases were set as 'RNA_UnknownType', replaced with propper types.
- renamed RNA_Base to RNA_ObjectBase - only include id_data for the python api's autocomplete if it has an ID type set.
This commit is contained in:
parent
c0fae59c99
commit
5816912dc1
@ -26,8 +26,9 @@ class Context(StructRNA):
|
||||
|
||||
def copy(self):
|
||||
new_context = {}
|
||||
generic_keys = StructRNA.__dict__.keys()
|
||||
for item in dir(self):
|
||||
if item not in StructRNA.__dict__ and item != "id_data":
|
||||
if item not in generic_keys:
|
||||
new_context[item] = getattr(self, item)
|
||||
|
||||
return new_context
|
||||
|
@ -84,7 +84,7 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult
|
||||
if(selected_objects)
|
||||
CTX_data_id_list_add(result, &base->object->id);
|
||||
else
|
||||
CTX_data_list_add(result, &scene->id, &RNA_UnknownType, base);
|
||||
CTX_data_list_add(result, &scene->id, &RNA_ObjectBase, base);
|
||||
}
|
||||
}
|
||||
|
||||
@ -100,7 +100,7 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult
|
||||
if(selected_editable_objects)
|
||||
CTX_data_id_list_add(result, &base->object->id);
|
||||
else
|
||||
CTX_data_list_add(result, &scene->id, &RNA_UnknownType, base);
|
||||
CTX_data_list_add(result, &scene->id, &RNA_ObjectBase, base);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -131,18 +131,18 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult
|
||||
if (editable_bones) {
|
||||
/* only selected + editable */
|
||||
if (EBONE_EDITABLE(ebone)) {
|
||||
CTX_data_list_add(result, &arm->id, &RNA_UnknownType, ebone);
|
||||
CTX_data_list_add(result, &arm->id, &RNA_EditBone, ebone);
|
||||
|
||||
if ((flipbone) && !(flipbone->flag & BONE_SELECTED))
|
||||
CTX_data_list_add(result, &arm->id, &RNA_UnknownType, flipbone);
|
||||
CTX_data_list_add(result, &arm->id, &RNA_EditBone, flipbone);
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* only include bones if visible */
|
||||
CTX_data_list_add(result, &arm->id, &RNA_UnknownType, ebone);
|
||||
CTX_data_list_add(result, &arm->id, &RNA_EditBone, ebone);
|
||||
|
||||
if ((flipbone) && EBONE_VISIBLE(arm, flipbone)==0)
|
||||
CTX_data_list_add(result, &arm->id, &RNA_UnknownType, flipbone);
|
||||
CTX_data_list_add(result, &arm->id, &RNA_EditBone, flipbone);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -173,18 +173,18 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult
|
||||
if (selected_editable_bones) {
|
||||
/* only selected + editable */
|
||||
if (EBONE_EDITABLE(ebone)) {
|
||||
CTX_data_list_add(result, &arm->id, &RNA_UnknownType, ebone);
|
||||
CTX_data_list_add(result, &arm->id, &RNA_EditBone, ebone);
|
||||
|
||||
if ((flipbone) && !(flipbone->flag & BONE_SELECTED))
|
||||
CTX_data_list_add(result, &arm->id, &RNA_UnknownType, flipbone);
|
||||
CTX_data_list_add(result, &arm->id, &RNA_EditBone, flipbone);
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* only include bones if selected */
|
||||
CTX_data_list_add(result, &arm->id, &RNA_UnknownType, ebone);
|
||||
CTX_data_list_add(result, &arm->id, &RNA_EditBone, ebone);
|
||||
|
||||
if ((flipbone) && !(flipbone->flag & BONE_SELECTED))
|
||||
CTX_data_list_add(result, &arm->id, &RNA_UnknownType, flipbone);
|
||||
CTX_data_list_add(result, &arm->id, &RNA_EditBone, flipbone);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -251,7 +251,7 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult
|
||||
}
|
||||
else if(CTX_data_equals(member, "active_base")) {
|
||||
if(base)
|
||||
CTX_data_pointer_set(result, &scene->id, &RNA_UnknownType, base);
|
||||
CTX_data_pointer_set(result, &scene->id, &RNA_ObjectBase, base);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
@ -676,7 +676,7 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes
|
||||
if(selected_objects)
|
||||
CTX_data_id_list_add(result, &base->object->id);
|
||||
else
|
||||
CTX_data_list_add(result, &scene->id, &RNA_UnknownType, base);
|
||||
CTX_data_list_add(result, &scene->id, &RNA_ObjectBase, base);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -693,7 +693,7 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes
|
||||
if(selected_editable_objects)
|
||||
CTX_data_id_list_add(result, &base->object->id);
|
||||
else
|
||||
CTX_data_list_add(result, &scene->id, &RNA_UnknownType, base);
|
||||
CTX_data_list_add(result, &scene->id, &RNA_ObjectBase, base);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -710,7 +710,7 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes
|
||||
if(visible_objects)
|
||||
CTX_data_id_list_add(result, &base->object->id);
|
||||
else
|
||||
CTX_data_list_add(result, &scene->id, &RNA_UnknownType, base);
|
||||
CTX_data_list_add(result, &scene->id, &RNA_ObjectBase, base);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -726,7 +726,7 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes
|
||||
if(selectable_objects)
|
||||
CTX_data_id_list_add(result, &base->object->id);
|
||||
else
|
||||
CTX_data_list_add(result, &scene->id, &RNA_UnknownType, base);
|
||||
CTX_data_list_add(result, &scene->id, &RNA_ObjectBase, base);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -736,7 +736,7 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes
|
||||
else if(CTX_data_equals(member, "active_base")) {
|
||||
if(scene->basact && (scene->basact->lay & lay))
|
||||
if((scene->basact->object->restrictflag & OB_RESTRICT_VIEW)==0)
|
||||
CTX_data_pointer_set(result, &scene->id, &RNA_UnknownType, scene->basact);
|
||||
CTX_data_pointer_set(result, &scene->id, &RNA_ObjectBase, scene->basact);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
@ -315,6 +315,7 @@ extern StructRNA RNA_NoiseTexture;
|
||||
extern StructRNA RNA_NorController;
|
||||
extern StructRNA RNA_Nurb;
|
||||
extern StructRNA RNA_Object;
|
||||
extern StructRNA RNA_ObjectBase;
|
||||
extern StructRNA RNA_ObstacleFluidSettings;
|
||||
extern StructRNA RNA_Operator;
|
||||
extern StructRNA RNA_OperatorFileListElement;
|
||||
|
@ -1763,7 +1763,7 @@ static void rna_def_base(BlenderRNA *brna)
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "Base", NULL);
|
||||
srna= RNA_def_struct(brna, "ObjectBase", NULL);
|
||||
RNA_def_struct_sdna(srna, "Base");
|
||||
RNA_def_struct_ui_text(srna, "Object Base", "An objects instance in a scene.");
|
||||
RNA_def_struct_ui_icon(srna, ICON_OBJECT_DATA);
|
||||
|
@ -2221,12 +2221,12 @@ void RNA_def_scene(BlenderRNA *brna)
|
||||
/* Bases/Objects */
|
||||
prop= RNA_def_property(srna, "bases", PROP_COLLECTION, PROP_NONE);
|
||||
RNA_def_property_collection_sdna(prop, NULL, "base", NULL);
|
||||
RNA_def_property_struct_type(prop, "Base");
|
||||
RNA_def_property_struct_type(prop, "ObjectBase");
|
||||
RNA_def_property_ui_text(prop, "Bases", "");
|
||||
|
||||
{ /* Collection active property */
|
||||
prop_act= RNA_def_property(srna, "base_active", PROP_POINTER, PROP_NONE);
|
||||
RNA_def_property_struct_type(prop_act, "Base");
|
||||
RNA_def_property_struct_type(prop_act, "ObjectBase");
|
||||
RNA_def_property_pointer_sdna(prop_act, NULL, "basact");
|
||||
RNA_def_property_flag(prop_act, PROP_EDITABLE);
|
||||
RNA_def_property_ui_text(prop_act, "Active Base", "Active object in the scene.");
|
||||
|
@ -1349,7 +1349,7 @@ static PyObject *pyrna_struct_dir(BPy_StructRNA * self)
|
||||
}
|
||||
|
||||
/* Hard coded names */
|
||||
{
|
||||
if(self->ptr.id.data) {
|
||||
pystring = PyUnicode_FromString("id_data");
|
||||
PyList_Append(ret, pystring);
|
||||
Py_DECREF(pystring);
|
||||
|
Loading…
Reference in New Issue
Block a user