コード例 #1
0
ファイル: OperationsManager.cs プロジェクト: kkalinowski/nex
        public void ExecuteOperation(OperationBase operation)
        {
            Pending.Add(operation);
            operation.Finished += operation_Finished;
            operation.Error += operation_Error;
            if (operation.IsComplexOperation)
                operation.Progressed += operation_Progressed;

            AreAnyOperationsOngoing = true;
            operation.Start();
        }
コード例 #2
0
ファイル: OperationsManager.cs プロジェクト: kkalinowski/nex
        private void CleanAfterOperation(OperationBase operation)
        {
            operation.Finished -= operation_Finished;
            if (operation.IsComplexOperation)
                operation.Progressed -= operation_Progressed;

            WpfUtilities.ThreadSafeInvoke(() => Pending.Remove(operation));
            CheckOngoingOperations();
        }
コード例 #3
0
ファイル: OperationsManager.cs プロジェクト: kkalinowski/nex
 public void CancelOperation(OperationBase operation)
 {
     operation.Cancel();
     CleanAfterOperation(operation);
 }
コード例 #4
0
ファイル: OperationsManager.cs プロジェクト: kkalinowski/nex
 public void UndoOperation(OperationBase operation)
 {
     operation.Undo();
     Finished.Remove(operation);
 }