forked from sgolivernet/nrtftree
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
179 lines (156 loc) · 6.87 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
CHANGELOG - NRtfTree
-----------------------------------
NRtfTree v0.4.0 (29/06/2013)
-----------------------------------
New:
- New class RtfPullParser
- Basic Unicode support in RtfTreeNode and RtfDocument
- Class RtfTreeNode:
- New Text and RawText properties
- New NextNode and PreviousNode properties
- New SelectXXXGroup(..., ignoreSpecial) method to find groups ignoring \* control word.
- Class RtfMerger:
- New default constructor
- New constructor RtfMerger(RtfTree template)
- New Placeholders property
- New Template property
- New method AddPlaceholder(string, RtfTree)
- Class RtfDocument:
- New Text, Rtf and Tree properties
- New Save(path) method
Updated:
- Renamed RtfMerger.MergeRtfDoc() to Merge(). It now returns an RtfTree object.
- Moved RemoveLastPar parameter to the new Merge() method.
- RtfDocument class now works with in-memory documents.
- Updated RtfDocument.Close() method to Save(path).
Bug fixes:
- Now, RtfTreeNode always clone child nodes and set Parent, Tree and Root properties to null.
- Fixed text conversion of '\line' control word in RtfTreeNode.
- Fixed text insertion in RtfDocument.InsertText() to escape TAB/CR characters correctly.
------------------------------
NRtfTree v0.3 Final (0.3.3503)
------------------------------
New:
- New test project (NUnit).
Updated:
- Version numbering scheme updated to “major.minor.build.revision”.
- SimpleDemo project updated to console application.
Bug fixes:
- Removed redundant code in RtfLex.
- ImageNode ScaleX and ScaleY properties returned incorrect values.
- RtfTreeNode.Rtf property inserted incorrect blank spaces when MergeSpecialCharacters property is true.
- RtfTree.Text property returned non-document-text characters in images, objects and field nodes.
- New method RtfTreeNode.SelectSingleChildGroup().
------------------------------
NRtfTree v0.3.0 beta 2
------------------------------
New:
- Performance greatly improved.
- New class RtfMerger.
- New class RtfDocFormat.
- New class RtfParFormat.
- New enum TextAlignment.
- New class RtfStyleSheetTable.
- New class RtfStyleSheet.
- New class RtfStyleSheetType.
- Class RtfTree:
- New method CloneTree().
- New property MainGroup.
- New method GetStyleSheetTable().
- Class RtfTreeNode:
- New property Index.
- New method SelectGroups(string keyword).
- New method SelectSingleGroup(string keyword).
- New method SelectChildGroups(string keyword).
- New method FindText(string txt).
- New method ReplaceText(string txt).
- New indexer this[int childIndex].
- Class RtfNodeCollection:
- New method IndexOf(string keyword).
- New method IndexOf(RtfTreeNode node, int startIndex).
- New method IndexOf(string keyword, int startIndex).
- Class RtfDocument:
- New method UpdateDocFormat(RtfDocFormat fmt).
- New method UpdateCharFormat(RtfCharFormat fmt).
- New method UpdateParFormat(RtfParFormat fmt).
- New methods SetFormatXXX().
- New method AddNewLine(int n).
- New method AddNewParagraph().
- New method AddNewParagraph(int n).
- New method ResetFormat().
- New method ResetCharFormat().
- New method ResetParFormat().
- Class ImageNode:
- New property Bitmap.
- New demo projects:
- New folder Examples.
- New demo application: Rtf2Html.
Updated:
- GetColorTable() and GetFontTable() updated. Now they return RtfColorTable y RtfFontTable objects.
- Use of public properties in RtfTextFormat class.
- Renamed RtfTextFormat class to RtfCharFormat.
- RtfTreeNode.children field remains null if node hasn’t child nodes.
Bug fixes:
- Corrected initialization of StringBuilder object to avoid out of memory exception.
- RtfFontTable class now uses internally a Dictionary. It must access fonts by \f keyword parameter, not by index.
- Updated RtfTreeNode.getRtfInm() method. It inserted an incorrect blank space after GROUP nodes.
- Characters ‘{’, ‘}’ and ‘\\’ aren’t prefixed with ‘\\’ in RtfTreeNode.AppendEncoded() method.
------------------------------
NRtfTree v0.3.0 beta 1
------------------------------
New:
- New license: LGPL.
- New classes to create RTF documents (basic support in beta): RtfDocument, RtfColorTable, RtfFontTable and RtfTextFormat.
- RtfTree class:
- New property MergeSpecialCharacters. When it is set to true, if special character is found (\') it is converted to Text node and eventually merged to adjacent text nodes.
- New property Text. Returns plain text from the RTF document.
- New method GetEncoding(). Returns document encoding.
- RtfTreeNode class:
- New property Tree. Returns a reference to owner RTF tree.
- New method To String(). - New method InsertChild(). Inserts a new node at the specified location.
- Methods SelectXXXByType have been replaced by SelectXXX() overloads.
- New methods SelectSibling() (3 overloads).
- RtfNodeCollection class:
- New method Insert(). Inserts a new node at the specified location.
- New method RemoveRange(). Remove a range of nodes from the list.
- InfoGroup class:
- New method ToString().
Bugs fixes:
- Group and Root node types initialization with "ROOT" and "GROUP".
- NRtfTree.Rtf property didn't include last '}' in a group node RTF code.
- NRtfTree does not treat correctly special characters '\', '{' and '}' as part of the text.
- Methods RtfTreeNode.AppendChild() and InsertChild() should update Root and Tree properties recursively.
------------------------------
NRtfTree v0.2.1
------------------------------
- FIXED - Bug in SaveRtf() [Hex numbers with 1 digit].
- FIXED - New personal home page and file headers.
------------------------------
NRtfTree v0.2.0
------------------------------
- General Changes:
- New namespaces
- Net.Sgoliver.NRtfTree.Core --> Base classes
- Net.Sgoliver.NRtfTree.Util --> Special classes (ImageNode, ObjectNode, InfoGroup)
- Class RtfTreeNode:
- New properties: LastChild, NextSibling, PreviousSibling y Rtf.
- New private methods: getRtf() y getRtfInm() [Se han pasado desde RtfTree a RtfTreeNode].
- New public methods: CloneNode(), HasChildNodes(), SelectSingleNode(), SelectSingleChildNode(), SelectChildNodes(), SelectNodes(), SelectSingleChildNodeType()
- Rtf property is now implemented using StringBuilder class [efficiency].
- New indexer to access child nodes. [ = SelectSingleChildNode() ]
- Class RtfTree:
- Removed private methods: getRtf() y getRtfInm() [ moved to RtfTreeNode class ]
- toStringInm() method is now implemented using StringBuilder class [efficiency].
- New public methods: ToStringEx(), SaveRtf(), GetColorTable() y GetFontTable() y GetInfoGroup().
- New parameter 'showNodeTypes' in method toStringInm().
- Class RtfNodeCollection:
- New public methods: IndexOf(), AddRange()
- Class RtfLex:
- ParseText() and ParseKeyword() are now implemented using StringBuilder class [efficiency].
- In this versión, there is only one construtor that receive a TextReader parameter.
- Now, parseText() method ignore new lines, tabs and null characters.
- New classes:
- ImageNode
- ObjectNode
- InfoGroup