LMD 2007 - History LMD IDE-Tools

From LMD
Revision as of 19:16, 14 July 2008 by Rafael (talk | contribs) (LMD IDE-Tools 1.X)

Jump to: navigation, search

<< Back to Main Page or Product Resources page

[edit]

Introduction

This documents contains history logs for LMD IDE-Tools 1.0 and corresponding standalone packs.
First official release: 21-June-2007

Legend
[+] Feature added
[*] Feature changed
[-] Bug fixed

History Logs

LMD IDE-Tools 1.X

Release 1.12.60 (14-July-2008)

General
[*] Installer: Detection of BDSCOMMONDIR improved (CRS 2007 only).

Release 1.11 - 1.12.50 (26-June-2008)

[*] SyntaxEdit changes (see below)

Release 1.10 (04-Mar-2008)

General
[*] Improved Helpfile for shared runtime
[*] Improved Helpfile for all LMD IDE-Tools packages
[-] Help installers for BDS/CRS IDEs handle now target path names containing spaces correctly.

[+] WindowManager class, exposed by property inspector, designer, ect. now has StayOnTop property that allows to change form-style of non-modal property and components editors.
[*] Major changes in LMD SyntaxEdit (Release 1.2)

Release 1.05 (21-Jan-2008)

[*] SyntaxEdit changes

Release 1.04.50 (06-Jan-2008)

[*] SyntaxEdit changes

Release 1.04.20 (10-Dec-2007)

[-] All memory leaks and all major bugs fixed in PrintPack
[*] SyntaxEdit changes

Release 1.04.10 (26-Nov-2007)

[-] DesignPack fixes

Release 1.04 (13-Nov-2007)

[+] CRS 2007.NET release
[*] Changes in DesignPack and SyntaxEdit

Release 1.03 (15-Oct-2007)

[-] Fix in LMD DesignPack (see below)

Release 1.02.50 (17-Sep-2007)

[-] Fixes in LMD SyntaxEdit and LMD DesignPack (see below)

Release 1.02 (07-Sep-2007)

[-] Fixes in LMD SyntaxEdit and LMD DesignPack (see below)

Release 1.01 (20-July-2007)

[+] New Component editor for the TPageControl control that allows to create/delete pages.
[-] Bug fixed: Component tree speed has been improved while working with many objects.

LMD DesignPack 4.X

Release 4.04.50 (04-Mar-2008)

[+] Now in OnKeyDown, OnKeyUp and OnKeyPress designer's event handlers user can disable built-in key action by assigning zero to the Key parameter, just like in other Delphi controls.

Release 4.04.10 (26-Nov-2007)

[-] Bug with showing inplace edit popup menu after property inspector popup menu has been fixed.
[-] Bug with inplace edit themed painting has been fixed.

Release 4.04.00 (13-Nov-2007)

[+] CRS 2007.NET release
[-] BTS #561 fixed

Release 4.03.00 (15-Oct-2007)

[-] Bug with reverse captions fixed.

Release 4.02.50 (17-Sep-2007)

[-] Bug in Property Inspector has been fixed.
[-] Bug with inserting new controls in the designer when align lines are active has been fixed.

Release 4.02 (07-Sep-2007)

[-] Designer and property inspector speed has been improved while selecting many (>100) components.

Release 4.01 (20-July-2007)

[-] Bug fixed: String editors in PropertyInspector write RigthToLeft in Unicode mode.
[-] Bug fixed: Properties on objects that do not return ClassInfo raise if one tries to expand their node in the PropertyInspector.
[-] Bug fixed: Method ObjectFound introduces deadlock.
[-] Bug fixed: Memory Leaks in DesignPack 4.0.

LMD ScriptPack 4.X

LMD SyntaxEdit 1.X

Release 1.25 (26-June-2008)

[+] Better support for multi-document editing in one view. see this issue

[+] Better indent/unindent support. see this issue[1][+] New commands for TLMDEditView introduced:

sedIndentToPrevIndent - indents selection to previous indent value, looking at first upper indented line.
sedUnIndentToPrevIndent - unindents selection to previous indent value, searching in upper lines a line with indent less than indent of first selected line.
sedBackspaceOrUnindent - if there are only spaces at the left of cursor, then, unindents cursor line to previous indent position. Otherwise, deletes the char left.

'Code breaking changes':

TLMDEditView methods IndentSelection/UnindentSelection now have AUsePrevIndent parameter.

If AUsePrevIndent=false, then indent/unindent methods will use IndentWidth property to add/remove spaces for selection (un)indentation.

If AUsePrevIndent=true, then indent/unindent methods will use previous line with indent bigger/less than indent of selection first line to get new indent.

The documentation will be updated soon.

[+] Tabbed editing in Delphi/Delphi.Net demo

[+] Bookmarks now can remember char position in line too.

Code breaking change: ILMDLineMarkers.CreateMark renamed to ILMDLineMarkers.CreateMarkAtLine. Also, CreateMarkAtOffset and CreateMarkAtCol, DeleteMarksAtLine, DeleteLastMarkAtLine methods added to ILMDLineMarkers. The documentation will be updated soon.

[+-] Paint optimized for Addict live spellcheck.
[+-] Performance optimizations.

[-] Fixed assert violation when deleting text in folded content.
[-] Bug on syntax scheme compilation , when color scheme does not have some aliased token
[-] Bug: Replace dialog doesn't work unless "Prompt on replace" is checked. reported here
[-] Bug: Document.SaveToStream() does not uses Document.CodePage
[-] Bug fixed
[-] Bug fixed

Release 1.24 (14-May-2008)

[-] Bugfix: breakpoint line repainting
[-] Bugfix: TLMDCustomEditView.OnGutterPaint bugs: 608, 607
[-] Bugfix: TLMDCustomEditView.HorizScroll property published: 615

Release 1.23 (21-Apr-2008)

[+] Scrolling/syntax checking speedup. Good for big documents.
[+] Documentation cleanup/improvement for TLMDRegExp, TLMDHashTable, TLMDStringHashTable
[+-] small LMDRegExpr.pas cleanups
[-] Bugfix (one doc, two views, in custom event call SomeView.CursorOffset) (see the link)
[-] Bugfix: errors when part of folded area deleted
[-] Bugfix: FirstLinePhysical may go to invisible area, when deleting text right under folded area.
[-] Bugfix: scrollbars inaccuracy bugs
[-] Bugfix: Delete current line command fixed
[-] Bugfix: see the link
[-] Bugfix: (TLMDEditViewPrintTask.PrepagePages bugs) (see the link

Release 1.22 (31-Mar-2008)

[+] Custom attributes added to Parser. See documentation here.
[+] Dialog components for Syntax Edit:

  • TLMDEditFindDialog
  • TLMDEditReplaceDialog
  • TLMDEditKeybindingsDialog
  • TLMDEditSyntaxSchemeDialog,
  • TLMDEditColorSchemeDialog
  • TLMDEditGotoLineDialog

[+] vsRightClickMovesCursor option added to ViewSettings.
[+] View.OnResize event implemented.
[+] New demos added: for custom attributes (CustomAttrsDemo) and for SyntaxEdit dialogs (CustomAttrsDemo)
[-] Fixed bug with right-click and cursor behavior (see here).
[-] Fixed bug in sedDeleteLine command  (see here)

Release 1.21 (19-Mar-2008)

[+] A new flag introduced for TLMDEditDocument.OnChange event: dcModifiedPropertyChanged. It is set when Document.Modified property has changed.
[+] New option for Gutter to show wrap glyphs on line numbers bar: gsPaintWrapsOnLineNumberBar. See Gutter.Settings property.
[+] New View commands introduced: sedDeleteLine (Ctrl+Y), sedDeleteToLineEnd (Ctrl+K), sedDeleteToLineWrap (Ctrl+Shit+K)
[+] New Gutter bar implemented: gbWrapBar used to show wrap glyphs.
[+-] BorderStyle property implemented for View
[-] BeginCompoundEdit does not cancels selection anymore. Also, now, only keyboard/mouse operations cancels selection.
[-] Some speedup of big files listing/movement.
[-] Html color notation, custom color in color schemes fixed (there was incorrect html color decoding).
[-] Small memory leak fix.

Release 1.20 (04-Mar-2008)

[*] Installer save schemes definition now into \Resources or \ResourcesNet folder of target both (directory Editor_Schemes).
[+] Full Spellcheck support using Addict implemented (for Win32 platform only, since there's no Addict for .Net).
See demo with spellchecking and TLMDEditView.SyntaxCheckTokens property.
[+] New word wrap mode to wrap the text at the window width.
See TLMDViewWrapMode type and TLMDEditView.WrapMode property.
[+] Cursor through tabs mode, Visual Studio-like behaviour. Also, this mode will not allow set cursor beyond the line end.
See vsCursorBoundToChars flag for TLMDEditView.ViewSettings property.
[+] Option for current line highlight, as new Delphi does.
See vsHighlightSelectedLine flag for TLMDEditView.ViewSettings property.
[+] Documentation updates for features listed above, and implemented before, but undocumented.
[+] Now View allows to change it while Document in CompoundEdit mode.
See replace issue [+] Now its possible to search/replace in View backward with regexps too.
[+] Now Document has API to perform advanced Search/Replace (with regexps etc), as View does.
See TLMDEditDocument.FindPattern***/ReplacePattern*** method sets.
[+] Also, regexp Replace in View and Document now allows regexp pattern substitution.
See Subexpressions and substitution section in regexp manual.
[+] SQL syntax scheme added to schemes. CSS syntax scheme improved.
[+] Minor improvement in TLMDEditDocument component editor: now it allows manually enter path for loading syntax schemes.
[+-] TLMDEditDocument API for load/save with different encodings reorganized to be more reliable.
See TLMDEditDocument.CodePage**/LoadFrom**/SaveTo** methods and properties.
[+] Now the user of TLMDEditDocument able to add custom listeners to track document changes precisely. It should be useful for advanced tasks
[+] Roadmap changed
[-] Minor bugfixes in HTML and XML schemes.
[-] Issue with some Italian AltGr chars fixed.
[-] Minor bugs in regexp engine fixed: '\r\n'-like patterns now are working properly.

Release 1.10 (21-Jan-2008)

Bugfix release:
[+] New attributes for Syntax schemes *Scheme* element: moreWordSeparators, moreWordChars, used to alter \b operator behaviour.
See Shemes manual for details.
[-] Performance improvements in syntax schemes (file with very big lines had a chance to hang parsing)
[-] Bugfixes in text loading/saving in UTF8, UTF16 encodings.
[-] BTS #586 fixed (view locked for changes after load from file)
[-] AV in Parser fixed on reparsing text from some position, when variables used in syntax token regexps (affected VB scheme).
[-] Fixed: all line endings were converted to CRLF combination when loading/saving from/to a file. Now any combinations of line endings (CR, LF or mixed) are preserved.

Release 1.06 (06-Jan-2008)

[+] TLMDEditDocument.Modified property added, related to its methods TLMDEditDocument.Lines.Load/Save, authomatically set when document has changed, unset when undo etc. Demos updated.
[+] TLMDEditDocument.CodePage/CodePageName properties added (support for custom save/load encodings). Also, TLMDEditDocument.Lines.SaveToStream/LoadFromStream methods supports those encoding properties. Demos are updated with support for those properties.
[+] lmdrtl: LMDUnicodeEncodings.pas unit added with TLMDEncoding class (wrapper for windows/.net encoding functions/classes: System.Text.Encoding/MultiByteToWideChar/WideCharToMultiByte)
[-] bug #581 fixed: Assertion failure in LMDSedView.pas, line 4296
[-] fixed bug when extra line appears on appending segment starting with LMDLF, when text was finished with LMDCR
[-] misspelled word 'Phyzical' changed to 'Physical' in function names of TLMDEditView class. Also, ScrollPosToClient function introduced.

Release 1.05.10 (10-Dec-2007)

[*] Improved PrintPack integration

Release 1.05 (13-Nov-2007)

[+] CRS 2007.NET release
[+] PrintPack integration, including Print Preview support

Release 1.04 (17-Sep-2007)

[+] Double-click select and then holding down the mouse button and dragging the mouse selects by "word"
[+] Triple-clicking a line selects the entire line
[+] Triple-click select and then holding down the mouse button and dragging the mouse selects by "lines"
[+] Property TLMDEditView.SelectedText added. Now you can get and set the selected text easily.
[+] Gutter bar padding properties (LeftPadding, RightPadding) added.
[+] New view settings flag to toggle highlight cursor line: vsHighlightSelectedLine
[+] LMDSedFindDialog unit: TLMDEditSearchDlgOptions: LastNumberOfReplacements and WasReplaceAllChosen fields added to get information on executed replace dialog.
[-] Fixed: Misspelled TLMDEditView.ViewSettings vsOwerwrite flag corrected to vsOverwrite.

Release 1.03 (07-Sep-2007)

[+] Color scheme visual editor (property editor for TLMDEditDocument.ColorSchemes)
[+] TLMDEditView.CustomKeyBindings property added, and visual property editor for it. Now, it's possible to override predefined keybindings in TLMDEditView.
[-] assign syntax/color schemes.
[-] memory leak with internal timer
[-] GutterBar.Visible behavior
[-] syntax schemes for JS and Perl fixed (BTS #529)

Release 1.02 (17-Aug-2007)

[+] Document.ReadOnly property introduced with View.ReadOnlyBgColor property
[-] BTS #518 fixed (e.g. entering characters with AltGr key)

Release 1.01 (20-July-2007)

[-] Numerous small bugfixes with markers and view
[+] Performance improvements for parser
[+] Block indent/unindent feature added (Ctrl+Shift+I/Ctrl+Shift+U)

LMD SyntaxEdit RoadMap

  • Nearest release (end of this January)
    • Spellcheck support using Addict (or other spellchecker using Windows RichEdit EM_*** messages).
      See MSDN page on those messages
    • Issue with cursor position (and other significant TLMDEditView parameters) saving when it switches from/to different Documents.
      Very useful for tabbed editing.
    • Back unindent feature that aligns the cursor with the previous indentation level from the preceding line when pressing the 'Backspace' key
    • New word wrap mode to wrap the text at the window width.
      When window is resized, wrap is automatically adjusted to the new window width.
    • Cursor through tabs mode so tabs can optionally be traversed with one right or left press of the cursor keys, regardless of tab width.
      Visual Studio-like behaviour.
    • New option for cursor not to move beyond end of line.
    • New option in ViewSettings - Current line highlight enabling/disabling
    • Documentation update for features listed above, and implemented before, but undocumented.
    • And, hopefully, fix for replace issue (it requires some structural changes in TLMDEditView)
  • Next release (approx., end of February)
    • Saving line+character position in items TLMDEditDocument.Bookmarks items (now, they are bound to line starts)
    • Custom colorization for Document's text postprocessing/highlighting (syntax errors, Firefox-like found text highlight etc).
      Now, it exists in prototype, but, it requires optimization for large texts.
      Planned API (functions in TLMDEditView/TLMDEditDocument):
      • procedure AddCustomStyle(AStart, ACount: Integer; AStyle: TLMDEditViewStyle);
        Adds custom style on some text range, over parsed syntax colorization.
      • procedure RemoveCustomStyle(AStart, ACount: Integer; AStyle: TLMDEditViewStyle);
        Removes given custom colorization layer from given text range.
      • procedure ClearCustomStyles;
        Removes all custom style layers from View.
      • Here, TLMDEditViewStyle is object in View's CustomStyles collection. It contains color and font style.
    • New editor commands (sedDeleteToLineEnd, sedDeleteLine) etc.
      All keybindings for commands now customizable with TLMDEditView.CustomKeyBindings collection.
      Feel free to propose your commands...
      Also, here i think on integration of standard VCL actions system with LMDEditView.CustomKeyBindings collection.
      Feel free to send your ideas about that integration...
  • Releases after end of February will be focused on Parser improvements.
    Here i plan:
    • Folding support for Ptyhon-like (indentation-based) languages
    • Visual syntax schemes editor
    • Improvements in syntax folding
    • Ability to generate names for folds, for syntax outline creation
    • Create separate Parser component for parsing/colorization external controls like TRichEdit etc.