[Bf-blender-cvs] [eb0b3f0448] app-templates: Add menu filtering
Campbell Barton
noreply at git.blender.org
Tue Mar 21 22:32:25 CET 2017
Commit: eb0b3f04487efd764a251325c49e2b1c9b2c612e
Author: Campbell Barton
Date: Wed Mar 22 08:30:31 2017 +1100
Branches: app-templates
https://developer.blender.org/rBeb0b3f04487efd764a251325c49e2b1c9b2c612e
Add menu filtering
===================================================================
M release/scripts/modules/bl_app_override.py
===================================================================
diff --git a/release/scripts/modules/bl_app_override.py b/release/scripts/modules/bl_app_override.py
index 92478c4796..352ac95015 100644
--- a/release/scripts/modules/bl_app_override.py
+++ b/release/scripts/modules/bl_app_override.py
@@ -47,6 +47,7 @@ def ui_draw_filter_register(
classes=None,
filter_operator=None,
filter_property=None,
+ filter_menu=None,
filter_label=None,
):
import bpy
@@ -93,6 +94,7 @@ def ui_draw_filter_register(
ret = OperatorProperties_Fake()
return ret
return dummy_func
+
elif attr in {"prop", "prop_enum"}:
if filter_property is None:
return UILayout.__getattribute__(self, attr)
@@ -107,6 +109,22 @@ def ui_draw_filter_register(
ret = None
return ret
return dummy_func
+
+ elif attr == "menu":
+ if filter_menu is None:
+ return UILayout.__getattribute__(self, attr)
+
+ real_func = UILayout.__getattribute__(self, attr)
+
+ def dummy_func(*args, **kw):
+ # print("wrapped", attr)
+ if filter_menu(args[0]):
+ ret = real_func(*args, **kw)
+ else:
+ ret = None
+ return ret
+ return dummy_func
+
elif attr == "label":
if filter_label is None:
return UILayout.__getattribute__(self, attr)
@@ -129,13 +147,6 @@ def ui_draw_filter_register(
def operator(*args, **kw):
return super().operator(*args, **kw)
- def label(*args, **kw):
- text = args[1] if args else kw["text"]
- if filter_label(text):
- return super().label(*args, **kw)
- else:
- return super().label(args[0], "")
-
def draw_override(func_orig, self_real, context):
# simple, no wrapping
More information about the Bf-blender-cvs
mailing list