예제 #1
0
        /// <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();
            }
        }
예제 #2
0
 /// <summary>
 /// 对指定的工作区域的对象进行缩放的详细处理动作
 /// </summary>
 /// <param name="drawWorkspace">指定的工作区域</param>
 public void PerformAction(DrawWorkSpace drawWorkspace)
 {
     //对报表设计区域为网格布局(GridStyle)时各点的距离的放大
     this.SetDistanceAboutGridStyleByPagesizePercent(drawWorkspace);
     //根据选择的倍率对报表设计区域的所有对象进行缩放处理
     this.SetReportObjectSizeByPagesizePercent(drawWorkspace);
     drawWorkspace.Refresh();
 }
예제 #3
0
        /// <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();
            }
        }
예제 #4
0
 /// <summary>
 /// 对指定的工作区域的对象进行全部选中的详细处理动作
 /// </summary>
 /// <param name="drawWorkspace">指定的工作区域</param>
 public void PerformAction(DrawWorkSpace drawWorkspace)
 {
     drawWorkspace.GraphicsList.SelectAll();
     drawWorkspace.Refresh();
 }