X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=Parasitemia%2FParasitemiaUI%2FAnalysis.fs;h=2ff0b1e31c1612430a6e7d2485639c3f1208ef9b;hb=ec96e4c38dd6beaf22b4e2a2ebb87248fea6f209;hp=70d9ef0ec3323e90d17d422ac09d58fd32294fb0;hpb=23466ba92c5595f6c0b9f97c86a221a4e5ffebe9;p=master-thesis.git diff --git a/Parasitemia/ParasitemiaUI/Analysis.fs b/Parasitemia/ParasitemiaUI/Analysis.fs index 70d9ef0..2ff0b1e 100644 --- a/Parasitemia/ParasitemiaUI/Analysis.fs +++ b/Parasitemia/ParasitemiaUI/Analysis.fs @@ -63,8 +63,8 @@ let showWindow (parent: Window) (state: State.State) : bool = imageSourceSelection.menuZoom50X.Click.AddHandler(fun obj args -> imageSourceSelection.txtResolution.Text <- "230000") imageSourceSelection.menuZoom100X.Click.AddHandler(fun obj args -> imageSourceSelection.txtResolution.Text <- "460000") - imageSourceSelection.butDPICalculator.Click.AddHandler(fun obj args -> - match DPICalculator.showWindow win.Root with + imageSourceSelection.butPPICalculator.Click.AddHandler(fun obj args -> + match PPICalculator.showWindow win.Root with | Some resolution -> imageSourceSelection.txtResolution.Text <- resolution.ToString() | None -> ()) @@ -128,17 +128,18 @@ let showWindow (parent: Window) (state: State.State) : bool = | Some results -> for id, cells in results do state.SetResult (int id) cells - - win.Root.Dispatcher.Invoke(fun () -> - win.stackSourceImagesSelection.IsEnabled <- true - win.butStart.IsEnabled <- true - win.butClose.Content <- "Close" - updateSourceImages ()) - Logger.Log.User("All analyses terminated successfully") atLeastOneAnalysisPerformed <- true analysisPerformed <- true - | None -> ()) + | None -> + Logger.Log.User("Analysis aborted") + + win.Root.Dispatcher.Invoke(fun () -> + win.progress.Value <- if maybeResults.IsSome then 100. else 0. + win.stackSourceImagesSelection.IsEnabled <- true + win.butStart.IsEnabled <- true + win.butClose.Content <- "Close" + updateSourceImages ())) } |> Async.Start | _ -> ()) @@ -151,5 +152,6 @@ let showWindow (parent: Window) (state: State.State) : bool = lock monitor (fun () -> if not analysisPerformed then + // To cancel the current analysis if one is running on the next call to the progress function. analysisCancelled <- true atLeastOneAnalysisPerformed)