[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24603] trunk/blender/release/scripts/ modules/rna_prop_ui.py: nicer UI, allow editing of values without pressing edit for basic types
Campbell Barton
ideasman42 at gmail.com
Tue Nov 17 11:30:57 CET 2009
Revision: 24603
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24603
Author: campbellbarton
Date: 2009-11-17 11:30:54 +0100 (Tue, 17 Nov 2009)
Log Message:
-----------
nicer UI, allow editing of values without pressing edit for basic types
Modified Paths:
--------------
trunk/blender/release/scripts/modules/rna_prop_ui.py
Modified: trunk/blender/release/scripts/modules/rna_prop_ui.py
===================================================================
--- trunk/blender/release/scripts/modules/rna_prop_ui.py 2009-11-17 10:12:35 UTC (rev 24602)
+++ trunk/blender/release/scripts/modules/rna_prop_ui.py 2009-11-17 10:30:54 UTC (rev 24603)
@@ -69,41 +69,45 @@
for key, val in items:
row = layout.row()
-
- try:
+ convert_to_pyobject = getattr(val, "convert_to_pyobject", None)
+ if convert_to_pyobject:
val_draw = val = val.convert_to_pyobject()
- except:
+ val_draw = str(val_draw)
+ else:
if type(val)==str:
val_draw = '"' + val + '"'
else:
val_draw = val
-
+
box = row.box()
-
if key == global_prop_orig and context_member == global_path:
- split = box.split(percentage=0.7)
+ split = box.split(percentage=0.75)
- col = split.row()
- col.itemR(scene, EVIL_PROP_PROP)
- col.itemR(scene, EVIL_PROP_VALUE)
+ row = split.row()
+ row.itemR(scene, EVIL_PROP_PROP)
+ row.itemR(scene, EVIL_PROP_VALUE)
- col = split.column()
- prop = col.itemO("wm.properties_edit_end", properties=True, text="done")
- assign_props(prop, val, key)
+ row = split.column()
+ prop = row.itemO("wm.properties_edit_end", properties=True, text="done")
+ assign_props(prop, val_draw, key)
else:
- split = box.split(percentage=0.5)
- col = split.column()
- col.itemL(text="%s = %s" % (key, str(val_draw)))
+ split = box.split(percentage=0.75)
+ row = split.row()
+ row.itemL(text=key)
+ if convert_to_pyobject:
+ row.itemL(text=val_draw)
+ else:
+ row.itemR(rna_item, key, text="")
+
- col = split.column()
- prop = col.itemO("wm.properties_edit_begin", properties=True, text="edit")
- assign_props(prop, val, key)
+ row = split.row(align=True)
+ prop = row.itemO("wm.properties_edit_begin", properties=True, text="edit")
+ assign_props(prop, val_draw, key)
- col = split.column()
- prop = col.itemO("wm.properties_remove", properties=True, text="del")
- assign_props(prop, val, key)
+ prop = row.itemO("wm.properties_remove", properties=True, text="", icon='ICON_ZOOMOUT')
+ assign_props(prop, val_draw, key)
from bpy.props import *
More information about the Bf-blender-cvs
mailing list