[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43272] trunk/blender: minor edits to xml presets

Campbell Barton ideasman42 at gmail.com
Wed Jan 11 01:22:26 CET 2012


Revision: 43272
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43272
Author:   campbellbarton
Date:     2012-01-11 00:22:21 +0000 (Wed, 11 Jan 2012)
Log Message:
-----------
minor edits to xml presets
- check 'SKIP_SAVE' property (used for active theme area which become annoying)
- indent presets better

Modified Paths:
--------------
    trunk/blender/release/scripts/modules/rna_xml.py
    trunk/blender/source/blender/makesrna/intern/rna_userdef.c

Modified: trunk/blender/release/scripts/modules/rna_xml.py
===================================================================
--- trunk/blender/release/scripts/modules/rna_xml.py	2012-01-11 00:09:46 UTC (rev 43271)
+++ trunk/blender/release/scripts/modules/rna_xml.py	2012-01-11 00:22:21 UTC (rev 43272)
@@ -32,7 +32,13 @@
         if issubclass(cls, skip_classes):
             continue
 
-        properties = cls.bl_rna.properties.keys()
+        ## to support skip-save we cant get all props
+        # properties = cls.bl_rna.properties.keys()
+        properties = []
+        for prop_id, prop in cls.bl_rna.properties.items():
+            if not prop.is_skip_save:
+                properties.append(prop_id)
+
         properties.remove("rna_type")
         property_typemap[attr] = properties
 
@@ -47,7 +53,8 @@
             root_node="",
             root_rna=None,  # must be set
             root_rna_skip=set(),
-            ident_val="    ",
+            root_ident="",
+            ident_val="  ",
             skip_classes=(bpy.types.Operator,
                           bpy.types.Panel,
                           bpy.types.KeyingSet,
@@ -173,10 +180,11 @@
     # needs re-workign to be generic
 
     if root_node:
-        fw("<%s>\n" % root_node)
+        fw("%s<%s>\n" % (root_ident, root_node))
 
     # bpy.data
     if method == 'DATA':
+        ident = root_ident + ident_val
         for attr in dir(root_rna):
 
             # exceptions
@@ -192,16 +200,16 @@
                 ls = None
 
             if type(ls) == list:
-                fw("%s<%s>\n" % (ident_val, attr))
+                fw("%s<%s>\n" % (ident, attr))
                 for blend_id in ls:
-                    rna2xml_node(ident_val + ident_val, blend_id, None)
+                    rna2xml_node(ident + ident_val, blend_id, None)
                 fw("%s</%s>\n" % (ident_val, attr))
     # any attribute
     elif method == 'ATTR':
-        rna2xml_node("", root_rna, None)
+        rna2xml_node(root_ident, root_rna, None)
 
     if root_node:
-        fw("</%s>\n" % root_node)
+        fw("%s</%s>\n" % (root_ident, root_node))
 
 
 def xml2rna(root_xml,
@@ -350,7 +358,11 @@
     for rna_path, xml_tag in rna_map:
         # xml_tag is ignored, we get this from the rna
         value = _get_context_val(context, rna_path)
-        rna2xml(fw, root_rna=value, method='ATTR')
+        rna2xml(fw,
+                root_rna=value,
+                method='ATTR',
+                root_ident="  ",
+                ident_val="  ")
 
     fw("</bpy>\n")
     file.close()

Modified: trunk/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2012-01-11 00:09:46 UTC (rev 43271)
+++ trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2012-01-11 00:22:21 UTC (rev 43272)
@@ -1970,6 +1970,7 @@
 
 	prop= RNA_def_property(srna, "theme_area", PROP_ENUM, PROP_NONE);
 	RNA_def_property_enum_sdna(prop, NULL, "active_theme_area");
+	RNA_def_property_flag(prop, PROP_SKIP_SAVE);
 	RNA_def_property_enum_items(prop, active_theme_area);
 	RNA_def_property_ui_text(prop, "Active Theme Area", "");
 




More information about the Bf-blender-cvs mailing list