import { ZObject } from "./z_object"; import { ZVertex } from "./z_vertex"; import { ZEdge } from "./z_edge"; import { Rectangle } from "../common/vline"; import * as GOptions from "./z_options"; import { ShapeObjectType, VertexOrder, Direction } from "../common/enums"; import { LogicTable } from "../logics/logic_table"; /** グラフを表します。 */ export declare class ZGraph extends ZObject { constructor(box: SVGElement | string); get graphAllocateFunction(): GOptions.GraphAllocateFunction | undefined; set graphAllocateFunction(value: GOptions.GraphAllocateFunction | undefined); get isCenterBased(): boolean; get vertices(): ZVertex[]; get edges(): ZEdge[]; get roots(): ZVertex[]; get vertexXInterval(): number | null; set vertexXInterval(value: number | null); get vertexYInterval(): number | null; get direction(): Direction | null; set direction(value: Direction | null); set vertexYInterval(value: number | null); /** 根を返します。 */ get rootVertex(): ZVertex | null; /** * 頂点もしくは辺をグラフに追加します。 * @param item */ add(item: ZVertex | ZEdge): void; /** * 頂点もしくは辺を削除します。 * @param item */ remove(item: ZVertex | ZEdge): void; clear(): void; getOrderedVertices(order: VertexOrder, node?: ZVertex | null): ZVertex[]; /** * 親ノードに子ノードを追加します。 * @param parent * @param child * @param option */ get relocateStyle(): string | null; set relocateStyle(value: string | null); relocate(): void; get width(): number; get height(): number; set width(value: number); set height(value: number); Noderegion(): Rectangle; moveInCanvas(): void; /** * グラフ内のVertexからVertex間の水平間隔と垂直間隔を自動で算出します。 * @param graph */ private computeAutoXYIntervals; /** * グラフに設定されているVertex間の水平間隔と垂直間隔を算出します。 * @param graph */ getXYIntervals(): [number, number]; removeGraph(svg: SVGElement): void; /** * グラフの領域を表すRectangleを返します。位置の基準はグラフが追加されているNodeです。 */ getRegion(): Rectangle; /** * 入力のVertexを親として、入力のLogicTreeを子とした部分木を作成します。 * @param parent 親にするVertex * @param logicVertex 子にするLogicTree * @param option 作成オプション * @returns logicVertexを表すVertex */ createVBACode(id: number): string[]; get VBAObjectNum(): number; getStyleValue(className: string, valueName: string): string | null; protected dispatchVertexCreatedEvent(vertex: ZVertex): void; private objectCreatedFunction; setRootIndex(vertex: ZVertex, rootIndex: number): void; protected observerFunction(x: MutationRecord[]): void; get type(): ShapeObjectType; update(): void; getUpdateFlag(): boolean; private static createVertex2; private static getParent; static createVertexTable(parent: SVGElement | string | ZObject, obj: LogicTable): ZVertex; updateSurfaceWithoutSVGText(): boolean; initializeSetBasicOption(source: SVGElement): void; }