LMD DockingPack

Latest Version: 2017.1

Introduction

LMD DockingPack is a collection of native VCL components and additional classes that can be compiled into your application royalty free. This package was designed to help you building applications with entirely customizable and modern user interface. Add docking features with floating panels as known e.g. from Visual Studio (2005, 2010 or even the new Metropolis style in VS 2012)!

Features

Major new feature in Release 2014

A full featured DockingPack Visual Theme editor was added (created with IDE-Tools controls). It is possible now to design custom docking themes for any possible use case (most theme/style engines don’t support all required elements/parts for advanced visual docking appearance). DockingPack can now be adapted to any visual design, regardless of used style/theme engine!All built in styles (including Visual Studio 2012 Blue and Dark Themes) are included in editable formats.

New features in Version 2013

  • Extensive rework of internal engine and support of enhanced new and unique features (like e.g. tabbed document zones, advanced hotspot areas) to continue our aim to provide the best available docking solution for Delphi/C++Builder!
  • New tabbed documents feature, which allows to organize application documents in tabs - just like in Delphi or Microsoft™ Visual Studio!
  • Fully reworked style engine: stretchable 32-bit bitmaps which are based on XML style definitions.
  • New TLMDDockManager.UseTabbedDocs property which allows to turn tabbed documents feature on/off.
  • New TLMDDockPanel.ClientKind property, which allows to specify whether the panel is part of the document area.
  • New TLMDDockManager.OnGetClientKind event, which allows to specify whether the client (including non-panel clients) is a tool panel or a document.
  • New big-cross hotspot and its additional active areas (hsaDocsLeft, hsaDocsTop, hsaDocsRight, hsaDocsBottom) which reflect new tabbed documents feature.
  • New Metropolis VS2012 style. VS2010 and VS2005 styles were also updated.
  • Old TLMDDockManager.Style property and all its sub-properties are no longer available. It has been replaced with new public TLMDDockManager.Style property, which is a reference to the engine style object. New StyleName published property for design-time access.
  • New TLMDDockPanel.OnClose event with CloseAction var parameter. New Release method, which allows asynchronous destruction of the panel (like in TForm).
  • Floating form maximization feature preview (not finished yet, will be finalized until LMD 2013.1 platform release).
  • Panel client area invalidation has been improved to reduce child controls re-drawings.

Features from previous releases

  • 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
  • “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 :)
  • 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.
  • 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.
  • 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

Screenshots

LMD DockingPack Runtime Demo (1)

Default view of the demo. Fluent tabs on the left, tabbed display etc

LMD DockingPack Runtime Demo (2)

Move mouse cursor over tans on the left, and the connected form is shown

LMD DockingPack Runtime Demo (3)

Docking helpers are shown, when end user moves a dockable form.

LMD DockingPack New dock-panel

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

LMD DockingPack Drag panel content

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

LMD DockingPack VS 2010 style has been implemented

Antialiased rounded corners, antialiased panel header buton images, hot tab state, custom floating form border

LMD DockingPack VS 2012 style has been implemented

Antialiased rounded corners, antialiased panel header buton images, hot tab state, custom floating form border

LMD DockingPack VS 2012 docking zones

See screenshot for advanced docking zones - now with special tabbed document zones!

LMD DockingPack Style Editor

Full featured LMD DockingPack Style editor - allows you to create any custom visual DockingPack appearance!

Components

TLMDDockSite
Main component of LMD DockingPack. Add to your applications advanced docking features with docked and floating panels as known from MS applications like Visual Studio!
TLMDDockManager
This control is used to save/restore layout data from/to XML in LMD-DockingPack. It also used to setup visual style related properties.

Downloads

Description Date Available Files

© LMD Innovative, Germany. All rights reserved. All other trademarks are acknowledged.