[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [519] trunk/py/scripts/addons/ space_view3d_edit_object_parameters.py: * Version 0.1.3
Martin Buerbaum
martin.buerbaum at gmx.at
Wed Mar 24 17:23:21 CET 2010
Revision: 519
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-extensions&revision=519
Author: pontiac
Date: 2010-03-24 17:23:21 +0100 (Wed, 24 Mar 2010)
Log Message:
-----------
* Version 0.1.3
* Display operator name and stored recall parameters.
* TODO: Make parameter list collapsible?
Modified Paths:
--------------
trunk/py/scripts/addons/space_view3d_edit_object_parameters.py
Modified: trunk/py/scripts/addons/space_view3d_edit_object_parameters.py
===================================================================
--- trunk/py/scripts/addons/space_view3d_edit_object_parameters.py 2010-03-24 12:23:32 UTC (rev 518)
+++ trunk/py/scripts/addons/space_view3d_edit_object_parameters.py 2010-03-24 16:23:21 UTC (rev 519)
@@ -24,7 +24,7 @@
bl_addon_info = {
'name': '3D View: Edit Object Parameters',
'author': 'Buerbaum Martin (Pontiac)',
- 'version': '0.1.2',
+ 'version': '0.1.3',
'blender': (2, 5, 3),
'location': 'View3D > Tool Shelf > Edit Object Parameters',
'url': 'http://wiki.blender.org/index.php/Extensions:2.5/Py/' \
@@ -57,6 +57,7 @@
This also means that "align to view" may affect
rotation of the new object.
+v0.1.3 - Display operator name and stored recall parameters.
v0.1.2 - Changed the name of the operator(s) ('Edit object parameters')
Added warning about mesh-deletion.
v0.1.1 - Removed changes to 3D cursor.
@@ -96,6 +97,17 @@
return op
+# Find operator class by bl_idname.
+# <SPACE>_OT_xxxx
+def get_operator_class_by_idname(bl_idname):
+ type = getattr(bpy.types, bl_idname, None)
+
+ if not type:
+ return None
+
+ return type
+
+
class VIEW3D_OT_recall_object_operator(bpy.types.Operator):
'''Recall object operator'''
bl_idname = "view3d.recall_object_operator"
@@ -181,6 +193,56 @@
row = layout.row()
row.label(text="Manual changes to the mesh geometry will be lost!")
+ scene = context.scene
+ ob = scene.objects.active
+
+ r = ob['recall']
+
+ row = layout.row()
+
+ if "recall_op" in r:
+ op_idname = r["recall_op"]
+
+ # Find and recall operator
+ type = get_operator_class_by_idname(op_idname)
+
+ if type:
+ row.label(text="Operator:")
+
+ box = layout.column().box()
+ column = box.column()
+ row = column.row()
+
+ row.label(text=type.bl_label)
+
+ if len(r) > 1:
+ row = layout.row()
+ row.label(text="Properties:")
+
+ box = layout.column().box()
+ column = box.column()
+ row = column.row()
+
+ for prop_name in r:
+ if prop_name != "recall_op":
+ row = column.row()
+ name = prop_name
+ if hasattr(type, prop_name):
+ at = getattr(type, prop_name)
+ prop_full_name = at[1]["name"]
+ if prop_full_name != "":
+ name = prop_full_name
+
+ row.label(text=name)
+ row.label(text=str(r[prop_name]))
+
+ else:
+ row.label(text="Could not find operator " + op_idname + "!",
+ icon='ERROR')
+ else:
+ row.label(text="Could not find operator info.",
+ icon='ERROR')
+
################################
More information about the Bf-extensions-cvs
mailing list