private void ProcessValidity(string settingName, SlicerSettingsItem setting, Element2D element) { Element2D parent = element.Parent; while (parent != null && string.IsNullOrEmpty(parent.tag)) { parent = parent.Parent; } if (parent == null) { return; } var tag = parent.tag; var num = GetStateChangeInfo(element, settingName, setting, tag, out ErrorStateEnum oldState, out ErrorStateEnum currentState) ? 1 : 0; Element2D childElement = element.Parent.FindChildElement(GetRangeText(settingName)); if (num != 0) { AdvancedPrintSettingsFrame.TabErrorStateCount tabErrorStateCount = tabsErrorWarningCount[tag]; switch (oldState) { case AdvancedPrintSettingsFrame.ErrorStateEnum.Warning: --tabErrorStateCount.Warnings; --globalWarningCount; if (tabErrorStateCount.Warnings == 0) { Image_Helper(GetWarningImageTag(tag), false); break; } break; case AdvancedPrintSettingsFrame.ErrorStateEnum.Error: --tabErrorStateCount.Errors; --globalErrorCount; if (tabErrorStateCount.Errors == 0) { Image_Helper(GetErrorImageTag(tag), false); break; } break; } Color4 color4 = DEFAULT_COLOR; var flag = true; switch (currentState) { case AdvancedPrintSettingsFrame.ErrorStateEnum.Warning: color4 = WARNING_COLOR; ++tabErrorStateCount.Warnings; ++globalWarningCount; if (tabErrorStateCount.Warnings == 1) { Image_Helper(GetWarningImageTag(tag), true); break; } break; case AdvancedPrintSettingsFrame.ErrorStateEnum.Error: color4 = ERROR_COLOR; ++tabErrorStateCount.Errors; ++globalErrorCount; if (tabErrorStateCount.Errors == 1) { Image_Helper(GetErrorImageTag(tag), true); break; } break; default: flag = false; break; } if (element is EditBoxWidget) { (element as EditBoxWidget).Color = color4; } if (childElement is TextWidget) { var textWidget = childElement as TextWidget; textWidget.Color = color4; textWidget.Visible = flag; } UpdateErrorWarningMessage(); } if (!(childElement is TextWidget)) { return; } (childElement as TextWidget).Text = setting.GetErrorMsg(); }