Revision: 59539
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59539
Author:   mont29
Date:     2013-08-26 21:39:06 +0000 (Mon, 26 Aug 2013)
Log Message:
-----------
Followup to r59536: make "is_argument_optional" available to py, and use it in 
API doc generation.

Thanks Campbell for the much better name suggestion!

Revision Links:
--------------
    
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59536

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

Modified: trunk/blender/release/scripts/modules/rna_info.py
===================================================================
--- trunk/blender/release/scripts/modules/rna_info.py   2013-08-26 21:35:06 UTC 
(rev 59538)
+++ trunk/blender/release/scripts/modules/rna_info.py   2013-08-26 21:39:06 UTC 
(rev 59539)
@@ -296,6 +296,8 @@
         elif as_arg:
             if not self.is_required:
                 type_info.append("optional")
+            if self.is_argument_optional:
+                type_info.append("optional argument")
         else:  # readonly is only useful for self's, not args
             if self.is_readonly:
                 type_info.append("readonly")

Modified: trunk/blender/source/blender/makesrna/intern/rna_rna.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_rna.c      2013-08-26 
21:35:06 UTC (rev 59538)
+++ trunk/blender/source/blender/makesrna/intern/rna_rna.c      2013-08-26 
21:39:06 UTC (rev 59539)
@@ -566,6 +566,12 @@
        return prop->flag & PROP_REQUIRED ? 1 : 0;
 }
 
+static int rna_Property_is_argument_optional_get(PointerRNA *ptr)
+{
+       PropertyRNA *prop = (PropertyRNA *)ptr->data;
+       return prop->flag & PROP_PYFUNC_OPTIONAL ? 1 : 0;
+}
+
 static int rna_Property_is_never_none_get(PointerRNA *ptr)
 {
        PropertyRNA *prop = (PropertyRNA *)ptr->data;
@@ -1171,6 +1177,12 @@
        RNA_def_property_boolean_funcs(prop, "rna_Property_is_required_get", 
NULL);
        RNA_def_property_ui_text(prop, "Required", "False when this property is 
an optional argument in an RNA function");
 
+       prop = RNA_def_property(srna, "is_argument_optional", PROP_BOOLEAN, 
PROP_NONE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_boolean_funcs(prop, 
"rna_Property_is_argument_optional_get", NULL);
+       RNA_def_property_ui_text(prop, "Optional Argument",
+                                "True when the property is optional in a 
Python function implementing an RNA function");
+
        prop = RNA_def_property(srna, "is_never_none", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_boolean_funcs(prop, "rna_Property_is_never_none_get", 
NULL);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to