devexpress-richedit
Version:
DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.
127 lines (126 loc) • 6.06 kB
TypeScript
import { IRichEditUnitConverter } from '../../utils/unit-converter';
import { FixedInterval } from '@devexpress/utils/lib/intervals/fixed';
import { ICloneable, ISupportCopyFrom, SimpleConverter } from '@devexpress/utils/lib/types';
import { ICommandOptions } from '../command-base';
import { IntervalCommandStateEx } from '../command-states';
import { SectionPropertiesApplyType } from './dialog-page-setup-command';
import { DialogParametersBase, ShowDialogCommandBase } from './show-dialog-command-base';
export declare class DialogColumnsCommand extends ShowDialogCommandBase<ColumnsDialogParameters> {
isEnabled(): boolean;
createParameters(_options: ICommandOptions): ColumnsDialogParameters;
applyParameters(_state: IntervalCommandStateEx, newParams: ColumnsDialogParameters): boolean;
getInterval(applyTo: SectionPropertiesApplyType): FixedInterval;
getDialogName(): string;
}
export declare class ColumnsDialogParameters extends DialogParametersBase implements ISupportCopyFrom<ColumnsDialogParameters>, ICloneable<ColumnsDialogParameters> {
columnsInfo: ColumnsInfoUI;
unitConverter: IRichEditUnitConverter;
init(columnsInfo: ColumnsInfoUI, unitConverter: IRichEditUnitConverter): ColumnsDialogParameters;
copyFrom(obj: ColumnsDialogParameters): void;
clone(): ColumnsDialogParameters;
applyConverter(_converter: SimpleConverter<number>): this;
}
export declare class ColumnsInfoUI implements ICloneable<ColumnsInfoUI>, ISupportCopyFrom<ColumnsInfoUI> {
static minColumnWidth: number;
static minSpacingWidth: number;
columns: ColumnInfoUI[];
columnCount: number;
equalColumnWidth: boolean;
pageWidth: number;
applyType: SectionPropertiesApplyType;
getMaxColumnCount(): number;
hasColumnsNull(): boolean;
hasColumnsInfoUINull(): boolean;
changeColumnCount(count: number): void;
calculateEqualColumnsOnChangeCount(): void;
calculateNotEqualColumnsOnChangeCount(previousCount: number): void;
correctColumns(): void;
disableTheLastSpacing(): void;
recalculateColumnsByWidthAfterIndex(index: number): void;
recalculateColumnsBySpacingAfterIndex(index: number): void;
calculateUniformColumnsCore(columnWidth: number, columnSpacing: number, restWidth: number, restSpacing: number): void;
calculateColumnWidthForUniformColumns(): void;
calculateUniformColumnsByColumnWidth(columnWidth: number): void;
calculateColumnSpacingForUniformColumns(): void;
calculateUniformColumnsByColumnSpacing(columnSpacing: number): void;
calculateAvailableSpace(): number;
changeColumnsNotEqualByWidthAfterIndex(index: number): void;
changeColumnsNotEqualBySpacingAfterIndex(index: number): void;
clone(): ColumnsInfoUI;
copyFrom(info: ColumnsInfoUI): void;
}
export declare class ColumnInfoUI {
num: number;
width: number;
spacing: number;
constructor(num: number);
}
export declare class ColumnsDistributionCalculator {
private columns;
constructor(columns: ColumnInfoUI[]);
calculateTotal(from: number, to: number): number;
hasEnoughSpaceForDistribution(from: number, to: number, space: number): boolean;
setMinValues(from: number, to: number, space: number): number;
correctValue(index: number): void;
distributeRemainder(from: number, to: number, remainder: number): number;
distributeSpaceCore(from: number, to: number, space: number): number;
distributeSpace(from: number, to: number, space: number): number;
setAllValues(value: number, rest: number): void;
getMinValue(): number;
getValue(_column: ColumnInfoUI): number;
setValue(_column: ColumnInfoUI, _value: number): void;
}
export declare class ColumnsDistributionWidthPriorityCalculator extends ColumnsDistributionCalculator {
getMinValue(): number;
getValue(column: ColumnInfoUI): number;
setValue(column: ColumnInfoUI, value: number): void;
}
export declare class ColumnsDistributionSpacingPriorityCalculator extends ColumnsDistributionCalculator {
getMinValue(): number;
getValue(column: ColumnInfoUI): number;
setValue(column: ColumnInfoUI, value: number): void;
}
export declare class ColumnsEditorController {
columnsInfo: ColumnsInfoUI;
unitConverter: IRichEditUnitConverter;
presets: Array<ColumnsInfoPreset>;
constructor(parameters: ColumnsDialogParameters);
changeColumnCount(count: number): void;
setEqualColumnWidth(value: boolean): void;
applyPreset(index: number): void;
matchPreset(index: number): boolean;
getWidth(index: number): number;
getSpacing(index: number): number;
setWidth(index: number, value: number): void;
setSpacing(index: number, value: number): void;
}
export declare abstract class ColumnsInfoPreset {
getSpacing(): number;
abstract applyTo(columnsInfo: ColumnsInfoUI): any;
matchTo(_columnsInfo: ColumnsInfoUI): boolean;
}
export declare class UniformColumnsInfoPreset extends ColumnsInfoPreset {
getColumnCount(): number;
matchTo(columnsInfo: ColumnsInfoUI): boolean;
applyTo(columnsInfo: ColumnsInfoUI): void;
}
export declare class SingleColumnsInfoPreset extends UniformColumnsInfoPreset {
getColumnCount(): number;
}
export declare class TwoColumnsInfoPreset extends UniformColumnsInfoPreset {
getColumnCount(): number;
}
export declare class ThreeColumnsInfoPreset extends UniformColumnsInfoPreset {
getColumnCount(): number;
}
export declare class TwoNonUniformColumnsInfoPreset extends ColumnsInfoPreset {
getFirstColumnRelativeWidth(): number;
matchTo(columnsInfo: ColumnsInfoUI): boolean;
applyTo(columnsInfo: ColumnsInfoUI): void;
}
export declare class LeftNarrowColumnsInfoPreset extends TwoNonUniformColumnsInfoPreset {
getFirstColumnRelativeWidth(): number;
}
export declare class RightNarrowColumnsInfoPreset extends TwoNonUniformColumnsInfoPreset {
getFirstColumnRelativeWidth(): number;
}