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