Versión 0.3 Final (0.3.3503)
Novedades
- Nuevo proyecto de test (NUnit) con pruebas automatizadas de la librería.
Actualizado
- Modificado el formato de los números de versión de la librería a «major.minor.build.revision».
- Actualizado el proyecto de ejemplo SimpleDemo, ahora convertido en una aplicación de consola.
Errores corregidos
- Eliminado un fragmento de código redundante en la clase RtfLex que debe ayudar a mejorar aún más el rendimiento de la librería al cargar un documento RTF.
- Corregido un error en las propiedades ScaleX y ScaleY de la clase ImageNode que hacía que los valores devueltos no fueran correctos.
- La propiedad Rtf de la clase RtfTreeNode insertaba bajo ciertas circunstancias espacios en blanco incorrectos cuando la propiedad MergeSpecialCharacters se encontraba activada.
- La propiedad Text de la clase RtfTree devolvía como parte del texto el contenido de las imágenes, objetos y campos del documento RTF.
- Para dejar coherente el conjunto de métodos disponibles en la clase RtfTreeNode se ha añadido el método SelectSingleChildGroup(), que se había olvidado en la versión anterior.
Versión 0.3.0 beta 2
Novedades
- Optimización de velocidad y consumo de memoria.
- Nueva clase RtfMerger.
- Nueva clase RtfDocFormat.
- Nueva clase RtfParFormat.
- Nueva enumeración TextAlignment.
- Nueva clase RtfStyleSheetTable.
- Nueva clase RtfStyleSheet.
- Nueva clase RtfStyleSheetType.
- Novedades de la clase RtfTree:
- Nuevo método CloneTree().
- Nueva propiedad MainGroup.
- Nuevo método GetStyleSheetTable().
- Novedades de la clase RtfTreeNode:
- Nueva propiedad Index.
- Nuevo método SelectGroups(string keyword).
- Nuevo método SelectSingleGroup(string keyword).
- Nuevo método SelectChildGroups(string keyword).
- Nuevo método FindText(string txt).
- Nuevo método ReplaceText(string txt).
- Nuevo indizador this[int childIndex].
- Novedades de la clase RtfNodeCollection:
- Nuevo método IndexOf(string keyword).
- Nuevo método IndexOf(RtfTreeNode node, int startIndex).
- Nuevo método IndexOf(string keyword, int startIndex).
- Novedades de la clase RtfDocument:
- Nuevo método UpdateDocFormat(RtfDocFormat fmt).
- Nuevo método UpdateCharFormat(RtfCharFormat fmt).
- Nuevo método UpdateParFormat(RtfParFormat fmt).
- Nuevos métodos SetFormatXXX().
- Nuevo método AddNewLine(int n).
- Nuevo método AddNewParagraph().
- Nuevo método AddNewParagraph(int n).
- Nuevo método ResetFormat().
- Nuevo método ResetCharFormat().
- Nuevo método ResetParFormat().
- Novedades de la clase ImageNode:
- Nueva propiedad Bitmap.
- Nuevas aplicaciones de ejemplo:
- Nueva carpeta Examples para los ejemplos.
- Nueva aplicación: Rtf2Html.
- Nuevo proyecto de test.
Actualizado
- Actualizados los métodos GetColorTable() y GetFontTable() para que devuelvan objetos de tipo RtfColorTable y RtfFontTable.
- Actualizada la clase RtfTextFormat para que utilice propiedades, en vez de accederse directamente a los atributos privados.
- La clase RtfTextFormat pasa a llamarse RtfCharFormat.
- Los nodos sin hijos pasan a tener a null la propiedad ChildNodes.
Errores corregidos
- Error en la inicialización de un objeto StringBuilder que provocaba una excepción de memoria.
- Error en el tratamiento de la tabla de fuentes, se accedía por posición dentro de la tabla en vez de por el índice de fuente indicado en el código RTF.
- Error en la generación de código RTF a partir de un árbol, se generaba un espacio en blanco incorrecto después de cada grupo rtf. Método implicado GetRtfInm().
- Error en la generación de código RTF a partir de un árbol, no se generaban correctamente los caracteres ‘{‘, ‘}’ y ‘\’ precediéndolos del caracter ‘\’. Método implicado AppendEncoded().
Versión 0.3.0 beta 1
Novedades
- Nueva licencia: LGPL.
- Nuevas clases para la creación de documentos RTF (soporte basico durante la fase beta): RtfDocument, RtfColorTable, RtfFontTable y RtfTextFormat.
- Novedades de la clase RtfTree:
- Nueva propiedad MergeSpecialCharacters. Cuando se establece a true, los nodos de control de caracteres especiales (\’) se combinarán con los nodos de texto adyacentes (si existen) al cargar un documento.
- Nueva propiedad Text. Devuelve el texto plano de un documento RTF.
- Nuevo método GetEncoding(). Devuelve la codificación del documento.
- Novedades de la clase RtfTreeNode:
- Nueva propiedad Tree. Devuelve una referencia al árbol RTF padre del nodo.
- Nuevo método ToString().
- Nuevo método InsertChild(). Inserta un nuevo nodo en una posición determinada.
- Nuevos métodos SelectSibling() (3 sobrecargas).
- Novedades de la clase RtfNodeCollection:
- Nuevo método Insert(). Inserta un nuevo nodo en una posición determinada.
- Nuevo método RemoveRange(). Elimina un conjunto de nodos de la colección.
- Novedades de la clase InfoGroup:
- Nuevo método ToString().
Actualizado
- Los métodos SelectXXXByYYY() han sido reemplazados por sobrecargas de SelectXXX().
Errores corregidos
- Los nodos de tipo Group y Root no se inicializaban con «ROOT» y «GROUP», respectivamente.
- La propiedad NRtfTree.Rtf property no incluía el último caracter ‘}’ en el código RTF de los nodos grupo.
- No se trataban correctamente los caracteres especiales ‘\’, ‘{‘ y ‘}’ como parte del texto.
- Los métodos RtfTreeNode.AppendChild() y InsertChild() debían actualizar las propiedades Root y Tree de forma recursiva.
Versión 0.2.1
Errores corregidos
- Error en el método SaveRtf() [Los números hexadecimales deben tener 2 dígitos].
- Nueva página personal y cabeceras de código.
Versión 0.2.0
Novedades
- Nuevos namespace:
- Net.Sgoliver.NRtfTree.Core –> Clases base.
- Net.Sgoliver.NRtfTree.Util –> Clases especiales (ImageNode, ObjectNode, InfoGroup)
- Novedades de la clase RtfTreeNode:
- Nuevas propiedades: LastChild, NextSibling, PreviousSibling y Rtf.
- Nuevos métodos CloneNode(), HasChildNodes(), SelectSingleNode(), SelectSingleChildNode(), SelectChildNodes(), SelectNodes(), SelectSingleChildNodeType()
- Por eficiencia la propiedad Rtf se ha implementado utilizando StringBuilder.
- Nuevo indizador para acceder a los nodos hijo. [ = SelectSingleChildNode() ]
- Novedades de la clase RtfTree:
- El método toStringInm() se ha implementado utilizando StringBuilder.
- Nuevos métodos ToStringEx(), SaveRtf(), GetColorTable() y GetFontTable() y GetInfoGroup().
- Nuevo parámetro showNodeTypes en el método toStringInm().
- Novedades de la clase RtfNodeCollection:
- Nuevos métodos IndexOf() y AddRange().
- Novedades de la clase RtfLex:
- Los métodos ParseText() y ParseKeyword() se han implementado utilizando StringBuilder.
- Se deja un sólo constructor que toma de entrada un objeto TextReader.
- Ahora el método parseText() ignora las nuevas líneas, tabuadores y caracteres nulos.
- Nuevas clases especiales:
- ImageNode
- ObjectNode
- InfoGroup
Actualizado
- Los métodos privados getRtf() y getRtfInm() se han pasado desde RtfTree a RtfTreeNode.
2 comentarios
[…] Todos estos cambios pueden consultarse de forma más detallada en el Historial de Actualizaciones de NRtfTree. […]
[…] sobre los cambios introducidos por las últimas versiones de NRtfTree se puede consultar el historial de versiones del […]
Comentarios cerrados.