public void OnElementChanged(SMDisplayedElementChangedArgs e) { IControlHtml ctrlHtml = Svc.SMA.UI.ElementWindow.ControlGroup.GetFirstHtmlControl(); PDFState.Instance.OnElementChanged(e.NewElement, ctrlHtml); }
public void OnElementChanged(SMDisplayedElementChangedEventArgs e) { try { IControlHtml ctrlHtml = Svc.SM.UI.ElementWdw.ControlGroup.GetFirstHtmlControl(); } catch (RemotingException) { } }
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) { } }
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); }
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); }
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); }
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()); } }