Example #1
0
        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);
        }
Example #3
0
        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();
            }
        }