112
112
void *activedata; /* runtime for panel manipulation */
115
typedef struct uiList { /* some list UI data need to be saved in file */
115
/* uiList dynamic data... */
116
/* These two Lines with # tell makesdna this struct can be excluded. */
119
typedef struct uiListDyn {
120
int height; /* Number of rows needed to draw all elements. */
121
int visual_height; /* Actual visual height of the list (in rows). */
122
int visual_height_min; /* Minimal visual height of the list (in rows). */
124
int items_len; /* Number of items in collection. */
125
int items_shown; /* Number of items actually visible after filtering. */
127
/* Filtering data. */
128
int *items_filter_flags; /* items_len length. */
129
int *items_filter_neworder; /* org_idx -> new_idx, items_len length. */
132
typedef struct uiList { /* some list UI data need to be saved in file */
116
133
struct uiList *next, *prev;
118
struct uiListType *type; /* runtime */
121
char list_id[64]; /* defined as UI_MAX_NAME_STR */
123
int layout_type; /* How items are layedout in the list */
135
struct uiListType *type; /* runtime */
137
char list_id[64]; /* defined as UI_MAX_NAME_STR */
139
int layout_type; /* How items are layedout in the list */
128
144
int list_last_len;
130
/* char list_search[64]; */
147
/* Filtering data. */
148
char filter_byname[64]; /* defined as UI_MAX_NAME_STR */
150
int filter_sort_flag;
152
/* Custom sub-classes properties. */
153
IDProperty *properties;
155
/* Dynamic data (runtime). */
133
159
typedef struct ScrArea {
232
258
#define PNL_DEFAULT_CLOSED 1
233
259
#define PNL_NO_HEADER 2
235
/* uilist layout_type */
261
/* uiList layout_type */
237
263
UILST_LAYOUT_DEFAULT = 0,
238
264
UILST_LAYOUT_COMPACT = 1,
239
265
UILST_LAYOUT_GRID = 2,
270
UILST_SCROLL_TO_ACTIVE_ITEM = 1 << 0, /* Scroll list to make active item visible. */
271
UILST_RESIZING = 1 << 1, /* We are currently resizing, deactivate autosize! */
274
/* uiList filter flags (dyn_data) */
276
UILST_FLT_ITEM = 1 << 31, /* This item has passed the filter process successfully. */
279
/* uiList filter options */
281
UILST_FLT_SHOW = 1 << 0, /* Show filtering UI. */
282
UILST_FLT_EXCLUDE = UILST_FLT_ITEM, /* Exclude filtered items, *must* use this same value. */
285
/* uiList filter orderby type */
287
UILST_FLT_SORT_ALPHA = 1 << 0,
288
UILST_FLT_SORT_REVERSE = 1 << 31 /* Special value, bitflag used to reverse order! */
291
#define UILST_FLT_SORT_MASK (((unsigned int)UILST_FLT_SORT_REVERSE) - 1)
242
293
/* regiontype, first two are the default set */
243
294
/* Do NOT change order, append on end. Types are hardcoded needed */