internal bool OpenWindow(WindowBase window) { if (!WindowOpen(window)) { SuppressDrawing = false; window.UpdateLocation(); windows = windows.Append(window).OrderBy(w => w.ZOrder).ToList(); if (window.Modal) { modalWindow = window; OnModalWindow?.Invoke(this, new ModalWindowEventArgs(true)); } return(true); } return(false); }
internal bool CloseWindow(WindowBase window) { if (window == modalWindow) { SuppressDrawing = false; modalWindow = null; OnModalWindow?.Invoke(this, new ModalWindowEventArgs(false)); } List <WindowBase> updatedWindowList = windows.ToList(); if (updatedWindowList.Remove(window)) { windows = updatedWindowList; return(true); } return(false); }