private static void LoadApp(IWebHost webHost) { var app = new App(); app.InitializeComponent(); var uiBuilder = new PositronUiBuilder() .SetWebHost(webHost) .ConfigureServices(services => { services .AddSingleton <IGlobalScriptObject, TestScriptObject>() .AddSingleton <IPositronDialogHandler, DialogHandler>(); });; uiBuilder.UseConsoleLogger(new TestLogger()); int debugPort; if (int.TryParse(ConfigurationManager.AppSettings["debugPort"], out debugPort)) { uiBuilder.UseDebugPort(debugPort); } WindowHandler = uiBuilder.Build(); System.Windows.Forms.Application.Run(new MainForm()); }
/// <summary> /// Create a new <see cref="PositronWindow"/> with a WinForms window as this parent. /// </summary> /// <param name="windowHandler"><see cref="IPositronUi"/> used to create the window.</param> /// <param name="owner">WinForms owner.</param> /// <param name="targetUrl">Initial URL to display on load.</param> /// <returns>New <see cref="PositronWindow"/>, ready to receive a ShowDialog call.</returns> public static PositronWindow CreateWindowFromWinForms(this IPositronUi windowHandler, System.Windows.Forms.IWin32Window owner, string targetUrl) { var window = windowHandler.CreateWindow(null, targetUrl); if (owner != null) { new WindowInteropHelper(window).Owner = owner.Handle; } return(window); }
public LifeSpanHandler(IPositronUi windowHandler, ILogger <LifeSpanHandler> logger) { if (windowHandler == null) { throw new ArgumentNullException(nameof(windowHandler)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } _windowHandler = windowHandler; _logger = logger; }