├── .github └── workflows │ └── dotnetcore.yml ├── .gitignore ├── BUILDING.md ├── Directory.Build.props ├── Monitored Undo Framework.sln ├── README.md ├── docs ├── ClassDiagram.png └── README.md ├── license.md ├── samples ├── WpfUndoSample │ ├── App.xaml │ ├── App.xaml.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── WpfUndoSample.csproj │ └── app.config └── WpfUndoSampleMVVM.Core │ ├── App.xaml │ ├── App.xaml.cs │ ├── AssemblyInfo.cs │ ├── AttachedProperties.cs │ ├── EventToCommand.cs │ ├── IEventArgsConverter.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── MainWindowViewModel.cs │ └── WpfUndoSampleMVVM.Core.csproj ├── src ├── .gitignore └── MonitoredUndo │ ├── ChangeFactory.cs │ ├── ChangeKey_T2.cs │ ├── ChangeKey_T3.cs │ ├── ChangeSet.cs │ ├── Changes │ ├── Change.cs │ ├── CollectionAddChange.cs │ ├── CollectionAddRemoveChangeBase.cs │ ├── CollectionChange.cs │ ├── CollectionMoveChange.cs │ ├── CollectionRemoveChange.cs │ ├── CollectionReplaceChange.cs │ ├── DelegateChange.cs │ ├── DictionaryAddChange.cs │ ├── DictionaryAddRemoveChangeBase.cs │ ├── DictionaryChange.cs │ ├── DictionaryRemoveChange.cs │ ├── DictionaryReplaceChange.cs │ └── PropertyChange.cs │ ├── DefaultChangeFactory.cs │ ├── ISupportsUndo.cs │ ├── ISupportsUndoNotification.cs │ ├── IUndoMetadata.cs │ ├── MonitoredUndo.csproj │ ├── MonitoredUndo.csproj.vspscc │ ├── UndoBatch.cs │ ├── UndoRoot.cs │ ├── UndoService.cs │ └── WeakReferenceComparer.cs └── tests └── MonitoredUndo.Tests ├── ChildA.cs ├── ChildB.cs ├── MonitoredUndo.Tests.csproj ├── ObservableDictionary.cs ├── RootDocument.cs └── UndoTests.cs /.github/workflows/dotnetcore.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/.github/workflows/dotnetcore.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/.gitignore -------------------------------------------------------------------------------- /BUILDING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/BUILDING.md -------------------------------------------------------------------------------- /Directory.Build.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/Directory.Build.props -------------------------------------------------------------------------------- /Monitored Undo Framework.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/Monitored Undo Framework.sln -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/README.md -------------------------------------------------------------------------------- /docs/ClassDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/docs/ClassDiagram.png -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/docs/README.md -------------------------------------------------------------------------------- /license.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/license.md -------------------------------------------------------------------------------- /samples/WpfUndoSample/App.xaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSample/App.xaml -------------------------------------------------------------------------------- /samples/WpfUndoSample/App.xaml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSample/App.xaml.cs -------------------------------------------------------------------------------- /samples/WpfUndoSample/MainWindow.xaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSample/MainWindow.xaml -------------------------------------------------------------------------------- /samples/WpfUndoSample/MainWindow.xaml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSample/MainWindow.xaml.cs -------------------------------------------------------------------------------- /samples/WpfUndoSample/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSample/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /samples/WpfUndoSample/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSample/Properties/Resources.Designer.cs -------------------------------------------------------------------------------- /samples/WpfUndoSample/Properties/Resources.resx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSample/Properties/Resources.resx -------------------------------------------------------------------------------- /samples/WpfUndoSample/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSample/Properties/Settings.Designer.cs -------------------------------------------------------------------------------- /samples/WpfUndoSample/Properties/Settings.settings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSample/Properties/Settings.settings -------------------------------------------------------------------------------- /samples/WpfUndoSample/WpfUndoSample.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSample/WpfUndoSample.csproj -------------------------------------------------------------------------------- /samples/WpfUndoSample/app.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSample/app.config -------------------------------------------------------------------------------- /samples/WpfUndoSampleMVVM.Core/App.xaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSampleMVVM.Core/App.xaml -------------------------------------------------------------------------------- /samples/WpfUndoSampleMVVM.Core/App.xaml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSampleMVVM.Core/App.xaml.cs -------------------------------------------------------------------------------- /samples/WpfUndoSampleMVVM.Core/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSampleMVVM.Core/AssemblyInfo.cs -------------------------------------------------------------------------------- /samples/WpfUndoSampleMVVM.Core/AttachedProperties.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSampleMVVM.Core/AttachedProperties.cs -------------------------------------------------------------------------------- /samples/WpfUndoSampleMVVM.Core/EventToCommand.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSampleMVVM.Core/EventToCommand.cs -------------------------------------------------------------------------------- /samples/WpfUndoSampleMVVM.Core/IEventArgsConverter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSampleMVVM.Core/IEventArgsConverter.cs -------------------------------------------------------------------------------- /samples/WpfUndoSampleMVVM.Core/MainWindow.xaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSampleMVVM.Core/MainWindow.xaml -------------------------------------------------------------------------------- /samples/WpfUndoSampleMVVM.Core/MainWindow.xaml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSampleMVVM.Core/MainWindow.xaml.cs -------------------------------------------------------------------------------- /samples/WpfUndoSampleMVVM.Core/MainWindowViewModel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSampleMVVM.Core/MainWindowViewModel.cs -------------------------------------------------------------------------------- /samples/WpfUndoSampleMVVM.Core/WpfUndoSampleMVVM.Core.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/samples/WpfUndoSampleMVVM.Core/WpfUndoSampleMVVM.Core.csproj -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- 1 | /report 2 | /packages 3 | /TestResults 4 | 5 | -------------------------------------------------------------------------------- /src/MonitoredUndo/ChangeFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/ChangeFactory.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/ChangeKey_T2.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/ChangeKey_T2.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/ChangeKey_T3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/ChangeKey_T3.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/ChangeSet.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/ChangeSet.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/Change.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/Change.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/CollectionAddChange.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/CollectionAddChange.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/CollectionAddRemoveChangeBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/CollectionAddRemoveChangeBase.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/CollectionChange.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/CollectionChange.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/CollectionMoveChange.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/CollectionMoveChange.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/CollectionRemoveChange.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/CollectionRemoveChange.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/CollectionReplaceChange.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/CollectionReplaceChange.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/DelegateChange.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/DelegateChange.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/DictionaryAddChange.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/DictionaryAddChange.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/DictionaryAddRemoveChangeBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/DictionaryAddRemoveChangeBase.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/DictionaryChange.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/DictionaryChange.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/DictionaryRemoveChange.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/DictionaryRemoveChange.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/DictionaryReplaceChange.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/DictionaryReplaceChange.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/Changes/PropertyChange.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/Changes/PropertyChange.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/DefaultChangeFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/DefaultChangeFactory.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/ISupportsUndo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/ISupportsUndo.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/ISupportsUndoNotification.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/ISupportsUndoNotification.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/IUndoMetadata.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/IUndoMetadata.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/MonitoredUndo.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/MonitoredUndo.csproj -------------------------------------------------------------------------------- /src/MonitoredUndo/MonitoredUndo.csproj.vspscc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/MonitoredUndo.csproj.vspscc -------------------------------------------------------------------------------- /src/MonitoredUndo/UndoBatch.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/UndoBatch.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/UndoRoot.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/UndoRoot.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/UndoService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/UndoService.cs -------------------------------------------------------------------------------- /src/MonitoredUndo/WeakReferenceComparer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/src/MonitoredUndo/WeakReferenceComparer.cs -------------------------------------------------------------------------------- /tests/MonitoredUndo.Tests/ChildA.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/tests/MonitoredUndo.Tests/ChildA.cs -------------------------------------------------------------------------------- /tests/MonitoredUndo.Tests/ChildB.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/tests/MonitoredUndo.Tests/ChildB.cs -------------------------------------------------------------------------------- /tests/MonitoredUndo.Tests/MonitoredUndo.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/tests/MonitoredUndo.Tests/MonitoredUndo.Tests.csproj -------------------------------------------------------------------------------- /tests/MonitoredUndo.Tests/ObservableDictionary.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/tests/MonitoredUndo.Tests/ObservableDictionary.cs -------------------------------------------------------------------------------- /tests/MonitoredUndo.Tests/RootDocument.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/tests/MonitoredUndo.Tests/RootDocument.cs -------------------------------------------------------------------------------- /tests/MonitoredUndo.Tests/UndoTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathanaw/muf/HEAD/tests/MonitoredUndo.Tests/UndoTests.cs --------------------------------------------------------------------------------