protected virtual Task <bool> ShowWindowViewController( NSViewController viewController, MvxWindowPresentationAttribute attribute, MvxViewModelRequest request) { NSWindow window = null; MvxWindowController windowController = null; if (!string.IsNullOrEmpty(attribute.WindowControllerName)) { windowController = CreateWindowController(attribute); window = windowController.Window; } if (window == null) { window = CreateWindow(attribute); if (windowController == null) { windowController = CreateWindowController(window); windowController.ShouldCascadeWindows = attribute.ShouldCascadeWindows; } windowController.Window = window; } else { UpdateWindow(attribute, window); } if (!Windows.Contains(window)) { Windows.Add(window); } window.Identifier = attribute.Identifier ?? viewController.GetType().Name; if (!string.IsNullOrEmpty(viewController.Title)) { window.Title = viewController.Title; } window.ContentView = viewController.View; window.ContentViewController = viewController; windowController.ShowWindow(null); return(Task.FromResult(true)); }
protected virtual void ShowWindowViewController( NSViewController viewController, MvxWindowPresentationAttribute attribute, MvxViewModelRequest request) { NSWindow window = null; MvxWindowController windowController = null; if (!string.IsNullOrEmpty(attribute.WindowControllerName)) { windowController = CreateWindowController(attribute); window = windowController.Window; } if (window == null) { window = CreateWindow(attribute); if (windowController == null) { windowController = CreateWindowController(window); windowController.ShouldCascadeWindows = attribute.ShouldCascadeWindows ?? MvxWindowPresentationAttribute.DefaultShouldCascadeWindows; } windowController.Window = window; } else { UpdateWindow(attribute, window); } window.Identifier = attribute.Identifier ?? viewController.GetType().Name; if (!string.IsNullOrEmpty(viewController.Title)) { window.Title = viewController.Title; } Windows.Add(window); window.ContentView = viewController.View; window.ContentViewController = viewController; windowController.ShowWindow(null); _windowsToWindowControllers.Add(window, windowController); }