+module Parasitemia.GUI.About
+
+open System
+open System.Windows
+open System.Windows.Media
+open System.Windows.Markup
+open System.Windows.Shapes
+open System.Windows.Controls
+open System.Diagnostics
+
+let showWindow (parent: Window) =
+ let window = Views.AboutWindow()
+ window.Root.Owner <- parent
+ window.Root.Left <- parent.Left + parent.ActualWidth / 2. - window.Root.Width / 2.
+ window.Root.Top <- parent.Top + parent.ActualHeight / 2. - window.Root.Height / 2.
+
+ let ctrl (name: string): 'a = window.Root.FindName(name) :?> 'a
+
+ let butClose: Button = ctrl "butClose"
+ let txtAbout: TextBlock = ctrl "txtAbout"
+
+ let version = System.Reflection.Assembly.GetEntryAssembly().GetName().Version
+ let txtVersion = sprintf "%d.%d.%d" version.Major version.Minor version.Revision
+ txtAbout.Inlines.FirstInline.ElementEnd.InsertTextInRun(txtVersion)
+
+#if DEBUG
+ txtAbout.Inlines.FirstInline.ElementEnd.InsertTextInRun(" - DEBUG")
+#endif
+
+ butClose.Click.AddHandler(fun obj args -> window.Root.Close())
+
+ window.Root.ShowDialog() |> ignore
+