OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.git] / win / C# / HandBrakeWPF / Services / WindowManager.cs
diff --git a/win/C#/HandBrakeWPF/Services/WindowManager.cs b/win/C#/HandBrakeWPF/Services/WindowManager.cs
new file mode 100644 (file)
index 0000000..903597b
--- /dev/null
@@ -0,0 +1,40 @@
+namespace HandBrakeWPF.Services\r
+{\r
+    using System;\r
+    using System.Windows;\r
+\r
+    using Caliburn.PresentationFramework.ApplicationModel;\r
+\r
+    public class WindowManager : DefaultWindowManager, IWindowManager\r
+    {\r
+\r
+        public WindowManager(IViewStrategy viewStrategy, IBinder binder)\r
+\r
+            : base(viewStrategy, binder)\r
+        {\r
+        }\r
+\r
+        //Display a view in a dialog (modal) window \r
+        public new bool? ShowDialog(object rootModel, object context, Action<ISubordinate, Action> handleShutdownModel)\r
+        {\r
+            var window = base.CreateWindow(rootModel, true, context, handleShutdownModel);\r
+            window.WindowStartupLocation = WindowStartupLocation.CenterScreen;\r
+            window.WindowStyle = WindowStyle.ToolWindow;\r
+            window.ResizeMode = ResizeMode.NoResize;\r
+            window.Title = ((IPresenter)rootModel).DisplayName;\r
+            return window.ShowDialog();\r
+        }\r
+\r
+        //Display a view in a popup (non-modal) window \r
+        public new void Show(object rootModel, object context, Action<ISubordinate, Action> handleShutdownModel)\r
+        {\r
+            var window = base.CreateWindow(rootModel, false, context, handleShutdownModel);\r
+            window.WindowStartupLocation = WindowStartupLocation.CenterScreen;\r
+            window.Title = ((IPresenter)rootModel).DisplayName;\r
+            window.ResizeMode = ResizeMode.NoResize;\r
+            window.Show();\r
+        }\r
+\r
+    }\r
+\r
+}\r