[Bf-blender-cvs] [a71891085d8] master: Context: add pose_object
Campbell Barton
noreply at git.blender.org
Tue Mar 12 00:30:23 CET 2019
Commit: a71891085d8150e2a4ba97e8159229f3074c2b77
Author: Campbell Barton
Date: Tue Mar 12 10:18:51 2019 +1100
Branches: master
https://developer.blender.org/rBa71891085d8150e2a4ba97e8159229f3074c2b77
Context: add pose_object
Needed for UI scripts to detect mixed weight paint + pose mode.
===================================================================
M doc/python_api/sphinx_doc_gen.py
M source/blender/editors/screen/screen_context.c
===================================================================
diff --git a/doc/python_api/sphinx_doc_gen.py b/doc/python_api/sphinx_doc_gen.py
index 1eceaaca40e..b78c366498f 100644
--- a/doc/python_api/sphinx_doc_gen.py
+++ b/doc/python_api/sphinx_doc_gen.py
@@ -1028,6 +1028,7 @@ context_type_map = {
"particle_system": ("ParticleSystem", False),
"particle_system_editable": ("ParticleSystem", False),
"pose_bone": ("PoseBone", False),
+ "pose_object": ("Object", False),
"scene": ("Scene", False),
"sculpt_object": ("Object", False),
"selectable_bases": ("ObjectBase", True),
diff --git a/source/blender/editors/screen/screen_context.c b/source/blender/editors/screen/screen_context.c
index 31b1be2d8b3..b16d7f68976 100644
--- a/source/blender/editors/screen/screen_context.c
+++ b/source/blender/editors/screen/screen_context.c
@@ -76,7 +76,7 @@ const char *screen_context_dir[] = {
"active_bone", "active_pose_bone",
"active_base", "active_object", "object", "edit_object",
"sculpt_object", "vertex_paint_object", "weight_paint_object",
- "image_paint_object", "particle_edit_object", "uv_sculpt_object",
+ "image_paint_object", "particle_edit_object", "uv_sculpt_object", "pose_object",
"sequences", "selected_sequences", "selected_editable_sequences", /* sequencer */
"gpencil_data", "gpencil_data_owner", /* grease pencil data */
"visible_gpencil_layers", "editable_gpencil_layers", "editable_gpencil_strokes",
@@ -477,6 +477,13 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult
}
return 1;
}
+ else if (CTX_data_equals(member, "pose_object")) {
+ Object *obpose = BKE_object_pose_armature_get(obact);
+ if (obpose) {
+ CTX_data_id_pointer_set(result, &obpose->id);
+ }
+ return 1;
+ }
else if (CTX_data_equals(member, "sequences")) {
Editing *ed = BKE_sequencer_editing_get(scene, false);
if (ed) {
More information about the Bf-blender-cvs
mailing list