+ // Save.
+ win.InputBindings.Add(
+ Input.KeyBinding(
+ ViewModule.FunCommand((fun obj -> saveCurrentDocument ()), (fun obj -> true)),
+ Input.KeyGesture(Input.Key.S, Input.ModifierKeys.Control)
+ )
+ ) |> ignore
+
+ // Save as.
+ win.InputBindings.Add(
+ Input.KeyBinding(
+ ViewModule.FunCommand((fun obj -> saveCurrentDocumentAsNewFile ()), (fun obj -> true)),
+ Input.KeyGesture(Input.Key.S, Input.ModifierKeys.Control ||| Input.ModifierKeys.Shift)
+ )
+ ) |> ignore
+
+ // Open.
+ win.InputBindings.Add(
+ Input.KeyBinding(
+ ViewModule.FunCommand((fun obj -> askLoadFile ()), (fun obj -> true)),
+ Input.KeyGesture(Input.Key.O, Input.ModifierKeys.Control)
+ )
+ ) |> ignore
+
+ // New file.
+ win.InputBindings.Add(
+ Input.KeyBinding(
+ ViewModule.FunCommand((fun obj -> newFile ()), (fun obj -> true)),
+ Input.KeyGesture(Input.Key.N, Input.ModifierKeys.Control)
+ )
+ ) |> ignore
+
+ // Export results.
+ win.InputBindings.Add(
+ Input.KeyBinding(
+ ViewModule.FunCommand((fun obj -> exportResults ()), (fun obj -> true)),
+ Input.KeyGesture(Input.Key.E, Input.ModifierKeys.Control)
+ )
+ ) |> ignore
+
+ // Import an image.
+ win.InputBindings.Add(
+ Input.KeyBinding(
+ ViewModule.FunCommand((fun obj -> importImage ()), (fun obj -> true)),
+ Input.KeyGesture(Input.Key.A, Input.ModifierKeys.Control)
+ )
+ ) |> 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(