[Bf-blender-cvs] [b94eaf0] pie-menus: Minor changes to WM_OT_context_operator_pie_enum

Campbell Barton noreply at git.blender.org
Sun Jun 15 08:54:17 CEST 2014


Commit: b94eaf041fc00fafb1c3ea8b9722be280f37b3be
Author: Campbell Barton
Date:   Sun Jun 15 16:22:12 2014 +1000
https://developer.blender.org/rBb94eaf041fc00fafb1c3ea8b9722be280f37b3be

Minor changes to WM_OT_context_operator_pie_enum

- dont eval("bpy.ops. ... ")
- split the operator name and property into 2 properties.

===================================================================

M	release/scripts/startup/bl_operators/wm.py
M	source/blender/editors/object/object_ops.c

===================================================================

diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index ff832d9..885254a 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -533,7 +533,12 @@ class WM_OT_context_operator_pie_enum(Operator):
     bl_idname = "wm.context_operator_pie_enum"
     bl_label = "Operator Enum Pie"
     bl_options = {'UNDO', 'INTERNAL'}
-    data_path = rna_path_prop
+    name = StringProperty(
+            "Operator Name",
+            )
+    property = StringProperty(
+            "Property Name",
+            )
     title = StringProperty(
             name="Title",
             description="Pie Menu Title",
@@ -541,14 +546,12 @@ class WM_OT_context_operator_pie_enum(Operator):
             )
 
     def invoke(self, context, event):
-        data_path = self.data_path
-
-        value_path, prop_string = data_path.rsplit(".", 1)
-        op = eval("bpy.ops.%s" % value_path)
+        op_idname = self.name
+        property = self.property
 
         def draw_cb(self, context):
             layout = self.layout
-            layout.operator_enum(op.idname_py(), prop_string)
+            layout.operator_enum(op_idname, property)
 
         context.window_manager.pie_menu(draw_func=draw_cb, title=self.title, event=event)
 
diff --git a/source/blender/editors/object/object_ops.c b/source/blender/editors/object/object_ops.c
index 3bafbbd..2f95019 100644
--- a/source/blender/editors/object/object_ops.c
+++ b/source/blender/editors/object/object_ops.c
@@ -290,7 +290,8 @@ void ED_keymap_object(wmKeyConfig *keyconf)
 	keymap = WM_keymap_find(keyconf, "Object Non-modal", 0, 0);
 
 	kmi = WM_keymap_add_item(keymap, "WM_OT_context_operator_pie_enum", TABKEY, KM_PRESS, 0, 0);
-	RNA_string_set(kmi->ptr, "data_path", "object.mode_set.mode");
+	RNA_string_set(kmi->ptr, "name", "OBJECT_OT_mode_set");
+	RNA_string_set(kmi->ptr, "property", "mode");
 	RNA_string_set(kmi->ptr, "title", "Object Mode");
 
 #if 0




More information about the Bf-blender-cvs mailing list