} // LeaveVisual // ---------------------------------------------------------------------- // returns true if visual is in list private bool EnsureOpenList(IRtfVisual rtfVisual) { IRtfVisualText visualText = rtfVisual as IRtfVisualText; if (visualText == null || !isInParagraphNumber) { return(false); } if (!IsInList) { bool unsortedList = unsortedListValue.Equals(visualText.Text); if (unsortedList) { RenderUlTag(); // unsorted list } else { RenderOlTag(); // ordered list } } RenderLiTag(); return(true); } // EnsureOpenList
} // CopyTo // ---------------------------------------------------------------------- public void Add(IRtfVisual item) { if (item == null) { throw new ArgumentNullException("item"); } InnerList.Add(item); } // Add
// ---------------------------------------------------------------------- public void Add( IRtfVisual item ) { if ( item == null ) { throw new ArgumentNullException( "item" ); } InnerList.Add( item ); }
} // RenderBodySection // ---------------------------------------------------------------------- private bool EnterVisual(IRtfVisual rtfVisual) { bool openList = EnsureOpenList(rtfVisual); if (openList) { return(false); } EnsureClosedList(rtfVisual); return(OnEnterVisual(rtfVisual)); } // EnterVisual
} // OnLeaveVisual #endregion // HtmlStructure #region HtmlFormat // ---------------------------------------------------------------------- protected virtual IRtfHtmlStyle GetHtmlStyle(IRtfVisual rtfVisual) { IRtfHtmlStyle htmlStyle = RtfHtmlStyle.Empty; switch (rtfVisual.Kind) { case RtfVisualKind.Text: htmlStyle = styleConverter.TextToHtml(rtfVisual as IRtfVisualText); break; } return(htmlStyle); } // GetHtmlStyle
} // EnsureClosedList private void EnsureClosedList(IRtfVisual rtfVisual) { if (!IsInList) { return; // not in list } var previousParagraph = _lastVisual as IRtfVisualBreak; if (previousParagraph == null || previousParagraph.BreakKind != RtfVisualBreakKind.Paragraph) { return; // is not following to a pragraph } var specialChar = rtfVisual as IRtfVisualSpecialChar; if (specialChar == null || specialChar.CharKind != RtfVisualSpecialCharKind.ParagraphNumberBegin) { RenderEndTag(true); // close ul/ol list } } // EnsureClosedList
// ---------------------------------------------------------------------- // returns true if visual is in list private bool EnsureOpenList( IRtfVisual rtfVisual ) { IRtfVisualText visualText = rtfVisual as IRtfVisualText; if ( visualText == null || !isInParagraphNumber ) { return false; } if ( !IsInList ) { bool unsortedList = unsortedListValue.Equals( visualText.Text ); if ( unsortedList ) { RenderUlTag(); // unsorted list } else { RenderOlTag(); // ordered list } } RenderLiTag(); return true; }
// ---------------------------------------------------------------------- private void EnsureClosedList( IRtfVisual rtfVisual ) { if ( !IsInList ) { return; // not in list } IRtfVisualBreak previousParagraph = lastVisual as IRtfVisualBreak; if ( previousParagraph == null || previousParagraph.BreakKind != RtfVisualBreakKind.Paragraph ) { return; // is not following to a pragraph } IRtfVisualSpecialChar specialChar = rtfVisual as IRtfVisualSpecialChar; if ( specialChar == null || specialChar.CharKind != RtfVisualSpecialCharKind.ParagraphNumberBegin ) { RenderEndTag( true ); // close ul/ol list } }
// ---------------------------------------------------------------------- protected virtual void OnLeaveVisual( IRtfVisual rtfVisual ) { }
// ---------------------------------------------------------------------- protected virtual bool OnEnterVisual( IRtfVisual rtfVisual ) { return true; }
// ---------------------------------------------------------------------- protected virtual IRtfHtmlStyle GetHtmlStyle( IRtfVisual rtfVisual ) { IRtfHtmlStyle htmlStyle = RtfHtmlStyle.Empty; switch ( rtfVisual.Kind ) { case RtfVisualKind.Text: htmlStyle = styleConverter.TextToHtml( rtfVisual as IRtfVisualText ); break; } return htmlStyle; }
} // OnEnterVisual // ---------------------------------------------------------------------- protected virtual void OnLeaveVisual(IRtfVisual rtfVisual) { } // OnLeaveVisual
} // EndParagraph // ---------------------------------------------------------------------- protected virtual bool OnEnterVisual(IRtfVisual rtfVisual) { return(true); } // OnEnterVisual
// ---------------------------------------------------------------------- public void CopyTo( IRtfVisual[] array, int index ) { InnerList.CopyTo( array, index ); }
// ---------------------------------------------------------------------- private bool EnterVisual( IRtfVisual rtfVisual ) { bool openList = EnsureOpenList( rtfVisual ); if ( openList ) { return false; } EnsureClosedList( rtfVisual ); return OnEnterVisual( rtfVisual ); }
// ---------------------------------------------------------------------- private void LeaveVisual( IRtfVisual rtfVisual ) { OnLeaveVisual( rtfVisual ); lastVisual = rtfVisual; }
} // EnterVisual // ---------------------------------------------------------------------- private void LeaveVisual(IRtfVisual rtfVisual) { OnLeaveVisual(rtfVisual); lastVisual = rtfVisual; } // LeaveVisual