Fix #110176: Grey out "Flip" in mirror modifier when "Bisect" is off #110191

Merged
YimingWu merged 1 commits from ChengduLittleA/blender:fix-110176 into main 2023-07-18 15:49:22 +02:00
1 changed files with 5 additions and 4 deletions

View File

@ -144,6 +144,9 @@ static void panel_draw(const bContext * /*C*/, Panel *panel)
PropertyRNA *prop;
PointerRNA ob_ptr;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, &ob_ptr);
MirrorModifierData *mmd = (MirrorModifierData *)ptr->data;
bool has_bisect = (mmd->flag &
(MOD_MIR_BISECT_AXIS_X | MOD_MIR_BISECT_AXIS_X | MOD_MIR_BISECT_AXIS_X));
col = uiLayoutColumn(layout, false);
uiLayoutSetPropSep(col, true);
@ -162,6 +165,7 @@ static void panel_draw(const bContext * /*C*/, Panel *panel)
prop = RNA_struct_find_property(ptr, "use_bisect_flip_axis");
row = uiLayoutRowWithHeading(col, true, IFACE_("Flip"));
uiLayoutSetActive(row, has_bisect);
uiItemFullR(row, ptr, prop, 0, 0, toggles_flag, IFACE_("X"), ICON_NONE);
uiItemFullR(row, ptr, prop, 1, 0, toggles_flag, IFACE_("Y"), ICON_NONE);
uiItemFullR(row, ptr, prop, 2, 0, toggles_flag, IFACE_("Z"), ICON_NONE);
@ -178,11 +182,8 @@ static void panel_draw(const bContext * /*C*/, Panel *panel)
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_mirror_merge"));
uiItemR(sub, ptr, "merge_threshold", 0, "", ICON_NONE);
bool is_bisect_set[3];
RNA_boolean_get_array(ptr, "use_bisect_axis", is_bisect_set);
sub = uiLayoutRow(col, true);
uiLayoutSetActive(sub, is_bisect_set[0] || is_bisect_set[1] || is_bisect_set[2]);
uiLayoutSetActive(sub, has_bisect);
uiItemR(sub, ptr, "bisect_threshold", 0, IFACE_("Bisect Distance"), ICON_NONE);
modifier_panel_end(layout, ptr);