Difference between revisions of "LMD VCL 2011 - What's New?"

From LMD
Jump to: navigation, search
(LMD WebPack)
Line 95: Line 95:
 
=== LMD WebPack ===
 
=== LMD WebPack ===
 
<i>Following:</i><br>
 
<i>Following:</i><br>
[+] Rework of WebUpdate functionality
+
[+] Rework of WebUpdate functionality (LMD 2011.4)
  
 
== LMD-Tools ==
 
== LMD-Tools ==

Revision as of 09:45, 26 November 2010

<< Back to Getting started page

[edit]

General

Support for IDEs and operating systems

  • Compatible with Delphi XE and C++ Builder XE!
  • Supported IDEs
    • Delphi 6, 7, Delphi 2005 - 2010 and XE
    • C++ Builder 6, 2006 - 2010 and XE
    • 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

[+] LMDUnicode. Added LMDTryConvertUTF7ToUTF16 function
[+] LMDFiles. Added LMDFileExists and LMDFileAge
[+] LMDPngImage. Added MaskRect. Mask Rect by alpha from other PNG.
[+] LMDTypes. LMDDisableOleinit added, {$IFDEF LMDDISABLE_OLEINIT} removed
[+] LMDTypes. Added TLMDMargins.Create(ALeft, ATop, ARight, ABottom: Integer);
[+] TLMDGlyph. Added TextRect, GlyphRect, DrawnRect properties
[+] TLMDBaseListView. Added Theme support
[*] Various fixes and improvements

Standalone Packs

LMD DockingPack

[*] Design-time behavior has been drammatically improved: designer hints has been disabled while splitter-moving to reduce flickers; default (useless in this case) designer mouse-moving of dock-panels has been disabled to reduce flickers; dragging dock-panels in the "Structure" Delphi's tree-view has been disabled to prevent panel's Parent change.

[+] New! Experimental feature. On the "LMD Docking" palette page "New dock-panel" item has been added. The item is not a simple component item. Dragging it over a docking site will initiate interactive (drag-dock-like) process of the new panel creation:

NewDockPanel.png

[+] New! "Drag panel content" mode has been added. In this mode the panel is immediatelly undocked and placed onto the floating site at the dragging start; then, the floating site form is dragged with the mouse instead of old semi-transparent blue rect. Don't worry, semi-transparent blue rect is still here, and used to highlight accepted positions :)

MovePanelContent.PNG

[+] New! Animation of hotspots and blue rect has been added. Alpha (fading) and bounds can be animated.

[+] TLMDDockZone.ResizeKind property, accessible at run-time, has been added. In addition to default proportional resizing defined by zrkProportional value, new zrkFixed value can be used to exclude some zones from proportional resizing algorithm.

[+] TLMDDockZone.Index property has been made read-write, so its now possible to set the index to specify the order of a child zone inside its parent zone. The Indexes of child zones determine they visual order in its horz-alignment or vert-alignment parent zone, or the visual order of the corresponding tabs in tabbed parent zone.  

[+] TLMDDockZone.Width and TLMDDockZone.Height properties has been made read-write, so its now possible to programmatically setup sizes of children zones inside a horz-alignment or vert-alignment parent zone. Due to proportional zones resizing it can be still hard to set required sizes of several child zones, because assigning at each iteration the size of a child zone will correct sizes of other child zones within the same parent; so sizes, set on previous iterations will be changed. To solve this problem TLMDDockZone.SetChildrenSizes method has been added, which allows to set sizes of all children at ones.

[-] Bug #775 has been fixed. Now OnClick is fired when you click dock-panel.

[-] Parentless mode for docking panels has been implemented. Now a panel can have window handle even if it has no parent (like Delphi's frames). This should prevent "Control has no parent" VCL exception in some advanced cases, thus, simplifying the work with LMD-DockingPack.

[-] Bug #777 with unability to popup panel's HeaderMenu in a case when a single panel is docked into a floating site (thus, panel's header is not visible) has been fixed.  Now it is possible to popup the menu by right clicking on a window caption of a single-panel floating site.

[+] Docking pack has been made more consistent with VCL ActiveControl concept. Also, the issue, with several active panels (in case of floating panels) visible at a time, has been fixed. Now, a panel is painted as active, only, when its parent form is active and it contains form's ActiveControl.

[+] New! VS 2010 style has been implemented: antialiased rounded corners, antialiased panel header buton images, hot tab state, custom floating form border. Corresponding TLMDDockVS2010Painter class implements this style:

VS2010Style.png

[*] TLMDDockPersister component has been renamed to TLMDDockManager. SiteCount and Sites[i] properties has been added to allow to iterate all existing sites (including dynamically created floating sites). OnCreateFloatingSite/OnDestroyFloatingSite events has been added to allow to configure floating sites at run-time. 

[*] Style related properties has been moved from panel/site to TLMDDockManager. Also it is now possible to choose the style at design-time. Supporting this concept, new TLMDDockManagerPainter class has been introduced. This class implements a proxy painter that uses currently selected in the docking manager style (and customized style settings). Now, this class becomes a default painter class.

LMD ThemePack

Gradient theme renderer

[+] Explicit methods SaveColorSchemeTo(File/Stream/XML) added
[+] UseCache property added. This property allows to turn off using cache.
[+] Modified property added.
[+] Office2010-like theme added.

Gradient theme editor

Now you can use a tool for simple and fast editing of gradient themes:

Image:te_preview_small.png

See description and tutorial movies here: http://wiki.lmd.de/index.php/LMDThemes_Editor.


Following:
[+] Theme Support for non-LMD controls, e.g. VCL Ribbon Controls from Delphi 2009 on (LMD 2011.2). Support for other controls on demand.

LMD InspectorPack

Following:
New separate standalone pack (available with LMD 2011.2 installers)

LMD OSPack

Following:
New separate standalone pack. Provides OS specific features like TaskDialog, support of Windows 7 features etc. (available with LMD 2011.2 installers)

LMD RichPack

Following:
[+] Feature Pack RichPack with improved undo/redo support, justification, improved Hypertext functionality etc. (LMD 2011.4)

LMD ShellPack

[+] TLMDShellList. Added theme support for header
Tlmdshelllist.png
Following:
[+] New features based on TLMDBreadCrumbs class (LMD 2011.3)

LMD WebPack

Following:
[+] Rework of WebUpdate functionality (LMD 2011.4)

LMD-Tools

Main Controls

[+] Adaption to new ThemeEngine features (Office 2007 / Office 2010 themes etc.)
[+] Several new controls with native scrollbars (TLMDScrollBoxExt, TLMDListBoxExt, TLMDComboBoxExt)

2010black.png 2007blue.png Image:2003ext_metallic.png

[+] New TLMDTagEditor control
Tlmdtageditor.png
[+] New TLMDOpenPictureDialog/TLMDSavePictureDialog
Lmdopenfiledialog1.png
[+] TLMDFileOpenDialog and TLMDFileSaveDialog with fdoForcePreviewPaneOn options now correctly call TLMDOpenPictureDialog or TLMDSavePictureDialog instead of TLMDOpen/SaveFileDialog for Microsoft XP and lower versions.

Following:
[+] New ComboBox controls and features, including generic combobox (LMD 2011.1)
[+] New LMD HTML controls (LMD 2011.1/2)
[+] DateTimePicker Component (LMD 2011.2)
[+] PageControl enhancements like Drag&Drop support etc. (LMD 2011.3)
[+] Visual Improvements for calendar/clock/calculator controls (LMD 2011.3)
[+] Simple ToolBar control (LMD 2011.3)

Grid Controls

Following:
[+] Enhanced Feature Pack for (DBGrid), e.g. new editor classes like RichEdit editor. (LMD 2011.2)

LMD ElPack

[+] Adaption to new ThemeEngine features (Office 2007 / Office 2010 themes etc.)
[+] Added variables for TElDbLabel, TElDbHTMLView

Following:
[+] New ComboBox controls and features, , including generic combobox (LMD 2011.1)
[+] PageControl enhancements like Drag&Drop support etc. (LMD 2011.3)

LMD IDE-Tools

[+] PasScript compiler optimization has been added: If a jump (conditional or unconditional) byte-code instruction points to another unconditional jump instruction, this first jump instruction is retargeted to prevent jump sequences.

[+] PasScript compiler optimization has been added: JumpIfEqual/JumpIfNotEqual byte-code instructions has been added to VM. Compiler logic has been improved to use these commands instead of sequence of two (Compare + JumpIfTrue/JumpIfFalse) byte-code instructions. This improves the speed of interpreting expressions used in If/While/Until conditions as well as incomplite boolean evaluation operations "or" and "and". Following this strategy, common cases like "while true do", "until false" has been optimized. Now, compiler emits single unconditional jump byte-code instruction instead of pushing constant onto stack and performing conditional jump Following:
[+] Native LMD VBScript like Basic implementation (LMD 2011.1)
[+] InspectorPack/DesignPack: Dynamic Properties (LMD 2011.2)


Changes/Enhancements since initial LMD VCL 2010 release

Archive