public void CacheRibbonItems(List<AnalysisOccurrence> wordForms) { var cwords = wordForms.Count; var laoArray = new LocatedAnalysisOccurrence[cwords]; for (var i = 0; i < cwords; i++) { var word = wordForms[i]; var begOffset = word.GetMyBeginOffsetInPara(); laoArray[i] = new LocatedAnalysisOccurrence(word.Segment, word.Index, begOffset); } (m_sda).CacheRibbonItems(laoArray); }
/// <summary> /// Replaces cached ribbon words with input wordforms. /// Handles PropChanged, as UOW won't emit PropChanged to private Ribbon Decorator items. /// </summary> /// <param name="wordForms"></param> public void CacheRibbonItems(List<AnalysisOccurrence> wordForms) { var cwords = wordForms.Count; var fragList = new LocatedAnalysisOccurrence[cwords]; for (var i = 0; i < cwords; i++) { var word = wordForms[i]; var begOffset = word.GetMyBeginOffsetInPara(); fragList[i] = new LocatedAnalysisOccurrence(word.Segment, word.Index, begOffset); } var oldLim = Decorator.get_VecSize(HvoRoot, OccurenceListId); Debug.Assert((Decorator as InterlinRibbonDecorator) != null, "No ribbon decorator!"); ((InterlinRibbonDecorator) Decorator).CacheRibbonItems(fragList); if (RootBox != null) RootBox.PropChanged(HvoRoot, OccurenceListId, 0, cwords, oldLim); }