Lenexa, KS (February 12th 2019) BKeeney Software Inc. releases a major update to Formatted Text Control. Developers can now implement tab leaders, change character spacing, implement text drop shadows, and use standard keyboard handling in their applications that require a robust word processing control. This version contains dozens of new, changed, and updated items.
Formatted Text Control (FTC) is a set of classes that offer developers word processing capabilities for their Mac and Windows desktop applications. FTC has several viewing modes that gives users a choice of Page View, Edit View, or Single Line view. FTC supports inline graphics, hyperlinks, and text formatting that the built-in Xojo TextArea control just cant do. Users can import and save text, RTF, and XML format documents.
FTC version 3.2.0 is a free update to all 3.x users and is recommended. Existing users should be notified via FileShare but can contact BKeeney Software at support@bkeeney.com if they have any questions.
FTC is sold as unencrypted source code and costs $150 USD. More information and demo projects are available at https://www.bkeeney.com/formatted-text-control/.
Complete change list:
New Items:
- Contains code from the ImagePlay Effects Library - http://imageplay.sourceforge.net
- Tab Leaders implemented
- Issue #3832: Implement Control + Up/Down Arrow Key Handling
- Issue #3833: Implement paragraph moving via keyboard handling
- Issue #3700: Drop Shadow available on Windows and Linux
- Issue #3795: The FTDocument properties characterStyles and paragraphStyles need to be accessible to subclasses.
Added CharacterStyles and ParagraphStyles getter/setters so developers can create their own style editor. - Character Spacing implemented (requires Xojo >= 2015.4)
Bug Fixes:
- Issue #3650: CustomObjects Demo: Added FTFile.Clone method so it works with FTIterator propertly.
- Issue #3653: macOS: “getDoubleClickTime” - Cocoa replacement for old CarbonLib call
- Issue #3699: Add Win64 Declares
- Issue #3654: Hi-DPI Mode: FTPicture - Handles drawn incorrect and matches wrong.
- Issue #3702: DragRect is half height in HiDPI
- Fixed an issue with FTParagraph clones that have a different ID after going through the FTIterator
- Issue #2007/3605: Candidate Window Shows up in Wrong Location
- Issue #3646: FTParagraph.getXML saves wrong TabStop Properties
- Issue #3709: FTPicture ignores Nudge property
- Issue #3748: FTDocument.selectionBold,Italic, shadow, strikethrough, subscript, superscript, underline now works properly
- Issue #3752: FTRBScript: Fix for printing line numbers
- Issue #3763: RTFReader/FtcRtfReader ignored the left/right margin and first indent of paragraphs.
- Issue #3764: RTFReader ignored “\sb” SpaceBefore of paragraphs.
- Win64 Issue: Modified FTCUndoPaste.constructor and FTCUndoManager.savePaste to allow pasting (Xojo Compiler Issue. Feedback 53967)
- Issue #3750: Suggestion & comparison of the Office applications for the display optimization of the paragraph background color
- Issue #3775: Implement Corner Color Property in Formatted Text (Switch between Light/DarkMode - Xojo Version >= 2018.3)
- Issue #3777: Implement Page Shadow Property in Formatted Text (Switch between Light/DarkMode - Xojo Version >= 2018.3)
- Issue #3755: Printing has the side-effect of scrolling the editing window to the top
- Issue #3794: FTDocument.getSelectedParagraphs returns first paragraph of multi-paragraph doc regardless of insertion point
- Issue #3796: FTStyleRun.copyStyleData does not copy background color
- Issue #3820: RTFWriter missed “\par” after the last Paragraph
- Issue #3774: FormattedText changeParagraphMargins method name changeParagraphMarigns
- Issue #3762: FTDocument.selectionFontColor returns sameColor false when it should be true
- Issue #3842: FTStyleRun.updateWith Style sets textColor black when undefined
- Issue #3806: FTDocument.addParagraphStyle and addCharacterStyle bypassed by insertXML and cannot be overridden in subclass
- Issue #3818: Print RB Code Editor: Unwanted positive y-offset of the content compared to its line number
- Issue #3637: FTCParagraphStyle.backgroundColor wont set correctly
- Issue #3910: RTF-Reader ignores local value for first line indent in paragraphs
- Issue #3914: First Paragraph on Page with Background Color ignores Before Space
- Issue #3917: Paragraphs Background Color ignores Hanging Indent
Changes:
- Renamed FormattedText.xDisplayPosition to FormattedText.hScrollValue to better reflect what it is.
- Renamed FormattedText.lastXDisplayPosition to FormattedText.lastHScrollValue
- Renamed FormattedText.yDisplayPosition to FormattedText.vScrollValue to better reflect what it is.
- Renamed FormattedText.lastYDisplayPosition to FormattedText.lastVScrollValue
- Renamed FormattedText.GetResolution to FormattedText.GetMonitorPixelsPerInch to better reflect what it does.
- Renamed FTDocument.SetResolution to FTDocument.setMonitorPixelsPerInch
- Renamed FTDocument.GetResolution to FTDocument.getMonitorPixelsPerInch
- Renamed FTDocument.Resolution to FTDocument.MonitorPixelsPerInch
- FormattedText.DISPLAY_ALIGN_CENTER/LEFT/RIGHT replaced with Display_Alignment enum
- FormattedText.MODE_PAGE/NORMAL/EDIT/Single replaced with Display_Mode enum
- FTLine.FIRST_LINE/MIDDLE/LAST/BOTH replaced with Line_Type enum
- FTPicture.Handle constants converted to FTPicture.Handle_Type enum
- FTParagraph.Alignment constants converted to FTParagraph.Alignment_Type enum
- Removed Alignment constants from RTFConstants module
- Changed how hyperlinks are drawn in FTObject.drawHyperLink
- Changed how the gradient shadow is drawn in FTPage.drawPageViewMode
- Changed how strikethroughs are drawn in FTObject.drawStrikethrough
- Changed how underline is drawing in FTObject.drawUnderline
- Can now read/write shadow properties from/to RTF Documents
- Added AcceptFileDrop to test window for testing custom objects. Added FTFile into project.
- Changed how Styles are saved and read in XML format.
- Issue #3802/1456: Command + (Shift Key) + Arrow Keys doesn’t move insertion point correctly
- Changed RB Script classes to Xojo Script.
- Now have TabLeaders (WORK IN PROGRESS)
- Embedded FTC demo now does text formatting with keyboard shortcuts.
- Removed unused FTDocument.DocOffset method.
- Fixed TargetCocoa and TargetWin32 constants with more appropriate ones for 2018 R4.
- Removed duplicated code line in RTFReader.SetupKnownCommands
- Updated ParagraphWindow to easy format First Line and Hanging Indents
PARTIAL IMPLEMENATION:
- Issue #3753: PageBreaks won’t load from RTF