- 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:
Campbell Barton 2009-11-11 09:16:53 +00:00
parent c0fae59c99
commit 5816912dc1
7 changed files with 23 additions and 21 deletions

@ -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);