Edit Session 类

 1 
 2     /// <summary>
 3     /// 编辑Session
 4     /// </summary>
 5     public class EditSession {
 6         private IWorkspaceEdit workspaceEdit;
 7         private IWorkspace workspace;
 8 
 9         /// <summary>
10         /// 设置编辑对象所在工作空间
11         /// </summary>
12         public IWorkspace Workspace {
13             get { return workspace; }
14             set {
15                 workspace = value;
16                 CheckValid();
17                 workspaceEdit = workspace as IWorkspaceEdit;
18             }
19         }
20         /// <summary>
21         /// 开启编辑Session,并设置是否启用回退功能
22         /// </summary>
23         /// <param name="withUndoRedo"></param>
24         public void StartEdit(bool withUndoRedo) {
25             if (workspaceEdit.IsBeingEdited()) 
26                 return;
27             workspaceEdit.StartEditing(withUndoRedo);
28             workspaceEdit.StartEditOperation();
29             workspaceEdit.EnableUndoRedo();
30         }
31         /// <summary>
32         /// 停止编辑Session,并设置是否保存编辑结果
33         /// </summary>
34         /// <param name="saveEdits"></param>
35         public void StopEdit(bool saveEdits) {
36             if (!workspaceEdit.IsBeingEdited())
37                 return;
38             workspaceEdit.StopEditOperation();
39             workspaceEdit.StopEditing(saveEdits);
40         }
41         /// <summary>
42         /// 重做编辑
43         /// </summary>
44         public void Redo() {
45             bool hasRedos = false;
46             workspaceEdit.HasRedos(ref hasRedos);
47             if (hasRedos) {
48                 workspaceEdit.RedoEditOperation();
49             }
50         }
51         /// <summary>
52         /// 撤销编辑
53         /// </summary>
54         public void Undo() {
55             bool hasUndos = false;
56             workspaceEdit.HasUndos(ref hasUndos);
57             if (hasUndos) {
58                 workspaceEdit.UndoEditOperation();
59             }
60         }
61         /// <summary>
62         /// 验证数据是否合法
63         /// </summary>
64         private void CheckValid() {
65             if (workspace == null)
66                 throw new ArgumentNullException();
67         }
68     }

 

转载于:https://www.cnblogs.com/xgyb12458/archive/2010/06/02/1749982.html

上一篇:DaemonSet 案例分析


下一篇:(专题三)01 程序和程序设计流程-顺序结构