This unit contains visual components for docking and streaming TCustomLazControlDocker - a component to connect a form to the TLazDockingManager

TCustomLazControlDocker - a component to connect a form to the TLazDockingManager

When the control gets visible TCustomLazControlDocker restores the layout.

Before the control gets invisible, TCustomLazControlDocker saves the layout

TCustomLazDockingManager - base class for TLazDockingManager, a class for managing docking controls Remove - detaches any controls attached to the specified docker, then nullifies the docker Add - provided the specified Docker is of the correct type, sets up the control to use a docking manager and returns an integer pointer Create - constructor for TCustomLazDockingManager: calls inherited Create then sets up lists, managers and configurations TComponent.Create Destroy - destructor for TCustomLazDockingManager: frees dockers, managers and configs, then calls inherited Destroy TComponent.Destroy FindDockerByName - returns the identity of a Control Docker given the Docker name CreateUniqueName - returns a unique name given a string name Manager - the TAnchoredDockManager for the current class DockerCount - the number of dockers in the list Dockers - the indexed list of dockers TLazDockingManager - class of TCustomLazDockingManager UpdatePopupMenu - alters the popup menu to reflect changes Loaded - calls inherited method then calls UpdatePopupMenu TComponent.Loaded ShowDockingEditor - makes a popup docking editor dialog appear GetLocalizedName - returns a string with the localised name for the docker Create - constructor for TCustomLazControlDocker: calls inherited Create then extends the popup menu TComponent.Create The Control that is to be docked The docking Manager that is to be used to dock the current control ExtendPopupMenu - True if the popup menuis to be extended PopupMenuItem - an item in the popup menu The LocalizedName of the current docker DockerName - the name of the current docker TLazControlDocker - a component to connect a form to the TLazDockingManager TLazDockConfigNode - a node to be configured in a docking control Create - constructor for a new node given a parent node and an optional name for the new node Destroy - destructor for TLazDocConfigNode: frees parents and children, the calls inherited Destroy TPersistent.Destroy Clear - performs Free and Clear for all child nodes Assign - systematically copies sizes, anchors, titles and other details from Source to a new node. Assign - systematically copies sizes, anchors, titles and other details from Source to a new node. If Source is of the wrong type, calls inherited Assign, which usually raises an exception TPersistent.Assign FindByName - searches through a tree of nodes to find one that matches the given name IndexOf - returns the index value of the given string in the list of child nodes GetScreenBounds - returns the bounds of the area occupied by the node, as screen coordinates FindNeighbour - returns the identity of the neighbouring node on the given side; optionally ignores splitters. IsTheOnlyNeighbour - returns True if the nominated node is the only neighbour on the specified side SaveToConfig - saves details of the configuration to a config file in the given Path LoadFromConfig - loads configuration details from a file in the given path GetPath - returns the path name for the configuration file relevant to the current node WriteDebugReport - produces a formatted report with details of the node for which debugging is needed DebugLayoutAsString - returns a string specifying the layout of the required debugging report The Bounds of the current node ClientBounds - the bounds of the node's clients The Parent of the current node The Sides of the node to which anchoring is to be performed ChildCount - the number of child nodes Childs - the child nodes in an indexed list TheType of node (see definition of TLDConfigNodeType) TLDConfigNodeType The Name of the node WindowState - the state of the window in which the node is placed TAnchoredDockManager - a manager for anchored docking controls DisableLayout - disables layout specifically for the given control; calls inherited method TCustomAnchoredDockManager.DisableLayout EnableLayout - enables layout specifically for the given control; calls inherited method TCustomAnchoredDockManager.EnableLayout Configs - the configuration settings for the current control TLazDockerConfig - a class containing a tree of nodes for configuring a named docker Create - constructor for TLazDockerConfig: sets up local variables to hold the docker name and a root node TObject.Create Destroy - destructor for TLazDockerConfig: removes the root then calls inherited Destroy TObject.Destroy WriteDebugReport - produces a nicely formatted debugging report DockerName - the name of the Docker to be configured The Root node of the configuration FindControlByDockerName - returns the identity of a control given its docker name FindDockerByControl - returns the identity of a Control Docker given its control identity GetControlConfigName - returns a config name for the nominated control DisableLayout - finds whether the docker control exists then disables its layout EnableLayout - finds whether the docker control exists then enables its layout SaveToConfig - saves details to a config storage file LoadFromConfig - loads details from a config storage file AddOrReplaceConfig adds a new docker config, or replace if it already exists ClearConfigs - free all the docking configurations GetConfigWithDockerName - returns the configuration detail for the named docker CreateLayout - returns a layout configuration node for the named docker ConfigIsCompatible - checks that the nominated root node has a compatible configuration WriteDebugReport - produces a formatted report of status for debugging ConfigCount - the number of configuration nodes Configs - the indexed list of config nodes TLCDMenuItem - an item in a Control Docker Menu Menu - a popup menu for this item Item - the actual contents of this menu item ControlVisibleChanging - debugging method to indicate if Visible state of the control is changing CreateFormAndDockWithSplitter - add a splitter to Side and dock to it. Returns True if successful

Add a splitter to Side and dock to it. For example:

Side=akLeft
      --------+      -------------+
          ---+|      ---+#+------+|
           A ||       A |#|      ||
          ---+|      ---+#|      ||
          ====|  ->  ====#| Self ||
          ---+|      ---+#|      ||
           B ||       B |#|      ||
          ---+|      ---+#+------+|
      --------+      -------------+

If A has no parent, a TLazDockForm is created.

To get space for Self, either A,B are shrunk and/or the parent of A,B is enlarged (including the grand parents of A,B)

DockAsPage - dock as a page as specified in Layout. Returns True if successful

DockAsPage - dock as a page as specified in Layout.

Requirements: Parent in Layout is a ldcntPage and a parent control exists.

FixControlBounds - fix bounds after inserting AddedControl ShrinkNeighbourhood - shrink neighbour controls according to Layout FindPageNeighbours - returns a list of the neighbour controls for the docker Notification - calls inherited method, then performs specified operation depending on type of component, usually involving removal TComponent.Notification FindLCDMenuItem - returns an item from the specified menu Destroy - destructor for TCustomLazControlDocker: calls inherited Destroy and removes all associated controls TComponent.Destroy GetLayoutFromControl - returns a dock config node containing the control's layout SaveLayout - stores the layout, usually just before hiding a control or closing a form RestoreLayout from its stored location, when the control is unhidden or the form is re-loaded DisableLayout and increment the count of locked layouts EnableLayout and decrement the count of locked layouts ControlIsDocked - checks that the control and its parent actually exist and at least one of them is a dock form or a dock page GetControlName - returns the string name of the specified control AddPopupMenu - if the menu does not yet exist, creates the structure and menu items for a popup menu RemovePopupMenu - removes menu, usually during the process of removing the docking control Enabled - true if layout is to be automatically restored on show LayoutLock - the number of layouts that are locked