Page 1 of 1

TRichView 16.10: spellcheckers, downloaders, bookmarks

Posted: Sun Nov 06, 2016 9:15 am
by Sergey Tkachenko
New versions are released: TRichView 16.10, RichViewActions 6.10, ScaleRichView 7.7

Trial versions are available here:

As you may notice from version numbers, we do not consider this update as a major update. However, many interesting new features are implemented.

Spell checkers

TRichView does not include its own spell checker. However, you can use third-party spell checkers, both freeware and commercial ones.

In older versions:

Older versions had a special support for Addict spell checker. It was installed automatically by the TRichView installer (assuming that Addict 4 is already installed). It can be integrated in user interface created using RichViewActions, however, it required a recompilation with a special $DEFINE. If it was defined, special actions and special properties of TRVAControlPanel became available.
Other spell checkers were available for separate downloading. They did not include packages, only pas-files. To use them in RichViewActions, you need to write a special code to implement live spelling commands in popup menu and commands for spell checking using a dialog window.

In this update:

TRichView installer automatically installs parsers for Addict, GNU ASpell, HunSpell, ExpressSpellChecker spelling checkers.
The parsers for Addict and ExpressSpellChecker are installed only if Addict and DevExpress components are already installed.
The parsers for GNU ASpell and HunSpell are always installed, but they require the corresponding DLLs.
The parser for Polar ActiveX is not installed automatically, however, packages for all versions of Delphi and C++Builder are included, read the install instructions in ThirdParty\Polar folder.
Parsers for obsolete spell checkers (EDSSpell, VSSpell, LS Speller) are not installed, you can find them in ThirdParty\Other\Spell folder.

These parsers can be used both separately and with RichViewActions.
If you choose RichViewActions, you just need to place components on a form and link them together, no code is necessary.
So integration in RichViewActions does not require any special $DEFINEs or processing events any more.
A new group of components is available: spell interfaces. They can be found in "RichView Interfaces" page of the component palette.
For example, for HunSpell, it is TRVAHunSpellInterface component.
A new property is added to TRVAControlPanel: SpellInterface. Assign a spell interface component to this property, assign properties of this spell interface component (usually, a link to a spellchecker component).
After that:
- you can use TrvActionSpellingCheck action to check spelling in the target editor using a dialog box
- you can use TrvActionThesaurus action to find synonyms for the current word in the target editor (if the chosen spell interface supports a thesaurus; currently, it is supported only for Addict)
- TRAPopupMenu automatically displays suggestions, "Add to Dictionary", "Ignore All" commands
- use auto-correction on typing (if the chosen spell interface supports this feature; currently, it is supported in Addict, ExpressSpellChecker, Polar SpellChecker)

If the spelling dialog is designed by TRichView (HunSpell, ASpell), RichViewActions automatically translate its user interface. Currently, only Russian and English are available, more languages are in development.
If the spelling dialog can change its language itself (Addict), RichViewActions automatically set its language to the language most similar to the current RichViewActions UI language.

Demo projects for spell checkers are included in TRichView installer. They include both checking with and without RichViewActions.
- Addict: ThirdParty\Addict\Demos
- GNU ASpell: ThirdParty\ASpell\Demos
- HunSpell: ThirdParty\HunSpell\Demos
- ExpressSpellCheckers: ThirdParty\DevExpress\Demos\Spell\
- Polar SpellChecker ActiveX: ThirdParty\Polar\Demos\

All the demos above are almost identical. The DevExpress demo uses TcxTRichViewEdit instead of TRichViewEdit.

Additional information about spell interfaces can be found in the help file.

Previous version

Posted: Sun Nov 06, 2016 10:19 am
by Sergey Tkachenko

RTF and HTML may include links to external images. If they are local images, TRichView imports them automatically. But if they are on a remote HTTP server, they must be downloaded.
You can use OnImportPicture event to download them. However, RichViewActions can do it automatically using third-party HTTP client components.

In older versions:

RichViewActions can use Indy and CleverComponents downloaders. It required a recompilation with a special $DEFINE. If it was defined, special actions and special properties of TRVAControlPanel became available.

In this update:

A new group of components is available: download interfaces for RichViewActions.
The TRichView installer automatically installs Indy and Clever Internet Suite downloaders (if Indy and CleverComponents are already installed).
The components are available on "RichView Interfaces" page of the component palette.
A new property is added to TRVAControlPanel: DownloadInterface.
Place a download interface component on a form (for example, TRVAIndyDownloadInterface), assign it to RVAControlPanel.DownloadInterface, assign its properties (for example, a link to TIdHttp component), and images will be downloaded automatically when necessary.

No special compiler defines are needed.

Additional information about download interfaces can be found in the help file.

Posted: Sun Nov 06, 2016 10:40 am
by Sergey Tkachenko

In TRichView, checkpoint identifies a position in the document that you name and identify for future reference. For example, you might use a checkpoint to identify text that you want to revise at a later time. Checkpoints can be used as hyperlink targets.

In other editors, similar objects are called bookmarks or anchors.
(however, a checkpoint marks only a single point in the document, not a range of text)

TRichView included all necessary methods for working with checkpoints for a long time. In RichViewActions, TrvActionInsertHyperlink.GoToLink supported both external links and links to checkpoints. However, there was no action to add, delete or go to a checkpoint. Well, better late than never.

In this update, a new action is available: TrvActionBookmarks.
It displays this dialog box:
As you can see, this dialog window is very similar to its analog in Microsoft Word.
It allows to:
- add a new bookmark (checkpoint)
- delete existing bookmarks
- go to an existing bookmark.
Existing bookmarks can be sorted by their locations or names.

The dialog box of TrvActionInsertHyperlink was modified to include a list of bookmarks:

Currently, user interface of the bookmark dialog box is translated to English and Russian, more languages are in development.

Posted: Sat Nov 12, 2016 12:55 pm
by Sergey Tkachenko
We updated TRichView, RichViewAction, ScaleRichView.

The new versions include some fixes and tweak.
Dutch and German translations of RichViewActions user interface are updated.