X-Git-Url: http://git.euphorik.ch/index.cgi?a=blobdiff_plain;f=Parasitemia%2FParasitemia%2FGUI%2FGUI.fs;h=950afc9d8a520e4e7f94a6f73281f1f5d8564e01;hb=48ecdfc43001c444eff6ad442986049384674af2;hp=8c57e20abeeb1480dc3d50f20e26d878b18bafc9;hpb=81d1b86719a1ebaf649c1de4c1364603155a53e1;p=master-thesis.git diff --git a/Parasitemia/Parasitemia/GUI/GUI.fs b/Parasitemia/Parasitemia/GUI/GUI.fs index 8c57e20..950afc9 100644 --- a/Parasitemia/Parasitemia/GUI/GUI.fs +++ b/Parasitemia/Parasitemia/GUI/GUI.fs @@ -19,8 +19,7 @@ open Types let run (defaultConfig: Config) (fileToOpen: string option) = let app = new Application() let mainWindow = Views.MainWindow() - let ctrl (name: string): 'a = - mainWindow.Root.FindName(name) :?> 'a + let ctrl (name: string): 'a = mainWindow.Root.FindName(name) :?> 'a let colorRBCHealthy = Brushes.YellowGreen let colorRBCInfected = Brushes.Red @@ -38,6 +37,7 @@ let run (defaultConfig: Config) (fileToOpen: string option) = let menuStartAnalysis: MenuItem = ctrl "menuStartAnalysis" let menuView: MenuItem = ctrl "menuView" let menuHightlightRBC: MenuItem = ctrl "menuHightlightRBC" + let menuAbout: MenuItem = ctrl "menuAbout" let txtPatient: TextBox = ctrl "txtPatient" let txtGlobalParasitemia: TextBox = ctrl "txtGlobalParasitemia" @@ -363,18 +363,22 @@ let run (defaultConfig: Config) (fileToOpen: string option) = updateGUI()) menuAddSourceImage.Click.AddHandler(fun obj args -> - let dialog = OpenFileDialog(Filter = "Image Files|*.png;*.jpg;*.tif;*.tiff") + let dialog = OpenFileDialog(Filter = "Image Files|*.png;*.jpg;*.tif;*.tiff", Multiselect = true) let res = dialog.ShowDialog() if res.HasValue && res.Value then - let srcImg = state.AddSourceImage dialog.FileName defaultConfig - addPreview srcImg + let noSourceImage = state.SourceImages.Count() = 0 + + for filename in dialog.FileNames do + let srcImg = state.AddSourceImage filename defaultConfig + addPreview srcImg + updateGlobalParasitemia () - if state.SourceImages.Count() = 1 + + if noSourceImage then updateCurrentImage ()) - menuAnalysis.SubmenuOpened.AddHandler(fun obj args -> menuStartAnalysis.IsEnabled <- state.SourceImages.Count() > 0) menuStartAnalysis.Click.AddHandler(fun obj args -> @@ -388,6 +392,8 @@ let run (defaultConfig: Config) (fileToOpen: string option) = updateRBCFramesPreview () updateRBCFramesCurrent ()) + menuAbout.Click.AddHandler(fun obj args -> About.showWindow mainWindow.Root) + // Zoom on the current image. let adjustCurrentImageBorders (deltaX: float) (deltaY: float) = borderCurrentImage.BorderThickness <-