public override void Preview() { //Save the current resource to another session copy string resId = $"Session:{this.EditorService.SessionID}//Preview{Guid.NewGuid()}.{this.Resource.ResourceType.ToString()}"; //NOXLATE string xml = this.XmlContent; var resSvc = this.EditorService.CurrentConnection.ResourceService; try { using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(xml))) { resSvc.SetResourceXmlData(resId, ms); } } catch (Exception ex) { XmlContentErrorDialog.CheckAndHandle(ex, xml, false); } //Copy any resource data var previewCopy = resSvc.GetResource(resId); var conn = _edSvc.CurrentConnection; this.Resource.CopyResourceDataTo(conn, previewCopy); var previewer = ResourcePreviewerFactory.GetPreviewer(conn.ProviderName); if (previewer != null) { previewer.Preview(previewCopy, this.EditorService); } }
/// <summary> /// Previews this resource /// </summary> public virtual void Preview() { var conn = this.EditorService.CurrentConnection; _svc.PrePreviewProcess(); var previewer = ResourcePreviewerFactory.GetPreviewer(conn.ProviderName); if (previewer != null) { previewer.Preview(this.Resource, this.EditorService, _svc.PreviewLocale); } }
private void btnPreview_Click(object sender, EventArgs e) { if (SyncXml()) { var previewer = ResourcePreviewerFactory.GetPreviewer(_conn.ProviderName); if (previewer != null) { previewer.Preview(_svc.GetEditedResource(), _svc); } else { MessageBox.Show(string.Format(Strings.NoRegisteredPreviewerForProvider, _conn.ProviderName)); } } }
/// <summary> /// Launches a preview of the given open resource /// </summary> /// <param name="conn"></param> /// <param name="resourceId"></param> /// <param name="locale"></param> public void PreviewResource(IServerConnection conn, string resourceId, string locale) { Action action = () => { var siteExp = this.MainWindow.ActiveSiteExplorer; var omgr = ServiceRegistry.GetService <OpenResourceManager>(); IEditorViewContent openEd = null; foreach (var ed in omgr.OpenEditors) { if (ed.EditorService.CurrentConnection == conn && ed.EditorService.ResourceID == resourceId) { openEd = ed; break; } } if (openEd != null) { var previewer = ResourcePreviewerFactory.GetPreviewer(conn.ProviderName); if (previewer != null) { previewer.Preview(openEd.Resource, openEd.EditorService, locale); } else { throw new Exception(string.Format(Strings.Error_NoPreviewer, conn.ProviderName)); } } else { throw new Exception(string.Format(Strings.Error_NoOpenEditor, resourceId)); } }; if (this.MainWindow.InvokeRequired) { this.MainWindow.Invoke(action); } else { action(); } }