devexpress-diagram
Version:
DevExpress Diagram Control
43 lines (36 loc) • 1.18 kB
text/typescript
import { Connector } from "../Model/Connectors/Connector";
export class LayoutSettings {
orientation: DataLayoutOrientation = DataLayoutOrientation.Vertical;
direction: LogicalDirectionKind = LogicalDirectionKind.Forward;
componentSpacing: number;
layerSpacing: number;
columnSpacing: number;
containerPadding: number;
constructor(gridSize?: number) {
const baseSpacing = (gridSize && gridSize * 2 > Connector.minOffset) ? gridSize * 2 : Connector.minOffset;
this.columnSpacing = baseSpacing;
this.layerSpacing = baseSpacing * 2;
this.containerPadding = baseSpacing * 2;
this.componentSpacing = baseSpacing * 2;
}
}
export class TreeLayoutSettings extends LayoutSettings {
alignment: Alignment = Alignment.Center;
subTreeColumnSpacing: number;
constructor(gridSize?: number) {
super(gridSize);
this.subTreeColumnSpacing = this.componentSpacing / 2;
}
}
export enum LogicalDirectionKind {
Backward,
Forward,
}
export enum DataLayoutOrientation {
Horizontal,
Vertical,
}
export enum Alignment {
Left,
Center
}