/// <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);
                        }
                    }
                }
            }
        }
Example #2
0
        /// <summary>
        ///		Obtiene el MLNode de un enumerado
        /// </summary>
        private void GetMLEnum(MLNode objMLRoot, DocumentFileModel objDocument)
        {
            EnumModel objEnum = objDocument.LanguageStruct as EnumModel;

            if (objEnum != null)
            {
                MLNode objMLTable;

                // Cabecera
                objMLRoot.Nodes.Add("h3", "Miembros");
                // Cabecera de tabla
                objMLTable = MLBuilder.AddTable(objMLRoot, "Nombre", "Descripción");
                // Añade los miembros del enumerado
                foreach (EnumMemberModel objMember in objEnum.Items)
                {
                    MLBuilder.AddRowTable(objMLTable, objMember.Name, objMember.RemarksXml.Summary);
                }
            }
        }
Example #3
0
        /// <summary>
        ///		Añade una tabla de argumentos
        /// </summary>
        private void AddTableArguments(MLNode objMLRoot, BaseMethodModel objMethod)
        {
            if (objMethod.Arguments != null && objMethod.Arguments.Count > 0)
            {
                MLNode objMLTable;

                // Cabecera
                objMLRoot.Nodes.Add("h3", "Parámetros");
                // Cabecera de tabla
                objMLTable = MLBuilder.AddTable(objMLRoot, "Nombre", "Tipo", "Descripción");
                // Añade los argumentos
                foreach (ArgumentModel objArgument in objMethod.Arguments)
                {
                    MLBuilder.AddRowTable(objMLTable, objArgument.Name,
                                          MLBuilderHelper.GetTypeName(objArgument.Type),
                                          objMethod.RemarksXml.GetParameterRemarks(objArgument.Name));
                }
            }
        }
        /// <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);
                        }
                    }
                }
            }
        }