UIList tweak: make active item visible when it changes somehow (useful e.g. when weight-paintings a rigged mesh).
This commit is contained in:
@@ -2816,6 +2816,12 @@ void uiTemplateList(uiLayout *layout, bContext *C, const char *listtype_name, co
|
||||
}
|
||||
dyn_data->items_len = dyn_data->items_shown = -1;
|
||||
|
||||
/* When active item changed since last draw, scroll to it. */
|
||||
if (activei != ui_list->list_last_activei) {
|
||||
ui_list->flag |= UILST_SCROLL_TO_ACTIVE_ITEM;
|
||||
ui_list->list_last_activei = activei;
|
||||
}
|
||||
|
||||
/* Filter list items! (not for compact layout, though) */
|
||||
if (dataptr->data && prop) {
|
||||
int filter_exclude = ui_list->filter_flag & UILST_FLT_EXCLUDE;
|
||||
|
||||
@@ -172,10 +172,10 @@ typedef struct uiList { /* some list UI data need to be saved in file
|
||||
int list_scroll;
|
||||
int list_grip;
|
||||
int list_last_len;
|
||||
int padi1;
|
||||
int list_last_activei;
|
||||
|
||||
/* Filtering data. */
|
||||
char filter_byname[64]; /* defined as UI_MAX_NAME_STR */
|
||||
char filter_byname[64]; /* defined as UI_MAX_NAME_STR */
|
||||
int filter_flag;
|
||||
int filter_sort_flag;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user