/// <summary> /// Obtiene una tabla con los datos de los enumerados de un documento /// </summary> private void GetTableEnums(MLNode objMLRoot, DocumentFileModel objDocument) { LanguageStructModelCollection objColStructs = base.SelectItemsForGeneration(objDocument, LanguageStructModel.StructType.Enum); if (objColStructs != null && objColStructs.Count > 0) { MLNode objMLTable; // Cabecera objMLRoot.Nodes.Add("br"); objMLRoot.Nodes.Add("h3", "Enumerados"); // Cabecera de tabla objMLTable = MLBuilder.AddTable(objMLRoot, "Ambito", "Nombre", "Descripción"); // Recorre los enumerados foreach (LanguageStructModel objStruct in objColStructs) { EnumModel objEnum = objStruct as EnumModel; if (objEnum != null) { // Cabecera del enumerado MLBuilder.AddRowTable(objMLTable, MLBuilderHelper.GetModifierText(objEnum.Modifier), objEnum.Name, objEnum.RemarksXml.Summary); // Comentarios adicionales AddRowRemarks(objMLTable, objEnum.RemarksXml.Remarks, 1, 2); // Añade los miembros del enumerado foreach (LanguageStructModel objMember in objEnum.Items) { MLBuilder.AddRowTable(objMLTable, "", objMember.Name, objMember.RemarksXml.Summary); } } } } }
/// <summary> /// Obtiene una tabla de estructuras de determinado tipo /// </summary> private void GetTableStructs(MLNode objMLRoot, LanguageStructModelCollection objColStructs, string strTitle) { if (objColStructs != null && objColStructs.Count > 0) { MLNode objMLTable; // Título objMLRoot.Nodes.Add("br"); objMLRoot.Nodes.Add("h3", strTitle); // Tabla objMLTable = MLBuilder.AddTable(objMLRoot, "Ambito", "Nombre", "Descripción"); // Añade las filas foreach (LanguageStructModel objStruct in objColStructs) { MLNode objMLRow = objMLTable.Nodes.Add("tr"); objMLRow.Nodes.Add("td", MLBuilderHelper.GetModifierText(objStruct.Modifier)); // objMLRow.Nodes.Add("td").Nodes.Add(MLBuilderHelper.GetLink(objStruct)); objMLRow.Nodes.Add("td", objStruct.RemarksXml.Summary); } } }
/// <summary> /// Obtiene una tabla con los métodos /// </summary> private void GetTableMethods(MLNode objMLRoot, DocumentFileModel objDocument) { LanguageStructModelCollection objColStructs = base.SelectItemsForGeneration(objDocument, LanguageStructModel.StructType.Method); if (objColStructs != null && objColStructs.Count > 0) { MLNode objMLTable; // Cabecera objMLRoot.Nodes.Add("br"); objMLRoot.Nodes.Add("h3", "Métodos"); // Cabecera de tabla objMLTable = MLBuilder.AddTable(objMLRoot, "Ambito", "Nombre", "Descripción"); // Recorre los métodos foreach (LanguageStructModel objStruct in objColStructs) { MethodModel objMethod = objStruct as MethodModel; // Añade los datos del método if (objMethod != null) { // Cabecera MLBuilder.AddRowTable(objMLTable, MLBuilderHelper.GetModifierText(objMethod.Modifier), objMethod.Name, objMethod.RemarksXml.Summary); // Comentarios AddRowRemarks(objMLTable, objMethod.RemarksXml.Remarks, 1, 2); // Prototipo AddRowRemarks(objMLTable, MLBuilderHelper.GetMethodPrototype(objMethod, objMethod.IsAsync, objMethod.ReturnType), 1, 2); // Argumentos if (objMethod.Arguments.Count > 0) { MLBuilder.AddRowNode(objMLTable, GetListArguments(objMethod), 1, 2); } // Valor devuelto MLBuilder.AddRowNode(objMLTable, GetListReturnData(objMethod, objMethod.ReturnType), 1, 2); } } } }
/// <summary> /// Obtiene la tabla de propiedades /// </summary> private void GetTableProperties(MLNode objMLRoot, DocumentFileModel objDocument) { LanguageStructModelCollection objColStructs = base.SelectItemsForGeneration(objDocument, LanguageStructModel.StructType.Property); if (objColStructs != null && objColStructs.Count > 0) { MLNode objMLTable; // Cabecera objMLRoot.Nodes.Add("br"); objMLRoot.Nodes.Add("h3", "Propiedades"); // Cabecera de tabla objMLTable = MLBuilder.AddTable(objMLRoot, "Ambito", "Nombre", "Descripción"); // Recorre las propiedades foreach (LanguageStructModel objStruct in objColStructs) { PropertyModel objProperty = objStruct as PropertyModel; // Añade los datos de la propiedad if (objProperty != null) { // Cabecera MLBuilder.AddRowTable(objMLTable, MLBuilderHelper.GetModifierText(objProperty.Modifier), objProperty.Name, objProperty.RemarksXml.Summary); // Comentarios AddRowRemarks(objMLTable, objProperty.RemarksXml.Remarks, 1, 2); // Prototipo AddRowRemarks(objMLTable, MLBuilderHelper.GetPropertyPrototype(objProperty), 1, 2); // Valor devuelto if (objProperty.GetMethod != null) { MLBuilder.AddRowNode(objMLTable, GetListReturnData(objProperty.GetMethod, objProperty.GetMethod.ReturnType), 1, 2); } } } } }
/// <summary> /// Obtiene una tabla con los constructores /// </summary> private void GetTableConstructors(MLNode objMLRoot, DocumentFileModel objDocument) { LanguageStructModelCollection objColStructs = base.SelectItemsForGeneration(objDocument, LanguageStructModel.StructType.Constructor); if (objColStructs != null && objColStructs.Count > 0) { MLNode objMLTable; // Cabecera objMLRoot.Nodes.Add("br"); objMLRoot.Nodes.Add("h3", "Constructores"); // Cabecera de tabla objMLTable = MLBuilder.AddTable(objMLRoot, "Ambito", "Nombre", "Descripción"); // Recorre los constructores foreach (LanguageStructModel objStruct in objColStructs) { ConstructorModel objConstructor = objStruct as ConstructorModel; // Añade los datos del constructor if (objConstructor != null) { // Sintaxis MLBuilder.AddRowTable(objMLTable, MLBuilderHelper.GetModifierText(objConstructor.Modifier), objConstructor.Name, objConstructor.RemarksXml.Summary); // Comentarios AddRowRemarks(objMLTable, objConstructor.RemarksXml.Remarks, 1, 2); // Prototipo AddRowRemarks(objMLTable, MLBuilderHelper.GetMethodPrototype(objConstructor, false, null), 1, 2); // Argumentos if (objConstructor.Arguments.Count > 0) { MLBuilder.AddRowNode(objMLTable, GetListArguments(objConstructor), 1, 2); } } } } }