devexpress-richedit
Version:
DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.
39 lines (38 loc) • 1.76 kB
TypeScript
import { Field } from '../../../model/fields/field';
import { Table, TablePosition } from '../../../model/tables/main-structures/table';
import { BoxWrapFieldInfo } from '../box-wrap';
export declare abstract class RecursiveObjectsIterator<T, OutT> {
protected objects: T[];
protected nextObjPosition: number;
protected nextObjIndex: number;
indexes: number[];
constructor(objects: T[]);
getNextObjectPosition(): number;
init(pos: number): void;
private collectIndexes;
update(newPosition: number): boolean;
private setNextInfos;
private popLastIndexes;
protected abstract getStartPosition(o: T): number;
protected abstract getEndPosition(o: T): number;
protected abstract getParent(obj: T): T;
protected abstract getIndex(obj: T): number;
protected abstract correctBounds(objIndex: number, pos: number): number;
abstract generateInfo(pos: number): OutT[];
}
export declare class TableIterator extends RecursiveObjectsIterator<Table, TablePosition> {
protected getStartPosition(o: Table): number;
protected getEndPosition(o: Table): number;
protected getParent(obj: Table): Table;
protected getIndex(obj: Table): number;
protected correctBounds(objIndex: number, pos: number): number;
generateInfo(pos: number): TablePosition[];
}
export declare class FieldIterator extends RecursiveObjectsIterator<Field, BoxWrapFieldInfo> {
protected getStartPosition(o: Field): number;
protected getEndPosition(o: Field): number;
protected getParent(obj: Field): Field;
protected getIndex(obj: Field): number;
protected correctBounds(objIndex: number, _pos: number): number;
generateInfo(pos: number): BoxWrapFieldInfo[];
}