Difference between revisions of "LMD VCL 2010 - What's New?"
Line 58: | Line 58: | ||
<b>TLMDExplorerBar</b><br> | <b>TLMDExplorerBar</b><br> | ||
MouseDown and MouseUp within sections now are translated to ExplorerBar events. | MouseDown and MouseUp within sections now are translated to ExplorerBar events. | ||
+ | |||
+ | === LMD ShellPack === | ||
+ | LMDShController | ||
+ | [+] LMDShellInvokeContextMenu: aSuppressCmd param added (false by default to keep compatibility) | ||
+ | [+] Overloaded version of LMDShellInvokeContextMenu for given full file/directory name added. | ||
+ | |||
+ | LMDShList | ||
+ | [+] LMDShList: selection by first character on key press added | ||
+ | |||
+ | === LMD StoragePack === | ||
+ | [+] LMDStorBase: IsLoading read-only property added; | ||
+ | [+] LMDStorINIVault, LMDStorXMLVault: OnUpdateBeforeClose event added. | ||
== LMD ElPack == | == LMD ElPack == | ||
* DockingPack included | * DockingPack included | ||
− | * | + | * TElBtnEdit |
− | ** | + | ** PngGlyph support to ElButtonEdit |
− | * | + | * TElHTMLLabel, TElTree, TElXTree: TLMDHTMLImageNeededEvent support added |
+ | * TElHTMLLabel: Vertical Spacing added (LineGap property) | ||
* TElListBox | * TElListBox | ||
** Advanced/Extended OnChange/OnClick events (which can be used as item selection notifier) | ** Advanced/Extended OnChange/OnClick events (which can be used as item selection notifier) | ||
Line 70: | Line 83: | ||
** Apply Button which allows to review changes before closing the dialog | ** Apply Button which allows to review changes before closing the dialog | ||
* TElExpressionEval: Improved error handling | * TElExpressionEval: Improved error handling | ||
− | * | + | |
+ | * TElXTree | ||
+ | ** GetNextChecked and GetCheckedCount methods added. These methods are based on LookForItemEx2 method and can be used with such flags as IterateBackward, CheckStartItem, SubItemsOnly, VisibleOnly, CountCollapsed. | ||
+ | ** Drag&Drop header with scrolling | ||
== LMD IDE-Tools == | == LMD IDE-Tools == | ||
Line 91: | Line 107: | ||
=== LMD-Tools === | === LMD-Tools === | ||
+ | * 2 new controls: TLMDWSwitch and TLMDDBWSwitch which handle focus and space-checking behaviour | ||
+ | * LMDButton: Unicode hint added | ||
+ | * LMDCalendarEdit: ForceTodayAsDefault property added | ||
+ | * LMDCaptionPanel: ThemeMode, ThemeGlobalMode properties added, themed drawing added. | ||
+ | * LMDCaptionPanelGroup: AutoExpand property added; when set to true, it causes corresponfing events (OnExpanding, OnExpanded etc.) to be triggered if changing orientation makes impossible to keep panel collapsed | ||
+ | * LMDColorEdit: "Custom color..." item added for executing custom color dialog; SelectedColor is restored now correctly after custom color | ||
+ | * LMDCustomExtSpinEdit: OnValueChanging, OnValueChanged events added; AutoDisableButtons property added. | ||
+ | * LMDCustomMemo: IgnoreLastEmptyLine compatibility property added | ||
+ | * LMDFormDisplay | ||
+ | ** Merging main menu functionality added | ||
+ | ** AutoFocus property added | ||
+ | * LMDMaskEdit: ProcessBlankChar property introduced | ||
+ | * LMDPageControl: TabAlignment property added | ||
+ | * LMDPNGImageList support added for LMDMMButton | ||
+ | * LMDProcs unit: LMDIsHTMLText helper function added; | ||
+ | * LMDSpinButton: CM_ENABLEDCHANGED method enhanced to support disabling one button. | ||
+ | |||
+ | == LMD Standalone Packs === | ||
+ | * RichPack | ||
+ | ** Themed border added to TLMDCustomRichEdit | ||
− | + | * LMD SysPack | |
+ | ** LMDSysNetworkObject unit, TLMDTCPIP: Added CSIPAddress, CSIPSubnetMask, CSDefaultGateWay properties, containing comma | ||
=== LMD ElPack === | === LMD ElPack === | ||
+ | * ElAdvancedPanel. New OnCheckBoxClick event | ||
+ | * ElBtnEdit: ButtonPngGlyph and AltButtonPngGlyph added | ||
+ | * ElComboBox. | ||
+ | ** Placing drop down differently (RightAlignView - Drop down button position) | ||
+ | ** ElComboBox: OnBeforeSelectValue event added. Raised before Drop down list CloseUp. | ||
+ | ** ElComboBox: OnCanSelect event added | ||
+ | * ElDBComboBox(style=csdropdownlist) update the dataset immediately when the user selects a different item in the drop-down | ||
+ | * ElDTPick: New property CalendarLiveClock | ||
+ | * ElExplorerBarGroup: OnCheckBoxClick event added. TNotifyEvent - fired when user clicks CheckBox. | ||
+ | * ElHTMLLabel. New property ShowAccelChar | ||
+ | * ElMenuBar: MDI support for TElMenuBar added | ||
+ | * ElMenuItem - Added OnSubMenuPopup event | ||
+ | * ElMenus: TElPopupMenu.EndMenu method to cancel programmatically added | ||
+ | * ElSpinEdit: New events OnCheckRangeError: TLMDCheckIntRangeEvent, OnCheckRangeError: TLMDCheckFloatRangeEvent | ||
+ | * ElToolBar | ||
+ | ** MoreMenuDrawStyle: TDrawStyle property added to define the style of MoreMenu. | ||
+ | ** MoreMenu collects menu items from ToolButton in case it has an assigned PullDownMenu. | ||
=== LMD IDE-Tools === | === LMD IDE-Tools === |
Revision as of 23:35, 27 August 2009
<< Back to Getting started page
Contents
General
Support for IDEs and operating systems
- Compatible with Delphi 2010 and C++ Builder 2010!
- Supported IDEs
- Delphi 6, 7, Delphi 2005 - 2010
- C++ Builder 6, 2006 - 2010
- Delphi 2005.NET - Delphi 2007.NET
- Turbo (2006) Professional versions for Delphi, C++ and Delphi.NET
- All corresponding Studio Products (BDS 2006, CRS 2007, CRS 2009, ERS 2010 etc.)
- Supported operating systems
- Win98 and WinNT4 or better (including Windows 7).
For recent Delphi releases same platforms as the IDE are supported (e.g. Delphi 2009 officially supports Win2k or better only).
Common new features
- Improved shared Unicode support, including additional rework for native Unicode in Delphi 2009 and higher.
- Many minor improvements in the shared packages based on customer requests, examples are:
- BTS# 733, adapting behaviour of TLMDWideStringList.IndexOf functionality
- LMDStrings: LMDCheckWildCardMask method added.
- LMDGraphUtils: LMDExtTextOut method added.
New Packages
- LMD DockingPack - Add docking features with floating panels and hot zones as known e.g. from Visual studio! This package is included by default in LMD-Tools and LMD ElPack.
Standalone Packs with major updates
- LMD ScriptPack - in connection with IDE-Tools: Heavily improved Debugger Support for both ActiveScripting Engine based languages and the native PascalScript variant.
- LMD ThemePack
- Improved support for built-in themes (runtime customization) including saving/restoring theme data to/from XML files.
- DrawThemeEdge and GetThemeColor methods implemented.
- Batch edit methods added (ReplaceColor, SetNewColor, ChangeBrightness).
- LMD Office2003ThemeRenderer demo improved and can be now used for generating custom color schemes:
LMD-Tools
- Windows 7 support.
- Correct PNG support e.g. in FillObject propertes (as available in ElPack)
- Improved rendering of the integrated internal HTML engine
Main Controls
- New Control: TLMDBiProgressBar. Support 2 progress indicators in one control and additional marquee and infinite modes.
- New Control: TLMDBiTrackBar. Allow 2 thumb controls to specify two values or ranges.
- New Control: TLMDGrid with advanced features like
- Full support of LMD ThemePack
- Customizable inplace editors
- Insert/delete/move colums at runtime
- Column sorting and much more
A lot of work is in progress here, the R2 release will add many more predefined place editors along with the DBGrid variant.
- TLMDCustomEdit (and descendants):
- CueBanner property added. This property has effect for those descendants of TLMDCustomEdit that can contain empty text. Unlike the Delphi implementation (available from Delphi 2009 on) this feature works on any supported OS.
- TLMDMaskEdit
- Value getters are now setters, too. The existing functions AsInteger, AsCardinal, AsInt64, AsFloat, AsDate, AsTime, AsCurrency, AsString have been transformed to read/write properties.
- TLMDStyleManager
- Improved designtime editor (e.g. property filters with wildcard support)
- ListBox Controls: Default items can now be set at designtime
LMD BarPack
TLMDExplorerBar
MouseDown and MouseUp within sections now are translated to ExplorerBar events.
LMD ShellPack
LMDShController [+] LMDShellInvokeContextMenu: aSuppressCmd param added (false by default to keep compatibility) [+] Overloaded version of LMDShellInvokeContextMenu for given full file/directory name added.
LMDShList [+] LMDShList: selection by first character on key press added
LMD StoragePack
[+] LMDStorBase: IsLoading read-only property added; [+] LMDStorINIVault, LMDStorXMLVault: OnUpdateBeforeClose event added.
LMD ElPack
- DockingPack included
- TElBtnEdit
- PngGlyph support to ElButtonEdit
- TElHTMLLabel, TElTree, TElXTree: TLMDHTMLImageNeededEvent support added
- TElHTMLLabel: Vertical Spacing added (LineGap property)
- TElListBox
- Advanced/Extended OnChange/OnClick events (which can be used as item selection notifier)
- TElStyleManager
- Improved designtime editor (e.g. property filters with wildcard support)
- Apply Button which allows to review changes before closing the dialog
- TElExpressionEval: Improved error handling
- TElXTree
- GetNextChecked and GetCheckedCount methods added. These methods are based on LookForItemEx2 method and can be used with such flags as IterateBackward, CheckStartItem, SubItemsOnly, VisibleOnly, CountCollapsed.
- Drag&Drop header with scrolling
LMD IDE-Tools
- Native Pascal Script included
- Pascal script debugger: Native debugging of the PascalScript, including single-threading debugging. The single threading debugging allows to handle OnBreak event in the same thread; using Application.ProcessMessages inside the OnBreak event handler allows to organize single threading debugging of the event based (e.g. designed) UI applications.
- New AddOrSetValue and TryReadValue script control methods to add/modify/read the external variables of simple types, e.g. numeric, strings. E.g. to prevent creating and importing model in simple cases.
- New ReadVar/WriteVar script controls methods provide access to the script-code global variables.
- New DebugName script control property to represent the script control to the end user in the IDE-Tools debug-related UI controls, such as call-stack or breakpoint-list.
- Superior enhancement of the debugger breakpoints: Delphi like breakpoints actions - LogMessage/LogStackFrames/EvalExpression/EnableGroup/DisableGroup; Delphi like breakpoint properties - Enabled/Condition/PassCount/Group. These advanced concepts has been emulated for the ActiveX based scripting languages, and supported natively by the PascalScript debugger.
- The debug variables tree, e.g. TLMDVariables is now lazy initialized to prevent dead loop while working with complex circular referenced objects. This also allows optimizing resources when showing complex objects graphs or long arrays.
- Generated wrappers have been changed to provide types of properties (e.g. var-types) to the debugger.
- The bug with representing nil objects as a variant Null has been fixed. Now nil objects are represented in wrappers as a nil IDispatch, e.g. with varDispatch variant type.
- The importer parser has been enhanced: new incremental preprocessor are now able to interpret some of the $IF directives; the parser itself are now able to parse most of the new Delphi language constructs, like nested types/consts/vars, class properties, methods and properties in records, class helpers, ect. However, currently, most of the new constructs are only parsed, but not supported by the wrappers generator.
- New debugger related visual controls: TLMDCallStackView, TLMDCallStackComboBox, TLMDVariablesView, TLMDWatchView, TLMDEventLogView, TLMDBreakpointsView. All these controls are connectable to the debugger through easy to use TLMDDebuggerSource component.
- The bug with improper showing of non-visual components when ShowNonvisualComponents are set to False has been fixed.
Changes/Enhancements since initial LMD VCL 2009 release
LMD-Tools
- 2 new controls: TLMDWSwitch and TLMDDBWSwitch which handle focus and space-checking behaviour
- LMDButton: Unicode hint added
- LMDCalendarEdit: ForceTodayAsDefault property added
- LMDCaptionPanel: ThemeMode, ThemeGlobalMode properties added, themed drawing added.
- LMDCaptionPanelGroup: AutoExpand property added; when set to true, it causes corresponfing events (OnExpanding, OnExpanded etc.) to be triggered if changing orientation makes impossible to keep panel collapsed
- LMDColorEdit: "Custom color..." item added for executing custom color dialog; SelectedColor is restored now correctly after custom color
- LMDCustomExtSpinEdit: OnValueChanging, OnValueChanged events added; AutoDisableButtons property added.
- LMDCustomMemo: IgnoreLastEmptyLine compatibility property added
- LMDFormDisplay
- Merging main menu functionality added
- AutoFocus property added
- LMDMaskEdit: ProcessBlankChar property introduced
- LMDPageControl: TabAlignment property added
- LMDPNGImageList support added for LMDMMButton
- LMDProcs unit: LMDIsHTMLText helper function added;
- LMDSpinButton: CM_ENABLEDCHANGED method enhanced to support disabling one button.
LMD Standalone Packs =
- RichPack
- Themed border added to TLMDCustomRichEdit
- LMD SysPack
- LMDSysNetworkObject unit, TLMDTCPIP: Added CSIPAddress, CSIPSubnetMask, CSDefaultGateWay properties, containing comma
LMD ElPack
- ElAdvancedPanel. New OnCheckBoxClick event
- ElBtnEdit: ButtonPngGlyph and AltButtonPngGlyph added
- ElComboBox.
- Placing drop down differently (RightAlignView - Drop down button position)
- ElComboBox: OnBeforeSelectValue event added. Raised before Drop down list CloseUp.
- ElComboBox: OnCanSelect event added
- ElDBComboBox(style=csdropdownlist) update the dataset immediately when the user selects a different item in the drop-down
- ElDTPick: New property CalendarLiveClock
- ElExplorerBarGroup: OnCheckBoxClick event added. TNotifyEvent - fired when user clicks CheckBox.
- ElHTMLLabel. New property ShowAccelChar
- ElMenuBar: MDI support for TElMenuBar added
- ElMenuItem - Added OnSubMenuPopup event
- ElMenus: TElPopupMenu.EndMenu method to cancel programmatically added
- ElSpinEdit: New events OnCheckRangeError: TLMDCheckIntRangeEvent, OnCheckRangeError: TLMDCheckFloatRangeEvent
- ElToolBar
- MoreMenuDrawStyle: TDrawStyle property added to define the style of MoreMenu.
- MoreMenu collects menu items from ToolButton in case it has an assigned PullDownMenu.