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>2009-12-22 02:14:16 +0300
committerCampbell Barton <ideasman42@gmail.com>2009-12-22 02:14:16 +0300
commit5bdcb2dff27e5c52c33728d09152178120009e0c (patch)
treea0b2b42082fb29f04d610b5952850f3a481aa449
parent8f3a529585186a8b0a3315d037ac374351c63221 (diff)
py error fix and minor changes to rna info class
-rw-r--r--release/scripts/modules/rna_info.py31
-rw-r--r--release/scripts/op/object.py4
2 files changed, 26 insertions, 9 deletions
diff --git a/release/scripts/modules/rna_info.py b/release/scripts/modules/rna_info.py
index 8e1d16a46cd..1de750a4ff2 100644
--- a/release/scripts/modules/rna_info.py
+++ b/release/scripts/modules/rna_info.py
@@ -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 @@ class InfoStructRNA:
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 @@ class InfoPropertyRNA:
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 @@ def BuildRNAInfo():
for rna_info in InfoStructRNA.global_lookup.values():
rna_info.build()
-
- for rna_info in InfoStructRNA.global_lookup.values():
- print(rna_info)
+ for prop in rna_info.properties:
+ prop.build()
+
+ #for rna_info in InfoStructRNA.global_lookup.values():
+ # print(rna_info)
return InfoStructRNA.global_lookup, InfoFunctionRNA.global_lookup, InfoPropertyRNA.global_lookup
diff --git a/release/scripts/op/object.py b/release/scripts/op/object.py
index 6a7b735e04b..2ecd7b31b34 100644
--- a/release/scripts/op/object.py
+++ b/release/scripts/op/object.py
@@ -87,8 +87,8 @@ class SubdivisionSet(bpy.types.Operator):
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