The SDL Component Suite is an industry leading collection of components supporting scientific and engineering computing. Please visit the SDL Web site for more information....


Declaration:property JointLayers: TJointLayers;

The property JointLayers controls the behavior of the axes of the chart layers. Using JointLayers you can couple several axes together. A typical scenario, where joint layers would be a big benefit, is the displaying of several curves which have an x-axis in common (a typical chart recorder scenario). In this case you simply associate the x-axes of all involved layers to a "master" x-axis. Changing the range of the master axis then automatically changes the range of the associated axes, too.

Any axis of any layer can be controlled by any other axis of the same type (horizontal or vertical). In order to transfer the control of an axis to a master axis, you simply set the sub-property L##%ControlledBy to the according layer number ('##' is the two-digit layer number, '%' designates the x- or the y-axis).

Please note that if the axis of a specific layer is controlled by another one, changing its range is no longer possible, since the range setting is controlled by the master layer.

The following example may clarify the process: suppose you want the x-axis of layer 1 to become the master axis for layers 3 and 7. In order to achieve this you have to set the following sub-properties:

RChart1.JointLayers.L03xControlledBy := 1;
RChart1.JointLayers.L07xControlledBy := 1;

After making these assignments you can set the extents of the x-axis of layer 1, which automatically adjusts the x-axis (but not the y-axis) of layers 3 and 7. Trying to set the range of axis 3 or 7 directly won't have any effect.

The property JointLayers contains the following published sub-properties and methods:

L##xControlledBy: integer; Determines which x-axis controls the x-axis of layer ## ('##' is the two-digit layer number including leading zeros).
L##yControlledBy: integer; Determines which y-axis controls the y-axis of layer ## ('##' is the two-digit layer number including leading zeros).
ResetComp; Calling this method resets all layers to an unassociated state. ResetComp is the same as assigning to all L##%ControlledBy sub-properties its own layer number.

The following properties and methods are either directly or indirectly affected by the JointLayer property: SetRange, AutoRange, AutoRangeXOnly, AutoRangeYOnly, ScalePropsX[].RangeLow, ScalePropsY[].RangeLow, ScalePropsX[].RangeHigh, ScalePropsY[].RangeHigh, ScaleNX.RangeLow, ScaleNY.RangeLow, ScaleNX.RangeHigh, ScaleNY.RangeHigh, and ZoomHistory.

Hint 1: The array property MouseAffectsLayer is ignored for all joint layers. Thus MouseAffectsLayer should be set such that it includes the master layer.

Hint 2: In the Light Edition the number of layers is restricted to 2.

Last Update: 2017-Oct-18