X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=Parasitemia%2FParasitemiaUI%2FUtils.fs;h=a536853b1ea9046336a59dc6e3914a5917323407;hb=HEAD;hp=9f51436dc1d93d9ce41a50e006c0a8506f5f4a1d;hpb=2f335ec0c462159ed9f424e3793b7af290404062;p=master-thesis.git diff --git a/Parasitemia/ParasitemiaUI/Utils.fs b/Parasitemia/ParasitemiaUI/Utils.fs index 9f51436..a536853 100644 --- a/Parasitemia/ParasitemiaUI/Utils.fs +++ b/Parasitemia/ParasitemiaUI/Utils.fs @@ -16,18 +16,15 @@ let percentText (nbTotal : int, nb : int) : string = let percent = 100. * (float nb) / (float nbTotal) sprintf "%.1f %% (%d / %d)" percent nb nbTotal -let roamingDir = - Path.Combine (System.Environment.GetFolderPath (System.Environment.SpecialFolder.ApplicationData), "Parasitemia") - let predefinedPPIFilename = "predefined-ppi.json" -let predefinedPPIFilepath = Path.Combine (roamingDir, predefinedPPIFilename) +let predefinedPPIFilepath = Path.Combine (Constants.USER_DIRECTORY, predefinedPPIFilename) let sensorSizesFilename = "sensor-sizes.json" -let sensorSizesFilepath = Path.Combine (roamingDir, sensorSizesFilename) +let sensorSizesFilepath = Path.Combine (Constants.USER_DIRECTORY, sensorSizesFilename) let private savePredefinedPPIToFile (predefinedPPI : PredefinedPPI list) = try - Directory.CreateDirectory roamingDir |> ignore + Directory.CreateDirectory Constants.USER_DIRECTORY |> ignore use file = new StreamWriter (predefinedPPIFilepath) file.Write (JsonConvert.SerializeObject (predefinedPPI, JsonSerializerSettings (Formatting = Formatting.Indented))) with @@ -36,7 +33,7 @@ let private savePredefinedPPIToFile (predefinedPPI : PredefinedPPI list) = let private saveSensorSizesToFile (sensorSizes : SensorSize list) = try - Directory.CreateDirectory roamingDir |> ignore + Directory.CreateDirectory Constants.USER_DIRECTORY |> ignore use file = new StreamWriter (sensorSizesFilepath) file.Write (JsonConvert.SerializeObject (sensorSizes, JsonSerializerSettings (Formatting = Formatting.Indented))) with @@ -101,9 +98,24 @@ let argsHelp = " --folder : an input folder containing images to analyze\n" + " --file : an image file to be analyzed\n" + " --output : a folder to put the results\n" + - " --debug : output more information like intermediate images (it takes more CPU and memory)\n" + + " --debug : output more information like intermediate images (it takes more CPU and memory) and write debug information to the log files\n" + "Interactive mode:\n" + (sprintf " %s [] [--debug]\n" programName) + " : a PIAZ file to automatically open at startup\n" + - " --debug : output information like intermediate images in the current directory (it takes more CPU and memory)" \ No newline at end of file + " --debug : output information like intermediate images in the current directory (it takes more CPU and memory)" + +open System +open System.Windows + +// Inspired by https://github.com/fsprojects/FSharp.ViewModule/blob/master/src/FSharp.ViewModule/FunCommand.fs +type FunCommand (execute : obj -> unit, canExecute : obj -> bool) = + let canExecuteChanged = Event () + + interface Input.ICommand with + [] + member this.CanExecuteChanged = canExecuteChanged.Publish + + member this.CanExecute (param : obj) = canExecute param + + member this.Execute (param : obj) = execute param \ No newline at end of file