Commit Graph

5 Commits

Author SHA1 Message Date
adroslice
2aa1fa6529 Fixed Error databinding
- I don't understand why this works now, but it does and I'm glad.
2019-11-17 04:47:17 +01:00
adroslice
5d8327f071 Fully implemented Operations UI with one example
- You can now add, remove, modify and move operations
- FilterChangedAny was renamed to FilterChanged, the new event for the preview follows the same naming scheme with PreviewChanged
- Operations now actually verify that they're enabled (This was originally supposed to be done in the loop in Preview(), but this way seems nicer since it also removes the error label when the operation is disabled)
- The foundation has been laid to make it very easy to add more operations
2019-11-17 02:22:13 +01:00
adroslice
c51f848a31 Removed Operation.OperationType
- Since OperationType instanciates two new operation this results in a stack overflow.
2019-11-16 03:50:55 +01:00
adroslice
0eb940012d Implemented preview TODO, modified exception handling
- Better handles unexpected exceptions
- Expected exceptions should be OperationException
- Leaves files unchanged even if the exception occurs at *any* point of the operation
- TODO: Probably have to optimize this.
- Operations now operate on IList<T> instead of List<T> to maintain compatibility with AvaloniaList<T>
- Slightly better comments
2019-11-16 02:47:07 +01:00
adroslice
704b7ea1a9 Added internal Operation Infrastructure + Example
- Overwrite might be a bad example, because it has no fail conditions. The intended behaviour for those is to throw an exception for invalid parameters, with an error text describing to the user what went wrong.
- Fail condition check may be moved to a seperate abstract method, forcing implementers to at least give fail conditions a thought.
- Minor refactor
- TODO: Better folder structure to group operations (Looking for suggestions)
2019-11-16 02:00:17 +01:00