static void CriarHTMLPaginaIndex(string raiz, LALDominio dominio) { var indexFilePath = $@"{raiz}\Index.html"; var pageTitle = $"Index: {dominio.Nome}"; var inPageTitle = $"Léxico Ampliado da Linguagem para {dominio.Nome}"; var inPageDesc = $"{dominio.Descricao}"; var contents = new List <string>(); contents.Add($"<!DOCTYPE html>"); contents.Add($"<html>"); contents.Add($"<head>"); contents.Add($"<title>{pageTitle}</title>"); contents.Add($"</head>"); contents.Add($"<body>"); contents.Add($"<h2>{inPageTitle}</h2>"); contents.Add($"<p>{inPageDesc}</p>"); contents.Add($"<br>"); contents.Add($"<hr>"); contents.Add($"<br>"); contents.Add($"<table>"); foreach (var simbolo in dominio.Simbolos) { contents.Add($"<tr>"); contents.Add($"<td><a href=\"Entradas\\{simbolo.Nome}.html\">{simbolo}</a></td>"); contents.Add($"</tr>"); } contents.Add($"</table>"); contents.Add($"</body>"); contents.Add($"</html>"); File.WriteAllLines(indexFilePath, contents, Encoding.Default); }
public static void ExportarHTMLVisualLAL(LALDominio dominio) { var documentos = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); var raizLAL = $@"{documentos}\VisualLAL\{dominio.Nome}"; var raizLALEntradas = $@"{raizLAL}\Entradas"; #region Diretórios if (Directory.Exists(raizLALEntradas)) { var dirInfo = new DirectoryInfo(raizLALEntradas); foreach (var fileInfo in dirInfo.GetFiles()) { fileInfo.Delete(); } } if (Directory.Exists(raizLAL)) { var dirInfo = new DirectoryInfo(raizLAL); foreach (var fileInfo in dirInfo.GetFiles()) { fileInfo.Delete(); } } Directory.CreateDirectory(raizLALEntradas); #endregion var simbolos = dominio.Simbolos; CriarHTMLPaginaIndex(raizLAL, dominio); foreach (var simbolo in simbolos) { CriarHTMLPaginaSimbolo(raizLAL, simbolo); } }
/// <summary> /// Initialize the parts list when the model has loaded from file. /// </summary> internal void SetUpFormFromModel() { modelRoot = this.docView.CurrentDiagram.ModelElement as LALDominio; UpdatePartsList(); }
// Fire PostLoad customization code whether Load succeeded or not // Provide a method in a partial class with the following signature: /// <summary> /// Customize Model and Diagram Loading. /// </summary> /// <param name="serializationResult">Stores serialization result from the load operation.</param> /// <param name="modelPartition">Partition in which the new DslLibrary instance will be created.</param> /// <param name="modelFileName">Name of the file from which the DslLibrary instance will be deserialized.</param> /// <param name="diagramPartition">Partition in which the new DslDesignerDiagram instance will be created.</param> /// <param name="diagramFileName">Name of the file from which the DslDesignerDiagram instance will be deserialized.</param> /// <param name="modelRoot">The root of the file that was loaded.</param> /// <param name="diagram">The diagram matching the modelRoot.</param> private void OnPostLoadModelAndDiagram(SerializationResult serializationResult, Partition modelPartition, string modelFileName, Partition diagramPartition, string diagramFileName, LALDominio modelRoot, VisualLALDiagram diagram) { //Debug.WriteLine("OnPostLoadModelAndDiagram"); if (!serializationResult.Failed) { VisualLALMapeamento.Instance.SetStore(modelRoot.Store); var entries = VisualLALMapeamento.Instance.MapaEntradas; var links = VisualLALMapeamento.Instance.MapaReferencias; var simbolos = modelRoot.Simbolos; var sinonimos = modelRoot.Simbolos.SelectMany(s => s.Sinonimos); var nocoes = modelRoot.Simbolos.SelectMany(s => s.Nocoes); var impactos = modelRoot.Simbolos.SelectMany(s => s.Impactos); links.ApagarTudo(); entries.ApagarTudo(); foreach (var s in simbolos) { //Debug.WriteLine(s.Nome); entries.Adicionar(s); } foreach (var s in sinonimos) { //Debug.WriteLine(s.Nome); entries.Adicionar(s); } foreach (var n in nocoes) { //Debug.WriteLine(n.Texto); links.AnalisaEAdicionaMapaDeReferenciaParaNovaSubEntrada(n); } foreach (var b in impactos) { //Debug.WriteLine(b.Texto); links.AnalisaEAdicionaMapaDeReferenciaParaNovaSubEntrada(b); } return; } Debug.WriteLine("OnPostLoadModelAndDiagram Failed"); }
/// <summary> /// Customize Model Loading. /// </summary> /// <param name="serializationResult">Stores serialization result from the load operation.</param> /// <param name="partition">Partition in which the new LELDomain instance will be created.</param> /// <param name="fileName">Name of the file from which the LELDomain instance will be deserialized.</param> /// <param name="modelRoot">The root of the file that was loaded.</param> private void OnPostLoadModel(SerializationResult serializationResult, Partition partition, string fileName, LALDominio modelRoot) { //Debug.WriteLine("OnPostLoad"); }