X-Git-Url: http://git.euphorik.ch/?p=master-thesis.git;a=blobdiff_plain;f=Parasitemia%2FParasitemiaUI%2FGUI.fs;fp=Parasitemia%2FParasitemiaUI%2FGUI.fs;h=985c8a4cc0be54cad1b7ef9f945685d401cb5575;hp=ade197ed9d4fdd0f5d8f260d8ef71c68e4a6bd7e;hb=ecf48cdb4f085eb6f53b42f9d4eac67b44a92d70;hpb=1149393ad8501b083667f870da6a5e626da3db70 diff --git a/Parasitemia/ParasitemiaUI/GUI.fs b/Parasitemia/ParasitemiaUI/GUI.fs index ade197e..985c8a4 100644 --- a/Parasitemia/ParasitemiaUI/GUI.fs +++ b/Parasitemia/ParasitemiaUI/GUI.fs @@ -438,6 +438,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 +461,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 +603,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 ())