rtLib — Notes Rich Text Management Library Documentation of rtLib — Notes Rich Text Management Library Download rtLib — Notes Rich Text Management Library FAQ of rtLib — Notes Rich Text Management Library Purchase rtLib — Notes Rich Text Management Library Feedback about rtLib — Notes Rich Text Management Library

Overview

What's new in version 1.3

Start search Mail feedback Back to Description

Version 1.3 introduce new classes:

rtMap

Controls area hotspots associated with an image. rtMap object gets returned by property Map of rtGraphic object.

Methods

AddLink (parm as rtHotLink)

Links as rtEnumeration get property returns enumeration of all area hotspots contained by the Map

Link (parm as String) as rtHotLink gets Link by IDName property

deleteLink (IDName as String) deletes named link/hotspot

contains area hotspots, represented by rtHotLink class. Together with rtGraphic they now provide means to manage, create/modify area hotspots over images. rtGraphic also allows to modify image alignment and float attributes.

rtItem

New layer in object hierachy -- rtItem represents the whole rich text item. It will evenually enable access to functionality for the whole item. At the same time it also returns rtContainer that allows detailed examination of item structure.

Both functionalities -- that provided by Container and direct methods of rtItem like Replace or ExportRTF does not act upon the same data. Once the text have been modified using Replace, use Update, before retrieving content using Container. In the same way, in case you have changed data using Container, use rtContainer.replaceItemValue or Update and Refresh before using rtItem methods.

Methods


Name

Returns/data type

Description

ExportRTF



Exports item content to MS RTF format file (supported on Windows platforms only)

Replace



Replaces text. Current implementation replaces particular phrase in item text. This method is extremely fast but contains a number of limitations:
* search is always case and pitch sensitive,
* it does not search across formatting boundaries; in some cases editing from Notes client cause text be placed in separate CDTEXT records even if it contains the same formatting -- Replace do not find text that crosses several CDTEXT records.
* it does not allow search/replace that crosses paragraph boundaries.
* it does find only "plain" text, that is it does not replace section titles, button or table labels, etc.
* it does not allow use of wildcards
Note: all these are implemented in Replace of rtContainer; however that method takes much longer.

Update



Update writes data back to item so that the document can be saved or Container used to retrieved detailed structure of the item. In case rtItem itself has not been changed, replaces Notes item value from Container

Refresh



unconditionally updates rtItem from underlying Notes item







Container

rtContainer


The following table shows coexistance of two ways to manipulate item. Replace and Refresh methods deal only with state of rtItem object itself. Update method checks if rtItem has been changed -- if yes updates underlying Notes item, else attempts to replace Notes item with Container content. There is no way to tell if Container has been modified since last retrieved, so if there are no changes in rtItem itself and Container has been retrieved (via rtItem.Container property), it is written back.

In case Replace method does not find the target to be replaced rtItem is not regarder as modified.






rtItem

rtItem.Container

Method

State before command

not initialized

as last retrieved

modified

not initialized

as last retrieved

modified


Replace


initializes and modifies

modifies

modifies

-

-

-


Update


-

-

updates underlying item

-

updates Notes item if rtItem is uptodate

updates Notes item if rtItem is uptodate


Refresh


initializes

refreshes

refreshes

-

-

-


ExportRTF


-

-

updates underlying item

-

-

-

rtLibSession

global public object of class rtPublicSession. Eventually will provide different global settings. The first functionality is:

CRLF returns paragraph mark according to current OS standard. Shold be used in replace functionality to designate paragraph breaks (Replace method of rtContainer)

recycleAll releases memory and Notes objects still held by rtLib. Important to call in Terminate event -- if code executes in Agent, put rtLibSession.recycleAll in terminate event of the agent. Domino 6 unloads code slightly different than R5, so in some cases it can release code resources before it has chance to run Delete events of all objects, that can result in redbox.

rtTable class is ready for Domino 6 supporting new tabbed table styles. They may be created also in R5, but can be properly viewed only in Domino 6.

The new properties include new option for Viewer property of rtRowDisplayStyle -- CDTABLEVIEWER_CAPTIONS to create window like row selection, as well as well as new values for TabPosition property of rtRowDisplayStyle - TAB_POSITION_TOP (default), TAB_POSITION_BOTTOM, TAB_POSITION_RIGHT and TAB_POSITION_RIGHT.

rtParagraphstyle now provides properties to manage (or delete if you wish) named styles.

rtAttachment has slightly changed attachment handling. Now they do not get saved independently of final decision to save the document or not. Besides now it uses default image resource (rtlib-attach.gif) instead of gray LotusScript attachment icon. To change default icon it is enough to modify the image resource. It can also modified after attaching the file as before.