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:
Diffstat (limited to 'release/scripts/startup/bl_operators/wm.py')
-rw-r--r--release/scripts/startup/bl_operators/wm.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index 861255f167f..fae38eb1cef 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -1144,6 +1144,67 @@ class WM_OT_sysinfo(Operator):
return {'FINISHED'}
+class WM_OT_get_messages(Operator):
+ bl_idname = "wm.get_messages"
+ bl_label = "Get Messages"
+
+ def _putMessage(self, messages, msg):
+ if len(msg):
+ messages[msg] = True
+
+ def _walkProperties(self, properties, messages):
+ for prop in properties:
+ self._putMessage(messages, prop.name)
+ self._putMessage(messages, prop.description)
+
+ if isinstance(prop, bpy.types.EnumProperty):
+ for item in prop.enum_items:
+ self._putMessage(messages, item.name)
+ self._putMessage(messages, item.description)
+
+ def _walkRNA(self, bl_rna, messages):
+ if bl_rna.name and bl_rna.name != bl_rna.identifier:
+ self._putMessage(messages, bl_rna.name)
+
+ if bl_rna.description:
+ self._putMessage(messages, bl_rna.description)
+
+ self._walkProperties(bl_rna.properties, messages)
+
+ def _walkClass(self, cls, messages):
+ self._walkRNA(cls.bl_rna, messages)
+
+ def _walk_keymap_hierarchy(self, hier, messages):
+ for lvl in hier:
+ self._putMessage(messages, lvl[0])
+
+ if lvl[3]:
+ self._walk_keymap_hierarchy(lvl[3], messages)
+
+ def execute(self, context):
+ messages = {}
+
+ for cls in type(bpy.context).__base__.__subclasses__():
+ self._walkClass(cls, messages)
+
+ for cls in bpy.types.Space.__subclasses__():
+ self._walkClass(cls, messages)
+
+ for cls in bpy.types.Operator.__subclasses__():
+ self._walkClass(cls, messages)
+
+ from bl_ui.space_userpref_keymap import KM_HIERARCHY
+
+ self._walk_keymap_hierarchy(KM_HIERARCHY, messages)
+
+ text = bpy.data.texts.new(name="messages.txt")
+ for message in messages:
+ text.write(message + "\n")
+ self._walkClass(bpy.types.SpaceDopeSheetEditor, messages)
+
+ return {'FINISHED'}
+
+
class WM_OT_copy_prev_settings(Operator):
'''Copy settings from previous version'''
bl_idname = "wm.copy_prev_settings"