devexpress-richedit
Version:
DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.
100 lines (99 loc) • 4.88 kB
TypeScript
import { FormatImagesImporter } from '../../utils/images-import';
import { DocumentModel } from '../../../model/document-model';
import { Paragraph } from '../../../model/paragraph/paragraph';
import { SubDocument, SubDocumentInterval } from '../../../model/sub-document';
import { ChunkedText } from '@devexpress/utils/lib/class/chunked-text';
import { Stack } from '@devexpress/utils/lib/class/stack';
import { DestinationBase } from './destination/base/destination';
import { FieldDestination } from './destination/fields/field-destination';
import { TableContentFieldDestination } from './destination/fields/table-content-field-destination';
import { ShapeDestination } from './destination/shape/shape-destination';
import { DefaultDestination } from './destination/sub-document/default-destination';
import { RtfImporterOptions } from './importer-options';
import { ImportersCollection } from './importers/importers-collection';
import { KeywordTableHolder } from './keyword-tables/keyword-table-holder';
import { ImportBookmarkInfo } from './model/bookmark/import-bookmark-info';
import { RtfParsingState } from './model/enums';
import { RtfFieldInfo } from './model/fields/rtf-field-info';
import { ImportRangePermissionInfo } from './model/range-permission/import-range-permission-info';
import { RtfDocumentProperties } from './model/rtf-document-properties';
import { RtfSectionProperties } from './model/section/rtf-section-properties';
import { RtfTableReader } from './table/table-reader';
import { ModelManager } from '../../../model-manager';
import { RichOptions } from '../../../model/options/rich-options';
export declare class RtfPositionState {
subDocument: SubDocument;
paragraph: Paragraph;
fields: Stack<RtfFieldInfo>;
bookmarks: Record<string, ImportBookmarkInfo>;
rangePermissions: Record<string, ImportRangePermissionInfo>;
sectionProperties: Stack<RtfSectionProperties>;
tableReader: RtfTableReader;
constructor(subDocument: SubDocument, paragraph: Paragraph, fields: Stack<RtfFieldInfo>, bookmarks: Record<string, ImportBookmarkInfo>, rangePermissions: Record<string, ImportRangePermissionInfo>, sectionProperties: Stack<RtfSectionProperties>, tableReader: RtfTableReader);
}
export declare class RtfImportData {
readonly documentModel: DocumentModel;
readonly modelManager: ModelManager;
readonly formatImagesImporter: FormatImagesImporter;
readonly importerOptions: RtfImporterOptions;
readonly richOptions: RichOptions;
readonly rtfText: ChunkedText;
readonly importers: ImportersCollection;
readonly documentProperties: RtfDocumentProperties;
readonly keywordHTHolder: KeywordTableHolder;
readonly positionStates: Stack<RtfPositionState>;
subDocument: SubDocument;
parsingState: RtfParsingState;
binCharCount: number;
optionalGroupLevel: number;
rtfDocumentModelType: RtfDocumentModelType;
intervalsToDelete: SubDocumentInterval[];
private skipCount;
private readonly savedDestinations;
private _destination;
get destination(): DestinationBase;
set destination(newDestination: DestinationBase);
get savedStatesCount(): number;
private get formattingInfo();
constructor(rtfText: ChunkedText, importOptions: RtfImporterOptions, documentModel: DocumentModel, richOptions: RichOptions);
private beforeChangeSubDocument;
private onChangeSubDocument;
private addEmptyPositionState;
import(): void;
private afterImport;
protected parseRtfKeyword(): string;
private isUnicodeSymbolDefinition;
flushDecoder(): void;
private switchToCodePageDecoder;
private switchToUnicodeDecoder;
private setActiveDecoder;
private throwUnexpectedEndOfFile;
throwInvalidRtfFile(): void;
static throwInvalidRtfFile(): void;
private beforeImport;
private translateControlChar;
protected translateKeyword(keyword: string, parameterValue: number | null, hasParameter: boolean): void;
private parseBinChar;
decreaseSkipCount(): void;
protected popRtfState(): void;
private parseHexChar;
private parseChar;
readChar(): string;
hexToInt(ch: string, throwException: boolean): number;
parseUnicodeChar(ch: string): void;
processChar(ch: string): void;
setCodePage(codePage: number): void;
get codePage(): number;
parseCharWithoutDecoding(ch: string): void;
createTableContentFieldDestination(createField: boolean): TableContentFieldDestination;
createShapeDestination(): ShapeDestination;
createFieldDestination(): FieldDestination;
createDefaultDestination(): DefaultDestination;
private pushState;
private popState;
}
export declare enum RtfDocumentModelType {
None = 0,
WithoutStyle = 1,
WithStyle = 2
}