Merging r50522 through r50572 from trunk into soc-2011-tomato
[blender.git] / source / blender / editors / interface / interface_utils.c
index 9220491a60c3768d21317ed1891c3fc2d5baac8d..d363609fbd92101f5207583dac15efaf0becc9c4 100644 (file)
@@ -78,7 +78,7 @@ uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int ind
 
                        if (arraylen && index == -1) {
                                if (ELEM(RNA_property_subtype(prop), PROP_COLOR, PROP_COLOR_GAMMA))
-                                       but = uiDefButR_prop(block, COL, 0, name, x1, y1, x2, y2, ptr, prop, 0, 0, 0, -1, -1, NULL);
+                                       but = uiDefButR_prop(block, COLOR, 0, name, x1, y1, x2, y2, ptr, prop, 0, 0, 0, -1, -1, NULL);
                        }
                        else if (RNA_property_subtype(prop) == PROP_PERCENTAGE || RNA_property_subtype(prop) == PROP_FACTOR)
                                but = uiDefButR_prop(block, NUMSLI, 0, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
@@ -102,7 +102,8 @@ uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int ind
                        else
                                but = uiDefButR_prop(block, TEX, 0, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
                        break;
-               case PROP_POINTER: {
+               case PROP_POINTER:
+               {
                        PointerRNA pptr;
 
                        pptr = RNA_property_pointer_get(ptr, prop);
@@ -115,7 +116,8 @@ uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int ind
                        but = uiDefIconTextButR_prop(block, IDPOIN, 0, icon, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
                        break;
                }
-               case PROP_COLLECTION: {
+               case PROP_COLLECTION:
+               {
                        char text[256];
                        BLI_snprintf(text, sizeof(text), IFACE_("%d items"), RNA_property_collection_length(ptr, prop));
                        but = uiDefBut(block, LABEL, 0, text, x1, y1, x2, y2, NULL, 0, 0, 0, 0, NULL);
@@ -130,7 +132,13 @@ uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int ind
        return but;
 }
 
-int uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr, int (*check_prop)(PointerRNA *, PropertyRNA *), const char label_align)
+/**
+ * \a check_prop callback filters functions to avoid drawing certain properties,
+ * in cases where PROP_HIDDEN flag can't be used for a property.
+ */
+int uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr,
+                     int (*check_prop)(PointerRNA *, PropertyRNA *),
+                     const char label_align)
 {
        uiLayout *split, *col;
        int flag;
@@ -139,7 +147,8 @@ int uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr, int (*check_prop)(Pointe
 
        assert(ELEM3(label_align, '\0', 'H', 'V'));
 
-       RNA_STRUCT_BEGIN (ptr, prop) {
+       RNA_STRUCT_BEGIN (ptr, prop)
+       {
                flag = RNA_property_flag(prop);
                if (flag & PROP_HIDDEN || (check_prop && check_prop(ptr, prop) == FALSE))
                        continue;
@@ -151,17 +160,17 @@ int uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr, int (*check_prop)(Pointe
                        name = RNA_property_ui_name(prop);
 
                        if (label_align == 'V') {
-                               col = uiLayoutColumn(layout, 1);
+                               col = uiLayoutColumn(layout, TRUE);
 
                                if (!is_boolean)
                                        uiItemL(col, name, ICON_NONE);
                        }
                        else if (label_align == 'H') {
-                               split = uiLayoutSplit(layout, 0.5f, 0);
+                               split = uiLayoutSplit(layout, 0.5f, FALSE);
 
-                               col = uiLayoutColumn(split, 0);
+                               col = uiLayoutColumn(split, FALSE);
                                uiItemL(col, (is_boolean) ? "" : name, ICON_NONE);
-                               col = uiLayoutColumn(split, 0);
+                               col = uiLayoutColumn(split, FALSE);
                        }
                        else {
                                col = NULL;