개정판 cb3444cd
Fix: Undo/Redo 적용 방식 수정
Change-Id: I74780b09e8faa00aaaa2c2b27c327ae232bfdfb8
KCOM/Events/RedoCommand.cs | ||
---|---|---|
91 | 91 |
(item.Markup as IViewBox).CommentAngle = item.Angle; |
92 | 92 |
item.Angle = dOriAngle; |
93 | 93 |
} |
94 |
if ((item.Markup as TextControl) != null) |
|
95 |
{ |
|
96 |
dOriAngle = (item.Markup as TextControl).CommentAngle; |
|
97 |
(item.Markup as TextControl).CommentAngle = item.Angle; |
|
98 |
item.Angle = dOriAngle; |
|
99 |
|
|
100 |
if (item.PointSet.Count > 0) |
|
101 |
{ |
|
102 |
foreach(var point in (item.Markup as IPath).PointSet) |
|
103 |
{ |
|
104 |
lstOriPointSet.Add(point); |
|
105 |
} |
|
106 |
|
|
107 |
Canvas.SetLeft((item.Markup as TextControl), item.PointSet[0].X); |
|
108 |
Canvas.SetTop((item.Markup as TextControl), item.PointSet[0].Y); |
|
109 |
|
|
110 |
item.PointSet = lstOriPointSet; |
|
111 |
} |
|
112 |
} |
|
113 | 94 |
else |
114 | 95 |
{ |
115 |
dOriAngle = (item.Markup).CommentAngle; |
|
116 |
(item.Markup).CommentAngle = item.Angle; |
|
117 |
item.Angle = dOriAngle; |
|
118 |
foreach(var point in (item.Markup as IPath).PointSet) |
|
119 |
{ |
|
120 |
lstOriPointSet.Add(point); |
|
121 |
} |
|
122 |
(item.Markup as IPath).PointSet = item.PointSet; |
|
123 |
item.PointSet = lstOriPointSet; |
|
96 |
var tmp = item.Markup.Clone(); |
|
97 |
item.Markup.Copy(item.Clone); |
|
98 |
item.Clone.Copy(tmp); |
|
124 | 99 |
(item.Markup as CommentUserInfo).UpdateControl(); |
125 | 100 |
} |
126 | 101 |
comment.Add(item.Markup); |
... | ... | |
163 | 138 |
} |
164 | 139 |
break; |
165 | 140 |
*/ |
166 |
/* |
|
167 |
case (EventType.Option): |
|
168 |
{ |
|
169 |
List<CommentUserInfo> comment = new List<CommentUserInfo>(); |
|
170 |
|
|
171 |
foreach (var item in redo.MarkupDataColl) |
|
172 |
{ |
|
173 |
ViewerDataModel.Instance.MarkupControls_USER.Remove(item.Markup); |
|
174 |
if (redo.LineSize != 0 && item.Markup as IPath != null) |
|
175 |
{ |
|
176 |
(item.Markup as IPath).LineSize = redo.LineSize; |
|
177 |
} |
|
178 |
else if (redo.Opacity != 0 && item.Markup as UIElement != null) |
|
179 |
{ |
|
180 |
(item.Markup as UIElement).Opacity = redo.Opacity; |
|
181 |
} |
|
182 |
else if (redo.DashSize != null && item.Markup as IDashControl != null) |
|
183 |
{ |
|
184 |
(item.Markup as IDashControl).DashSize = redo.DashSize; |
|
185 |
} |
|
186 |
else if (redo.Interval != 0 && item.Markup as LineControl != null) |
|
187 |
{ |
|
188 |
(item.Markup as LineControl).Interval = redo.Interval; |
|
189 |
} |
|
190 |
else if (item.Markup as IShapeControl != null) |
|
191 |
{ |
|
192 |
(item.Markup as IShapeControl).Paint = redo.paint; |
|
193 |
} |
|
194 |
comment.Add(item.Markup); |
|
195 |
} |
|
196 |
final = new AdornerFinal(comment); |
|
197 |
Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.SelectLayer.Children.Add(final); |
|
198 |
} |
|
199 |
break; |
|
200 |
*/ |
|
201 | 141 |
} |
202 | 142 |
|
203 | 143 |
ViewerDataModel.Instance.UndoDataList.Where(data => data.EventTime == redo.EventTime).ToList() |
내보내기 Unified diff