Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesrna/intern/rna_object.c
| Show First 20 Lines • Show All 477 Lines • ▼ Show 20 Lines | |||||
| static void rna_Object_dependency_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr) | static void rna_Object_dependency_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr) | ||||
| { | { | ||||
| DEG_id_tag_update(ptr->owner_id, ID_RECALC_TRANSFORM); | DEG_id_tag_update(ptr->owner_id, ID_RECALC_TRANSFORM); | ||||
| DEG_relations_tag_update(bmain); | DEG_relations_tag_update(bmain); | ||||
| WM_main_add_notifier(NC_OBJECT | ND_PARENT, ptr->owner_id); | WM_main_add_notifier(NC_OBJECT | ND_PARENT, ptr->owner_id); | ||||
| } | } | ||||
| void rna_Object_data_update(Main *bmain, Scene *scene, PointerRNA *ptr) | |||||
| { | |||||
| Object *object = (Object *)ptr->data; | |||||
| if (object->mode == OB_MODE_SCULPT) { | |||||
| BKE_sculpt_ensure_orig_mesh_data(scene, object); | |||||
| } | |||||
| rna_Object_internal_update_data_dependency(bmain, scene, ptr); | |||||
| } | |||||
| static void rna_Object_data_set(PointerRNA *ptr, PointerRNA value, struct ReportList *reports) | static void rna_Object_data_set(PointerRNA *ptr, PointerRNA value, struct ReportList *reports) | ||||
| { | { | ||||
| Object *ob = (Object *)ptr->data; | Object *ob = (Object *)ptr->data; | ||||
| ID *id = value.data; | ID *id = value.data; | ||||
| if (ob->mode & OB_MODE_EDIT) { | if (ob->mode & OB_MODE_EDIT) { | ||||
| return; | return; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 2,180 Lines • ▼ Show 20 Lines | static void rna_def_object(BlenderRNA *brna) | ||||
| RNA_define_lib_overridable(true); | RNA_define_lib_overridable(true); | ||||
| prop = RNA_def_property(srna, "data", PROP_POINTER, PROP_NONE); | prop = RNA_def_property(srna, "data", PROP_POINTER, PROP_NONE); | ||||
| RNA_def_property_struct_type(prop, "ID"); | RNA_def_property_struct_type(prop, "ID"); | ||||
| RNA_def_property_pointer_funcs( | RNA_def_property_pointer_funcs( | ||||
| prop, NULL, "rna_Object_data_set", "rna_Object_data_typef", "rna_Object_data_poll"); | prop, NULL, "rna_Object_data_set", "rna_Object_data_typef", "rna_Object_data_poll"); | ||||
| RNA_def_property_flag(prop, PROP_EDITABLE | PROP_NEVER_UNLINK); | RNA_def_property_flag(prop, PROP_EDITABLE | PROP_NEVER_UNLINK); | ||||
| RNA_def_property_ui_text(prop, "Data", "Object data"); | RNA_def_property_ui_text(prop, "Data", "Object data"); | ||||
| RNA_def_property_update(prop, 0, "rna_Object_internal_update_data_dependency"); | RNA_def_property_update(prop, 0, "rna_Object_data_update"); | ||||
| prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE); | prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE); | ||||
| RNA_def_property_enum_sdna(prop, NULL, "type"); | RNA_def_property_enum_sdna(prop, NULL, "type"); | ||||
| RNA_def_property_enum_items(prop, rna_enum_object_type_items); | RNA_def_property_enum_items(prop, rna_enum_object_type_items); | ||||
| RNA_def_property_clear_flag(prop, PROP_EDITABLE); | RNA_def_property_clear_flag(prop, PROP_EDITABLE); | ||||
| RNA_def_property_override_clear_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY); | RNA_def_property_override_clear_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY); | ||||
| RNA_def_property_ui_text(prop, "Type", "Type of object"); | RNA_def_property_ui_text(prop, "Type", "Type of object"); | ||||
| RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_ID); | RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_ID); | ||||
| ▲ Show 20 Lines • Show All 731 Lines • Show Last 20 Lines | |||||