Exemplo n.º 1
0
        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();
        }