UNPKG

ketcher-core

Version:
119 lines (118 loc) 4.7 kB
import { LayoutMode } from "./"; import { BaseMode } from "./BaseMode"; import { BaseSequenceItemRenderer } from "../../render/renderers/sequence/BaseSequenceItemRenderer"; import { MonomerItemType } from "../../../domain/types"; import { Command } from "../../../domain/entities/Command"; import { Vec2 } from "../../../domain/entities"; import { DrawingEntitiesManager } from "../../../domain/entities/DrawingEntitiesManager"; import { IRnaPreset, LabeledNodesWithPositionInSequence } from "../tools/Tool"; export interface StartNewSequenceEventData { indexOfRowBefore: number; } export declare class SequenceMode extends BaseMode { private _isEditMode; private _isEditInRNABuilderMode; private selectionStarted; private selectionStartCaretPosition; private mousemoveCounter; constructor(previousMode?: LayoutMode); get isEditMode(): boolean; set isEditMode(isEditMode: boolean); get isEditInRNABuilderMode(): boolean; set isEditInRNABuilderMode(isEditInRNABuilderMode: boolean); initialize(needScroll?: boolean, needRemoveSelection?: boolean, needReArrangeChains?: boolean): Command; turnOnEditMode(sequenceItemRenderer?: BaseSequenceItemRenderer, needToRemoveSelection?: boolean): void; turnOffEditMode(): void; turnOnSequenceEditInRNABuilderMode(): void; turnOffSequenceEditInRNABuilderMode(): void; startNewSequence(eventData?: StartNewSequenceEventData): void; modifySequenceInRnaBuilder(updatedSelection: LabeledNodesWithPositionInSequence[]): void; click(event: MouseEvent): void; doubleClickOnSequenceItem(event: MouseEvent): void; mousedownBetweenSequenceItems(event: MouseEvent): void; mousedown(event: MouseEvent): void; mousemove(event: MouseEvent): void; mouseup(): void; private bondNodesThroughNewPhosphate; private handlePeptideNodeAddition; private handleRnaDnaNodeAddition; private connectNodes; private deleteBondToNextNodeInChain; private finishNodesDeletion; private tryToCreatePolymerBond; private handleNodesDeletion; get keyboardEventHandlers(): { delete: { shortcut: string[]; handler: () => void; }; backspace: { shortcut: string[]; handler: () => void; }; 'turn-off-edit-mode': { shortcut: string[]; handler: () => void; }; 'start-new-sequence': { shortcut: string[]; handler: () => void; }; 'move-caret-up': { shortcut: string[]; handler: () => void; }; 'move-caret-down': { shortcut: string[]; handler: () => void; }; 'move-caret-forward': { shortcut: string[]; handler: () => void; }; 'move-caret-back': { shortcut: string[]; handler: () => void; }; 'add-sequence-item': { shortcut: string[]; handler: (event: any) => void; }; 'sequence-edit-select': { shortcut: string[]; handler: (event: any) => void; }; }; private deleteSelection; isPasteAllowedByMode(drawingEntitiesManager: DrawingEntitiesManager): boolean; private isR1Free; private isR2Free; private areR1R2Free; private isConnectionPossible; isPasteAvailable(drawingEntitiesManager: DrawingEntitiesManager): boolean; applyAdditionalPasteOperations(drawingEntitiesManager: DrawingEntitiesManager): Command; private preserveSideChainConnections; private replaceSelectionWithMonomer; private replaceSelectionsWithMonomer; private checkIfNewMonomerCouldEstablishConnections; private selectionsContainLinkerNode; private selectionsCantPreserveConnectionsWithMonomer; private presetHasNeededAttachmentPoints; private selectionsCantPreserveConnectionsWithPreset; private checkNodeInsertionPossibility; private isSelectionsContainAntisenseChains; insertMonomerFromLibrary(monomerItem: MonomerItemType): void; private createRnaPresetNode; private replaceSelectionWithPreset; private replaceSelectionsWithPreset; insertPresetFromLibrary(preset: IRnaPreset): void; private insertNewSequenceItem; private showMergeWarningModal; private insertNewSequenceFragment; getNewNodePosition(): Vec2; private deleteSelectedDrawingEntities; private getNewSequenceItemPosition; scrollForView(): void; private unselectAllEntities; destroy(): void; }