예제 #1
0
 /// <summary>
 /// Create a new view model instance from a tag.
 /// </summary>
 /// <param name="tag">tag object</param>
 internal TagSelectorModel(TagPageSet tag)
 {
     _tag = tag;
     _key = new TagModelKey(tag.TagName);
     tag.PropertyChanged += OnTagPropertyChanged;
     _highlightedTagName  = new TextSplitter().SplitText(tag.TagName);
 }
예제 #2
0
 internal IEnumerable <TagPageSet> GetOrCreateTags(IEnumerable <string> tagNames)
 {
     foreach (string t in tagNames)
     {
         TagPageSet tps;
         if (!Tags.TryGetValue(t, out tps))
         {
             tps = new TagPageSet(t);
             Tags.Add(t, tps);
         }
         yield return(tps);
     }
 }
예제 #3
0
 /// <summary>
 /// Create a new view model instance for a tag and an event handler.
 /// </summary>
 /// <param name="tag">tag object</param>
 /// <param name="propHandler">listener for property changes</param>
 internal TagSelectorModel(TagPageSet tag, PropertyChangedEventHandler propHandler)
     : this(tag)
 {
     PropertyChanged += propHandler;
 }
 internal Task RemoveTagFromFilterAsync(TagPageSet tag)
 {
     return(Task.Run(() => _searchResult.RemoveTagFromFilter(tag.TagName), _cancelWorker.Token));
 }
 internal Task AddTagToFilterAsync(TagPageSet tag)
 {
     return(Task.Run(() => _searchResult.AddTagToFilter(tag.TagName), _cancelWorker.Token));
 }
예제 #6
0
 internal RelatedPageLinkModel(TaggedPage page, TagPageSet tag)
 {
     _page = page;
     _tag  = tag;
 }