UNPKG

devexpress-richedit

Version:

DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.

153 lines (152 loc) 13 kB
import { TableBorderInfoProvider } from '../../layout-formatter/table/borders/border-helper'; import { BorderInfo } from '../../model/borders/border-info'; import { ColorProvider } from '../../model/color/color-provider'; import { SubDocument } from '../../model/sub-document'; import { Table } from '../../model/tables/main-structures/table'; import { TableCell } from '../../model/tables/main-structures/table-cell'; import { SelectedTableInfo } from '../../selection/selected-cells-engine'; import { CommandBase, CommandSimpleOptions } from '../command-base'; import { SimpleCommandState } from '../command-states'; export declare abstract class ToggleTableCellsBorderCommandBase extends CommandBase<SimpleCommandState> { affectNeighbours: boolean; affectInner: boolean; affectOuter: boolean; affectOnStateFlags: TableBorderGridCellInfo; patternBorder: BorderInfo; get colorProvider(): ColorProvider; DEPRECATEDConvertOptionsParameter(parameter: any): BorderInfo; protected getRelatedCommands(): Record<number, boolean>; getState(options?: CommandSimpleOptions<BorderInfo>): SimpleCommandState; isEnabled(): boolean; isChecked(tableInfo: SelectedTableInfo, patternBorder: BorderInfo): boolean; executeCore(state: SimpleCommandState, options: CommandSimpleOptions<BorderInfo>): boolean; private isCheckedInParticallyTableSelection; createCellBorderGrid(table: Table, tableInfo: SelectedTableInfo, tableBordersInfo: TableBorderInfoProvider): TableBorderGridCell[][]; private createCellBorderGridCore; private checkBottomSibling; private static checkVSiblingSelected; private static checkVSiblingUnselected; private checkLeftRightSiblingSelected; protected abstract checkBorderInParticallyTableSelection(patternBorder: BorderInfo, table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): boolean; protected abstract checkBorderInEntireTable(patternBorder: BorderInfo, table: Table): boolean; protected abstract applyBorderToTable(subDocument: SubDocument, table: Table, borderInfo: BorderInfo): any; protected abstract applyBorderToCell(subDocument: SubDocument, table: Table, gridCell: TableBorderGridCell, rowIndex: number, cellIndex: number, borderInfo: BorderInfo): any; protected getActualLeftBorder(tableBordersInfo: TableBorderInfoProvider, table: Table, rowIndex: number, columnIndex: number): BorderInfo; protected getActualRightBorder(tableBordersInfo: TableBorderInfoProvider, table: Table, rowIndex: number, columnIndex: number): BorderInfo; protected getActualTopBorder(grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, tableBordersInfo: TableBorderInfoProvider, table: Table, rowIndex: number, columnIndex: number): BorderInfo; protected getActualBottomBorder(grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, tableBordersInfo: TableBorderInfoProvider, table: Table, rowIndex: number, columnIndex: number): BorderInfo; } export declare abstract class ToggleSingleTableCellsBorderCommand extends ToggleTableCellsBorderCommandBase { abstract getActualCellBorder(table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): BorderInfo; getGeneralizedBorder(): BorderInfo; } export declare class ToggleTableCellsTopBorderCommand extends ToggleSingleTableCellsBorderCommand { affectOnStateFlags: TableBorderGridCellInfo; affectInner: boolean; getActualCellBorder(table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): BorderInfo; protected checkBorderInParticallyTableSelection(patternBorder: BorderInfo, table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): boolean; protected checkBorderInEntireTable(patternBorder: BorderInfo, table: Table): boolean; protected applyBorderToTable(subDocument: SubDocument, table: Table, borderInfo: BorderInfo): void; protected applyBorderToCell(subDocument: SubDocument, table: Table, gridCell: TableBorderGridCell, rowIndex: number, cellIndex: number, borderInfo: BorderInfo): void; } export declare class ToggleTableCellsRightBorderCommand extends ToggleSingleTableCellsBorderCommand { affectInner: boolean; affectOnStateFlags: TableBorderGridCellInfo; getActualCellBorder(table: Table, _grid: TableBorderGridCell[][], _currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): BorderInfo; protected checkBorderInParticallyTableSelection(patternBorder: BorderInfo, table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): boolean; protected checkBorderInEntireTable(patternBorder: BorderInfo, table: Table): boolean; protected applyBorderToTable(subDocument: SubDocument, table: Table, borderInfo: BorderInfo): void; protected applyBorderToCell(subDocument: SubDocument, table: Table, gridCell: TableBorderGridCell, rowIndex: number, cellIndex: number, borderInfo: BorderInfo): void; } export declare class ToggleTableCellsBottomBorderCommand extends ToggleSingleTableCellsBorderCommand { affectInner: boolean; affectOnStateFlags: TableBorderGridCellInfo; getActualCellBorder(table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): BorderInfo; protected checkBorderInParticallyTableSelection(patternBorder: BorderInfo, table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): boolean; protected checkBorderInEntireTable(patternBorder: BorderInfo, table: Table): boolean; protected applyBorderToTable(subDocument: SubDocument, table: Table, borderInfo: BorderInfo): void; protected applyBorderToCell(subDocument: SubDocument, table: Table, gridCell: TableBorderGridCell, rowIndex: number, cellIndex: number, borderInfo: BorderInfo): void; } export declare class ToggleTableCellsLeftBorderCommand extends ToggleSingleTableCellsBorderCommand { affectInner: boolean; affectOnStateFlags: TableBorderGridCellInfo; getActualCellBorder(table: Table, _grid: TableBorderGridCell[][], _currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): BorderInfo; protected checkBorderInParticallyTableSelection(patternBorder: BorderInfo, table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): boolean; protected checkBorderInEntireTable(patternBorder: BorderInfo, table: Table): boolean; protected applyBorderToTable(subDocument: SubDocument, table: Table, borderInfo: BorderInfo): void; protected applyBorderToCell(subDocument: SubDocument, table: Table, gridCell: TableBorderGridCell, rowIndex: number, cellIndex: number, borderInfo: BorderInfo): void; } export declare class ToggleTableCellAllBordersCommand extends ToggleTableCellsBorderCommandBase { affectOnStateFlags: TableBorderGridCellInfo; protected checkBorderInParticallyTableSelection(patternBorder: BorderInfo, table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): boolean; protected checkBorderInEntireTable(patternBorder: BorderInfo, table: Table): boolean; protected applyBorderToTable(subDocument: SubDocument, table: Table, borderInfo: BorderInfo): void; protected applyBorderToCell(subDocument: SubDocument, table: Table, gridCell: TableBorderGridCell, rowIndex: number, cellIndex: number, borderInfo: BorderInfo): void; } export declare class ToggleTableCellNoBorderCommand extends ToggleTableCellAllBordersCommand { isChecked(_tableInfo: SelectedTableInfo): boolean; protected applyBorderToTable(subDocument: SubDocument, table: Table, _borderInfo: BorderInfo): void; protected applyBorderToCell(subDocument: SubDocument, table: Table, gridCell: TableBorderGridCell, rowIndex: number, cellIndex: number, _borderInfo: BorderInfo): void; } export declare class ToggleTableCellInsideBordersCommand extends ToggleTableCellsBorderCommandBase { affectOuter: boolean; affectNeighbours: boolean; affectOnStateFlags: TableBorderGridCellInfo; protected checkBorderInParticallyTableSelection(patternBorder: BorderInfo, table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): boolean; protected checkBorderInEntireTable(patternBorder: BorderInfo, table: Table): boolean; protected applyBorderToTable(subDocument: SubDocument, table: Table, borderInfo: BorderInfo): void; protected applyBorderToCell(subDocument: SubDocument, table: Table, gridCell: TableBorderGridCell, rowIndex: number, cellIndex: number, borderInfo: BorderInfo): void; } export declare class ToggleTableCellInsideHorizontalBordersCommand extends ToggleSingleTableCellsBorderCommand { affectOuter: boolean; affectNeighbours: boolean; affectOnStateFlags: TableBorderGridCellInfo; getActualCellBorder(table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): BorderInfo; protected checkBorderInParticallyTableSelection(patternBorder: BorderInfo, table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): boolean; protected checkBorderInEntireTable(patternBorder: BorderInfo, table: Table): boolean; protected applyBorderToTable(subDocument: SubDocument, table: Table, borderInfo: BorderInfo): void; protected applyBorderToCell(subDocument: SubDocument, table: Table, gridCell: TableBorderGridCell, rowIndex: number, cellIndex: number, borderInfo: BorderInfo): void; } export declare class ToggleTableCellInsideVerticalBordersCommand extends ToggleSingleTableCellsBorderCommand { affectOuter: boolean; affectNeighbours: boolean; affectOnStateFlags: TableBorderGridCellInfo; getActualCellBorder(table: Table, _grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): BorderInfo; protected checkBorderInParticallyTableSelection(patternBorder: BorderInfo, table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): boolean; protected checkBorderInEntireTable(patternBorder: BorderInfo, table: Table): boolean; protected applyBorderToTable(subDocument: SubDocument, table: Table, borderInfo: BorderInfo): void; protected applyBorderToCell(subDocument: SubDocument, table: Table, gridCell: TableBorderGridCell, rowIndex: number, cellIndex: number, borderInfo: BorderInfo): void; } export declare class ToggleTableCellOutsideBordersCommand extends ToggleTableCellsBorderCommandBase { affectInner: boolean; affectOnStateFlags: TableBorderGridCellInfo; protected checkBorderInParticallyTableSelection(patternBorder: BorderInfo, table: Table, grid: TableBorderGridCell[][], currentCell: TableBorderGridCell, rowIndex: number, columnIndex: number, tableBordersInfo: TableBorderInfoProvider): boolean; protected checkBorderInEntireTable(patternBorder: BorderInfo, table: Table): boolean; protected applyBorderToTable(subDocument: SubDocument, table: Table, borderInfo: BorderInfo): void; protected applyBorderToCell(subDocument: SubDocument, table: Table, gridCell: TableBorderGridCell, rowIndex: number, cellIndex: number, borderInfo: BorderInfo): void; } export interface TableBorderGridCell { cell: TableCell; info: TableBorderGridCellInfo; selected: boolean; } export declare enum TableBorderGridCellInfo { None = 0, LeftOuter = 1, RightOuter = 2, BottomOuter = 4, TopOuter = 8, RightNeighbour = 16, TopNeighbour = 32, LeftNeighbour = 64, BottomNeighbour = 128, RightInner = 256, TopInner = 512, LeftInner = 1024, BottomInner = 2048, LeftTableOuter = 4096, RightTableOuter = 8192, TopTableOuter = 16384, BottomTableOuter = 32768, All = -1 }