[Bf-blender-cvs] [7ce38978aea] master: WM: add tool property getter function
Campbell Barton
noreply at git.blender.org
Wed Jan 23 05:37:04 CET 2019
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)
{
More information about the Bf-blender-cvs
mailing list