Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2017-04-29 09:20:06 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-04-29 09:20:06 +0300
commitb5298bf81999a0845c6bb98cf8520806271da14b (patch)
tree4bef4ae260f6d6fadb0364c0263e5b405d58b0ec
parent8f66d6826b2824fac7b637fce8b396fe0ec18711 (diff)
Cleanup: menu example
remove some redundant checks, imports
-rw-r--r--doc/python_api/examples/bpy.types.Menu.4.py68
1 files changed, 34 insertions, 34 deletions
diff --git a/doc/python_api/examples/bpy.types.Menu.4.py b/doc/python_api/examples/bpy.types.Menu.4.py
index a59c710c8e7..04ceb6654da 100644
--- a/doc/python_api/examples/bpy.types.Menu.4.py
+++ b/doc/python_api/examples/bpy.types.Menu.4.py
@@ -1,81 +1,81 @@
"""
-Custom item in the right click menu
-+++++++++++++++++++++++++++++++++++
+Extending the Button Context Menu
++++++++++++++++++++++++++++++++++
-This example enables you to insert your own menu entry into the common
-right click menu that you get while hovering over a value field,
+This example enables you to insert your own menu entry into the common
+right click menu that you get while hovering over a value field,
color, string, etc.
To make the example work, you have to first select an object
-then right click on an user interface element (maybe a color in the
-material properties) and choose "Execute custom action".
-
-Executing the operator will then dump all values directly to a
-console, so make sure to open a terminal by clicking on
-"Help >> Toggle System Console" or execute Blender directly
-from a terminal on your system of choice)
+then right click on an user interface element (maybe a color in the
+material properties) and choose *Execute Custom Action*.
+Executing the operator will then print all values.
"""
import bpy
-from bpy.types import Header, Menu, Panel
+from bpy.types import Menu
+
def dump(obj, text):
- print('-'*40, text, '-'*40)
for attr in dir(obj):
- if hasattr( obj, attr ):
- print( "obj.%s = %s" % (attr, getattr(obj, attr)))
+ print("%r.%s = %s" % (obj, attr, getattr(obj, attr)))
+
-class TEST_OT_Rmb(bpy.types.Operator):
+class WM_OT_button_context_test(bpy.types.Operator):
"""Right click entry test"""
- bl_idname = "object.rmb_test_op"
- bl_label = "Execute custom action"
+ bl_idname = "wm.button_context_test"
+ bl_label = "Run Context Test"
@classmethod
def poll(cls, context):
return context.active_object is not None
def execute(self, context):
- if hasattr(context, 'button_pointer'):
- btn = context.button_pointer
- dump(btn, 'button_pointer')
-
- if hasattr(context, 'button_prop'):
- prop = context.button_prop
- dump(prop, 'button_prop')
-
- if hasattr(context, 'button_operator'):
- op = context.button_operator
- dump(op, 'button_operator')
-
+ value = getattr(context, "button_pointer", None)
+ if value is not None:
+ dump(value, "button_pointer")
+
+ value = getattr(context, "button_prop", None)
+ if value is not None:
+ dump(value, "button_prop")
+
+ value = getattr(context, "button_operator", None)
+ if value is not None:
+ dump(value, "button_operator")
+
return {'FINISHED'}
+
# This class has to be exactly named like that to insert an entry in the right click menu
class WM_MT_button_context(Menu):
- bl_label = "Add Viddyoze Tag"
+ bl_label = "Unused"
def draw(self, context):
pass
+
def menu_func(self, context):
layout = self.layout
layout.separator()
- layout.operator("object.rmb_test_op")
+ layout.operator(WM_OT_button_context_test.bl_idname)
classes = (
- TEST_OT_Rmb,
+ WM_OT_button_context_test,
WM_MT_button_context,
)
+
def register():
for cls in classes:
bpy.utils.register_class(cls)
bpy.types.WM_MT_button_context.append(menu_func)
+
def unregister():
for cls in classes:
bpy.utils.unregister_class(cls)
bpy.types.WM_MT_button_context.remove(menu_func)
if __name__ == "__main__":
- register() \ No newline at end of file
+ register()