private void FindSymbols(char[] word, int endIndex, EntryCodes codes) { int trueLength = FindTrueLength(word); char[] symbols; bool result = true; for (int i = 0; i < trueLength; i++) { symbols = LanguageGetter.GetCharArray(word[i], codes); if (symbols == null || !symbols.Contains(char.ToLower(word[i]))) { result = false; break; } } if (result) { _entryModels.Add(new EntryModel { StartIndex = endIndex - trueLength, EndIndex = endIndex, TextColor = GetColor.GetColorByCode(codes) }); } }
private void FindLongestWord(int endIndex, int trueLength, EntryCodes code) { if (_longestWords.Count > 0) { for (int i = 0; i < _longestWords.Count; i++) { if (trueLength >= _longestWords[i].Length) { if (trueLength > _longestWords[i].Length) { _longestWords.Clear(); } _longestWords.Add(new EntryModel { StartIndex = endIndex - trueLength, EndIndex = endIndex, TextColor = GetColor.GetColorByCode(code) }); break; } } } else { _longestWords.Add(new EntryModel { StartIndex = endIndex - trueLength, EndIndex = endIndex, TextColor = GetColor.GetColorByCode(code) }); } }
public static char [] GetSymbolsArray(char c, EntryCodes code) { char[] result = null; LanguageContainer language = GetLanguageContainer(c); if (language != null) { result = (code.Equals(EntryCodes.OnlyVowel)) ? language.VowelsSymbols : language.ConsonatSymbols; } return(result); }
public static Color GetColorByCode(EntryCodes code) { int integerCode = (int)code; Color color; if (integerCode < TextColors.Count) { color = TextColors[integerCode]; } else { throw new InvalidOperationException("This Color is not defined!"); } return(color); }
private ObservableCollection <ColorInfo> Load_Colors() { var result = new ObservableCollection <ColorInfo>(); EntryCodes entryCodes = new EntryCodes(); foreach (var meaning in Enum.GetValues(entryCodes.GetType())) { result.Add(new ColorInfo { Mean = GetCode.GetCodeMeaning((EntryCodes)meaning), Name = GetColor.GetColorByCode((EntryCodes)meaning).Name }); } return(result); }
public static EntryCodes GetCodeByColor(Color color) { EntryCodes code = default; for (int i = 0; i < GetColor.TextColors.Count; i++) { if (color.Equals(GetColor.TextColors[i])) { code = (EntryCodes)i; if (!Enum.IsDefined(code.GetType(), code)) { throw new InvalidEnumArgumentException("This Color is not defined in EntryCodes"); } break; } } return(code); }
private void FindNumber(char[] word, int endIndex, int trueLength, EntryCodes code) { char[] numPart = new char[trueLength]; int newIndex = 0; bool IsNumberFound = false; for (int i = 0; i < trueLength; i++) { if (char.IsDigit(word[i])) { numPart[newIndex] = word[i]; IsNumberFound = true; newIndex++; } else if (word[i] == '-' && newIndex == 0) { numPart[newIndex] = word[i]; newIndex++; } else { break; } } int numTrueLength = numPart.FindTrueLength(); if (IsNumberFound && numTrueLength != 0) { long newNum = long.Parse(new string(numPart)); _numbers.Add(new EntryModelNum { StartIndex = endIndex - trueLength, EndIndex = endIndex - (trueLength - numTrueLength), Num = newNum, TextColor = GetColor.GetColorByCode(code) }); } }
public static string GetCodeMeaning(EntryCodes code) { return(CodeMeanings.codeMeaning[code]); }