diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-07-06 07:04:48 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-07-06 07:04:48 +0400 |
commit | 52e083fc3f5b2f3d677c09468bd7bce0a1a63ff7 (patch) | |
tree | 9884e085f202f2e6278d410a5196fe167740fcaa /release/scripts | |
parent | 0a1bcc78e0b5e4d11e48b9f447fa315a86444f96 (diff) |
remove dummy menu which WM_OT_context_menu_enum needed, use popup menu directly instead.
Diffstat (limited to 'release/scripts')
-rw-r--r-- | release/scripts/startup/bl_operators/wm.py | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py index 3919ecdd72f..63d9aa31ddd 100644 --- a/release/scripts/startup/bl_operators/wm.py +++ b/release/scripts/startup/bl_operators/wm.py @@ -471,34 +471,29 @@ class WM_OT_context_cycle_array(Operator): 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'} |