Esempio n. 1
0
        public void OnElementChanged(SMDisplayedElementChangedArgs e)
        {
            IControlHtml ctrlHtml = Svc.SMA.UI.ElementWindow.ControlGroup.GetFirstHtmlControl();

            PDFState.Instance.OnElementChanged(e.NewElement,
                                               ctrlHtml);
        }
Esempio n. 2
0
 public void OnElementChanged(SMDisplayedElementChangedEventArgs e)
 {
     try
     {
         IControlHtml ctrlHtml = Svc.SM.UI.ElementWdw.ControlGroup.GetFirstHtmlControl();
     }
     catch (RemotingException) { }
 }
Esempio n. 3
0
        public static IHTMLDocument2 GetDocument(this IControlHtml ctrlHtml)
        {
            var hwnd = ctrlHtml.DocumentHwnd;

            return(hwnd != null
        ? IEComHelper.GetDocumentFromHwnd(hwnd.Value)
        : null);
        }
 public static void OnElementChanged(SMDisplayedElementChangedArgs e)
 {
     try
     {
         IControlHtml ctrlHtml = Svc.SM.UI.ElementWdw.ControlGroup.GetFirstHtmlControl();
         MediaPlayerState.Instance.OnElementChanged(e.NewElement, ctrlHtml);
     }
     catch (RemotingException) { }
 }
Esempio n. 5
0
 private static string GetCtrlHtml(Tk5FieldInfoEx field, IFieldValueProvider provider,
                                   String ctrl, BasePlugInFactory factroy, bool needId)
 {
     if (factroy.Contains(ctrl))
     {
         IControlHtml html = factroy.CreateInstance <IControlHtml>(ctrl);
         return(html.GetHtml(field, provider, needId));
     }
     else
     {
         return(string.Format(ObjectUtil.SysCulture, "<!--系统当前没有注册{0}的控件,请完善-->", ctrl));
     }
 }
        public void OnElementChanged(IElement newElem,
                                     IControlHtml ctrlHtml)
        {
            PdfWindow?.CancelSave();

            if (newElem == null)
            {
                return;
            }

            if (LastElement?.ElementId == newElem.Id)
            {
                return;
            }

            var html  = ctrlHtml?.Text ?? string.Empty;
            var pdfEl = newElem.Type == ElementType.Topic
        ? PDFElement.TryReadElement(html, newElem.Id)
        : null;

            bool noNewElem  = pdfEl == null;
            bool noLastElem = LastElement == null || (Svc.SM.Registry.Element[LastElement.ElementId]?.Deleted ?? true);

            if (noNewElem && noLastElem)
            {
                return;
            }

            SyncContext.Send(
                delegate
            {
                bool close = LastElement != null && pdfEl == null;

                CloseElement();

                OpenElement(pdfEl);

                if (close)
                {
                    PdfWindow?.Close();
                }
            },
                null);
        }
Esempio n. 7
0
        public void OnElementChanged(IElement newElem,
                                     IControlHtml ctrlHtml)
        {
            // PlayerWindow?.CancelSave();

            if (newElem == null)
            {
                return;
            }

            if (LastElement?.ElementId == newElem.Id)
            {
                return;
            }

            var html = ctrlHtml?.Text ?? string.Empty;

            var ytEl = newElem.Type == ElementType.Topic
              ? YouTubeMediaElement.TryReadElement(html, newElem.Id)
              : null;

            bool noNewElem  = ytEl == null;
            bool noLastElem = LastElement == null || (Svc.SM.Registry.Element[LastElement.ElementId]?.Deleted ?? true);

            if (noNewElem && noLastElem)
            {
                return;
            }

            bool close = LastElement != null && ytEl == null;

            CloseElement();

            OpenElement(ytEl, newElem.Id);

            if (close)
            {
                PlayerWindow?.Close();
            }
        }
        /// <summary>
        /// Takes element content html string and returns References object.
        /// </summary>
        /// <param name="content"></param>
        /// <returns>References object or null</returns>
        public static References GetReferences(this IControlHtml htmlCtrl)
        {
            string content = htmlCtrl?.Text;

            if (string.IsNullOrEmpty(content))
            {
                return(null);
            }

            References refs = new References();

            // Load into HtmlDocument
            var doc = new HtmlDocument();

            doc.LoadHtml(content);
            if (doc == null)
            {
                return(null);
            }

            // Get the Html Node where SM stores references
            string referenceString = GetReferencesHtml(doc);

            // Get each reference as a string and add to the reference object
            refs.Author  = GetReference(referenceString, "Author");
            refs.Comment = GetReference(referenceString, "Comment");

            var dateStr = GetReference(referenceString, "Date");
            var success = DateTime.TryParse(dateStr, out var dt);

            refs.Dates.Add(("", success ? dt : null));

            refs.Email  = GetReference(referenceString, "Email");
            refs.Link   = GetReference(referenceString, "Link");
            refs.Source = GetReference(referenceString, "Source");
            refs.Title  = GetReference(referenceString, "Title");

            return(refs);
        }
Esempio n. 9
0
        private (LaTeXDocument texDoc, IControlHtml ctrlHtml) GetDocuments()
        {
            IControlHtml ctrlHtml = Svc.SM.UI.ElementWdw.ControlGroup.FocusedControl.AsHtml();

            if (ctrlHtml == null)
            {
                return(null, null);
            }

            var    html       = ctrlHtml.Text ?? string.Empty;
            var    htmlDoc    = ctrlHtml.GetDocument();
            var    htmlSelObj = htmlDoc?.selection;
            string htmlSel    = null;

            if (htmlSelObj?.createRange() is IHTMLTxtRange textSel)
            {
                htmlSel = textSel.text;
            }

            var texDoc = new LaTeXDocument(Config, html, htmlSel);

            return(texDoc, ctrlHtml);
        }
Esempio n. 10
0
        public SaveResult Save()
        {
            if (IsChanged == false)
            {
                return(SaveResult.Ok);
            }

            if (ElementId <= 0)
            {
                return(SaveToBackup());
            }

            try
            {
                bool saveToControl = Svc.SM.UI.ElementWdw.CurrentElementId == ElementId;

                if (saveToControl)
                {
                    IControlHtml ctrlHtml = Svc.SM.UI.ElementWdw.ControlGroup.GetFirstHtmlControl();

                    ctrlHtml.Text = UpdateHtml(ctrlHtml.Text);

                    IsChanged = false;
                }

                else
                {
                    return(SaveResult.Fail);

                    /*
                     * var elem = Svc.SM.Registry.Element[ElementId];
                     *
                     * if (elem == null || elem.Deleted)
                     *  return SaveResult.FailDeleted;
                     *
                     * var compGroup = elem.ComponentGroup;
                     *
                     * if (compGroup == null || compGroup.Count == 0)
                     *  return SaveResult.FailDeleted;
                     *
                     * var htmlComp = compGroup.GetFirstHtmlComponent();
                     *
                     * if (htmlComp == null)
                     *  return SaveResult.FailInvalidComponent;
                     *
                     * var textMember = htmlComp.Text;
                     *
                     * if (textMember == null || textMember.Empty)
                     *  return SaveResult.FailInvalidTextMember;
                     *
                     * textMember.Value = UpdateHtml(textMember.Value);
                     *
                     * IsChanged = false;
                     */
                }


                return(SaveResult.Ok);
            }
            catch (Exception)
            {
                return(SaveToBackup());
            }
        }