devexpress-diagram
Version:
DevExpress Diagram Control
19 lines (17 loc) • 959 B
text/typescript
import { Graph } from "../../Layout/Graph";
import { NodeInfo } from "../../Layout/NodeLayout";
import { AutoLayoutCommandBase } from "./AutoLayoutCommandBase";
import { TreeLayoutBuilder } from "../../Layout/Builders/WideTree";
import { TreeLayoutSettings, DataLayoutOrientation, LayoutSettings } from "../../Layout/LayoutSettings";
import { GraphLayout } from "../../Layout/GraphLayout";
export class AutoLayoutTreeVerticalCommand extends AutoLayoutCommandBase {
createLayoutSettings(): LayoutSettings {
const gridSize = this.control.settings.snapToGrid ? this.control.settings.gridSize : undefined;
const settings = new TreeLayoutSettings(gridSize);
settings.orientation = DataLayoutOrientation.Vertical;
return settings;
}
createLayout(settings: LayoutSettings, graph: Graph<NodeInfo>): GraphLayout {
return new TreeLayoutBuilder(<TreeLayoutSettings>settings, graph).build();
}
}