X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=Parasitemia%2FParasitemiaUI%2FGUI.fs;h=0a93d90367cd6e46ca268d021670594a70a88390;hb=e2517b9837d5c82e003bc3aa7b27040636cea6f0;hp=ade197ed9d4fdd0f5d8f260d8ef71c68e4a6bd7e;hpb=b87b35b922551f122228df1fd9c530bbb807935a;p=master-thesis.git diff --git a/Parasitemia/ParasitemiaUI/GUI.fs b/Parasitemia/ParasitemiaUI/GUI.fs index ade197e..0a93d90 100644 --- a/Parasitemia/ParasitemiaUI/GUI.fs +++ b/Parasitemia/ParasitemiaUI/GUI.fs @@ -226,7 +226,6 @@ let run (defaultConfig : Config) (fileToOpen : string option) = RBCFrameFromExisting srcImg rbc (win.canvasCurrentImage.Children.[currentCanvas] :?> Views.RBCFrame) else let f = RBCFrame srcImg rbc - f.Opacity <- 0.7 win.canvasCurrentImage.Children.Add(f) |> ignore f @@ -438,6 +437,16 @@ let run (defaultConfig : Config) (fileToOpen : string option) = if noSourceImage then updateCurrentImage () + let showAnalysisWindow () = + if Analysis.showWindow win state then + updateGlobalParasitemia () + updateCurrentImage () + + let setHighlightRBC (highlight : bool) = + displayHealthy <- highlight + updateRBCFramesPreview () + updateRBCFramesCurrent () + win.txtPatient.TextChanged.AddHandler(fun obj args -> state.PatientID <- win.txtPatient.Text) win.menuExit.Click.AddHandler(fun obj args -> win.Close()) @@ -451,17 +460,9 @@ let run (defaultConfig : Config) (fileToOpen : string option) = win.menuAnalysis.SubmenuOpened.AddHandler(fun obj args -> win.menuStartAnalysis.IsEnabled <- state.SourceImages.Count() > 0) - win.menuStartAnalysis.Click.AddHandler(fun obj args -> - if Analysis.showWindow win state then - updateGlobalParasitemia () - updateCurrentImage () - ) + win.menuStartAnalysis.Click.AddHandler(fun obj args -> showAnalysisWindow ()) - win.menuHightlightRBC.Click.AddHandler(fun obj args -> - displayHealthy <- win.menuHightlightRBC.IsChecked - updateRBCFramesPreview () - updateRBCFramesCurrent () - ) + win.menuHightlightRBC.Click.AddHandler(fun obj args -> setHighlightRBC win.menuHightlightRBC.IsChecked) win.menuAbout.Click.AddHandler(fun obj args -> About.showWindow win) @@ -601,6 +602,29 @@ let run (defaultConfig : Config) (fileToOpen : string option) = ) ) |> ignore + // Show analysis dialog. + win.InputBindings.Add( + Input.KeyBinding( + ViewModule.FunCommand((fun obj -> showAnalysisWindow ()), (fun obj -> state.SourceImages.Count() > 0)), + Input.KeyGesture(Input.Key.Y, Input.ModifierKeys.Control) + ) + ) |> ignore + + // Toggle RBC highlight. + win.InputBindings.Add( + Input.KeyBinding( + ViewModule.FunCommand( + ( + fun obj -> + win.menuHightlightRBC.IsChecked <- not win.menuHightlightRBC.IsChecked + setHighlightRBC win.menuHightlightRBC.IsChecked + ), + (fun obj -> true) + ), + Input.KeyGesture(Input.Key.H, Input.ModifierKeys.Control) + ) + ) |> ignore + // Viewport preview. win.scrollViewCurrentImage.ScrollChanged.AddHandler(fun obj args -> updateViewportPreview ())