Widget CreateWidget(DocumentViewContent view) { if (control != null) { return(control); } var toolbar = view.GetToolbar(); // TODO: enable native backend by default without checking NATIVE_BUILD_OUTPUT env var nativeEnabled = Environment.GetEnvironmentVariable("NATIVE_BUILD_OUTPUT")?.ToLower() == "true"; // native mode on Mac only, until we support Wpf embedding var engine = Xwt.Toolkit.NativeEngine.Type == ToolkitType.XamMac && nativeEnabled ? Xwt.Toolkit.NativeEngine : Xwt.Toolkit.CurrentEngine; engine.Invoke(() => { if (buildOutput != null) { control = new BuildOutputWidget(buildOutput, DocumentTitle, toolbar); } else { control = new BuildOutputWidget(FilePath, toolbar); } control.FileNameChanged += FileNameChanged; }); return(control); }