internal void Pop() { if (m_listLevels.Count != 0) { ListLevel listLevel = m_listLevels[m_listLevels.Count - 1]; m_listLevels.RemoveAt(m_listLevels.Count - 1); listLevel.Close(); } }
internal ListLevel Push(IHtmlReportWriter renderer, int listLevel, RPLFormat.ListStyles style, bool writeNoVerticalMarginClass) { int num = listLevel - m_listLevels.Count; ListLevel listLevel2 = null; while (num > 0) { listLevel2 = new ListLevel(renderer, m_listLevels.Count + 1, style); m_listLevels.Add(listLevel2); listLevel2.Open(writeNoVerticalMarginClass); num--; } return(listLevel2); }
internal void PushTo(IHtmlReportWriter renderer, int listLevel, RPLFormat.ListStyles style, bool writeNoVerticalMargin) { if (listLevel == 0) { PopAll(); return; } if (m_listLevels.Count == 0) { Push(renderer, listLevel, style, writeNoVerticalMargin); return; } ListLevel listLevel2 = m_listLevels[m_listLevels.Count - 1]; if (listLevel == listLevel2.Level) { if (style != listLevel2.Style) { Pop(); Push(renderer, listLevel, style, writeNoVerticalMargin); } return; } if (listLevel > listLevel2.Level) { Push(renderer, listLevel, style, writeNoVerticalMargin); return; } while (listLevel < listLevel2.Level) { Pop(); if (m_listLevels.Count == 0) { listLevel2 = null; break; } listLevel2 = m_listLevels[m_listLevels.Count - 1]; } if (listLevel2 != null && listLevel2.Style != style) { Pop(); } Push(renderer, listLevel, style, writeNoVerticalMargin); }