Merge from 2.5 r20991 through r21037
[blender.git] / source / blender / makesrna / intern / rna_internal_types.h
index 840b57456812726e5ff66dc815196cd3800bb108..8bae21cca2b1f622e7492b1433d86f341499c7e9 100644 (file)
@@ -37,6 +37,7 @@ struct ReportList;
 struct CollectionPropertyIterator;
 struct bContext;
 struct IDProperty;
+struct GHash;
 
 #define RNA_MAX_ARRAY 32
 
@@ -78,12 +79,12 @@ typedef PointerRNA (*PropCollectionGetFunc)(struct CollectionPropertyIterator *i
 typedef int (*PropCollectionLengthFunc)(struct PointerRNA *ptr);
 typedef PointerRNA (*PropCollectionLookupIntFunc)(struct PointerRNA *ptr, int key);
 typedef PointerRNA (*PropCollectionLookupStringFunc)(struct PointerRNA *ptr, const char *key);
-typedef void (*PropCollectionAddFunc)(PointerRNA *ptr, PointerRNA *ptr_item);
 
 /* Container - generic abstracted container of RNA properties */
 typedef struct ContainerRNA {
        void *next, *prev;
 
+       struct GHash *prophash;
        ListBase properties;
 } ContainerRNA;
 
@@ -129,6 +130,8 @@ struct PropertyRNA {
        const char *name;
        /* single line description, displayed in the tooltip for example */
        const char *description;
+       /* icon ID */
+       int icon;
 
        /* property type as it appears to the outside */
        PropertyType type;
@@ -244,7 +247,7 @@ typedef struct CollectionPropertyRNA {
        PropCollectionLengthFunc length;                                /* optional */
        PropCollectionLookupIntFunc lookupint;                  /* optional */
        PropCollectionLookupStringFunc lookupstring;    /* optional */
-       PropCollectionAddFunc add;
+       FunctionRNA *add, *remove;
 
        struct StructRNA *type;
 } CollectionPropertyRNA;