protected override string OnGetHistoryMementoNameForChanges(MagicWandToolChanges oldChanges, MagicWandToolChanges newChanges) { if ((oldChanges == null) && (newChanges != null)) { return(PdnResources.GetString("MagicWandTool.EndDrawing.HistoryMementoName")); } string genericHistoryMementoName = PdnResources.GetString("MagicWandTool.Changed.Generic.HistoryMementoName"); string historyMementoName = null; if (oldChanges.OriginPoint != newChanges.OriginPoint) { historyMementoName = TransactedTool <MagicWandTool, MagicWandToolChanges> .FoldHistoryMementoName(historyMementoName, genericHistoryMementoName, PdnResources.GetString("FloodFillToolBase.Changed.OriginPoint.HistoryMementoName")); } if (oldChanges.SelectionCombineMode != newChanges.SelectionCombineMode) { historyMementoName = TransactedTool <MagicWandTool, MagicWandToolChanges> .FoldHistoryMementoName(historyMementoName, genericHistoryMementoName, PdnResources.GetString("TransactedTool.Changed.SelectionCombineMode.HistoryMementoName")); } if (oldChanges.FloodMode != newChanges.FloodMode) { historyMementoName = TransactedTool <MagicWandTool, MagicWandToolChanges> .FoldHistoryMementoName(historyMementoName, genericHistoryMementoName, PdnResources.GetString("TransactedTool.Changed.FloodMode.HistoryMementoName")); } if (oldChanges.Tolerance != newChanges.Tolerance) { historyMementoName = TransactedTool <MagicWandTool, MagicWandToolChanges> .FoldHistoryMementoName(historyMementoName, genericHistoryMementoName, PdnResources.GetString("TransactedTool.Changed.Tolerance.HistoryMementoName")); } if (oldChanges.SampleAllLayers != newChanges.SampleAllLayers) { historyMementoName = TransactedTool <MagicWandTool, MagicWandToolChanges> .FoldHistoryMementoName(historyMementoName, genericHistoryMementoName, PdnResources.GetString("TransactedTool.Changed.SampleAllLayers.HistoryMementoName")); } return(historyMementoName ?? genericHistoryMementoName); }
protected override string OnGetHistoryMementoNameForChanges(MoveToolChanges oldChanges, MoveToolChanges newChanges) { string name = base.Name; string historyMementoName = null; if ((oldChanges != null) && (newChanges != null)) { if (oldChanges.SecondaryColor != newChanges.SecondaryColor) { historyMementoName = TransactedTool <MoveTool, MoveToolChanges> .FoldHistoryMementoName(historyMementoName, name, PdnResources.GetString("TransactedTool.Changed.PrimaryColorOrSecondaryColor.HistoryMementoName")); } if (oldChanges.SelectionRenderingQuality != newChanges.SelectionRenderingQuality) { historyMementoName = TransactedTool <MoveTool, MoveToolChanges> .FoldHistoryMementoName(historyMementoName, name, PdnResources.GetString("TransactedTool.Changed.SelectionRenderingQuality.HistoryMementoName")); } if (oldChanges.MoveToolResamplingAlgorithm != newChanges.MoveToolResamplingAlgorithm) { historyMementoName = TransactedTool <MoveTool, MoveToolChanges> .FoldHistoryMementoName(historyMementoName, name, PdnResources.GetString("TransactedTool.Changed.SampleAllLayers.HistoryMementoName")); } } if (historyMementoName == null) { switch (((newChanges != null) ? newChanges.EditingMode : oldChanges.EditingMode)) { case TransformEditingMode.None: case TransformEditingMode.Custom: historyMementoName = base.Name; goto Label_0111; case TransformEditingMode.Rotate: historyMementoName = PdnResources.GetString("MoveTool.HistoryMemento.Rotate"); goto Label_0111; case TransformEditingMode.Scale: historyMementoName = PdnResources.GetString("MoveTool.HistoryMemento.Scale"); goto Label_0111; case TransformEditingMode.Translate: historyMementoName = PdnResources.GetString("MoveTool.HistoryMemento.Translate"); goto Label_0111; case TransformEditingMode.MoveRotationAnchor: historyMementoName = PdnResources.GetString("MoveSelectionTool.HistoryMemento.MoveRotationAnchor"); goto Label_0111; } throw new InternalErrorException(ExceptionUtil.InvalidEnumArgumentException <TransformEditingMode>(newChanges.EditingMode, "newChanges.EditingMode")); } Label_0111 :; return(historyMementoName ?? name); }
private void StepBackwardImpl(IWin32Window owner) { HistoryMemento historyMemento = this.undoStack[this.undoStack.Count - 1]; ToolHistoryMemento memento2 = historyMemento as ToolHistoryMemento; if ((memento2 != null) && (memento2.ToolType != this.documentWorkspace.GetToolType())) { this.documentWorkspace.SetToolFromType(memento2.ToolType); this.StepBackwardImpl(owner); } else { this.OnChanging(); ExecutingHistoryMementoEventArgs e = new ExecutingHistoryMementoEventArgs(historyMemento, true, false); if ((memento2 == null) && (historyMemento.SeriesGuid == Guid.Empty)) { e.SuspendTool = true; } this.OnExecutingHistoryMemento(e); ReferenceValue changes = null; System.Type type = null; if (e.SuspendTool) { TransactedTool tool = this.documentWorkspace.Tool as TransactedTool; if (tool != null) { type = tool.GetType(); tool.ForceCancelDrawingOrEditing(); if (tool.State == TransactedToolState.Dirty) { changes = tool.Changes; tool.CancelChanges(); } } this.documentWorkspace.PushNullTool(); } HistoryMemento memento3 = this.undoStack[this.undoStack.Count - 1]; ExecutingHistoryMementoEventArgs args2 = new ExecutingHistoryMementoEventArgs(memento3, false, e.SuspendTool); this.OnExecutingHistoryMemento(args2); using (this.disallowPushNewMementoRegion.UseEnterScope()) { HistoryMemento item = this.undoStack[this.undoStack.Count - 1].PerformUndo(null); this.undoStack.RemoveAt(this.undoStack.Count - 1); this.redoStack.Insert(0, item); ExecutedHistoryMementoEventArgs args3 = new ExecutedHistoryMementoEventArgs(item); this.OnExecutedHistoryMemento(args3); this.OnChanged(); this.OnSteppedBackward(); item.Flush(); } if (e.SuspendTool) { this.documentWorkspace.PopNullTool(); if (changes != null) { ((TransactedTool)this.documentWorkspace.Tool).RestoreChanges(changes); } } } if (this.stepGroupDepth == 0) { this.OnFinishedStepGroup(); } }