Skip to content
This repository was archived by the owner on Oct 16, 2020. It is now read-only.

Commit 19e600c

Browse files
committed
Fix UNDO on Resize and Skew Extension
1 parent 8cc570d commit 19e600c

2 files changed

Lines changed: 24 additions & 1 deletion

File tree

src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/RotateThumbExtension.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ ResizeThumb CreateRotateThumb()
6666
DragListener drag = new DragListener(rotateThumb);
6767
drag.Started += drag_Rotate_Started;
6868
drag.Changed += drag_Rotate_Changed;
69+
drag.Completed += drag_Rotate_Completed;
6970
return rotateThumb;
7071
}
7172

@@ -143,6 +144,11 @@ private void drag_Rotate_Changed(DragListener drag)
143144
}
144145
}
145146

147+
void drag_Rotate_Completed(ICSharpCode.WpfDesign.Designer.Controls.DragListener drag)
148+
{
149+
operation.Commit();
150+
}
151+
146152
#endregion
147153

148154
protected override void OnInitialized()

src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/SkewThumbExtension.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public SkewThumbExtension()
5656
private DesignItem rtTransform;
5757
private Thumb thumb1;
5858
private Thumb thumb2;
59+
PlacementOperation operation;
5960

6061
private void dragX_Started(DragListener drag)
6162
{
@@ -78,6 +79,8 @@ private void dragX_Started(DragListener drag)
7879
}
7980

8081
rtTransform = this.ExtendedItem.Properties[FrameworkElement.RenderTransformProperty].Value;
82+
83+
operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize);
8184
}
8285

8386
private void dragX_Changed(DragListener drag)
@@ -112,6 +115,11 @@ private void dragX_Changed(DragListener drag)
112115
_adornerLayer.UpdateAdornersForElement(this.ExtendedItem.View, true);
113116
}
114117

118+
void dragX_Completed(ICSharpCode.WpfDesign.Designer.Controls.DragListener drag)
119+
{
120+
operation.Commit();
121+
}
122+
115123
private void dragY_Started(DragListener drag)
116124
{
117125
_adornerLayer = this.adornerPanel.TryFindParent<AdornerLayer>();
@@ -133,6 +141,8 @@ private void dragY_Started(DragListener drag)
133141
}
134142

135143
rtTransform = this.ExtendedItem.Properties[FrameworkElement.RenderTransformProperty].Value;
144+
145+
operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize);
136146
}
137147

138148
private void dragY_Changed(DragListener drag)
@@ -168,6 +178,11 @@ private void dragY_Changed(DragListener drag)
168178
_adornerLayer.UpdateAdornersForElement(this.ExtendedItem.View, true);
169179
}
170180

181+
void dragY_Completed(ICSharpCode.WpfDesign.Designer.Controls.DragListener drag)
182+
{
183+
operation.Commit();
184+
}
185+
171186
#endregion
172187

173188
protected override void OnInitialized()
@@ -200,9 +215,11 @@ protected override void OnInitialized()
200215
DragListener drag1 = new DragListener(thumb1);
201216
drag1.Started += dragX_Started;
202217
drag1.Changed += dragX_Changed;
218+
drag1.Completed += dragX_Completed;
203219
DragListener drag2 = new DragListener(thumb2);
204220
drag2.Started += dragY_Started;
205-
drag2.Changed += dragY_Changed;
221+
drag2.Changed += dragY_Changed;
222+
drag2.Completed += dragY_Completed;
206223
}
207224

208225
void OnPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)

0 commit comments

Comments
 (0)