From f30dcf5ef41d54c588d7b42c48be8d941abba72e Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 8 Jan 2017 09:57:10 -0500 Subject: Initial upload --- ShiftOS.Wpf/WpfWindowManager.cs | 63 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 ShiftOS.Wpf/WpfWindowManager.cs (limited to 'ShiftOS.Wpf/WpfWindowManager.cs') diff --git a/ShiftOS.Wpf/WpfWindowManager.cs b/ShiftOS.Wpf/WpfWindowManager.cs new file mode 100644 index 0000000..ee7c598 --- /dev/null +++ b/ShiftOS.Wpf/WpfWindowManager.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using ShiftOS.Engine; + +namespace ShiftOS.Wpf +{ + public class WpfWindowManager : WindowManager + { + public override void Close(IShiftOSWindow win) + { + IWindowBorder brdrToClose = null; + + foreach(WpfWindowBorder brdr in AppearanceManager.OpenForms) + { + if(brdr.ParentWindow == win) + { + brdrToClose = brdr; + } + } + + if (brdrToClose != null) + { + brdrToClose.Close(); + AppearanceManager.OpenForms.Remove(brdrToClose); + } + + } + + public override void InvokeAction(Action act) + { + App.Current.Dispatcher.Invoke(act); + } + + public override void Maximize(IWindowBorder border) + { + var wb = (WpfWindowBorder)border; + } + + public override void Minimize(IWindowBorder border) + { + throw new NotImplementedException(); + } + + public override void SetupDialog(IShiftOSWindow win) + { + var brdr = new WpfWindowBorder(win); + brdr.IsDialog = true; + AppearanceManager.OpenForms.Add(brdr); + } + + public override void SetupWindow(IShiftOSWindow win) + { + var brdr = new WpfWindowBorder(win); + + AppearanceManager.OpenForms.Add(brdr); + } + } +} -- cgit v1.2.3