protected override void OpenTheObject(int hvo, int ihvo) { // NOTE: this block executes BEFORE we update CurrentObject() by calling base.OpenTheObject() below. int tag = CurrentPropTag; switch (tag) { case StTextTags.kflidParagraphs: // The paragraph data may need to be loaded if the paragraph has not yet // appeared on the screen. See LT-7071. m_vc.LoadDataFor(this, new int[1] { hvo }, 1, CurrentObject(), tag, -1, ihvo); WriteStartParagraph(hvo); break; case WfiAnalysisTags.kflidMorphBundles: WriteStartMorpheme(hvo); m_guidMorphType = Guid.Empty; // reset morphtype before each morph bundle. break; case StTxtParaTags.kflidSegments: WriteStartPhrase(hvo); break; case SegmentTags.kflidAnalyses: WriteStartWord(hvo); break; } base.OpenTheObject(hvo, ihvo); }
protected override void OpenTheObject(int hvo, int ihvo) { // NOTE: this block executes BEFORE we update CurrentObject() by calling base.OpenTheObject() below. int tag = CurrentPropTag; switch (tag) { case (int)StText.StTextTags.kflidParagraphs: // The paragraph data may need to be loaded if the paragraph has not yet // appeared on the screen. See LT-7071. m_vc.LoadDataFor(this, new int[1] { hvo }, 1, CurrentObject(), tag, -1, ihvo); WriteStartParagraph(hvo); break; case (int)WfiAnalysis.WfiAnalysisTags.kflidMorphBundles: m_writer.WriteStartElement("morph"); m_guidMorphType = Guid.Empty; // reset morphtype before each morph bundle. break; default: if (tag == ktagParaSegments) { EnsureSegmentCbaIsRealIfNeeded(ref hvo); WriteStartPhrase(hvo); } else if (tag == ktagSegmentForms) { EnsureXficCbaIsRealIfNeeded(ref hvo); WriteStartWord(hvo); } break; } base.OpenTheObject(hvo, ihvo); }