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);
            }
        }
Beispiel #2
0
        /// <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);
            }
        }
Beispiel #3
0
 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));
         }
     }
 }
Beispiel #4
0
        /// <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();
            }
        }