Ejemplo n.º 1
0
        /// <summary>
        /// Highlights rich text box with simple setting definition string.
        /// </summary>
        public static void HighlightSimpleSetting(
            RichTextBox rich,
            ITextValidator textValidator,
            ICharValidator charValidator)
        {
            if (textValidator.IsValidText(rich.Text))
            {
                rich.ResetBackColor();
            }
            else
            {
                rich.BackColor = Colors.LightRed;
            }

            int current = 0;

            foreach (string line in rich.Lines)
            {
                for (int i = 0; i < line.Length; i++)
                {
                    if (!charValidator.IsValidChar(line[i]))
                    {
                        rich.SelectionStart  = current + i;
                        rich.SelectionLength = 1;
                        rich.SelectionColor  = Color.Red;
                    }
                }

                current += line.Length + 1;
            }
        }
 public CustomInterfacesInjectedClass(IEmailValidator emailValidator,
                                      ILettersOnlyValidator lettersOnlyValidator,
                                      INotNullOrEmptyValidator notNullOrEmptyValidator)
 {
     EmailValidator          = emailValidator;
     NotNullOrEmptyValidator = notNullOrEmptyValidator;
     LettersOnlyValidator    = lettersOnlyValidator;
 }
        private static IEnumerable <ITextValidator> UnwrapAll(this ITextValidator textValidator)
        {
            if (textValidator is IWrappedValidators wrappedValidators)
            {
                var wrapped = wrappedValidators.GetWrappedValidators();

                foreach (var validator in UnwrapAll(wrapped))
                {
                    yield return(validator);
                }
            }

            yield return(textValidator);
        }
Ejemplo n.º 4
0
 public AsyncWrapTextValidator(ITextValidator textValidator)
 {
     _textValidator = textValidator;
 }
Ejemplo n.º 5
0
        private void ValidateText()
        {
            if (validationText == null)
            {
                return;
            }

            if (!m_ValidateOnStart && !m_HasBeenSelected)
            {
                return;
            }

            m_ValidationText.color = IsSelected() ? m_ValidationActiveColor : m_ValidationInactiveColor;

            ITextValidator validator = null;

            if (m_TextValidator != null && m_TextValidator.GetComponent <ITextValidator>() != null)
            {
                validator = m_TextValidator.GetComponent <ITextValidator>();
                validator.Init(this);
            }

            if (m_CustomTextValidator != null)
            {
                validator       = customTextValidator;
                m_HasValidation = true;
            }

            if (validator != null && m_HasValidation)
            {
                TweenManager.EndTween(m_ValidationTweener);

                if (!validator.IsTextValid())
                {
                    if (Application.isPlaying)
                    {
                        validationCanvasGroup.gameObject.SetActive(true);
                        validationCanvasGroup.interactable   = true;
                        validationCanvasGroup.blocksRaycasts = true;

                        m_ValidationTweener = TweenManager.TweenFloat(f => validationCanvasGroup.alpha = f, validationCanvasGroup.alpha, 1f, m_AnimationDuration / 2, tweenType: Tween.TweenType.Linear);
                        return;
                    }
                }
                else
                {
                    if (Application.isPlaying)
                    {
                        m_ValidationTweener = TweenManager.TweenFloat(f => validationCanvasGroup.alpha = f, validationCanvasGroup.alpha, 0f, m_AnimationDuration / 2, 0, () =>
                        {
                            validationCanvasGroup.interactable   = false;
                            validationCanvasGroup.blocksRaycasts = false;
                            validationCanvasGroup.gameObject.SetActive(false);
                        }, false, Tween.TweenType.Linear);
                        return;
                    }
                }
            }

            validationCanvasGroup.alpha          = 0;
            validationCanvasGroup.interactable   = false;
            validationCanvasGroup.blocksRaycasts = false;
            validationCanvasGroup.gameObject.SetActive(false);
        }
 public static ITextValidator Wrap(this ITextValidator textValidator, ITextValidator otherTextValidator)
 {
     return(new MultipleTextValidators(textValidator, otherTextValidator));
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Highlights rich text box with simple setting definition string.
        /// </summary>
        public static void HighlightSimpleSetting(
            RichTextBox rich,
            ITextValidator textValidator,
            ICharValidator charValidator)
        {
            if (textValidator.IsValidText(rich.Text))
            {
                rich.ResetBackColor();
            }
            else
            {
                rich.BackColor = Colors.LightRed;
            }

            int current = 0;
            foreach (string line in rich.Lines)
            {
                for (int i = 0; i < line.Length; i++)
                {
                    if (!charValidator.IsValidChar(line[i]))
                    {
                        rich.SelectionStart = current + i;
                        rich.SelectionLength = 1;
                        rich.SelectionColor = Color.Red;
                    }
                }

                current += line.Length + 1;
            }
        }
Ejemplo n.º 8
0
 public NamedServicesInjectedClass(IContainer container)
 {
     EmailValidator          = container.GetInstance <ITextValidator>("EmailValidator");
     NotNullOrEmptyValidator = container.GetInstance <ITextValidator>("NotNullOrEmptyValidator");
     LettersOnlyValidator    = container.GetInstance <ITextValidator>("LettersOnlyValidator");
 }
Ejemplo n.º 9
0
 public ChildTextValidator(ITextValidator service)
 {
     this.service = service;
 }
Ejemplo n.º 10
0
 public static IAsyncTextValidator WrapAsync(this IAsyncTextValidator textValidator, ITextValidator otherTextValidator)
 {
     return(new AsyncMultipleTextValidators(textValidator, new AsyncWrapTextValidator(otherTextValidator)));
 }
Ejemplo n.º 11
0
 public AsyncMultipleTextValidators(IAsyncTextValidator asyncTextValidator, ITextValidator textValidator)
 {
     _textValidators = asyncTextValidator.WrapAsync(textValidator).UnwrapAllAsync();
 }
Ejemplo n.º 12
0
 public TextResourceManager(CommunicationProvider communicationProvider, IOptions <IndicesOption> indicesOptions, ITextValidator textValidator)
     : base(communicationProvider, indicesOptions)
 {
     m_textValidator = textValidator;
 }