WPTools Development History

This is the file “history.txt” which is installed by WPTools 7

************ WPTOOLS 7 History ************
********** http://www.wpcubed.com *********
**** Copyright (C) 2014 J. Ziersch and ****
**** WPCubed GmbH, Munich, Germany ********
* - = bug fix
* + = new feature
* * = changed, expanded feature
* IMPORTANT: Please edit file WPINC.INC to
* and GraphicEx / PNGImage support!
* Delphi 2009 and later as inbuilt PNGImage 

~~~~~~~~~~ Important Notes ~~~~~~~~~~~~
- With Delphi XE2 or later it is possible to compile WPTools into a 64 bit applications. 
  You need WPTools 7 PRO or WPTools 7 Premium for this.
- Localization and Inch/CM selection see 
  Also see demo\tasks\localization. There are the required XML files.
- if flag wpDontAddExternalFontLeading is active in property FormatOptionsEx  
  the text will be formatted more like WPTools4/MS-Word. You can alternatively 
  set  global variable WPDoNotAddExternalFontLeading := TRUE and 
  select the Printer WYSIWYG mode: TWPRichText1.HeaderFooter.UpdateReformatMode(true)
- The FormatOption wpDisableAutosizeTables can be required for good 
  display of tables. wpNoMinimumCellPadding for narrow layout, too.
- If you plan to use DBWPRichText please check 
- The reader/writer receive their options through "FormatStrings" 
  please see list at http://www.wpcubed.com/manuals/formatstrings.htm
- WPTools is configured using the file WPINC.INC, 
  here WPREPORTER is activated and the optional WPShared, WPSPell and wPDF 
  can be selected to be compiled into main WPTools package.
- also see FAQ: http://www.wpcubed.com/forum/viewforum.php?f=15
- and support forum: http://www.wpcubed.com/forum/


WPTools 7 is based on the WPTools 6 engine and we took great care that it behaves like it
and does not introduce any significant changes. However it is possible, that in the 
way the component is used in Your application, some difference become apparent. 
Please contact use, if You see such differencs so we can correct or document them.


wPDF V4, or PDF creator, is available now. 
It offers file embedding, Type3 fonts and improved engine and much more.
You can upgrade here:


21.9.2014  - WPTools 7.16
+ function TextWidth(resolution : Integer) : Integer
+ function TextHeight(resolution : Integer) : Integer;
+ using the global var WPSpecialCharacterAttrOrder : array[TWPSpecialCharacterAttrKind] of TWPSpecialCharacterAttrKind
  it is now possible to customize the order special attributes are applied to the text, i.e. to 
  also hightlight fields inside of protected text do this:
    WPSpecialCharacterAttrOrder[wpInsertpoints] :=  wpProtectedText;
    WPSpecialCharacterAttrOrder[wpProtectedText] :=  wpInsertpoints;

15.9.2014  - WPTools 7.15
+ the HTML writer understand the format option "-WriteNumbers" to convert the oulines and lists directly into text.
- RTF writer writes \pard before a table
+ add support for Delphi XE 7
+ you can add compiler symbol to project NOGDIPLUS to deactivate GDIPLUS
- TWPRichText property editor did not show manage header&footer dialog
- fix in HTML writer which to write style property of img tag
- fix auto capitalize mode.
- InternalHeight did not work for table rows correctly
- Cells with black background will be imported by RTF reader with white text automatically (Compatibility to MSWord)
- RTF reader did not read tables which did not use \intbl correctly

20.6.2014  - WPTools 7.14

+ The ANSI Text reader will now also read UTF8 text files with BOM  (requires Delphi 2009 or later)
+ The ANSI Text reader will now also read UTF8 text text files with option "-utf8'  (requires Delphi 2009 or later)
+ The ANSI Text writer will now also write UTF8 text text files with option "-utf8'  (requires Delphi 2009 or later)
+ with wPDF V4 and Delphi XE PNG files can be exported to PNG including a transparency mask. 
+ With Delphi  tags anymore
+ ViewOptions: wpShowParNames - this will paint the name on the left side of a paragraph 
  (flag was there since wptools 4 but not used in V5 and V6)

25.3.2014  - WPTools 7.10'
+ FormatOptionesEx2: wpfIgnorePropertyNumberStart
* optimized JPEG export to PDF

13.3.2014  - WPTools 7.10
- DeleteTrailingSpace ignored the EmptyFieldsToo parameter. (was always expected to be true)
- fixed 3 possible issues with compatibility to 64 bit 
* added some code to RTF reader to recover after inserted (garbage) RTF header codes
- certain paragraph attributes were not read correctly from RTF after a table
- Lines between cells were missing under certain circumstances
- hyphenated words were sometimes printed with character overlap
- fix problem in TWPToolbar and zoom combobox

17.1.2014 - WPTools 7.09
* improve compatibility with Delphi XE5
- fix problem with fonsize combo in TWPToolbar when property ButtonHeight is 0
- when GPP support was active BMPOs were not saved to RTF
- if ViewOptions wpCenterPaintPages was used, the horizontal scrollbar was always visible
- assigning a style did not reset the numberstyle of a paragraph or style

13.12.2013 - WPTools 7.08.01'
- wpOnlySelectInSameCell  Code broke use with "CreateDynamic"

10.12.2013 - WPTools 7.08.01
+ use format string "RTF-ParAsNewLine" to let the RTF reader convert \par to \line. This is useful when using TParagraph.LoadFromFile.
- in seldom cases Reformat was not called after deleting a selection which caused an AV in the paint procedure
- When WPBRD_DRAW_Finish was used, the top padding was even applied when the previous cell was also bordered.

3.12.2013 - WPTools 7.08
+ EditOptionsEx2 wpOnlySelectInSameCell allows only selection inside same cell or whole table
+ added PrintParameter.PrintHeaderFooter settings: wprOnlyOnOddPages, wprOnlyOnEvenPages
+ TParagraph.CreateCopyList has new mode flag: wpParCopyStyles
* improved selection code for cell selection. 
    Works better when merged cells are used.
- when deleting a column the next column was not always resized correctly.
- Undo for DeleteColumn did not preserve style
- in WPTools Premium Edition Report templates were displayed incorrectly

17.11.2013 - WPTools 7.07.1
+ usually otline numbering works on a complete section. With FormatOptionsEx2 wpfRestartOutlineNumbersAfterRegularText it
  will now be restarted after text which was not numbered. (Compatibility to HTML browser)
* HTML writer will not write margins in 
  • elements due to compile symbol NOMARGINS_IN_LIST - HTML reader created wrong paragraph nesting with some HTML files - WPPremium: Footnotes were moved in X direction + WPPremium: added function InputTextbox to simplify Textbox creation - WPPreviewDlg property ZoomMode was ignored - RTF reader added the name "HYPERLINK" to hyperlink start objects - if a moveable image does not fit on the page a new paragraph will be created - when colored text was selected the first non selected character will be painted in paragraph color 1.11.2013 - WPTools 7.07' - when exporting images to PDF they anti alias was applied. That has been changed. * improvement to HTML reader 17.10.2013 - WPTools 7.07 * The Inc/Dec Indent actions will now, if applied to outline paragraphs, only change their numbering level and not the indent (like MS Word) Add compiler symbol INDENT_FOR_NUMS to WPINC.INC to get back the old behaviour + new event AfterExecuteAction is triggered after a toolbar button click or action was processed. - WPT writer sometimes saved incorrect numbering style when only parts of an outline was used. - fix problem with background of repeated header cells - 2 fixes in CSS reader - fixes one lost TBitmap in WPRTEPaint - improvement to HTML reader - hyphenation marker caused sometimes a space to appear + added support for Delphi XE5 - the property editor "Change Pagesize" did not show the current size but the default. * at 100% zoom unscaled images are no longer interpolated when painted with GDI+ to avoid blurring + added chapter "Database, TDBWPRichText" to PDF manual 27.9.2013 - WPTools 7.06 - improvement to lists loading and saving in HTML mode * TParagraph.IsLastPar now checks parent paragraphs as well. + ButtonDistance property in TWPToolbar + WPToolbarConfigurate now uses as initial button selection the old style "Sel_..." properties if no ConfigString was specified. (BTW - ConfigString =";" shows an empty toolbar) + WPToolbarConfigurate can now add separators after selected elements. The width of the separator is controlled by property WidthBetweenGroups 20.9.2013 - WPTools 7.05 - page area was painted incorrectly when layout mode was Normal in ruler - zoom menu of default actions did not work + ClearSelection can now delete texts which use multiple, differently structured tables 30.8.2013 - WPTools 7.04'' * the "heal table" produced an exception * autoscrolling did not always update the screen (depending on theme) + EditOptionsEx2: wpNoMiddleMouseBtnScroll to disable scrolling after pressing the middle mouse - DecSize did not work correctly when text had no attribute (used feault size) * (internal change) formatter now implemented as class instead of procedure 26.8.2013 - WPTools 7.04 * The wptools caret will blink in default system frequency. Add compiler define NODEFAULTBLINK to WPINC.INC if you need the old non-blink behaviour + wpAlwaysLockTextHeight in EditOpionEx2 to lock all text box heights + OnTextObjGetTextEx will now also work for fields when ShowMergefiledNames = true - fix in XA_FInsPageExecute in default actions + Clear of the completed body text (SelectAll, ClearSelection) also resets the paragraph style and attributes (like MSWord) This can now be disabled using the EditOpionEx2 flag wpClearSelectionDontRemoveParAttr * clearing the complete text of a textbox preserves the attributes and style of first par - save printed file caused underlying editor to be wrongly repainted * minor changes to TWPImageList to detect programmer errors - DecSize allowed font sizes as small as 0, this has been changed to 1 - fix problem with moving of TextBoxes with anchors being in table cells 27.7.2013 - WPTools 7.03 + improvement to image compression code. Create event OnPrepareImageforSaving to use: if TextObject.IsImage then TextObject.ObjRef.Compress; + toolbar style icons are disabled when editr is switched to readonly + SpellAsYouGo icon is initialized to current state - missing DelayedReformat in method ReplaceTextMethod - some untis were missing from the demo * some improvements to editor 17.7.2013 - WPTools 7.02' - WPTools Premium: Fix the problem that text boxes which were placed in header and footer were not displayed and the frame was drawn at wrong position 12.7.2013 - WPTools 7.02 - images were not saved correctly when InsertGraphicDialog was used + the setup now installs the PNG images for the toolbar gylphs (full version only) - fix problem when loading sections from RTF - changed the resource string to remove the under scores. String_meDefaultUnitINCHorCM --> wpSTmeDefaultUnitINCHorCM - OPEN und NEW action will now set the modified flag in case they are used with the data sensitive TDBWPRichText * when copying a row which used span styles it was notz possible to insert it agaian without creating a nested table. 4.6.2013 - WPTools 7.01" - fix in GetXYPositionAtRTFTW to sometimes report 0 for position 1 in line of length 1 - some methodes in TWPRTFDataCollection had been marked protected instead of public - change in WPIOWriteRTF to ignore colors with illegal index values - some small changes to improve compatibility with C++Builder - fix in CSS reader to improve "margin" propery 23.5.2013 - WPTools 7.01' - fix some minor issues in installation script * ConvertTableToText now handles nested tables 18.5.2013 - WPTools 7.01 + ConvertTablesToText, convert all tables to text. - the new GDI+ based image drawing code was not supported by printers - fix minor drawing problem in Toolbar configuration + new component TWPCreatePDFDlg (can be used with wPDF V3 or later) + Toolbarbuttons to display color drop down: (property WPToolbar.StandardColorDropdowns=false) + Style and Paragraph Border dialog now used the new color selector - paragraph colors was not working in footnotes 13.5.2013 - WPTools 7.00.1 + TWPCustomRtfEdit.SaveToFile renames file before overwriting + EditOptionsEx2 wpSaveToFileCreatesBackupfile - create and keep ~N~ backup file + SaveToFile triggers the EWPNoWriterClassFound exception when no writer class was found - rowmerge caused cells tu use wrong width in next column * for consistency with Word the row padding is passed as value div 2 to the cells. 8.5.2013 - WPTools 7.00 + Using the global variable WPDrawRectWithBitmap_bitmap the shading can be customized. * AInc now uses default font size - replaced OnTextNotFound with OnSearchReplaceMessage which not only by the find method but also bei the ReplaceMethod. * TWPRTFEnginePaint -> TWPRTFEngineEdit, requires unit WPRTEEdit * wpDefActions ---> wpDefActions7 + CopyToClipboardAttr + BrushStart + CPMoveToItem + TWPParPopupObj + visual Style Picker component (tiles with stylename and preview) + TRTFProps now component. Can be assigned to WPRTFPropsComponent + PageMinCount + PageMaxCount + updated WPGutter to display style used by text * InsertGraphic with parameter AsLink=true will trigger the event OnRequestHTTPImage with Reader=nil + Paragraph.LoadFromString has new options + WPRichText1.FindTextBoxPar can create sub paragraphs + event: RTFData.AfterChangeTextBoxPar + Labelprinting: Caption and frame is not painted for empty labels. wpfLabelAllowSoftPagebreak + images can be embedded into HTML + ParStyles.SetCSS( ... ) + Themed Gutter - use clNone as background color + CombineCellsVertically improved + Added API calls to TParagraph: ASetRecursive + save "variable" in WPIOWPtools + improved theme support (ruler, editor with scrollbars, toolbar, Gutter ) + new Ruler Design and Symbols (Shaded) + internal FIND Dialog + internal Replace Dialog -- for better theming + WPLoremIpsum + ReplaceTextMethod + CopyAttr + PasteAttr formatting now done in WPRTEReformatA - WPTools 6 formatting (old logic but adapted to use new datastructures) WPRTEReformatB - WPTools 6 HTML formatting (old logic but adapted to use new datastructures) - RTFDataCollection does not implement TextObjects anymore. It is implemented in WPRTEEditor - TWPRTFDataCollectionBase is now the basis RTFDataCollection. We moved edit parts to WPRTEEdit. There is also the merge code. TWPRTFDataBlockEd - new unit: WPRTEDefsConsts - new unit: WPRTEPlatform - new unit: WPRTEEdit *** Changes to the Engine types and logic *** a) type TWPVirtPageRTFDataRef was removed This used to be a record. It has been replaced with TWPVirtPageRTFDataFrame class. It is now stored in a list and not an array. This makes it possible to access and store more data. TWPVirtPageRect was removed This is now a class TWPVirtPagePrintRect. The instances are stored in a TList. Several TWPVirtPage "RTFData" functions have been modified to work with the new object class. function ElementPage has been removed. b) property DisabledDialogs: TWPCustomRtfEditDialogs was removed from the PreviewDialog and replaced by property DisabledButtons : TWPPreviewButtons ButtonHeight in Toolbar must be set. Default 22. RTFDataBlock.InsertPar was replaced by InsertParEx.