/// <summary> /// 对工作区域的各对象操作的历史记录进行Undo操作 /// </summary> /// <param name="drawWorkspace">工作区域</param> public void PerformAction(DrawWorkSpace drawWorkspace) { int countOfListHistoryUndo = drawWorkspace.ListHistoryUndo.Count; if (countOfListHistoryUndo > 0) { drawWorkspace.GraphicsList.Clear(); if (countOfListHistoryUndo > 1) { #region 回到上一个历史记录的状态 AojReportObjectCollection lstTemp = AojCommonFnc.CopyReportObject(drawWorkspace.ListHistoryUndo[1]); drawWorkspace.GraphicsList = lstTemp; //记录报表设计区域历史记录Redo的相关对象集合 lstTemp = AojCommonFnc.CopyReportObject(drawWorkspace.ListHistoryUndo[0]); drawWorkspace.ListHistoryRedo.Insert(0, lstTemp); //每进行一次Undo操作就从Undo历史记录中去掉一个 drawWorkspace.ListHistoryUndo.RemoveAt(0); #endregion } else { //回到历史记录的初始状态 AojReportObjectCollection lstTemp = AojCommonFnc.CopyReportObject(drawWorkspace.ListHistoryUndo[0]); drawWorkspace.GraphicsList = lstTemp; } #region 对相关size进行缩放处理 foreach (AojReportObject item in drawWorkspace.GraphicsList) { SetObjectSizeByPagesizePercent(item, drawWorkspace.PagesizePercent); } #endregion drawWorkspace.Refresh(); } }
/// <summary> /// 对指定的工作区域的对象进行缩放的详细处理动作 /// </summary> /// <param name="drawWorkspace">指定的工作区域</param> public void PerformAction(DrawWorkSpace drawWorkspace) { //对报表设计区域为网格布局(GridStyle)时各点的距离的放大 this.SetDistanceAboutGridStyleByPagesizePercent(drawWorkspace); //根据选择的倍率对报表设计区域的所有对象进行缩放处理 this.SetReportObjectSizeByPagesizePercent(drawWorkspace); drawWorkspace.Refresh(); }
/// <summary> /// 对工作区域的各对象操作的历史记录进行Redo操作 /// </summary> /// <param name="drawWorkspace">工作区域</param> public void PerformAction(DrawWorkSpace drawWorkspace) { if (drawWorkspace.ListHistoryRedo.Count > 0) { drawWorkspace.GraphicsList.Clear(); AojReportObjectCollection lstTemp = AojCommonFnc.CopyReportObject(drawWorkspace.ListHistoryRedo[0]); drawWorkspace.GraphicsList = lstTemp; lstTemp = AojCommonFnc.CopyReportObject(drawWorkspace.GraphicsList); drawWorkspace.ListHistoryUndo.Insert(0, lstTemp); //每进行一次Redo操作就从Redo历史记录中去掉一个 drawWorkspace.ListHistoryRedo.RemoveAt(0); #region 对相关size进行缩放处理 foreach (AojReportObject item in drawWorkspace.GraphicsList) { SetObjectSizeByPagesizePercent(item, drawWorkspace.PagesizePercent); } #endregion drawWorkspace.Refresh(); } }
/// <summary> /// 对指定的工作区域的对象进行全部选中的详细处理动作 /// </summary> /// <param name="drawWorkspace">指定的工作区域</param> public void PerformAction(DrawWorkSpace drawWorkspace) { drawWorkspace.GraphicsList.SelectAll(); drawWorkspace.Refresh(); }