public void AddHistoryItem(HistoryItem item) { if (item != null) { m_History.Add(item); m_CurrentHistoryItem = item; } }
public object Clone() { HistoryItem item = new HistoryItem(); foreach(DrillActionContainer cont in this.ColumnsActionChain) { item.ColumnsActionChain.Add((DrillActionContainer)cont.Clone()); } foreach (DrillActionContainer cont in this.RowsActionChain) { item.RowsActionChain.Add((DrillActionContainer)cont.Clone()); } return item; }
public String PerformMemberAction(PerformMemberActionArgs args) { if (args != null) { switch (args.Action) { case MemberActionType.Expand: case MemberActionType.Collapse: case MemberActionType.DrillDown: case MemberActionType.DrillUp: // Удаляем все элементы истории, стоящие за текущим History.CutRight(); HistoryItem clone = null; if (History.CurrentHistoryItem != null) { // Клонируем текущий элемент истории чтобы действие добавлялось уже в клон clone = (HistoryItem)(History.CurrentHistoryItem.Clone()); } else { // Добавляем пустой элемент истории HistoryItem first = new HistoryItem(); History.AddHistoryItem(first); clone = new HistoryItem(); } History.AddHistoryItem(clone); break; } switch (args.Action) { case MemberActionType.Expand: ExpandMember(args); break; case MemberActionType.Collapse: CollapseMember(args); break; case MemberActionType.DrillDown: DrillDownMember(args); break; case MemberActionType.DrillUp: DrillUpMember(args); break; } } return RefreshQuery(); }
public void ToEnd() { if (m_History.Count > 0) { m_CurrentHistoryItem = m_History[m_History.Count - 1]; } }
public void ToBegin() { if (m_History.Count > 0) { m_CurrentHistoryItem = m_History[0]; } }
public void MoveNext() { if (CurrentHistoryItem != null && m_History.Count > 0) { int indx = m_History.IndexOf(CurrentHistoryItem); if (indx >= 0 && indx < m_History.Count - 1) { m_CurrentHistoryItem = m_History[indx + 1]; } } }
public void MoveBack() { if (CurrentHistoryItem != null && m_History.Count > 0) { int indx = m_History.IndexOf(CurrentHistoryItem); if (indx > 0) { m_CurrentHistoryItem = m_History[indx - 1]; } } }