Browse Source

Changed OneOf<Error, Success> to bool

flabbet 2 years ago
parent
commit
c161cc830b
42 changed files with 144 additions and 132 deletions
  1. 1 1
      src/PixiEditor.ChangeableDocument/Changes/Change.cs
  2. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Drawing/ApplyLayerMask_Change.cs
  3. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Drawing/ChangeBrightness_UpdateableChange.cs
  4. 2 6
      src/PixiEditor.ChangeableDocument/Changes/Drawing/ClearSelectedArea_Change.cs
  5. 5 4
      src/PixiEditor.ChangeableDocument/Changes/Drawing/CombineStructureMembersOnto_Change.cs
  6. 2 4
      src/PixiEditor.ChangeableDocument/Changes/Drawing/DrawEllipse_UpdateableChange.cs
  7. 2 4
      src/PixiEditor.ChangeableDocument/Changes/Drawing/DrawLine_UpdateableChange.cs
  8. 2 4
      src/PixiEditor.ChangeableDocument/Changes/Drawing/DrawRectangle_UpdateableChange.cs
  9. 4 5
      src/PixiEditor.ChangeableDocument/Changes/Drawing/FloodFill/FloodFill_Change.cs
  10. 4 4
      src/PixiEditor.ChangeableDocument/Changes/Drawing/LineBasedPen_UpdateableChange.cs
  11. 2 4
      src/PixiEditor.ChangeableDocument/Changes/Drawing/PasteImage_UpdateableChange.cs
  12. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Drawing/PathBasedPen_UpdateableChange.cs
  13. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Drawing/PixelPerfectPen_UpdateableChange.cs
  14. 2 2
      src/PixiEditor.ChangeableDocument/Changes/Drawing/ReplaceColor_Change.cs
  15. 2 4
      src/PixiEditor.ChangeableDocument/Changes/Drawing/ShiftLayer_UpdateableChange.cs
  16. 6 5
      src/PixiEditor.ChangeableDocument/Changes/Drawing/TransformSelectedArea_UpdateableChange.cs
  17. 2 5
      src/PixiEditor.ChangeableDocument/Changes/Properties/CreateStructureMemberMask_Change.cs
  18. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Properties/DeleteStructureMemberMask_Change.cs
  19. 4 4
      src/PixiEditor.ChangeableDocument/Changes/Properties/LayerLockTransparency_Change.cs
  20. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Properties/StructureMemberBlendMode_Change.cs
  21. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Properties/StructureMemberClipToMemberBelow_Change.cs
  22. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Properties/StructureMemberIsVisible_Change.cs
  23. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Properties/StructureMemberMaskIsVisible_Change.cs
  24. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Properties/StructureMemberName_Change.cs
  25. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Properties/StructureMemberOpacity_UpdateableChange.cs
  26. 24 0
      src/PixiEditor.ChangeableDocument/Changes/Root/ClipCanvas_Change.cs
  27. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Root/CreateReferenceLayer_UpdateableChange.cs
  28. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Root/ResizeCanvas_Change.cs
  29. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Root/ResizeImage_Change.cs
  30. 2 2
      src/PixiEditor.ChangeableDocument/Changes/Root/SymmetryAxisPosition_UpdateableChange.cs
  31. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Root/SymmetryAxisState_Change.cs
  32. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Selection/ClearSelection_Change.cs
  33. 2 2
      src/PixiEditor.ChangeableDocument/Changes/Selection/SelectEllipse_UpdateableChange.cs
  34. 2 2
      src/PixiEditor.ChangeableDocument/Changes/Selection/SelectLasso_UpdateableChange.cs
  35. 2 2
      src/PixiEditor.ChangeableDocument/Changes/Selection/SelectRectangle_UpdateableChange.cs
  36. 2 2
      src/PixiEditor.ChangeableDocument/Changes/Selection/SetSelection_Change.cs
  37. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Selection/TransformSelectionPath_UpdateableChange.cs
  38. 2 4
      src/PixiEditor.ChangeableDocument/Changes/Structure/CreateStructureMember_Change.cs
  39. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Structure/DeleteStructureMember_Change.cs
  40. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Structure/DuplicateLayer_Change.cs
  41. 3 3
      src/PixiEditor.ChangeableDocument/Changes/Structure/MoveStructureMember_Change.cs
  42. 8 2
      src/PixiEditor.ChangeableDocument/DocumentChangeTracker.cs

+ 1 - 1
src/PixiEditor.ChangeableDocument/Changes/Change.cs

@@ -14,7 +14,7 @@ internal abstract class Change : IDisposable
     /// </summary>
     /// </summary>
     /// <param name="target">The document the change will be applied on</param>
     /// <param name="target">The document the change will be applied on</param>
     /// <returns><see cref="Success"/> if all parameters are valid, otherwise <see cref="Error"/></returns>
     /// <returns><see cref="Success"/> if all parameters are valid, otherwise <see cref="Error"/></returns>
-    public abstract OneOf<Success, Error> InitializeAndValidate(Document target);
+    public abstract bool InitializeAndValidate(Document target);
 
 
     /// <summary>
     /// <summary>
     /// Applies the change to the <paramref name="target"/>
     /// Applies the change to the <paramref name="target"/>

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Drawing/ApplyLayerMask_Change.cs

@@ -14,14 +14,14 @@ internal class ApplyLayerMask_Change : Change
         this.layerGuid = layerGuid;
         this.layerGuid = layerGuid;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!target.TryFindMember<Layer>(layerGuid, out var layer) || layer.Mask is null)
         if (!target.TryFindMember<Layer>(layerGuid, out var layer) || layer.Mask is null)
-            return new Error();
+            return false;
 
 
         savedLayer = new CommittedChunkStorage(layer.LayerImage, layer.LayerImage.FindCommittedChunks());
         savedLayer = new CommittedChunkStorage(layer.LayerImage, layer.LayerImage.FindCommittedChunks());
         savedMask = new CommittedChunkStorage(layer.Mask, layer.Mask.FindCommittedChunks());
         savedMask = new CommittedChunkStorage(layer.Mask, layer.Mask.FindCommittedChunks());
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Drawing/ChangeBrightness_UpdateableChange.cs

@@ -40,13 +40,13 @@ internal class ChangeBrightness_UpdateableChange : UpdateableChange
             positions.Add(pos);
             positions.Add(pos);
     }
     }
     
     
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!DrawingChangeHelper.IsValidForDrawing(target, layerGuid, false))
         if (!DrawingChangeHelper.IsValidForDrawing(target, layerGuid, false))
-            return new Error();
+            return false;
         Layer layer = (Layer)target.FindMemberOrThrow(layerGuid);
         Layer layer = (Layer)target.FindMemberOrThrow(layerGuid);
         DrawingChangeHelper.ApplyClipsSymmetriesEtc(target, layer.LayerImage, layerGuid, false);
         DrawingChangeHelper.ApplyClipsSymmetriesEtc(target, layer.LayerImage, layerGuid, false);
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> ApplyTemporarily(Document target)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> ApplyTemporarily(Document target)

+ 2 - 6
src/PixiEditor.ChangeableDocument/Changes/Drawing/ClearSelectedArea_Change.cs

@@ -14,13 +14,9 @@ internal class ClearSelectedArea_Change : Change
         this.drawOnMask = drawOnMask;
         this.drawOnMask = drawOnMask;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
-        if (target.Selection.SelectionPath.IsEmpty)
-            return new Error();
-        if (!DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask))
-            return new Error();
-        return new Success();
+        return !target.Selection.SelectionPath.IsEmpty && DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask);
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 5 - 4
src/PixiEditor.ChangeableDocument/Changes/Drawing/CombineStructureMembersOnto_Change.cs

@@ -19,21 +19,22 @@ internal class CombineStructureMembersOnto_Change : Change
         this.targetLayer = targetLayer;
         this.targetLayer = targetLayer;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!target.HasMember(targetLayer) || membersToMerge.Count == 0)
         if (!target.HasMember(targetLayer) || membersToMerge.Count == 0)
-            return new Error();
+            return false;
         foreach (Guid guid in membersToMerge)
         foreach (Guid guid in membersToMerge)
         {
         {
             if (!target.TryFindMember(guid, out var member))
             if (!target.TryFindMember(guid, out var member))
-                return new Error();
+                return false;
             
             
             if (member is Layer layer)
             if (member is Layer layer)
                 layersToCombine.Add(layer.GuidValue);
                 layersToCombine.Add(layer.GuidValue);
             else if (member is Folder innerFolder)
             else if (member is Folder innerFolder)
                 AddChildren(innerFolder, layersToCombine);
                 AddChildren(innerFolder, layersToCombine);
         }
         }
-        return new Success();
+
+        return true;
     }
     }
 
 
     private void AddChildren(Folder folder, HashSet<Guid> collection)
     private void AddChildren(Folder folder, HashSet<Guid> collection)

+ 2 - 4
src/PixiEditor.ChangeableDocument/Changes/Drawing/DrawEllipse_UpdateableChange.cs

@@ -30,11 +30,9 @@ internal class DrawEllipse_UpdateableChange : UpdateableChange
         this.location = location;
         this.location = location;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
-        if (!DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask))
-            return new Error();
-        return new Success();
+        return DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask);
     }
     }
 
 
     private HashSet<VecI> UpdateEllipse(Document target, ChunkyImage targetImage)
     private HashSet<VecI> UpdateEllipse(Document target, ChunkyImage targetImage)

+ 2 - 4
src/PixiEditor.ChangeableDocument/Changes/Drawing/DrawLine_UpdateableChange.cs

@@ -38,11 +38,9 @@ internal class DrawLine_UpdateableChange : UpdateableChange
         this.strokeWidth = strokeWidth;
         this.strokeWidth = strokeWidth;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
-        if (!DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask))
-            return new Error();
-        return new Success();
+        return DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask);
     }
     }
 
 
     private HashSet<VecI> CommonApply(Document target)
     private HashSet<VecI> CommonApply(Document target)

+ 2 - 4
src/PixiEditor.ChangeableDocument/Changes/Drawing/DrawRectangle_UpdateableChange.cs

@@ -17,11 +17,9 @@ internal class DrawRectangle_UpdateableChange : UpdateableChange
         this.drawOnMask = drawOnMask;
         this.drawOnMask = drawOnMask;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
-        if (!DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask))
-            return new Error();
-        return new Success();
+        return DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask);
     }
     }
 
 
     [UpdateChangeMethod]
     [UpdateChangeMethod]

+ 4 - 5
src/PixiEditor.ChangeableDocument/Changes/Drawing/FloodFill/FloodFill_Change.cs

@@ -23,13 +23,12 @@ internal class FloodFill_Change : Change
         this.drawOnMask = drawOnMask;
         this.drawOnMask = drawOnMask;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (pos.X < 0 || pos.Y < 0 || pos.X >= target.Size.X || pos.Y >= target.Size.X)
         if (pos.X < 0 || pos.Y < 0 || pos.X >= target.Size.X || pos.Y >= target.Size.X)
-            return new Error();
-        if (!DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask))
-            return new Error();
-        return new Success();
+            return false;
+        
+        return DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask);
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 4 - 4
src/PixiEditor.ChangeableDocument/Changes/Drawing/LineBasedPen_UpdateableChange.cs

@@ -33,17 +33,17 @@ internal class LineBasedPen_UpdateableChange : UpdateableChange
         points.Add(pos);
         points.Add(pos);
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask))
         if (!DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask))
-            return new Error();
+            return false;
         if (strokeWidth < 1)
         if (strokeWidth < 1)
-            return new Error();
+            return false;
         var image = DrawingChangeHelper.GetTargetImageOrThrow(target, memberGuid, drawOnMask);
         var image = DrawingChangeHelper.GetTargetImageOrThrow(target, memberGuid, drawOnMask);
         if (!replacing)
         if (!replacing)
             image.SetBlendMode(BlendMode.SrcOver);
             image.SetBlendMode(BlendMode.SrcOver);
         DrawingChangeHelper.ApplyClipsSymmetriesEtc(target, image, memberGuid, drawOnMask);
         DrawingChangeHelper.ApplyClipsSymmetriesEtc(target, image, memberGuid, drawOnMask);
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> ApplyTemporarily(Document target)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> ApplyTemporarily(Document target)

+ 2 - 4
src/PixiEditor.ChangeableDocument/Changes/Drawing/PasteImage_UpdateableChange.cs

@@ -25,11 +25,9 @@ internal class PasteImage_UpdateableChange : UpdateableChange
         this.imageToPaste = new Surface(image);
         this.imageToPaste = new Surface(image);
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
-        if (!DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask))
-            return new Error();
-        return new Success();
+        return DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask);
     }
     }
 
 
     [UpdateChangeMethod]
     [UpdateChangeMethod]

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Drawing/PathBasedPen_UpdateableChange.cs

@@ -32,14 +32,14 @@ internal class PathBasedPen_UpdateableChange : UpdateableChange
         points.Add(pos);
         points.Add(pos);
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask))
         if (!DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask))
-            return new Error();
+            return false;
         var image = DrawingChangeHelper.GetTargetImageOrThrow(target, memberGuid, drawOnMask);
         var image = DrawingChangeHelper.GetTargetImageOrThrow(target, memberGuid, drawOnMask);
         image.SetBlendMode(BlendMode.SrcOver);
         image.SetBlendMode(BlendMode.SrcOver);
         DrawingChangeHelper.ApplyClipsSymmetriesEtc(target, image, memberGuid, drawOnMask);
         DrawingChangeHelper.ApplyClipsSymmetriesEtc(target, image, memberGuid, drawOnMask);
-        return new Success();
+        return true;
     }
     }
 
 
     private static (VecD, VecD) FindCubicPoints(VecD prev, VecD mid1, VecD mid2, VecD next)
     private static (VecD, VecD) FindCubicPoints(VecD prev, VecD mid1, VecD mid2, VecD next)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Drawing/PixelPerfectPen_UpdateableChange.cs

@@ -30,14 +30,14 @@ internal class PixelPerfectPen_UpdateableChange : UpdateableChange
         incomingPoints!.Add(pos);
         incomingPoints!.Add(pos);
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask))
         if (!DrawingChangeHelper.IsValidForDrawing(target, memberGuid, drawOnMask))
-            return new Error();
+            return false;
         var image = DrawingChangeHelper.GetTargetImageOrThrow(target, memberGuid, drawOnMask);
         var image = DrawingChangeHelper.GetTargetImageOrThrow(target, memberGuid, drawOnMask);
         image.SetBlendMode(BlendMode.SrcOver);
         image.SetBlendMode(BlendMode.SrcOver);
         DrawingChangeHelper.ApplyClipsSymmetriesEtc(target, image, memberGuid, drawOnMask);
         DrawingChangeHelper.ApplyClipsSymmetriesEtc(target, image, memberGuid, drawOnMask);
-        return new Success();
+        return true;
     }
     }
 
 
     private bool IsLShape(int lastPixelIndex)
     private bool IsLShape(int lastPixelIndex)

+ 2 - 2
src/PixiEditor.ChangeableDocument/Changes/Drawing/ReplaceColor_Change.cs

@@ -16,9 +16,9 @@ internal class ReplaceColor_Change : Change
         this.newColor = newColor;
         this.newColor = newColor;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 2 - 4
src/PixiEditor.ChangeableDocument/Changes/Drawing/ShiftLayer_UpdateableChange.cs

@@ -16,11 +16,9 @@ internal class ShiftLayer_UpdateableChange : UpdateableChange
         this.keepOriginal = keepOriginal;
         this.keepOriginal = keepOriginal;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
-        if (target.HasMember<Layer>(layerGuid))
-            return new Success();
-        return new Error();
+        return target.HasMember<Layer>(layerGuid);
     }
     }
 
 
     [UpdateChangeMethod]
     [UpdateChangeMethod]

+ 6 - 5
src/PixiEditor.ChangeableDocument/Changes/Drawing/TransformSelectedArea_UpdateableChange.cs

@@ -37,15 +37,15 @@ internal class TransformSelectedArea_UpdateableChange : UpdateableChange
         this.drawOnMask = transformMask;
         this.drawOnMask = transformMask;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (membersToTransform.Length == 0 || target.Selection.SelectionPath.IsEmpty)
         if (membersToTransform.Length == 0 || target.Selection.SelectionPath.IsEmpty)
-            return new Error();
+            return false;
 
 
         foreach (var guid in membersToTransform)
         foreach (var guid in membersToTransform)
         {
         {
             if (!DrawingChangeHelper.IsValidForDrawing(target, guid, drawOnMask))
             if (!DrawingChangeHelper.IsValidForDrawing(target, guid, drawOnMask))
-                return new Error();
+                return false;
         }
         }
 
 
         originalPath = new VectorPath(target.Selection.SelectionPath) { FillType = PathFillType.EvenOdd };
         originalPath = new VectorPath(target.Selection.SelectionPath) { FillType = PathFillType.EvenOdd };
@@ -60,11 +60,12 @@ internal class TransformSelectedArea_UpdateableChange : UpdateableChange
                 continue;
                 continue;
             images.Add(guid, (extracted.AsT1.image, extracted.AsT1.extractedRect.Pos));
             images.Add(guid, (extracted.AsT1.image, extracted.AsT1.extractedRect.Pos));
         }
         }
+
         if (images.Count == 0)
         if (images.Count == 0)
-            return new Error();
+            return false;
         originalTightBounds = bounds;
         originalTightBounds = bounds;
         globalMatrix = OperationHelper.CreateMatrixFromPoints(corners, originalTightBounds.Size);
         globalMatrix = OperationHelper.CreateMatrixFromPoints(corners, originalTightBounds.Size);
-        return new Success();
+        return true;
     }
     }
 
 
     public OneOf<None, (Surface image, RectI extractedRect)> ExtractArea(ChunkyImage image, VectorPath path, RectI pathBounds)
     public OneOf<None, (Surface image, RectI extractedRect)> ExtractArea(ChunkyImage image, VectorPath path, RectI pathBounds)

+ 2 - 5
src/PixiEditor.ChangeableDocument/Changes/Properties/CreateStructureMemberMask_Change.cs

@@ -12,12 +12,9 @@ internal class CreateStructureMemberMask_Change : Change
         targetMember = memberGuid;
         targetMember = memberGuid;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
-        if (!target.TryFindMember(targetMember, out var member) || member.Mask is not null)
-            return new Error();
-        
-        return new Success();
+        return target.TryFindMember(targetMember, out var member) && member.Mask is null;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Properties/DeleteStructureMemberMask_Change.cs

@@ -13,13 +13,13 @@ internal class DeleteStructureMemberMask_Change : Change
         this.memberGuid = memberGuid;
         this.memberGuid = memberGuid;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!target.TryFindMember(memberGuid, out var member) || member.Mask is null)
         if (!target.TryFindMember(memberGuid, out var member) || member.Mask is null)
-            return new Error();
+            return false;
         
         
         storedMask = member.Mask.CloneFromCommitted();
         storedMask = member.Mask.CloneFromCommitted();
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 4 - 4
src/PixiEditor.ChangeableDocument/Changes/Properties/LayerLockTransparency_Change.cs

@@ -14,15 +14,15 @@ internal class LayerLockTransparency_Change : Change
         this.newValue = newValue;
         this.newValue = newValue;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!target.TryFindMember<Layer>(layerGuid, out var layer))
         if (!target.TryFindMember<Layer>(layerGuid, out var layer))
-            return new Error();
+            return false;
 
 
         originalValue = layer.LockTransparency;
         originalValue = layer.LockTransparency;
         if (originalValue == newValue)
         if (originalValue == newValue)
-            return new Error();
-        return new Success();
+            return false;
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Properties/StructureMemberBlendMode_Change.cs

@@ -15,12 +15,12 @@ internal class StructureMemberBlendMode_Change : Change
         this.targetGuid = memberGuid;
         this.targetGuid = memberGuid;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!target.TryFindMember(targetGuid, out var member) || member.BlendMode == newBlendMode)
         if (!target.TryFindMember(targetGuid, out var member) || member.BlendMode == newBlendMode)
-            return new Error();
+            return false;
         originalBlendMode = member.BlendMode;
         originalBlendMode = member.BlendMode;
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Properties/StructureMemberClipToMemberBelow_Change.cs

@@ -14,12 +14,12 @@ internal class StructureMemberClipToMemberBelow_Change : Change
         this.memberGuid = memberGuid;
         this.memberGuid = memberGuid;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!target.TryFindMember(memberGuid, out var member) || member.ClipToMemberBelow == newValue)
         if (!target.TryFindMember(memberGuid, out var member) || member.ClipToMemberBelow == newValue)
-            return new Error();
+            return false;
         originalValue = member.ClipToMemberBelow;
         originalValue = member.ClipToMemberBelow;
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Properties/StructureMemberIsVisible_Change.cs

@@ -14,12 +14,12 @@ internal class StructureMemberIsVisible_Change : Change
         this.newIsVisible = isVisible;
         this.newIsVisible = isVisible;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!target.TryFindMember(targetMember, out var member) || member.IsVisible == newIsVisible)
         if (!target.TryFindMember(targetMember, out var member) || member.IsVisible == newIsVisible)
-            return new Error();
+            return false;
         originalIsVisible = member.IsVisible;
         originalIsVisible = member.IsVisible;
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Properties/StructureMemberMaskIsVisible_Change.cs

@@ -14,13 +14,13 @@ internal class StructureMemberMaskIsVisible_Change : Change
         this.newMaskIsVisible = maskIsVisible;
         this.newMaskIsVisible = maskIsVisible;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!target.TryFindMember(memberGuid, out var member) || member.MaskIsVisible == newMaskIsVisible)
         if (!target.TryFindMember(memberGuid, out var member) || member.MaskIsVisible == newMaskIsVisible)
-            return new Error();
+            return false;
         
         
         originalMaskIsVisible = member.MaskIsVisible;
         originalMaskIsVisible = member.MaskIsVisible;
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Properties/StructureMemberName_Change.cs

@@ -15,12 +15,12 @@ internal class StructureMemberName_Change : Change
         this.newName = name;
         this.newName = name;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!target.TryFindMember(targetMember, out var member) || member.Name == newName)
         if (!target.TryFindMember(targetMember, out var member) || member.Name == newName)
-            return new Error();
+            return false;
         originalName = member.Name;
         originalName = member.Name;
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Properties/StructureMemberOpacity_UpdateableChange.cs

@@ -22,12 +22,12 @@ internal class StructureMemberOpacity_UpdateableChange : UpdateableChange
         newOpacity = opacity;
         newOpacity = opacity;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document document)
+    public override bool InitializeAndValidate(Document document)
     {
     {
         if (!document.TryFindMember(memberGuid, out var member))
         if (!document.TryFindMember(memberGuid, out var member))
-            return new Error();
+            return false;
         originalOpacity = member.Opacity;
         originalOpacity = member.Opacity;
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> ApplyTemporarily(Document target)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> ApplyTemporarily(Document target)

+ 24 - 0
src/PixiEditor.ChangeableDocument/Changes/Root/ClipCanvas_Change.cs

@@ -0,0 +1,24 @@
+namespace PixiEditor.ChangeableDocument.Changes.Root;
+
+internal class ClipCanvas_Change : UpdateableChange
+{
+    public override bool InitializeAndValidate(Document target)
+    {
+        throw new NotImplementedException();
+    }
+
+    public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
+    {
+        throw new NotImplementedException();
+    }
+
+    public override OneOf<None, IChangeInfo, List<IChangeInfo>> Revert(Document target)
+    {
+        throw new NotImplementedException();
+    }
+
+    public override OneOf<None, IChangeInfo, List<IChangeInfo>> ApplyTemporarily(Document target)
+    {
+        throw new NotImplementedException();
+    }
+}

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Root/CreateReferenceLayer_UpdateableChange.cs

@@ -20,15 +20,15 @@ internal class CreateReferenceLayer_UpdateableChange : UpdateableChange
         this.shape = shape;
         this.shape = shape;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (surface is null)
         if (surface is null)
         {
         {
-            return new Error();
+            return false;
         }
         }
 
 
         target.ReferenceLayer = new ReferenceLayer(surface!, shape);
         target.ReferenceLayer = new ReferenceLayer(surface!, shape);
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Root/ResizeCanvas_Change.cs

@@ -21,14 +21,14 @@ internal class ResizeCanvas_Change : Change
         this.anchor = anchor;
         this.anchor = anchor;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (target.Size == newSize || newSize.X < 1 || newSize.Y < 1)
         if (target.Size == newSize || newSize.X < 1 || newSize.Y < 1)
-            return new Error();
+            return false;
         originalSize = target.Size;
         originalSize = target.Size;
         originalHorAxisY = target.HorizontalSymmetryAxisY;
         originalHorAxisY = target.HorizontalSymmetryAxisY;
         originalVerAxisX = target.VerticalSymmetryAxisX;
         originalVerAxisX = target.VerticalSymmetryAxisX;
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Root/ResizeImage_Change.cs

@@ -25,15 +25,15 @@ internal class ResizeImage_Change : Change
         this.method = method;
         this.method = method;
     }
     }
     
     
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (target.Size == newSize || newSize.X < 1 || newSize.Y < 1)
         if (target.Size == newSize || newSize.X < 1 || newSize.Y < 1)
-            return new Error();
+            return false;
         
         
         originalSize = target.Size;
         originalSize = target.Size;
         originalHorAxisY = target.HorizontalSymmetryAxisY;
         originalHorAxisY = target.HorizontalSymmetryAxisY;
         originalVerAxisX = target.VerticalSymmetryAxisX;
         originalVerAxisX = target.VerticalSymmetryAxisX;
-        return new Success();
+        return true;
     }
     }
 
 
     private static FilterQuality ToFilterQuality(ResamplingMethod method, bool downscaling) =>
     private static FilterQuality ToFilterQuality(ResamplingMethod method, bool downscaling) =>

+ 2 - 2
src/PixiEditor.ChangeableDocument/Changes/Root/SymmetryAxisPosition_UpdateableChange.cs

@@ -21,7 +21,7 @@ internal class SymmetryAxisPosition_UpdateableChange : UpdateableChange
         newPos = pos;
         newPos = pos;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         originalPos = direction switch
         originalPos = direction switch
         {
         {
@@ -29,7 +29,7 @@ internal class SymmetryAxisPosition_UpdateableChange : UpdateableChange
             SymmetryAxisDirection.Vertical => target.VerticalSymmetryAxisX,
             SymmetryAxisDirection.Vertical => target.VerticalSymmetryAxisX,
             _ => throw new NotImplementedException(),
             _ => throw new NotImplementedException(),
         };
         };
-        return new Success();
+        return true;
     }
     }
 
 
     private void SetPosition(Document target, int position)
     private void SetPosition(Document target, int position)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Root/SymmetryAxisState_Change.cs

@@ -15,7 +15,7 @@ internal class SymmetryAxisState_Change : Change
         this.newEnabled = enabled;
         this.newEnabled = enabled;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         originalEnabled = direction switch
         originalEnabled = direction switch
         {
         {
@@ -24,8 +24,8 @@ internal class SymmetryAxisState_Change : Change
             _ => throw new NotImplementedException(),
             _ => throw new NotImplementedException(),
         };
         };
         if (originalEnabled == newEnabled)
         if (originalEnabled == newEnabled)
-            return new Error();
-        return new Success();
+            return false;
+        return true;
     }
     }
 
 
     private void SetState(Document target, bool state)
     private void SetState(Document target, bool state)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Selection/ClearSelection_Change.cs

@@ -9,12 +9,12 @@ internal class ClearSelection_Change : Change
     [GenerateMakeChangeAction]
     [GenerateMakeChangeAction]
     public ClearSelection_Change() { }
     public ClearSelection_Change() { }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (target.Selection.SelectionPath.IsEmpty)
         if (target.Selection.SelectionPath.IsEmpty)
-            return new Error();
+            return false;
         originalPath = new VectorPath(target.Selection.SelectionPath);
         originalPath = new VectorPath(target.Selection.SelectionPath);
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 2 - 2
src/PixiEditor.ChangeableDocument/Changes/Selection/SelectEllipse_UpdateableChange.cs

@@ -23,10 +23,10 @@ internal class SelectEllipse_UpdateableChange : UpdateableChange
         this.borders = borders;
         this.borders = borders;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         originalPath = new VectorPath(target.Selection.SelectionPath);
         originalPath = new VectorPath(target.Selection.SelectionPath);
-        return new Success();
+        return true;
     }
     }
 
 
     private Selection_ChangeInfo CommonApply(Document target)
     private Selection_ChangeInfo CommonApply(Document target)

+ 2 - 2
src/PixiEditor.ChangeableDocument/Changes/Selection/SelectLasso_UpdateableChange.cs

@@ -22,10 +22,10 @@ internal class SelectLasso_UpdateableChange : UpdateableChange
         path.LineTo(point);
         path.LineTo(point);
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         originalPath = new VectorPath(target.Selection.SelectionPath);
         originalPath = new VectorPath(target.Selection.SelectionPath);
-        return new Success();
+        return true;
     }
     }
 
 
     private Selection_ChangeInfo CommonApply(Document target)
     private Selection_ChangeInfo CommonApply(Document target)

+ 2 - 2
src/PixiEditor.ChangeableDocument/Changes/Selection/SelectRectangle_UpdateableChange.cs

@@ -16,10 +16,10 @@ internal class SelectRectangle_UpdateableChange : UpdateableChange
         this.rect = rect;
         this.rect = rect;
         this.mode = mode;
         this.mode = mode;
     }
     }
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         originalPath = new VectorPath(target.Selection.SelectionPath);
         originalPath = new VectorPath(target.Selection.SelectionPath);
-        return new Success();
+        return true;
     }
     }
 
 
     [UpdateChangeMethod]
     [UpdateChangeMethod]

+ 2 - 2
src/PixiEditor.ChangeableDocument/Changes/Selection/SetSelection_Change.cs

@@ -13,10 +13,10 @@ internal class SetSelection_Change : Change
         this.selection = new VectorPath(selection) { FillType = PathFillType.EvenOdd };
         this.selection = new VectorPath(selection) { FillType = PathFillType.EvenOdd };
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         originalSelection = ((IReadOnlySelection)target.Selection).SelectionPath;
         originalSelection = ((IReadOnlySelection)target.Selection).SelectionPath;
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Selection/TransformSelectionPath_UpdateableChange.cs

@@ -20,13 +20,13 @@ internal class TransformSelectionPath_UpdateableChange : UpdateableChange
         this.newCorners = corners;
         this.newCorners = corners;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (target.Selection.SelectionPath.IsEmpty)
         if (target.Selection.SelectionPath.IsEmpty)
-            return new Error();
+            return false;
         originalPath = new(target.Selection.SelectionPath);
         originalPath = new(target.Selection.SelectionPath);
         originalTightBounds = (RectI)originalPath.TightBounds;
         originalTightBounds = (RectI)originalPath.TightBounds;
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 2 - 4
src/PixiEditor.ChangeableDocument/Changes/Structure/CreateStructureMember_Change.cs

@@ -20,11 +20,9 @@ internal class CreateStructureMember_Change : Change
         newMemberGuid = newGuid;
         newMemberGuid = newGuid;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
-        if (!target.HasMember(parentFolderGuid))
-            return new Error();
-        return new Success();
+        return target.HasMember(parentFolderGuid);
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document document, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document document, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Structure/DeleteStructureMember_Change.cs

@@ -15,16 +15,16 @@ internal class DeleteStructureMember_Change : Change
         this.memberGuid = memberGuid;
         this.memberGuid = memberGuid;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document document)
+    public override bool InitializeAndValidate(Document document)
     {
     {
         var (member, parent) = document.FindChildAndParent(memberGuid);
         var (member, parent) = document.FindChildAndParent(memberGuid);
         if (member is null || parent is null)
         if (member is null || parent is null)
-            return new Error();
+            return false;
 
 
         originalIndex = parent.Children.IndexOf(member);
         originalIndex = parent.Children.IndexOf(member);
         parentGuid = parent.GuidValue;
         parentGuid = parent.GuidValue;
         savedCopy = member.Clone();
         savedCopy = member.Clone();
-        return new Success();
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document document, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document document, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Structure/DuplicateLayer_Change.cs

@@ -11,11 +11,11 @@ internal class DuplicateLayer_Change : Change
     {
     {
         this.layerGuid = layerGuid;
         this.layerGuid = layerGuid;
     }
     }
-    public override OneOf<Success, Error> InitializeAndValidate(Document target)
+    public override bool InitializeAndValidate(Document target)
     {
     {
         if (!target.TryFindMember<Layer>(layerGuid, out Layer? layer))
         if (!target.TryFindMember<Layer>(layerGuid, out Layer? layer))
-            return new Error();
-        return new Success();
+            return false;
+        return true;
     }
     }
 
 
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
     public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)

+ 3 - 3
src/PixiEditor.ChangeableDocument/Changes/Structure/MoveStructureMember_Change.cs

@@ -20,15 +20,15 @@ internal class MoveStructureMember_Change : Change
         this.targetFolderIndex = targetFolderIndex;
         this.targetFolderIndex = targetFolderIndex;
     }
     }
 
 
-    public override OneOf<Success, Error> InitializeAndValidate(Document document)
+    public override bool InitializeAndValidate(Document document)
     {
     {
         var (member, curFolder) = document.FindChildAndParent(memberGuid);
         var (member, curFolder) = document.FindChildAndParent(memberGuid);
         var targetFolder = document.FindMember(targetFolderGuid);
         var targetFolder = document.FindMember(targetFolderGuid);
         if (member is null || curFolder is null || targetFolder is not Folder)
         if (member is null || curFolder is null || targetFolder is not Folder)
-            return new Error();
+            return false;
         originalFolderGuid = curFolder.GuidValue;
         originalFolderGuid = curFolder.GuidValue;
         originalFolderIndex = curFolder.Children.IndexOf(member);
         originalFolderIndex = curFolder.Children.IndexOf(member);
-        return new Success();
+        return true;
     }
     }
 
 
     private static void Move(Document document, Guid memberGuid, Guid targetFolderGuid, int targetIndex)
     private static void Move(Document document, Guid memberGuid, Guid targetFolderGuid, int targetIndex)

+ 8 - 2
src/PixiEditor.ChangeableDocument/DocumentChangeTracker.cs

@@ -171,11 +171,17 @@ public class DocumentChangeTracker : IDisposable
             return;
             return;
         }
         }
         foreach (var changesToDispose in redoStack)
         foreach (var changesToDispose in redoStack)
+        {
             foreach (var changeToDispose in changesToDispose)
             foreach (var changeToDispose in changesToDispose)
                 changeToDispose.Dispose();
                 changeToDispose.Dispose();
+        }
+
         foreach (var changesToDispose in undoStack)
         foreach (var changesToDispose in undoStack)
+        {
             foreach (var changeToDispose in changesToDispose)
             foreach (var changeToDispose in changesToDispose)
                 changeToDispose.Dispose();
                 changeToDispose.Dispose();
+        }
+
         redoStack.Clear();
         redoStack.Clear();
         undoStack.Clear();
         undoStack.Clear();
     }
     }
@@ -189,7 +195,7 @@ public class DocumentChangeTracker : IDisposable
         }
         }
         var change = act.CreateCorrespondingChange();
         var change = act.CreateCorrespondingChange();
         var validationResult = change.InitializeAndValidate(document);
         var validationResult = change.InitializeAndValidate(document);
-        if (validationResult.IsT1)
+        if (!validationResult)
         {
         {
             Trace.WriteLine($"Change {change} failed validation");
             Trace.WriteLine($"Change {change} failed validation");
             change.Dispose();
             change.Dispose();
@@ -210,7 +216,7 @@ public class DocumentChangeTracker : IDisposable
         {
         {
             var newChange = act.CreateCorrespondingChange();
             var newChange = act.CreateCorrespondingChange();
             var validationResult = newChange.InitializeAndValidate(document);
             var validationResult = newChange.InitializeAndValidate(document);
-            if (validationResult.IsT1)
+            if (!validationResult)
             {
             {
                 Trace.WriteLine($"Change {newChange} failed validation");
                 Trace.WriteLine($"Change {newChange} failed validation");
                 newChange.Dispose();
                 newChange.Dispose();