ketcher-core
Version:
Web-based molecule sketcher
81 lines (80 loc) • 3.67 kB
TypeScript
import { D3SvgElementSelection } from "../../types";
import { Vec2 } from "../../../../domain/entities";
import { SubChainNode } from "../../../../domain/entities/monomer-chains/types";
import { BaseSequenceRenderer } from "./BaseSequenceRenderer";
import { Chain } from "../../../../domain/entities/monomer-chains/Chain";
import { BackBoneSequenceNode } from "../../../../domain/entities/BackBoneSequenceNode";
import { ITwoStrandedChainItem } from "../../../../domain/entities/monomer-chains/ChainsCollection";
export declare abstract class BaseSequenceItemRenderer extends BaseSequenceRenderer {
node: SubChainNode | BackBoneSequenceNode;
private firstNodeInChainPosition;
private monomerIndexInChain;
private isLastMonomerInChain;
private chain;
private _isEditingSymbol;
monomerSize: {
width: number;
height: number;
};
scaledMonomerPosition: Vec2;
private previousRowsWithAntisense;
twoStrandedNode: ITwoStrandedChainItem;
private editorEvents;
textElement?: D3SvgElementSelection<SVGTextElement, void>;
counterElement?: D3SvgElementSelection<SVGTextElement, void>;
private selectionRectangle?;
spacerElement?: D3SvgElementSelection<SVGGElement, void>;
backgroundElement?: D3SvgElementSelection<SVGRectElement, void>;
caretElement?: D3SvgElementSelection<SVGLineElement, void> | D3SvgElementSelection<SVGGElement, void>;
antisenseNodeRenderer?: this | undefined;
constructor(node: SubChainNode | BackBoneSequenceNode, firstNodeInChainPosition: Vec2, monomerIndexInChain: number, isLastMonomerInChain: boolean, chain: Chain, _isEditingSymbol: boolean, monomerSize: {
width: number;
height: number;
}, scaledMonomerPosition: Vec2, previousRowsWithAntisense: number, twoStrandedNode: ITwoStrandedChainItem);
abstract get symbolToDisplay(): string;
get isEditingSymbol(): boolean;
set isEditingSymbol(isEditingSymbol: boolean);
private get isSingleEmptyNode();
protected abstract drawModification(): void;
protected appendHover(): D3SvgElementSelection<SVGUseElement, void> | void;
protected appendHoverAreaElement(): void;
moveSelection(): void;
get currentChain(): Chain;
get currentChainNodesWithoutEmptyNodes(): SubChainNode[];
get scaledMonomerPositionForSequence(): Vec2;
get center(): Vec2;
protected get isSequenceEditModeTurnedOn(): boolean | undefined;
protected get isSequenceEditInRnaBuilderModeTurnedOn(): boolean | undefined;
private appendRootElement;
private appendBackgroundElement;
private appendSpacerElement;
private get nthSeparationInRow();
private get symbolsInRow();
private get isAntisenseNode();
private appendCounterElement;
private get needDisplayCounter();
private get isBeginningOfChain();
showCaret(): void;
removeCaret(): void;
protected redrawBackgroundElementColor(): void;
private appendChainStartArrow;
private drawGreyOverlay;
show(): void;
drawSelection(): void;
appendSelection(): void;
removeSelection(): void;
private raiseElement;
remove(): void;
setEnumeration(): void;
redrawEnumeration(): void;
redrawAttachmentPoints(): void;
redrawAttachmentPointsCoordinates(): void;
get enumeration(): null;
redrawChainBeginning(): void;
hoverAttachmentPoint(): void;
updateAttachmentPoints(): void;
private drawBackgroundElementHover;
private removeBackgroundElementHover;
private appendEvents;
setAntisenseNodeRenderer(antisenseNodeRenderer: this): void;
}