Blog

All Blog Posts  |  Next Post  |  Previous Post

WYSIWYG formatted text & images editor for VCL & FireMonkey

Friday, December 19, 2014

Early this year, our team started the challenging task to create a new component for WYSIWYG editing of formatted text & images for Delphi. From the start, we want to create a control for FireMonkey that would fit neatly the FMX paradigm of one source code to rule all platforms (Windows, iOS, Android, Mac OSX at this time) but realising this would be a huge effort, we wanted that this effort would also be usable for VCL developers targetting Windows only.

After a lot of research was done on performance (as we knew from our experience with other FMX controls this would be difficult) we decided on what we internally disrespectfully call a sandwich architecture. This sandwich architecture should enable us to isolate a core formatted text handling layer from the framework, i.e. the VCL and FireMonkey framework. The benefit clearly is that work on the core only needs to be done once and further evolutions of the core and its maintenance automatically benefits both VCL and FireMonkey framework versions. Visually, this can be seen as:



The core middle layer not only deals with rendering the formatted text and images but also with all the manipulations that can happen with it. Non-trivial areas in this core middle layer abstraction are: dealing with font handling, coordinates and images that are all treated in a different way in VCL and FireMonkey frameworks. Between this architecture and its final implementation is of course lots and lots of hard work both in development and testing. The final result in VCL and FireMonkey platform running on Windows looks like:

TAdvRichEditor : VCL component from TMS Component Pack



TTMSFMXRichEditor : FireMonkey component from TMS Pack for FireMonkey



To whet your appetite to get started with the new editors regardless of what platform or framework you want to use, here is a short feature list:

  • Compact light-weight WYSIWYG editor for formatted text
  • Supports formatted text with bullets, hyperlinks, images, indenting
  • Paragraphs with left,center,right alignment
  • Support for images, plain text and formatted text on clipboard
  • Undo/redo support
  • Find & replace + text highlighting
  • Mailmerge function
  • Printing (on Windows)
  • Exports to .TXT, .RTF, .HTML files.


Bruno Fierens




This blog post has received 8 comments.


1. Sunday, December 21, 2014 at 12:05:56 PM

Hello , does it support gif images ? .

many thanks for these great efforts .

randy


2. Sunday, December 21, 2014 at 2:18:19 PM

Yes, GIF images are supported

Bruno Fierens


3. Friday, January 23, 2015 at 3:57:39 PM

Nice, very nice, found it today in my component pack.

Question: is it possible to print the editor content with Fast Report (V.4 or 5)?

Treichel Udo


4. Tuesday, January 27, 2015 at 5:01:19 PM

Sorry, there is currently no direct built-in FastReport integration. We''ll consider this for a future version.

Bruno Fierens


5. Saturday, February 14, 2015 at 10:14:50 PM

Is it possible to use spelling ?

Olivier Bracque


6. Monday, February 23, 2015 at 8:41:33 AM

The next update will have built-in spell check support.

Bruno Fierens


7. Monday, October 24, 2016 at 11:58:15 AM

Hello, can I append a table to the TTMSFMXRichEditor?

Steepe


8. Monday, October 24, 2016 at 4:55:17 PM

At this moment there is not yet table support in TTMSFMXRichEditor. In feature set, consider TTMSFMXRichEditor similar to MS WordPad rather than MSWord.

Bruno Fierens




Add a new comment

You will receive a confirmation mail with a link to validate your comment, please use a valid email address.
All fields are required.



All Blog Posts  |  Next Post  |  Previous Post