private void WordNetBrowser_WordSenseDragStarted(WordSense wordSense)
 {
     if (WordSensesControl.WordSenseNavigator.EditingIsEnabled)
     {
         WordSensesControl.WordSenseNavigator.ViewModel.Edit.SetDropTargets_ForWordSense(wordSense);
     }
 }
Exemple #2
0
 private void CurrentSynsetGlossBorder_Drop(object sender, DragEventArgs e)
 {
     if (e.Data.GetDataPresent(typeof(WordSense)))
     {
         WordSense droppedWordSense = (WordSense)e.Data.GetData(typeof(WordSense));
         ViewModel.SetCurrentSynset(droppedWordSense.LinkedSynset);
     }
 }
 internal void SetDropTargets_ForWordSense(WordSense draggedWordSense)
 {
     if (CurrentWordSenseSource.CurrentWordSense != null)
     {
         GetNewWordSenseRelationConstraintsResult addRelationConstraints = WordNetData.Context.GetNewWordSenseRelationConstraints(CurrentWordSenseSource.CurrentWordSense.SynsetID, CurrentWordSenseSource.CurrentWordSense.WordNumber, draggedWordSense.SynsetID, draggedWordSense.WordNumber).Single();
         Antonyms.DropIsEnabled                      = (bool)addRelationConstraints.CanAddAntonym;
         Derivations.DropIsEnabled                   = (bool)addRelationConstraints.CanAddDerivation;
         SeeAlso.DropIsEnabled                       = (bool)addRelationConstraints.CanAddSeeAlso;
         Pertainers.DropIsEnabled                    = (bool)addRelationConstraints.CanAddPertainer;
         ParticipleForms.DropIsEnabled               = (bool)addRelationConstraints.CanAddParticipleForm;
         PertainsTo.DropIsEnabled                    = (bool)addRelationConstraints.CanAddPertainedTo;
         BaseVerbFormsOfParticiple.DropIsEnabled     = (bool)addRelationConstraints.CanAddBaseFormOfParticiple;
         DerivedAdverbs.DropIsEnabled                = (bool)addRelationConstraints.CanAddDerivedAdverb;
         AdjectiveBasesOfDerivedAdverb.DropIsEnabled = (bool)addRelationConstraints.CanAddAdjectiveBaseOfDerivedAdverb;
     }
 }
 internal void SetCurrentSynset(Synset newCurrentSynset)
 {
     if (newCurrentSynset != WordSensesForSynsetList.DataContext)
     {
         WordSensesForSynsetList.DataContext = newCurrentSynset;
         // If the new current synset has only one associated word sense, go ahead and select that word sense and make it current.
         // If there are multiple associated word senses, the user has to choose one in order to make it the focus of this control.
         if (newCurrentSynset.WordSensesForSynset.Count() == 1)
         {
             WordSense theOnlyWordSenseForThisSynset = newCurrentSynset.WordSensesForSynset.Single();
             WordSensesForSynsetList.SelectedItem          = theOnlyWordSenseForThisSynset;
             WordSenseNavigator.ViewModel.CurrentWordSense = theOnlyWordSenseForThisSynset;
             WordSenseNavigator.Visibility = Visibility.Visible;
         }
         else
         {
             WordSensesForSynsetList.SelectedItem          = null;
             WordSenseNavigator.ViewModel.CurrentWordSense = null;
             WordSenseNavigator.Visibility = Visibility.Hidden;
         }
     }
 }
 internal void DeleteAdjectiveBaseOfDerivedAdverb(WordSense existingAdjectiveBase)
 {
     CurrentWordSenseSource.CurrentWordSense.DeleteAdjectiveBaseOfDerivedAdverb(existingAdjectiveBase);
 }
 internal void DeleteSeeAlso(WordSense existingSeeAlso)
 {
     CurrentWordSenseSource.CurrentWordSense.DeleteSeeAlso(existingSeeAlso);
 }
 internal void DeleteDerivation(WordSense existingDerivation)
 {
     CurrentWordSenseSource.CurrentWordSense.DeleteDerivation(existingDerivation);
 }
 internal void DeleteAntonym(WordSense existingAntonym)
 {
     CurrentWordSenseSource.CurrentWordSense.DeleteAntonym(existingAntonym);
 }
 private void OnWordSenseDropCompleted(WordSense wordSense) => WordSenseDropCompleted?.Invoke(wordSense);
 private void OnWordSenseDragCancelled(WordSense wordSense) => WordSenseDragCancelled?.Invoke(wordSense);
 internal void DeletePertainsTo(WordSense existingPertainsTo)
 {
     CurrentWordSenseSource.CurrentWordSense.DeleteParticipleForm(existingPertainsTo);
 }
 internal void DeleteParticipleForm(WordSense existingParticipleForm)
 {
     CurrentWordSenseSource.CurrentWordSense.DeleteParticipleForm(existingParticipleForm);
 }
 internal void DeleteDerivedAdverb(WordSense existingDerivedAdverb)
 {
     CurrentWordSenseSource.CurrentWordSense.DeleteDerivedAdverb(existingDerivedAdverb);
 }
        public async Task <Word> LookUp(AsyncRetryPolicy retryPolicy, string url, string word)
        {
            var          wordModel = new Word();
            HtmlDocument htmlDoc   = new HtmlDocument();

            await retryPolicy.ExecuteAsync(async() =>
            {
                htmlDoc = await Web.LoadFromWebAsync(url + word);
            });

            var wordEntryBodyNodes = htmlDoc.DocumentNode.SelectNodes(Xpaths.wordEntryBodyNodes);

            if (wordEntryBodyNodes == null)
            {
                return(null);
            }
            else
            {
                wordModel.Head = word;
                var wordVariants = new List <WordVariant>();
                foreach (var wordEntryBodyNode in wordEntryBodyNodes)
                {
                    var wordNodeXPath       = wordEntryBodyNode.XPath;
                    var wordHeadXpath       = $"{wordNodeXPath}/{Xpaths.wordHeadNodes}";
                    var wordTypeXpath       = $"{wordNodeXPath}/{Xpaths.wordTypeNodes}";
                    var wordSenseBlockXpath = $"{wordNodeXPath}/{Xpaths.wordSenseBlockNodes}";
                    var wordPronounceXpath  = $"{wordNodeXPath}/{Xpaths.wordPronounceNodes}";
                    var wordHead            = htmlDoc.GetInnerTextByXpath(wordHeadXpath);
                    var wordType            = htmlDoc.GetInnerTextByXpath(wordTypeXpath);
                    var wordPronounce       = htmlDoc.GetInnerTextByXpath(wordPronounceXpath);
                    Console.WriteLine($"{wordHead.ToUpper()}  -  {wordType}");
                    Console.WriteLine($"{wordPronounce}");

                    //wordModel.WordVariants.Add(new WordVariant(wordType) { Pronunciation = wordPronounce });
                    var wordVariant = new WordVariant(wordType);
                    wordVariant.Pronunciation = wordPronounce;
                    var senseBlockNodes = htmlDoc.DocumentNode.SelectNodes(wordSenseBlockXpath);

                    if (senseBlockNodes != null)
                    {
                        List <WordSense> wordSenses = new List <WordSense>();
                        foreach (var senseBlock in senseBlockNodes)
                        {
                            var senseBlockXpath = senseBlock.XPath;
                            var senseBodyDefinitionBlockXpath = $"{senseBlockXpath}/{Xpaths.wordSenseBodyDefBlockNodes}";
                            var senseBodyDefinitionBlocks     = htmlDoc.DocumentNode.SelectNodes(senseBodyDefinitionBlockXpath);
                            if (senseBodyDefinitionBlocks != null)
                            {
                                var wordSense = new WordSense();
                                foreach (var senseBody in senseBodyDefinitionBlocks)
                                {
                                    var senseBodyXPath = senseBody.XPath;
                                    var senseBodyDefinitionHeaderXpath  = $"{senseBodyXPath}/{Xpaths.wordSenseBodyDefHeadNodes}";
                                    var senseBodyDefinitionExampleXpath = $"{senseBodyXPath}/{Xpaths.wordSenseBodyDefExampleNodes}";
                                    var def = htmlDoc.GetInnerTextByXpath(senseBodyDefinitionHeaderXpath);

                                    wordSense.Definition = def;

                                    var exampleNodes = htmlDoc.DocumentNode.SelectNodes(senseBodyDefinitionExampleXpath);
                                    if (exampleNodes != null)
                                    {
                                        foreach (var example in exampleNodes)
                                        {
                                            wordSense.Examples.Add(example.InnerText);
                                        }
                                    }
                                }
                                wordSenses.Add(wordSense);
                            }
                            Console.WriteLine();
                            Console.WriteLine();
                        }
                        wordVariant.WordsSenses = wordSenses;
                    }
                    wordVariants.Add(wordVariant);
                }
                wordModel.WordVariants = wordVariants;
            }
            return(wordModel);
        }
 private void WordSenseNavigator_WordSenseDropCompleted(WordSense wordSense) => WordSenseDropCompleted?.Invoke(wordSense);
 private void WordSenseNavigator_WordSenseDragCancelled(WordSense wordSense) => WordSenseDragCancelled?.Invoke(wordSense);
 private void WordSenseNavigator_WordSenseDragStarted(WordSense wordSense) => WordSenseDragStarted?.Invoke(wordSense);
 private void OnWordSenseSelected(WordSense wordSense)
 {
     ViewModel.CurrentWordSense = wordSense;
     WordSenseSelected?.Invoke(wordSense);
 }
 internal void DeleteBaseVerbFormOfParticiple(WordSense existingBaseVerbFormOfParticiple)
 {
     CurrentWordSenseSource.CurrentWordSense.DeleteBaseVerbFormOfParticiple(existingBaseVerbFormOfParticiple);
 }
 private void WordNetBrowser_WordSenseDropCompleted(WordSense wordSense) => WordSensesControl.WordSenseNavigator.ViewModel.Edit.ClearDropTargets();
 internal void DeletePertainer(WordSense existingPertainer)
 {
     CurrentWordSenseSource.CurrentWordSense.DeletePertainer(existingPertainer);
 }
 private void WordSensesControl_WordSenseDragStarted(WordSense wordSense)
 {
     SynsetNavigator.ViewModel.SetDropTargets_ForWordSense(wordSense);
     WordSenseDragStarted?.Invoke(wordSense);
 }
 private void WordSensesControl_WordSenseDropCompleted(WordSense wordSense)
 {
     SynsetNavigator.ViewModel.ClearDropTargets();
     WordSenseDropCompleted?.Invoke(wordSense);
 }
 private void OnWordSenseDragStarted(WordSense wordSense) => WordSenseDragStarted?.Invoke(wordSense);