[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58031] trunk/blender/release/scripts/ startup/bl_operators/wm.py: remove dummy menu which WM_OT_context_menu_enum needed, use popup menu directly instead.
Campbell Barton
ideasman42 at gmail.com
Sat Jul 6 05:04:50 CEST 2013
Revision: 58031
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58031
Author: campbellbarton
Date: 2013-07-06 03:04:48 +0000 (Sat, 06 Jul 2013)
Log Message:
-----------
remove dummy menu which WM_OT_context_menu_enum needed, use popup menu directly instead.
Modified Paths:
--------------
trunk/blender/release/scripts/startup/bl_operators/wm.py
Modified: trunk/blender/release/scripts/startup/bl_operators/wm.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_operators/wm.py 2013-07-06 02:20:39 UTC (rev 58030)
+++ trunk/blender/release/scripts/startup/bl_operators/wm.py 2013-07-06 03:04:48 UTC (rev 58031)
@@ -471,34 +471,29 @@
return operator_path_undo_return(context, data_path)
-class WM_MT_context_menu_enum(Menu):
- bl_label = ""
- data_path = "" # BAD DESIGN, set from operator below.
+class WM_OT_context_menu_enum(Operator):
+ bl_idname = "wm.context_menu_enum"
+ bl_label = "Context Enum Menu"
+ bl_options = {'UNDO', 'INTERNAL'}
+ data_path = rna_path_prop
- def draw(self, context):
+ def execute(self, context):
data_path = self.data_path
value = context_path_validate(context, data_path)
+
if value is Ellipsis:
return {'PASS_THROUGH'}
+
base_path, prop_string = data_path.rsplit(".", 1)
value_base = context_path_validate(context, base_path)
prop = value_base.bl_rna.properties[prop_string]
- layout = self.layout
- layout.label(prop.name, icon=prop.icon)
- layout.prop(value_base, prop_string, expand=True)
+ def draw_cb(self, context):
+ layout = self.layout
+ layout.prop(value_base, prop_string, expand=True)
+ context.window_manager.popup_menu(draw_func=draw_cb, title=prop.name, icon=prop.icon)
-class WM_OT_context_menu_enum(Operator):
- bl_idname = "wm.context_menu_enum"
- bl_label = "Context Enum Menu"
- bl_options = {'UNDO', 'INTERNAL'}
- data_path = rna_path_prop
-
- def execute(self, context):
- data_path = self.data_path
- WM_MT_context_menu_enum.data_path = data_path
- bpy.ops.wm.call_menu(name="WM_MT_context_menu_enum")
return {'PASS_THROUGH'}
More information about the Bf-blender-cvs
mailing list