Page 1 of 1

TRichView 18.3 - SRVControls for Lazarus

Posted: Thu Mar 19, 2020 8:39 am
by Sergey Tkachenko
We've updated TRichView to version 18.3.

Trial versions can be downloaded here: https://www.trichview.com/download/
TRichView, RichViewActions, ScaleRichView, SRVControls are available for Delphi, C++Builder and Lazarus (for Windows).
Report Workshop is available for Delphi and C++Builder.

Since this update, SRVControls are ported to Lazarus (Windows platform).

There is a new UI translation for ScaleRichView: Slovenian. Thanks to Goran Brumen!

This update includes many small fixes and tweaks. Details are available for registered users in the protected section of this forum.

Previous version:
https://www.trichview.com/forums/viewto ... f=6&t=9810

SRVControls for Lazarus

Posted: Thu Mar 19, 2020 11:17 am
by Sergey Tkachenko
SRVControls is a set of analogs of standard components, designed for insertion in a WYSIWYG editor (ScaleRichView).

SRVControls include: TSRVButton, TSRVEdit, TSRVMemo, TSRVLabel, TSRVCheckBox, TSRVRadioButton, TSRVPaintBox, TSRVListBox, TSRVComboBox, TSRVImagesScroll (a scrollable line of images)
The following controls are included in ScaleRichView, but they are also can be inserted in ScaleRichView editor: TSRVScrollBar, TSRVTabSet.
There are also data-aware versions of SRVControls: TSRVDBEdit, TSRVDBMemo, TSRVDBText, TSRVDBCheckBox, TSRVDBListBox, TSRVDBComboBox.

SRVControls are free for ScaleRichView customers.

Since this update, all these controls are available for Lazarus (Windows platform) as well.

Existing SRVControls demos for Delphi were moved from <TRichView Dir>\SRVControls\Demos\ to <TRichView Dir>\SRVControls\Demos\Delphi\.
New demos were added for Lazarus: <TRichView Dir>\SRVControls\Demos\Lazarus\.

"DocViewer" demo was moved from SRVControls demos to ScaleRichView demos.

Because of the changes above, we highly recommend to uninstall the previous version of the components before installing this one, otherwise there will be two versions of the demo projects.

SRVControls demos were updated, especially the main demo, InsertControls. This demo allows inserting controls in a WYSIWYG editor and changing their properties.

The new version of the demo supports all SRVControls and all their significant properties. A combo box for changing color themes was added (above the toolbar).
insertcontrols.png
insertcontrols.png (45.06 KiB) Viewed 25811 times

ScaleRichView and screen readers

Posted: Sat Mar 21, 2020 5:31 pm
by Sergey Tkachenko
Since this version, TSRichViewEdit processes standard messages of edit controls (EM_LINEINDEX and so on).
So screen readers (like NVDA) can read TSRichViewEdit content aloud, if they treat TSRichViewEdit as an edit control.
However, they do not.
NVDA has a list of window classes that should be treated as an editor, it includes TRichViewEdit, but not TSRichViewEdit.
I know how to make it work.
Open NVDA's "Tools | Python Console" and write:

Code: Select all

import NVDAObjects.window
NVDAObjects.window.windowClassMap['TSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewNoteEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TInnerDBRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewNoteEdit']='Edit'
After that, NVDA reads the current line and character in ScaleRichView.
But, unfortunately, you call this Python code on each restart of NVDA.