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