TRichView 15, ScaleRichView 6, RichViewActions 5

News about TRichView and related components
Post Reply
Sergey Tkachenko
Site Admin
Posts: 13320
Joined: Sat Aug 27, 2005 10:28 am
Contact:

TRichView 15, ScaleRichView 6, RichViewActions 5

Post by Sergey Tkachenko » Mon Aug 25, 2014 1:41 pm

New versions are released: TRichView 15, RichViewActions 5, ScaleRichView 6

Trial versions are available here:
http://www.trichview.com/download/

Changes since the last public update:

TRichView:
- floating text boxes that can be placed above or below text; they can be inserted in the main document, a header or a footer; visible only on preview or printing; two new item types: text box and note inside a text box
- new item types: page number and page count
- new methods for changing integer and string properties of items as editing operations
- ability to choose whether URLs stored in tags are %-encoded or not (if not, TRichView encodes them when necessary)
- ability to choose a graphic class for jpeg images
- optimization (faster formatting and redrawing)

ScaleRichView:
- sidenotes (notes in text boxes) and text boxes are supported; they can be edited directly in TSRichViewEdit, resized and moved with the mouse
- different headers for the first and odd/even pages
- page number and page count fields are supported
- optimization to remove unnecessary reformatting, repainting and repaginating (especially in the code working with footnotes and endnotes - it is rewritten almost completely)

RichViewActions:
- new actions for inserting footnotes, endnotes, sidenotes (notes inside a text box), text boxes,
- new action for editing notes and text boxes
- new action for inserting a number from a numbered sequence
- new action for inserting page numbers
- new action for adding a caption to a picture or a table
- redesigned picture properties dialog; it supports more picture properties
- redesigned table properties dialog; it supports more table properties
- properties dialog for text boxes, numbered sequences, page numbers
- smart increment/decrement in spin-edit controls
- new "Resource language" pseudo-translation (allowing to use external localizers)
- new Danish localization
- ability to apply properties entered in table properties dialog and horizontal line properties dialog to new tables and horizontal lines
- Unicode programming interface for live spelling, if TNT controls are used (useful for old versions of Delphi)
- local names for translation languages
- new standard styles: 'caption', 'Sidenote Text', 'Sidenote Reference'

---
If you like this update - there are +1 and like buttons at the top right side of the page :)
---

Complete list of changes Previous versions
http://www.trichview.com/forums/viewtopic.php?t=6171
Last edited by Sergey Tkachenko on Sat Nov 08, 2014 9:44 pm, edited 1 time in total.

Sergey Tkachenko
Site Admin
Posts: 13320
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko » Mon Aug 25, 2014 2:05 pm

Floating text boxes

Floating text boxes that can be positioned above or below text (no text flow around these boxes, sorry).
Like footnotes and endnotes, text boxes are not shown in TRichView/TRichViewEdit directly, they are visible on printing and preview (but only if TRVPrint is used for printing, not TRVReportHelper).
In ScaleRichView, they are shown and can be edited in WYSIWYG mode directly in TSRichViewEdit.
A text box can contain any items, including images and tables (but cannot contain other text boxes, footnotes and endnotes).

Image
Editing a text box in ScaleRichView

There are two new item types:
TRVSidenoteItemInfo - a note in a text box. In the place of insertion, this item looks like a number (by default, alpha numbering type is used: a, b, c...). It is similar to footnotes or endnotes, but note.Document is displayed in a floating box. Like in other types of notes, you can use TRVNoteReferenceItemInfo to refer to this item. There are no direct analogs in MS Word.
TRVTextBoxItemInfo - just a text box. Nothing is visible in the place of insertion (a special mark is shown when the caret is at this place, or in show-special-characters mode).

Positioning and size properties of text boxes are similar to MS Word. We made this decision to simplify exporting to RTF and DocX. However, we did not copy all limitations of MS Word. In RichViewActions, in RVAControlPanel.UserInterface=RTF, options not supported by MS Word are removed from dialogs. Details can be found in the help file.

Position
Horizontal and vertical positions are specified separately.
A text box is positioned relative to some anchor area.
Horizontal anchors: character, page, left margin, main text area, right margin, inner margin, outer margin
Vertical anchors: line, paragraph, top margin, main text area, bottom margin.
If an item is inserted in a table cell, there is an option to position a text box relative to areas in this cell instead of areas of a page.
There are 3 types of positioning of text box relative to the anchor area:
- alignment (left/top/right)
- absolute offset (defined in pixels or twips)
- relative offset (defined in percent of the anchor area size)
In our components, all combinations of these properties work correctly; in MS Words, some combinations are not allowed, and there are other limitations; see the help file.

Size
Width and height of a text box are defined separately.
Width can be defined in absolute values (pixels or twips) or in percent of a page/cell area (page, left margin, main text area, right margin, inner margin, outer margin).
Height has similar options; in addition, there is an "auto" option: height is calculated according to the document height.

Appearance
Document can be aligned vertically inside a box (top/center/bottom)
Boxes have properties similar to paragraph: Background and Border. Like for TRichView paragraphs (and unlike in MS Word), paddings for background and border are defined separately (but, unlike paragraphs, negative values are not allowed here)

Files
RVF supports new items completely.
RichViewXML supports new items completely.
RTF export is implemented. Import is not implemented, planned for future.
DocX export is implemented (like in new versions of MS Word, boxes are saved in two versions: VML and DrawingML.
HTML export: sidenotes are saved like footnotes and endnotes - their text is added to the end of HTML; text boxes are not saved at all. Unfortunately, adequate saving is not possible, because HTML does not allow linking boxes to page areas, different positioning for horizontal and vertical coordinates, positioning relative to the place of insertion leaves a hole in text. However, we have some ideas for future.

Special places of insertion
Our components support text boxes inserted in:
- headers and footers
- cells of heading rows.
Boxes inserted in headers and footers are always displayed below the main text (like in MS Word). Positioning and size of these boxes are still calculated relative to the main text area, not header/footer area (MS Word does the same)
Boxes cannot be inserted in each other, in footnotes and endnotes.

Limitations:
- TRVPrint does not support positioning relative to areas or content in rotated table cells (in these cases, it positions them relative to the cell itself). ScaleRichView does not have this limitation.
- Text boxes positioned in normal header/footers have the same position and size on all pages (they are calculated according to layout of the 3rd page). If you want to position such text boxes relative to inner/outer margin, or take mirrored margins into account, use different headers/footers for odd/even pages

Note: "MS Word" in the text above refers to Microsoft Word (R) 2013.
Last edited by Sergey Tkachenko on Sat Apr 02, 2016 8:56 pm, edited 1 time in total.

Sergey Tkachenko
Site Admin
Posts: 13320
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko » Mon Aug 25, 2014 3:26 pm

Special headers and footers for the first and odd/even pages

Different headers and footers for the first page and odd/even pages were publicly introduced in TRichView 14.9.
The main document and each header/footer must be stored in a separate TRichView component (TRichView, TRichViewEdit, or TRVReportHelper.RichView), 7 components in total if all headers and footers are used.
We updated the demo in Demos\DelphiUnicode\Assorted\Printing\Headers\ to demonstrate this feature.

Now ScaleRichView supports this feature as well. In ScaleRichView, you do not need 7 editors: all headers and footers are edited in a single editor (TSRichViewEdit component) in WYSIWYG mode.
TSRichViewEdit uses internal TRichViewEdit subeditors for editing subdocuments. Of course, creating 6 editors for all headers and footers would be an overkill.

Image
Editing headers in ScaleRichView


Like in the previous version of ScaleRichView, only 2 internal subeditors are used, they are accessible as RVHeader and RVFooter. But now, headers and footers are stored in SubDocuments property, and RVHeader/RVFooters is used only when header/footer is being edited.

Special header and footer for the first page are used, if TitlePage property = True.
Special header and footer for even pages are used, if FacingPages property = True.
These properties for ScaleRichView are in TSRichViewEdit.PageProperty.
These properties for TRichView are in TRichView.DocParameters and in TRVPrint.

Sergey Tkachenko
Site Admin
Posts: 13320
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko » Mon Aug 25, 2014 3:52 pm

RichViewActions: actions for working with notes and text boxes in ScaleRichView

Previously, ScaleRichView had the following actions:
- TsrvActionInsertFootnote inserts a footnote.
- TsrvActionInsertEndnote inserts a footnote.
- TsrvActionEditNote edits the current note (or the next note, if the current item is not a note)
- TsrvActionReturnToNote is active when the note is being edited. It moves the caret back to the main document, to the note character.

We added 2 new actions:
- TsrvActionInsertSidenote inserts a sidenote
- TsrvActionInsertTextBox inserts a text box.
- TsrvActionEditNote and TsrvActionReturnToNote were improved, they can work with footnotes, endnotes, sidenotes, text boxes.

Image
Last edited by Sergey Tkachenko on Mon Aug 25, 2014 8:14 pm, edited 1 time in total.

Sergey Tkachenko
Site Admin
Posts: 13320
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko » Mon Aug 25, 2014 4:07 pm

RichViewActions: actions for working with notes and text boxes in TRichView

Previously, RichViewActions for TRichViewEdit did not have commands for notes, they existed only in ScaleRichView.
In this update, a set of actions was added to edit notes and text boxes in TRichViewEdit. Since TRichViewEdit and TSRichViewEdit edit notes/boxes differently, this set of actions is different from ScaleRichView's actions.

The following new actions are added:
- TrvActionInsertFootnote inserts a footnote.
- TrvActionInsertEndnote inserts a footnote.
- TrvActionInsertSidenote inserts a sidenote
- TrvActionInsertTextBox inserts a text box.
After insertion, these actions call TrvActionEditNote to open an editor for the inserted item.
- TrvActionEditNote opens a non-modal window for editing a note or a text box.

Image
Editing a footnote in RichViewActions for TRichViewEdit

By default, a window created by this action is a floating window. With additional code (like in ActionTest demo), you can embed this window in the main window (it is necessary to use the common toolbar).
If this window remains visible, you can edit other notes in this window.
Changes are saved to notes/text boxes automatically. Using "undo" is the only way to cancel changes.

This window uses some "magic":
- it redirects many actions to the parent editor, so, for example, saving and printing commands continue working as if the parent editor is focused
- "object properties" action is redirected, so, when you edit a text box or a sidenote, you can right click this window to edit properties of this box.
Last edited by Sergey Tkachenko on Mon Aug 25, 2014 8:10 pm, edited 1 time in total.

Sergey Tkachenko
Site Admin
Posts: 13320
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko » Mon Aug 25, 2014 4:20 pm

RichViewActions: Properties of sidenotes and text boxes

Screenshot of a dialog shown by TrvActionItemProperties when editing properties of a sidenote or a text box.

Image
Horizontal position

Image
Vertical position


Image
Position in text


Image
Size


Image
Content alignment, background, border


You can compare with MS Word dialog:
Image
On the one hand, MS Word allows changing all position properties in a single page. On the other hand, this page does not look too user-friendly (for example, what does "Relative position: 10% relative to page" mean? MS Word's "margin" actually means "main text area".)
Last edited by Sergey Tkachenko on Mon Aug 25, 2014 8:15 pm, edited 1 time in total.

Sergey Tkachenko
Site Admin
Posts: 13320
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko » Mon Aug 25, 2014 8:07 pm

RichViewActions: Insert number dialog

Dialog displayed by TrvActionInsertNumber:
Image
A page of TrvActionItemProperties for a "sequence item" is very similar.

Comparison to MS Word:
MS Word does not have a special dialog to insert numbers. They can be inserted by "Insert Field" command, if you choose "SEQ" field.

Sergey Tkachenko
Site Admin
Posts: 13320
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko » Mon Aug 25, 2014 8:19 pm

RichViewActions: Insert caption dialog

Dialog displayed by TrvActionInsertCaption:
Image

"Label" is a combobox filled with labels (i.e. names of numbered sequences) from the current document. When the user chooses an existed label, its numbering type is applied to the dialog automatically.

If StyleTemplates are used, inserted caption is formatted using "caption" style template.
Last edited by Sergey Tkachenko on Thu Apr 23, 2015 8:58 pm, edited 1 time in total.

Sergey Tkachenko
Site Admin
Posts: 13320
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko » Mon Aug 25, 2014 8:37 pm

RichViewActions: redesigned property dialogs

The changes in TrvActionItemProperties dialog are related not only to properties of new items (sidenotes, text boxes, numbers, page numbers).

Changes in the picture properties dialog
Previously, it has only two pages: "Image" and "Layout".
Now, it has four pages: "Image", "Position and size", "Appearance", "Miscellaneous".
New features:
- a button for saving the image to a file;
- more convenient set of controls for resizing (users can view and enter percent or absolute sizes in different fields, proportional resizing, reset button);
- border (color, width) and background (color, padding) properties;
- spacing properties (the old version of this dialog allowed to enter a "spacing" which in the new version of this dialog is renamed to "padding")
- tooltip text

Changes in the table properties dialog
New features:
- intuitive and consistent way for specifying default table/cell widths
- intuitive way for specifying collapsing cell borders (a checkbox instead of entering negative cell spacing)
- vertical and horizontal cell padding
- "keep content together" checkbox for rows
- cell rotation
- visible table borders

Sergey Tkachenko
Site Admin
Posts: 13320
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko » Tue Aug 26, 2014 12:32 pm

Page number and page count fields

There are two new types of items: "page number" field (TRVPageNumberItemInfo) and "page count" field (TRVPageCountItemInfo).
If they are inserted in TRichView/TRichViewEdit, they display codes (such as '{p}'). In TRVPrint, TRVReportHelper or in ScaleRichView, they display the actual page number/page count. You can insert them in any place of the document (main document, header/footer, footnote, endnote, sidenote/textbox in the main document, sidenote/textbox in a header/footer) - they work correctly everywhere.
Page counts are displayed as decimal numbers.
Page numbers can be displayed using the same options as numbered sequences (decimal, upper and lower Roman, upper and lower English) and with dashed style ('- 1 -', '- 2 -', ...), i.e. using the same options as MS Word.
A starting value for page numbers can be specified:
- in TRVPrint/TRVReportHelper: PageNoFromNumber property
- in TSRichViewEdt: PageProperty.PageNoFromNumber property
Additionally, in TRVReportHelper, you can use OnGetPageNumber event to provide a page number displayed for the specified page. It is implemented because TRVReportHelper can be used to create complex layouts: multiple reporthelper's pages on a single paper sheet, or printing the same reporthelper's page on different paper sheets.

Image
Page numbers in ScaleRichView. They are inserted in text boxes, text boxes are inserted in headers, different headers for odd/even pages are used.

RichViewActions include a new action to insert a page number: TrvActionInsertPageNumber.

Page numbers and page count can be saved and loaded in RVF and RTF, exported to DocX (however, after opening in MS Word, you need to refresh fields to display correct values in page count fields)

Note: ScaleRichView already had a special set of properties to display page numbers. These properties still exist, but it is recommended to insert a page number fields in headers/footers instead.

Sergey Tkachenko
Site Admin
Posts: 13320
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko » Wed Aug 27, 2014 11:01 am

RichViewActions: changing UI language

Previously, the dialog window for changing user interface language contained only English names of languages (although, some languages were named with their native names, and it was inconsistent).

In this update, each UI language has an English name and a native name.
The dialog displays them both:
Image (in Delphi 2009 and newer, or if TNT controls are used; otherwise, only English language names are displayed, because this dialog essentially requires a Unicode listbox).

In the ActionTest demos, this dialog is shown:
- for demos with a classic toolbar: on click on the "Language" button in the right bottom corner of the main window
- for ribbon demos: on click on the "Language" button in the application menu

Sergey Tkachenko
Site Admin
Posts: 13320
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko » Sat Aug 30, 2014 3:31 pm

In this update, the following small changes in UI were made (according to Window UI guidelines):

- English localization: sentence-style capitalization for buttons and tabs instead of title-style capitalization.
For example, "Position and size" tab instead of "Position and Size", "Visible border sides..." button instead of "Visible Border Sides...".

- Meaningful captions for dialog buttons, instead of "OK". For example, in the dialogs for insertion of tables, numbers, symbols, this button is "Insert". In the hyperlink dialog, caption of the button is changed "Insert"/"OK"/"Remove", depending in the operation this button performs.

Post Reply