[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