/// <summary> /// Formats a log list entry. /// </summary> /// <para/> /// If the key is null, writes just the values. /// <param name="entry">Log entry.</param> /// <param name="renderer">Renderer for log data.</param> private void FormatEntry(LogList entry, IDataRenderer renderer) { if (!string.IsNullOrEmpty(entry.Key)) { renderer.RenderKey(entry.Key) .RenderInvariant(KeyValueSeparator); } renderer.RenderInvariant(ListOpening); if (entry.Entries.Count > 0) { foreach (var value in entry.Entries) { if (value is ILogEntry) { FormatEntry((ILogEntry)value, renderer); } else { renderer.RenderValue(value.ToString()); } renderer.RenderInvariant(ListItemSeparator); } renderer.RemoveLastCharacter(); // Removes the last separator. } renderer.RenderInvariant(ListClosing); }
public void SetData(object data) { var dataProcessor = data as IDataProcessor; _dataProcessor = dataProcessor ?? throw new InvalidOperationException($"Аргумент {nameof(data)} должен наследовать интерфейс {nameof(IDataProcessor)}"); _dataProcessorInfo = new DataProcessorInfo(dataProcessor); _dataProcessor.Awake(); if (_dataProcessorInfo.Outputs.Count > 1) { throw new NotImplementedException(); } var output = _dataProcessorInfo.Outputs.Single(); _outputDataRenderer = DataRendererUtil.GetRendererFor(output.Type); _outputDataRenderer.OnUpdateRequest += RequestUpdate; _outputDataRenderer.UpdateControlsRequest += () => UpdateControlsRequest?.Invoke(); var outputObject = output.Get(); if (outputObject != null) { _outputDataRenderer.SetData(outputObject); } _dataProcessor.Updated += DataProcessorUpdated; }
private void Clear() { _tool?.Deactivate(); _tool = null; _renderer?.Dispose(); _renderer = null; ClearToolPanel(); rightPanel.Controls.Clear(); }
/// <summary> /// Formats a basic key/value log entry. /// <para/> /// If the key is null, writes just the value. /// </summary> /// <param name="entry">Log entry.</param> /// <param name="renderer">Renderer for log data.</param> private void FormatEntry(LogEntry entry, IDataRenderer renderer) { if (string.IsNullOrEmpty(entry.Key)) { renderer.RenderValue(entry.Value); } else { renderer.RenderKey(entry.Key) .RenderInvariant(KeyValueSeparator) .RenderValue(entry.Value); } }
public void Dispose() { _outputDataRenderer?.Dispose(); _outputDataRenderer = null; if (_dataProcessor != null) { _dataProcessor.Updated -= DataProcessorUpdated; } _dataProcessor = null; _dataProcessorInfo = null; }
/// <inheritdoc /> public string Format(LogLevelName level, List <ILogEntry> entries, IDataRenderer renderer) { FormatDate(TimeProvider.Now, renderer); FormatLevel(level, renderer); foreach (var entry in entries) { FormatEntry(entry, renderer); renderer.RenderInvariant(EntrySeparator); } renderer.RemoveLastCharacter(); // Removes the last separator. return(renderer.Render()); }
private void SetRenderer(IDataRenderer renderer) { Clear(); //if (_renderer != null && _renderer != renderer) // _renderer.OnUpdateRequest -= RendererOnUpdateRequest; _renderer = renderer; renderer.Resize(_glControl.ClientSize); UpdateRendererControls(); UpdateRendererTools(); _renderer.OnUpdateRequest += RendererOnUpdateRequest; _renderer.UpdateControlsRequest += UpdateRendererControls; }
public static string RenderWebApp(WebApplication webApp, IDataRenderer renderer) { var tableDeMatiere = new TableDeMatiere(); string entete = RenderStyle() + renderer.RenderTitle("SONES - Portail SharePoint", 1) + renderer.RenderTitle("Documentation Fonctionnelles et Techniques\n***\n", 1); string t = renderer.RenderTitle("Introduction :", 2) + renderer.RenderTitle("Applications web :", 2) + renderer.RenderTitle("Sites :\n", 3); foreach (var site in webApp.Sites) { t += RenderSite(site, webApp.Features, tableDeMatiere, renderer); } return(entete + t); }
/// <summary> /// Formats a basic keylog entry. /// <para/> /// If the key is null, writes just the value. /// </summary> /// <param name="entry">Log entry.</param> /// <param name="renderer">Renderer for log data.</param> private void FormatEntry(ILogEntry entry, IDataRenderer renderer) { if (entry is LogEntry) { FormatEntry((LogEntry)entry, renderer); } else if (entry is LogObject) { FormatEntry((LogObject)entry, renderer); } else if (entry is LogList) { FormatEntry((LogList)entry, renderer); } else if (entry is LogException) { FormatEntry((LogException)entry, renderer); } }
private static string RenderGroups(List <Group> groups, IDataRenderer renderer) { if (groups.Count == 0) { return(""); } var groupTable = new DataTable(); groupTable.Header.Add("Groupe"); groupTable.Header.Add("Description"); groupTable.Header.Add("Membres"); foreach (var group in groups) { var row = new List <string>(); row.Add(group.Name); row.Add(group.Description); var membres = new HTMLRenderer().RenderUnorderedList(group.Members); row.Add(membres); groupTable.Rows.Add(row); } return(renderer.RenderTitle("Groupes :", 7) + new HTMLRenderer().RenderTable(groupTable)); }
/// <summary> /// Formats a log object entry. /// </summary> /// <para/> /// If the key is null, writes just the values. /// <param name="entry">Log entry.</param> /// <param name="renderer">Renderer for log data.</param> private void FormatEntry(LogObject entry, IDataRenderer renderer) { if (!string.IsNullOrEmpty(entry.Key)) { renderer.RenderKey(entry.Key) .RenderInvariant(KeyValueSeparator); } renderer.RenderInvariant(ObjectOpening); if (entry.Entries.Count > 0) { foreach (var value in entry.Entries) { FormatEntry(value, renderer); renderer.RenderInvariant(EntrySeparator); } renderer.RemoveLastCharacter(); // Removes the last separator. } renderer.RenderInvariant(ObjectClosing); }
public static void SaveAndRenderData(IDataRenderer dataRenderer) { dataRenderer.SaveData(); dataRenderer.RenderData(); //...more...code.. }
/// <summary> /// Formats the log level in the log. /// </summary> /// <param name="level">Log level name details.</param> /// <param name="renderer">Renderer for log data.</param> private void FormatLevel(LogLevelName level, IDataRenderer renderer) { renderer.RenderLevel(level.Level, string.Concat(ListOpening, level.Entry, ListClosing)) .RenderInvariant(EntrySeparator); }
/// <summary> /// Formats the date/time in the log. /// </summary> /// <param name="date">Date/time to write to the log.</param> /// <param name="renderer">Renderer for log data.</param> public void FormatDate(DateTime date, IDataRenderer renderer) { renderer.RenderDate(date.ToString(DefaultDateTimeFormat)) .RenderInvariant(EntrySeparator); }
/// <summary> /// Formats the log level in the log. /// </summary> /// <param name="entry">Log entry.</param> /// <param name="renderer">Renderer for log data.</param> private void FormatEntry(LogException entry, IDataRenderer renderer) { renderer.RemoveLastCharacter() // Always remove the last entry separator. .RenderInvariant(Environment.NewLine) .RenderException(entry.Details); }
//public static string RenderTableOfContent(TableOfContent tableDeMatiere, IDataRenderer dataRenderer) //{ // int _lastLevel = 4; // string _markdownTable = ""; // foreach (var titre in tableDeMatiere.Titres) // { // var titres = new List<string>(); // var title = dataRenderer.RenderLink(titre.Title, titre.LinkId); // if (titre.Level == _lastLevel) // { // _markdownTable += "<ol type='I'><li>" + titre.Title + "</li>\n"; // } // } // return "</ol>" + _markdownTable; //} private static string RenderSite(Site site, List <CustomFeature> webAppFeatures, TableDeMatiere tableDeMatiere, IDataRenderer renderer) { var enable = ""; var modele = ""; switch (site.Template) { case "STS#1": { modele = "Blank Site(1033)"; ; break; } case "STS#0": { modele = "Team Site (1033)"; break; } case "GLOBAL#0": { modele = "Global template (1033)"; break; } } string titre = string.Format("Site {0}", site.Name); string rendu = renderer.RenderTitle(titre, 4); rendu += string.Format(_formatSite, site.Description, modele); var fonctionnaliteSiteTable = new DataTable(); fonctionnaliteSiteTable.Header.Add("Description"); fonctionnaliteSiteTable.Header.Add("Activer"); foreach (var sitefeature in site.Features) { if (sitefeature.Enable == true) { enable = "Oui"; } else { enable = "Non"; } var row = new List <string>(); row.Add(sitefeature.Description); row.Add(enable); fonctionnaliteSiteTable.Rows.Add(row); } rendu += renderer.RenderTitle("Fonctionnalités du site", 5) + new HTMLRenderer().RenderTable(fonctionnaliteSiteTable); var fonctionnaliteWebTable = new DataTable(); fonctionnaliteWebTable.Header.Add("Description"); fonctionnaliteWebTable.Header.Add("Activer"); foreach (var webfeature in site.WebFeatures) { if (webfeature.Enable == true) { enable = "Oui"; } else { enable = "Non"; } var row = new List <string>(); row.Add(webfeature.Description); row.Add(enable); fonctionnaliteWebTable.Rows.Add(row); } rendu += renderer.RenderTitle("Fonctionnalités du web", 5) + new HTMLRenderer().RenderTable(fonctionnaliteWebTable); rendu += renderer.RenderTitle("Fonctionnalités personnalisées", 5); foreach (var customfeature in site.CustomFeatures) { var customFeatureInfo = webAppFeatures.FirstOrDefault(ft => ft.Name == customfeature); if (customFeatureInfo != null) { rendu += RenderFeature(customFeatureInfo, tableDeMatiere, renderer); } } return(rendu); }
public HtmlRendererAdapter(IDataRenderer dataRenderer) { this.dataRenderer = dataRenderer; htmlRenderer = new HtmlRender("My Page", dataRenderer.GetData()[0]); }
public static string RenderLists(List <List> lists, CustomFeature customFeature, IDataRenderer renderer) { if (lists.Count == 0) { return(""); } string rendu = ""; foreach (var list in lists) { rendu += RenderList(list, customFeature.ContentTypes, customFeature.SiteColumns, renderer); if (string.IsNullOrWhiteSpace(rendu)) { return(""); } if (list.Views.Count > 0) { var listViews = new List <string>(); foreach (var view in list.Views) { listViews.Add(view.Name); } rendu += renderer.RenderTitle("Vues :", 9) + new HTMLRenderer().RenderUnorderedList(listViews); } } return(renderer.RenderTitle("Listes :", 7) + rendu); }
private static string RenderList(List list, List <ContentType> contentTypes, List <SiteColumn> siteColumns, IDataRenderer renderer) { var columnsTable = new DataTable(); columnsTable.Header.Add("Colonne"); columnsTable.Header.Add("Type"); columnsTable.Header.Add("Remarque"); var rows = new List <List <string> >(); foreach (var item in list.ContentTypes) { var contentType = contentTypes.FirstOrDefault(ct => ct.Name == item); rows.AddRange( GetContentTypeFields(contentType, siteColumns, list.SiteColumns, list.Fields, columnsTable)); } columnsTable.Rows = rows; if (columnsTable.Rows.Count == 0) { return(""); } return(renderer.RenderTitle($"Liste {list.Title} :", 8) + renderer.RenderParagraphe(list.Description) + renderer.RenderTitle("Structure de données :", 9) + new HTMLRenderer().RenderTable(columnsTable)); }
public PatternRendererClient(IDataRenderer dataRenderer) { _dataRenderer = dataRenderer; }
private static string RenderFeature(CustomFeature feature, TableDeMatiere tableDeMatiere, IDataRenderer renderer) { string rendu = ""; if (feature.DependentOn.Count > 0) { rendu += "Cette fonctionnalité depend des fonctionnalités suivantes :\n" + new HTMLRenderer().RenderUnorderedList(feature.DependentOn); } rendu += RenderGroups(feature.Groups, renderer); rendu += RenderLists(feature.Lists, feature, renderer); string tF = string.Format("Fonctionnalité {0}", feature.Name); if (string.IsNullOrWhiteSpace(rendu)) { return(""); } return(renderer.RenderTitle(tF, 6) + rendu); }