[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25510] trunk/blender/release/scripts: py error fix and minor changes to rna info class
Campbell Barton
ideasman42 at gmail.com
Tue Dec 22 00:14:17 CET 2009
Revision: 25510
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25510
Author: campbellbarton
Date: 2009-12-22 00:14:16 +0100 (Tue, 22 Dec 2009)
Log Message:
-----------
py error fix and minor changes to rna info class
Modified Paths:
--------------
trunk/blender/release/scripts/modules/rna_info.py
trunk/blender/release/scripts/op/object.py
Modified: trunk/blender/release/scripts/modules/rna_info.py
===================================================================
--- trunk/blender/release/scripts/modules/rna_info.py 2009-12-21 22:38:06 UTC (rev 25509)
+++ trunk/blender/release/scripts/modules/rna_info.py 2009-12-21 23:14:16 UTC (rev 25510)
@@ -20,6 +20,13 @@
import bpy
+def range_str(val):
+ if val < -10000000: return '-inf'
+ if val > 10000000: return 'inf'
+ if type(val)==float:
+ return '%g' % val
+ else:
+ return str(val)
class InfoStructRNA:
global_lookup = {}
@@ -43,7 +50,7 @@
def build(self):
rna_type = self.bl_rna
parent_id = self.identifier
- self.properties[:] = [GetInfoPropertyRNA(rna_prop, parent_id) for rna_prop in rna_type.properties.values()]
+ self.properties[:] = [GetInfoPropertyRNA(rna_prop, parent_id) for rna_id, rna_prop in rna_type.properties.items() if rna_id != "rna_type"]
self.functions[:] = [GetInfoFunctionRNA(rna_prop, parent_id) for rna_prop in rna_type.functions.values()]
def getNestedProperties(self, ls = None):
@@ -84,12 +91,20 @@
rna_prop = self.bl_prop
self.enum_items = []
- self.min = -1
- self.max = -1
+ self.min = getattr(rna_prop, "hard_min", -1)
+ self.max = getattr(rna_prop, "hard_max", -1)
self.array_length = getattr(rna_prop, "array_length", 0)
self.type = rna_prop.type.lower()
- self.fixed_type = GetInfoStructRNA(rna_prop.fixed_type) # valid for pointer/collections
+ fixed_type = getattr(rna_prop, "fixed_type", "")
+ if fixed_type:
+ self.fixed_type = GetInfoStructRNA(fixed_type) # valid for pointer/collections
+ else:
+ self.fixed_type = None
+
+ if self.type == "enum":
+ self.enum_items[:] = rna_prop.items.keys()
+
self.srna = GetInfoStructRNA(rna_prop.srna) # valid for pointer/collections
def __repr__(self):
@@ -347,9 +362,11 @@
for rna_info in InfoStructRNA.global_lookup.values():
rna_info.build()
+ for prop in rna_info.properties:
+ prop.build()
+
+ #for rna_info in InfoStructRNA.global_lookup.values():
+ # print(rna_info)
- for rna_info in InfoStructRNA.global_lookup.values():
- print(rna_info)
-
return InfoStructRNA.global_lookup, InfoFunctionRNA.global_lookup, InfoPropertyRNA.global_lookup
Modified: trunk/blender/release/scripts/op/object.py
===================================================================
--- trunk/blender/release/scripts/op/object.py 2009-12-21 22:38:06 UTC (rev 25509)
+++ trunk/blender/release/scripts/op/object.py 2009-12-21 23:14:16 UTC (rev 25510)
@@ -87,8 +87,8 @@
default=1, min=0, max=100, soft_min=0, soft_max=6)
def poll(self, context):
- ob = context.active_object
- return (ob and ob.type == 'MESH')
+ obs = context.selected_editable_objects
+ return (obs is not None)
def execute(self, context):
level = self.properties.level
More information about the Bf-blender-cvs
mailing list