ecljs
Version:
electric circuits library
77 lines (76 loc) • 2.22 kB
TypeScript
import { Size } from "dabbjs/dist/lib/size";
import { Rect } from "dabbjs/dist/lib/rect";
import { Type, IFlowChartDefaults, INodeInfo } from "./interfaces";
import { Flowchart } from "./flowchart";
import { ItemBoard } from "./itemsBoard";
/**
* @description flowchart base component class
*/
export declare abstract class FlowComp extends ItemBoard {
protected $: IFlowChartDefaults;
container: Flowchart;
get type(): Type;
get last(): number;
get count(): number;
get minSize(): Size;
get size(): Size;
/**
* body frame, has the real size of component
*/
abstract get body(): SVGElement;
/**
* client rect where text should be safely contained
*/
abstract get clientRect(): Rect;
/**
* @description resize the flowchart component
* @param value new size
* @returns true if it was resized, false otherwise
*/
setSize(value: Size): boolean;
/**
* @description maximum inbounds
*/
get inputs(): number;
/**
* @description current inbounds
*/
get ins(): number;
/**
* @description maximum outbounds
*/
get outputs(): number;
/**
* @description current outbounds
*/
get outs(): number;
/**
* SVG text, changing SVG text x's value, must change all inside tspan x's values too
*/
get svgText(): SVGTextElement;
get text(): string;
set text(value: string);
get fontSize(): number;
set fontSize(value: number);
constructor(flowchart: Flowchart, options: {
[x: string]: any;
});
/**
* @description perform node readjustment, it calls refresh() function
* @param size new size
*/
onResize(size: Size): void;
/**
* @description returns the node information
* @param node 0-based pin/node number
* @param onlyPoint true to get internal point, false get the real board point
*
* this returns (x, y) relative to the EC location
*/
node(node: number, nodeOnly?: boolean): INodeInfo | undefined;
/**
* @description refreshes flowchart location, and updates bonded cmoponents
*/
refresh(): FlowComp;
defaults(): IFlowChartDefaults;
}