Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2020-10-02 21:02:30 +0300
committerHans Goudey <h.goudey@me.com>2020-10-02 21:02:30 +0300
commita4aa94c41cb79e917a5bfe78907ab4a4bcbdad3b (patch)
tree80944c11778ab5920d925abd6049914d921b7808
parent6b32de4d9fde0bb7d6d257f43a34ece2d56c8ad8 (diff)
Cleanup: Declare variables where initialized
Also reduce the scope of some variable declarations. This also allows making some variables constant.
-rw-r--r--source/blender/editors/interface/interface_layout.c296
1 files changed, 118 insertions, 178 deletions
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c
index 7fa7984c7e7..f8b9f4f0df1 100644
--- a/source/blender/editors/interface/interface_layout.c
+++ b/source/blender/editors/interface/interface_layout.c
@@ -312,16 +312,13 @@ static bool ui_layout_variable_size(uiLayout *layout)
/* estimated size of text + icon */
static int ui_text_icon_width(uiLayout *layout, const char *name, int icon, bool compact)
{
- bool variable;
const int unit_x = UI_UNIT_X * (layout->scale[0] ? layout->scale[0] : 1.0f);
if (icon && !name[0]) {
return unit_x; /* icon only */
}
- variable = ui_layout_variable_size(layout);
-
- if (variable) {
+ if (ui_layout_variable_size(layout)) {
if (!icon && !name[0]) {
return unit_x; /* No icon or name. */
}
@@ -510,7 +507,6 @@ int uiLayoutGetLocalDir(const uiLayout *layout)
static uiLayout *ui_item_local_sublayout(uiLayout *test, uiLayout *layout, bool align)
{
uiLayout *sub;
-
if (uiLayoutGetLocalDir(test) == UI_LAYOUT_HORIZONTAL) {
sub = uiLayoutRow(layout, align);
}
@@ -569,17 +565,12 @@ static void ui_item_array(uiLayout *layout,
bool show_text)
{
const uiStyle *style = layout->root->style;
- uiBut *but;
- PropertyType type;
- PropertySubType subtype;
- uiLayout *sub;
- uint a, b;
/* retrieve type and subtype */
- type = RNA_property_type(prop);
- subtype = RNA_property_subtype(prop);
+ const PropertyType type = RNA_property_type(prop);
+ const PropertySubType subtype = RNA_property_subtype(prop);
- sub = ui_item_local_sublayout(layout, layout, 1);
+ uiLayout *sub = ui_item_local_sublayout(layout, layout, 1);
UI_block_layout_set_current(block, sub);
/* create label */
@@ -590,17 +581,15 @@ static void ui_item_array(uiLayout *layout,
/* create buttons */
if (type == PROP_BOOLEAN && ELEM(subtype, PROP_LAYER, PROP_LAYER_MEMBER)) {
/* special check for layer layout */
- int butw, buth, unit;
const int cols = (len >= 20) ? 2 : 1;
- const uint colbuts = len / (2 * cols);
+ const int colbuts = len / (2 * cols);
uint layer_used = 0;
uint layer_active = 0;
UI_block_layout_set_current(block, uiLayoutAbsolute(layout, false));
- unit = UI_UNIT_X * 0.75;
- butw = unit;
- buth = unit;
+ const int butw = UI_UNIT_X * 0.75;
+ const int buth = UI_UNIT_X * 0.75;
if (ptr->type == &RNA_Armature) {
bArmature *arm = ptr->data;
@@ -619,10 +608,10 @@ static void ui_item_array(uiLayout *layout,
}
}
- for (b = 0; b < cols; b++) {
+ for (int b = 0; b < cols; b++) {
UI_block_align_begin(block);
- for (a = 0; a < colbuts; a++) {
+ for (int a = 0; a < colbuts; a++) {
const int layer_num = a + b * colbuts;
const uint layer_flag = (1u << layer_num);
@@ -638,13 +627,13 @@ static void ui_item_array(uiLayout *layout,
icon = ICON_BLANK1;
}
- but = uiDefAutoButR(
+ uiBut *but = uiDefAutoButR(
block, ptr, prop, layer_num, "", icon, x + butw * a, y + buth, butw, buth);
if (subtype == PROP_LAYER_MEMBER) {
UI_but_func_set(but, ui_layer_but_cb, but, POINTER_FROM_INT(layer_num));
}
}
- for (a = 0; a < colbuts; a++) {
+ for (int a = 0; a < colbuts; a++) {
const int layer_num = a + len / 2 + b * colbuts;
const uint layer_flag = (1u << layer_num);
@@ -660,7 +649,8 @@ static void ui_item_array(uiLayout *layout,
icon = ICON_BLANK1;
}
- but = uiDefAutoButR(block, ptr, prop, layer_num, "", icon, x + butw * a, y, butw, buth);
+ uiBut *but = uiDefAutoButR(
+ block, ptr, prop, layer_num, "", icon, x + butw * a, y, butw, buth);
if (subtype == PROP_LAYER_MEMBER) {
UI_but_func_set(but, ui_layer_but_cb, but, POINTER_FROM_INT(layer_num));
}
@@ -685,20 +675,20 @@ static void ui_item_array(uiLayout *layout,
w /= dim_size[0];
/* h /= dim_size[1]; */ /* UNUSED */
- for (a = 0; a < len; a++) {
+ for (int a = 0; a < len; a++) {
col = a % dim_size[0];
row = a / dim_size[0];
- but = uiDefAutoButR(block,
- ptr,
- prop,
- a,
- "",
- ICON_NONE,
- x + w * col,
- y + (dim_size[1] * UI_UNIT_Y) - (row * UI_UNIT_Y),
- w,
- UI_UNIT_Y);
+ uiBut *but = uiDefAutoButR(block,
+ ptr,
+ prop,
+ a,
+ "",
+ ICON_NONE,
+ x + w * col,
+ y + (dim_size[1] * UI_UNIT_Y) - (row * UI_UNIT_Y),
+ w,
+ UI_UNIT_Y);
if (slider && but->type == UI_BTYPE_NUM) {
uiButNumber *number_but = (uiButNumber *)but;
@@ -734,8 +724,6 @@ static void ui_item_array(uiLayout *layout,
uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, 0, 0, w, UI_UNIT_Y);
}
else {
- bool *boolarr = NULL;
-
/* even if 'expand' is fale, expanding anyway */
/* layout for known array subtypes */
@@ -748,6 +736,7 @@ static void ui_item_array(uiLayout *layout,
}
/* show checkboxes for rna on a non-emboss block (menu for eg) */
+ bool *boolarr = NULL;
if (type == PROP_BOOLEAN &&
ELEM(layout->root->block->emboss, UI_EMBOSS_NONE, UI_EMBOSS_PULLDOWN)) {
boolarr = MEM_callocN(sizeof(bool) * len, __func__);
@@ -755,9 +744,7 @@ static void ui_item_array(uiLayout *layout,
}
const char *str_buf = show_text ? str : "";
- for (a = 0; a < len; a++) {
- int width_item;
-
+ for (int a = 0; a < len; a++) {
if (!icon_only && show_text) {
str[0] = RNA_property_array_item_char(prop, a);
}
@@ -765,11 +752,12 @@ static void ui_item_array(uiLayout *layout,
icon = boolarr[a] ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT;
}
- width_item = ((compact && type == PROP_BOOLEAN) ?
- min_ii(w, ui_text_icon_width(layout, str_buf, icon, false)) :
- w);
+ const int width_item = ((compact && type == PROP_BOOLEAN) ?
+ min_ii(w, ui_text_icon_width(layout, str_buf, icon, false)) :
+ w);
- but = uiDefAutoButR(block, ptr, prop, a, str_buf, icon, 0, 0, width_item, UI_UNIT_Y);
+ uiBut *but = uiDefAutoButR(
+ block, ptr, prop, a, str_buf, icon, 0, 0, width_item, UI_UNIT_Y);
if (slider && but->type == UI_BTYPE_NUM) {
uiButNumber *number_but = (uiButNumber *)but;
@@ -832,7 +820,6 @@ static void ui_item_enum_expand_elem_exec(uiLayout *layout,
const int itemw = ui_text_icon_width(block->curlayout, icon_only ? "" : name, icon, 0);
uiBut *but;
-
if (icon && name[0] && !icon_only) {
but = uiDefIconTextButR_prop(
block, but_type, 0, icon, name, 0, 0, itemw, h, ptr, prop, -1, 0, value, -1, -1, NULL);
@@ -886,13 +873,12 @@ static void ui_item_enum_expand_exec(uiLayout *layout,
* - mont29
*/
- const EnumPropertyItem *item, *item_array;
- bool free;
-
BLI_assert(RNA_property_type(prop) == PROP_ENUM);
- uiLayout *layout_radial = NULL;
const bool radial = (layout->root->type == UI_LAYOUT_PIEMENU);
+
+ bool free;
+ const EnumPropertyItem *item_array;
if (radial) {
RNA_property_enum_items_gettexted_all(block->evil_C, ptr, prop, &item_array, NULL, &free);
}
@@ -901,6 +887,7 @@ static void ui_item_enum_expand_exec(uiLayout *layout,
}
/* we dont want nested rows, cols in menus */
+ uiLayout *layout_radial = NULL;
if (radial) {
if (layout->root->layout == layout) {
layout_radial = uiLayoutRadial(layout);
@@ -921,7 +908,7 @@ static void ui_item_enum_expand_exec(uiLayout *layout,
UI_block_layout_set_current(block, ui_item_local_sublayout(layout, layout, 1));
}
- for (item = item_array; item->identifier; item++) {
+ for (const EnumPropertyItem *item = item_array; item->identifier; item++) {
const bool is_first = item == item_array;
if (!item->identifier[0]) {
@@ -1016,9 +1003,6 @@ static uiBut *ui_item_with_label(uiLayout *layout,
int flag)
{
uiLayout *sub = layout;
- uiBut *but = NULL;
- PropertyType type;
- PropertySubType subtype;
int prop_but_width = w_hint;
#ifdef UI_PROP_DECORATE
uiLayout *layout_prop_decorate = NULL;
@@ -1047,7 +1031,6 @@ static uiBut *ui_item_with_label(uiLayout *layout,
#endif
{
int w_label;
-
if (ui_layout_variable_size(layout)) {
/* w_hint is width for label in this case.
* Use a default width for property button(s) */
@@ -1061,9 +1044,10 @@ static uiBut *ui_item_with_label(uiLayout *layout,
}
}
- type = RNA_property_type(prop);
- subtype = RNA_property_subtype(prop);
+ const PropertyType type = RNA_property_type(prop);
+ const PropertySubType subtype = RNA_property_subtype(prop);
+ uiBut *but;
if (subtype == PROP_FILEPATH || subtype == PROP_DIRPATH) {
UI_block_layout_set_current(block, uiLayoutRow(sub, true));
but = uiDefAutoButR(block, ptr, prop, index, "", icon, x, y, prop_but_width - UI_UNIT_X, h);
@@ -1204,8 +1188,6 @@ static void ui_but_tip_from_enum_item(uiBut *but, const EnumPropertyItem *item)
static void ui_item_disabled(uiLayout *layout, const char *name)
{
uiBlock *block = layout->root->block;
- uiBut *but;
- int w;
UI_block_layout_set_current(block, layout);
@@ -1213,9 +1195,10 @@ static void ui_item_disabled(uiLayout *layout, const char *name)
name = "";
}
- w = ui_text_icon_width(layout, name, 0, 0);
+ const int w = ui_text_icon_width(layout, name, 0, 0);
- but = uiDefBut(block, UI_BTYPE_LABEL, 0, name, 0, 0, w, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
+ uiBut *but = uiDefBut(
+ block, UI_BTYPE_LABEL, 0, name, 0, 0, w, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
UI_but_disable(but, "");
}
@@ -1235,8 +1218,6 @@ static uiBut *uiItemFullO_ptr_ex(uiLayout *layout,
{
/* Take care to fill 'r_opptr' whatever happens. */
uiBlock *block = layout->root->block;
- uiBut *but;
- int w;
if (!name) {
if (ot && ot->srna && (flag & UI_ITEM_R_ICON_ONLY) == 0) {
@@ -1254,7 +1235,7 @@ static uiBut *uiItemFullO_ptr_ex(uiLayout *layout,
/* create button */
UI_block_layout_set_current(block, layout);
- w = ui_text_icon_width(layout, name, icon, 0);
+ const int w = ui_text_icon_width(layout, name, icon, 0);
const int prev_emboss = layout->emboss;
if (flag & UI_ITEM_R_NO_BG) {
@@ -1262,6 +1243,7 @@ static uiBut *uiItemFullO_ptr_ex(uiLayout *layout,
}
/* create the button */
+ uiBut *but;
if (icon) {
if (name[0]) {
but = uiDefIconTextButO_ptr(
@@ -1409,11 +1391,11 @@ static const char *ui_menu_enumpropname(uiLayout *layout,
PropertyRNA *prop,
int retval)
{
- const EnumPropertyItem *item;
bool free;
- const char *name;
-
+ const EnumPropertyItem *item;
RNA_property_enum_items(layout->root->block->evil_C, ptr, prop, &item, NULL, &free);
+
+ const char *name;
if (RNA_enum_name(item, retval, &name)) {
name = CTX_IFACE_(RNA_property_translation_context(prop), name);
}
@@ -1436,14 +1418,10 @@ void uiItemEnumO_ptr(uiLayout *layout,
int value)
{
PointerRNA ptr;
- PropertyRNA *prop;
-
WM_operator_properties_create_ptr(&ptr, ot);
- if ((prop = RNA_struct_find_property(&ptr, propname))) {
- /* pass */
- }
- else {
+ PropertyRNA *prop = RNA_struct_find_property(&ptr, propname);
+ if (prop == NULL) {
RNA_warning("%s.%s not found", RNA_struct_identifier(ptr.type), propname);
return;
}
@@ -1502,7 +1480,6 @@ void uiItemsFullEnumO_items(uiLayout *layout,
}
uiLayout *target, *split = NULL;
- const EnumPropertyItem *item;
uiBlock *block = layout->root->block;
const bool radial = ui_layout_is_radial(layout);
@@ -1534,10 +1511,9 @@ void uiItemsFullEnumO_items(uiLayout *layout,
target = uiLayoutColumn(split, layout->align);
}
- int i;
bool last_iter = false;
-
- for (i = 1, item = item_array; item->identifier && !last_iter; i++, item++) {
+ const EnumPropertyItem *item = item_array;
+ for (int i = 1; item->identifier && !last_iter; i++, item++) {
/* handle oversized pies */
if (radial && (totitem > PIE_MAX_ITEMS) && (i >= PIE_MAX_ITEMS)) {
if (item->name) { /* only visible items */
@@ -1566,7 +1542,6 @@ void uiItemsFullEnumO_items(uiLayout *layout,
if (item->identifier[0]) {
PointerRNA tptr;
-
WM_operator_properties_create_ptr(&tptr, ot);
if (properties) {
if (tptr.data) {
@@ -1589,8 +1564,6 @@ void uiItemsFullEnumO_items(uiLayout *layout,
}
else {
if (item->name) {
- uiBut *but;
-
if (item != item_array && !radial && split != NULL) {
target = uiLayoutColumn(split, layout->align);
@@ -1598,6 +1571,7 @@ void uiItemsFullEnumO_items(uiLayout *layout,
block->flag |= UI_BLOCK_NO_FLIP;
}
+ uiBut *but;
if (item->icon || radial) {
uiItemL(target, item->name, item->icon);
@@ -1647,24 +1621,22 @@ void uiItemsFullEnumO(uiLayout *layout,
{
wmOperatorType *ot = WM_operatortype_find(opname, 0); /* print error next */
- PointerRNA ptr;
- PropertyRNA *prop;
- uiBlock *block = layout->root->block;
-
if (!ot || !ot->srna) {
ui_item_disabled(layout, opname);
RNA_warning("%s '%s'", ot ? "unknown operator" : "operator missing srna", opname);
return;
}
+ PointerRNA ptr;
WM_operator_properties_create_ptr(&ptr, ot);
/* so the context is passed to itemf functions (some need it) */
WM_operator_properties_sanitize(&ptr, false);
- prop = RNA_struct_find_property(&ptr, propname);
+ PropertyRNA *prop = RNA_struct_find_property(&ptr, propname);
/* don't let bad properties slip through */
BLI_assert((prop == NULL) || (RNA_property_type(prop) == PROP_ENUM));
+ uiBlock *block = layout->root->block;
if (prop && RNA_property_type(prop) == PROP_ENUM) {
const EnumPropertyItem *item_array = NULL;
int totitem;
@@ -1721,18 +1693,14 @@ void uiItemEnumO_value(uiLayout *layout,
int value)
{
wmOperatorType *ot = WM_operatortype_find(opname, 0); /* print error next */
- PointerRNA ptr;
- PropertyRNA *prop;
-
UI_OPERATOR_ERROR_RET(ot, opname, return );
+ PointerRNA ptr;
WM_operator_properties_create_ptr(&ptr, ot);
/* enum lookup */
- if ((prop = RNA_struct_find_property(&ptr, propname))) {
- /* pass */
- }
- else {
+ PropertyRNA *prop = RNA_struct_find_property(&ptr, propname);
+ if (prop == NULL) {
RNA_warning("%s.%s not found", RNA_struct_identifier(ptr.type), propname);
return;
}
@@ -1755,39 +1723,36 @@ void uiItemEnumO_string(uiLayout *layout,
const char *value_str)
{
wmOperatorType *ot = WM_operatortype_find(opname, 0); /* print error next */
- PointerRNA ptr;
- PropertyRNA *prop;
-
- const EnumPropertyItem *item;
- int value;
- bool free;
-
UI_OPERATOR_ERROR_RET(ot, opname, return );
+ PointerRNA ptr;
WM_operator_properties_create_ptr(&ptr, ot);
+ PropertyRNA *prop = RNA_struct_find_property(&ptr, propname);
+ if (prop == NULL) {
+ RNA_warning("%s.%s not found", RNA_struct_identifier(ptr.type), propname);
+ return;
+ }
+
/* enum lookup */
- if ((prop = RNA_struct_find_property(&ptr, propname))) {
- /* no need for translations here */
- RNA_property_enum_items(layout->root->block->evil_C, &ptr, prop, &item, NULL, &free);
- if (item == NULL || RNA_enum_value_from_id(item, value_str, &value) == 0) {
- if (free) {
- MEM_freeN((void *)item);
- }
- RNA_warning(
- "%s.%s, enum %s not found", RNA_struct_identifier(ptr.type), propname, value_str);
- return;
- }
+ /* no need for translations here */
+ const EnumPropertyItem *item;
+ bool free;
+ RNA_property_enum_items(layout->root->block->evil_C, &ptr, prop, &item, NULL, &free);
+ int value;
+ if (item == NULL || RNA_enum_value_from_id(item, value_str, &value) == 0) {
if (free) {
MEM_freeN((void *)item);
}
- }
- else {
- RNA_warning("%s.%s not found", RNA_struct_identifier(ptr.type), propname);
+ RNA_warning("%s.%s, enum %s not found", RNA_struct_identifier(ptr.type), propname, value_str);
return;
}
+ if (free) {
+ MEM_freeN((void *)item);
+ }
+
RNA_property_enum_set(&ptr, prop, value);
/* same as uiItemEnumO */
@@ -1806,10 +1771,9 @@ void uiItemBooleanO(uiLayout *layout,
int value)
{
wmOperatorType *ot = WM_operatortype_find(opname, 0); /* print error next */
- PointerRNA ptr;
-
UI_OPERATOR_ERROR_RET(ot, opname, return );
+ PointerRNA ptr;
WM_operator_properties_create_ptr(&ptr, ot);
RNA_boolean_set(&ptr, propname, value);
@@ -1824,10 +1788,9 @@ void uiItemIntO(uiLayout *layout,
int value)
{
wmOperatorType *ot = WM_operatortype_find(opname, 0); /* print error next */
- PointerRNA ptr;
-
UI_OPERATOR_ERROR_RET(ot, opname, return );
+ PointerRNA ptr;
WM_operator_properties_create_ptr(&ptr, ot);
RNA_int_set(&ptr, propname, value);
@@ -1842,10 +1805,10 @@ void uiItemFloatO(uiLayout *layout,
float value)
{
wmOperatorType *ot = WM_operatortype_find(opname, 0); /* print error next */
- PointerRNA ptr;
UI_OPERATOR_ERROR_RET(ot, opname, return );
+ PointerRNA ptr;
WM_operator_properties_create_ptr(&ptr, ot);
RNA_float_set(&ptr, propname, value);
@@ -1860,10 +1823,10 @@ void uiItemStringO(uiLayout *layout,
const char *value)
{
wmOperatorType *ot = WM_operatortype_find(opname, 0); /* print error next */
- PointerRNA ptr;
UI_OPERATOR_ERROR_RET(ot, opname, return );
+ PointerRNA ptr;
WM_operator_properties_create_ptr(&ptr, ot);
RNA_string_set(&ptr, propname, value);
@@ -1888,16 +1851,14 @@ static void ui_item_rna_size(uiLayout *layout,
int *r_w,
int *r_h)
{
- PropertyType type;
- PropertySubType subtype;
- int len, w = 0, h;
- bool is_checkbox_only = false;
+ int w = 0, h;
/* arbitrary extended width by type */
- type = RNA_property_type(prop);
- subtype = RNA_property_subtype(prop);
- len = RNA_property_array_length(ptr, prop);
+ PropertyType type = RNA_property_type(prop);
+ PropertySubType subtype = RNA_property_subtype(prop);
+ const int len = RNA_property_array_length(ptr, prop);
+ bool is_checkbox_only = false;
if (!name[0] && !icon_only) {
if (ELEM(type, PROP_STRING, PROP_POINTER)) {
name = "non-empty text";
@@ -1911,12 +1872,12 @@ static void ui_item_rna_size(uiLayout *layout,
}
else if (type == PROP_ENUM) {
/* Find the longest enum item name, instead of using a dummy text! */
- const EnumPropertyItem *item, *item_array;
+ const EnumPropertyItem *item_array;
bool free;
-
RNA_property_enum_items_gettexted(
layout->root->block->evil_C, ptr, prop, &item_array, NULL, &free);
- for (item = item_array; item->identifier; item++) {
+
+ for (const EnumPropertyItem *item = item_array; item->identifier; item++) {
if (item->identifier[0]) {
w = max_ii(w, ui_text_icon_width(layout, item->name, item->icon, compact));
}
@@ -2606,10 +2567,6 @@ void uiItemEnumR_string_prop(uiLayout *layout,
const char *name,
int icon)
{
- const EnumPropertyItem *item;
- int ivalue, a;
- bool free;
-
if (UNLIKELY(RNA_property_type(prop) != PROP_ENUM)) {
const char *propname = RNA_property_identifier(prop);
ui_item_disabled(layout, propname);
@@ -2617,8 +2574,11 @@ void uiItemEnumR_string_prop(uiLayout *layout,
return;
}
+ const EnumPropertyItem *item;
+ bool free;
RNA_property_enum_items(layout->root->block->evil_C, ptr, prop, &item, NULL, &free);
+ int ivalue;
if (!RNA_enum_value_from_id(item, value, &ivalue)) {
const char *propname = RNA_property_identifier(prop);
if (free) {
@@ -2629,7 +2589,7 @@ void uiItemEnumR_string_prop(uiLayout *layout,
return;
}
- for (a = 0; item[a].identifier; a++) {
+ for (int a = 0; item[a].identifier; a++) {
if (item[a].identifier[0] == '\0') {
/* Skip enum item separators. */
continue;
@@ -2669,11 +2629,9 @@ void uiItemEnumR_string(uiLayout *layout,
void uiItemsEnumR(uiLayout *layout, struct PointerRNA *ptr, const char *propname)
{
- PropertyRNA *prop;
uiBlock *block = layout->root->block;
- uiBut *bt;
- prop = RNA_struct_find_property(ptr, propname);
+ PropertyRNA *prop = RNA_struct_find_property(ptr, propname);
if (!prop) {
ui_item_disabled(layout, propname);
@@ -2686,12 +2644,12 @@ void uiItemsEnumR(uiLayout *layout, struct PointerRNA *ptr, const char *propname
return;
}
- const EnumPropertyItem *item;
- int totitem;
- bool free;
uiLayout *split = uiLayoutSplit(layout, 0.0f, false);
uiLayout *column = uiLayoutColumn(split, false);
+ int totitem;
+ const EnumPropertyItem *item;
+ bool free;
RNA_property_enum_items_gettexted(block->evil_C, ptr, prop, &item, &totitem, &free);
for (int i = 0; i < totitem; i++) {
@@ -2708,7 +2666,7 @@ void uiItemsEnumR(uiLayout *layout, struct PointerRNA *ptr, const char *propname
}
uiItemL(column, item[i].name, ICON_NONE);
- bt = block->buttons.last;
+ uiBut *bt = block->buttons.last;
bt->drawflag = UI_BUT_TEXT_LEFT;
ui_but_tip_from_enum_item(bt, &item[i]);
@@ -2731,8 +2689,6 @@ void uiItemsEnumR(uiLayout *layout, struct PointerRNA *ptr, const char *propname
static void search_id_collection(StructRNA *ptype, PointerRNA *r_ptr, PropertyRNA **r_prop)
{
- StructRNA *srna;
-
/* look for collection property in Main */
/* Note: using global Main is OK-ish here, UI shall not access other Mains anyay... */
RNA_main_pointer_create(G_MAIN, r_ptr);
@@ -2742,7 +2698,7 @@ static void search_id_collection(StructRNA *ptype, PointerRNA *r_ptr, PropertyRN
RNA_STRUCT_BEGIN (r_ptr, iprop) {
/* if it's a collection and has same pointer type, we've got it */
if (RNA_property_type(iprop) == PROP_COLLECTION) {
- srna = RNA_property_pointer_type(r_ptr, iprop);
+ StructRNA *srna = RNA_property_pointer_type(r_ptr, iprop);
if (ptype == srna) {
*r_prop = iprop;
@@ -2766,13 +2722,11 @@ static void ui_rna_collection_search_arg_free_fn(void *ptr)
uiBut *ui_but_add_search(
uiBut *but, PointerRNA *ptr, PropertyRNA *prop, PointerRNA *searchptr, PropertyRNA *searchprop)
{
- StructRNA *ptype;
- PointerRNA sptr;
-
/* for ID's we do automatic lookup */
if (!searchprop) {
if (RNA_property_type(prop) == PROP_POINTER) {
- ptype = RNA_property_pointer_type(ptr, prop);
+ StructRNA *ptype = RNA_property_pointer_type(ptr, prop);
+ PointerRNA sptr;
search_id_collection(ptype, &sptr, &searchprop);
searchptr = &sptr;
}
@@ -2833,17 +2787,11 @@ void uiItemPointerR_prop(uiLayout *layout,
const char *name,
int icon)
{
- PropertyType type;
- uiBut *but;
- uiBlock *block;
- StructRNA *icontype;
- int w, h;
- char namestr[UI_MAX_NAME_STR];
const bool use_prop_sep = ((layout->item.flag & UI_ITEM_PROP_SEP) != 0);
layout_root_new_button_group(layout->root);
- type = RNA_property_type(prop);
+ const PropertyType type = RNA_property_type(prop);
if (!ELEM(type, PROP_POINTER, PROP_STRING, PROP_ENUM)) {
RNA_warning("Property %s.%s must be a pointer, string or enum",
RNA_struct_identifier(ptr->type),
@@ -2859,6 +2807,7 @@ void uiItemPointerR_prop(uiLayout *layout,
/* get icon & name */
if (icon == ICON_NONE) {
+ StructRNA *icontype;
if (type == PROP_POINTER) {
icontype = RNA_property_pointer_type(ptr, prop);
}
@@ -2872,16 +2821,18 @@ void uiItemPointerR_prop(uiLayout *layout,
name = RNA_property_ui_name(prop);
}
+ char namestr[UI_MAX_NAME_STR];
if (use_prop_sep == false) {
name = ui_item_name_add_colon(name, namestr);
}
/* create button */
- block = uiLayoutGetBlock(layout);
+ uiBlock *block = uiLayoutGetBlock(layout);
+ int w, h;
ui_item_rna_size(layout, name, icon, ptr, prop, 0, 0, false, &w, &h);
w += UI_UNIT_X; /* X icon needs more space */
- but = ui_item_with_label(layout, block, name, icon, ptr, prop, 0, 0, 0, w, h, 0);
+ uiBut *but = ui_item_with_label(layout, block, name, icon, ptr, prop, 0, 0, 0, w, h, 0);
ui_but_add_search(but, ptr, prop, searchptr, searchprop);
}
@@ -2894,15 +2845,13 @@ void uiItemPointerR(uiLayout *layout,
const char *name,
int icon)
{
- PropertyRNA *prop, *searchprop;
-
/* validate arguments */
- prop = RNA_struct_find_property(ptr, propname);
+ PropertyRNA *prop = RNA_struct_find_property(ptr, propname);
if (!prop) {
RNA_warning("property not found: %s.%s", RNA_struct_identifier(ptr->type), propname);
return;
}
- searchprop = RNA_struct_find_property(searchptr, searchpropname);
+ PropertyRNA *searchprop = RNA_struct_find_property(searchptr, searchpropname);
if (!searchprop) {
RNA_warning("search collection property not found: %s.%s",
RNA_struct_identifier(searchptr->type),
@@ -2944,8 +2893,6 @@ static uiBut *ui_item_menu(uiLayout *layout,
{
uiBlock *block = layout->root->block;
uiLayout *heading_layout = ui_layout_heading_find(layout);
- uiBut *but;
- int w, h;
UI_block_layout_set_current(block, layout);
layout_root_new_button_group(layout->root);
@@ -2957,8 +2904,8 @@ static uiBut *ui_item_menu(uiLayout *layout,
icon = ICON_BLANK1;
}
- w = ui_text_icon_width(layout, name, icon, 1);
- h = UI_UNIT_Y;
+ int w = ui_text_icon_width(layout, name, icon, 1);
+ int h = UI_UNIT_Y;
if (layout->root->type == UI_LAYOUT_HEADER) { /* ugly .. */
if (icon == ICON_NONE && force_menu) {
@@ -2978,6 +2925,7 @@ static uiBut *ui_item_menu(uiLayout *layout,
ui_layout_heading_label_add(layout, heading_layout, true, true);
}
+ uiBut *but;
if (name[0] && icon) {
but = uiDefIconTextMenuBut(block, func, arg, icon, name, 0, 0, w, h, tip);
}
@@ -3058,10 +3006,9 @@ void uiItemMContents(uiLayout *layout, const char *menuname)
void uiItemDecoratorR_prop(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index)
{
uiBlock *block = layout->root->block;
- uiLayout *col;
UI_block_layout_set_current(block, layout);
- col = uiLayoutColumn(layout, false);
+ uiLayout *col = uiLayoutColumn(layout, false);
col->space = 0;
col->emboss = UI_EMBOSS_NONE;
@@ -3212,8 +3159,6 @@ void uiItemPopoverPanelFromGroup(uiLayout *layout,
static uiBut *uiItemL_(uiLayout *layout, const char *name, int icon)
{
uiBlock *block = layout->root->block;
- uiBut *but;
- int w;
UI_block_layout_set_current(block, layout);
layout_root_new_button_group(layout->root);
@@ -3225,8 +3170,9 @@ static uiBut *uiItemL_(uiLayout *layout, const char *name, int icon)
icon = ICON_BLANK1;
}
- w = ui_text_icon_width(layout, name, icon, 0);
+ const int w = ui_text_icon_width(layout, name, icon, 0);
+ uiBut *but;
if (icon && name[0]) {
but = uiDefIconTextBut(
block, UI_BTYPE_LABEL, 0, icon, name, 0, 0, w, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, NULL);
@@ -3342,7 +3288,6 @@ void uiItemV(uiLayout *layout, const char *name, int icon, int argval)
/* label */
uiBlock *block = layout->root->block;
int *retvalue = (block->handle) ? &block->handle->retvalue : NULL;
- int w;
UI_block_layout_set_current(block, layout);
@@ -3353,7 +3298,7 @@ void uiItemV(uiLayout *layout, const char *name, int icon, int argval)
icon = ICON_BLANK1;
}
- w = ui_text_icon_width(layout, name, icon, 0);
+ const int w = ui_text_icon_width(layout, name, icon, 0);
if (icon && name[0]) {
uiDefIconTextButI(block,
@@ -3501,9 +3446,6 @@ void uiItemMenuEnumO_ptr(uiLayout *layout,
const char *name,
int icon)
{
- MenuItemLevel *lvl;
- uiBut *but;
-
/* Caller must check */
BLI_assert(ot->srna != NULL);
@@ -3515,12 +3457,12 @@ void uiItemMenuEnumO_ptr(uiLayout *layout,
icon = ICON_BLANK1;
}
- lvl = MEM_callocN(sizeof(MenuItemLevel), "MenuItemLevel");
+ MenuItemLevel *lvl = MEM_callocN(sizeof(MenuItemLevel), "MenuItemLevel");
BLI_strncpy(lvl->opname, ot->idname, sizeof(lvl->opname));
BLI_strncpy(lvl->propname, propname, sizeof(lvl->propname));
lvl->opcontext = layout->root->opcontext;
- but = ui_item_menu(layout, name, icon, menu_item_enum_opname_menu, NULL, lvl, NULL, true);
+ uiBut *but = ui_item_menu(layout, name, icon, menu_item_enum_opname_menu, NULL, lvl, NULL, true);
/* add hotkey here, lower UI code can't detect it */
if ((layout->root->block->flag & UI_BLOCK_LOOP) && (ot->prop && ot->invoke)) {
@@ -3591,9 +3533,7 @@ void uiItemMenuEnumR_prop(
void uiItemMenuEnumR(
uiLayout *layout, struct PointerRNA *ptr, const char *propname, const char *name, int icon)
{
- PropertyRNA *prop;
-
- prop = RNA_struct_find_property(ptr, propname);
+ PropertyRNA *prop = RNA_struct_find_property(ptr, propname);
if (!prop) {
ui_item_disabled(layout, propname);
RNA_warning("property not found: %s.%s", RNA_struct_identifier(ptr->type), propname);