Skip Navigation LinksBCGSoft > Release Notes > Version Release Notes

Release Notes

BCGPEdit

Version: 30.0. Released: 12/16/2022
  1. Visual Studio 2022 support:
    All projects (library and samples) were converted to VS 2022 and tested in this environment.
  2. Error indication support:
    A new simple and flexible mechanism allows to specify incorrect words or spelling errors and display them with a red curved line under the text and display list of suggested corrections in the word's context menu. EnableErrorIndication: enable/disable error indication. The following new methods were added to CBCGPEditCtrl class:
    • IsErrorIndicationEnabled: tells whether error indication is enabled.
    • IsCorrectWord: override this method to specify if specific word is incorrect. By default, all words are treated as correct.
    • GetWordCorrections: override this method to specify a list of suggested corrections and list of custom actions related to the incorrect word.
    • OnWordCorrectionMenuCustomAction: override this method to perform a custom action for the incorrect word (e.g., add this word to dictionary).
    • GetIncorrectWordToolTip: override this method to specify a custom tooltip displayed near incorrect word (e.g., a reason why this word is treated as incorrect or recommended action).
    Please take a look at MDIEditor sample to see this new feature in action.
  3. Edit control scaling:
    The following new methods and notifications were added to CBCGPEditCtrl class:
    • EnableZoom: enables or disables editor zoom.
    • IsZoomEnabled: tells whether zoom is enabled.
    • SetScale: set the current editor scale.
    • GetScale: get the editor scale.
    • SetScalingRange: specify the editor scaling range.
    • GetMinScale and GetMaxScale: obtain the editor scaling range.
    • BCGM_ON_EDITSCALECHANGED: notify owner about editor scale changing.
    • CBCGPEditView: a new virtual method OnScaleChanged is called when the editor scale was changed.
  4. Syntax highlighting inside selected or marked areas:
    Implemented ability to draw text with a syntax highlighting on the selected or marked areas. The following new methods were added to CBCGPEditCtrl class:
    • EnableSyntaxHilightingOnSelection
    • IsSyntaxHilightingOnSelection
    • EnableSyntaxHilightingOnColorLine
    • IsSyntaxHilightingOnColorLine
    • EnableSyntaxHilightingOnHiliteMarkers
    • IsSyntaxHilightingOnHiliteMarkers
    Please take a look at Markers sample application to see this new feature in action.
  5. Commenting:
    Implemented ability to toggle comments around selected text using single typed character (e.g. '/' in C++ language). The easiest way to enable this feature is adding a new tag CommentString to your XML settings file. Alternatively, you may call a new method CBCGPEditCtrl::EnableCommentingSelectedText. In addition, the following new methods were added to CBCGPEditCtrl class:
    • IsCommentingSelectedTextEnabled
    • CommentSelectedText
    • CommentText
    • GetCommentChars
  6. Other new and improved features:
    • Improved Edit control "modified" flag implementation:
      • BCGM_ON_MODIFIEDCHANGE: this new registered message notifies owner about "modified" flag changing.
      • CBCGPEditCtrl::SetModified method is a virtual now.
      • CBCGPEditView correctly specifies a document's "modified" flag (e.g., if user undoes all editor actions, the document will be unmodified again).
    • Added a new method HasSelection: this method tells whether some text is selected.
    • SetCaret method has a new, optional parameter bCleanUpSelection. If you set this parameter to TRUE, the current selection will be cleaned-up.
    • ReplaceAll implementation has been significantly improved: replacing mechanism is much more fast and efficient now.
    • A new method SetTextLeftMargin allows to specify a distance between text and left-side bar. By default, this value is 0.
    • A new method LoadXMLSettingsFromResource simplifies loading XML settings from application's resources.
    • A new virtual method OnGoToNextMarker allows to customize markers navigation behavior.
    • Improved font and layout used for the printing.
    • CBCGPEditView: implemented standard ID_EDIT_REPEAT command processing.
    • Improved bookmarks/markers support. CBCGPEditCtrl has the following new methods: - GoToFirstMarker: moves caret to the 1-st editor's marker - BookmarkLine: adds bookmark to the specific editor's line - MarkAll: adds bookmarks to all editor's lines that contain a specified text.
  7. Samples:
    • MDIEditor: added example how to use Python-style editor scheme and error indication.
    • Markers: demonsrtares syntax highlighting inside selected areas.
  8. Fixes:
    • Addressed issue with incorrect indentation caused by Undo operation.
    • Addressed issue with printing text with a dark background.
    • Addressed issue with italic fonts.
    • Addressed issue with displaying hyperlink with custom color.
    • Addressed issue with displaying hyperlink with "https" prefix.
    • Addressed some issues with selection in GoToLine and GoToMarker methods.
    • Addressed issue with incorrect vertical scrolling when some text blocks are collapsed.