UNPKG

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
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[]; }