static void rna_Struct_properties_next(CollectionPropertyIterator *iter) { ListBaseIterator *internal= iter->internal; IDProperty *group; if(internal->flag) { /* id properties */ rna_iterator_listbase_next(iter); } else { /* regular properties */ rna_inheritance_properties_listbase_next(iter, rna_property_builtin); /* try id properties */ if(!iter->valid) { group= RNA_struct_idprops(&iter->builtin_parent, 0); if(group) { rna_iterator_listbase_end(iter); rna_iterator_listbase_begin(iter, &group->data.group, rna_idproperty_known); internal= iter->internal; internal->flag= 1; } } } }
int Text_markers_lookup_int(PointerRNA *ptr, int index, PointerRNA *r_ptr) { int found= 0; CollectionPropertyIterator iter; Text_markers_begin(&iter, ptr); if(iter.valid){ ListBaseIterator *internal= iter.internal; if(internal->skip) { while(index-- > 0 && iter.valid) { rna_iterator_listbase_next(&iter); } found= (index == -1 && iter.valid); } else { while(index-- > 0 && internal->link) internal->link= internal->link->next; found= (index == -1 && internal->link); } if(found) *r_ptr = Text_markers_get(&iter); } Text_markers_end(&iter); return found; }
void Text_markers_next(CollectionPropertyIterator *iter) { rna_iterator_listbase_next(iter); if(iter->valid) iter->ptr= Text_markers_get(iter); }
void Group_objects_next(CollectionPropertyIterator *iter) { rna_iterator_listbase_next(iter); if (iter->valid) iter->ptr = Group_objects_get(iter); }
void Palette_colors_next(CollectionPropertyIterator *iter) { rna_iterator_listbase_next(iter); if (iter->valid) iter->ptr = Palette_colors_get(iter); }
static void rna_inheritance_functions_listbase_next(CollectionPropertyIterator *iter, IteratorSkipFunc skip) { rna_iterator_listbase_next(iter); rna_inheritance_next_level_restart(iter, skip, 1); }