Commit: 7ce38978aea12bd912f46eed836f8210ec0cf03e
Author: Campbell Barton
Date: Wed Jan 23 15:36:10 2019 +1100
Branches: master
https://developer.blender.org/rB7ce38978aea12bd912f46eed836f8210ec0cf03e
WM: add tool property getter function
Matches 'ensure' functions but doesn't add data.
===================================================================
M source/blender/windowmanager/WM_toolsystem.h
M source/blender/windowmanager/intern/wm_toolsystem.c
===================================================================
diff --git a/source/blender/windowmanager/WM_toolsystem.h
b/source/blender/windowmanager/WM_toolsystem.h
index 4318179c203..5c6dc6d7cbe 100644
--- a/source/blender/windowmanager/WM_toolsystem.h
+++ b/source/blender/windowmanager/WM_toolsystem.h
@@ -103,8 +103,15 @@ void WM_toolsystem_ref_properties_ensure_ex(
#define WM_toolsystem_ref_properties_ensure_from_operator(tref, ot, r_ptr) \
WM_toolsystem_ref_properties_ensure_ex(tref, (ot)->idname, (ot)->srna,
r_ptr)
-#define WM_toolsystem_ref_properties_ensure_from_gizmo_group(tref, ot, r_ptr) \
- WM_toolsystem_ref_properties_ensure_ex(tref, (ot)->idname, (ot)->srna,
r_ptr)
+#define WM_toolsystem_ref_properties_ensure_from_gizmo_group(tref, gzgroup,
r_ptr) \
+ WM_toolsystem_ref_properties_ensure_ex(tref, (gzgroup)->idname,
(gzgroup)->srna, r_ptr)
+
+bool WM_toolsystem_ref_properties_get_ex(
+ struct bToolRef *tref, const char *idname, struct StructRNA *type,
struct PointerRNA *r_ptr);
+#define WM_toolsystem_ref_properties_get_from_operator(tref, ot, r_ptr) \
+ WM_toolsystem_ref_properties_get_ex(tref, (ot)->idname, (ot)->srna,
r_ptr)
+#define WM_toolsystem_ref_properties_get_from_gizmo_group(tref, gzgroup,
r_ptr) \
+ WM_toolsystem_ref_properties_get_ex(tref, (gzgroup)->idname,
(gzgroup)->srna, r_ptr)
void WM_toolsystem_ref_properties_init_for_keymap(
struct bToolRef *tref, struct PointerRNA *dst_ptr, struct PointerRNA
*src_ptr, struct wmOperatorType *ot);
diff --git a/source/blender/windowmanager/intern/wm_toolsystem.c
b/source/blender/windowmanager/intern/wm_toolsystem.c
index 3bef4e3482a..c6aa571b92a 100644
--- a/source/blender/windowmanager/intern/wm_toolsystem.c
+++ b/source/blender/windowmanager/intern/wm_toolsystem.c
@@ -897,6 +897,13 @@ IDProperty
*WM_toolsystem_ref_properties_ensure_idprops(bToolRef *tref)
return tref->properties;
}
+bool WM_toolsystem_ref_properties_get_ex(bToolRef *tref, const char *idname,
StructRNA *type, PointerRNA *r_ptr)
+{
+ IDProperty *group = tref->properties;
+ IDProperty *prop = group ? IDP_GetPropertyFromGroup(group, idname) :
NULL;
+ RNA_pointer_create(NULL, type, prop, r_ptr);
+ return (prop != NULL);
+}
void WM_toolsystem_ref_properties_ensure_ex(bToolRef *tref, const char
*idname, StructRNA *type, PointerRNA *r_ptr)
{
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs