Ejemplo n.º 1
0
        public List<SummaryNode> ExecuteFilter(List<RedlineML.ISummaryItem> items, FilterContext context)
        {
            m_items = items;

            SummaryNode result = SummaryCategoryNode.Create("Unchanged Placeholders", ChangeCategory.UnchangedPlaceholders);
            result.ToolTipText = GetTooltipText();

            Dictionary<string, SearchResult> results = RedlineML.FastSearch.RedlineMLSearch.Execute(m_placeholderStrings, m_rd, Utils.IsInModifiedDocument, null);

            foreach (SearchResult sr in results.Values)
            {
                SearchSummaryItemBuilder ssib = new SearchSummaryItemBuilder(sr, Utils.IsInOriginalDocument);
                foreach (ISummaryItem isi in ssib.Execute())
                {
                    result.ChildNodes.Add(new SummarySearchNode(isi, context.RTB, context.ChangePositionMap));
                }
            }



            if (result.ChildNodes.Count > 0)
                m_result.Add(result);

            return m_result;
        }
Ejemplo n.º 2
0
        public List<SummaryNode> ExecuteFilter(List<ISummaryItem> sourceItems, FilterContext context)
        {
            m_sourceItems = sourceItems;
            m_context = context;

            HashItems();
            SelectDuplicates();
            if (m_matchingChanges != null)
                FindMissingChanges();

            List<SummaryNode> result = new List<SummaryNode>();
            if (m_matchingChanges != null)
                result.Add(m_matchingChanges);
            if (m_missingChanges != null)
                result.Add(m_missingChanges);
            return result;
        }
Ejemplo n.º 3
0
        public List<SummaryNode> ExecuteFilter(List<ISummaryItem> summaryItems, FilterContext fc)
        {
            m_fc = fc;
            m_summaryItems = summaryItems;

            List<ISummaryItem> selectedItems = new List<ISummaryItem>();
            foreach (ISummaryItem si in m_summaryItems)
            {
                if (MatchesFilter(si))
                    selectedItems.Add(si);
                else
                    m_unusedItems.Add(si);
            }

            if (selectedItems.Count > 0)
            {
                return new List<SummaryNode>() {  BuildResultNode(selectedItems) };
            }

            return null;
        }
Ejemplo n.º 4
0
        public List<SummaryNode> ExecuteFilter(List<RedlineML.ISummaryItem> items, FilterContext context)
        {

            foreach (ISummaryItem item in items)
            {
                if (IsInContext(item))
                {
                    m_result.ChildNodes.Add(new SummaryChangeNode(item, context.RTB));
                }
                else
                {
                    m_unusedItems.Add(item);
                }
            }

            List<SummaryNode> result = new List<SummaryNode>();
            if (m_result.ChildNodes.Count > 0)
                result.Add(m_result);

            return result;
        }
Ejemplo n.º 5
0
		private void ProcessFilters(List<ISummaryItem> items, FilterContext fc, IChangeFilter[] iChangeFilter)
		{
			foreach (IChangeFilter icf in iChangeFilter)
			{
				List<SummaryNode> snMatching = icf.ExecuteFilter(items, fc);
				if (snMatching != null)
				{
					foreach (SummaryNode sn in snMatching)
						CategorizedChangesNode.ChildNodes.Add(sn);
				}

				items = icf.GetUnusedItems();
			}
		}
Ejemplo n.º 6
0
		private void BuildNodeTrees()
		{
			

			foreach (ISummaryItem si in m_changeSummaryItems)
			{
				si.PropertyChanged += new PropertyChangedEventHandler(si_PropertyChanged);
				AllChangesNode.ChildNodes.Add(new SummaryChangeNode(si, m_rtb));
				StatusChangesNode.ChildNodes.Add(new SummaryChangeNode(si, m_rtb));
			}
			
			// Build data source for Status View
			RevStatusViewModel = new ReviewStatusViewModel(StatusChangesNode);

			using (CachingSpellChecker spellCheck = new CachingSpellChecker(new NHunSpellChecker()))
			{
				FilterContext fc = new FilterContext() { RTB = m_rtb, SpellChecker = spellCheck, RenderingOptions = m_renderingOptions, ChangePositionMap = _changePosMap };

				ProcessFilters(m_changeSummaryItems, fc, new IChangeFilter[] { 
				new BoilerplateFilter(RedlineDoc),
				new UnchangedPlaceholders(RedlineDoc),
				new NumberingChanges(), 
				new WhitespaceChangesFilter(), 
				new CasingChangeFilter(),
				new PunctuationChangesFilter(), 
				new SpellingCorrectionFilter(),
				new MinorChangeFilter(),
				new MatchingChangeFilter(RedlineDoc),
				new ChangeTypeFilter("Style Changes", (ch) => ch.Type == ChangeType.StyleChangedLabel || ch.Type == ChangeType.StyleChangeText, ChangeCategory.StyleChanges, "Changes where a different style has been applied to a paragraph or to text."),
				new ChangeTypeFilter("Font Changes", (ch) => ch.Type == ChangeType.FormatChange, ChangeCategory.FontChanges, "Changes made to font face, size, color, underline, bold or italic."),
				new ChangeContextFilter("Footnote", (DocObject x) => x is FootNote, ChangeCategory.FootnoteChanges),
				new ChangeContextFilter("Endnote", (DocObject x) => x is EndNote, ChangeCategory.EndnoteChanges),
				new ChangeContextFilter("Header", (DocObject x) => x is Header, ChangeCategory.HeaderChanges),
				new ChangeContextFilter("Footer", (DocObject x) => x is Footer, ChangeCategory.FooterChanges),
				new SelectAllFilter("Uncategorized Changes", ChangeCategory.OtherChanges, "Changes that do not fall into any of the above categories.")
			});
			}
		}