[Bf-blender-cvs] [9cfc8ebcc9c] xr-actions-D9124: XR: Add op_name property to XrActionMapItem
Peter Kim
noreply at git.blender.org
Sun Mar 21 12:39:31 CET 2021
Commit: 9cfc8ebcc9c4c2e91f884dd29fcd19ae5cf7ad52
Author: Peter Kim
Date: Sun Mar 21 20:37:05 2021 +0900
Branches: xr-actions-D9124
https://developer.blender.org/rB9cfc8ebcc9c4c2e91f884dd29fcd19ae5cf7ad52
XR: Add op_name property to XrActionMapItem
Improves readability over operator ID string when displaying action
properties.
===================================================================
M source/blender/makesrna/intern/rna_xr.c
===================================================================
diff --git a/source/blender/makesrna/intern/rna_xr.c b/source/blender/makesrna/intern/rna_xr.c
index 4bd1937abd6..c573772513e 100644
--- a/source/blender/makesrna/intern/rna_xr.c
+++ b/source/blender/makesrna/intern/rna_xr.c
@@ -783,6 +783,46 @@ static XrActionMapItem *rna_XrActionMapItem_find(XrActionMap *am, const char *id
# endif
}
+static void rna_XrActionMapItem_op_name_get(PointerRNA *ptr, char *value)
+{
+# ifdef WITH_XR_OPENXR
+ XrActionMapItem *ami = ptr->data;
+ if (ami->op[0]) {
+ if (ami->op_properties_ptr) {
+ wmOperatorType *ot = WM_operatortype_find(ami->op, 1);
+ if (ot) {
+ strcpy(value, WM_operatortype_name(ot, ami->op_properties_ptr));
+ return;
+ }
+ }
+ strcpy(value, ami->op);
+ return;
+ }
+# else
+ UNUSED_VARS(ptr);
+# endif
+ value[0] = '\0';
+}
+
+static int rna_XrActionMapItem_op_name_length(PointerRNA *ptr)
+{
+# ifdef WITH_XR_OPENXR
+ XrActionMapItem *ami = ptr->data;
+ if (ami->op[0]) {
+ if (ami->op_properties_ptr) {
+ wmOperatorType *ot = WM_operatortype_find(ami->op, 1);
+ if (ot) {
+ return strlen(WM_operatortype_name(ot, ami->op_properties_ptr));
+ }
+ }
+ return strlen(ami->op);
+ }
+# else
+ UNUSED_VARS(ptr);
+# endif
+ return 0;
+}
+
static PointerRNA rna_XrActionMapItem_op_properties_get(PointerRNA *ptr)
{
# ifdef WITH_XR_OPENXR
@@ -1253,10 +1293,16 @@ static void rna_def_xr_actionconfig(BlenderRNA *brna)
prop = RNA_def_property(srna, "op", PROP_STRING, PROP_NONE);
RNA_def_property_string_maxlength(prop, OP_MAX_TYPENAME);
- RNA_def_property_ui_text(
- prop, "Operator", "Name of operator (translated) to call on action event");
+ RNA_def_property_ui_text(prop, "Operator", "Identifier of operator to call on action event");
RNA_def_property_update(prop, 0, "rna_XrActionMapItem_update");
+ prop = RNA_def_property(srna, "op_name", PROP_STRING, PROP_NONE);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(
+ prop, "Operator Name", "Name of operator (translated) to call on action event");
+ RNA_def_property_string_funcs(
+ prop, "rna_XrActionMapItem_op_name_get", "rna_XrActionMapItem_op_name_length", NULL);
+
prop = RNA_def_property(srna, "op_properties", PROP_POINTER, PROP_NONE);
RNA_def_property_struct_type(prop, "OperatorProperties");
RNA_def_property_pointer_funcs(prop, "rna_XrActionMapItem_op_properties_get", NULL, NULL, NULL);
More information about the Bf-blender-cvs
mailing list