Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/interface/interface_layout.c
| Context not available. | |||||
| for (item = litem->items.first; item; item = item->next) { | for (item = litem->items.first; item; item = item->next) { | ||||
| ui_item_size(item, &itemw, &itemh); | ui_item_size(item, &itemw, &itemh); | ||||
| if (item->type == ITEM_BUTTON) { | min_size_flag = min_size_flag && (item->flag & UI_ITEM_MIN); | ||||
| const uiBut *but = ((uiButtonItem *)item)->but; | |||||
| const bool icon_only = (but->flag & UI_HAS_ICON) && (but->str == NULL || but->str[0] == '\0'); | |||||
| min_size_flag = min_size_flag && icon_only; | |||||
| } | |||||
| else { | |||||
| min_size_flag = min_size_flag && (item->flag & UI_ITEM_MIN); | |||||
| } | |||||
| litem->w += itemw; | litem->w += itemw; | ||||
| litem->h = MAX2(itemh, litem->h); | litem->h = MAX2(itemh, litem->h); | ||||
| Context not available. | |||||
| x += neww; | x += neww; | ||||
| if ((neww < minw || itemw == minw || item->flag & UI_ITEM_MIN) && w != 0) { | if ((item->flag & UI_ITEM_MIN) && w != 0) { | ||||
| /* fixed size */ | /* fixed size */ | ||||
| item->flag |= UI_ITEM_FIXED; | item->flag |= UI_ITEM_FIXED; | ||||
| if (item->type != ITEM_BUTTON && item->flag & UI_ITEM_MIN) { | if (item->type != ITEM_BUTTON && item->flag & UI_ITEM_MIN) { | ||||
| Context not available. | |||||
| for (item = litem->items.first; item; item = item->next) { | for (item = litem->items.first; item; item = item->next) { | ||||
| ui_item_size(item, &itemw, &itemh); | ui_item_size(item, &itemw, &itemh); | ||||
| if (item->type == ITEM_BUTTON) { | min_size_flag = min_size_flag && (item->flag & UI_ITEM_MIN); | ||||
| const uiBut *but = ((uiButtonItem *)item)->but; | |||||
| const bool icon_only = (but->flag & UI_HAS_ICON) && (but->str == NULL || but->str[0] == '\0'); | |||||
| min_size_flag = min_size_flag && icon_only; | |||||
| } | |||||
| else { | |||||
| min_size_flag = min_size_flag && (item->flag & UI_ITEM_MIN); | |||||
| } | |||||
| litem->w = MAX2(litem->w, itemw); | litem->w = MAX2(litem->w, itemw); | ||||
| litem->h += itemh; | litem->h += itemh; | ||||
| Context not available. | |||||
| bitem = MEM_callocN(sizeof(uiButtonItem), "uiButtonItem"); | bitem = MEM_callocN(sizeof(uiButtonItem), "uiButtonItem"); | ||||
| bitem->item.type = ITEM_BUTTON; | bitem->item.type = ITEM_BUTTON; | ||||
| bitem->but = but; | bitem->but = but; | ||||
| int w, h; | |||||
| ui_item_size((uiItem *)bitem, &w, &h); | |||||
| /* XXX uiBut hasn't scaled yet | |||||
| * we can flag the button as not expandable, depending on its size */ | |||||
| if (w <= 2 * UI_UNIT_X) | |||||
| bitem->item.flag |= UI_ITEM_MIN; | |||||
| BLI_addtail(&layout->items, bitem); | BLI_addtail(&layout->items, bitem); | ||||
| if (layout->context) { | if (layout->context) { | ||||
| Context not available. | |||||