Ejemplo n.º 1
0
 public static void SetWindow(MainWindow window)
 {
     mainWindow         = window;
     allDetailedWords   = ChineseService.GetAllDetailedWords();
     basicDict          = Decomposition.GetBasicDict();
     showLanguageResult = ShowEnglishResult;
 }
Ejemplo n.º 2
0
        internal static IEnumerable <TreeViewItem> GetTreeDecomposition(string ch)
        {
            if (!basicDict.ContainsKey(ch))
            {
                return(new List <TreeViewItem>());
            }

            if (Kangxi.CheckIfKangxiRadical(ch[0]) || Kangxi.CheckIfStroke(ch[0]))
            {
                return(new List <TreeViewItem> {
                    new TreeViewItem {
                        Header = CreateTreeInfoBox(ch[0], true)
                    }
                });
            }

            List <TreeViewItem> childrenOfChar = basicDict[ch]
                                                 .SelectMany(GetTreeDecomposition)
                                                 .ToList();

            if (ChineseService.IsCharacter(ch[0]))
            {
                return(new List <TreeViewItem> {
                    new TreeViewItem {
                        Header = CreateTreeInfoBox(ch[0], false), ItemsSource = childrenOfChar, IsExpanded = true
                    }
                });
            }
            else
            {
                return(childrenOfChar);
            }
        }
Ejemplo n.º 3
0
        public static void ShowChineseResult()
        {
            string text = mainWindow.SearchBar.Text;

            if (IsProbablyPinyin(text))
            {
                ChineseService.SearchByPinyin(text).UpdateShownWords();
            }
            else
            {
                ChineseService.SearchBySimplified(text).UpdateShownWords();
            }
        }
Ejemplo n.º 4
0
        internal static Border CreateTreeInfoBox(char character, bool isKangxi)
        {
            List <Word> words = ChineseService
                                .GetAllWordsFrom(character)
                                .ToList();

            if (!words.Any())
            {
                Console.WriteLine($"{character} has no definition");
                return(null);
            }

            Brush      borderColor  = isKangxi ? Brushes.Green : Brushes.Gray;
            Border     charBorder   = DecompositionTreeCharBorder(character, borderColor);
            Border     detailBorder = DecompositionTreeDetailBorder(words);
            StackPanel wordPanel    = DecompositionTreeWordPanel(charBorder, detailBorder);

            return(DecompositionTreeWordBorder(wordPanel, borderColor));
        }
 private static List <Breakdown> GetNoAlgorithmBreakdown(string sentence)
 {
     return(ChineseService.GetSimplifiedWordsFromSentence(sentence)
            .Select(BreakdownFromPart)
            .ToList());
 }
Ejemplo n.º 6
0
 internal static void ShowWordsInside_SidePanel(string simplified)
 {
     ChineseService.SearchWordsInside(simplified).Update_ShownInsideWords(simplified);
 }
Ejemplo n.º 7
0
 internal static void ShowWordsContainingWord_SidePanel(string simplified)
 {
     ChineseService.SearchBySimplified(simplified).Update_ShownWordsContainingWord(simplified);
 }
Ejemplo n.º 8
0
 internal static void ShowWordsWithCharacter_SidePanel(char character)
 {
     ChineseService.SearchBySimplified(character.ToString()).Update_ShownWordsWithCharacters(character);
 }
Ejemplo n.º 9
0
 internal static void ShowSomeRandomWords() => ChineseService.GetRandomWords().UpdateShownWords();
Ejemplo n.º 10
0
        public static void ShowEnglishResult()
        {
            string text = mainWindow.SearchBar.Text;

            ChineseService.GetEnglishResult(text).UpdateShownWords();
        }