2.5: File Selector: display operator properties in the side region,
[blender-staging.git] / source / blender / makesrna / RNA_access.h
index bab6982abd96687fcacf4c5ad89a7f990146e061..9f7559312eda2884d82ef96441b6826005b62b48 100644 (file)
@@ -695,6 +695,28 @@ void RNA_collection_clear(PointerRNA *ptr, const char *name);
                RNA_property_collection_end(&rna_macro_iter); \
        }
 
                RNA_property_collection_end(&rna_macro_iter); \
        }
 
+#define RNA_PROP_BEGIN(sptr, itemptr, prop) \
+       { \
+               CollectionPropertyIterator rna_macro_iter; \
+               for(RNA_property_collection_begin(sptr, prop, &rna_macro_iter); rna_macro_iter.valid; RNA_property_collection_next(&rna_macro_iter)) { \
+                       PointerRNA itemptr= rna_macro_iter.ptr;
+
+#define RNA_PROP_END \
+               } \
+               RNA_property_collection_end(&rna_macro_iter); \
+       }
+
+#define RNA_STRUCT_BEGIN(sptr, prop) \
+       { \
+               CollectionPropertyIterator rna_macro_iter; \
+               for(RNA_property_collection_begin(sptr, RNA_struct_iterator_property(sptr->type), &rna_macro_iter); rna_macro_iter.valid; RNA_property_collection_next(&rna_macro_iter)) { \
+                       PropertyRNA *prop= rna_macro_iter.ptr.data;
+
+#define RNA_STRUCT_END \
+               } \
+               RNA_property_collection_end(&rna_macro_iter); \
+       }
+
 /* check if the idproperty exists, for operators */
 int RNA_property_is_set(PointerRNA *ptr, const char *name);
 
 /* check if the idproperty exists, for operators */
 int RNA_property_is_set(PointerRNA *ptr, const char *name);