private void AddWordsToPanel(SubtitleItem SubItem) { player.Pause(); CollectPhrases_Buttons.Clear(); if (SubItem == null) return; if (SubItem.IsCollect) { CollectedPhraseText = SubItem.Text; return; } CurrentPhrase = new PhraseOfCollectMode(SubItem); CurrentPhrase.StartRandomSelection(); for (int i = 0; i < CurrentPhrase.Words.Count; i++) { PhraseOfCollectMode.Word word = CurrentPhrase.GetNextRandom(); CollectPhrases_Buttons.Add(new ButtonModel() { WordOfButton = word,Visibility = VisualState.Visible}); } player.Play(); }
protected void SetCurrentWord(WordOfDictionary item) { if (!IsInDesignMode) { if (CurrentWord != null) CurrentWord.PropertyChanged -= CurrentWord_PropertyChanged; } CurrentWord = item; if (!IsInDesignMode) { CmdDispatcher("SpeechItem"); CurrentWord.PropertyChanged += CurrentWord_PropertyChanged; // Language services LanguageServiceCollection = LanguageServices.GetServices(CurrentWord.TargetLanguage,CurrentWord.NativeLanguage); } // default setting btnOk.Visibility = VisualState.Collapsed; ImagesList_Visibility = VisualState.Collapsed; ErrorIconVisibility = VisualState.Collapsed; EditModeVisibility = VisualState.Collapsed; bool Testing = false; switch (mode) { case WordsTranslation_parameters.ViewMode.FoundNewWord: Header_LabelModel.Text = Tx.T("WordsTranslation.Caption.NewWordsFound"); Header2_LabelModel.Text = Tx.T("WordsTranslation.Caption.NewWordsFound.Second"); //Testing = LearningItem.TestingUnderstandingNewWords; Testing = true; btnTrainingNext.Visibility = VisualState.Collapsed; ImagePanelVisibility = Testing ? VisualState.Collapsed : VisualState.Visible; WordsButtonPanelVisibility = Testing ? VisualState.Visible : VisualState.Collapsed; TranslatingVisibility = Testing ? VisualState.Hidden : VisualState.Visible; if (TranslatingVisibility == VisualState.Visible) { CommentaryVisibilty = string.IsNullOrEmpty(CurrentWord.commentary) ? VisualState.Collapsed : VisualState.Visible; } else { CommentaryVisibilty = VisualState.Hidden; } BottomButtonsPanelVisibility = Testing ? VisualState.Collapsed : VisualState.Visible; break; case WordsTranslation_parameters.ViewMode.Training: Header_LabelModel.Text = Tx.T("WordsTranslation.Caption.Training"); Testing = true; btnTrainingNext.Visibility = VisualState.Hidden; ImagePanelVisibility = VisualState.Hidden; WordsButtonPanelVisibility = VisualState.Visible; TranslatingVisibility = VisualState.Hidden; CommentaryVisibilty = VisualState.Hidden; BottomButtonsPanelVisibility = VisualState.Collapsed; WordsCollection_ListModel.Visibility = VisualState.Visible; btnPreviousButton.Visibility = VisualState.Collapsed; btnNextButton.Visibility = VisualState.Collapsed; ContextVisibility = VisualState.Collapsed; break; case WordsTranslation_parameters.ViewMode.WordTranslation: Header_LabelModel.Text = Tx.T("WordsTranslation.Caption.Translation"); Testing = false; btnTrainingNext.Visibility = VisualState.Visible; btnPreviousButton.Visibility = VisualState.Hidden; btnNextButton.Visibility = VisualState.Hidden; WordsCollection_ListModel.Visibility = VisualState.Visible; break; case WordsTranslation_parameters.ViewMode.DictionaryItem: Header_LabelModel.Text = Tx.T("WordsTranslation.Caption.Translation"); Testing = false; btnTrainingNext.Visibility = VisualState.Visible; btnPreviousButton.Visibility = VisualState.Hidden; btnNextButton.Visibility = VisualState.Hidden; WordsCollection_ListModel.Visibility = VisualState.Visible; WordsButtonPanelVisibility = VisualState.Collapsed; BottomButtonsPanelVisibility = VisualState.Collapsed; btnTrainingNext.Visibility = VisualState.Collapsed; btnAllWordsList.Visibility = VisualState.Collapsed; break; case WordsTranslation_parameters.ViewMode.Edit: btnPreviousButton.Visibility = VisualState.Collapsed; btnNextButton.Visibility = VisualState.Collapsed; WordsCollection_ListModel.Visibility = VisualState.Collapsed; btnOk.Visibility = VisualState.Visible; BottomButtonsPanelVisibility = VisualState.Collapsed; WordsButtonPanelVisibility = VisualState.Collapsed; btnTrainingNext.Visibility = VisualState.Collapsed; TranslatingVisibility = VisualState.Visible; CommentaryVisibilty = VisualState.Visible; RightPanel_Properties.IsChecked = true; ImagesList_Visibility = VisualState.Visible; EditModeVisibility = VisualState.Visible; ContextVisibility = VisualState.Collapsed; break; default: throw new NotImplementedException(); } if (IsInDesignMode) return; /* btnSkip.Visibility = Visibility.Visible; if(Testing) { btnPreviousButton.Visibility = Visibility.Hidden; btnNextButton.Visibility = Visibility.Hidden; WordsCollection_ListModel.Visibility = Visibility.Visible; } else { WordsCollection_ListModel.Visibility = Visibility.Collapsed; btnNextButton.Visibility = idx < WordsCollection.Count - 1 ? Visibility.Visible : Visibility.Hidden; btnPreviousButton.Visibility = idx > 0 ? Visibility.Visible : Visibility.Hidden; } */ if (IsInDesignMode) return; if (Testing) { PhraseOfCollectMode phrase = new PhraseOfCollectMode(); PhraseOfCollectMode.Word trueword = new PhraseOfCollectMode.Word() { word_of_phrase = CurrentWord.translation_as_string }; phrase.Words.Add(trueword); if(CurrentWord.translation_as_string.Length > 0) { Dictionary dict_ = CurrentWord.Dictionary; if (dict_ == null) { SystemMessage.Show("Dictionary is null " + CurrentWord); return; } Language lang_ = dict_.SecondaryLanguage; if(lang_ == null) { SystemMessage.Show("Language is null " + dict_); return; } FrequencyDictionary fdic_ = lang_.FrequencyDictionary; if(fdic_ == null) { SystemMessage.Show("Frequency dictionary is null" + dict_); return; } ObservableCollection<FrequencyDictionary.Item> coll = fdic_.GetRndWords(4); foreach(var elm in coll) { phrase.Words.Add(new PhraseOfCollectMode.Word() { word_of_phrase = elm.Lemma}); } } else SystemMessage.Show("Can't found translation for "+CurrentWord); WordsForSelection_Buttons.Clear(); phrase.StartRandomSelection(); for (int i = 0; i < phrase.Words.Count; i++) { PhraseOfCollectMode.Word word = phrase.GetNextRandom(); WordsForSelection_Buttons.Add(new ButtonModel() { Text=word.word_of_phrase, WordOfButton = word,IsItTrue = word == trueword}); } } }