Example #1
0
        private void OnListViewOfWordsMatchingCurrentItem_Click(object sender, EventArgs e)
        {
            if (_listViewOfWordsMatchingCurrentItem.SelectedItem != null)
            {
                int    selectedListIndex = _listViewOfWordsMatchingCurrentItem.SelectedIndex;
                string word = _listViewOfWordsMatchingCurrentItem.SelectedItem.ToString();

                RecordToken <LexEntry> recordToken =
                    ((RecordTokenToStringAdapter <LexEntry>)(_listViewOfWordsMatchingCurrentItem.SelectedItem)).AdaptedRecordToken;
                Point start =
                    _listViewOfWordsMatchingCurrentItem.GetItemRectangle(selectedListIndex).
                    Location;
                start.Offset(_listViewOfWordsMatchingCurrentItem.Location);
                Point destination = _vernacularBox.Location;
                destination.Offset(_vernacularBox.TextBoxes[0].Location);

                // NB: don't do this before storing what they clicked on.
                AddCurrentWord();                 //don't throw away what they were typing

                _task.TryToRemoveAssociationWithListWordFromEntry(recordToken);

                // _movingLabel.Go(word,_listViewOfWordsMatchingCurrentItem.GetItemRect(selectedListIndex).Location, _vernacularBox.Location)

                UpdateStuff();
                // _vernacularBox.TextBoxes[0].Text = word;

                _animationIsMovingFromList = true;
                _flyingLabel.Go(word, start, destination);
            }
        }
Example #2
0
 private void MoveRecordToAppropriateListBox(RecordToken <LexEntry> record)
 {
     if (_isNotComplete(record.RealObject))
     {
         if (_completedRecords.Contains(record))
         {
             _completedRecords.Remove(record);
         }
         if (!_todoRecords.Contains(record))
         {
             _todoRecords.Add(record);
         }
     }
     else
     {
         if (_todoRecords.Contains(record))
         {
             _todoRecords.Remove(record);
         }
         if (!_completedRecords.Contains(record))
         {
             _completedRecords.Add(record);
         }
     }
     _todoRecordsListBox.DataSource           = _todoRecords;
     _completedRecordsListBox.DataSource      = _completedRecords;
     _todoRecordsListBox.VirtualListSize      = _todoRecords.Count;
     _completedRecordsListBox.VirtualListSize = _completedRecords.Count;
 }
        public string GetToolTip(object item)
        {
            RecordToken <LexEntry> recordToken = (RecordToken <LexEntry>)item;
            LexEntry entry = recordToken.RealObject;

            return(entry.GetToolTipText());
        }
Example #4
0
        private void OnRetrieveVirtualItemEvent(object sender, RetrieveVirtualItemEventArgs e)
        {
            RecordToken <LexEntry> recordToken = _records[e.ItemIndex];
            var displayString = (string)recordToken["Form"];

            e.Item = new ListViewItem(displayString);

            if ((string)recordToken["WritingSystem"] != _listWritingSystem.Id)
            {
                displayString = (string)recordToken["Form"];
                e.Item.Font   = new Font(e.Item.Font, FontStyle.Italic);
                //!!! TODO: Get the correct font from the respective writingsystem and maybe put the writingsystem id behind the form!! --TA 8.9.08
            }

            if (string.IsNullOrEmpty(displayString))
            {
                displayString = "(";
                if (IsWritingSystemUsedInLexicalForm(_listWritingSystem.Id))
                {
                    displayString += StringCatalog.Get("~Empty",
                                                       "This is what shows for a word in a list when the user hasn't yet typed anything in for the word.  Like if you click the 'New Word' button repeatedly.");
                }
                else
                {
                    displayString += StringCatalog.Get("~No Gloss",
                                                       "This is what shows if the user is listing words by the glossing language, but the word doesn't have a gloss.");
                }
                displayString += ")";
            }
            e.Item.Text = displayString;
        }
Example #5
0
        public void Setup()
        {
            dataMapper = new MemoryDataMapper <PalasoTestItem>();
            Dictionary <string, object> results = new Dictionary <string, object>();

            results["string"] = "result";
            results["int"]    = 12;
            Token             = new RecordToken <PalasoTestItem>(dataMapper, results, new TestRepositoryId(8));
        }
Example #6
0
        private void UpdatePreviousAndNextRecords()
        {
            int currentIndex = RecordListCurrentIndex;

            _previousRecord = (currentIndex > 0) ? _todoRecords[currentIndex - 1] : null;
            _nextRecord     = (currentIndex < _todoRecords.Count - 1)
                                                                  ? _todoRecords[currentIndex + 1]
                                                                  : null;
        }
        public void RemovingGlossFromEmptyEntry_RemovesEntry()
        {
            RecordToken <LexEntry> token = PrepareEntryWithOneMeaning();

            //now simulate removing it, as when the user wants to correct spelling
            Task.TryToRemoveAssociationWithListWordFromEntry(token);
            Assert.AreEqual(0,
                            _lexEntryRepository.GetEntriesWithMatchingLexicalForm("uno", VernWs).
                            Count);
            Task.Deactivate();
        }
        public void AddWordASecondTime_DoesNothing()
        {
            RecordToken <LexEntry> token  = PrepareEntryWithOneMeaning();
            RecordToken <LexEntry> token2 = PrepareEntryWithOneMeaning();
            LexEntry entry  = token.RealObject;
            LexEntry entry2 = token2.RealObject;

            Assert.AreSame(entry, entry2);

            Assert.AreEqual(1, entry.Senses.Count);
            Assert.AreEqual(1, _lexEntryRepository.CountAllItems());
        }
		public void Compare_KhmerWordsUsingDefaultCollation_ComparesNotEqual()
		{
			using (var e = new TestEnvironment())
			{
				var ws = new WritingSystemDefinition("en") {DefaultCollation = new IcuRulesCollationDefinition("standard")};
				var sd1 = new SortDefinition("Form", ws.DefaultCollation.Collator);
				var results1 = new Dictionary<string, object> {{"Form", "សង្ឃនៃអំបូរអឺរ៉ុន"}};
				var results2 = new Dictionary<string, object> {{"Form", "បូជាចារ្យនៃអំបូរអឺរ៉ុន"}};
				var rt1 = new RecordToken<PalasoTestItem>(e.DataMapper, results1, new TestRepositoryId(8));
				var rt2 = new RecordToken<PalasoTestItem>(e.DataMapper, results2, new TestRepositoryId(8));

				var rtc = new RecordTokenComparer<PalasoTestItem>(new[] { sd1 });

				int order = rtc.Compare(rt1, rt2);
				Assert.That(order, Is.Not.EqualTo(0));
			}
		}
        public void Compare_EnglishWordsUsingInvariantCulture_ComparesNotEqual()
        {
            using (var e = new TestEnvironment())
            {
                var sd1      = new SortDefinition("Form", StringComparer.InvariantCulture);
                var results1 = new Dictionary <string, object>();
                results1.Add("Form", "form1");
                var results2 = new Dictionary <string, object>();
                results2.Add("Form", "form2");
                var rt1 = new RecordToken <PalasoTestItem>(e.DataMapper, results1, new TestRepositoryId(8));
                var rt2 = new RecordToken <PalasoTestItem>(e.DataMapper, results2, new TestRepositoryId(8));

                var rtc = new RecordTokenComparer <PalasoTestItem>(new[] { sd1 });

                int order = rtc.Compare(rt1, rt2);
                Assert.That(order, Is.Not.EqualTo(0));
            }
        }
		public void Compare_KhmerWordsUsingOrdinal_ComparesNotEqual()
		{
			using (var e = new TestEnvironment())
			{
				var sd1 = new SortDefinition("Form", StringComparer.Ordinal);
				var results1 = new Dictionary<string, object>();
				results1.Add("Form", "សង្ឃនៃអំបូរអឺរ៉ុន");
				var results2 = new Dictionary<string, object>();
				results2.Add("Form", "បូជាចារ្យនៃអំបូរអឺរ៉ុន");
				var rt1 = new RecordToken<PalasoTestItem>(e.DataMapper, results1, new TestRepositoryId(8));
				var rt2 = new RecordToken<PalasoTestItem>(e.DataMapper, results2, new TestRepositoryId(8));

				var rtc = new RecordTokenComparer<PalasoTestItem>(new[] { sd1 });

				int order = rtc.Compare(rt1, rt2);
				Assert.That(order, Is.Not.EqualTo(0));
			}
		}
		public void Compare_EnglishWordsUsingInvariantCulture_ComparesNotEqual()
		{
			using (var e = new TestEnvironment())
			{
				var sd1 = new SortDefinition("Form", StringComparer.InvariantCulture);
				var results1 = new Dictionary<string, object>();
				results1.Add("Form", "form1");
				var results2 = new Dictionary<string, object>();
				results2.Add("Form", "form2");
				var rt1 = new RecordToken<PalasoTestItem>(e.DataMapper, results1, new TestRepositoryId(8));
				var rt2 = new RecordToken<PalasoTestItem>(e.DataMapper, results2, new TestRepositoryId(8));

				var rtc = new RecordTokenComparer<PalasoTestItem>(new[] {sd1});

				int order = rtc.Compare(rt1, rt2);
				Assert.That(order, Is.Not.EqualTo(0));
			}
		}
        public void Compare_KhmerWordsUsingOrdinal_ComparesNotEqual()
        {
            using (var e = new TestEnvironment())
            {
                var sd1      = new SortDefinition("Form", StringComparer.Ordinal);
                var results1 = new Dictionary <string, object>();
                results1.Add("Form", "សង្ឃនៃអំបូរអឺរ៉ុន");
                var results2 = new Dictionary <string, object>();
                results2.Add("Form", "បូជាចារ្យនៃអំបូរអឺរ៉ុន");
                var rt1 = new RecordToken <PalasoTestItem>(e.DataMapper, results1, new TestRepositoryId(8));
                var rt2 = new RecordToken <PalasoTestItem>(e.DataMapper, results2, new TestRepositoryId(8));

                var rtc = new RecordTokenComparer <PalasoTestItem>(new[] { sd1 });

                int order = rtc.Compare(rt1, rt2);
                Assert.That(order, Is.Not.EqualTo(0));
            }
        }
Example #14
0
        public void RemovingAssociationWith_OnlyRemovesGloss()
        {
            RecordToken <LexEntry> token = PrepareEntryWithOneMeaning();
            //now tweak the entry
            LexEntry entry           = token.RealObject;
            LexSense leaveAloneSense = new LexSense();

            entry.Senses.Add(leaveAloneSense);
            leaveAloneSense.Definition.SetAlternative(_glossingLanguageWSId, "single");
            Assert.AreEqual(2, entry.Senses.Count);

            //now simulate removing it, as when the user wants to correct spelling
            Task.TryToRemoveAssociationWithListWordFromEntry(token);
            Assert.AreEqual(1,
                            _lexEntryRepository.GetEntriesWithMatchingLexicalForm("uno", VernWs).
                            Count);
            Assert.AreEqual(1, entry.Senses.Count);
            Task.Deactivate();
        }
Example #15
0
        public void RecordTokensAddedToSortedDictionary_RecordTokensDifferOnlyInForm_DoesNotThrow()
        {
            var results1 = new Dictionary <string, object>();

            results1.Add("Form", "សង្ឃនៃអំបូរអឺរ៉ុន");
            //results1.Add("Form", "form1");
            results1.Add("Sense", 0);
            var results2 = new Dictionary <string, object>();

            results2.Add("Form", "បូជាចារ្យនៃអំបូរអឺរ៉ុន");
            //results2.Add("Form", "form2");
            results2.Add("Sense", 0);
            var rt1 = new RecordToken <PalasoTestItem>(dataMapper, results1, new TestRepositoryId(8));
            var rt2 = new RecordToken <PalasoTestItem>(dataMapper, results2, new TestRepositoryId(8));
            var sortedDictionary = new SortedDictionary <RecordToken <PalasoTestItem>, object>();

            sortedDictionary.Add(rt1, null);
            sortedDictionary.Add(rt2, null);
            Console.WriteLine("");
        }
		public void Compare_KhmerWordsUsingWritingSystemSameAsOtherLanguage_ComparesNotEqual()
		{
			using (var e = new TestEnvironment())
			{
				var ws = new WritingSystemDefinition("en");
				ws.SortUsing = WritingSystemDefinition.SortRulesType.OtherLanguage;
				ws.SortRules = "km-KH";
				var sd1 = new SortDefinition("Form", ws.Collator);
				var results1 = new Dictionary<string, object>();
				results1.Add("Form", "សង្ឃនៃអំបូរអឺរ៉ុន");
				var results2 = new Dictionary<string, object>();
				results2.Add("Form", "បូជាចារ្យនៃអំបូរអឺរ៉ុន");
				var rt1 = new RecordToken<PalasoTestItem>(e.DataMapper, results1, new TestRepositoryId(8));
				var rt2 = new RecordToken<PalasoTestItem>(e.DataMapper, results2, new TestRepositoryId(8));

				var rtc = new RecordTokenComparer<PalasoTestItem>(new[] { sd1 });

				int order = rtc.Compare(rt1, rt2);
				Assert.That(order, Is.Not.EqualTo(0));
			}
		}
Example #17
0
        public void SetCurrentRecordToPrevious_ChangedSoNoLongerMeetsFilter_RemovedFromTodoAndAddedToCompleteList()
        {
            using (
                var missingInfoControl =
                    new MissingInfoControl(_missingTranslationRecordList,
                                           _viewTemplate,
                                           IsMissingTranslation,
                                           _lexEntryRepository, new TaskMemory()))
            {
                missingInfoControl.SetCurrentRecordToNext();
                RecordToken <LexEntry> recordToMove = missingInfoControl.CurrentRecord;
                AddTranslationToEntry(missingInfoControl.CurrentEntry,
                                      "a bogus translation of example");
                missingInfoControl.SetCurrentRecordToPrevious();
                Assert.IsFalse(missingInfoControl._todoRecordsListBox.DataSource.Contains(recordToMove));
                Assert.IsTrue(missingInfoControl._completedRecordsListBox.DataSource.Contains(recordToMove));
#if Visual
                DebugShowState(missingInfoControl, currentRecord);
#endif
            }
        }
        public void Compare_KhmerWordsUsingWritingSystemSameAsOtherLanguage_ComparesNotEqual()
        {
            using (var e = new TestEnvironment())
            {
                var ws = new WritingSystemDefinition("en");
                ws.SortUsing = WritingSystemDefinition.SortRulesType.OtherLanguage;
                ws.SortRules = "km-KH";
                var sd1      = new SortDefinition("Form", ws.Collator);
                var results1 = new Dictionary <string, object>();
                results1.Add("Form", "សង្ឃនៃអំបូរអឺរ៉ុន");
                var results2 = new Dictionary <string, object>();
                results2.Add("Form", "បូជាចារ្យនៃអំបូរអឺរ៉ុន");
                var rt1 = new RecordToken <PalasoTestItem>(e.DataMapper, results1, new TestRepositoryId(8));
                var rt2 = new RecordToken <PalasoTestItem>(e.DataMapper, results2, new TestRepositoryId(8));

                var rtc = new RecordTokenComparer <PalasoTestItem>(new[] { sd1 });

                int order = rtc.Compare(rt1, rt2);
                Assert.That(order, Is.Not.EqualTo(0));
            }
        }
Example #19
0
        public void TryToRemoveAssociationWithListWordFromEntry_SenseHasExample_DoesNothing()
        {
            RecordToken <LexEntry> token = PrepareEntryWithOneMeaning();
            //now tweak the entry
            LexEntry           entry = token.RealObject;
            LexSense           sense = entry.Senses[0];
            LexExampleSentence ex    = new LexExampleSentence();

            sense.ExampleSentences.Add(ex);
            ex.Sentence.SetAlternative(VernWs.Id, "blah blah");

            //now simulate removing it, as when the user wants to correct spelling
            Task.TryToRemoveAssociationWithListWordFromEntry(token);
            Assert.AreEqual(1,
                            _lexEntryRepository.GetEntriesWithMatchingLexicalForm("uno", VernWs).
                            Count);
            Assert.AreEqual(1, entry.Senses.Count);
            Assert.AreEqual("one",
                            sense.Definition.GetExactAlternative(_glossingLanguageWSId),
                            "should not remove the gloss");
            Task.Deactivate();
        }
Example #20
0
        /// <summary>
        /// Removes the sense (if otherwise empty) and deletes the entry if it has no reason left to live
        /// </summary>
        public void TryToRemoveAssociationWithListWordFromEntry(RecordToken <LexEntry> recordToken)
        {
            // have to iterate through these in reverse order
            // since they might get modified
            LexEntry entry = recordToken.RealObject;

            for (int i = entry.Senses.Count - 1; i >= 0; i--)
            {
                if (entry.Senses[i].Equals(CurrentTemplateSense))
                {
                    entry.Senses.RemoveAt(i);
                }
            }
            entry.CleanUpAfterEditting();
            if (entry.IsEmptyExceptForLexemeFormForPurposesOfDeletion)
            {
                LexEntryRepository.DeleteItem(entry);
            }
            else
            {
                LexEntryRepository.SaveItem(entry);
            }
        }
Example #21
0
        public void ChangeSoMeetsFilter_AfterChangedSoNoLongerMeetsFilter_StaysHighlighted()
        {
            using (
                var missingInfoControl =
                    new MissingInfoControl(_missingTranslationRecordList,
                                           _viewTemplate,
                                           IsMissingTranslation,
                                           _lexEntryRepository, new TaskMemory()))
            {
                missingInfoControl.SetCurrentRecordToNext();
                RecordToken <LexEntry> currentRecord = missingInfoControl.CurrentRecord;
                AddTranslationToEntry(missingInfoControl.CurrentEntry,
                                      "a bogus translation of example");
                AddTranslationToEntry(missingInfoControl.CurrentEntry, string.Empty);
                Assert.AreEqual(missingInfoControl._todoRecordsListBox.SelectedItem, currentRecord);
                Assert.IsFalse(
                    missingInfoControl._completedRecordsListBox.DataSource.Contains(
                        currentRecord));
#if Visual
                DebugShowState(missingInfoControl, currentRecord);
#endif
            }
        }
        public int GetHomographNumber(LexEntry entry, WritingSystemDefinition headwordWritingSystem)
        {
            if (entry == null)
            {
                throw new ArgumentNullException("entry");
            }
            if (headwordWritingSystem == null)
            {
                throw new ArgumentNullException("headwordWritingSystem");
            }
            ResultSet <LexEntry>   resultSet = GetAllEntriesSortedByHeadword(headwordWritingSystem);
            RecordToken <LexEntry> first     = resultSet.FindFirst(entry);

            if (first == null)
            {
                throw new ArgumentOutOfRangeException("entry", entry, "Entry not in repository");
            }
            if ((bool)first["HasHomograph"])
            {
                return((int)first["HomographNumber"]);
            }
            return(0);
        }
        public void Compare_KhmerWordsUsingDefaultCollation_ComparesNotEqual()
        {
            using (var e = new TestEnvironment())
            {
                var ws = new WritingSystemDefinition("en")
                {
                    DefaultCollation = new IcuRulesCollationDefinition("standard")
                };
                var sd1      = new SortDefinition("Form", ws.DefaultCollation.Collator);
                var results1 = new Dictionary <string, object> {
                    { "Form", "សង្ឃនៃអំបូរអឺរ៉ុន" }
                };
                var results2 = new Dictionary <string, object> {
                    { "Form", "បូជាចារ្យនៃអំបូរអឺរ៉ុន" }
                };
                var rt1 = new RecordToken <PalasoTestItem>(e.DataMapper, results1, new TestRepositoryId(8));
                var rt2 = new RecordToken <PalasoTestItem>(e.DataMapper, results2, new TestRepositoryId(8));

                var rtc = new RecordTokenComparer <PalasoTestItem>(new[] { sd1 });

                int order = rtc.Compare(rt1, rt2);
                Assert.That(order, Is.Not.EqualTo(0));
            }
        }
Example #24
0
		/// <summary>
		/// Removes the sense (if otherwise empty) and deletes the entry if it has no reason left to live
		/// </summary>
		public void TryToRemoveAssociationWithListWordFromEntry(RecordToken<LexEntry> recordToken)
		{
			// have to iterate through these in reverse order
			// since they might get modified
			LexEntry entry = recordToken.RealObject;
			for (int i = entry.Senses.Count - 1;i >= 0;i--)
			{
				LexSense sense = entry.Senses[i];
				if (sense.Gloss != null)
				{
					if (sense.Gloss.ContainsAlternative(_writingSystemIdForWordListWords))
					{
						if (sense.Gloss[_writingSystemIdForWordListWords] == CurrentListWord)
						{
							//since we copy the gloss into the defniition, too, if that hasn't been
							//modified, then we don't want to let it being non-empty keep us from
							//removing the sense. We're trying to enable typo correcting.
							if (sense.Definition[_writingSystemIdForWordListWords] ==
								CurrentListWord)
							{
								sense.Definition.SetAlternative(_writingSystemIdForWordListWords,
																null);
								sense.Definition.RemoveEmptyStuff();
							}
							sense.Gloss.SetAlternative(_writingSystemIdForWordListWords, null);
							sense.Gloss.RemoveEmptyStuff();
							if (!sense.IsEmptyForPurposesOfDeletion)
							{
								//removing the gloss didn't make it empty. So repent of removing the gloss.
								sense.Gloss.SetAlternative(_writingSystemIdForWordListWords,
														   CurrentListWord);
							}
						}
					}
				}
			}
			entry.CleanUpAfterEditting();
			if (entry.IsEmptyExceptForLexemeFormForPurposesOfDeletion)
			{
				LexEntryRepository.DeleteItem(entry);
			}
			else
			{
				LexEntryRepository.SaveItem(entry);
			}
		}
        /// <summary>
        /// Gets a ResultSet containing all entries sorted by citation if one exists and otherwise
        /// by lexical form.
        /// Use "Form" to access the headword in a RecordToken.
        /// </summary>
        /// <param name="writingSystemDefinition"></param>
        /// <returns></returns>
        public ResultSet <LexEntry> GetAllEntriesSortedByHeadword(WritingSystemDefinition writingSystemDefinition)
        {
            if (writingSystemDefinition == null)
            {
                throw new ArgumentNullException("writingSystemDefinition");
            }

            string cacheName = String.Format("sortedByHeadWord_{0}", writingSystemDefinition.LanguageTag);

            if (_caches[cacheName] == null)
            {
                var headWordQuery = new DelegateQuery <LexEntry>(
                    delegate(LexEntry entryToQuery)
                {
                    IDictionary <string, object> tokenFieldsAndValues = new Dictionary <string, object>();
                    string headWord = entryToQuery.VirtualHeadWord[writingSystemDefinition.LanguageTag];
                    if (String.IsNullOrEmpty(headWord))
                    {
                        headWord = null;
                    }
                    tokenFieldsAndValues.Add("Form", headWord);
                    return(new[] { tokenFieldsAndValues });
                });

                ResultSet <LexEntry> itemsMatching = _decoratedDataMapper.GetItemsMatching(headWordQuery);
                var sortOrder = new SortDefinition[4];
                sortOrder[0] = new SortDefinition("Form", writingSystemDefinition.DefaultCollation.Collator);
                sortOrder[1] = new SortDefinition("OrderForRoundTripping", Comparer <int> .Default);
                sortOrder[2] = new SortDefinition("OrderInFile", Comparer <int> .Default);
                sortOrder[3] = new SortDefinition("CreationTime", Comparer <DateTime> .Default);

                _caches.Add(cacheName, new ResultSetCache <LexEntry>(this, sortOrder, itemsMatching, headWordQuery));
                // _caches.Add(headWordQuery, /* itemsMatching */ results); // review cp Refactor caches to this signature.
            }
            ResultSet <LexEntry> resultsFromCache = _caches[cacheName].GetResultSet();

            string previousHeadWord = null;
            int    homographNumber  = 1;
            RecordToken <LexEntry> previousToken = null;

            foreach (RecordToken <LexEntry> token in resultsFromCache)
            {
                // A null Form indicates there is no HeadWord in this writing system.
                // However, we need to ensure that we return all entries, so the AtLeastOne in the query
                // above ensures that we keep it in the result set with a null Form and null WritingSystemId.
                var currentHeadWord = (string)token["Form"];
                if (string.IsNullOrEmpty(currentHeadWord))
                {
                    token["HasHomograph"]    = false;
                    token["HomographNumber"] = 0;
                    continue;
                }
                if (currentHeadWord == previousHeadWord)
                {
                    homographNumber++;
                }
                else
                {
                    previousHeadWord = currentHeadWord;
                    homographNumber  = 1;
                }
                // only used to get our sort correct --This comment seems nonsensical --TA 2008-08-14!!!
                token["HomographNumber"] = homographNumber;
                switch (homographNumber)
                {
                case 1:
                    token["HasHomograph"] = false;
                    break;

                case 2:
                    Debug.Assert(previousToken != null);
                    previousToken["HasHomograph"] = true;
                    token["HasHomograph"]         = true;
                    break;

                default:
                    token["HasHomograph"] = true;
                    break;
                }
                previousToken = token;
            }

            return(resultsFromCache);
        }
Example #26
0
 private static string GetTargetIdFromRecordToken(RecordToken <LexEntry> e)
 {
     return(e.RealObject.Id);
 }
        public string GetDisplayLabel(object item)
        {
            RecordToken <LexEntry> kv = (RecordToken <LexEntry>)item;

            return((string)kv["Form"]);
        }
Example #28
0
 public void Setup()
 {
     this._testItem = new PalasoTestItem();
     _repository    = new TestRepository(this._testItem);
     this._token    = new RecordToken <PalasoTestItem>(this._repository, new TestRepositoryId(8));
 }
Example #29
0
 public RecordTokenToStringAdapter(string fieldToShow, RecordToken <T> recordToken)
 {
     _recordToken = recordToken;
     _fieldToShow = fieldToShow;
 }
		private void DisassociateCurrentSemanticDomainFromEntry(RecordToken<LexEntry> recordToken)
		{
			// have to iterate through these in reverse order
			// since they might get modified
			LexEntry entry = recordToken.RealObject;
			for (int i = entry.Senses.Count - 1;i >= 0;i--)
			{
				LexSense sense = entry.Senses[i];
				OptionRefCollection semanticDomains =
					sense.GetProperty<OptionRefCollection>(_semanticDomainField.FieldName);
				if (semanticDomains != null)
				{
					semanticDomains.Remove(CurrentDomainKey);
				}
			}
			entry.CleanUpAfterEditting();
			if (entry.IsEmptyExceptForLexemeFormForPurposesOfDeletion)
			{
				LexEntryRepository.DeleteItem(entry); // if there are no senses left, get rid of it
			}
			else
			{
				LexEntryRepository.SaveItem(entry);
			}
		}
Example #31
0
 public void Setup()
 {
     dataMapper = new MemoryDataMapper <PalasoTestItem>();
     Token      = new RecordToken <PalasoTestItem>(dataMapper, new TestRepositoryId(8));
 }
Example #32
0
		private void UpdatePreviousAndNextRecords()
		{
			int currentIndex = RecordListCurrentIndex;
			_previousRecord = (currentIndex > 0) ? _todoRecords[currentIndex - 1] : null;
			_nextRecord = (currentIndex < _todoRecords.Count - 1)
								  ? _todoRecords[currentIndex + 1]
								  : null;
		}