New Features and Update Notes
TX Text Control 11.0 provides the several new features all described in the following tables.
Nested Tables
A table can be inserted within another table. Such a table is called a nested table. The level of nesting is not limited. All of TX Text Control's text filters have been expanded to import and export nested tables. To refer to a nested table, the same classes can be used as for top-level tables. The TextControl.Tables collection contains all top-level and all nested tables in the order they appear in the text flow. In addition, each table has a Table.NestedTables property to get a collection of all tables embedded in a certain table. Other properties have been added to the Table class to get a table's nesting level or to get its outer or outermost table.
Table Splitting
A table can be split below or above the table row containing the current input position with the Table.Split method. If the original table has an identifier, both parts retain their identifier. A TextControl.TableCreated event occurs for the bottom part to enable the application to change the identifier of the bottom part. If a table is split above the first row, a new line is inserted above the table, and if a table is split below the last row, a new line is inserted below the table. This is useful to insert text above or below a nested table that immediately starts and/or ends at the beginning or the end of the cell in which it is nested.
Multiple Undo
Text Control has a new undo buffer that supports multiple undo and redo operations. Additionally, the undo buffer now supports many more Text Control features such as images, text fields and all table operations. The new properties TextControl.UndoActionName and TextControl.RedoActionName can help to inform an end-user what is the next action to undo or redo. The new property TextControl.AllowUndo activates or deactivates the undo buffer. Deactivating the undo buffer saves time and memory which can be useful, if a Text Control for example is deployed as a report generator.
Image Resolution and Compression Quality
If images are embedded in a document with their complete binary data, it can be useful to alter an image's resolution and the quality of the data compression algorithm to minimize the file size. By default, Text Control uses the image's default resolution and a default value for the data compression. The SaveSettings.ImageCompressionQuality and SaveSettings.ImageMaxResolution properties can be used to alter these values for all images in the complete document. The Image.ExportCompressionQuality and Image.ExportMaxResolution properties can be used to overwrite these values for a single image.
Resource Kit for Localization
A new Resource Kit allows all built-in resources to be localized. Text Control uses satellite assemblies for localized resources. Developers simply need to translate the strings in a .resx file to another language and run a batch file to build a satellite assembly. The created assembly can be installed in a subdirectory of your application's directory.
PDF Document Security
New properties of the SaveSettings class allow the setting of the standard PDF security features. Both passwords can be set: a user password to allow document opening and a master password to allow modification of the current access permissions. Furthermore, the SaveSettings.DocumentAccessPermissions property allows individual access permissions to be set.
Ruler Bar Design
The Ruler Bar Control has an additional look with a flat design. This new look is now the default setting, but the previous look can still be set with the new RulerBar.BorderStyle property.
Autoexpanding/Autoshrinking
If a Text Control is used to display small pieces of text, for example to show the contents of a database field, it can be useful to adapt the control's size to its text contents. The TextControl.AutoControlSize property and the AutoSize class have been added to support automatically expanding and shrinking up to a specified maximum and/or minimum. New events have been added to the TextControl class that occur after a Text Control has been expanded and/or shrunk. All of these features require the SimpleControl setting of the TextControl.ViewMode property.
Transparency
Another feature that can be useful when displaying small pieces of text is to show the text with a transparent background. The TextControl.BackColor property can be set to Color.Transparent to support this feature. Transparency also requires the SimpleControl setting of the TextControl.ViewMode property.
TextControl.BackColor Property
The property value can be set to Color.Transparent to have a transparent background. A transparent background is only possible if the TextControl.ViewMode property has been set to SimpleControl.
InlineStyle Class
An additional constructor allows to create a new style based on a given style. All attributes of the given style are used to initialize the new style.
ParagraphStyle Class
An additional constructor allows to create a new style based on a given style. All attributes of the given style are used to initialize the new style.